text:
[delegations] Add delegation script to append a new delegation to a staged target file

Description
Add a script to initialize a new delegation to a staged target file on a branch. This will add a stub:
 "delegations": {
   "keys": {
    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
     "keyid_hash_algorithms": [
      "sha256",
      "sha512"
     ],
     "keytype": "ed25519",
     "keyval": {
      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
     },
     "scheme": "ed25519"
    }
   },
   "roles": [
    {
     "keyids": [
      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
     ],
     "name": "registry.npmjs.org",
     "paths": [
      "registry.npmjs.org/*"
     ],
     "terminating": true,
     "threshold": 1
    }
   ]
  },

like the following, ensure terminating: true and programattically creating the paths based on the name.
The script will also require access to the signing key in order to create a proof of posession.
Tool inputs/args:

Key(s) (either ref, online or on disk for testing) or SK (SK only supports threshold 1 for now)
Name of role
Threshold
Path to the staged TUF repo
Nonce

Tool performs:

Update to the targets (top level) of the staged TUF repo with the added delegation stub
Creates a proof of possession of the key ID: Sig(key_id + nonce)

Tool outputs:

Proof of possession of the key ID: a signature over key_id + PR (for uniqueness)

This tool is wrapped in a script OR reusable workflow that:

Checks out the GitHub branch where the staged TUF repo is
[optional] Create a draft PR
Generates a nonce (we can use the draft PR number)
Runs the tool with the inputs
Creates a pull request with body containing the proof of possession and the changed files of the updated targets file.

cc @kommendorkapten

Do you want take on this work or should I?

If you can, that would be great!
The only minor nit here is that later this week I will work on changing the flow of our ceremonies to work against a staged repo from a branch. This shouldn't impact the tool, since the tool inputs should be the location of a TUF repository (and shouldn't be doing any git checking out / branch switching). The script, however, will be checking out a branch first.
So maybe starting with the tool creation, and adding e2e tests that we can add the delegation and sign over it?
Also something maybe on after committing the repo w the new delegation, can we update the signing key using the same invocation? But feel free to file that as a follow-up issue.

authors: asraa kommendorkapten

repo: sigstore/root-signing


text:
Add Slack to Footer

Summary
Closes #252

Add Slack to Footer
Release Note

Documentation

Thanks @ltagliaferri 🙏

source: gharchive/pull-request

repo: sigstore/sigstore-website

license_type: permissive

license_source: github-api


text:
是否考虑适配Fooocus或SimpleSDXL?

作者你好，我是在B站上了解到这个云节点。使用后，发现这套节点非常棒，可以让我在笔记本电脑上使用comfyui最新的节点和大部分功能。但是comfyui的门槛还是比较高，如果将该功能适配到Fooocus或SimpleSDXL，真正解决小白用户使用AI绘画的两个最大痛点：1、操作复杂；2、本地模型下载调试复杂。让用户真正专注到绘画本身。我想产品将会更有竞争力和影响力。不过这个产品，可能是另外一种形态了。在Fooocus或SimpleSDXL引入云节点，可能会形成不错的付费场景。愿意学习的用户使用本地模型和节点，愿意快速实现效果的用户使用云节点。一点小小想法。感谢此云节点的开发，帮助我学习了解Flux、可图模型。非常感谢！！！

谢谢你的肯定和建议。
近期不会考虑适配 ComfyUI 之外的框架，但是计划里如何降低普通用户安装 ComfyUI + BizyAir 的门槛（启动器、教程）。如果有这方面的建议，也欢迎交流，谢谢～

source: gharchive/issue

repo: siliconflow/BizyAir

license: MIT


text:
RPi Cam Control v6.0.37 keeps crashing when recording via motion

I am using a RPI 2 with a RPICam and latest Raspian "Linux raspberrypi 4.1.19-v7+" running on it.
RPi Cam Control Version is v6.0.37.
The little raspi runs pretty stable when just using as a webcam (1 week is no problem)... but as soon as I turn on motion to capture some videos - then the system is crashing within some hours.
More details:

raspian itself remains reachable via SSH
Apache keeps running
its even possible to reboot the raspi via RPi Cam Control webinterface
Image is not visible of course as soon as the problem occurs
After the reboot, the last recorded video is "stuck"/Broken - seems to be the result of a interrupted writing process

I tried an older version of Raspian, different SD cards and am running out of good ideas now...
Any advices are highly appreciated :-)

Internal or External motion detection? I now use internal all the time as it is simpler and uses less resource.
The schedule log will have some details in leading up to a crash.

Hi!
I was using external and the whole config very "out-of-the-box". I changed now (2016 04 02) to internal and it seems more stable but I need to figure out now new motion values... on the first trials it seems that the trigger values (%c) keep at 0000 while already a person walks halfway through the image :)
Nevertheless the crashes with external motion remain strange - for interested and better skilled folks I allowed myself to put my full schedule log here: http://ul.to/k6mdtz28
Most promising parts are like this:
{2016/04/01 22:38:52} Capturing started {2016/04/01 22:38:52} Finished boxing /var/www/media/vi_0304_20160401_223847.mp4 from Box Queue at pos 17 {2016/04/01 22:38:52} Removed item from Box Queue [2016/04/01 22:38:59] Stop capture requested [2016/04/01 22:39:01] Send ca 0 {2016/04/01 22:39:01} Error: Could not send buffers to port, h264 callback [2016/04/01 22:39:03] Start capture requested from Pipe [2016/04/01 22:39:03] Send ca 1 {2016/04/01 22:39:03} Executing macro /var/www/macros/error_hard.sh "Could not send buffers to port, h264 callback" {2016/04/01 22:39:08} RaspiMJPEG Version 5.4.2 {2016/04/01 22:39:08} Error: Could not enable camera {2016/04/01 22:39:08} Executing macro /var/www/macros/error_hard.sh "Could not enable camera" {2016/04/01 22:39:13} RaspiMJPEG Version 5.4.2 {2016/04/01 22:39:13} Error: Could not enable camera {2016/04/01 22:39:13} Executing macro /var/www/macros/error_hard.sh "Could not enable camera" [2016/04/01 22:39:15] Stop capture requested [2016/04/01 22:39:15] Send ca 0 {2016/04/01 22:39:18} RaspiMJPEG Version 5.4.2 {2016/04/01 22:39:18} Error: Could not enable camera {2016/04/01 22:39:18} Executing macro /var/www/macros/error_hard.sh "Could not enable camera" {2016/04/01 22:39:24} RaspiMJPEG Version 5.4.2 {2016/04/01 22:39:24} Error: Could not enable camera {2016/04/01 22:39:24} Executing macro /var/www/macros/error_hard.sh "Could not enable camera"

license: mit

license_source: bigquery


text:
Script installation failing

Hello,
I'm trying to install the interface inside a docker but i'm getting this error:
chmod: cannot access ‘/var/www/microscope/raspizip.sh’: No such file or directory
with "microscope" being the directory i'm using.
Is this from a legacy script file that existed?

That's a mistake. raspizip.sh was removed in the last update but a reference to it in the install.sh was not removed.
I have corrected that now.

authors: dborgesr roberttidey


text:
How to enable auto/live reload

Hello,
How do i enable the auto/live reload function when editing files?
Mine is not working after default installation
.browserSync({
      proxy: 'localhost:8000',
      files: [ 'public/**/*.css', 'angular/pages/**/*.page.html' ]
})

gulp watch should do it. also there's a current bug that whenever you create a new file for example a new component, you have to restart gulp watch

I did that, but even editing the css files, it is not autoreload as it should.
Could it be because i did not run
php artisan serve --host=0
im getting error if i set the host=0
$ php artisan serve --host=0
Laravel development server started on http://0:8000/
[Tue Jun 28 16:34:59 2016] PHP Warning:  Unknown: php_network_getaddresses: getaddrinfo failed: No such host is known.  in Unknown on line 0
[Tue Jun 28 16:34:59 2016] Failed to listen on 0:8000 (reason: php_network_getaddresses: getaddrinfo failed: No such host is known. )

Do you know how to bind that on windows ?
Thanks for replying

Nevermind, i switched to vagrant instead

Btw, we can use php artisan serve --host=0.0.0.0

authors: makusan silverbux

repo: silverbux/laravel-angular-admin


text:
canView has no effect

The docs state that a DataObject needs the canView method.
But this this method is never called?
https://github.com/silverstripe-labs/silverstripe-googlesitemaps/blob/master/docs/en/index.md

It checks for can view in GoogleSitemapExtension

authors: axyr wilr


text:
[2009-03-20] Make sapphire and cms fully multibyte safe

created by: @chillu (ischommer)
created at: 2009-03-20
original ticket: http://open.silverstripe.org/ticket/3746

Followup on http://www.silverstripe.org/migrating-a-site-to-silverstripe/show/256159?start=0#post256720
We use UTF-8 for internal storage and output, but using non-multibyte-safe methods to process them inbetween, which can lead to problems. Best example: strlen() will give you wrong lenghts on a multibyte string.
Nice summary of the problem scope and solutions:
http://www.nicknettleton.com/zine/php/php-utf-8-cheatsheet
Some points to fix:

The mbstring extension is already a requirement to run SilverStripe (see http://doc.silverstripe.com/doku.php?id=server-requirements). Its not a default in PHP, but widely available
Set mbstring function overloading via ini_set(), if possible. This way we don't need to replace method calls like strlen() with mb_strlen(). See http://se2.php.net/manual/en/mbstring.overload.php

NOTE: This isn't possible.  We need to either move to using mb_xxx, or recommend that people enable this setting themselves.

Update our Email mailers to send UTF-8 by default (and quoted-printable or base64)
Update htmlentities()
Write some unit tests to save UTF-8 data from a form and directly through DataObject->write(), read it out from the database through the ORM, and assert that you get the same string
Ensure that we are in fact dealing solely with UTF-8 strings, and use utf8_encode() where appropriate - this will be the most tricky part.

Additional reads about UTF-8 handling in PHP5 on PHPWACT:

http://www.phpwact.org/php/i18n/utf-8
http://www.phpwact.org/php/i18n/charsets
http://www.phpwact.org/php/i18n/charsets#common_problem_areas_with_utf-8

stale enhancement.

authors: silverstripe-issues sminnee

repo: silverstripe/silverstripe-framework


text:
SearchClearIndex task

In a fully consistent system, "clearing" an index shouldn't be required. Every change in the CMS is reflected in an incremental search update. And a full reindex will update every record the CMS knows about.
The problem is if you have removed records from the CMS through other means (e.g. restoring an older snapshot, or raw SQL). In this case, a reindex won't remove this index entry.
I think we should allow easy clearing of a specific index, as a separate action from reindex. Bonus points for having a clear=1 in the existing SearchReindex task though :D

Yeah, interesting. I'll see how many of these services allow an all-inclusive selection of documents (i.e. to get all the IDs first). Otherwise, we'll have to persist the search document ID to the dataobject, which feels a bit fragile. Also would raise questions about how to deal with non-dataobject documents.
Although I suppose "delete index", "create index" is more efficient.

I'll see how many of these services allow an all-inclusive selection of documents

All of them? It's a search engine ;) The problem is that you'd be querying every single record in order to get the document IDs. You can limit search fields to just the identifier, but you'd still need to paginate through the whole data set. So at least in App Search, this won't be a cheap operation.

Although I suppose "delete index", "create index" is more efficient.

"Clear index" isn't equivalent to "delete index" though. At least in App Search, there's configuration and analytics associated to an "engine" (they don't call it index I think). So unless you also take care to retain those and replicate it onto a new engine, you'd be causing data loss in App Search with this approach.

In AppSeach, this will be a big problem. The maximum documents they'll give you per page is 100, and the maximum number of IDs in the deleteDocuments request is also 100.
Would be fun to orchestrate with concurrency, as well, because ostensibly you'd have a query for a page of 100, and a subsequent delete for all those IDs. You'd then throw out several more request for 100 on page 2, 3, etc.
Seems like there could be a couple race conditions:

A selection request returns IDs that no longer exist
A deletion request is run for IDs that have already been deleted.

None of this is fatal, but it would severely handicap performance.

This task has been re-written now. Previously there was a 'bug' where documents that were indexed but not properly removed from the index would get 'stuck' in engines, especially Elastic App Search as there's no way we can tell whether the deletion request was successful or not (the boolean true/false returned just means 'this has been queued for removal').
As part of https://github.com/silverstripe/silverstripe-search-service/pull/55, the ClearIndexJob now just loops over all documents, requests a batch of max_batch_size, removes them all, and continues until complete. This gets around lots of weird edge cases, and shared state between the CMS and the search engine index (previously, you'd often get complaints from the job because it didn't think it had finished).
Closing this issue as a result.

authors: chillu madmatt unclecheese


text:
Colorize variable prefixes

Thanks! :+1:

authors: behoernchen equinusocio

repo: silvestreh/atom-material-syntax


text:
remove build_doc. Same as calling build_sphinx command

Less code to maintain

Is build_doc more or less common than build_sphinx? The less common should be removed.

In fact the command 'build_doc' is only a proxy to the one of sphinx and inform if sphinx is missing.  I fought it was a bit more complex

authors: payno vasole

repo: silx-kit/silx


text:
[plot] Helper to set back the previous mode used

Here is a proposal to allow to easily set back the previously used default interactive mode.
It is useful to know what to do if we want to abort or deselect a custom interactive mode.
Now profile uses ROI, i would like to desactive the tool at the end of the interaction (in order to only deal with existing markers). And this method simplifies it.
I also did it twice on pyFAI, so i think it can be useful to share a common API for that.
You can check #3006, it can be implemented outside of the plot, but when it is used few times, i think it's better to provide it as part of the plot.
What do you think?

I have renamed the method resetInteractiveMode as proposed by @t20100


text:
Can't build with logger_flutter

Because logger_flutter >=0.7.0 depends on logger ^0.7.0 and XXX depends on logger ^1.1.0, logger_flutter >=0.7.0 is forbidden.

@mgeilich I created new version based on flutter_logger. You can try https://pub.dev/packages/logger_flutter_plus

You can write your own logging tool.

authors: Oliinyk-Volodymyr mgeilich yjt1216

repo: simc/logger


text:
www/www2 -> example

clarify that www and www2 are examples

fixed by https://github.com/simevo/spid-php2/commit/5362c0e86572ce459eaaa263d3aa8d256d6a0418


text:
SqliteException(5): while selecting from statement, database is locked, database is locked (code 5)

I'm using drift isolates because I need to send out multiple searches at one time (b/c of the design of the code, which uses multiple blocs that are independently sending requests to create an isolate and seach the database).
I get this error:
SqliteException(5): while selecting from statement, database is locked, database is locked (code 5)
Causing statement: PRAGMA user_version;
I tried adding in
PRAGMA busy_timeout=500
but that didn't help things
I'm not sure the best way to proceed from here, do i need an isolate manager or something?  I thought that was being handled by Drift Manager?  Thanks!

I've even tried waiting 1 second after doing my Select statement in drift, but even after the database is totally free, the error still comes up, I'm wondering if the error is related with the actual connection from the Isolate in the first place

Nevermind, had the PRAGMA busy_timeout=500 in the wrong connection, once I put that in there, seems that I can't get the error!!


text:
🛑 Hailer Rail is down

In 728828d, Hailer Rail (https://$HR_SITE1/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Hailer Rail is back up in 092ee10.


text:
Setting  font weights and styles not fixed

I started ripping out the hacks working around #203 in my common publisher library today and discovered all is not as well as could be hoped. Some individual cases work, but nesting font commands throws the whole thing off. Below is one set of examples for an MWE, but there are more. For example besides the style vs. weight  conflicts going on here, setting font properties in a SILE function rather than with the built in \font command means this sort of nesting doesn't work for whole documents even when no style attributes are set anywhere.
\begin[papersize=180mm x 90mm]{document}
\nofolios
\set[parameter=document.parindent,value=0]
\set[parameter=document.parskip,value=1ex]

\font[size=14pt]

\font[family=Crimson]{\font[style=Italic]{I am italic but \font[weight=600]{these words} should be bold.} Whereas \font[weight=600]{these words} actually are.}

\font[family=Libertinus Serif]{\font[style=Regular]{But it's not just italic style that throws off \font[weight=600]{these words} not being bold, Regular does too.}}

\font[family=Libertinus Serif]{\font[style=Roman]{But style Roman doesn't throw off \font[weight=600]{these words} being bold.}}

\font[family=Libertinus Serif]{\font[style=Italic]{I am italic but \font[weight=600]{these words} should be bold.} Whereas \font[weight=600]{these words} actually are.}

\font[family=Montserrat]{\font[style=Italic]{I am not italic because this font doesn't have one and weight selection is going to work here, but why am I weight 200 \font[weight=300]{when 300 is thin,} \font[weight=400]{400 is normal,} \font[weight=600]{and 600 is bold?} \font[weight=800]{Not to mention black.}}

\font[style=Regular]{Oh but wait, setting style Regular sets the font weight to 300 instead of the 200 default and lets you \font[weight=400]{manually set 400} \font[weight=600]{but not 600!}}}
\end{document}

OK, several things. The obvious thing is that the default weight of 200 is clearly wrong, and should be 400. That's an easy one. (I think.)
The harder part is with FontConfig, and I am going to need @behdad's help here. As far as I can tell SILE is doing the right thing, and the macfonts.m font selection code does what you want expect, but fontconfig does not. And I think we are asking fontconfig the right question but not getting the right answers.
Here is the first part of the document, which is correct:
[fonts] Looking for Crimson Text;14;400;Italic;normal;;LTR
Asking FC for a font that is Crimson Text,Times\-Roman,Times,Helvetica-14:style=Italic:weight=40
[fonts] Resolved font family Crimson Text -> /Users/simon/Library/Fonts/CrimsonText-Italic.ttf

(The FC pattern is in the middle.) Here is the next one, which doesn't work:
[fonts] Looking for Crimson Text;14;600;Italic;normal;;LTR
Asking FC for a font that is Crimson Text,Times\-Roman,Times,Helvetica-14:style=Italic:weight=180
[fonts] Resolved font family Crimson Text -> /Users/simon/Library/Fonts/CrimsonText-Italic.ttf

This is wrong. It should return /Users/simon/Library/Fonts/CrimsonText-SemiboldItalic.ttf. Taking SILE out of the equation:
$ fc-match 'Crimson Text:style=Italic:weight=900'
CrimsonText-Italic.ttf: "Crimson Text" "Italic"

The problem is that FontConfig is merging the concepts of style and weight in a way that is not useful:
$ fc-match 'Crimson Text:style=Italic:weight=900'
CrimsonText-Italic.ttf: "Crimson Text" "Italic" # NO!
$ fc-match 'Crimson Text:style=BoldItalic:weight=100'
CrimsonText-BoldItalic.ttf: "Crimson Text" "BoldItalic" # YES!

Here's why the Libertinus example fails:
$ fc-match 'Libertinus Serif:style=Regular:weight=900'
libertinusserif-regular.otf: "Libertinus Serif" "Regular" # NO!
$ fc-match 'Libertinus Serif:style=Bold:weight=100'
libertinusserif-bold.otf: "Libertinus Serif" "Bold" # YES!

So if I want a bold font, I have to ask for it in the "style" pattern, not in the "weight" pattern - that is counterintuitive (=UK understatement)... @behdad?

OK, got it. "Style" should be "Slant".

Almost. At least in my test from HEAD just now the second line is still missing the bold. The other managery of issues seems to be working properly.

Works for me replacing "Crimson" with "Crimson Text".

lgtm

If this worked for you then something is up on the Mac, but it's still broken for me on Linux. The wording of the test is really confusing because it was meant to describe the broken scenario I was originally seeing not the working state it should be in. Some of the issues got fixes, but at least two things are still broken for me. Paragraphs 2 and 6 don't have  bold.
I'm updating the test to be more readable so the issues are apparent when manually reviewing it. If we want to mark it KNOWNBAD again I guess we can, but I'm not updating the .expected output to match the current test be cause it is not in fact outputting the correct result for me.

Here's what I'm seeing with the two still outstanding issues highlighted:

Hah! On OS X I get the first two paragraphs in plain ol' Roman, (no italic, no bold) but everything else looks good.

@simoncozens I think you might have an old version of Crimson on macOS that calls itself Crimson Text. Changing that in the test might make that bit work for you. Paragraph 2 sounds like you have the same issue I do. I'm surprised the last paragraph had the bold for you though.

You're right. I deleted the Crimson Text font, and now I have this:

So for me it's just the second paragraph, and for you the last one as well.

This is a fontconfig issue, so I'm asking on the mailing list there.

@simoncozens I think this issue can probably be closed, but it's hard to be sure. Literally all the cheese has moved, but I can't replicate any part of this that still looks like a bug in anything. Every single one of the fonts being tested here has seen major overhauls that add weights and styles and fixed bugs, fontconfig has been updated an returns different answers, and typesetting the examples above I get the expected output in every case.
It's hard to say what combination of changes "fixed" this, but I don't see anything actionable right now. Am I missing something?

Feel free to re-open if I overlooked something.

authors: alerque behdad simoncozens

repo: simoncozens/sile


text:
TypeScript definition

Any plans to create TypeScript definition files?

@zveljkovic  There was a PR for that on definitely typed https://github.com/DefinitelyTyped/DefinitelyTyped/pull/30135

I think this can be closed, since DefinitelyTyped/DefinitelyTyped#30135 was merged, right?

The declarations should be part of this package.

The types in DefinitelyTyped are not complete... It's missing a lot of definitions, for example, the adaptors.

The types in DefinitelyTyped are not complete... It's missing a lot of definitions, for example, the adaptors.

Yeah, having an issue with that Property 'SequelizeAdapter' does not exist on type 'Static'.

authors: dchenk elliotf juanpaucar v1b3m willtpwise zveljkovic

repo: simonexmachina/factory-girl


text:
Milestone 1: Project setup

[x] Setup project as it is described in requirements.
[x] In addition, create 2 main directories:
- [x] lib - for the game logic (HINT: as this directory is empty you can use .gitkeep file)
- [x] bin - with the [executable file] https://commandercoriander.net/blog/2013/02/16/making-a-ruby-script-executable/) called main.rb.
[x] Make your main.rb file display “Hello world!” when you use bin/main.rb as a bash command.

Pull Request under the review by Anna Muzykina (TSE)

Hi team!
Nice job! Project looks! :+1:
Status [Approved]
You have resolved all the issues raised by the previous TSE
Go ahead and merge to master.
Goodluck in your next project Happy coding

Thank you @Anna-Myzukina 🥂

authors: Anna-Myzukina simonpeterdebbarma

repo: simonpeterdebbarma/tic-tac-toe


text:
CAR unit tests on travis

@zonca , feel free to disable the CAR unit tests on #44 for now. I'll keep this issue open until I've figured out a way to get the tests that depend on pixell to work on travis.

ok, I'll run them locally

Looks like only the CAR tests are failing on #44 on Travis, and it seems it is due to an import error with pixell that I can debug later.

@zonca pixell now has binaries on PyPI. I'm still in the process of making sure they can work out of the box, and I'd like to use mapsims as a guinea pig. If I were to create a PR that requires pixell to be installed in CI, what do I need to do? In this PR, I'll remove the "xfail" from the CAR tests.

Revert 2b25155ecccb3c08611c795d3460620531d61fab and remove xfail

You can also revert e740804e1a373c4f8b1af9b7cf4dfb52a7555732

fixed in https://github.com/simonsobs/mapsims/pull/62

authors: msyriac zonca

repo: simonsobs/mapsims


text:
Might there be some way to comment metadata.json?

I don't know what license to use... Would be nice to be able to add a comment regarding that uncertainty in my metadata.json file
I like laktak's little video comment in favor of Human json (Hjson)
https://stackoverflow.com/questions/244777/can-comments-be-used-in-json
Hmmm... one of the commenters there said comments are allowed in yaml... so that's a good argument for yaml.
Anyhow, just came to mind, and thought I'd mention it here. Looks like https://hjson.github.io/ has the details.

One issue I could see with adding first class support for metadata in hjson format is that this would require adding an additional dependency to handle this, for a feature that would be unused by many users. I wonder if this could fit in as a plugin instead; if a hook existed for loading metadata (maybe as part of https://github.com/simonw/datasette/issues/860) the metadata could then come from any source, as specified by plugins, e.g. hjson, toml, XML, a database table etc.
Until/unless this exists, a few ideas for how you could add comments:

Using YAML as you suggest.
A common pattern is adding a "comment" key for comments to any object in JSON - I don't think including an unnecessary key like this would break anything in Datasette, but not certain.
You could use another tool as a preprocessor for your JSON metadata - e.g. hjson or Jsonnet. You'd write the metadata in that format, and then convert that into JSON to actually use as your final metadata.

Yes this is one of the main reasons I'm planning to switch to encouraging YAML be default instead of JSON (while still supporting JSON) - YAML supports comments and multi-line strings.
See #1153 for YAML by default in the documentation.

authors: bobwhitelock mroswell simonw

repo: simonw/datasette


text:
DRAFT: Move permissions and allow blocks out of metadata.yaml and into datasette.yaml

[ ] Make sure tests pass
[ ] Docs

I tested this locally for permissions like this. datasette.yml:
databases:
  content:
    allow:
      id: root

Started Datasette like this:
datasette --root content.db pottery2.db -c datasette.yml

As root I could see this (note the padlock):

http://127.0.0.1:8001/-/metadata returned {} showing that the permissions must have come from the config file instead.

This is one of the most interesting illustrative examples in the new code:
https://github.com/simonw/datasette/blob/f7bdedff779606466b580d8528e5a44509291002/tests/fixtures.py#L301-L349
Interesting to note that it now has canned queries in it, which include this bit:
https://github.com/simonw/datasette/blob/f7bdedff779606466b580d8528e5a44509291002/tests/fixtures.py#L341-L342
It looks like metadata, but in this case it's configuration. That blur between metadata and configuration at the canned query level still feels a little bit odd to me, but I still think we're going in the right direction with it.
Also interesting, from that same file:
https://github.com/simonw/datasette/blob/f7bdedff779606466b580d8528e5a44509291002/tests/fixtures.py#L351-L399
There are a few things in that metadata block that are arguably configuration, not metadata - for example:
https://github.com/simonw/datasette/blob/f7bdedff779606466b580d8528e5a44509291002/tests/fixtures.py#L360
I think extra_css_urls is definitely configuration, not metadata.
https://github.com/simonw/datasette/blob/f7bdedff779606466b580d8528e5a44509291002/tests/fixtures.py#L369-L395
Most of that stuff is arguably configuration too.

The {"units": {"distance": "m", "frequency": "Hz"}} bit is for the units feature which I've half-disabled already and would like to remove before 1.0, though ideally turning that functionality into a plugin instead (if I can figure out how to do that).


text:
Support Gemini 1.5 Pro

New model name (for people on the API preview): gemini-1.5-pro-latest.

Well this worked!
cat /Users/simon/Dropbox/Presentations/2024/01JAN15_OxideAndFriends/Oxide\ and\ Friends\ 1⧸15⧸2024\ --\ Open\ Source\ LLMs\ with\ Simon\ Willison\ \[Wqkvn4YyGpA\].txt | llm -m gemini-1.5-pro-latest 'Summarize this text, then put out a heading for each of the key themes and under each heading include some spicy illustrative quotes'
Output here: https://gist.github.com/simonw/5a881cff8b684ba090802c46e2f30b6e - that was a 97KB .txt whisper transcript.

repo: simonw/llm-gemini


text:
Update README.md

Changes casing.

this commit is destructive you removed the entire sources and include.
I guess what you want to do is remove dependency folders in your bootsrc but went ahead and remove the bootsrc folder. This commit can never be merged until it is reviewed

you will have to re-add the bootsrc folder

That was a mistake. I'll resend the PR 🙏🙏
On Thu, Apr 5, 2018, 18:52 Azeez Adewale notifications@github.com wrote:

you will have to re-add the bootsrc folder
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/simple-lang/simple/pull/6#issuecomment-379021583, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Adkrj7ZGF8bJwhl0EgnlXD_7M_GBTFccks5tllnNgaJpZM4TIqTX
.

For a terrible mistake.m I'll resend PR. I'm sorry once again

authors: Thecarisma Youngestdev

repo: simple-lang/simple


text:
Omnibug tab disabled/nonfunctional in Firefox 36.0

Omnibug stops working within Firebug in latest version of Firefox.
Omnibug tab is disabled and the panel does not show any site marketing pixel requests.

Hi @robpointmarc, thanks for the bug report!  I'll have a look at it this evening.

Confirming the same issue - 2 different PCs running FF36 and FB 2.0.8

Faced the same issue in Firefox 36.0

This issue is fixed in https://github.com/simpsora/omnibug/releases/tag/omnibug-0.5.509.  Thanks everyone for the bug reports!

authors: beegeok robpointmarc simpsora tryandls

repo: simpsora/omnibug


text:
Error processing Vivarium E. Coli File

Description
The vivarium_ecoli.simularium file fails to process:
2021-07-09 23:22:51.783 (104012.836s) [File IO         ]   simulation_cache.cpp:187   INFO|Simularium file trajectory/vivarium_ecoli.simularium found on AWS S3
...
2021-07-09 23:22:52.345 (104013.398s) [File IO         ]   simularium_binary_file.:14    INFO|Creating new simularium binary file at
2021-07-09 23:22:52.345 (104013.398s) [File IO         ]   simulation_cache.cpp:216   INFO|1022 frames found in simularium json file
terminate called after throwing an instance of 'Json::LogicError'
  what():  double out of Int range

Expected Behavior
This file should stream similarly to the other request-able files
Request vivarium_ecoli.simularium from the simularium-engine application
Environment
Deployed

Thanks for tracking this down! You were probably going to do this already but it'd be great to also get that kind of error message out to the frontend in some way, not necessarily on this ticket though

If this is difficult to update with the current deployment and lack of building with GCC 11 etc, @EricJIsaac you could wait on this and do that first

will be addressed here https://github.com/simularium/simulariumio/issues/78

authors: EricJIsaac blairlyons schoinh

repo: simularium/simularium-engine


text:
"Ignore" node modules

I tried to do this from the beginning, but it did not work. Need to figure out how to hide them from the code.

Complete, with help from Walter


text:
async version?

ideally supporting es7 async / await

👍 Pull request welcome :)

Why we need async noop3?
Since await can take over promisify/non-promisify function.
async function asyncFunc () {
  await noop3()
}

function syncFunc () {
  noop3()
}

What's diff?

// What's diff?

Non-blocking!!!!!

😂 All right, I believed.

async isn't real, closing issue

authors: SamVerschueren blade254353074 sindresorhus tylucaskelley


text:
Move Security and Insights tabs to dropdown

Closes https://github.com/sindresorhus/refined-github/issues/3354 (this issue wasn't a "good first issue" after all 😅)
Replaces and closes https://github.com/sindresorhus/refined-github/pull/3482
This seems to work, but https://github.com/sindresorhus/refined-github/issues/3347 still exists, complicating things a bit.

This works in Chrome but seems to break the overflow logic in Firefox.

repo: sindresorhus/refined-github


text:
Not updated on npm

Hi @sindresorhus,
I think you forgot to push v2.0.0 to npm, it's 1.2.1 on it, just let you know :)

Oops, thanks for letting me know. Done ;)

authors: PeterDaveHello sindresorhus


text:
CI

First lint, later tests

Now running on CircleCI: https://circleci.com/gh/singapore/renovate

authors: rarkins singapore

repo: singapore/renovate


text:
[Web] formatSelection with Attribute ignores boolean value

When I try to update bold, italic, or underline attributes using the controller, I find there's no way to turn OFF the bold, italic, or underline attributes.
widget.controller.formatSelection(
    Attribute(
        'bold',
        AttributeScope.INLINE,
        false,
    ),
);

This still results in the selection being bold. Even calling this when the selection is NOT bold makes the selection become bold. Whether I place true or false here doesn't seem to make a difference.

I discovered I can make this work by changing the false value to null. It has solved my problem but still pretty confusing.

Yes, it is confusing!
The only valid values are true=bold and null=remove-bold.
value=false is never used, I presume because there is no point having a false attribute.
For processing deltas during operations, this was the chosen methodology.
It would be simpler to have an add-remove concept, but delta processing is extremely complex and having 2 modification paths would be a nightmare to maintain by multiple contributors.
I am closing this issue. If you disagree, please reopen with comments.

authors: AtlasAutocode coryswainston

repo: singerdmx/flutter-quill


text:
[r] Support sparse nd array writes case

Issue and/or context:
Following PRs #2704 (data frames) and #2730 (dense arrays) this PR extends to C++-ification to sparse n-dimensional arrays.
Changes:
Refactored code to use C++ classes to write.
Notes for Reviewer:
SC 44886

I think this is now ready for review.  Locally I get [ FAIL 0 | WARN 0 | SKIP 0 | PASS 3475 ].

repo: single-cell-data/TileDB-SOMA


text:
[W::bgzf_read_block] EOF marker is absent. The input may be truncated.

Hello, while running the rna pipeline, in the log file of the barcode step,
2023-02-11 11:20:00,391 - celescope.tools.barcode.get_mismatch_dict - INFO - start...
2023-02-11 11:20:00,402 - celescope.tools.barcode.get_mismatch_dict - INFO - done. time used: 0:00:00.010138
2023-02-11 11:20:00,403 - celescope.tools.barcode.get_mismatch_dict - INFO - start...
2023-02-11 11:20:00,439 - celescope.tools.barcode.get_mismatch_dict - INFO - done. time used: 0:00:00.036029
[W::bgzf_read_block] EOF marker is absent. The input may be truncated
[W::bgzf_read_block] EOF marker is absent. The input may be truncated
The pipeline finished successfully. Do these warnings mean the input fastq files are truncated?
Thank you.

If the pipeline finished successfully, the input fastq files are NOT truncated and you can just ignore the warning. The warnings come from a issue with pysam.

I've encountered a similar issue, but it's likely not related to pysam since running other VCF files doesn't present this problem. Are there any other solutions to this issue?

[main_vcfview] Error: cannot write to xxx.sample..vcf.gz
[E::bgzf_read_block] Failed to read BGZF block data at offset 23298260 expected 11071 bytes; hread returned 3866
[W::bgzf_read_block] EOF marker is absent. The input is probably truncated

authors: jingydz univerchen zhouyiqi91

repo: singleron-RD/CeleScope


text:
create Stubs for a proto

Protobuff compiler has to be installed and configured to create the stubs for the given config proto.

The generated stub files cause issues proto-undefined due to the eslint in create-react-app. So at the top of generated file the following line has to be added everytime.

The generated stub files cause issues proto-undefined due to the eslint in create-react-app. So at the top of generated file the following line has to be added everytime.

/*eslint-disable*/

repo: singnet/snet-admin-dapp


text:
建议增加 “模块复位” 和 "恢复出厂状态" 的串口指令！

如题：建议增加 “模块复位” 和 "恢复出厂状态" 的串口指令！

好的，我们正在更新sdk，会加上这个指令。

你好,最新版本的已经添加了支持.

authors: CaptainJackey xelll


text:
Port to W801

Note: TM_OPTO1 is mush slower than TM_OPTO0 and I don't know the reason.

感谢sunnycase大佬的PR！不过有巨佬给W801贡献了csky汇编优化的版本：https://github.com/sipeed/TinyMaix/pull/42
所以这里就先不合并你的了。。不过我们也会寄808板子给你哒～

感谢sunnycase大佬的PR！不过有巨佬给W801贡献了csky汇编优化的版本：#42 所以这里就先不合并你的了。。不过我们也会寄808板子给你哒～

牛蛙~

authors: Zepan sunnycase

repo: sipeed/TinyMaix


text:
Fixed Background from discarding passed Children

Closes just issue #2.

Closing in favor of https://github.com/sircfenner/StudioComponents/pull/4

authors: sircfenner u-train

repo: sircfenner/StudioComponents


text:
Crash

Version: HaE PBLimiter' (v1.0.1.0)
19:00:09.4805 [FATAL]  Initializer: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.Dictionary2.ValueCollection.Enumerator.MoveNext()    at HaE_PBLimiter.PBData.IteratePBs(Object src)    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)    at System.Threading.TimerQueueTimer.CallCallback()    at System.Threading.TimerQueueTimer.Fire()    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()    at System.Threading.ThreadPoolWorkQueue.Dispatch() System.InvalidOperationException: Collection was modified; enumeration operation may not execute.    at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)    at System.Collections.Generic.Dictionary2.ValueCollection.Enumerator.MoveNext()
at HaE_PBLimiter.PBData.IteratePBs(Object src)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()

Fixed in commit da63069

repo: sirhamsteralot/HaE-PBLimiter


text:
Invalid Filter By Formula

I've got columns that include double quotes in Airtable. I'd to be able to search them to this effect:
AND(SEARCH("J. \"Jay\" Pete",{Name}), SEARCH("Abington Memorial Hospital", {Company}))

but am unable to get this syntax to work with Airrecord.
Here is the relevant line of code:
%Q{AND(SEARCH("#{contact.airtable_name}", {Name}), SEARCH("#{contact.company.airtable_name}", {Company}))}

And the helper method:
  def airtable_name
    return name unless name.include?('"')
   # not sure what to do here...
  end

I either get this error or I get an empty result but I know a corresponding record exists.

I believe I fixed my issue.
ended up with
  def airtable_name
    return name unless name.include?('"')
    name.gsub('"', '\\\"')
  end

repo: sirupsen/airrecord


text:
Update stretchr/testify to 1.9.0 to resolve 2 High sev Vulnerabilities found in go yaml lib from current version

To resolve the following High Sev vulnerabilities, update go.mod to use github.com/stretchr/testify v1.9.0 instead of github.com/stretchr/testify v1.7.0
Snyk test output before:
✗ High severity vulnerability found in gopkg.in/yaml.v3
Description: Denial of Service (DoS)
Info: https://security.snyk.io/vuln/SNYK-GOLANG-GOPKGINYAMLV3-2841557
Introduced through: github.com/stretchr/testify/require@1.7.0
From: github.com/stretchr/testify/require@1.7.0 > github.com/stretchr/testify/assert@1.7.0 > gopkg.in/yaml.v3@#9f266ea9e77c
Fixed in: 3.0.0
✗ High severity vulnerability found in gopkg.in/yaml.v3
Description: NULL Pointer Dereference
Info: https://security.snyk.io/vuln/SNYK-GOLANG-GOPKGINYAMLV3-2952714
Introduced through: github.com/stretchr/testify/require@1.7.0
From: github.com/stretchr/testify/require@1.7.0 > github.com/stretchr/testify/assert@1.7.0 > gopkg.in/yaml.v3@#9f266ea9e77c
Fixed in: 3.0.1
Snyk test output after:
✔ Tested 6 dependencies for known issues, no vulnerable paths found.

PR to address is here: https://github.com/sirupsen/logrus/pull/1435
Running into CI runner issues where the installed version of GO is pinned to 1.13 in the windows runner causing AppVeyor to fail the build.

the "vulnerability" is in gopkg.in/yaml.v3 v3.0.0 (fixed in v3.0.1)
logrus uses packages github.com/stretchr/testify/assert and github.com/stretchr/testify/require ONLY in its testsuite
github.com/stretchr/testify/assert uses gopkg.in/yaml.v3 only for YAMLEq and YAMLEqf which the logrus testsuite doesn't use
github.com/stretchr/testify now has a build tag that allows to stop linking with gopkg.in/yaml.v3 See stretchr/testify#1579 (not yet available in a published release, but the build tag can be enabled here right now for a future upgrade).

So this is not at all "2 High severity vulnerabilities".

authors: dolmen mcramer-billgo

repo: sirupsen/logrus


text:
V4241p3

Less lines of code
Shallower indentation

Coverage decreased (-0.009%) to 95.691% when pulling 6ba4c942d13d852d0bbac56c95ce51e2b777cfb4 on v4241p3 into 2b4b9882a97387dc6f4a4a180155d1bdcde38d04 on master.

authors: azumakuniyuki coveralls


text:
[Proposal] extend support for current alchemy provider

Current Alchemy Provider only supports 1 specific API call  (getOwnersForCollection) only for Ethereum.
This update should
extend support for current getOwnersForCollection (Gets all owners for a given NFT contract) Ref

support different chains e.g. optimisim, arbitrum
support paging via pageKey

add support for getNFTsForCollection (Gets all NFTs for a given NFT contract.) Ref

support different chains e.g. optimisim, arbitrum
support paging via startToken and Limit
support metadata tag true/false

Hey @sampolgar
Support multiple chains + add pagination would be super appreciated! 😁
Regarding the getNFTsForCollection, I don't get it. What would be the point of getting all the NFTs for a specific collection?
To create groups we only need addresses. And if it's for then getting the holders of each NFT of the collection, that's already what we do with the getOwnersForCollection request.

@MartinGbz getNFTsForCollection returns an array of detailed NFT objects which can help us use NFT metadata.
E.g. group of rare apes or group of verified engineers with skill x
{
      "contract": {
        "address": "0xe785e82358879f061bc3dcac6f0444462d4b5330"
      },
      "id": {
        "tokenId": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "tokenMetadata": {
          "tokenType": "ERC721"
        }
      },
      "title": "WoW #0",
      "description": "",
      "tokenUri": {
        "gateway": "https://ipfs.io/ipfs/QmTNBQDbggLZdKF1fRgWnXsnRikd52zL5ciNu769g9JoUP/0",
        "raw": "ipfs://QmTNBQDbggLZdKF1fRgWnXsnRikd52zL5ciNu769g9JoUP/0"
      },
      "media": [
        {
          "gateway": "https://nft-cdn.alchemy.com/eth-mainnet/fe477c7ef3ce8940cbf650198751e9e7",
          "thumbnail": "https://res.cloudinary.com/alchemyapi/image/upload/thumbnailv2/eth-mainnet/fe477c7ef3ce8940cbf650198751e9e7",
          "raw": "ipfs://QmYPznMvizE4BxrYaXM8dpRrzgN6Pg2rtTczjzNn13More",
          "format": "png",
          "bytes": 93654
        }
      ],
      "metadata": {
        "name": "WoW #0",
        "image": "ipfs://QmYPznMvizE4BxrYaXM8dpRrzgN6Pg2rtTczjzNn13More",
        "attributes": [
          {
            "value": "Soft Purple",
            "trait_type": "Background"
          },
          {
            "value": "Light Warm Yellow",
            "trait_type": "Skin Tone"
          },
          {
            "value": "Brown Straight",
            "trait_type": "Eyes"
          },
          {
            "value": "Heart Tattoo",
            "trait_type": "Facial Features"
          },
          {
            "value": "Platinum Pixie",
            "trait_type": "Hairstyle"
          },
          {
            "value": "Freedom Is Power Tee",
            "trait_type": "Clothes"
          },
          {
            "value": "Malka",
            "trait_type": "Necklace"
          },
          {
            "value": "Ocean Hoops",
            "trait_type": "Earrings"
          },
          {
            "value": "Bubble Gum",
            "trait_type": "Mouth"
          },
          {
            "value": "Flashy Blue",
            "trait_type": "Lips Color"
          }
        ]
      },
      "timeLastUpdated": "2023-04-21T09:38:38.810Z",
      "contractMetadata": {
        "name": "World Of Women",
        "symbol": "WOW",
        "totalSupply": "10000",
        "tokenType": "ERC721",
        "contractDeployer": "0xc9b6321dc216d91e626e9baa61b06b0e4d55bdb1",
        "deployedBlockNumber": 12907782,
        "openSea": {
          "floorPrice": 1.539,
          "collectionName": "World of Women",
          "safelistRequestStatus": "verified",
          "imageUrl": "https://i.seadn.io/gae/EFAQpIktMBU5SU0TqSdPWZ4byHr3hFirL_mATsR8KWhM5z-GJljX8E73V933lkyKgv2SAFlfRRjGsWvWbQQmJAwu3F2FDXVa1C9F?w=500&auto=format",
          "description": "World of Women is a collection of 10,000 NFTs that gives you full access to our network of artists, creators, entrepreneurs, and executives who are championing diversity and equal opportunity on the blockchain.\n\nCreated and illustrated by Yam Karkai (@ykarkai), World of Women has made prominent appearances at Christie's, The New Yorker and Billboard.\n\nJoin us to receive exclusive access to NFT drops, experiences, and much more.\n\nThe Time is WoW.",
          "externalUrl": "http://worldofwomen.art",
          "twitterUsername": "worldofwomennft",
          "discordUrl": "https://discord.gg/worldofwomen",
          "lastIngestedAt": "2023-04-12T22:39:51.000Z"
        }
      }
    }

@sampolgar Okay I see. So to do this you will have to fetch all the tokenId that have a particular trait (e.g. all tokenId that have brown eyes) and then fetch all the owners of a specific collection and filters them with the list tokenId you got before.
PS: If you want to get the tokenId of the owner you have to add the parameter withTokenBalances (you will also have the balance, and it's very interesting to have it too).

The PR has been merged, it's now deploy in the Factory ✅
Great job again @sampolgar ! 🙌

authors: MartinGbz sampolgar

repo: sismo-core/sismo-hub


text:
template level head inserts appear above HTML

I just noticed that template level head inserts for Style, appear above the HTML.
I'm on a SNAPSHOT version: sitemesh-3.0.0-20121012.145023-1.jar

Sorry, false alarm. Scratch this one


text:
Lets work together on remark-mermaidjs

Describe the solution you'd like
I am the maintainer of remark-mermaidjs and I recently stumbled upon this project. remark-mermaidjs already has several advantages over mdx-mermaid:

It works with any mdast, including, but not limited to mdx.
It isn’t tied to React.
It supports running in a browser as well as Node.js.
It doesn’t depend on a CDN.

I propose to work together on remark-mermaidjs instead of competing.
remark-mermaidjs doesn’t support a React component to render mermaid diagrams. That can still be developed separately.
Describe alternatives you've considered

Link remark-mermaidjs as an alternative in the readme.
You can choose to ignore this issue.

Additional context
N/A

Hey, thanks for the details. I have added a link in the readme. Hopefully this will enable people to choose the solution that fits their use case best

authors: remcohaszing sjwall

repo: sjwall/mdx-mermaid


text:
Bitbucket:805 SQL対象ファイルの基点をPe名前空間は無視するようにする

別環境とかだと MAX_PATH 超えるんや・・・

Software: Pe
Version: 0.99.171-033904bdea051d3ccd43efec97ef3be114e5029b
BuildType: Release
Process: 64
Platform: 64
OS: Microsoft Windows NT 10.0.19044.0
CLR: .NET 6.0.3

BitBucket から移植

項目
内容

元課題
#805

起票日時
2022-05-08T00:09:45Z

起票者
sk_0520

ビルドにめっちゃ影響するわ、、、保留
12ce9bea3b3bcb619aa2160a341c512d0f143fde

BitBucket から移植

項目
内容

元コメント
#805 コメント

コメント日時
2022-05-08T20:45:15Z

コメントユーザー
sk_0520

ビルド通すために以下を取り込む必要あり。
d04bb2182d45c6dc95c7978f6c0cf2c079a18977

BitBucket から移植

項目
内容

元コメント
#805 コメント

コメント日時
2022-05-08T21:11:20Z

コメントユーザー
sk_0520

何となく手順は考えたけどやる気でん。。。

諸々がくっそ辛い

license: WTFPL


text:
Changement de langue

Le changement de langue ce fait meme quand tu dit non au changement de modification.
OS : W10
Version : v1.0.0-Iti63

Plus ou moins la même remarque que #24

Plus ou moins la même remarque que #24


text:
Concept of state as an internal props

I've spoken to a few people lately and it seems that it'd be worthwhile to add the concept of internal "state" to components.
Since state is tied closely to the concept of props, I'm thinking we could just add this functionality to the withProps() mixin.
Usage
The following describes the current state of props along with the new state.
import { state, withState } from 'skatejs';

export default class extends withState() {
  constructor() {
    super();

    // This represents the public API.
    this.name = 'Trey';

    // This is identical to the above.
    this.props = { name: 'Trey' };

    // These are all the same.
    this.props = { [state]: { name: 'Trey' } };
    this.props[state] = { name: 'Trey' };
    this[state] = { name: 'Trey' };

    // These have no effect in terms of triggering a propsChangedCallback().
    this.props.name = 'Trey';
    this.props[state].name = 'Trey';
    this[state].name = 'Trey';
  }
}

Implementation
The implementation can simply be a symbolised prop. Consumers can do this by themselves quite easily, but it requires them to provide boilerplate and have their own opinion. We have an opportunity to streamline this for them so they don't have to think about it.
import { props } from './with-props';

// We don't use symbols yet, so we'd have to account for older browsers.
function sym(id) {
  return typeof Symbol === 'function' ? Symbol(id) : `__skate_${id}`;
}

// Should we prefix this with something (i.e. $/_)?
export const state = sym('state');

export const withState = (
  Base?: Class<HTMLElement> = HTMLElement
): Class<HTMLElement> =>
  class extends Base {
    static props = {
      [state]: props.object
    }
  }

It's likely that this isn't useful without the withProps() mixin anyways, so it might be better to simply include it as part of that.
Related
We introduced a props setter because that used to be the way to update state all at once. While you could have done an Object.assign(elem.props, {}) somewhere, it sort of made sense to have a counterpart to the getter. However, with the introduction of state, it doesn't make as much sense.
The props getter is definitely useful because then you don't have to merge prototype chains, however, I don't think the setter has much use if we introduce state because public props are for external APIs. Maybe it's worth doing:

props becomes a symbol and has only a getter (maybe not?)
state has both a getter and a setter

Thoughts welcome. This isn't a super drastic change, but I'm wary of making a breaking change on a beta.
Bikeshedding

Should we use a symbol?
If so, should we have a naming convention?
If not, does a pre-defined state prop work?

Other

Is this implementation too simple (are we not thinking of something)?

As we discussed on twitter previously, when I showcase skate to devs they have really hard time to understand re-render concepts by triggering it via setting a prop. ( huh prop is mutable? what? )
having separate API for state is a must
I'm not ok for using symbols for this at this moment, again as we discussed, it is not type safe and currently  not able to type by any existing JS type systems

just making it public prop on class instance for now, until private class properties hit Ecma specification and type systems implement it as well

props becomes a symbol and has only a getter (maybe not?)

just getter - totes
symbol - nope because of reason mentioned above

state has both a getter and a setter

again this may be mind fuck for React devs, but otherwise it's better and easier to reason about as we don't get into issues like react when setting state etc. So 👍

This isn't a super drastic change, but I'm wary of making a breaking change on a beta.
bah It's beta you can do what you want until it's not RC nor sable :)

it is not type safe

Type systems are going to need to buck up for Symbols sooner or later, but that's a fair argument. This is why I converted symbolised props to underscored in the mixins.

again this may be mind fuck for React devs

I'm not a fan of following another's API just for the sake of it. Getters and setters as props align better as an API. It's odd to have a state getter and a setState() function.

This has been implemented!

authors: Hotell treshugart

repo: skatejs/skatejs


text:
Vietnamese translation

Please help to merge. Thank for your hard-working!

Thanks! Could you also update the Gruntfile? You'll see examples in there for the other languages.


text:
Issue with Input Chip reactivity

Current Behavior
InputChips stay invisible on clicking the corresponding option on the Autocomplete list.
Expected Behavior
InputChip should appear in list after selection by user.
Steps To Reproduce

Navigate to https://www.skeleton.dev/components/autocomplete
Scroll to section Input Chip
Click on one of the suggested options

Link to Reproduction / Stackblitz
No response
More Information
Discuss here, though the primary culprit is not immediately clear:

https://github.com/skeletonlabs/skeleton/pull/1918
https://discord.com/channels/1003691521280856084/1144392201074393118/1144392201074393118
https://discord.com/channels/1003691521280856084/1025279710609014805/1144615544914460766

This was the last notable change which may have introduced this regression:
https://github.com/skeletonlabs/skeleton/commit/bc9e3e82993c3f8172159b87ad2c60c0d0cbe54c

Ok after some understanding of how this component works I figured why this is happening. The value variable is bound to the select element and keeps the internal state for what options are currently selected. chipValues is a variable that is supposed to reflect the value variable with and id (presumably used to key the each loop, ill get to that later). The chipValues is updated inside the addChip and removeChip functions, these functions are only called through submitting a chip, when changing the value from the outside the function is not called and therefor the internal state is out of sync with the chipValues.
Now that we/I understand the problem I propose the following fix:
Replace:
{#each chipValues as { id, val }, i (id)}

with
{#each value as val, i (val)}

and remove the chipValue and all references entirely.
Explanation: I assume the chipvalues variable was added in order to add an id to each chipValue for the keyed each loop to work (animate:flip only works with a keyed each loop). Instead we can just use the val instead as a key. So far I've tested this and don't see any issues with it. Let me know what you think of this.
If this fix isn't suitable and a unique generated id is required we would need to implement a sync method of some sort that is called whenever value changes (since it can be changed from the outside. This would look something like this:
function sync() {
    // chipValues is synced with value here
}
$: value, sync();

This would call sync whenever value changes (which it does in both the addChip/removeChip functions as well as being changed from the outside therefor keeping the chipValues in sync.
Let me know your thoughts :)

Alright, solution one won't work due to the duplicate value option, will work on solution two for now, see If I can come up with something clever.

@Hugos68 Since you are working on this please do take a look at #1918 if you haven't already.
The https://github.com/skeletonlabs/skeleton/commit/bc9e3e82993c3f8172159b87ad2c60c0d0cbe54c removed the reactivity because it was being triggered twice.
The reason it was being triggered twice was as you noted above once by the function and another by reactivity.
Now as you noted above that values can be changed from outside of the function the correct way would be to keep reactive and remove updating chipValues from inside function so it does not trigger twice.

@Hugos68 Since you are working on this please do take a look at #1918 if you haven't already. The bc9e3e8 removed the reactivity because it was being triggered twice.
The reason it was being triggered twice was as you noted above once by the function and another by reactivity. Now as you noted above that values can be changed from outside of the function the correct way would be to keep reactive and remove updating chipValues from inside function so it does not trigger twice.

Currently working on that! Thanks for the heads up!

Ok I've been working on this for 4 hours now and discovered some things:

Making chipValues reactive based on values is not possible because we don't know what updated on values.
If duplicated were not a thing, this would perfectly possible without need of any external array like chipValues since we can use value as the key as it would be unique.

I would like to propose to remove the duplicate feature, I've been thinking about it and discussing it with some other programmers (I couldn't wrap my head around the issue) and it really doesn't make a lot of sense to require duplicates for a tag input, please let me know what you think about this. If this simply won't happen there is still a fix for this.

@Hugos68 it's been a bit since I touched this feature. Can you explain what you mean by "duplicate feature"? Reviewing the docs and props I see nothing labeled this. Not sure I follow.

The fact that it allows for duplicate tags to be passed so I can have 2 tags that have the same value, if this weren't the case we wouldn't need to add artificial id's since we could you use values, the reason we can't is because if the "allowDulplicates" prop.

We've had so much discussion around Autocomplete and InputChips this week that I've apparently just merged the two in my head heh. I was looking at the wrong component, my bad! That makes a million times more sense.
So the allowDuplicates feature is an odd one, but it's one that there is a use case for. Even if it's niche. For a contrived example, take the ice cream examples we use - someone could want three scoops of ice cream that's strawberry, strawberry, and then vanilla.
Not to mention this would be a breaking change - so it would either have to go in before Monday (unfortunately won't happen) or would have to be reserved until v3. So the time table for that discussion is not great. Whatever solution we implement has to work with this feature in place.
I'll admit, I still haven't had a chance to sit down and wrap my head around the original issues trying to be addressed here. Could have something to do with it being nearly 3 am heh, but let's plan to just circle back on this next week after v2 ships. I'll have less on my plate and more badwidth to focus and provide real help here.

Alright, I see that use case being useful yeah, I would probably recommend to rollback Chad's change so that there is still a minor but known bug. This issue is a lot more complicated then one might think due to the nature of how svelte keyed loops work and how they are rendered

Do you happen to have any updates on this? I've downgraded to v1.11.0 as a workaround since Input Chips were broken entirely for us.

@djdembeck bare minimum, we're going to roll back the change that broke this for the v2 release this next week. But I'd like to take a deeper look when I can to try to resolve the the original issue that was meant to address as well.

repo: skeletonlabs/skeleton


text:
card-header and card-footer need radius overrides when bg-color-X set

Current Behavior
When setting a bg color on a card-header or card-footer it will overpaint the containing card and its border-radius setting.  I think if the user is opting into a card then it should carry through the expected border-radius to the child elements. The following uses tokens to re-apply the border radius on the card-header, but removing them will make it appear like card-footer.

		Actions

			<button class="btn variant-filled">Save</button>

		(footer)

It also raises a question of whether we should also extend the rounded tokens to match the options TW provides as we are missing tokens for (would we still keep container in there?):
rounded-s-container-token
rounded-e-container-token
rounded-t-container-token
rounded-r-container-token
rounded-b-container-token
rounded-l-container-token
rounded-ss-container-token
rounded-se-container-token
rounded-ee-container-token
rounded-es-container-token

Expected Behavior
No response
Steps To Reproduce
No response
Link to Reproduction / Stackblitz
No response
More Information
No response

@niktek I think this would be easier to understand with a screenshot.
That said, rounded styles now extend Tailwind's default border radius styles in v3. So this issue would be limited to v2.

		Actions

			<button class="btn variant-filled">Save</button>

		(footer)

		Actions

			<button class="btn variant-filled">Save</button>

		(footer)

		Actions

			<button class="btn variant-filled">Save</button>

		(footer)

It's not a show stopper at all, but it also doesn't feel right either.

@niktek sorry for the delay on this one. Now that I've had a chance to read through this with a clear mind I see what you mean. The goal with the v2 implementation was to keep a unified spacing around the edge of the screen, as well as between sections.
For example, all yellow lines shown should have uniform spacing:

Unfortunately, if you double up the spacing by adding padding within the children, this will lead to a poor result where space appears doubled (or tripled) between the children. This can result in styles that feel very uneven:

Here's how I'd tackle a couple different scenarios for this. This should work in both v2 and v3:

	Header

Content

	Footer

	Header

Content

	Footer

Given the header/footer concepts won't be carrying forward to Skeleton v3, I'd recommend following the pattern above for now. I don't think there's a sane way we can handle every use case folks might in v2, so we'll call this a wash.


text:
StoragePool.compress may corrupt size/iterators

debugging the write code indicates that the compress method is corrupting pools

done in experimental

repo: skill-lang/skill


text:
astraea-660 Implement IgnoreCase Enum

as titl
resolve #660

@g1geordie 不好意思，有一隻重構的PR讓這裡出現很多衝突，還請耐心處理

@g1geordie 不好意思，有一隻重構的PR讓這裡出現很多衝突，還請耐心處理

@chia7712  想請問
現在有了 app 和 common  兩個 module 都有enum 要做enum 的test
大大覺得需要 哪種方法 比較喜歡

在 common module 中加入 Gradle 的 testFixtures
app module 加入一個 enum test  去繼承 testFixtures
common module 也加入一個 enum test 去繼承 testFixtures
優點 enum test 的邏輯只有一份
缺點 會多了testFixture 的複雜性

直接重複Test 在兩個module中
優點 簡單
缺點 重複code

直接重複Test 在兩個module中
優點 簡單
缺點 重複code

先用這個方式，然後留個TODO，這樣可以加速這隻也算大的PR合併

感謝很多的建議

repo: skiptests/astraea


text:
directory_source of selinux_policy_module does seem to work…

Hi,
In one of my cookbook I call the selinux_policy_module to install a module already in .pp format.
### Install the SELinux policies
include_recipe 'selinux_policy::default'
selinux_policy_module 'postfixvas' do
  directory_source  'selinux-qas'
  action  :install
end

Unfortunately i get errors:

Error executing action run on resource 'execute[semodule-install-postfixvas]'
Error executing action install on resource 'selinux_policy_module[postfixvas]'
as the run of  /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp command fails. Actually it seems that the .pp file is not there! (see the complete error message at the end)
But there are:

[root@server001 chef-repo_QoD]# ls -al cookbooks/unix_ad4unix/files/default/selinux-qas/*.pp
-rwxrwx---. 1 544 1049089 1412 Mar  8 09:33 cookbooks/unix_ad4unix/files/default/selinux-qas/postfixvas.pp
-rwxrwx---. 1 544 1049089 1683 Mar  8 09:33 cookbooks/unix_ad4unix/files/default/selinux-qas/sshdqas.pp

The .pp file is well provided in a sub directory of files/default/. As you will see, to ensure that the files are accessible, I put a remote_directory resource before to test it. And with the source 'selinux-qas' it finds the file.
### Test remote directory resource
remote_directory '/tmp' do
  source 'selinux-qas'
  owner 'root'
  group 'root'
  mode '0755'
  action :create
end

I'm quite new using Chef, so it is possible that I miss something. Don't slap me too hard if this is the case! ;-)
Full output I get:
[root@server001 chef-repo_QoD]# chef-solo -c .chef/chef-solo.rb
Starting Chef Client, version 12.7.2
Compiling Cookbooks...
Converging 9 resources
Recipe: yum::default
  * yum_globalconfig[/etc/yum.conf] action create
    * template[/etc/yum.conf] action create (up to date)
     (up to date)
Recipe: unix_repo::default
  * yum_repository[rhel-updates-6] action create
    * template[/etc/yum.repos.d/rhel-updates-6.repo] action create (up to date)
    * execute[yum clean metadata rhel-updates-6] action nothing (skipped due to action :nothing)
    * execute[yum-makecache-rhel-updates-6] action nothing (skipped due to action :nothing)
    * ruby_block[yum-cache-reload-rhel-updates-6] action nothing (skipped due to action :nothing)
     (up to date)
  * yum_repository[system-tools-6] action create
    * template[/etc/yum.repos.d/system-tools-6.repo] action create (up to date)
    * execute[yum clean metadata system-tools-6] action nothing (skipped due to action :nothing)
    * execute[yum-makecache-system-tools-6] action nothing (skipped due to action :nothing)
    * ruby_block[yum-cache-reload-system-tools-6] action nothing (skipped due to action :nothing)
     (up to date)
Recipe: unix_ad4unix::default
  * yum_package[vasclnt] action install (up to date)
  * yum_package[quest-sudo] action install (up to date)
  * template[/etc/profile.d/qas-path.sh] action create (up to date)
  * remote_directory[/tmp] action create
  Recipe: <Dynamically Defined Resource>
    * cookbook_file[/tmp/sshdqas.te] action create (up to date)
    * cookbook_file[/tmp/postfixvas.pp] action create (up to date)
    * cookbook_file[/tmp/sshdqas.pp] action create (up to date)
    * cookbook_file[/tmp/postfixvas.te] action create (up to date)
     (up to date)
Recipe: unix_ad4unix::default
  * selinux_policy_module[sshdqas] action install
    * execute[semodule-install-sshdqas] action run (skipped due to only_if)
     (up to date)
  * selinux_policy_module[postfixvas] action install
    * execute[semodule-install-postfixvas] action run

      ================================================================================
      Error executing action `run` on resource 'execute[semodule-install-postfixvas]'
      ================================================================================

      Mixlib::ShellOut::ShellCommandFailed
      ------------------------------------
      Expected process to exit with [0], but received '1'
      ---- Begin output of /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp ----
      STDOUT:
      STDERR: /usr/sbin/semodule:  Failed on /root/.chef/postfixvas/postfixvas.pp!
      ---- End output of /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp ----
      Ran /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp returned 1

      Resource Declaration:
      ---------------------
      # In /root/chef-repo_QoD/cookbooks/selinux_policy/providers/module.rb

       62:   execute "semodule-install-#{new_resource.module_name}" do
       63:     command  "/usr/sbin/semodule -i #{filename}"
       64:     only_if "#{shell_boolean(new_resource.updated_by_last_action? || new_resource.force)} || ! (#{module_defined(new_resource.module_name)}) "
       65:     only_if {use_selinux}
       66:   end
       67: end

      Compiled Resource:
      ------------------
      # Declared in /root/chef-repo_QoD/cookbooks/selinux_policy/providers/module.rb:62:in `block in class_from_file'

      execute("semodule-install-postfixvas") do
        action [:run]
        retries 0
        retry_delay 2
        default_guard_interpreter :execute
        command "/usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp"
        backup 5
        returns 0
        declared_type :execute
        cookbook_name :unix_ad4unix
        only_if "false || ! (/usr/sbin/semodule -l | grep -w '^postfixvas') "
        only_if { #code block }
      end

    ================================================================================
    Error executing action `install` on resource 'selinux_policy_module[postfixvas]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    execute[semodule-install-postfixvas] (/root/chef-repo_QoD/cookbooks/selinux_policy/providers/module.rb line 62) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
    ---- Begin output of /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp ----
    STDOUT:
    STDERR: /usr/sbin/semodule:  Failed on /root/.chef/postfixvas/postfixvas.pp!
    ---- End output of /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp ----
    Ran /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp returned 1

    Resource Declaration:
    ---------------------
    # In /root/chef-repo_QoD/cookbooks/unix_ad4unix/recipes/default.rb

     41:   selinux_policy_module 'postfixvas' do
     42:     directory_source  '/tmp'
     43:     action  :install
     44:   end
     45: end

    Compiled Resource:
    ------------------
    # Declared in /root/chef-repo_QoD/cookbooks/unix_ad4unix/recipes/default.rb:41:in `from_file'

    selinux_policy_module("postfixvas") do
      action [:install]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :selinux_policy_module
      cookbook_name :unix_ad4unix
      recipe_name "default"
      directory_source "/tmp"
      module_name "postfixvas"
    end

Running handlers:
[2016-03-11T18:21:20+01:00] ERROR: Running exception handlers
Running handlers complete
[2016-03-11T18:21:20+01:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 06 seconds
[2016-03-11T18:21:20+01:00] FATAL: Stacktrace dumped to /root/.chef/chef-stacktrace.out
[2016-03-11T18:21:20+01:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2016-03-11T18:21:20+01:00] ERROR: selinux_policy_module[postfixvas] (unix_ad4unix::default line 41) had an error: Mixlib::ShellOut::ShellCommandFailed: execute[semodule-install-postfixvas] (/root/chef-repo_QoD/cookbooks/selinux_policy/providers/module.rb line 62) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp ----
STDOUT:
STDERR: /usr/sbin/semodule:  Failed on /root/.chef/postfixvas/postfixvas.pp!
---- End output of /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp ----
Ran /usr/sbin/semodule -i /root/.chef/postfixvas/postfixvas.pp returned 1
[2016-03-11T18:21:20+01:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

Damn I'm an idiot it was the right place… I mismatched skottler/selinux and BackSlasher/chef-selinuxpolicy!
Sorry for the noise!

Open at the wrong place!

repo: skottler/selinux


text:
Improve "About" Page

Current Behaviour:  The "About" Page of our website has good UI but less content.

Expected Behaviour:  Add more content in each section inside the "About" page and improve UI of the page.

I want to work on this issue under JWOC

I want to work on this issue under JWOC

Assigned.

@codervivek5  while adding the content to the sections. Make sure that there is no grammatical mistake.

Ok i will remind it very well

I want to work on this issue under JWOC

I need better improvements on this page, Vivek did up to his level but this page needs more improvements.

hey, @skpandey885  Tell me something. what we have to do to improve this page.

@codervivek5 more content and some minor CSS improvements. But I won't re-assign you. You can look for some other changes.

@codervivek5 After merging your pr, the changes are not reflecting on the website. What kind of PR did you make?

I want to work on this issue under JWOC

I want to work on this issue under JWOC

Go ahead.

I would like to work on this issue under jwoc!

@skpandey885 I have added some content only in the about section.


text:
Update cats-effect to 2.4.0

Updates org.typelevel:cats-effect from 2.1.4 to 2.4.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Migrations

github:typelevel/cats-effect/v2_4_0?sha=series/2.x

Documentation:

https://github.com/typelevel/cats-effect/blob/v2.4.0/scalafix/README.md

Files still referring to the old version number
The following files still refer to the old version number (2.1.4).
You might want to review and update them manually.
build.sbt

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "cats-effect" } ]

labels: library-update, semver-minor, scalafix-migrations, old-version-remains

Superseded by #292.


text:
WIP - Rearchitecting skpro on skbase

This PR is a major rearchitecting of skpro based on skbase and the sktime probabilistic prediction framework. Contents:

CI-CD is using the sktime/skbase templates
folder structure follows architecture of sktime, skpro
base classes and testing framework used from skbase
new probabilistic supervised regression base class design for the base regressor
BaseDistribution as return type, same as in sktime

Overall, this is hopefully much more streamlined and extensible.
Work in progress.

FYI @frthjf

FYI @frthjf, I think this is ready.

repo: sktime/skpro


text:
Add a pressed stated effect

Is your feature request related to a problem?
No
Describe the solution you'd like:
When pressing one of the drop down items, is it possible to show an effect? (Highlight or a ripple effect on the item being pressed)
Describe alternatives you've considered:

Have you found any solution ?

repo: skydoves/PowerSpinner


text:
Optimisation

Possible ideas:

Use a more efficient regex library
Avoid using regex for simple matchers like the EverythingMatcher

Don't mind the closing of the issue, I'm just stupid and fail at typing numbers.


text:
Method not decompiled

hi i have been testing with this apk weird that i found a method not decompiled even with --show-bad-code
method in MicrophoneService
method is RecordLoop
apkteset.zip

@shorts7wound this is a known issue reported in #295. Please wait until #295 is fixed.

any idea when ?
thanks for getting back to me

repo: skylot/jadx


text:
How to forward declare Registry and Entity

Hi,
Could you please tell me how to forward declare Registry and Entity, I'm currently using an alias such as the pacman sample:
using Registry = entt::DefaultRegistry;
using Entity = Registry::entity_type;

@Kerndog73 I forwarded declared as you mention it worked for me on c++14 version. It reduced my compilation time in 20% approximately, thanks :+1:

repo: skypjack/entt


text:
Possible solution for recursive initialization lockup in user type extention hooks

Hello!
I have thought for a while on how to solve the issue of user hooks into the type generation requiring the type recursively, and here is what i came up with.
I have looked at how different compilers implement static locals (for example, GCC's __cxa_guard_acquire and __cxa_guard_release), and what they seem to do is to have a global recursive mutex and in addition, a guard object created alongside the variable storage. When the initialization occurs, it checks with the flags if it is already "initialized" and if not, locks the recursive mutex, then checks if it is already "in use" and if so throws an exception.
From what i understand, if a type hook would need it's own type recursively, it is only to get a pointer to it, thus here is my idea:
Have a custom static local-like implementation, that would return a pointer-like "handle" instead of locking up or throwing an exception, the handle would only contain a reference to the guard object and variable storage (could be a single pointer). If it is needed to only store a pointer to the type, this handle could be stored instead. When the user wants to actually dereference the handle, it would check if it is "initialized" and not "in use" and simple return nullptr otherwise, as the object is not safe to access.
This does allow to recursively call the function, however it is definitely uglier than static locals (would require a global static storage for the function, etc.).
Other than that, i don't see an efficient solution to the recursive initialization problem.

Uhm... I must admit that I don't remember what's the issue of user hooks into the type generation requiring the type recursively. 😅
Can I ask you to give me some context? I guess I'm missing something that you know instead. 🙂

From what i remember, if the user wants to hook into type generation, and lets say attenpts to register a function that has the type as it's argument it woul recursively require this type, but because it isnt finished initializing yet it would throw an exception.
I think you have mentioned it in #756, that either the extension code would need to use the type system on a low level or multiple statics would be needed to keep track of initialization.
So thats what ive been thinking about lately, as I've ran into the same problem in some of my code.

Starving thread. Closed. Feel free to reopen it if you have an alternative proposal. Thanks!


text:
confirm with team that the search page wireframe is finalized

need to add the modal part

Added modal wireframe: https://docs.google.com/document/d/1EqH_GT72fbsTY9rJASW0NQ9uSeQh_cwoYTqJFFpo_6M

authors: anicrob skywalkah

repo: skywalkah/recipe-patch


text:
Fallback argument missing: confusing error text

Opening a new issue after reading #1249 which is closed.
@seratch, what was confusing on my end is that the error explicitly refers to a "`fallback` argument", so it leads to believe that the missing argument name is fallback, whereas it's actually text.
Maybe the warning message could be improved?
Suggestion:
The `text` argument is missing in the request payload for a chat.postMessage call - It's a best practice to always provide a `text` argument when posting a message which acts as a fallback. It is used in places where the content cannot be rendered such as: system push notifications, assistive technology such as screen readers, etc.

Hey @saveman71,
Actually, the fallback parameter was a parameter for file attachments to a message. It is no longer applicable, though, as it is a legacy field. text is the appropriate fallback field to use.
The warning messages mentioned in this issue and in #1249 are not from bolt-js but came from Slack's responses to API requests. I just searched through our latest backend code and there are no more such messages returned, so I don't think that warning should be reported anymore. If you can reproduce it, can you please share code to be able to reproduce the warning?

Hmm, as my colleague @seratch pointed out to me, some of these warnings come from the underlying @slack/web-api package: https://github.com/slackapi/node-slack-sdk/blob/%40slack/web-api%406.7.1/packages/web-api/src/WebClient.ts#L637-L664
Perhaps these warnings need a revision? I linked to the "legacy fields" documentation above - and since the fallback field is legacy, perhaps we should tweak this text to be more up to date with respect to the legacy fact? The text argument is the modern, correct way to provide a textual fallback to block messages as well as attachments. However, to @saveman71's point, that can be confusing based on the built warning from the node-slack-sdk.
I will move this issue over to the node-slack-sdk project as I think this can be an improvement that lands in that project (and bolt-js would get the benefit after updating its dependency).

repo: slackapi/bolt-js


text:
Error 'no_file_data' in files_upload method when sending binary data in 'file'

Description
Error 'no_file_data' in files_upload method when sending binary data in 'file'
What type of issue is this? (place an x in one of the [ ])

[x] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
slackclient version: 2.6.0 and newer
python version: 3.6
OS version(s): Ubuntu 18.04.4
Steps to reproduce:

read file into python bytes
set bytes into 'file' field in files_upload method params
send request to slack

If I use version 2.5.0 (and earlier) -> bug is not reproduced
Setting file path into 'file' instead of bytes also fixes the problem, but I need to send files not saved on the disk, so this is not an acceptable alternative.
Expected result:
File is uploaded
Actual result:
error:
slack.errors.SlackApiError: The request to the Slack API failed.
The server responded with: {'ok': False, 'error': 'no_file_data'}
Attachments:

@sofya-salmanova
Thanks for taking the time to report this and I'm sorry for the inconvenience. As you pointed out, this is an incompatibility issue since v2.6.0. We'll be releasing a new patch version including a fix for it at the latest within a few business days.
As a workaround, utilizing io.BytesIO works for you. If you're in a hurry, please try this workaround out.
import logging
logging.basicConfig(level=logging.DEBUG)

from slack import WebClient
import os
client = WebClient(token=os.environ["SLACK_BOT_TOKEN"])

str = "This is a test"
bytes = bytearray(str, "utf-8")

# This doesn't work with 2.6.0+ as mentioned in this issue
res = client.files_upload(file=bytes, filename="test.txt", filetype="text")

# A workaround
import io
bio = io.BytesIO(bytes)
res = client.files_upload(file=bio, filename="test.txt", filetype="text")

@seratch's workaround still required on 2.7.3. Is that expected?

@tplants
This issue is about sending a bytearray object as below. It works already. You don't need to use io.BytesIO anymore.
str = "This is a test"
bytes = bytearray(str, "utf-8")

# This doesn't work with 2.6.0+ as mentioned in this issue
res = client.files_upload(file=bytes, filename="test.txt", filetype="text")

If you're facing a different issue, could you share code reproducing your issue?

Oh my apologies, I'm dealing with the output of io.BytesIO().getValue() in my code, so something like this:
# this is _bytes_ not a _bytearray_
file = io.BytesIO(bytes_like_object).getValue()

And am seeing the same basic error:
# This worked previously but does not work now.
res = client.files_upload(file=file, filename="test.xlsx", filetype="xlsx")

# This works now.
res = client.files_upload(file=io.BytesIO(file), filename="test.xlsx", filetype="xlsx")

@tplants thanks for reporting this! I confirmed the issue and will quickly fix it in the next release coming by the end of this week.

authors: seratch sofya-salmanova tplants

repo: slackapi/python-slackclient


text:
merge: fails with empty PR description

The merge script currently requires a PR description, failing with an unhelpful error (e.g., “fatal: 'drostron' does not appear to be a git repository”) when one is missing.

Fixed in #19.

repo: slamdata/devtools


text:
Better Documentation

There seems to be something lacking in either the API-Gateway setup docs or the awsgi docs. I have copied the code directly from the example and I cannot get it to work. I am using the aws sam cli for testing. I can get the generic un-styled Flask 404 response but nothing else.
As far as I can tell the lambda handler is handling, but the request is never handed to flask.

Yes, I also would like to know, how to deploy it.

Also missing for the documentation is an example of accessing the raw lambda event & context objects from within an app route.

authors: frob jolo-dev rooby

repo: slank/awsgi


text:
Send msg works, but received nothing on example

Hi, I downloaded the example and tried to connecting to my server, it only works on sending messages, I cannot figure out why, would please give me some help?  it surely received message from server when I print logs at update of "PhoenixMsg innerMsg".
thanks  in advance!

@leonardzhou let me try it out locally

Same for me

Same for me as well.

Hey! I'm debugging the issue, probably something is wrong with the decoder 😕

Hey --  oh that's fantastic.  There really isn't anything else out there
like it!  I was thinking I'd just have to redo my project not using
channels.
On Fri, Apr 19, 2019 at 2:33 PM Milad notifications@github.com wrote:

Hey! I'm debugging the issue, probably something is wrong with the decoder
😕
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/slashmili/phoenix-socket/issues/2#issuecomment-484980581,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACV4YYH5YN7E2MWEOUL2CNDPRIF7NANCNFSM4HCPACCQ
.

Hi, any update on this?

@saeub unfortunately not. I tried to fix it but my Elm got rusty and I couldn't find the problem 😞

authors: euler2718 galilg leonardzhou saeub slashmili

repo: slashmili/phoenix-socket


text:
Add connection/channel management

Needs a bit of styling.
It would be good to get some feedback on what i have done so far.

Looks like this is not going to happen. closing

repo: slate/slate


text:
Log async backtraces after test timeouts

To make it easier to debug in CI why a particular test gets hung.
This is an invasive change, as it requires annotating all async
functions with async_backtrace::framed, and using a custom proc macro
(slatedb_test_macros::test) rather than the standard tokio::test
macro for test functions.

cc @criccomini @rodesai — not entirely sure y'all will feel good about this invasiveness (and possibly performance implications!) of this change, but I've been wanting to get a feel for async backtraces for a while, and SlateDB is a much better test bed for this experiment than Materialize. Let me know what you think. Only the first commit is meant for review; the second commit just injects a hang so you can see what the timeout test failures look like now.

Thanks for looking into this! As you say, this is pretty invasive. I've actually just started a style guide yesterday to try and clarify what we prioritize in PRs, and simplicity/no-surprises is pretty high on the list. I'm afraid the changes need here are a bit too much for the benefit they provide. With that in mind, I'm inclined to decline this PR. I'll leave the PR open for a bit to let others comment, though.

Yeah, makes sense. I’d also be up for iterating on the approach here to get to a better cost/benefit tradeoff, if y’all think there’s enough potential upside to be worth it:

We can avoid the async_backtrace annotations by trying the tasktrace library. The traces provided by tasktrace are not as good, but also the way async_backtrace infects a codebase is pretty ugly. I was having some trouble getting tasktrace to produce any output at all, but it could be worth giving it another shot.
We could give up on async backtraces and settle for sync thread backtraces. Like, literally spawn gdb in the SIGTERM handler and ask it to noninteractively dump backtraces for all threads. Non traditional, but I think it would work, and the complexity would be localized to the SIGTERM handler.
We could additionally avoid introducing the custom proc macro by requiring (in the style guide) that every test function start with a call to register the SIGTERM handler. Makes it unfortunately easy to forget to do so, but also avoids the magic of a proc macro.

Also happy to just abandon this entirely and accept that async backtraces are still too hard in 2024. :) cargo-nextest might be a better home for a gdb-on-SIGTERM integration, too.

cargo-nextest might be a better home for a gdb-on-SIGTERM integration, too.

This is kinda what I was thinking. This feels like it should live outside of slatedb's source. Ideally, nextest should do this. I poked around but didn't see an extension/plugin interface in nextest. Perhaps they're willing to take a PR for this? @sunshowers is this something y'all would be interested in?

Also easy enough for me to package it up as a standalone crate outside of Slate or nextest, if preferable. With the downside that there’d be some friction if we needed to iterate on the logic.

@benesch This was the option I was considering 😆 . Does nextest support extensions or plugins? I couldn't find anything but I just did a cursory skim. If it does, I'd be fine with hosting a separate slatedb/nextest-timeout-backtrace repo and publish to crates.io. We already do this for our fork of TiDB's fail-parallel.

Will look into it later tonight!

Maybe a cargo plugin would work? All we really need is to hook into the SIGTERM and dump the stack.

hey! what did you have in mind -- could you be more specific?

@sunshowers Ya! Thanks for chiming in. What we're trying to do is get a stack dump when we have a slow test that nextest kills. We want nextest to kill slow tests, and have configured it to do so, but right now it's a little hard to see what the state of the slow test was.

Oh interesting -- so basically, if a test is slow or terminates unexpectedly (maybe with a particular signal), run a script to dump a bunch of output (in your case gdb)? That definitely sounds extremely useful! Yeah, nextest doesn't support this at the moment, though it should.
Would you be ok filing a feature request? https://github.com/nextest-rs/nextest/discussions/new?category=feature-requests

Precisely! Having nextest support configuring a script to run on timeout strikes me as a really nice way to slice it. Putting something gdb-specific in nextest core felt a bit off.

Opened https://github.com/nextest-rs/nextest/discussions/1906

I don't really have much to add, but just wanted to say thanks @benesch for digging into this! I actually might be ok with async_backtrace if we had some way to enforce that it's used, and could quantify the performance hit - IMO having actual traces for async stuff is super valuable - it's just so much better than logs if you're trying to debug any kind of hung process, which happens all the time (unfortunately I imagine more so in async land). But it looks like a best-effort thing where we have to be diligent about using the macro, which might be net-negative (misleading diagnostics can be worse than no diagnostics). So I'm +1 with the outcome from the discussion above.

and could quantify the performance hit

It's also likely possible to use a #[cfg_attr(test)] annotation to only enable async backtraces in tests. Or #[cfg_attr(debug_assertions)] to only enable async backtraces in debug builds. Then there'd be no performance hit in release builds.

Thanks for the discussion, everyone! Sounds like there's general appetite for trying to get something working with gdb, and a general acceptance that async backtraces aren't quite there yet. I've moved this into draft, and I'll circle back on it in a few weeks once cargo-nextest supports timeout and/or termination scripts.
@sunshowers—thank you as always for being awesome. cargo-nextest is such a dream.

I pushed up a change to the current macro to invoke gdb -ex 't a a bt' when SIGTERM is received. Looks pretty good, IMO! Here's the test output:
https://github.com/slatedb/slatedb/actions/runs/12077852320/job/33681350259
If for some reason it turns out to be hard to add support for this to cargo-nextest, it'd be pretty easy to package up slatedb-test-macros::test in a crate that lives outside of this repo.

authors: benesch criccomini rodesai sunshowers

repo: slatedb/slatedb


text:
Custom index configuration

There is no information in docs how I can configure and create custom index with sleimanx2/plastic.
So, as sleimanx2/plastic is a wrapper over elastic/elasticsearch-php I can create console artisan command for index configuration and creation using elastic/elasticsearch-php package.
But it looks weird. Can I setup custom index with sleimanx2/plastic?

currently plastic does not handle index creation, the way to do it is using the default client as you mentioned.


text:
Скласти інтро

Скласти інтро (вступ), де в 2-4 реченнях описати, що замовник робить, що подобається робити, що хочеться робити краще, що важливо робити, тощо.

Hello! I’m Den, a frontend developer.
I am a self-directed and motivated front-end developer with 3+ years' experience in JavaScript, HTML, CSS technologies. Excellent at developing and maintaining client-side applications. I am hardworking and a fast learner with good communication skills. I love front-end development.

repo: sleptsov/homepage


text:
Using this in an Apollo Gateway without schema

Hi, I'm using this amazing package to control the queries in our federated ApolloGateway. The problem comes when, following the examples, I always see the schema object passed to the new ApolloServer constructor and, we don't have the schema available at Gateway level.
I would prefer to keep this cost analyser in the Gateway to avoid repeating the config in all the sub ApolloServers we have.
Is there any way to achieve this? Is there something super obvious I'm missing?
The code I'm using is:
export async function bootstrap() {
  const gateway = createApolloGateway();
  const apolloServer = new ApolloServer({
    gateway,
    plugins: [logErrorPlugin],
    introspection: (process.env.INTROSPECTION === 'true'),
    debug: (process.env.DEBUG === 'true'),
    formatError: (err) => {
    // Don't give the specific errors to the client.
    if (err.extensions.code.startsWith('DOWNSTREAM_SERVICE_ERROR')) {
      return new Error('Internal server error from subgraph ' + err.extensions.serviceName + '.  Logs are in datadog');
    }
    return err;
  },

    context: ({ req }) => {
      // Get the user token from the headers
      // Try to retrieve a user with the token
      // Add the user ID to the context
      return { req };
    },
  });
  await apolloServer.start();

  const app = express();

  configExpress(app);
  configApolloServer(apolloServer, app);

  const server = await start(app, config.port);
  attachGracefulHandlers(server);

  return { server, app };
}

You need the schema to run the validation. I am not that familiar with Apollo Server, but looks like you should be able to build a plugin that uses this library here:
Here you could get the schema:
https://www.apollographql.com/docs/apollo-server/integrations/plugins-event-reference/#schemadidloadorupdate
Here's a thread with some more examples that might help:
https://github.com/slicknode/graphql-query-complexity/issues/7

Thank you @ivome for the answer. I'll keep digging to see the best way to get the schema from within a plugin. Those links helped =)

repo: slicknode/graphql-query-complexity