Add keylog support on QUIC client

This is quite handy for debugging. Wireshark can decrypt captured QUIC packets with dumped key.
The format is NSS Key Log Format.
https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_keylog_callback.html
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format
But I'm not sure we should add this under iocore/net/quic/. I wanted put these code in under src/traffic_quic/, but it requires a handle to tweak SSL_CTX from there. Any ideas?

But I'm not sure we should add this under iocore/net/quic/. I wanted put these code in under src/traffic_quic/, but it requires a handle to tweak SSL_CTX from there. Any ideas?

I don't think we should have it in application code because the application would need to deal with a variety of SSL libraries directly. Current approach looks good to me.


change: split docker-compose files for production and development

Using multiple docker-compose files to make suitable environments for both development and production:
See: https://docs.docker.com/compose/extends/#multiple-compose-files

I do of course want to make sure that your intended use case is supported, so please let me know if I am missing something here that will make the complexity worth it.

My intended use case was making it easier to see what changes in the docker-compose deployment do before trying it in production (my thoughts were on switching to uswsgi). So... somewhat like staging? Not quite development though.

I’d actually recommend not making this change unless someone is going to be actively using docker for development and will be maintaining it.

I'm torn on this because I don't want to increase the maintance footprint of the project, but I also want to easily experiment with Docker locally without trying it on production 🙃
What would be a good way to do this without increasing our maintannce tasks?

Oh, ok, yup, as a staging docker-compose deployment this totally makes a lot of sense: an easier way to run the same container as in prod. Dev docker stuff is typically fairly different because it’ll include all the dev packages and such.
Note that for the port stuff, it may be easier to set CYPRESS_BASE_URL=http://localhost:8001

@andrewdotn I changed the word "development" to "staging" and made a few other changes. Let me know if it looks good! I want to experiement with, e.g., uwsgi on my machine before pushing it to production! 😬


tests: Add test coverage for GitHubPolicy

GitHubPolicy.check_permission did not yet have test coverage. Enable a few options that will at least run the code.

Pull Request Test Coverage Report for Build 2

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 99.599%

Totals

Change from base Build 1:
0.4%

Covered Lines:
497

Relevant Lines:
499

💛  - Coveralls


uv sync --python-preference=only-system fallback beyond .python-version

With uv==0.4.6, running uv sync --python-preference=only-system in GitHub Actions runner ubuntu-24.04:

Without .python-version file: works fine
With .python-version file containing 3.12.5: error: No interpreter found for Python 3.12.5 in system path

This is because ubuntu-24.04 has Python 3.12.3 (and not 3.12.5) at /usr/bin/python3.
I guess my question is (and also a possible feature request), can uv sync --python-preference=only-system have a way to fall back beyond .python-version, if the OS contains a Python version that doesn't match the version detailed by .python-version file?

It sounds like you should just have 3.12 in your .python-version file? I think this behavior is correct, in that you've asked for a specific patch version and we should fail if we cannot fulfill that request. You can use --no-config to ignore the .python-version file if necessary.

Oh wow I actually didn't know you can have just a major/minor version in .python-version. TIL!
Thanks again and sorry for a false positive request


Repository Release 8.8.7

Versioning

x = changes to fields
y = changes to values/ontology IDs
z = changes definitions/formats/examples

Incrementing up one point for any number of changes.
Repository Release

[ ] Upload updated "Excel Template".

[ ] Versioning x.y.z

[ ] Upload updated "Reference Guides" (TSV & PDF).

[ ] Update the Version Tracking tab
[ ] Make sure "text wrap" is on before export so all contents are legible in the PDF
[ ] Do not include "Editor Note" column
[ ] Clean up formatting (if applicable)
[ ] Versioning x.y.z (same as template)

[ ] Upload updated "Metadata Curation SOP" & "DataHarmonizer Curation SOP".

[ ] Versioning x.y (same as template, minus "z" changes since those don't come up in the protocol")

[ ] Upload updated "New Term Request SOP".

[ ] Versioning x.y (independent versioning since changes to the specification/template doesn't impact this protocol)

[ ] Draft a new release (Example):

[ ] Release title: GRDI-AMR specification package #.#.#
[ ] Choose a tag: v#.#.# (create a new tag)
[ ] Include "Contents:" section that lists the files and their individual version information

Data Collection Template #.#.#  Field and Term Reference Guides #.#.#  Curation Standard Operating Procedure (SOP) #.#.#  DataHarmonizer Download and Operation Instructions (SOP) #.#  New Term Request Standard Operating Procedure (SOP) #.#

[ ] Include "Updates:" section with important information like "fixes", new fields, and a table of fields and their associated changes (e.g., picklist updates, ID/label changes, etc.).
[ ] Include Release Notes - referencing applicable GitHub #issue release notes

More details can be found under release notes issue #

[ ] Set as the latest release
[ ] Publish release
[ ] Notify curation team on the CIDGOH SLACK #grdi channel

@cbarcl01 assigned

Can add "make new branch" if applicable as a to-do


wrong invalid token because of system time issues

In processIdToken() in the oauth-service.ts there is a check wether the token has been expired or is issued in the future. The implementation is based on new Date(), which depends on system time of the user. So when the user has a wrong system time, the promise is rejected and the hole login flow fails.
We use the library now for a while and every time a customer contacted our support, we told them to check the system time. Now we run into a special case with a user from the Canary Islands. It seems that on the Canary Islands the time is "official" one hour behind and has the time from Spain. So in this case the user has to set the "wrong" time to login.
So what I like to discuss is how useful is this check or can this be removed?
When it is done in the client, with the client time, what brings it us? I think when a token is generated the expiry date is generated with the time on the server (which can be theoretically wrong, too), so the server is the only authority which really can check the expiry. So when I do a request with a invalid token the server has to check it anyway and should response with a unauthorised status code when the token has been expired. Currently in my oppinion it makes more problems than it solves.

Let's split the issue between whether there's a bug in the library or not, and whether checks "can [...] be removed", if that's ok? About the first one:

The implementation is based on new Date(), which depends on system time of the user.

Hmm, don't think it should be? I think it should be the number of milliseconds sinds the UNIX epoch. Or as this answer puts it:

if the local time is correct (for whatever time zone the computer's set to), it should be the same in any time zone.

The iat value against which it's being compared is a "NumericDate", which also works with the UNIX epoch.
So I think the library should just work, if the time of a user's computer is set correctly.
This means you could try to re-check with your users in the Canary Islands, see if their regional settings on their OS are correct (they should have (UTC +00:00) Dublin, London, ... selected I think?
In my experience, with modern software, including web applications, things can get pretty weird if clients have wrong time settings. So fixing that would probably be the best way to tackle things, if possible. However, I also know it sometimes doesn't work that way, coming to the second part.

Is the check useful, or can it be removed?

I think it's probably very useful, at least to me it is. Even if you'd remove the check, any timers listening for expiration (e.g. to do a silent refresh) would break down since they'd also rely on expires_at and iat.
So I don't think removing the check is a good thing to do.
Possibly, making the check optional, via a configuration option, could help for edge cases. But that would also bloat the library with even more options and logic (as well as having possibly weird side effects on things like the refresh timers), and I'm not sure if that's for the better.
PS. I'm not trying to invalidate your use case, and I've also been there with similar weird timezone issues, so I sympathize. Hopefully the above helps you figure out a good scenario. Good luck!

I understand your arguments, especially the point with the silent refresh, too. But I'm still not sure if it is necessary to do the validation in the frontend, when the backend has to validate it, too.
In our case we disabled the validation with the null-validation-handler.ts and removed jsrsasign (which had really a huge impact on our bundle size) stuff by mocking it out with webpack, because as I argued the backend is responsible for the validation.
So what do you think about moving the expire check into the validation layer, so every body can decide if it is needed or not?
When we open a MR request for this, how big is the chance to get this merged?

Issue is getting a bit worser and now I have some more information from a customer. In Morocco the gouvernement decided to keep the summer time (+1 Hour) the hole year. So now they have to change there system time to a wrong time zone to get access...
@manfredsteyer don't know if it would be the best solution in extending the class. Following the architecture of the null-validation-handler.ts I think this would be a better place?

Normally, the exp date should contain a timezone offset to prevent sth like this. Can you check whether your server is adding it to the date? which server do you use?

Asked the backend team. We are using https://github.com/bshaffer/oauth2-server-php. And the expire date is sent as timestamp
public $exp =>
  int(1542274087)

Related, even though there's no supporting issue logged yet, PR #596 might be interesting here?

Nice yes looks promising :)

Hello @manfredsteyer @jeroenheijmans!
I have the same issue with some of our customers when they use custom time, do we have any update on this problem? Will it be fixed in the near future? Thanks!
Regards, Oleksii

I'll stick with what I wrote before for the moment. Although I sympathize, I think specs like OIDC rely on involved servers and clients have correct clocks/times to prevent a whole class of attacks. I think (presume) you will see similar behavior with other implementations too.

We also experience this issue, and while it's technically true that the issue is the customer's to solve, if we had an opportunity to make our software more resilient it's good development practice to do so.
Any reduction in service calls is good.

Hi @jeroenheijmans , I have the same problem, and in similar packages, usually, the time is not checked, and this task is examined by the backend to prevent such problems. Please add a feature to add an offsetTime or dateTime provider.
ThankYou

@buymoney1 Noticed your at-mention but just for clarity, it would be up to the currently active maintainers; in #1280 I announced to take a step back. Hope that makes sense!


Add io.Writer interface to ResponseWriter

type ResponseWriter interface {
// io.Writer interface ,  add this line
Write(b []byte) (int, error)
}
It is useful for other libs, write data to response with io.Writer.

I think you need a type assertion:
writer := w.(http.ResponseWriter)

ok, maybe interface is better :)


(PUP-8364) apply like functionality for device

@joshcooper Can you have a look ?

@joshcooper  Puppet.settings.use :main, :agent, :ssl are executed in the apply.rb. There is no need for it in device as well

The specs fails for me when running locally as well but succeeds if I comment out https://github.com/tphoney/puppet/blob/a004c9d1daa58519f88a52ad4bf2284890893571/spec/unit/application/device_spec.rb#L351-L352
It's unclear to me why those expectations were put there in the first place.

@thallgren I think that should be it.  😕

Hi guys, this has been going back and forth for 2 weeks, can we progress and merge the current changes if the general approach is approved and the tests are all passing? Totally fine if we can move forward now and folks want to come back with suggestions to tidy up or refactor - but if we can get progress on the current approach that would be a 'win' :)

@tphoney an even easier thing is to store network device state in puppet's context system. So in the device application do:
Puppet.override(:network_device => true) do
   Puppet::Application::Apply.new(Puppet::Util::CommandLine.new('puppet', ["apply", options[:apply]])).run_command
end

Then in catalog.rb:
transaction.for_network_device = Puppet.lookup(:network_device) { nil } || options[:network_device]

That way you don't have to thread it all the way through apply and configurer.


The Grafana dashboard link is broken

Page
On this page Download the alluxio dashboard from Alluxio grafana dashboard V1 this dashboard link returns 404

Fixed by #16795


Fixes the the file_input reset and bug in file attachment.

The file_input was not getting reset after each file attach. This lead to failure in attaching
the same files consecutively. Or cases when we attach a file, delete the attachment markdown and then attach the same file again. Its used to fail because of above reason. Now its fixed.
The function clear_out_file_list used to reset the input element of type file is fixed.

Automated message from Dropbox CLA bot
@tejaskasetty, it looks like you've already signed the Dropbox CLA. Thanks!

@tejaskasetty is this for #5074?  It looks like you didn't claim the issue and so @h6pham8  ended up working on this in https://github.com/zulip/zulip/pull/5097/files as well.
Maybe the two of you can review/test each others' solutions and decide which one we should merge?

Oh! didn't realize there was an issue already.

@timabbott I checked out his solution. There seems to be a problem. In IE resetting or changing the value of the input element using jquery or JS doesn't work because they are read-only. We have to replace the input element. That fix might work on Chrome and Firefox and even in Microsoft Edge but not on IE. If we are considering Edge and anything after that, then his solution is more elegant.

Merged, thanks @tejaskasetty!


lnp-node address not have regtest prefix 'bcrt'

Classify the bug

[x] Incorrect results

Describe the problem
The 'lnp-node' return the testnet prefix ('tb') instead of regtest prefix ('bcrt').
To Reproduce
Steps to reproduce the behavior:

Initialize 'lnpd' with '--chain=regtest' argument
Set your master xpriv (Ex: tprv9s21Z....vSexk)
Running 'lnpd' with '--chain=regtest' argument
Execute 'lnp-cli funds' command

Other Links

Discuss about the prefix on Bitcoin Core (here)

Thank you! Will investigate and fix

Hi @dr-orlovsky,
This issue is not a bug but a side effect of the bip32 strict encode.
I explore this topic more here.


Fix CI breakage where unit test assertion doesn't match the updated OIDC image from #3334

Description
Fixing CI breakage described in https://github.com/civiform/civiform/issues/3326#issuecomment-1239971757.
In addition to fixing the test assertions, I also updated CI to build the test OIDC container (similar to browser-tests below) prior to running unit tests so that the version used matches the test code.
Release notes:
N/A
Checklist

[X] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)
#3326

Codecov Report

Merging #3366 (0d4c10f) into main (b0e7317) will decrease coverage by 0.00%.
The diff coverage is 94.11%.

@@             Coverage Diff              @@
##               main    #3366      +/-   ##
============================================
- Coverage     80.21%   80.20%   -0.01%
+ Complexity     2348     2347       -1
============================================
  Files           287      287
  Lines          9263     9270       +7
  Branches        618      618
============================================
+ Hits           7430     7435       +5
  Misses         1593     1593
- Partials        240      242       +2

Impacted Files
Coverage Δ

server/app/auth/oidc/applicant/IdcsProvider.java
87.50% <0.00%> (ø)

...ices/question/types/AddressQuestionDefinition.java
88.88% <ø> (ø)

...ces/question/types/CheckboxQuestionDefinition.java
100.00% <ø> (ø)

...ces/question/types/DropdownQuestionDefinition.java
100.00% <ø> (ø)

.../services/question/types/IdQuestionDefinition.java
89.47% <ø> (ø)

.../question/types/MultiOptionQuestionDefinition.java
75.80% <ø> (ø)

...ervices/question/types/NameQuestionDefinition.java
64.28% <ø> (ø)

...vices/question/types/NumberQuestionDefinition.java
89.47% <ø> (ø)

.../question/types/RadioButtonQuestionDefinition.java
100.00% <ø> (ø)

...ervices/question/types/TextQuestionDefinition.java
89.47% <ø> (ø)

... and 10 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Would this work with a RJ45 port based controller?

Hi David,
I have a standing desk with with two motors that has a controller with a RJ45 connector different from the LogicData controller, I was wondering if you have any advice on this?
Much appreciated !

Maybe it's this controller https://github.com/Stefichen5/AutonomousControl


fix(*): fix doc and memory QRM plugin

What type of PR is this?
Bug fixes

What this PR does / why we need it:

some fixes to README and proposals
fix incorrect for-range closure usage in memory QRM plugin

Which issue(s) this PR fixes:
Special notes for your reviewer:

@pendoragon Maybe we should consider implementing a separate pipeline for pull requests?

@caohe sure, guess linting, unit test and build will suffice for a pull request


No Printer Found

I have installed the package and Printnode. Set the api but when i do
print_r(Printing::printers());
Array is empty
Please Help ... thanks

I have the same problem using the printnode driver.

Duplicate of #13 and #18.


Per-Subject Retention

Hi, I have a use case where I have N subjects that I want the retention for each of those subjects to be the same, but not a global policy for all. The use case would be something like IoT where I have 30,000 different publishers, and I only want the last N messages from each publisher. Currently the stream would be the lowest granularity for retention, but that would only set a retention policy for all publishers in that stream.
I would imagine the solution being something like you could still set stream retention, but subjects (including wildcards) could also have their own retention, that if set, would override the stream one.

I agree this would be needed, I have a similar problem in my projects around node metadata, node metrics, monitoring checks etc.
Added to our project as a backlog item.

This would solve things for us also.
Maybe doesn't need to be individually set, maybe only either set a limitsPerSubjectPolicy where each limit is calculated per subject instead of the full stream. Maybe also to combine with a "total" policy just as today?


Keyboard language preferences

Hi Chris,
I have an improvement idea to make. The script could automatically configures the language preference of the keyboard. (Not so easy to type english with a French keyboard :smile:).
Keep the good work.

A quick fix is typing.
$> loadkeys fr

And then configuring the language and keybord layout on the desktop after installation.

Fixed this with the new update to support all keyboards for all languages.


Logging: N2N error logged in N2C #401

Fixed the typo in the error message logged in N2C.
Fixes https://github.com/txpipe/oura/issues/401

This should fix https://github.com/txpipe/oura/issues/401


[RFR]Added Azure Load Balancer methods for List and Does exist

This has been in my JIRA inbox for a while.  Add two methods for listing and verifying that a load balancer exists.  Unit tested local for both pass and fail and it worked correctly.

Lint report for commit ad2bcb72d2effb4a9fb8286bbab5e451c7f72bcd:
mgmtsystem/azure.py:

:red_circle: Line 227:9: N806 variable in function should be lowercase

Please, rectify these issues :smirk: .
No commit flaws detected.
CFME QE Bot

I guess I have write permissions in wrapanapi as well as integration_tests. Not sure my vote 'counts' for much here but there it is. :+1:


(mini.indentscope) Add option for a prefix symbol

This small change adds an ability to use a user-defined symbol for a prefix instead of only a hard-coded space character. The idea is to allow the usage of this plugin with a leading space 'listchar' option enabled.

[x] I have read CONTRIBUTING.md
[x] I have read CODE_OF_CONDUCT.md

Context
Hi! Thanks a lot for a very cool and minimalistic plugin to provide a nice indent visualization without introducing a performance penalty!
I've been using a listchars vim option for a while to visualize leading tabs and whitespaces, so when I've stared using mini.indentscope plugin, I've noticed that it overwrites existing NonText marks with a blank space:

I think the option to provide a user-defined prefix character instead of hard-coded ' ' could be useful to listchars users without introducing a performance penalty. With this patch it's possible to keep the visible whitespaces while getting a highlighted scope under cursor (using the following config):
vim.o.listchars = 'lead:┆'
require('mini.indentscope').setup { prefix = '┆' }

It can also provide users with ability to customize scope visualization with existing MiniIndentscopePrefix highlight.
In any case, thanks again for a great and very useful Neovim plugin!

Hi! Thanks for the PR!
This is an interesting idea. Seems like related to #125.
Would you mind sharing relevant config parts with which you achieved the second screenshot?

@echasnovski Sure, here's options I've used:
vim.o.listchars = 'lead:┆'
require('mini.indentscope').setup { prefix = '┆' }

I think I found a way to handle nicely all possible listchars combinations. The idea is to support an 'empty' value, in which case prefix won't be prepended, but rather virt_text_win_col increased to the proper amount. That way prefix will be 'transparent' and will not overwrite any listchars.
Here how it looks with prefix = '' and vim.o.listchars = 'leadmultispace:*-':

I've updated PR and added a remark about empty string value case handling in the documentation.

I am a little bit confused right now... Using virt_text_win_col option seems to solve the issue quite nicely even without the new prefix option. I thought maybe it was added in Neovim 0.8, but no, it is present in Neovim 0.6.1. And all tests seem to (virtually) pass...
I'll need to investigate this further. Maybe your PR will indirectly lead to removing some code instead of adding one, which is even better :)

Without at least some option it will make MiniIndentscopePrefix redundant and it wouldn't be possible to have something like this (e.g. provide a significantly more visually pronounced indent, which is nice):
require('mini.indentscope').setup { symbol = ' ', prefix = ' ' }
vim.cmd [[hi MiniIndentscopeSymbol ctermbg=203 | hi MiniIndentscopePrefix ctermbg=210]]

So I think keeping this option may provide a benefit (and also allows to keep the old behavior, since the default value is ' ').

Without at least some option it will make MiniIndentscopePrefix redundant and it wouldn't be possible to have something like this (e.g. provide a significantly more visually pronounced indent, which is nice):

True. But the only reason for MiniIndentscopePrefix was to create "invisible" highlight group to mitigate the (what I thought was) a necessary approach with prefix. At the moment I am leaning towards deprecating this highlight group, but I'll think it through.

In the end, I decided to make a breaking change of removing MiniIndentscopePrefix highlight group in favor of always showing single line.
Thanks for making PR and showing virt_text_win_col capabilities!


Debug icons can get lost below traffic lights

I have no idea how I got here, I didn't even more the debug toolbar around.

https://github.com/microsoft/vscode/issues/204265#issuecomment-1931236889


Docs: add missing documentation for test assert

Currently TestAssert is lacking documentation for the following elements:

collectors
commands

cc @chipzoller

/assign

Docs repo: https://github.com/kudobuilder/kuttl.dev

After an expansion of my previous PR, this will be additionally closed by https://github.com/kudobuilder/kuttl.dev/pull/60


Adding an implementation of the MicroProfile Rest Client v1.0

This is an implementation of the MP Client 1.0.  I plan to cut the spec release tomorrow, so don't quite approve this yet but need input on any code clean up required.
There's still one TCK test to add in, but not critical for a first pass.  I'd also like to add more TCK running options (Tomcat, OWB) to prove out the different runtime scenarios but also not critical for getting the code in (don't really want to stay diverged for too much longer).
I also think it'll be useful to get this started to integrate into consumers so having it out there will help.
I did end up going with a dedicated module for the code, since I had to do some amount of subclassing and code alignment to support some of the features missing from the native client.  In the end, functionally the native client works fine, but there's some tweaking needed for provider ordering and instantiation that I had to work with.  May be worth merging it into that module at some point, but it could be a breaking change for users.

Hi John, it looks good, as far as the initial implementation is concerned. Indeed the ordering of the providers is a very sensitive issue, so lets discuss it further at the dev, if needed something can be easily customized at the lower level to suit the needs of the microprofile client

My plan is to merge this branch into master later today, since I'm way too far off master at this point.  I'll address any remaining issues afterwards.  Those include:

TCK against OWB
Remaining configuration changes


support dynamically finding gc log on JDK 11+

https://dzone.com/articles/disruptive-changes-to-gc-logging-in-java-9
-Xloggc:mygc.log is deprecated and there is a newer option available which ddc does not support finding the newer one which is -Xlog:gc:file=mygc.log
just needs to edit the following file (with some tests) to handle both formats since both will be supported for awhile
https://github.com/rsvihladremio/dremio-diagnostic-collector/blob/238b5ddaa0ff124752be0fc91f1b0635e18351bc/collection/capture.go#L302-L319

won't do


VS code works only in full screen

Visual Studio code on my computer works only in full screen.
When not in full screen I see black screen.
When in full screen I still have some issues sometimes. The colors can change sporadically.
I don't have these kind of issues with other programs that I use.

Can you share your system configuration?
-OS version

vscode version
graphic card ? drivers?
-etc...

@desitnit does it work if you run "code --disable-gpu"?

Yes, it does. I'll use it as a workaround for now, thank you.

When will this be fixed?  Running code --disable-gpu is not a good solution for those that use the Explorer integration.  I would think adding this to the default options setting and pushing out a hotfix would be an appropriate fix until the next release.

It was actually fixed for me with one of the latest versions.

That’s a bummer.  The last two updates did not work for me, but the explorers build does


[SPARK-35568][SQL]  Add the BroadcastExchange after re-optimizing the physical plan to fix the UnsupportedOperationException when enabling both AQE and DPP.

What changes were proposed in this pull request?
This PR is to fix the UnsupportedOperationException described in PR#32705.
When AQE and DPP are turned on at the same time, because the BroadcastExchange included in the DPP filter is not added through EnsureRequirement rule, Therefore, when AQE optimizes the DPP filter, there is no way to add BroadcastExchange through the EnsureRequirement rule in reOptimize method, which eventually leads to the loss of BroadcastExchange in the final physical plan. This PR adds BroadcastExchange node in the reOptimize method if the current plan is DPP filter.
Why are the changes needed?
bug fix
Does this PR introduce any user-facing change?
No
How was this patch tested?
adding new ut

Test build #139209 has started for PR 32741 at commit 5f41e04.

Test build #139209 has finished for PR 32741 at commit 5f41e04.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139209/

@cloud-fan @wangyum

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43732/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43732/

Test build #139230 has finished for PR 32741 at commit ab2a7dc.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139230/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43754/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43754/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43754/

Test build #139266 has started for PR 32741 at commit 9f43eef.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43790/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43790/

Test build #139266 has finished for PR 32741 at commit 9f43eef.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139266/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43790/

Test build #139329 has started for PR 32741 at commit c2c2a4c.

Test build #139332 has started for PR 32741 at commit abbead0.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43851/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43854/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43851/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43854/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43854/

Test build #139329 has finished for PR 32741 at commit c2c2a4c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139329/

thanks, merging to master!

Test build #139332 has finished for PR 32741 at commit abbead0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139332/


Stop Docker containers gracefully before removing them

This notifies containers with a SIGTERM signal, giving them a chance to gracefully shut down within a 3s timeout window. Containers that fail to stop within that window will be forced to terminate with a SIGKILL.
Note that the k8s runtime's pod deletion defaults to a graceful termination, so this change also brings the Docker runtime into alignment.

@Remitly/bot merge


Back and frontend split

Description
Concise description of proposed changes, We recommend using screenshots and videos for better description
Additional Information

[ ] I have read the contributing docs (if this is your first contribution)
[ ] This is not a duplicate of any existing pull request

Related Issues
Closes #{issue number}
Note: If your changes are small and straightforward, you may skip the creation of an issue beforehand and remove this section. However, for medium-to-large changes, it is recommended to have an open issue for discussion and approval prior to submitting a pull request.
Your ENS/address:

Hey I think this wasn't intended to here, closing this!

True it was an error on my part
On Wed, 4 Sep 2024, 06:15 Shiv Bhonde | shivbhonde.eth, <
@.***> wrote:

Closed #923 https://github.com/scaffold-eth/scaffold-eth-2/pull/923.
—
Reply to this email directly, view it on GitHub
https://github.com/scaffold-eth/scaffold-eth-2/pull/923#event-14123563843,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AENB47VMP3MFDVNVYXW2QUTZUZ3L5AVCNFSM6AAAAABNSERHRCVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGEZDGNJWGM4DIMY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Remove installation instructions from the README

The up-to-date installation instructions are already mentioned in the official EDJX documentation.

@dasebek :
Please update the link in the text, which would direct the user to the exact location of the installation steps. The updated content will be:
See the EDJX Documentation for more information about installing this SDK on your system.


PGVector bound to a single database connection

System Info
python: 3.11
langchain: 0.0.306
Who can help?
Although PGVector  implementation utilizes SQLAlchemy that supports connection pooling features, it gets one connection from the pool, saves it as a class attribute and reuses in all requests.
class PGVector(VectorStore):
    # ...

    def __init__(
        self,
        # ...
    ) -> None:
        # ...
        self.__post_init__()

    def __post_init__(
        self,
    ) -> None:
        self._conn = self.connect()
        # ...

    def create_vector_extension(self) -> None:
        try:
            with Session(self._conn) as session:
                # ...
        except Exception as e:
            self.logger.exception(e)

    def create_tables_if_not_exists(self) -> None:
        with self._conn.begin():
            Base.metadata.create_all(self._conn)

    @contextlib.contextmanager
    def _make_session(self) -> Generator[Session, None, None]:
        yield Session(self._conn)

    # ...

This means that:

Since the same connection is user for handle all requests, they will not be executed in parallel but rather enqueued. In a scenario with a large number of requests, this may not scale well.

Great pool features like connection recycle and test for liveness can not be used.

@hwchase17
@eyurtsev
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[X] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction

Configure Postgres to kill idle sessions after 10 seconds (I'm using the ankane/pgvector docker image):

ALTER SYSTEM SET idle_session_timeout TO '10000';
ALTER SYSTEM SET idle_in_transaction_session_timeout TO '10000';

Restart the database

Confirm the new settings are active

SHOW ALL;

Create a sample program that instantiate a PGVector class and search by similarity every 30 seconds, sleeping between each iteration

if __name__ == '__main__':
    # Logging level
    logging.basicConfig(level=logging.DEBUG)

    load_dotenv()

    # PG Vector
    driver = os.environ["PGVECTOR_DRIVER"]
    host = os.environ["PGVECTOR_HOST"]
    port = os.environ["PGVECTOR_PORT"]
    database = os.environ["PGVECTOR_DATABASE"]
    user = os.environ["PGVECTOR_USER"]
    password = os.environ["PGVECTOR_PASSWORD"]

    collection_name = "state_of_the_union_test"
    connection_string = f'postgresql+{driver}://{user}:{password}@{host}:{port}/{database}'

    embeddings = OpenAIEmbeddings()

    loader = TextLoader("./state_of_the_union.txt")
    documents = loader.load()

    text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
    chunks = text_splitter.split_documents(documents)

    db = PGVector.from_documents(
        embedding=embeddings,
        documents=chunks,
        collection_name=collection_name,
        connection_string=connection_string,
    )

    for i in range(100):
        try:
            print('--> *** Searching by similarity ***')

            result = db.similarity_search_with_score("foo")
            print('--> *** Documents retrieved successfully ***')

            # for doc, score in result:
            #     print(f'{score}:{doc.page_content}')
        except Exception as e:
            print('--> *** Fail ***')
            print(str(e))

        print('--> *** Sleeping ***')
        time.sleep(30)

        print('\n\n')

Confirm in the console output that some requests fail because the idle connection was closed

(poc-pgvector-py3.11) ➜  poc-pgvector python -m poc_pgvector

DEBUG:openai:message='Request to OpenAI API' method=post path=https://.../v1/embeddings
DEBUG:urllib3.util.retry:Converted retries value: 2 -> Retry(total=2, connect=None, read=None, redirect=None, status=None)
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ...:443
DEBUG:urllib3.connectionpool:https://...:443 "POST /v1/embeddings HTTP/1.1" 200 None
DEBUG:openai:message='OpenAI API response' path=https://.../v1/embeddings processing_ms=211 request_id=ec4ef62b-da79-4055-a8da-66fce881a6e9 response_code=200

--> *** Searching by similarity ***

DEBUG:openai:message='Request to OpenAI API' method=post path=https://.../v1/embeddings
DEBUG:openai:api_version=None data='{"input": [[8134]], "model": "text-embedding-ada-002", "encoding_format": "base64"}' message='Post details'
DEBUG:urllib3.connectionpool:https://...:443 "POST /v1/embeddings HTTP/1.1" 200 None
DEBUG:openai:message='OpenAI API response' path=https://.../v1/embeddings processing_ms=40 request_id=f2b791ac-0c88-4362-b14c-d6a36084a932 response_code=200

--> *** Documents retrieved successfully ***
--> *** Sleeping ***

--> *** Searching by similarity ***
DEBUG:openai:message='Request to OpenAI API' method=post path=https://.../v1/embeddings
DEBUG:openai:api_version=None data='{"input": [[8134]], "model": "text-embedding-ada-002", "encoding_format": "base64"}' message='Post details'
DEBUG:urllib3.connectionpool:https://...:443 "POST /v1/embeddings HTTP/1.1" 200 None
DEBUG:openai:message='OpenAI API response' path=https://.../v1/embeddings processing_ms=30 request_id=de593b87-29ad-4342-81c1-3c495d5b4f56 response_code=200

--> *** Fail ***
(psycopg2.OperationalError) server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

[SQL: SELECT langchain_pg_collection.name AS langchain_pg_collection_name, langchain_pg_collection.cmetadata AS langchain_pg_collection_cmetadata, langchain_pg_collection.uuid AS langchain_pg_collection_uuid
FROM langchain_pg_collection
WHERE langchain_pg_collection.name = %(name_1)s
 LIMIT %(param_1)s]
[parameters: {'name_1': 'state_of_the_union_test', 'param_1': 1}]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

--> *** Sleeping ***

--> *** Searching by similarity ***
DEBUG:openai:message='Request to OpenAI API' method=post path=https://.../v1/embeddings
DEBUG:openai:api_version=None data='{"input": [[8134]], "model": "text-embedding-ada-002", "encoding_format": "base64"}' message='Post details'
DEBUG:urllib3.connectionpool:https://...:443 "POST /v1/embeddings HTTP/1.1" 200 None
DEBUG:openai:message='OpenAI API response' path=https://.../v1/embeddings processing_ms=42 request_id=e2cb6145-8ceb-4127-b4ee-c5130ba42e8e response_code=200

--> *** Documents retrieved successfully ***
--> *** Sleeping ***

--> *** Searching by similarity ***
DEBUG:openai:message='Request to OpenAI API' method=post path=https://.../v1/embeddings
DEBUG:openai:api_version=None data='{"input": [[8134]], "model": "text-embedding-ada-002", "encoding_format": "base64"}' message='Post details'
DEBUG:urllib3.connectionpool:https://...:443 "POST /v1/embeddings HTTP/1.1" 200 None
DEBUG:openai:message='OpenAI API response' path=https://.../v1/embeddings processing_ms=38 request_id=05e15050-0c37-4f7c-a118-a3fafc2bf979 response_code=200

--> *** Fail ***
(psycopg2.OperationalError) server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

[SQL: SELECT langchain_pg_collection.name AS langchain_pg_collection_name, langchain_pg_collection.cmetadata AS langchain_pg_collection_cmetadata, langchain_pg_collection.uuid AS langchain_pg_collection_uuid
FROM langchain_pg_collection
WHERE langchain_pg_collection.name = %(name_1)s
 LIMIT %(param_1)s]
[parameters: {'name_1': 'state_of_the_union_test', 'param_1': 1}]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
--> *** Sleeping ***

--> *** Searching by similarity ***
DEBUG:openai:message='Request to OpenAI API' method=post path=https://.../v1/embeddings
DEBUG:openai:api_version=None data='{"input": [[8134]], "model": "text-embedding-ada-002", "encoding_format": "base64"}' message='Post details'
DEBUG:urllib3.connectionpool:https://...:443 "

Expected behavior

Use pooled connections to make feasible executing requests in parallel.
Allow fine tuning the connection pool used by PGVector, like configuring the its maximum size, number of seconds to wait before giving up on getting a connection from the pool, and enabling pessimist (liveness testing connections when borrowing them from the pool) or optimistic (connection recycle time) strategies for disconnection dandling.

For sure, I can help with this refactoring. I'm going to submit the PR soon. Once more, thanks a lot!

PR #11514

I would like to see PGVector support improved. I get errors like this all the time.

Hi @dmazine !
Thank you for the fix PR on this issue. 🥳
A question on the console output you provided for the sample program. I see that some of the requests fail due to "idle connection was closed and yet some of them pass.
My expectation was that all the requests except the first one, i.e.  i = 0 will fail for the same reason.  Obviously i am missing something since this doesn't seem the case. Can you please explain why ?

Hi @bezunesh,
Actually I configured postgres to kill idle sessions every 10 seconds.
The sample program has a loop that waits 30 seconds between searches.
When a search is executed the connection is invalid, since it was killed by the database, and thus it is recreated. This is why we see the error in console followed by a success message.
In the next loop interaction the same occurs again.

Who can tell me what this data means? What is [[8134]]? My local text generation webui openai extension never understood what data is it.
DEBUG:openai:api_version=None data='{"input": [[8134]], "model": "text-embedding-ada-002", "encoding_format": "base64"}' message='Post details'


Create project folder

What would you like to be added?
Hello, and thanks for this plugin.
The current UI is a bit confusing for me. Here were my expectations when creating a new project:

I define the project name
I define the project containing folder
Click on create project and the plugin will create the new folder in the specified subfolder with the project name

Instead, I need to define the full path to the desired project and create the project folder manually before I can create any note. If not, new note creation will fail silently.
Why is this needed?
Having to manually create the folder before creating the project is a bit tedious and error prone.

I get two potential features in your post, 1) create folder automatically if the folder is not exists, and 2) throw error when note creation fails.
Maybe we can also provide a modal when the folder is unexists, to inform that we're going to create a new folder. Let users choose between Confirm (Create project with the new folder) and Cancel (Modify draft project config)

As a new user of the obsidian-projects, this is the most frustrating bug. The silent failure to create a project folder, and silent failure in creating project notes, is very confusing.
Example


Python Solve Me First

Correct code for Python's Solve Me First challenge

https://www.hackerrank.com/challenges/solve-me-first/problem

Recommended: Please add your name in contributors list in README.md


Multiple Master Dashlet Support

Thanks to Nishant Rama for this tip. We also have the ability to set multiple masters corresponding to multiple slaves. This would be a manual process at present. Code ability to do this via GUI.

Status: Working on it
Estimated completion: 20/12/2016

Resolved with release v2


fix(docs): dark mode switch onchange

Altered onChange callback of Switch component in the Dark Mode page from the docs. 'e.target' is altered to 'e.target.checked'.
[LEVEL]/[COMPONENT]
TASK:
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation Only
[ ] Refactor

Description, Motivation and Context

Screenshots - Animations

Thank you @VithuJey 🙌🏻


[Bug] Laravel dblib simple query fatals without exception

When executing simple table-less queries with the DB facade on a properly configured SQL Server connection, the script fatals with a white screen (error 500) without the ability to catch the error.
try {
    $results = DB::select("select 1");
} catch (\Exception $e) {
    // this statement is never reached
    dd($e);
}

// this statement isn't reached either
dd($results);

Expectation:
array:1 [▼
  0 => { ▼
    +0: "1"
  }
]

The database connection is configured as type sqlsrv and is set up using the FreeTDS library as a dblib PDO connection.
Currently unable to debug further due to time constraints, just reporting it to get it out there. When I find the time I might be able to cook up a merge request. I suspect it might have something to do with the query parser which doesn't understand that a table component is missing.
Tested on:
Laravel 5.0.27
Lumen 5.0.0
Environment:
Centos 6.6 / PHP 5.4 / FreeTDS 1.12 / SQL Server 2012

I've just ran this in homestead against a postgres DB and got
array:1 [▼
  0 => {#204 ▼
    +"?column?": 1
  }
]

and a mysql DB
array:1 [▼
  0 => {#204 ▼
    +"1": 1
  }
]

I think DB::select() just executes the statements passed in without parsing them.  It could be an issue with the SQL Server driver or something like that.

We're open to PRs.


UnhandledPromiseRejectionWarning: no such file or directory, uv_cwd

Following https://github.com/zeit/serve/issues/536
As I explain in this comment, IMO it's not a legit way of using serve, as it's a workflow that even will cause an error in bash.
But still, I think we can handle the error, show a message to the user, and exit gracefully, because right now an exception is thrown and the browser just hangs.

Not sure if we should handle this directly on serve repo, catching the error and showing a message.


Is not possible to handle an exception inside event listener when alwaysStat=true

Right now is not possible to handle any exception inside change event listener, only when alwaysStat=true.
Culprit line: https://github.com/paulmillr/chokidar/blob/3.3.1/index.js#L611
Maybe something like this should fix:
try {
  const stats = await stat(fullPath);
  // ...
} catch (error) {
  // Suppress event when fs_stat fails, to avoid sending undefined 'stat'
  if (error.message && error.message.includes("fs_stat")) return; // maybe error instanceof ?
  throw error;
}

Versions:

Chokidar version: 3.3.1
Node version: 12.16.1
OS version: MacOS 10.14.6

To Reproduce:
const chokidar = require('chokidar');
const fs = require('fs');

try {
  chokidar.watch('test*', { alwaysStat: true }).on('change', (path) => {
    console.log(path);
    throw new Error("test");
  })
  .on("error", (error) => {
    console.log("I never print");
  });
} catch(error) {
  console.log("I never print");
}

fs.writeFileSync('test.txt', 'testing 1');

chokidar doesn't throw errors. Use on('error') to handle fs errors.
for your particular case you can do try-catch inside (event, path) => function.

chokidar doesn't throw errors. Use on('error') to handle fs errors.
I have tried using on('error'), but it does not catch the exception, but when alwaysStat is false, it throws.

for your particular case you can do try-catch inside (event, path) => function.
I want to catch outside of it

Fixed in master

Thanks for this awesome library


Add documentation around FSDP state dict save behavior

By default, accelerator.get_state_dict will call the underlying model.state_dict implementation.  With FSDP, this gathers all of the state onto the rank 0 device.  If the parameters don't fit, this can cause CUDA OOM errors.
This PR adds documentation around how to use the PyTorch state_dict_type context manager to configure the behavior of the state dict.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Either make MSSQL and Oracle tests run on Travis or remove any related code

See https://github.com/yiisoft/yii2-httpclient/issues/126
According to the specified criteria any functionality, which has no proof to be running via Travis build can not be declared as supported one.
Thus either unit tests for MSSQL and Oracle should be made running on Travis or related libraries should be removed along with the docs mentioning there is a support for MSSQL and Oracle.

If you have spare time for unit test fix - open a PR for it.

Sorry, I do not have any spare time - you should handle this on your own.

It was worked on and I agree that we should finish it. We're running gitlab CI and there are containers prepared for MSSQL and Oracle. We need to ensure these are executed on a regular basis.

@rob006 this one is rather complicated. @schmunk42 has details.

MSSQL part done. Thanks, @darkdef!


Bug/empty field crash for PATCH

Fixes a 400 error with a stack trace if the body has a blank field name.
{ "": 123 }

It will now return a 400 error with the message 'Unrecognized field ""'

Thanks, @dstockto! Cherry-picked to master for release with 1.3.6, as this is primarily a bugfix.


Leaked streamed query?

After running the stress test, I observed that horizon was continually running the query below:
INFO[78627] query sql                                     sql=SELECT ht.id, ht.transaction_hash, ht.ledger_sequence, ht.application_order, ht.account, ht.account_sequence, ht.max_fee, ht.fee_paid, ht.operation_count, ht.tx_envelope, ht.tx_result, ht.tx_meta, ht.tx_fee_meta, ht.created_at, ht.updated_at, array_to_string(ht.signatures, ',') AS signatures, ht.memo_type, ht.memo, lower(ht.time_bounds) AS valid_after, upper(ht.time_bounds) AS valid_before, hl.closed_at AS ledger_close_time FROM history_transactions ht LEFT JOIN history_ledgers hl ON ht.ledger_sequence = hl.sequence JOIN history_transaction_participants htp USING(transaction_hash) WHERE ht.id > $1 AND htp.account = $2 ORDER BY ht.id asc LIMIT 10

This request would have come from a /accounts/:id/transactions request, either non-streamed or streamed.  Since this was happening in the background, I'm assuming this was due to a streaming request.

One leak was solved in #184, closing for now until this symptom is seen again


Camera Lag on FirebaseVision.instance.textRecognizer().processImage

Steps to Reproduce
I am using this code https://github.com/bparrishMines/mlkit_demo
Everything works fine but sincerely the firebase_ml_vision looks like a lag when its processing? Is it normal or is there a better implementation?
I have disabled almost everything from the app and its the processImage what its taking the processing time FirebaseVision.instance.textRecognizer().processImage

Did you test on debug or release mode ? because there is a huge differences

@pmcarlos
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/454. Any further collaboration will be done there.


Parser assumes types when it shouldn't

Godot version
4.0.dev (0f6a6ca5b)
System information
5.15.2-2-MANJARO
Issue description
The following causes a parser error:
var a = "a"
func _process():
	a + 1 # Invalid operands "String" and "int" for "+" operator.

But a is not typed, and it could change to an int before _process() is called.
For example, this should be fine:
var a = "a"
func _process():
	a + 1
func _ready():
	a = 1

But the parser still produces the same error.
Interestingly, the parser doesn't complain if we change the function definition order:
var a = "a"
func _ready():
	a = 1
func _process():
	a + 1

Steps to reproduce
var a = "a"
func _process():
	a + 1 # Invalid operands "String" and "int" for "+" operator.

Minimal reproduction project
No response

That same code fails in 3.x with the same exact error. There is no regression.

I think you have some misconception about how typing works in GDScript. It is dynamically typed, but it's strongly typed. Or whatever you want to call it, because definitions get murky here. But the point is, the variable can be untyped at its declaration, but as soon as it is defined, it receives a type from the value and it cannot change that type. We don't even allow coercion in places where some users of dynamically typed languages expect (see the int & float division discussion across multiple issues and proposals).
Look at this example from the docs that explains dynamic typing.
func print_value(value):
    print(value)

...

print_value(55) # Valid.
print_value("Hello") # Valid.

value here can be any type upon function call, but it will remain the same type throughout the function execution.

The main problem in this issue is fixed by #56194, however the root cause of the aforementioned inconsistency that depends on the function definition order hasn't been analyzed. Maybe another issue could be opened for it, but I'm not sure how to reproduce that inconsistency on current master, since neither definition order will produce a parser error now.
To understand it better, I printed the analyzer's type inference results alongside --test gdscript-parser, for the following:
extends Node

var x = "abc"

func fun1():
	x
func fun2():
	x = 1
func fun3():
	x

Class <unnamed> Extends Node :
|   Variable x
|   |   = "abc":String

|   Function fun1(  ) :
|   |   x:String?

|   Function fun2(  ) :
|   |   x:String? = 1:int

|   Function fun3(  ) :
|   |   x

(no inferred type for the last one)
So it looks like assignments to members affect their inferred (non-static) type, in sequential order of function definition.
Since the fix in #56194, inference for non-static types shouldn't be a problem even if they're wrong, so the potential harm is probably minimal, and doesn't justify keeping this issue open. It doesn't even break Script Editor's type guessing, as I believe it has other logic in it. So I believe this issue can be closed.

Your example does not cause a compile time error in RC 1 (now there is a bug that it is marked as a type-safe line).

If in some cases you still encounter this, you can suppress this by explicitly specifying Variant type (var a: Variant). But, in general, this is intentional. GDScript tries to infer types whenever possible, even with dynamic typing. This allows for example to offer better autocomplete suggestions.
https://github.com/godotengine/godot/blob/5c1295dc20323ee1596369b5bcf91ba6a9383336/modules/gdscript/gdscript_parser.h#L116-L121


[SPARK-12576][SQL] Enable expression parsing in CatalystQl

The PR allows us to use the new SQL parser to parse SQL expressions such as: 1 + sin(x*x)
We enable this functionality in this PR, but we will not start using this actively yet. This will be done as soon as we have reached grammar parity with the existing parser stack.
cc @rxin

Test build #48965 has started for PR 10649 at commit 7f37d81.

Test build #48965 has finished for PR 10649 at commit 7f37d81.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48965/
Test PASSed.

Merged build finished. Test PASSed.

Test build #48983 has started for PR 10649 at commit c2b35b7.

Test build #48983 has finished for PR 10649 at commit c2b35b7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48983/
Test FAILed.

Test build #49005 has started for PR 10649 at commit b070bf9.

Test build #49005 has finished for PR 10649 at commit b070bf9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49005/
Test PASSed.

Test build #49022 has started for PR 10649 at commit bc0e298.

Test build #49022 has finished for PR 10649 at commit bc0e298.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49022/
Test PASSed.

@cloud-fan can you also take a look?

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49180/
Test FAILed.

Test build #49184 has started for PR 10649 at commit 81588d2.

Test build #49184 has finished for PR 10649 at commit 81588d2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49184/
Test PASSed.

I'm going to merge this. @cloud-fan it would be great for you to still take a look post-hoc and @hvanhovell can address feedback in his next pull request. Thanks.


Add eth_signIntendedValidatorData RPC

Summary
This proposal adds a new JSON-RPC method, eth_signIntendedValidatorData, which allows signing data with an intended validator address using [EIP-191] version [0x00] with this format:
0x19 <0x00> <intended validator address> <data to sign>

History
There has always been work to integrate signing methods in various applications, but the focus was on eth_sign as it was already in use, and everyone adopted it. Although [EIP-191] defines different versions serving different purposes, versions 0x00 and 0x45 (E) do not serve the same purpose.
In this issue, we can see that [EIP-191] was almost fully supported, but precedence led to only versions [0x45] and [0x01] being implemented, dropping version [0x00].
Due to this, several apps have deviated from version [0x00], although it makes more sense to use it than [0x45]. For example, in the issue mentioned above, the team deviated from [0x00] and chose [0x45], even though a smart contract account (Multisig) should handle verification and signing for one intended validator address.
This was the issue where support for [EIP-191] Full was being worked on: GitHub Issue
Motivation
Currently, signing messages relies heavily on [EIP-191] version [0x45] (eth_sign) and [EIP-712] (eth_signTypedDataV4). While [EIP-712] provides a more structured approach, it is often seen as complex. On the other hand, [EIP-191] version [0x45] is widely used but poses significant phishing risks due to the lack of data parsing.
EIP-191 defines three versions: [0x45], [0x01], and [0x00]. This proposal aims to fully support [EIP-191] by introducing the rpc call for [0x00] version, which enables signing data with an intended validator address. This new method will:

Enable more dApps to use [EIP-191] version [0x00] without using raw signing methods which might be dangerous and restricted in few wallets.
Enhance security by parsing data and displaying the intended validator address, reducing phishing risks.
Provide a simpler alternative to [EIP-712], offering a balance between usability and security.
Be particularly relevant for smart contract accounts, allowing signing with a specific intended validator address.

With the rise of smart contract accounts and the reliance on signatures to improve UX, the need for supporting [EIP-191] version [0x00] increases, especially given the prevalence of verifier smart contracts, such as Entry Points, Smart Contract Accounts, Key Managers, etc.
Specification
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
eth_signIntendedValidatorData
MUST calculate an Ethereum signature using sign(keccak256("\x19\x00<signature validator address><data to sign>")).
This method adds a prefix to the message to prevent malicious dApps from signing arbitrary data (e.g., a transaction) and using the signature to impersonate the victim.
Parameters

DATA - 20-byte account address: The address signing the constructed message.
DATA - 20-byte account address: The intended validator address included in the message to sign.
DATA - Data string: The data to sign.

Returns
DATA - Signature.
Example
Request:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_signIntendedValidatorData","params":["0x6aFbBC5e6AFcB251371711a6551E60ead2779Dc0", "0x345B918b9E06fAa7B0e56bd71Ba418F31F47FED4", "0x59616d656e"], "id":1}'

{
  "jsonrpc": "2.0",
  "method": "eth_signIntendedValidatorData",
  "params": [
    "0x6aFbBC5e6AFcB251371711a6551E60ead2779Dc0",
    "0x345B918b9E06fAa7B0e56bd71Ba418F31F47FED4",
    "0x59616d656e"
  ],
  "id": 1
}

Result:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x4355c47d63924e8a72e509b65029052eb6c299d53a04e167c5775fd466751c9d07299936d304c153f6443dfa05f40ff007d72911b6f72307f996231605b915621c"
}

Support
We see many members of the ETH ecosystem tired of the hacks that happen due to blind signing. Even if this standard is not perfect, it at least provides an idea of which verifier will verify the message. If you trust the verifier, then it's one extra step towards safety (not full safety as users can't know what bytes they are signing, but still).
In the Metamask forum, it received support and was praised by nick.eth, Lead developer of ENS & Ethereum Foundation alum.

Nick's Tweet
Metamask Forum - 15+ Votes

Links

Closed EIP Specs PR.
Discussion in Metamask Forum (+15 votes).

Looking into this more, this may make more sense as a wallet API. This repo is really focused on the RPC provided by Ethereum clients and while some signing methods are supported due to legacy reasons, I don't know if it makes sense to add additional ones.

@lightclient I see, where is the best place to have this PR ?


Segmentation fault running layers.conv2d

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Centos 7.5
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
TensorFlow installed from (source or binary): Anaconda
TensorFlow version (use command below): 1.10.0
Python version: 3.6.5
Bazel version (if compiling from source): NA
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: NA
GPU model and memory: NA
Exact command to reproduce: python test.py

Describe the problem
I am trying to implement a CNN using tensorflow, but I started running into segmentation fault with increasing input size to layers.conv2d. In the provided simple test script, I can successfully run it if n_H=3000. But I got a segmentation fault when I set n_H=4000. In addition, if I run it without layars.conv2d by setting with_conv=False, the script runs successfully. I don't know if this is my lack of understanding with layers.conv2d or there is something more to this.
Source code / logs
Here is the output when I get a segmentation fault:
$ python test.py
(100, 4000, 100, 1) (100, 8)
2018-10-10 11:57:23.825704: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2
2018-10-10 11:57:23.827653: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
Fatal Python error: Segmentation fault

Thread 0x00007fea9af1a740 (most recent call first):
  File "/home/seng/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1350 in _call_tf_sessionrun
  File "/home/seng/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1263 in _run_fn
  File "/home/seng/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1278 in _do_call
  File "/home/seng/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1272 in _do_run
  File "/home/seng/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1100 in _run
  File "/home/seng/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 877 in run
  File "test.py", line 43 in <module>
Segmentation fault (core dumped)

Here is the simple test script test.py:
import faulthandler; faulthandler.enable()
import numpy as np
import tensorflow as tf

seed = 42
tf.reset_default_graph()
tf.set_random_seed(seed)
np.random.seed(seed)

num_examples = 100
n_H = 4000
with_conv = True

# generate training data
X_train = np.random.randn(num_examples*n_H*100).reshape(num_examples, n_H, 100, 1)
Y_train = np.random.randn(num_examples*8).reshape(num_examples, 8)
print(X_train.shape, Y_train.shape)

# create placeholders
X = tf.placeholder(tf.float32, shape=(None, n_H, 100, 1))
Y = tf.placeholder(tf.float32, shape=(None, 8))

# build graph
if (with_conv):
    conv1 = tf.layers.conv2d(X, filters=64, kernel_size=[5, 5],strides = 1, padding='valid',activation = tf.nn.relu)
    pool1 = tf.layers.max_pooling2d(conv1, pool_size=[2, 2], strides=2, padding='valid')
else:
    pool1 = tf.layers.max_pooling2d(X, pool_size=[2, 2], strides=2, padding='valid')
pool1_flat = tf.layers.flatten(pool1)
dense2 = tf.layers.dense(pool1_flat, units=256, activation=tf.nn.relu)
H = tf.layers.dense(dense2, units=8, activation=tf.nn.relu)

# compute cost
cost = tf.reduce_mean(tf.square(Y - H))

# initialize variables
init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    a = sess.run(cost, feed_dict = {X: X_train, Y:Y_train})
    print(a)

Initially I thought I was saturating my RAM. I have 45 GB and my host has 12 CPUs. During the execution, my test script used up about 20 GB before segmentation fault. What system memory configuration could affect the execution? How would I fix my system memory configuration? Have you try increasing n_H to larger values (6000, 8000, etc)? I can also get segmentation fault by increasing the num_examples.

Just an update. I just ran my script on an OS X host with 32 GB RAM and tensorflow version. It ran successfully!
One thing I notice is there was no message stating like I had on my Centos 7 host:
2018-10-10 11:57:23.827653: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
Why does it segmentation fault on my host running Centos 7?

I was able to run your script successfully on increasing the n_H value till 9000. Going beyond that landed me in segmentation fault similar to yours. The tensorflow/core/framework/allocator.cc script does the calculation of system memory usage. This script must allocate less memory for computation for your Centos 7 host system config than the threshold memory.

Does this mean allocator.cc incorrectly calculated the system memory usage for Centos 7?

No. It calculated correctly however the memory allocation was not good enough to execute test.py in Centos & system configuration.

Are you satisfied with the resolution of your issue?
Yes
No

I don't really know how to resolve my problem. I understand this may not be a tensorflow issue. But how do I increase the memory allocation? If insufficient memory is allocated, shouldn't an exception be thrown? Any help would be appreciated.

@asimshankar  Can you please take a look at this issue and suggest how this should be addressed?

@wschoong : Thanks for reporting. Yes, it is running out of memory, and yes it should fail gracefully instead of segfaulting.
I haven't traced when, but I think this has been fixed, though after 1.11.0, so the fix will only be visible in 1.12.0. I tried the same program out in 1.10.0, 1.11.0, and 1.12.0-rc0 and while I see a segmentation fault in the first two (as you guys did), I see a better error message:
ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[15353856,256] and type float on /job:localhost/replica:0/task:0/device:CPU:0 by allocator cpu
         [[node dense/kernel/Initializer/random_uniform/RandomUniform (defined at ./test.py:29)  = RandomUniform[T=DT_INT32, _class=["loc:@dense/kernel/Assign"], dtype=DT_FLOAT, seed=42, seed2=32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](dense/kernel/Initializer/random_uniform/shape)]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

in 1.12.0-rc0.
Closing this out since it has been fixed since, and we're unlikely to want to patch previous releases.
Feel free to reopen if you think I'm mistaken.
Thanks!


Update nf-fileapi-writefile.md

In Windows 7 and earlier, if lpNumberOfBytesWritten and lpOverlapped are both NULL, the program will crash.
In Windows 8 and later, if lpNumberOfBytesWritten and lpOverlapped are both NULL, the program will run as normal.
Why Windows 8 added this support but not documented is a mystery.
Probably because lpNumberOfBytesWritten in synchronous writes is duplicated as all bytes must be written in a successful synchronous write.
Formerly merged PR "Windows 7:  This parameter can not be NULL." is not correct.
In fact, in Windows 7, when lpOverlapped is not NULL, this parameter (lpNumberOfBytesWritten) CAN be NULL as usual.

@defrag257 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Evaluation on SOP took forever

Hi
Thank you for your work and code!
I tested on CUB and CAR and it worked well but when I used SOP dataset, it seemed as it got stuck in the evaluation process, right inside the calculation of kmeans. The test values of Epoch 0 never got out and the program just got stuck there. It was the same for faiss or no_faiss setting.
Did I miss anything or could you suggest some hints to solve it?
Cheers

SOP is a big dataset, so nearest neighbour retrieval takes much longer than on e.g. CUB and CARS :). It should however finish in a matter of minutes or faster, depending on your hardware setup. You can also move the faiss computation to the GPU for increased speed.


please add "essentials Smart Home mobiler Airpurifier"

Hi all,
here is what we talking about:
essentials Smart Home mobiler Luftreiniger
Would you please add this Device to next release?
I couldn't figure out how to switch integrated light on or off, any Idea?
Other functions should be pretty complete.
name: essentials Air Purifier
primary_entity:
  entity: switch
  icon: "mdi:air-purifier"
  dps:
    - id: 1
      type: boolean
      name: switch
secondary_entities:
  - entity: sensor
    name: Active Filter Life
    icon: "mdi:air-filter"
    category: diagnostic
    dps:
      - id: 5
        type: integer
        name: sensor
        readonly: true
        unit: "%"
  - entity: lock
    name: Child Lock
    category: config
    dps:
      - id: 7
        type: boolean
        name: lock
        mapping:
          - dps_val: true
            icon: "mdi:hand-back-right-off"
          - dps_val: false
            icon: "mdi-hand-back-right"
  - entity: select
    name: Light
    category: config
    dps:
      - id: 101
        name: option
        type: string
        mapping:
          - dps_val: Standard
            value: "On"
            icon: "mdi:lightbulb-on"
          - dps_val: Soft
            value: "Soft"
            icon: "mdi:lightbulb-on-outline"
          - dps_val: Close
            value: "Off"
            icon: "mdi:lightbulb-outline"
  - entity: switch
    name: UV Disinfection
    category: config
    dps:
      - id: 9
        type: boolean
        name: switch
        mapping:
          - dps_val: true
            icon: "mdi:lightbulb"
          - dps_val: false
            icon: "mdi:lightbulb-outline"
  - entity: switch
    name: Filter Reset
    category: config
    icon: "mdi:refresh"
    dps:
      - id: 11
        type: boolean
        name: switch
  - entity: select
    name: Timer
    icon: "mdi:timer"
    category: config
    dps:
      - id: 18
        name: option
        type: string
        mapping:
          - dps_val: cancel
            value: "Off"
          - dps_val: 2h
            value: "2 hours"
          - dps_val: 4h
            value: "4 hours"
          - dps_val: 8h
            value: "8 hours"
  - entity: sensor
    name: Timer
    icon: "mdi:timer"
    category: diagnostic
    dps:
      - id: 19
        type: integer
        name: sensor
        readonly: true
        unit: "min"
  - entity: sensor
    name: PM2.5
    class: pm25
    dps:
      - id: 2
        type: integer
        name: sensor
        class: measurement
        unit: ugm3
  - entity: sensor
    name: Air Quality
    dps:
      - id: 21
        type: string
        name: sensor
        readonly: true
  - entity: select
    name: Mode
    dps:
      - id: 3
        name: option
        type: string
        mapping:
          - dps_val: auto
            value: "Auto"
          - dps_val: "M"
            value: "Medium"
          - dps_val: "H"
            value: "High"
          - dps_val: "sleep"
            value: "Sleep"

Your light has only one option: soft.  If that is all that is listed in the iot.tuya.com device info then I am sure the info is lacking. You'll need to figure out the valid options yourself by changing the mode in the tuya app (it might help to disable WiFi and use a mobile connection to avoid conflicting with Home Assistant's local connection) and observing the changes on the Home Assistant side, either in Developer Tools or in the Home Assistant log if unlisted values cause an error in the select component.

got it!
yout hints and this guide was realy helfull:
https://www.zigbee2mqtt.io/advanced/support-new-devices/03_find_tuya_data_points.html#_9-find-your-data-point
Completed the config above.

This should be supported now in the latest release.

Realy cool, thx :-)


[Bug-App]: Error while calling W&B API: joined SQL must have at least one part (<Response [500]>)

Describe the bug

I created a sweep and started it via wandb agent xxxxxxx/xxxxxxx/xxxxxxxx but am getting the following error:
wandb: ERROR Error while calling W&B API: joined SQL must have at least one part (<Response [500]>)
Notably, I am running the sweep with multiple agents and while the first agent in the sweep runs without issue, any additional agent gives me this error.

Hi @frederiknolte, thank you for reaching out. This was a temporary issue which should have been solved soon after you raised it - could you please confirm if this is the case and if you can now start agents as expected?

Hi @frederiknolte , I wanted to follow up on this request. Please let us know if we can be of further assistance or if your issue has been resolved.


Can the ServiceBusMessage.Subject property be set for a Custom Service Bus endpoint?

I need to collect events from different sources (e.g., IoT hub and Custom Event Grid) and process them in a on-premise application.
To preserve the temporal order (the order in which they were enqueued in the service bus), I want to send them to the same Service Bus Topic.
Since, I have to handle messages originating from different sources differently (e.g., IoT hub device-to-cloud messages, IoT Hub device-twin-change-events, different custom Event Grid events), I would like to identify the source of a service bus message. My understanding is that the ServiceBusReceivedMessage.Subject property would be the adequate field, but it seems that the Azure services (e.g., Event Grid, IoT Hub ...) do not set this field.
Am I missing something?
Thank you in advance!

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

ID: 7cb7f4d6-d50b-d5b3-71f0-e935b6a6f315
Version Independent ID: d65b5b26-8320-a326-6dc1-bd42ce4bfebe
Content: Understand Azure IoT Hub custom endpoints
Content Source: articles/iot-hub/iot-hub-devguide-messages-read-custom.md
Service: iot-hub
GitHub Login: @wesmc7777
Microsoft Alias: wesmc

@Christian-e-S Thanks for the feedback! We are currently investigating and will update you shortly.

@Christian-e-S  Apologies for the delay in response. I further enquired and couldn't find info regarding processing events in a on-premise application. I would suggest you, please post your query on the  Microsoft Q&A Where community members/PG will respond to your query directly and provided suggestions.
We try to reserve these issues for feedback directly related to the tutorials: like if there are errors that block tutorial completion or if there are updates/changes required, suggestions for improvement, etc.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
Please also do visit Microsoft Q&A the home for technical questions and answers at Microsoft.


zeek: 3.2.3 -> 3.2.4

Motivation for this change
https://github.com/zeek/zeek/releases/tag/v3.2.4
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 114198 run on x86_64-linux 1

1 package built:

zeek


[FEATURE] Add Drawing Layer support

It would be nice if newly-drawn shapes were bound to ember-google-map, so that they are automatically kept track of.
https://developers.google.com/maps/documentation/javascript/drawinglayer
Useful events:
google.maps.event.addListener(drawingManager, 'polygoncomplete', (polygon) => {
      Ember.Logger.debug('polygoncomplete event fired');

      google.maps.event.addListener(polygon.getPath(), 'set_at', () => {
        Ember.Logger.debug('set_at event fired');
      });

      google.maps.event.addListener(polygon.getPath(), 'insert_at', () => {
        Ember.Logger.debug('insert_at event fired');
      });

      google.maps.event.addListener(polygon.getPath(), 'remove_at', () => {
        Ember.Logger.debug('remove_at event fired');
      });
    });
  }

Is it currently possible to setup the drawing controls with this project or is that what this issue is asking for?

It is possible to setup it using the core google map object (see the wiki docs to access this object), but it's then up to you to handle the events and bindings with Ember objects...
I am extremely busy lately and badly have NO time to work on any of my OSS project, but it's not been forgotten ;-)


regen

Heh, you read my mine. This generation is in aid of https://github.com/google/go-genproto/issues/102. I've no idea what causes the math change.

I assume it's an update to protoc-gen-go :/ I'm good with this change either way.

Right on. I did do go get -u github.com/golang/protobuf/{proto,protoc-gen-go}, so this is latest. @dsnet any idea?

The moved import is because the implementation of protoc-gen-go is being completely rewritten and is an artifact of that refactoring.


Provide submodeldescriptors in shells for all available submodels in JobReponse

As irs consumer
I want receiver all submodel descriptors
so that I am able to see any submodels related to the twin and not only those which I requested
Decision

A. Remove shell from JobResponse and deliver only required fields (DPP, Trace-X)
B. Provide a AAS conform shell in Job Reponse (@mkanal )

Hints / Details
Acceptance Criteria

[ ] IRS provides AAS standard conform result without modifications

Out of Scope

...

successfully tested - approved from my side

Ready for PO review @mkanal

LGFM PO acceptance in behalf of @jzbmw


[PE-D][Tester D] Add command cannot add stage

Suppose the add command can add stage by logic, by I only can use edit to add the stage to the specific person.

Labels: severity.High type.FunctionalityBug
original: Ty-stan0417/ped#14

Out of scope for now.

Can be a UG issue.

[ ] Stated explicitly in UG
[ ] Add flow diagram to enhance sequence in DG?


dotnet 8 isolated worker does not reload configuration after updating json file

Description
Posting this here after getting no responses in this discussion.
The json configuration provider in a v4 Azure functions w/ dotnet 8 isolated worker does not reload config values when the json file is changed.
The often cited reloadOnChange: true option when adding a json file for configuration, as seen below, does not seem to be respected.
var host = new HostBuilder()
    .ConfigureFunctionsWebApplication()
    .ConfigureAppConfiguration((hostingContext, config) =>
    {
        config.SetBasePath(Directory.GetCurrentDirectory());

        if (hostingContext.HostingEnvironment.IsDevelopment())
        {
            config.AddJsonFile("local.settings.json", optional: false, reloadOnChange: true);
        }

        config.AddEnvironmentVariables();
    })
    .ConfigureServices((hostingContext, services) =>
    {
        services.AddApplicationInsightsTelemetryWorkerService();
        services.ConfigureFunctionsApplicationInsights();

        services.ConfigureAppOptions(hostingContext.Configuration);
    })
    .Build();

host.Run();

This prevents IOptionsMonitor/IOptionsSnapshot from returning up-to-date values for json provided configuration.
I looked through the docs to determine if this is an intended/known limitation for the isolated worker process, but never found anything explicit.
Steps to reproduce
See this repo to reproduce the the current behavior in an azure function app alongside the expected behavior in a web api.

@ben-ward1 local.settings.json is not intended to be loaded through IConfiguration. It is loaded by core tools and the values are supplied as environment variables to both the host and worker process.
Beyond that, we do not own .AddJsonFile or auto reloading of IConfiguration, this issue is better suited for dotnet/runtime repo.
Closing as this is by design for local.settings.json.

@jviau

If you want config to auto-reload for the worker only, you can use a custom json file (such as appsettings.json)

After some experimentation, it seems that auto-reloading from a custom json file does not work out of box in the same way for the isolated worker as it does for a standard web app. For a custom json settings file, configuration will reload if the published file rather than the source file is changed. To force the auto-reload from source, I found a workaround by explicitly pointing to the source directory when adding the json file (see here).
Do you think that this difference between isolated worker vs web app is an issue suited for the dotnet/runtime repo?
Side note, this works just the same whether local.settings.json or a custom file is used (see here).


internal/document/editor: send code blocks without supported languages

Currently, the editor service doesn't send code blocks as code blocks if the language is unsupported.
This removes this guardrail, creating code blocks from the editor service regardless of block language.

👍 LGTM


Using "i+1" approach to language learning

When new characters are found that are not already in the learners HSK level's vocabulary list, filter them by checking that they are at most in one HSK level above the learner's HSK level, before adding to Anki.
Example:
Studying HSK1. A 13-word sentence is scanned, which contains 10 HSK1 level words, 1 HSK2 level word, 1 HSK3 level word, and 1 HSK4 level word. Pay attention only to HSK1 and HSK 2 level words.
This should increase student's comprehension, whilst not subjecting them to vocabulary that would not appear with relatively high frequency for their level of study.

Note that this approach is very different to adding only non-HSK words to the student's vocabulary list (which may assume the student has a HSK vocabulary list they're working from).

Perhaps it is possible to use a list of "HSK-x difficulty words" in conjunction with "HSK-x words" to add words at the appropriate "i+1" difficulty to the student's vocabulary list which are not in the official HSK-x list.

I think the user has the power to do this by selecting HSK level(s)


Add rules to ChromatographicSeparationProcess so has_calibration is required if chromatographic_category is gc

For issue https://github.com/microbiomedata/nmdc-schema/issues/1570#issuecomment-1858124456
Add rule to ChromatographicSeparationProcess that specifies that if chromatographic_category is gas_chromatography then has_calibration is required.

This will not require a migration.


Use lodash-es instead of lodash

This is just a request. Its ok if this is not possible. I want to be able to import @yxx4c/prisma-redis-extension as an ES module. Right now if I try to do that I get this error:
ERROR  [worker reload] [worker init] The requested module 'lodash' does not provide an export named 'camelCase'

 import { camelCase, kebabCase, snakeCase, startCase } from "lodash";
 ^^^^^^^^^
 SyntaxError: The requested module 'lodash' does not provide an export named 'camelCase'
 at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
 at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)

Because of that I now have to instantiate my prisma client inside a .cjs file which mean I dont have TS support in that file. I would really like to be able to have this functionality.

Hi there,
It should work fine as an ES module, but I’d like to check further. Could you please provide some details about your environment? Specifically, it would be helpful to know:

Which JavaScript runtime you are using (Node, Deno, Bun)?
Are you using lodash in your project?.
Any relevant configurations in your package.json and tsconfig.json.

Thank you!

Node Version: v18.17.1
NPM Version: 10.2.0

Hi @jeky1950,
Would it be possible for you to share your tsconfig.json and your run command?

Hi @jeky1950 ,
I wanted to give you a quick update: I've removed lodash from the package since it wasn't being used directly. And switched to lodash-es in the cache-utils dependency that this package relies on. I'm not sure if this would help you, but please check and let me know.

Hi @jeky1950,
Would it be possible for you to share your tsconfig.json and your run command?

Hi, my tsconfig.json looks like this:
{
  // https://nuxt.com/docs/guide/concepts/typescript
  "extends": "./.nuxt/tsconfig.json"
}

@yxx4c I have now upgraded my @yxx4c/prisma-redis-extension to v0.1.0 and can now import it has a ES module. However when I try to cache using this code:
const product = await prisma.product.findMany({
            where: {
                  name: {
                       contains: search
                  },
            },
            take: 5,
            cache: { ttl: 60, key: getCacheKey([ { prisma: 'Product' }, { search } ]) }
        });

I now get this error
 ERROR  EXECABORT Transaction discarded because of previous errors.

  at parseError (node_modules\redis-parser\lib\parser.js:179:12)
  at parseType (node_modules\redis-parser\lib\parser.js:302:14)

My prisma client file (dt.ts) looks like this:
import { PrismaClient } from '@prisma/client'
import { Redis } from 'ioredis'
import { getCacheKey, getCacheKeyPattern, PrismaRedisExtension, type CacheConfig } from '@yxx4c/prisma-redis-extension'

const redis = new Redis()

const cache: CacheConfig = {
  ttl: 60,
  storage: {
    type: 'redis',
    options: {
      client: redis,
      invalidation: { referencesTTL: 60 },
      log: console
    }
  }
}

const prismaClientSingleton = () => {
  const client = new PrismaClient()
  return client.$extends(
    PrismaRedisExtension({ cache, redis })
  )
}

declare const globalThis: {
  prismaGlobal: ReturnType<typeof prismaClientSingleton>;
} & typeof global;

const prisma = globalThis.prismaGlobal ?? prismaClientSingleton()

export { prisma, getCacheKey, getCacheKeyPattern }

if (process.env.NODE_ENV !== 'production') globalThis.prismaGlobal = prisma

Hi @jeky1950,
Could you please verify the version of ioredis and its dependencies that you are currently using? I recently updated to the latest version, and I suspect there may be a type mismatch related to this.

I am on ioredis version 5.4.1

Will continue the discussion in issue 5


add clr support

I added clr support @lukaspili requested at #26
Information about clr is here.
I changed a lot of your code to support clr export feature. Mainly you wrote code to support multiple export format as configuration based, but I changed it to class based. Because current format is "multiple colors to one file" and String, but clr is binary file. and I would like to add colorset export format that is "one color to one file" structure.

Amazing contribution! Love the class based formats, I also took this opportunity to separate each format into its own file. Compilation script had to be updated for this, but it seems to work great. I would invite you to change de README and explain how others can add their own formats with this new structure.

Thank you!
I will change the README for others, but I have 2 more new formatter. so I will send 2 more PR before update README.


Fix utf8 labels causing hang, clean up + fix label collection in general

3 changes:

Log a --debug message in the connection retry loop to make it easier to troubleshoot hangs.
Base64-encode client metadata so fancy UTF8 letters don't cause errors
Fix/clean up label collection flow to make more sense with the new architecture

Fix weird server-global label cache, which really shouldn't have been there anymore, and was probably causing the first connection's labels to be used for all subsequent connections.
Rather than putting the root labels into every single object, just let it stay on the root Group. the telemetry progrock.Writer also turns these into labels sent to Cloud, so we don't need to duplicate them anymore.

As a result of that last change, all IDs should now be much smaller, since they don't have to contain the root pipeline + labels. :tada:
fixes #5627

ID size comparison, for the curious:
❯ echo '{ directory { id } }' | with-dev ./bin/dagger query --progress=plain
1: connect
1: > in init
1: starting engine
1: starting engine [0.08s]
Connected to engine 6ebbff6c3940 (version devel ())
1: starting session
1: starting session [0.01s]
1: connect DONE
{
    "directory": {
        "id": "eyJsbGIiOm51bGwsImRpciI6Ii8iLCJwbGF0Zm9ybSI6eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsIm9zIjoibGludXgifSwicGlwZWxpbmUiOltdfQ=="
    }
}
~/src/dagger labels-cleanup ≡
❯ echo '{ directory { id } }' | dagger-0.8.2 query --progress=plain
Connected to engine 648e31eb9036 (version v0.8.2)
{
    "directory": {
        "id": "eyJsbGIiOm51bGwsImRpciI6Ii8iLCJwbGF0Zm9ybSI6eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsIm9zIjoibGludXgifSwicGlwZWxpbmUiOlt7Im5hbWUiOiIiLCJsYWJlbHMiOlt7Im5hbWUiOiJkYWdnZXIuaW8vZ2l0LnJlbW90ZSIsInZhbHVlIjoiZ2l0aHViLmNvbS92aXRvL2RhZ2dlciJ9LHsibmFtZSI6ImRhZ2dlci5pby9naXQucmVmIiwidmFsdW
UiOiIxZDUwN2JkMWZjZWE2OGQyOTM0ZWVjMzhjNTNlYzkyN2UzNDNjNzcyIn0seyJuYW1lIjoiZGFnZ2VyLmlvL2dpdC5hdXRob3IubmFtZSIsInZhbHVlIjoiQWxleCBTdXJhY2kifSx7Im5hbWUiOiJkYWdnZXIuaW8vZ2l0LmF1dGhvci5lbWFpbCIsInZhbHVlIjoiYWxleEBkYWdnZXIuaW8ifSx7Im5hbWUiOiJkYWdnZXIuaW8vZ2l0LmNvbW1pdHRlci5uYW1lIiwidmFsdWU
iOiJBbGV4IFN1cmFjaSJ9LHsibmFtZSI6ImRhZ2dlci5pby9naXQuY29tbWl0dGVyLmVtYWlsIiwidmFsdWUiOiJhbGV4QGRhZ2dlci5pbyJ9LHsibmFtZSI6ImRhZ2dlci5pby9naXQudGl0bGUiLCJ2YWx1ZSI6IndpcDogbGFiZWxzIGNsZWFudXAifSx7Im5hbWUiOiJkYWdnZXIuaW8vZ2l0LmJyYW5jaCIsInZhbHVlIjoibGFiZWxzLWNsZWFudXAifSx7Im5hbWUiOiJkYWdn
ZXIuaW8vZW5naW5lIiwidmFsdWUiOiI2NDhlMzFlYjkwMzYifV19XX0="
    }
}

Rust failure:

https://github.com/dagger/dagger/pull/5626 (rebase should fix it)

Elixir failures:

I think that the Cannot connect to Dagger engine errors & context deadline exceeded error are fixed by this PR
I am not sure about the base64 decode errors. Could it be changes introduced this PR @wingyplus?

I have confirmed that the foobar error is an expected failure, just a red herring. Will open a separate PR which clarifies that it is expected to fail.

Interestingly, dagger run ./hack/make sdk:elixir:test passes locally.
./hack/make sdk:elixir:test fails. Attaching the output from ./hack/make sdk:elixir:test 2>&1 | tee PR.sdk.elixir.test.log 👉 PR.sdk.elixir.test.log
Will continue digging. cc @wingyplus in case you can spare a look.

I have tracked the [http2: server: error reading preface from client localhost: rpc error: code = Unknown desc = failed to get client metadata for session call: failed to base64-decode x-dagger-client-metadata: illegal base64 data at input byte 0](https://github.com/dagger/dagger/actions/runs/5867652125/job/15908780544?pr=5628#step:4:908) issue to https://github.com/dagger/dagger/pull/5628/files#diff-f316292c5c53dd4851fadb4327cbd1a86c2c95a882fb23831433fe17080d602aR92

Interestingly, this happens intermittently when running it locally. While I was able to reproduce it on the first run, it passed on the second run. Clearing the cache and trying again.
FWIW, it is the new code that triggers the failure, so this is a genuine failure:

@gerhard The base64 encoding is the change this PR introduces, but I wouldn't expect the SDK to have to implement anything. It seems like a new client is talking to an old server, or vice versa? Should probably be dev <=> dev instead?

I found the issue & pushed a fix - see last commit for more details.
The Engine connection was timing out after 10s (the default timeout value) and then the SDK would proceed to download the latest stable CLI & re-run. I have 2 questions:

@vito can you think of a reason why connecting to the Engine can take more than 10s after this change?
@wingyplus would it be more reasonable to fail in that case with a timeout, rather than switch to downloading the latest stable CLI & re-running?

@vito can you think of a reason why connecting to the Engine can take more than 10s after this change?

No reason that I can think of, after going over each of the changes to be sure. :thinking: Could this be happening in other PRs too?

No, I haven't seen it happen before this change. Leaving it with @wingyplus.

@gerhard sorry, i fallen to sleep last night and thank for help solving on the issue. I’ll investigating this when I can open my computer. 🙇

Not a problem, thank you! FYI:

https://github.com/dagger/dagger/pull/5640


Improve readof input file

Fixes #716 .
i have done the changes in InputInterpreterImpl.java filr inside read() method .
@devonfw/cobigen

Thanks Sanjay, but I already merged this code in PR #1007 .


Where are time units actually used?

I have scoured this repo, and it is not used.

I had been under the impression that Telemetry.Metrics did nothing, but it seems to do the conversion. Thanks

Yep, it actually does stuff!
Metrics generates a utility function under the hood that automatically does time conversions when they're in the definition so that every reporter didn't have to reimplement that code. We only do that for time conversions though, so if you ever need to do memory size conversions, that requires a custom function, e.g. kilobytes to bytes.