Openwrt-19.07 branch sysupgrade doesn't work with nginx

After selecting a file and pressing upload nothing happens.
Interface is stuck on uploading 100% and real sysupgrade never starts.

Cannot reproduce it. Please open your browser console with F12 and look for errors.

Failed to load resource: the server https://[fdfc:ef25:1ba5::1]/cgi-bin/cgi-upload?1573047203685 responded with a status of 405 (Not Allowed)
Uncaught (in promise) SyntaxError: https://[fdfc:ef25:1ba5::1]/luci-static/resources/luci.js?v=git-19.310.44720-c2be304 Unexpected token < in JSON at position 0
at JSON.parse ()
at ClassConstructor.json (https://[fdfc:ef25:1ba5::1]/luci-static/resources/luci.js?v=git-19.310.44720-c2be304:25)
at eval (https://[fdfc:ef25:1ba5::1]/luci-static/resources/ui.js?v=git-19.310.44720-c2be304:229)

Tried both FF and Chrome. Same result.

Is this using uhttpd or an other webserver?

Oops. I forgot to mention. I am testing nginx on this specific device.

I think nginx support still requires backporting of the latest master fixes. @Ansuel - do you have an overview over the nginx / fastcgi commits that we need to pick into openwrt-19.07 for cgi-io to work properly?

This 3 should fix the problem.
https://github.com/openwrt/packages/pull/10173/files
https://github.com/openwrt/packages/pull/10193
https://github.com/openwrt/packages/pull/10263
https://github.com/openwrt/packages/pull/10263/files
Il Mer 6 Nov 2019, 15:29 Jo-Philipp Wich<EMAIL_ADDRESS>ha
scritto:

I think nginx support still requires backporting of the latest master
fixes. @Ansuel https://github.com/Ansuel - do you have an overview over
the nginx / fastcgi commits that we need to pick into openwrt-19.07 for
cgi-io to work properly?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openwrt/luci/issues/3270?email_source=notifications&email_token=AE2ZMQRKIWS3SSY554O2G33QSLIEHA5CNFSM4JJUXKRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDGW5MA#issuecomment-550334128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2ZMQQLM5IQHRHBPQEGZBTQSLIEHANCNFSM4JJUXKRA
.

I cherry-picked those, resolved PKG_RELEASE and HASH conflicts, but still same problem. @Ansuel

Check if the config file got actually updated
Il Mer 6 Nov 2019, 17:13 Dmitry Tunin<EMAIL_ADDRESS>ha scritto:

I cherry-picked those, resolved PKG_RELEASE and HASH conflicts, but still
same problem. @Ansuel https://github.com/Ansuel
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openwrt/luci/issues/3270?email_source=notifications&email_token=AE2ZMQR76E5YWL2XLB5IQWLQSLUJDA5CNFSM4JJUXKRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDHCSYQ#issuecomment-550381922,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2ZMQVWOGJ4AW6XEZ5QY7TQSLUJDANCNFSM4JJUXKRA
.

Which one? /etc/nginx/luci-uwsgi.conf did change.

I missed the vassals commit.

Now I am getting "bad gateway". I am not familiar with all this web stuff.

Did u restart both uwsgi and nginx?
Il Mer 6 Nov 2019, 18:05 Dmitry Tunin<EMAIL_ADDRESS>ha scritto:

Now I am getting "bad gateway". I am not familiar with all this web stuff.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openwrt/luci/issues/3270?email_source=notifications&email_token=AE2ZMQQBID6ZN7OJJAPWCM3QSL2NLA5CNFSM4JJUXKRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDHINOI#issuecomment-550405817,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2ZMQSSZI2XCH2PSBB4IXDQSL2NLANCNFSM4JJUXKRA
.

I flashed a new image. So everything was from scratch. I give up for now. Switched to uhttpd for a while.

select an upgrade file after upload, in browser console:
luci.js?v=git-19.311.41964-489fc4b:59 POST https://xxxxxxxxxx/cgi-bin/cgi-upload?1573176670473 413
(anonymous) @ luci.js?v=git-19.311.41964-489fc4b:59
request @ luci.js?v=git-19.311.41964-489fc4b:40
post @ luci.js?v=git-19.311.41964-489fc4b:64
click @ ui.js?v=git-19.311.41964-489fc4b:228

luci.js?v=git-19.311.41964-489fc4b:25 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)
    at ClassConstructor.json (luci.js?v=git-19.311.41964-489fc4b:25)
    at eval (ui.js?v=git-19.311.41964-489fc4b:229)
json @ luci.js?v=git-19.311.41964-489fc4b:25
eval @ ui.js?v=git-19.311.41964-489fc4b:229
Promise.then (async)
click @ ui.js?v=git-19.311.41964-489fc4b:229

Assuming this works now


Too many API Calls to Anilist

Describe the bug
PlexAniBridge searches for titles which aren't watched on first run, hitting the Anilist API with dud requests.
To Reproduce
Install the programm, run it for the first time
Watch it skip multiple shows and run into the Anilist rate limit
Expected behavior
PlexAniBridge should first check Plex's API for any changes, and then in a second run push those changes through to Anilist, this reduces the amount of API calls to anilist to a minimum
Logs/screenshots
2024-12-27 14:57:41 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Back Street Girls -GOKUDOLS- | Season 1' {plex_id: plex://show/5d9c09057b5c2e001e665743, tvdb_id: 347160, tmdb_id: 80613, imdb_id: tt8693818, anilist_id: 100665}

2024-12-27 14:57:41 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Backflip!! | Season 1' {plex_id: plex://show/5fa6c4f630c1f6002e8ea1dd, tvdb_id: 395746, tmdb_id: 112601, imdb_id: tt13412606, anilist_id: 125839}

2024-12-27 14:57:42 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Baka and Test: Summon the Beasts | Season 1' {plex_id: plex://show/5d9c07f102391c001f57d029, tvdb_id: 132961, tmdb_id: 56343, imdb_id: tt1655610, anilist_id: 6347}

2024-12-27 14:57:42 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Baka and Test: Summon the Beasts | Season 2' {plex_id: plex://show/5d9c07f102391c001f57d029, tvdb_id: 132961, tmdb_id: 56343, imdb_id: tt1655610, anilist_id: 8516}

2024-12-27 14:57:43 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Baki Hanma | Season 1' {plex_id: plex://show/60e81fd8d8000e002d7d2976, tvdb_id: 406152, tmdb_id: 129600, imdb_id: tt13357140, anilist_id: 124195}

2024-12-27 14:57:44 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Bakugan Battle Brawlers | Season 1' {plex_id: plex://show/5d9c0835705e7a001e6d61a8, tvdb_id: 82832, tmdb_id: 34109, imdb_id: tt1114855, anilist_id: 2156}

2024-12-27 14:57:45 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Bakugan Battle Brawlers | Season 3' {plex_id: plex://show/5d9c0835705e7a001e6d61a8, tvdb_id: 82832, tmdb_id: 34109, imdb_id: tt1114855, anilist_id: 7334}

2024-12-27 14:57:46 - PlexAniBridge - INFO      ShowSyncClient: Skipping show due to no activity 'Bakugan Battle Brawlers | Season 4' {plex_id: plex://show/5d9c0835705e7a001e6d61a8, tvdb_id: 82832, tmdb_id: 34109, imdb_id: tt1114855, anilist_id: 10330}

2024-12-27 14:57:47 - PlexAniBridge - INFO      ShowSyncClient: Skipping show because it is already up to date 'Bakuman | Season 1' {plex_id: plex://show/5d9c081bba2e21001f18df7d, tvdb_id: 193811, tmdb_id: 36041, imdb_id: tt1738419, anilist_id: 7674}

2024-12-27 14:57:47 - PlexAniBridge - WARNING   AniListClient: Rate limit exceeded, waiting 60 seconds

Config (please list all config sections you set):

DESTRUCTIVE_SYNC=[False]
PARTIAL_SCAN=[True]

Environment (how are you running PlexAniBridge):

OS Unraid 6.12.4
Docker

Additional context
I just installed it, thats the first run, in the end I want like 10-15 users syncing off of my server, without hitting the Anilist rate limit every few seconds (and potentially getting IP Banned)

I thought Partial Scanning would just sync watched series, and not go through and try the whole library, I mean, what will happen if I start a new series with partial scanning? Will it just, not do anything?


fix node-guardians.md

Fix link in markdown
A typo in the node-guardians.md file is causing the url to be wrongly rendered as we can see in the following screenshot

This PR replace the unexpected )by a ].

You probably also need to update the other item, which is the one that's listed on the main website
https://github.com/wslyvh/useWeb3/blob/main/content/code-challenges/node-guardians.md

Indeed I didn't see the file was at two different places! Thanks for it @wslyvh, I've updated the second file 👍


Better TaskGenerator splitting options

Splitting a dataset into multiple task generators is weird currently. (The interaction between split, test_size, and test_classes is not very clear.) I think a nicer API would be the following.
dataset = datasets.MNIST(download=True)
train_classes = [1, 2, 3, 9]
valid_classes = [0, 4, 5]
test_classes = [6, 7, 8]
train_generator = l2l.data.TaskGenerator(dataset, ways=2, classes=train_classes)
valid_generator = l2l.data.TaskGenerator(dataset, ways=2, classes=valid_classes)
test_generator = l2l.data.TaskGenerator(dataset, ways=2, classes=test_classes)

Also, we'd need a way to specify the total number of different tasks a generator can create.
Example: The following snippet creates a generator that will sample from 20,000 presampled tasks.
dataset = l2l.data.vision.FullOmniglot()
tasks_idx = np.arange(0, 1623)
train_tasks = [np.random.choice(tasks_idx, 5, replace=False) for _ in range(20000)]
# Either the user chooses the tasks:
train_generator = l2l.data.TaskGenerator(dataset, ways=5, tasks=train_tasks)
# Or the 20,000 tasks are automatically sampled by the generator:
train_generator = l2l.data.TaskGenerator(dataset, ways=5, num_tasks=20000)

Is there a reason for num_tasks? Isn't the current implementation num_tasks = inf?
Also is this a correct use case of your example above?
dataset = l2l.data.vision.FullOmniglot()
train_tasks_idx = np.arange(0, 964)
test_tasks_idx = np.arange(964, 1683)
train_tasks = [np.random.choice(tasks_idx, 5, replace=False) for _ in range(20000)]
test_tasks = [np.random.choice(test_tasks_idx, 5, replace=False) for _ in range(20000)]
# Either the user chooses the tasks:
train_generator = l2l.data.TaskGenerator(dataset, ways=5, tasks=train_tasks)
test_generator = l2l.data.TaskGenerator(dataset, ways=5, tasks=test_tasks)

If yes, then it doesn't look too different than the one we have? Maybe we can discuss more offline about the pain points in current implementation and I can change it accordingly.

Have a get_item for tasks.
Iterate over tasks.

The only problem with having multiple taskgenerator instances as per current implementations is that we'll go over the entire dataset every time we create a new instance.
Can we try to think somewhere on these lines :
task_generator = l2l.data.TaskGenerator(dataset, ways=5)
train_generator = WrapperOverTG(task_generator, classes=[0,1,2,3,4,5,6] tasks=10)
test_generator = WrapperOverTG(task_generator, classes=[7, 8, 9], tasks=10)
# this behaves as expected (sampling from all classes)
task_generator.sample(shots=1)

# this samples from only classes mentioned above
train_task = train_generator.sample(shots=1)
# this samples from the same classes as classes that were sampled from train_task
val_task = train_generator.sample(shots=1, classes=train_task.classes)

# this samples from same classes that were mentioned in test_generator
test_task = test_generator.sample(shots=1,)

Still needs the tasks=int or lists of lists init attribute.

Totally forgot about that, will start on it again.

So IIUC,
train_generator = l2l.data.TaskGenerator(dataset, ways=5, tasks=100)
main_list = []
for epoch in range(3):
    temp_list = []
    for i in range(100):
        temp_list.append(train_generator.sample().sampled_classes)
    main_list.append(temp_list)

assert main_list[0] == main_list[1] == main_list[2]

This should work right?
And assuming the answer is yes, then what is the expected behaviour when the following case happens
# lets say we have already sampled 10 tasks i.e [train_gen.sample for i in range(10)]
valid_task = train_gen.sample(classes=train_task.sampled_classes)

In this case we won't really sample a new task, but rather work on the same task (i.e the 10th task)...
This suggests that we might need to change the API of .sample
Something like
# current
def sample(classes: list = None, shots: int = 1)

# future
def sample(self, task: int = 0, shots: int = 1)
   """ task : this is the task number """


[cert-validity-days]: Add the cert-validity-days command

Add support for cert-validity-days command

https://github.com/niteshbalusu11/lndboss/pull/26


⚠ SceneTime has degraded performance

In 36c6cf7, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1012 ms

Resolved: SceneTime performance has improved in e99e339 after 6 minutes.


Several minor fixes

list isos fix
reset theme on logout
show spinner instead of skeleton
don't show old resources from prev nav view
fix duplicate route issue
simplify settings tab and component for instance and templates

Ping @anuragaw @svenvogel @iceteabottle @shwstppr - can you review? All are minor fixes. Thanks.

Settings tab:

Loading now:

Thanks @shwstppr I'll proceed with merging, per the guideline of at least a single lgtm.


Would be great to generate some debug output with timing information of overall export and various stages of it

Current Behavior
It happens that you do something to your 3D model that makes the glTF export for MSFS suddenly take much longer than previously. Especially if you are in the habit of tinkering away in Blender for days before exporting next time, it can be hard to figure out what it is that causes the slowdown. To investigate such problems, it would be great if this plugin output some timing information to the Scripting window in Blender. It could even be of different levels of verbosity, with a setting in the export window. (The default level should be one that generates just a handful of output lines.)
Expected Behavior
The plugin logs timestamps of its various stages. One timestamp when it starts, one when it ends, and at suitable steps in-between.
Steps To Reproduce
.
Environment
.

Anything else?
No response

Ah, now I see that the Khronos exporter does generate a lot of debug output with timestamps. I was looking for such in the wrong place. Closing this.

Or actually, the output from the Khronos exporter is less than useful when investigating what takes most time in an export. For a problematic 3D model, it said:

... lots of lines at sub-second intervals for maybe five seconds, then:
16:23:33 | INFO: Primitives created: 1
16:23:33 | INFO: Extracting primitive: Cylinder.021
16:23:33 | INFO: Primitives created: 1
16:26:52 | INFO: Finished glTF 2.0 export in<PHONE_NUMBER>2850342

I.e. the last bit that takes the most time doesn't generate any debug output at all. Is that time then spent mostly in the Asobo glTF-Blender-IO-MSFS? Maybe I should re-open this issue after all. It would be useful if also the Asobo code would output some of those INFO lines.


Use stateful set for etcd instance used when running the server in-cluster

@vaikas-google This is a good one to get started with.

Done


Westworld2 Internals Instrumentation

Report txPortal.tree.Size() and rxPortal.tree.Size() through westworld2.Instrument. Might also be nice to include optional tree fragmentation metrics. These should be optional because scanning for holes in tree ranges is spendy.

Create new dilithium influx importer and Westworld2.1 visualizer.


[Enhancement] Add validation of HTML, CSS, Javascript to Visualforce pages

I notice that we don't have JavaScript intelisense on Visualforce pages.
Will be good to have all html features like css, javascript helpers and HTML snippets on visualforce pages without the needing to change the language mode to HTML.
Thank you

Sorry, I'm not familiar with the 'visualforce' pages. Is the file format is identical to HTML, or does it extend the HTML syntax?
Also note that you can change the default file associations in the user settings.

It's almost identical, we can use pure HTML, css and JavaScript inside, and the Visualforce own components.
Example of pure Visualforce:
<apex:page standardController="Account">
    <apex:form>
        <apex:pageBlock title="Edit Account for {!$User.FirstName}">
            <apex:pageMessages/>
            <apex:pageBlockButtons>
                <apex:commandButton value="Save" action="{!save}"/>
            </apex:pageBlockButtons>
            <apex:pageBlockSection>
                <apex:inputField value="{!account.name}"/>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>

Visualforce it's like a Framework made By Salesforce.

This looks like XML.. Assigning the HTML mode to that would not be correct.
The best would be if an extension picks this up and offers specific support for Visualforce.


Better visualize proofs for assertions inserted by SpecificationChecker

SpecificationChecker inserts some assertions into a program that are directly related to a syntax element but are not inserted into the code. An example for this is the "division by zero" check inserted before every division.
These proofs should show up in the UI and color the appropriate related syntax element according to the outcome of the proof.

There is not much the UI can do about this. It gets passed the implicit assertion inserted by the prover, but it cannot mark it because there is no corresponding parse tree node in the source file.
My suggestion for this is creating a new subclass DivisorNotZeroAssertion of Assertion in the model, which has an additional property checkedExpression pointing e.g. to a BinaryExpression (which can be a division or modulo). This special type of assertion would be inserted by the prover instead of a normal _assert.
IProverEventListener would then have another event, named along the lines of divisorNotZeroVerified, which would get the failed expression (not the assertion) as a parameter.
The prover could chose whether to call this event only in the case of an annotation failure, or always.

Yes, I think that would be the best approach. Could you add DivisorNotZeroAssertion and FunctionCallPreconditionAssertion to the model (I'm not very good with this EMF stuff). I would then implement your suggestions based on these classes.

Done in c5365b2. I think the distinction betweeen  DivisorNotZeroAssertion and FunctionCallPreconditionAssertion is not necessary, so I created a single model element called GuardAssertion (imagine this).

Oh well, I figured out you might indeed need two separate assertions, so I subclassed GuardAssertion and added the two new assertion types, too.

You can assign the issue to me when you’re finished.


GEODE-5608 truncate fork/branch names in image/instance naming

some changes to render.py for useability as well
Co-authored-by: Jacob Barrett<EMAIL_ADDRESS>Co-authored-by: Finn Southerland<EMAIL_ADDRESS>Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@pivotal-jbarrett @PurelyApplied @smgoller This has been sitting here for a few days, can we get some reviews?


Revert "[IOTDB-578] Cluster module should use the same thrift version with io…"

Reverts apache/incubator-iotdb#986

thrift 0.13.0 used by the stand-alone IoTDB will cause bugs in Mac OS and that is why we use a separate version in the distributed version.
PLEASE, do not merge any outside code without informing the committers who are working on this branch.

If so,

should we downgrade the thrift version in the server module?
add a comment on the top of the dependency in the cluster pom.xml to claim why you have to do that.

thrift 0.13.0 used by the stand-alone IoTDB will cause bugs in Mac OS and that is why we use a separate version in the distributed version.
PLEASE, do not merge any outside code without informing the committers who are working on this branch.

If so,

should we downgrade the thrift version in the server module?
add a comment on the top of the dependency in the cluster pom.xml to claim why you have to do that.

Agree with @jixuan1989  We'd better keep the same version in project as far as possible.

I think you should follow the principle of majority voting and not merge code without anyone else knowing.
And we need to add more comments to specific places so that contributors/committers can note why .


#13643: Extend binary-ng math support to match all primitive binary ops

Ticket
#13643
Problem description
Re-opening https://github.com/tenstorrent/tt-metal/pull/16068 with a Grayskull test disabled because of possible accuracy issues
What's changed
This PR adds support for all other primitive binary ops that are defined in the BinaryOpType enum.
Checklist

[X] Post commit CI passes (https://github.com/tenstorrent/tt-metal/actions/runs/12436832044)
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] (For models and ops writers) Full new models tests passes
[ ] New/Existing tests provide coverage for changes

Can you please double check if BinaryNgDeviceOperation::compute_program_hash is still up to date after this change?
Not a scope of this PR, but ideally would be good to have a test which verifies that difference parameter cause a new program vs a reuse.

I have confirmed it is still up to date after this change.


Some letters in textLayer aren't properly aligned with the rendered text

Attach (recommended) or Link to PDF file here:
example.pdf
Configuration:

Web browser and its version: Chrome, Firefox
Operating system and its version: all
PDF.js version: various versions, including 2.11.54
Is a browser extension: no

Screenshot with visible textLayer:

Which means some letters at the beginning/end of text selection are missing when copying text.

I am having the same problem here with PDFs that have gone through OCR processing. Any news about this?
Configuration:
Web browser and its version: Chrome, Firefox
Operating system and its version: all
PDF.js version: various versions, including 2.9.359
Is a browser extension: no

I'm experiencing the same issue in
this pdf

Did you make any progress here @mrtcode?

So in my PDF above, I noticed that the heading font that is used here AbrilTitlingSb, is actually a serif font, but is recorded as sans-serif in the PDF object:
35 0 obj
<</Type /FontDescriptor
/FontName /AbrilTitlingSb
/Flags 4
/Ascent 839
/Descent 279
/StemV 141
/CapHeight 700
/ItalicAngle 0
/FontBBox [-168 -229 980 927]
/FontFile2 34 0 R>>
endobj

If I set fallbackFont to always be serif (as a test) in fonts.js, then the alignment looks a lot better. Obviously we can't just switch the fallbackFont to default to serif, so, I'm wondering what other options might be explored here. @Snuffleupagus how can we be smarter about selecting the fallbackFont here in the case that the PDF itself seems to use the incorrect font?

Based on a cursory look, the source of the problem in the PDF file in https://github.com/mozilla/pdf.js/issues/13845#issue-957987834 is that the fonts contain an incorrect /Flags entry (i.e. it's bug in the PDF file itself). If the font flags were correctly set to "serif", this should just work; however for that particular case a work-around might be possible (using the font name).

The PDF file in https://github.com/mozilla/pdf.js/issues/13845#issuecomment-923882716 is slightly different, since here there's not even any font flags at all (again clearly a bug in the PDF file itself). That case is slightly worse though, since it doesn't look like the same work-around (as above) would be possible.
All-in-all, the second case is not really the same identical issue and it's also going to be much more difficult to "hack around" the brokenness in PDF file itself (you always need to limit any hacks, especially in the font code, to prevent lots of other things breaking).

@Snuffleupagus got it! That's interesting re getting serif from the font name. I saw isSerifFont does name checking for serif-ness, but is only run if there is no font descriptor in the file. https://github.com/mozilla/pdf.js/blob/638115885584b82ee9ea6fed83aa7ae15348ba27/src/core/evaluator.js#L3620
If you don't have time to fix this one let me know and I can attempt a fix

Re https://github.com/mozilla/pdf.js/issues/13845#issuecomment-924989328: Sorry, but I don't think we'll want to add a work-around for your particular case.
The reason is that the font names in question look very "non-standard", and it'd be difficult to know if it's generally safe to treat them as "serif" fonts. (And we really want to avoid dealing with a bunch of regressions later, just for one particular case of bad font data.)

Hey @Snuffleupagus - apologies for not being clearer - I understand that only @mrtcode 's PDF (and not mine) is going to benefit from the approach I was talking about in https://github.com/mozilla/pdf.js/issues/13845#issuecomment-924989328.
It's just that we use PDF.js extensively at Palantir and I'd like to help where I can to make text selection better in all/any ways.

Is there a solution, please?

same question in version latest
i.e.
serif

sans-serif

debug:


Popover (react-aria-components) : add portalContainer prop

🙋 Feature Request
Since the Popover component uses the Overlay component which takes an optional portalContainer prop, it would be very useful to be able to use portalContainer with Popover too.
It would allow to "portalize" the overlay content somewhere else than in document.body.
🤔 Expected Behavior
The following code :
<Popover portalContainer={document.querySelector('#overlay-container')}>List</Popover>

Would "portalize" the Popover content to the dom node returned by document.querySelector('#overlay-container').
😯 Current Behavior
The following code :
<Popover portalContainer={document.querySelector('#overlay-container')}>List</Popover>

"Portalizes" the Popover content to document.body.
🔦 Context
I'm building a selector using the Select, Button, Item, Label, ListBox, Popover and SelectValue components.
This selector is used in tooltip that closes automatically when blurred.
Since the selector options are appended to document.body, when I open it with my keyboard (SPACE or ENTER keys), it is consider a blur because the blur goes outside the tooltip.
I would like to be able to append the selector options in the tooltip in order to prevent this from happening, thanks to the portalContainer prop.

Mind expanding on why you have your selector in a tooltip? https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/ indicates that "Tooltip widgets do not receive focus", could you instead make this experience open a popover dialog and expose the selector in that dialog instead?

Hi, I was mistaken by using the word "tooltip". It's more of a "popover" that is displayed by clicking on a button present in the page. This popover is handled by another lib than those provided by react-spectrum (with the lib tippyjs-react).
To be more correct :
I'm building a selector using the Select, Button, Item, Label, ListBox, Popover and SelectValue components.
This selector is displayed in a popover (built with the lib tippyjs-react) that closes automatically when blurred.
Since the selector options are appended to document.body, when I open it with my keyboard (SPACE or ENTER keys), it is consider a blur because the blur goes outside the popover.
I would like to be able to append the selector options in the popover in order to prevent this from happening, thanks to the portalContainer prop.

Apologies, I'm not very familiar with tippyjs so I'm having a hard time following the resulting DOM structure here, is it possible to include a codesandbox showing the minimal reproduction here?  If I'm following you correctly, you want to be able to make the React Aria Component's Popover portalled to the tippyjs Popover instead of to document.body?

Hi @LFDanLu , here is another use case that could illustrate the need to get a portalContainer prop for Popover :
I use the 'focus-trap-react' lib to "trap" the focus in a modal (I don't use FocusScope since it's code that has been written long before I use react-aria-components).
In this modal, I use the Select provided by react-aria-components, but since the items displayed (within Popover) are appended to document.body, they are considered outside of the "focus trap", and I can't set the focus on one of these items (using the keyboard arrows for example).
Being able to pass portalContainer with a prop to Popover would allow me to specify to append the items displayed to the modal container (inside the "focus trap"), and allow the focus on them.
Here is a CodeSandbox I made to illustrate my problematic : https://codesandbox.io/s/react-aria-components-select-focus-trap-react-jrq5z5?file=/src/App.tsx

I'm working with the Modal component and I also need to configure the Overlay portalContainer props.
Having the modal in the body element cause some issue for us. We need to move it in our application root container element.

Casting another vote for this suggestion 👍 It would help with scenarios where we can't always control all the overlays being used.

Copy pasting my comment from a related issue:
The team talked about this some more yesterday. We are entertaining the idea of allowing users to specify the portalContainer for RAC/aria hooks like its done in https://github.com/adobe/react-spectrum/pull/5381, but we would want to make it clear in the prop description/naming that it is largely unknown what cases may fail if the overlay is portalled somewhere unexpected (e.g. portalled to a third party FocusScope, etc).
We'd like to collect some more information about the use cases here so we can make a more informed decision or suggest alternatives.
@armandabric could you share some more info as to the requirement for the modal needing to be in the root container element?
@mryechkin just to clarify, you are alluding to a scenario with other third party overlays/components in your app/project?


Adds URL to constructor

Description of proposed changes
It is intended to allow for #7 url proposal.
This proposal modified the existing constructor to take in required, named arguments. If you don't use the default constructor, then you must specify the argument you are setting Aliasor(alias_file=<file>). This changes the behavior of the existing file argument as you can no longer call Aliasor(<file>).
I added the ability to specify a url via Aliasor(alias_url=<url>).
The use of required, named arguments should be implemented if you want to add different input data such as str (which can then be implemented as Aliasor(alias_string=<str>)). This makes it very clear what the caller wants to do.
Related issue(s)
Testing
I added a test which takes in the default url currently provided, and tested that compress and uncompress logic still works correctly. I also updated the file constructor test to use the new required, named argument implementation.

I am using PyCharm, and the current test imports from this project don't work as-is.
I had to change from pango_aliasor.aliasor import Aliasor to from src.pango_aliasor.aliasor import Aliasor to remove import errors and get the tests to be recognized.
I did not include that in this pull request, but if you would like me to, I can add this change, too.


xSQLServerSetup: Fails to determine needed cluster disk if only InstallSQLDataDir is assigned a path

Details of the scenario you try and problem that is occurring:
Fails to determine needed cluster disk if only InstallSQLDataDir is assigned a path. This is because this line does not include parameter InstallSQLDataDir.
When this issue is fixed, issue #400 and #394 should be resolved as well.
The DSC configuration that is using the resource (as detailed as possible):
Not available
Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
n/a
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
Dev

I'm looking into this one.


Fixed SR-2174, wrong stringification of a path in generated xcodeproj

Fixes https://bugs.swift.org/browse/SR-2174

Tested on SwiftPM that this fixed the issue

LGTM, wonder if we could get test coverage of this area though.

Yeah test would be good. we can compare the generated files with an expected sample instead


Add support for multiple build commands

It would be great if we could define multiple build commands in .atom-build.json instead of just one. This would allow e.g. creating separate bindings for different commands, like make and make test.
I've seen something like this in SciTE where you can assign numbers to different commands and then use Ctrl+N to trigger command N.

Cool idea. I really like it.
Maybe it should be possible to extend the .atom-build.json file with a keymap where the value is the same structure as the .atom-build.json is defined to be today. That way we could have different environments and arguments and all the goodies available in the plugin today.

This could also be used to create a "run" command in addition to a "build" command.
Ideally, you should be able to also define a separate key combination for each such command.

I’ve just started using Atom, found this package, and then needed the ability to specify multiple builds. I hacked something together, but not sure whether this is the sort of the implementation you would like?
Here’s my changes: https://github.com/austinbirch/atom-build/compare/multiple-build-commands
If this is the sort of thing you are looking for, I’d be happy to add tests, make any changes, and submit a pull request.

@austinbirch I really like what you're proposing!
Some notes which I may not have thought all the way through:

You're reading the .atom-build.json when the package is activated (which for most users is when Atom starts). Would it be good to re-read that file,

@noseglid Thanks for the feedback!
First reaction to your notes (also not thought all the way through!):

Maybe we should have another file name than .atom-build.json for the named builds.

I think I’d prefer having one file that defines all builds, though I’m not sure what the best implementation here is. In my changes I’ve allowed the .atom-build.json to define an array of builds, though it feels a little odd to allow both a single object and an array in that config file.
The problem I’m seeing with using an array is that I’m not sure what the build:trigger, build:confirm, build:no-confirm actions should do in this case (in my changes, I’ve just allowed a user to specify a "default" that is used for those commands. This is not a great solution, because you could theoretically define more than one build as the default).
Not sure how open you would be to changing the format of the config file, but perhaps it could be something like below.
{
   "default": "name1",
   "otherBuildsSettingHere": "value",
   ...,
   "builds": {
       "name1": {...build config...},
       "name2": {...build config...}
   }
}

This config would allow properties to be described about the build process as a whole, and about individual builds. It’s also a flexible format for future changes, though it does force all builds to be named (not sure that’s very painful for the user though).

You're reading the .atom-build.json when the package is activated (which for most users is when Atom starts). Would it be good to re-read that file every so often?

I think this is a good idea, however I’m not sure what the best implementation for this is, as I’m not familiar with the Atom API yet. Any suggestions on this?

Should it be left to the user to configure keymaps or should we make an attempt at that?

It depends on workflow a bit I suppose. I’m planning on committing an .atom-build.json config to a repository with multiple contributors, and I wouldn’t want to force others to use the same keybindings as me (though we want the build configs to be shared).
If the users’ workflow is different it may make sense to have keybindings defined within .atom-build.json, so maybe a flexible option could be allowing an optional keybinding to be defined within the build that could be overridden by individual users if they wanted to use something different.

I agree with you that keeping .atom-build.json even for named builds. I like the structure you proposed, but maybe the top level should be as it is today (to keep backwards compatability, and give the default build, e.g build:trigger meaning):
{
   "cmd": "cmd for default build",
   "args":[  "args", "for", "default", "build" ],
   ...,
   "builds": {
       "name1": {...build config...},
       "name2": {...build config...}
   }
}

an example could be
{
  "cmd": "gcc main.c -o main",

  "builds": {
    "warn": {
      "cmd": "gcc -Wall -Werror main.c -o main"
    },
    "test": {
      "cmd": "gcc test.c -o test && ./test"
    }
  }
}

Default it would build main.c to main. By building warn it would add some flags, and test would build the test program and run it.
With this in place, cmd-alt-b/ctrl-alt-b would trigger the default build specified in the top level of the object (for backwards compatibility).
To trigger any other build, one would press cmd-alt-p/ctrl-alt-p and type the name of that build which would be mapped to the atom trigger build:<name>. Thoughts?
Re-reading the config could be done as a menu item triggered manually by the user, I suppose. I'm not sure we want to poll the file-system. Possibly we could set up a watch on .atom-build.json and re-read it every time it is changed using fs.watch.
Regarding keymaps, we could enhance on this further later on, but right now it doesn't seem like such an important thing.

I think the structure you’ve outlined there is great, it keeps backwards compatibility and makes sense with regards to default builds. It will fit well with a lot of projects too, as there will be generally a build-all command (top-level default in this structure), and then builds for sub-components. For example, a project I’m working on at the moment has a buildBackend.sh script, a buildApp.sh script, and finally a buildAll.sh script that incorporates the other two scripts.
I think your idea for the UI to trigger a named build is good too, and it still allows users to setup their own keybindings for named builds.
For re-reading the build config I think that a manually-triggered menu item would be good enough for now, as build configs probably do not change too often. Any time you make an adjustment you could just manually trigger a refresh of the config.
I also agree that keybindings can be left out for now. As long as the commands are easy to bind keys to, it is not that painful for a user to get the setup that they want.
I think that’s enough to go on for now. I’ll make the changes, add some tests, and then submit a pull request.
Thanks again for your feedback on this.

Cool. I'm looking forward to what you come up with!

Just a heads up, I made som changes on master which modularizes the build tools a bit. The way it finds the build command and all data structures are the same, just a change in code layout. I may impact what you're doing a bit.

Most IDEs have "targets" instead of named builds.
You always have the same keybinding for building, and you just change the active "target" to be built.
With targets, ctrl-alt-b would always be "Build" and another keybinding would bring up a list of targets  to choose between (or switch to the next target).
For example, if you have a separate targets for:

Linux debug
Linux release
Android debug
Android release
Run tests
Generate documentation
...

... it would be nicer to just select the "active" target and press ctrl-alt-b to build, instead of typing out the target's name every time you build.
Of course, this could be used in addition to named builds, i.e. building the latest named build (active target) by default.

wont it be simpler to support .sublime-build? There are default setting for every build system and "variants" array.

And yeah, as you using json format for "builds" you better use array:
"builds": [
  {
    "target": "target_name",
    "cmd": "target_cmd"
  },
  {
    ...
  }
]

@austinbirch Any updates on this?

@noseglid Sorry for the delay, became busy at work and mostly switched back (mostly) to emacs.
I have a pretty stable initial implementation of what we had discussed originally on this branch here https://github.com/austinbirch/atom-build/tree/multiple-build-commands.
I’d also like to look the "target"-based suggestions that have been made, to see if there’s a neater solution (do you have any thoughts on those suggestions?)
I’ll see if I can get some time in the next few days to finish this stuff up.

+1 on this. I'd really like to see this implemented.

@austinbirch Would you mind if I pushed your changes to noseglid/atom-build on a development branch. We could collaborate to get this change finished on that branch. I would love to see this feature included as soon as possible :)

@noseglid Yes, that could be a good idea. I’ve pushed an updated version of that multiple-build-commands so that it’s up to date with master, plus a couple of bug fixes.
I’ve also written and published a build-targets branch (doesn’t have tests yet). That branch contains an implementation of "targets" (following @kankaristo's suggestion), which allows you to select an "active target" from a list (pulled out of the tools config in a similar way to what we have discussed above), and provides a keybinding for building the "active" target. A disadvantage of might be that it doesn’t (yet) support keybindings for named targets.
I prefer the targets-based approach (I think it’s a simpler idea), so it would would be great if you could take a look at that implementation too.

@austinbirch I did some work on this. You've done an excellent job so far.
I got this idea, if the build tool gave the list of all named builds, then Grunt, gulp or Make could provide all it's targets as named builds. This would be a neat addition to just having it for the custom build file. I'm half-way through implementing it. What do you think?

That sounds good, though (unless I’m misunderstanding) I think that’s similar to how I’ve implemented it in the build-targets branch (which I think should be the preferred implementation)?
If the "tool" returns a settings object that has a targets property, it will already get it’s named targets added to the list of available targets. You can see this behaviour here.

Cool, I see. I didn't take a good look on that branch yet, but it seems I've duplicated some of that work on my local branch :disappointed: . I agree this should be the preferred implementation.
Though, I thought the selection of the active target could be last built target. So if you select a target from the SelectListView it will also mark that target as active, causing all subsequent build triggers (ctrl-alt-b or cmd-alt-b) to build that target.

That’s pretty similar to how it works now also, except that it is behind another command (build:build-active-target vs build:trigger). I could combine these two commands so that build:trigger builds the active target if selected, and has the current behaviour if there is no active build selected?

I think the work-flow is more natural if we just add one command for setting the active target, and the current build:trigger works as familiar. That way, users wont have to learn a new key-combination - and the build-package is less likely to collide with other bound key combinations.
I'll push my changes later today to noseglid/atom-build#dev/multiple-build-commands which is where I think we should keep all progress on this to not accidentially implement same things twice again :)

Okay sounds good. Is that branch based off of the changes in my multiple-build-commands branch?
Unless you have other work you want to keep in that branch, it might actually be worth basing off of my build-targets branch, as it will only be a couple of line changes & some line removals to make build:trigger build the active target. I think the implementation in that branch is much better. I could make those changes today (and open a PR if you want), then the only thing that would need to be added is some tests.

I did some other changes as well, such as kebabCasing custom build commands and automatically observe changes to the .atom-build.json file for updating named builds. It might still be better though, I'lll have a look when I have sometime later today.
If you have time to complete those changes that'd be great. Would give me a neater base to work off.

As I said in #77, I continued the work on your stuff. It's pushed to noseglid/atom-build@dev/build-targets.
I have done this so far:

Changed the keybinding to cmd-alt-t/ctrl-alt-t.
Automatically trigger a build when a target is selected.
Made tool.settings asynchronous so we can do more stuff before determining targets for a build tool.
Implemented parsing of targets for Grunt. The others should be fairly easy now.
Prepended the name in the SelectListView with the tool.

Left to do:

Write tests.
Implement target parsing for at least gulp and Makefile.

Another cool thing with this, it is now possible to have multiple build tools running at the same time. For instance having gulpfile.js with all project specific builds, and then one very custom target in .atom-build.json  which might be local to one developers environment. And it's seamless to switch between them.

I wrote a couple of specs:

should list those targets in a SelectListView (from .atom-build.json)
should list those targets in a SelectListView (from Gruntfile.js)
should list those targets in a SelectListView (from gulpfile.js)
should mark the first target as active
it should run the selected build
it should run the default target if no selection has been made
run the selected target if selection has changed, and subsequent build should run that target

@austinbirch Any other tests you can think of which would be suitable?

I have merged this to master. It will be included in the next release v0.36.0. Yay. Thanks for input and cooperation.
I decided not to include Makefile extraction as it's really difficult to only get "relevant" targets. There are a lot of targets generated by Make per default and knowing which ones are real and which ones the user would rather not see is a pickle.

Great! I have one question though, in regards to Grunt: why is it choosing the first target? Shouldn't it choose the default target initially?

Yes it should. There is also a test for this. Are you saying it doesn't?

It seems so, it runs a copy target when I first open the project, which goes first in the buld targets list. If I switch the target to default it works okay.

There seems to be a bug in the task sorting function in Grunt.js, I managed to fix that by replacing
return ('default' === t1) ? -1 : t1.localeCompare(t2);

with:
return [0, -1, 1][[t1, t2].indexOf('default') + 1] || t1.localeCompare(t2);

at line 43.

Hi guys, what is the latest template for multiple targets? I can't find an example and just trying to make list from each cmd target.

If you specify a custom build command then you can have a targets property which should be an array.
Example in yml
targets:
  someTarget:
    cmd: "echo"
    args:
      - stuff
  someOtherTarget:
    cmd: make blabla

Hooray! Thanks, it's just as yml I understand.
Will add working example for anybody like me:


Add transition before updating main view

Assume some data are filtered out. Do not update the main view directly. There should be some animation or transitional phase to update the main view.

Grey out filtered elements during filter drag operation. Filtered elements should be removed after user drops the filter.

I suggest to use a similar approach as we used for encoding rank changes in Lineup. If a group switches from aggregated to non aggregated mode (or vice versa) we can change the background color and slowly fade it back to white.
Transition steps:

Remove current multiform vis
Change background color
Animated transition of group cell
Add new multiform vis
Fade out background highlight color (back to white)


AYON: 3rd party addon usage

Changelog Description
Prepare OpenPype code to be able use ayon-third-party addon which supply ffmpeg and OpenImageIO executables. Because they both can support to define custom arguments (more than one) a new functions were needed to supply.
New functions are get_ffmpeg_tool_args and get_oiio_tool_args. They work similar to previous but instead of string are returning list of strings. All places using previous functions get_ffmpeg_tool_path and get_oiio_tool_path are now using new ones. They should be backwards compatible and even with addon if returns single argument.
Testing notes:
This is tricky one. Since dependency packages are not yet available there are 2 ways how to be able start executable that would be able to use ayon-third-party addon:

Install/Copy needed dependencies to ayon-launcher so it is possible to launch it with openpype addon.
Copy common folder from ayon-launcher to OpenPype repository, so ayon-third-party addon has needed requirements.

Prerequirements:

Working executable
openpype addon on AYON server
ayon-third-party addon on AYON server

Testing:

Start tray
3rd part addon should download ffmpeg and oiio to your machine
Launch any host of your preference that is working with ffmpeg or oiio
Run publishing which will use them (e.g. review)
Validate in output that ffmpeg/oiio from 3rd party addon was used (...\addons\ayon_third_party_0.0.1\ayon_third_party\downloads\ffmpeg\bin\ffmpeg.exe)

! OpenPype mode should work as before.

I find changing to *_tools_args and still getting a path to an executable

You mean the the variable where is stored is path?

plus arguments a bit confusing.

Not sure I understand this one?

ayon-thirt-party addon is missing json manifest, imho

ayon-thirt-party addon is missing json manifest, imho

Urelated to this PR.

Works as expected with AYON-launcher.

So clarifying my previous comment:
if I have a variable named foo_tools_args I expect i to have a string or a list of arguments, not path_to_executable + list_of_arguments, at some point I would see foo_executable and foo_tools_args passed to the sub process or similar.

if I have a variable named foo_tools_args I expect i to have a string or a list of arguments, not path_to_executable + list_of_arguments, at some point I would see foo_executable and foo_tools_args passed to the sub process or similar.

But you can define custom launch arguments in settings of ayon third party addon, where, for REZ, it could be rez env ffmpeg -- ffmpeg -> ["rez", "env", "ffmpeg", "--", "ffmpeg"] thus it may not be just a path...

Yeah no, it was more naming thing than anything, for example at some point we have:
ffmpeg_args = get_ffmpeg_tool_args("ffmpeg")
And then somewhere else we have:
ffmpeg_executable_args = get_ffmpeg_tool_args("ffmpeg")
I get what you mean and you are correct; the thing is that regardless of rez or /opt/rez/rez the first argument will be a an executable, and that's where the "confusing" part is; but there's no point in getting bogged down on this, it's looks good and does the job :D


ADD: Swap view only displays tokens with balance

At the moment the swap view is generic to all chains, leading to that only enabled tokens can be sent.
With the auto discovery feauture this can be improved that only tokens with balance are displayed and able to be sent. This can be done after #750  is implemented.

This is not correct , for example , I don't have any USDT , but I would like to swap some RUNE to USDT, if we only display tokens with balance , then USDT won't show up on the list , I won't be able to swap it.
I still rather user add the token first , and then swap from/to it

Yo are right, also with #604 it will be improved.


⚠ Processors has degraded performance

In 13d9636, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 110 ms

Resolved: Processors performance has improved in bacb4fc.


nix build is unusable

Issue description
I want to replace uses of nix-build with new nix build, however there are two issues with it:

nix build --no-link should print output path, otherwise there is no much purpose in this flag.
I see no equivalent to nix-build '<nixpkgs>'. I.e. to use default channel without need to explicitly specify channel version. It's nix build nixpkgs.<package>. Would be better to add this to examples, like it done for nix run.

Steps to reproduce
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

https://github.com/NixOS/nix/issues/1930
The new syntax is actually pretty neat and consistent, you can use nix build -f '<nixpkgs>' package1 package2. I agree that documentation is somewhat lacking at the moment.

@jtojnar Thanks! I will stick to https://github.com/NixOS/nix/issues/1930 then.

@jtojnar BTW what is alternative to nix-build -E 'expression'?

nix build '(expression)'

@edolstra Thanks!

Will nix run get shebang support to be used in scripts instead of nix-shell?

@gnidorah nix build --no-link is usable again if you apply this patch from this pull request from last year; otherwise it's probably best to just stick to nix-build for now.


Thank yo

Thank you

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5a2b7453-076c-a18e-f999-cbd57ab13e60
Version Independent ID: b687ed5b-5013-cceb-01e5-77f9cc7bb534
Content: Working with LINQ
Content Source: docs/csharp/tutorials/working-with-linq.md
Product: dotnet-csharp
Technology: csharp-linq
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thank you for commenting @andreibessel
I'll close this as kudos.


Documentation of OEO-develeoper meeting 8

This issue documents the discussion of the developer meeting by simply adding the protocol as a file.

The protocol was originally created as a yopad. The condition of the protocol at the end of the discussion is provided here as a pdf.

@stap-m could you please upload your slides from today as a pdf here? Thank you. You may then close the issue.

Thanks for the issue @christian-rli .
Here are the slides:
20200813_recent work.pdf
20200813_oeo_object_attribute.pdf
I'd like to propose to make this a general issue for all oeo-dev-meeting docs.

The export of the etherpad doesn't work. I get a time-out error. @christian-rli can you try?
The wiki page is there.

The collection of documentation of this and upcoming developer meetings is now in the WIKI.

The Minutes from today:
2020-09-16_OEO-DEV_08_3.pdf
I will add a list of all meetings and documents in the Wiki:
https://github.com/OpenEnergyPlatform/ontology/wiki/OEO-developer-meetings
FYI: You cannot upload files to the wiki, only to an issue. So we need an issue.
I will think about an issue template that contains all needed info and the workflow until archiving.

@Ludee we decided to use the wiki instead of issues and pdfs can be included there, too. Please don't change it again.


Paas migration

Codecov Report
Attention: Patch coverage is 92.23301% with 8 lines in your changes missing coverage. Please review.

Project coverage is 44.15%. Comparing base (40fbab6) to head (3f1872e).
Report is 1 commits behind head on master.

Files with missing lines
Patch %
Lines

trade_remedies_public/config/env.py
63.63%
8 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #427      +/-   ##
==========================================
+ Coverage   43.49%   44.15%   +0.66%
==========================================
  Files          98      100       +2
  Lines        4964     5037      +73
  Branches      651      583      -68
==========================================
+ Hits         2159     2224      +65
- Misses       2805     2813       +8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Settings search input should restore value on reload

I would say "the search should be persisted when reloading with the settings editor open".


Invalid transition used by Teleport

Version
3.2.31
Reproduction link
sfc.vuejs.org/
Steps to reproduce
Click the button to trigger the animation.
What is expected?
Teleport target location triggers animation.
What is actually happening?
Transition has no animation around the teleport source or teleport target.

Yeah that's quite logical as you 1.) Move the content out of the source context so it's not part of the source's transition anymore, and 2) the teleported content is mounted into an existing element which won't trigger the transition wrapping that element.

From the DOM element analysis of the first animation, the sub elements or sub components are removed from the DOM only when the animation of the source context is completed.
From the DOM element analysis of the third animation,'teleport' is deleted directly, while other elements are not affected.
The 'teleport'is also a sub component and should follow the above logic.

From the DOM element analysis of the first animation, the sub elements or sub components are removed from the DOM only when the animation of the source context is completed.
From the DOM element analysis of the third animation,'teleport' is deleted directly, while other elements are not affected.
The 'teleport'is also a sub component and should follow the above logic.

From the DOM element analysis of the third animation,'teleport' is deleted directly, while other elements are not affected.

The teleport can't be aware that you mounted its content into a transition context.

Thank you for your answer. Do you have any good suggestions for the following scenarios?
Actual scenario: sfc.vuejs.org/
When the 'son' component disappears, the 'target-container' is hidden synchronously, but its internal 'teleport' disappears directly, which feels very abrupt.


Search is extremely slow close to unusable

What feature or improvement do you think would benefit Files?
Search should be improved. Far or Explorer finds the same file way more faster, than Files. Search is completely not usable in Files.
Requirements
Search should be at least as fast as it is in Explorer
Files Version
<IP_ADDRESS>
Windows Version
10.0.26020.1000
Comments
No response

Thanks for the feedback, We're tracking this in #5845. You can check there or click subscribe in the right sidebar for updates.
Files uses the same system as Windows File Explorer. You can try set search to index everything in Windows settings > Privacy and security > Searching Windows > Enhanced

@iiwaasnet thank you for the feedback, we have some improvements to search in the preview version of Files, can you give it a try and see if it helps? https://files.community/download


thunderbird-unwrapped: 115.3.2 -> 115.3.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for thunderbird-unwrapped is: A full-featured e-mail client
meta.homepage for thunderbird-unwrapped is: https://thunderbird.net/
meta.changelog for thunderbird-unwrapped is: https://www.thunderbird.net/en-US/thunderbird/115.3.3/releasenotes/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 115.3.3 with grep in /nix/store/p9sfvq4vyahlq4il2dlavys99sg1wj0d-thunderbird-unwrapped-115.3.3
found 115.3.3 in filename of file in /nix/store/p9sfvq4vyahlq4il2dlavys99sg1wj0d-thunderbird-unwrapped-115.3.3

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
thunderbird-unwrapped
thunderbirdPackages.thunderbird
thunderbirdPackages.thunderbird-115

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/p9sfvq4vyahlq4il2dlavys99sg1wj0d-thunderbird-unwrapped-115.3.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A thunderbird-unwrapped https://github.com/r-ryantm/nixpkgs/archive/f6d068241039e1a8586627ddc3d260b1b2c33860.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/f6d068241039e1a8586627ddc3d260b1b2c33860#thunderbird-unwrapped

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/p9sfvq4vyahlq4il2dlavys99sg1wj0d-thunderbird-unwrapped-115.3.3
ls -la /nix/store/p9sfvq4vyahlq4il2dlavys99sg1wj0d-thunderbird-unwrapped-115.3.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

thunderbird
thunderbird-unwrapped

Maintainer pings
cc @edolstra @lovesegfault @nbp @vcunat for testing.

Works OK for me.


Add datasets / benchmarks module

The library focuses on creating embeddings for downstream tasks, but we have a hard time benchmarking different embedders and models.
We would like to have example datasets that could be used for benchmarking the models.
This module could be connected to HuggingFace API and download datasets from Kraina directory.
Example datasets to be included:

AirBnB renting costs (with property features and prices) - point dataset that could be aggregated to spatial index
Bike sharing stations (predict whether hex contains the station or not) - heavily unbalanced dataset, could be represented as binary or distance to nearest stations hex.
Find some Iris dataset equivalent for people who are new to the geospatial domain - easy to grasp and very easy to predict. with simple CountEmbedder.
Maybe some population dataset in the form of Eurostat squares that can be interpolated into H3 hexes with some clever mapping over buildings?
Some intricate metric/index, for example calculate urban complexity index from https://github.com/winstonyym/urbanity (already calculated dataset: https://www.nature.com/articles/s41597-023-02578-1) and we could see if simple model with less data can somehow reproduce those values. Other repositories: https://github.com/PengyuanLiu1993/XAI-Urban-Analytics,

X -> region id (h3?)
Y -> target (e.g. airbnb mean rent cost)


Allow to define SpreadTopologyContraints in values for server and worker

Hi,
This PR allows user to define the SpreadTopologyConstraints for the charts of server and worker.
This feature was requested in https://github.com/PrefectHQ/prefect-helm/issues/360

Current error:
==> Linting charts/prefect-worker
[INFO] Chart.yaml: icon is recommended
Error:  values.yaml: Expected: valid schema, given: Invalid JSON
Error:  templates/: values don't meet the specifications of the schema(s) in the following chart(s):
prefect-worker:
Expected: valid schema, given: Invalid JSON

Hi @mitchnielsen  sorry for the delay, fixed, thank you very much for the comment before!

Closing this MR due to conflicts with email used. Gonna reopen


Setting a timeout to read a request's data

Hi!
Right now, a client can lock a server thread indefinitely by simply sending Content-Length header larger than the data it is actually going to stop.
Being able to set a timeout on reading a RequestBody may mitigate this. Unfortunately, this structure only implements the Read trait due to tiny-http also just returning a Read + Send value. There is no RawFd we could use for polling.
So how can such a timeout be implemented in Rouille?
Thanks in advance.

This (timeouts on read/writes + timeouts/deadlines on whole request handling) and dynamically allocated thread-pool size is pretty much everything required to bring a gap between async and threaded http servers for most practical applications.

To what extent should the above (timeouts + deadlines) be the responsibility of the underlying HTTP server tiny-http and what parts should be handled by the web framework itself? tiny-http runs an 'acceptor' thread that just dispatches onto whatever it is provided, it would probably need to at least pass something up to handle timeouts / cancellations if it doesn't do it itself.


Hotfix install & uninstall erlang 23.3

While locally testing the package I found that erlang installer have changed the folder name under program files, and that the uninstall was not working, so I fixed both

https://community.chocolatey.org/packages/erlang/23.3


Latest tag is not used for versioning when multiple tags exist

The problem

Tag release candidate e.g. v0.3.1rc2 and push this tag.
Candidate is satisfactory, tag same commit for release v0.3.1 and push.
During workflow, version is incorrectly deemed to be 0.3.1rc2.

Example: https://github.com/rpanderson/workflow-sandbox/runs/682565320 (on: create tag v0.3.1).
What's happening here?

actions/checkout@v2 does a shallow fetch (at the time of writing).
So that (untagged) development versions can be labelled, we do an unshallow operation immediately after.
On a tag creation event, actions/checkout@v2 targets a specific tag, for example:

git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +59651b5cf3dcdef9095398c93dfe0be8343d06b5:refs/tags/v0.3.1
git checkout --progress --force refs/tags/v0.3.1

If setuptools_scm ran on this shallow checkout, everything would be fine of course (there's only one tag).
But the unshallow step does this:

git fetch --prune --unshallow
From https://github.com/rpanderson/workflow-sandbox
 * [new branch]      requirements_files -> origin/requirements_files
 * [new tag]         v0.1.4             -> v0.1.4
 * [new tag]         v0.2.0             -> v0.2.0
 * [new tag]         v0.3.1rc2          -> v0.3.1rc2
 * [new tag]         v0.1.0             -> v0.1.0
 * [new tag]         v0.1.0rc1          -> v0.1.0rc1
 * [new tag]         v0.1.0rc2          -> v0.1.0rc2
 * [new tag]         v0.1.0rc3          -> v0.1.0rc3
 * [new tag]         v0.1.0rc4          -> v0.1.0rc4
 * [new tag]         v0.1.0rc5          -> v0.1.0rc5
 * [new tag]         v0.1.0rc6          -> v0.1.0rc6
 * [new tag]         v0.1.0rc7          -> v0.1.0rc7
 * [new tag]         v0.1.0rc8          -> v0.1.0rc8
 * [new tag]         v0.1.0rc9          -> v0.1.0rc9
 * [new tag]         v0.1.2             -> v0.1.2
 * [new tag]         v0.1.3             -> v0.1.3
 * [new tag]         v0.2.0rc1          -> v0.2.0rc1
 * [new tag]         v0.3.0             -> v0.3.0
 * [new tag]         v0.3.0rc1          -> v0.3.0rc1
 * [new tag]         v0.3.1rc1          -> v0.3.1rc1
v0.3.1rc2
commit 59651b5cf3dcdef9095398c93dfe0be8343d06b5

Same commit, different tag. Reproducing this locally, one can inspect two types of tag ordering native to git, creatordate and committerdate.
git tag --sort=-creatordate
v0.3.1rc2
v0.3.1
v0.3.1rc1
v0.3.0
v0.3.0rc1
v0.2.0
v0.2.0rc1
...

The earlier tag (v0.3.1rc2) takes precedence. Presumably because it got 'created' in the local checkout more recently, i.e. (simple) tag creation is a local concept. But from some cursory testing, it's how setuptools_scm appears to be getting the most recent tag.
If, however, you look at committerdate ordering:
git tag --sort=-committerdate
v0.3.1
v0.3.1rc2
v0.3.1rc1
v0.3.0rc1
v0.3.0
...

Q: Is this the same for annotated tags?

@SvenRtbg commented on Mar 27, 2017
Tagging with annotated tags not only adds the timestamp and committer account to this tag (and a message that probably nobody cares about), but also allows Git to pick the more recent tag, i.e. the one added later in time, when running git describe.

Solutions

Use a dummy commit to avoid multiple tags.
Don't unshallow for tag creation events.
(?) Use annotated tags.

Option 2 seems the best here, as the unshallow is unnecessary.
The state of actions/checkout
Tagging seems to be a hot topic there, right now!

actions/checkout#249
actions/checkout#240
actions/checkout#217
actions/checkout#206

How does versioneer deal with this scenario?
Since 2011, warner/python-versioneer has dealt with multiple tags. See, e.g. "prefer e.g. "2.0" over "2.0rc1" in expanded variables" ([0a78af3])(https://github.com/warner/python-versioneer/commit/0a78af3e7f0810fabc260e1d6dcdcffb0908eb94). This apparently just uses sorted() on the refs which seems to suffice.
This doesn't work however for the example atop warner/python-versioneer#79, i.e. 1.0.0 is chosen over 1.0.1 (although surely this would be a case of erroneous tagging and one of these could/should be deleted).
Oddly enough, @warner points out in a reply to this PR:

Hm, one other (perhaps more common) way this might happen is if a release candidate gets promoted to the final release without additional changes, so you'd have "v1.0rc1" and "v1.0" tags on the same commit. (This is probably the ideal outcome in any process that involves "release candidates": making no changes between your last candidate and the final release).

Yet in this example, v1.0 would be used, by the very code they committed 4 years prior (above). Maybe I'm missing something. This is the same code kicking around a lot of versioneer users, including those who've vendored it. And it seems to work for the case of release candidate not being promoted over release.

Resolved by 9f6bbd609cdc8491eaa45c6864f6f1c4d0ad7037.

See actions/checkout#258.

I guess that will let us change to something like:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 2

      - name: Ignore HEAD tags
        if: github.event.ref_type != 'tag'
        run: git tag -d $(git tag --points-at HEAD)


Suggestion: code changes to improve Linux compatibility

As of 0.0.9, the code is fairly Windows-oriented, which unfortunately makes the tool only semi-functional on Linux and other *nix OSs. These OSs could theoretically use it through Wine compatibility layer, so some changes (mainly in various helpers) could improve the user experience:
FindSteam() in InstallationLocator.cs
This helper can check for common Steam locatiThis helper can check for common Steam locations on Linux. When ran through Wine, P2ML will, in almost all cases (except for unusual user setups), be able to access the native Linux filesystem through virtual Z:/ drive, and is guaranteed to have sufficient permissions for any file writing/modifying/etc. in /home/$user directory (aka Z:/home/$user to Wine). ons on Linux. When ran through Wine, P2ML will, in almost all cases (except for unusual user setups), be able to access the native Linux filesystem through virtual Z:/ drive, and is guaranteed to have sufficient permissions for any file writing/modifying/etc. in /home/$user directory (aka Z:/home/$user to Wine).
I've already implemented this over in my detectlinux branch, and my personal build of P2ML picks up Steam installation of Patho2 by just a click on "Locate".
LaunchSteam() in GameLauncher()
This helper could also use the Linux Steam dir + the guaranteed to be present steam.sh launch script instead of steam.exe, which is what I'll probably look into next. As for now, "Launch Steam" crashes the launcher.
"Launch exe" does work fine, but loses any possible launch options that the user might've set up through Steam (in the properties of the game). Since devices like Steam Deck and laptops could especially use the graphical tweaks* from launch options, it would still be nice to have "Launch Steam" button working as well.
(To give context, we have an example of launch options on pathomodding wiki: using gamemode utility to make the game run on lower resolution, then upscale using FSR. This setting makes Patho2 run on 20-30fps without other optimisations on my laptop with an iGPU, as opposed to powerpoint fps without it...)
Automatic testing?
To save up a bit of time and trouble for maintainers who only use Windows, a Github Action could be set up to do basic testing of the app against Wine. I'm not sure how to properly test real use cases here, since we can't install Patho2 on a github action worker, but we could at least verify that the latest builds still launch on Wine.

As for now all of my work on this issue remains in the detectlinux branch of my fork. Unless this seems like too much trouble to maintain for SurDno, I'd like to continue working on the suggested changes, and will be opening relevant PRs in the future.

Thanks for the input. As this is a Windows Forms application I did not expect to care about supporting other OS, but if it can be launched through Wine, I suppose it wouldn’t hurt to apply the fixes you provided. I do not have a Linux machine so the only way for me to know the app is working would be automated testing, yes.
As I mentioned in your other pull request, please ensure your commits do not alter the existing code style before submitting a pull request.

Implemented as a part of #6.

Included in 0.0.12.


Add CUDA/HIP MultiGPU Event Polling

While the [cuda,hip]_executors within HPX support MultiGPU scenarios themselves (by using a device index and cudaSetDevice), the event polling actually does not, forcing users to use the less performant callback version instead! To fix this, we need to make the CUDA/HIP event pool aware on which device the events it reuses are created, and add an index to always push/pop events on the correct device.
This PR implements this, by adding multiple event stacks (one per device) to the event pool singleton. Furthermore, the PR adds an additional device_id parameter to the appropriate get_future calls that use events. To keep things compatible with code that used previous HPX versions, 0 is used as a default where this parameter was added. For each device, there's always 128 events added in the beginning by default - in case one wants to avoid this overhead when only a single GPU is used, simply set the environment variable CUDA_VISIBLE_DEVICES=0.

@G-071 should we add a test that actually excersises this functionality, perhaps run it on the DGX partition only (e.g. enable it with a special CMake variable)?

I have added a few changes/additions/fixes:

The definition of  the method get_event_pool is now in cuda_event.cpp. @hkaiser : Is this what you had in mind?
I have added a test (cuda_multi_device_polling.cpp) which tests executors on different devices. This tests queries the number of devices, creates an executor per device and runs a dummy kernel on each executor. If the multi device polling does not work, the futures for those dummy kernel calls will never become ready and the test will time out. As it adapts to the number of devices present, it will test with all 8 GPUs on the DGX node. The test also verifies that detail::get_future_with_event uses the currently active device (previousely set in the user code via cudaSetDevice) by default if no other device is given.
The thread that initializes the event pool now restores its original device ID afterwards. Without that, the thread used a different device ID that the other ones afterward (if multiple devices are present), causing problems in user code that only used 1 GPU. This is only done for the original initialization of the event pools for all devices. Subsequent events that are added on-demand for a device pool use the device ID that is passed by the user (either via detail::get_future_with_event directly or via the cuda executor). Meaning, if we get a non-zero device ID, the user code handles the setting of the devices already and we will simply use the passed device ID accordingly (saving us a bit of overhead by avoiding to call cudaGetDevice and cudaSetDevice).
Format fixes.

Overall, this seems to work fine on the NVIDIA nodes I have tested in on so far (using Octo-Tiger).

@G-071 could you please fix the inspect errors reported? After that I would be able to go ahead and merge the PR.

@hkaiser Done! I just forgot about the noascii check (which does not like my name due to the ß and thus complains about me being in the author list of a file) and was missing a few headers.

bors merge


httpx.ReadTimeout: The read operation timed out

I'm constantly facing the same error after few request and the agency script stops working and the interface stops responding.
I should always restart the agency and start over again.
Could you please help fixing this issue
Exception in thread Thread-9 (get_completion_stream):
Traceback (most recent call last):
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_transports/default.py", line 66, in map_httpcore_exceptions
    yield
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_transports/default.py", line 110, in __iter__
    for part in self._httpcore_stream:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py", line 367, in __iter__
    raise exc from None
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py", line 363, in __iter__
    for part in self._stream:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_sync/http11.py", line 349, in __iter__
    raise exc
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_sync/http11.py", line 341, in __iter__
    for chunk in self._connection._receive_response_body(**kwargs):
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_sync/http11.py", line 210, in _receive_response_body
    event = self._receive_event(timeout=timeout)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_sync/http11.py", line 224, in _receive_event
    data = self._network_stream.read(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_backends/sync.py", line 124, in read
    with map_exceptions(exc_map):
  File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ReadTimeout: The read operation timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/agency_swarm/agency/agency.py", line 143, in get_completion_stream
    next(gen)
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/agency_swarm/threads/thread.py", line 84, in get_completion
    item = next(output)
           ^^^^^^^^^^^^
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/agency_swarm/agency/agency.py", line 733, in run
    yield next(gen)
          ^^^^^^^^^
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/agency_swarm/threads/thread.py", line 65, in get_completion
    self._create_run(recipient_agent, event_handler)
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/agency_swarm/threads/thread.py", line 152, in _create_run
    stream.until_done()
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/lib/streaming/_assistants.py", line 102, in until_done
    consume_sync_iterator(self)
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/_utils/_streams.py", line 6, in consume_sync_iterator
    for _ in iterator:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/lib/streaming/_assistants.py", line 69, in __iter__
    for item in self._iterator:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/lib/streaming/_assistants.py", line 404, in __stream__
    for event in stream:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/_streaming.py", line 46, in __iter__
    for item in self._iterator:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/_streaming.py", line 61, in __stream__
    for sse in iterator:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/_streaming.py", line 53, in _iter_events
    yield from self._decoder.iter(self.response.iter_lines())
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/openai/_streaming.py", line 287, in iter
    for line in iterator:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_models.py", line 862, in iter_lines
    for text in self.iter_text():
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_models.py", line 849, in iter_text
    for byte_content in self.iter_bytes():
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_models.py", line 828, in iter_bytes
    for raw_bytes in self.iter_raw():
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_models.py", line 886, in iter_raw
    for raw_stream_bytes in self.stream:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_client.py", line 123, in __iter__
    for chunk in self._stream:
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_transports/default.py", line 109, in __iter__
    with map_httpcore_exceptions():
  File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/user/AI/agency-swarm/.agency/lib/python3.11/site-packages/httpx/_transports/default.py", line 83, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ReadTimeout: The read operation timed out

Hey, I have also been having this issue lately. This can happen for 2 reasons:

OpenAI API is having delays.
Your agent calls 2 send message tools at once.

I fixed the second reason and will push the fix in the next release.
In the meantime, try increasing the timeout with:
import openai
from agency_swarm.util.oai import set_openai_client

client = openai.OpenAI(api_key=<YOUR_OPENAI_KEY>,
                timeout=httpx.Timeout(60.0, read=10.0, write=15.0, connect=5.0),
                max_retries=5)

set_openai_client(client)

To fix the second, you can also add in shared instructions "Only send messages to 1 agent at a time."

Please upgrade to the latest release. I played with these timeouts and set default values that completely eliminate these issues.

Please upgrade to the latest release. I played with these timeouts and set default values that completely eliminate these issues.

Running the latest build and just had the same issue:
I will now proceed to create these tools within the system.
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\httpcore_exceptions.py", line 10, in map_exceptions
yield
File "C:\Python312\Lib\site-packages\httpcore_backends\sync.py", line 126, in read
return self._sock.recv(max_bytes)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\ssl.py", line 1233, in recv
return self.read(buflen)
^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\ssl.py", line 1106, in read
return self._sslobj.read(len)
^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 66, in map_httpcore_exceptions
yield
File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 110, in iter
for part in self._httpcore_stream:
File "C:\Python312\Lib\site-packages\httpcore_sync\connection_pool.py", line 361, in iter
for part in self._stream:
File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 337, in iter
raise exc
File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 329, in iter
for chunk in self._connection._receive_response_body(**kwargs):
File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 198, in _receive_response_body
event = self._receive_event(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 212, in _receive_event
data = self._network_stream.read(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\httpcore_backends\sync.py", line 124, in read
with map_exceptions(exc_map):
File "C:\Python312\Lib\contextlib.py", line 158, in exit
self.gen.throw(value)
File "C:\Python312\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ReadTimeout: The read operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in run_code
File "C:\Python312\Scripts\agency-swarm.exe_main.py", line 7, in
File "C:\Python312\Lib\site-packages\agency_swarm\cli.py", line 51, in main
agency.run_demo()
File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 515, in run_demo
self.get_completion_stream(message=text, event_handler=TermEventHandler, recipient_agent=recipient_agent)
File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 147, in get_completion_stream
next(gen)
File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 91, in get_completion
item = next(output)
^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 801, in run
yield next(gen)
^^^^^^^^^
File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 91, in get_completion
item = next(output)
^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 801, in run
yield next(gen)
^^^^^^^^^
File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 69, in get_completion
self._create_run(recipient_agent, additional_instructions, event_handler)
File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 196, in _create_run
stream.until_done()
File "C:\Python312\Lib\site-packages\openai\lib\streaming_assistants.py", line 102, in until_done
consume_sync_iterator(self)
File "C:\Python312\Lib\site-packages\openai_utils_streams.py", line 6, in consume_sync_iterator
for _ in iterator:
File "C:\Python312\Lib\site-packages\openai\lib\streaming_assistants.py", line 69, in iter
for item in self._iterator:
File "C:\Python312\Lib\site-packages\openai\lib\streaming_assistants.py", line 404, in stream
for event in stream:
File "C:\Python312\Lib\site-packages\openai_streaming.py", line 46, in iter
for item in self._iterator:
File "C:\Python312\Lib\site-packages\openai_streaming.py", line 61, in stream
for sse in iterator:
File "C:\Python312\Lib\site-packages\openai_streaming.py", line 53, in _iter_events
yield from self._decoder.iter(self.response.iter_lines())
File "C:\Python312\Lib\site-packages\openai_streaming.py", line 287, in iter
for line in iterator:
File "C:\Python312\Lib\site-packages\httpx_models.py", line 862, in iter_lines
for text in self.iter_text():
File "C:\Python312\Lib\site-packages\httpx_models.py", line 849, in iter_text
for byte_content in self.iter_bytes():
File "C:\Python312\Lib\site-packages\httpx_models.py", line 828, in iter_bytes
for raw_bytes in self.iter_raw():
File "C:\Python312\Lib\site-packages\httpx_models.py", line 886, in iter_raw
for raw_stream_bytes in self.stream:
File "C:\Python312\Lib\site-packages\httpx_client.py", line 123, in iter
for chunk in self._stream:
File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 109, in iter
with map_httpcore_exceptions():
File "C:\Python312\Lib\contextlib.py", line 158, in exit
self.gen.throw(value)
File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 83, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ReadTimeout: The read operation timed out

Please upgrade to the latest release. I played with these timeouts and set default values that completely eliminate these issues.

Running the latest build and just had the same issue:
I will now proceed to create these tools within the system. Traceback (most recent call last): File "C:\Python312\Lib\site-packages\httpcore_exceptions.py", line 10, in map_exceptions yield File "C:\Python312\Lib\site-packages\httpcore_backends\sync.py", line 126, in read return self._sock.recv(max_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\ssl.py", line 1233, in recv return self.read(buflen) ^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\ssl.py", line 1106, in read return self._sslobj.read(len) ^^^^^^^^^^^^^^^^^^^^^^ TimeoutError: The read operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 66, in map_httpcore_exceptions yield File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 110, in iter for part in self._httpcore_stream: File "C:\Python312\Lib\site-packages\httpcore_sync\connection_pool.py", line 361, in iter for part in self._stream: File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 337, in iter raise exc File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 329, in iter for chunk in self._connection._receive_response_body(**kwargs): File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 198, in _receive_response_body event = self._receive_event(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\httpcore_sync\http11.py", line 212, in _receive_event data = self._network_stream.read( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\httpcore_backends\sync.py", line 124, in read with map_exceptions(exc_map): File "C:\Python312\Lib\contextlib.py", line 158, in exit self.gen.throw(value) File "C:\Python312\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ReadTimeout: The read operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "", line 198, in run_module_as_main File "", line 88, in run_code File "C:\Python312\Scripts\agency-swarm.exe__main.py", line 7, in File "C:\Python312\Lib\site-packages\agency_swarm\cli.py", line 51, in main agency.run_demo() File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 515, in run_demo self.get_completion_stream(message=text, event_handler=TermEventHandler, recipient_agent=recipient_agent) File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 147, in get_completion_stream next(gen) File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 91, in get_completion item = next(output) ^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 801, in run yield next(gen) ^^^^^^^^^ File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 91, in get_completion item = next(output) ^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\agency_swarm\agency\agency.py", line 801, in run yield next(gen) ^^^^^^^^^ File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 69, in get_completion self._create_run(recipient_agent, additional_instructions, event_handler) File "C:\Python312\Lib\site-packages\agency_swarm\threads\thread.py", line 196, in _create_run stream.until_done() File "C:\Python312\Lib\site-packages\openai\lib\streaming_assistants.py", line 102, in until_done consume_sync_iterator(self) File "C:\Python312\Lib\site-packages\openai_utils_streams.py", line 6, in consume_sync_iterator for _ in iterator: File "C:\Python312\Lib\site-packages\openai\lib\streaming_assistants.py", line 69, in iter for item in self._iterator: File "C:\Python312\Lib\site-packages\openai\lib\streaming_assistants.py", line 404, in stream for event in stream: File "C:\Python312\Lib\site-packages\openai_streaming.py", line 46, in iter for item in self._iterator: File "C:\Python312\Lib\site-packages\openai_streaming.py", line 61, in stream for sse in iterator: File "C:\Python312\Lib\site-packages\openai_streaming.py", line 53, in _iter_events yield from self._decoder.iter(self.response.iter_lines()) File "C:\Python312\Lib\site-packages\openai_streaming.py", line 287, in iter for line in iterator: File "C:\Python312\Lib\site-packages\httpx_models.py", line 862, in iter_lines for text in self.iter_text(): File "C:\Python312\Lib\site-packages\httpx_models.py", line 849, in iter_text for byte_content in self.iter_bytes(): File "C:\Python312\Lib\site-packages\httpx_models.py", line 828, in iter_bytes for raw_bytes in self.iter_raw(): File "C:\Python312\Lib\site-packages\httpx_models.py", line 886, in iter_raw for raw_stream_bytes in self.stream: File "C:\Python312\Lib\site-packages\httpx_client.py", line 123, in iter for chunk in self._stream: File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 109, in iter with map_httpcore_exceptions(): File "C:\Python312\Lib\contextlib.py", line 158, in exit self.gen.throw(value) File "C:\Python312\Lib\site-packages\httpx_transports\default.py", line 83, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ReadTimeout: The read operation timed out

I face the same issue occasionally. I have increased the read timeout for now to 60s instead of the default 5


Clarify reasons to use a code instead of a link for email verification

I was confused by this explanation for preferring codes to links for email verification:

This approach should be preferred over using links. People are increasingly less likely to click on links, and some filters may block emails with them. Using links also limits what device the user can use to create an account (eg. the user doesn't have access to their mailbox on their phone).

Avoiding links in emails to avoid filters and similarity with phishing emails makes sense, but I didn't understand the scenario where a user's phone might have access to their verifying application, but not their email. The source material for this section gets a little more specific, so I incorporated some of that explanation.
I also re-worded the should be preferred statement, because it's not always the case (e.g. a longer token embedded in a link is a more secure, less error-prone verification option for changing account contact information, initial account signup, etc.).

Thanks!


valid sudoku checker

Pull Request Template
What have you Changed(must)
Write here what you have changed in the codebase
Issue no.(must) -
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me if not it will be marked as spam.
[ ] My file is in the proper folder
[ ] I am following clean code and Documentation.
[ ] I have added the title and what program will do first in the file
[ ] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

@bhattshubham15 you have to mention the issue number in the PR Body.


Fix highlighter freezing chrome indefinitely

Refers to #161

Had to fork prism to add JSON definition. Will try to push it to the master when I have some spare time.

LGTM

Removed controversial changes. The process of loading huge executions is still painfully slow, but at least it doesn't freeze the browser anymore.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/924 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target.git

Docs Build status updates of commit 1b7bbfa:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_master_2021-06-25-04-16-04 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


How can you convert .h5 to saved model format?

Hi,
I've trained with clipshots dataset and got the weights-30.h5 file.
How could you convert this .h5 weight file to saved model format?

Consult google.com ;)