Add action to manually update redux or context state

Currently, rest-hooks support updating only via requests.
I understand that this project is intended to be used within react context, but it may be useful to have some port, that could help migrate from other codebases where store update is done via redux-saga or some other technology.
Also, this could be useful when some updated are received from websockets or other sources ( info is dehydrated from local storage).
I am currently using redux-actions with RECEIVE_TYPE but it feels a bit wrong to do it as it is internal API details.

Using middlewares to dispatch actions is intended in https://resthooks.io/docs/guides/redux, as well as with custom managers.
I do agree, the actions are not documented and seem like internal APIs. While they have been somewhat stable for the year of rest-hooks' existence so far - they have certainly changed. I do plan on cleaning up their API and locking down their interface along with providing more documentation around using them. When that happens, it will be clear what changes need to be made, but expect them to be minor. For instance my only current plan is to rename the 'url' member - since it's not very accurate description of its data anymore.

'@rest-hooks/core' now exports createFetch(), createReceive() which construct actions to dispatch. Will be adding docs soon - see types for now.


Exceptional does not understand the property exception xml doc that it generates

When I use exceptional to generate the xml comments for a potential ArgumentOutOfRangeException in both the getter and setter, it generated the following:
 /// <exception cref="ArgumentOutOfRangeException" accessor="get">Index is out of range.</exception>
 /// <exception cref="ArgumentOutOfRangeException" accessor="set">Index is out of range.</exception>

The problem is that Exceptional fails to see the exceptions as documented because of the accessor attribute in both, that it generated.  It keeps warning that the exception is neither documented or caught.  On top of this, it also begins warning that the exceptions it generated documentation for are not thrown.

Both times I've encountered this issue has been when working with an indexer property.  I do not know if this issue is exclusive to indexers.

@wiredwiz do you have a sample of the code in use?
When the below kind of code is used seems to work fine:
        /// <exception cref="SecurityException" accessor="set">Foo</exception>
        public string this[string a]
        {
            set
            {
                throw new SecurityException("Foo");
            }
        }

Ok, I'm not entirely sure what is going on now.  I just checked the issue in the same instance of studio that has been sitting open since yesterday and now it seems to have corrected itself.  Also, when I try to remove and recreate the comments now it behaves as it should.  I guess there must have been some delay or confusion in the updating of the warnings or something.  In any case I will close this issue till I can reliably reproduce this behavior again.

Yes, I also noticed that there are some glitches with that...

I will try to devote some time to reading over the source of this project so as to contribute back to it.  I'm not familiar with creating ReSharper extensions at all but I'd like to help with some of this if I can find the free time.


More template stuff

synced local file(s) with worgarside/github-config-files.

This PR was created automatically by the repo-file-sync-action workflow run #8253275165

This PR is empty, closing it. :no_good:


Fix spelling of NuGet and GitHub

@Martin4ndersen : Thanks for your contribution to the Azure documentation! The author, @adhurwit, has been notified to review your proposed change.

#sign-off


Problem when try to download with unblock flag

The unblock functions it's not working anymore when I try, show this message and don't download it
(node:1409) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'name' of null
at processTicksAndRejections (internal/process/task_queues.js:85:5)
(node:12193) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
(node:12193) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Someone knows whats going on?

I think it's because CR-Unblocker are down.
https://cr-unblocker.com/

I made a quick alternative to the bypasser, will look into deploying a version of the dl-er with this in the future
https://github.com/simplymemes/cr

So their site is down completely and doesn't seem to be any real alternative (other than this one I found, though I fear it will meet the same fate as my project https://github.com/BeeeQueue/cr-proxy)
I'll have to remove this feature in the future at this point...

Hi there, just wanted to inform you: since cr-unblocker.com is down I set up a server at cr-unblocker.us.to for the firefox unblocker extension. Feel free to use this one :) It uses the same server code as the old cr-unblocker.com.


fixes bug 1201711 - Migrate Roku Live Streams from Edgecast to Akamai

Coverage decreased (-0.003%) to 84.836% when pulling ddd21f09cf95f640519c60a56c8dda75d4850a35 on peterbe:bug-1201711-migrate-roku-live-streams-from-edgecast-to-akamai into 9f903a1efc2a4cc6c869c2d1323d56e7d559a00d on mozilla:master.


Added extend_retires_on method for automate

Purpose or Intent
Automate methods can set the service and vm objects retires_on date. Added a new extend_retires_on method to make it easier to manipulate the retires_on date by adding a number of days to an existing retires_on date or set a new retires_on date some specified number of days from today.

@mkanoor
Can we discuss?

@mkanoor - Please review.

👍


improvement(Friending): Navigate to Active Requests on Notification

If a user clicks on the friend request notification body instead of the "x" it should navigate them to the active requests area so they can confirm or deny the request. Right now, no matter where you click on the notification, it just closes.

@phillsatellite I just test toasts for new message and new friend request and both toast went to the correct page, I think we can close for now but maybe see if @XileHorizon is still having the issue?


Assume role to acquire credentials

Adds configuration options to a profile that supports assuming a role to acquire AWS credentials. This uses the same options as the AWS CLI currently supports, with a couple of differences:

The cli does caching of the role credentials, but that doesn't seem appropriate for botocore. I don't know the appropriate way to expose that functionality.
No support for mfa_serial option. This would require some mechanism to prompt for the MFA token.
The CLI requires the source_profile option, but this PR makes that optional. If not provided, access/secret key are taken from the current profile.

Addresses https://github.com/boto/boto3/issues/263

+1
funny i banged my head against the wall to understand if is boto3 or botocore which doesn't support role_arn

Works perfectly for me, thanks!

:+1: this would close https://github.com/boto/boto3/issues/263

Any update on this? It would really make our lives easier since we are moving to a multi-account setup accessed via roles.

Taking a look at this.  One of things I think we may want to do is have the assume role provide be a separate class like it is in the CLI.  This would make it easier for customers to remove this provider or adjust its priority if they wanted.  It would also help as a base class if AssumeRoleWithSAML is ever added.

@jamesls Seems like a good idea, but wouldn't that mean parsing the credentials file twice or is that not a concern? Is there any canonical way to share that information between the providers?

One potential issue with making this a separate provider, outside of parsing the credentials file twice, would be that the new provider would have to be a higher priority than the existing shared credentials provider. This would impact the CLI since it inserts its provider before the shared credentials provider. The CLI would need to be updated. With the current implementation, the CLI should continue to work as it currently does.

Essentially I'm proposing just moving the assume role provider from the CLI into botocore with the appropriate changes (removing hard coded file cache etc).  Once botocore has this functionality, there's really no benefit in also having it in the CLI.  So the CLI would no longer have the assume role credential provider.
Given the CLI locks to a specific version of botocore, this should be an ok change to make provided we coordinate the corresponding changes to the CLI.

I should mention I don't mind taking a crack at this to see how feasible this is.


BIGTOP-3847: Set bigtop-select to be consistent with -PparentDir

Description of PR
How was this patch tested?
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'BIGTOP-3638. Your PR title ...')?
[ ] Make sure that newly added files do not have any licensing issues. When in doubt refer to https://www.apache.org/licenses/

@timyuer Did you accidentally close this, or are you going to submit another PR?


Add drag'n'drop attribute reordering

I want to merge this change because it allows users to reorder attributes in product type view.
Pull Request Checklist

[ ] Privileged views and APIs are guarded by proper permission checks.
[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Database queries are optimized and the number of queries is constant.
[ ] Database migration files are up to date.
[ ] The changes are tested.
[ ] The code is documented (docstrings, project documentation).
[ ] GraphQL schema and type definitions are up to date.
[x] Changes are mentioned in the changelog.

Here is the report for a80fcd8f6f3fbc0bc64e22318ff8ab44a7dedff2 (mirumee/saleor @ attributes/add-dnd)
Base comparison is 09f65d64875a1e9d8450b6cd255216ffd8c7ee9e.
No differences were found. (click me)

# api.benchmark checkout
  test name                           	left count 	right count	duplicate count
  ------------------------------------	-----------	-----------	---------------
  add billing address to checkout     	         34	         34	             20
  add shipping to checkout            	          7	          7	              0
  checkout payment charge             	         14	         14	              0
  complete checkout                   	          6	          6	              0
  create checkout                     	         43	         43	             21

# api.benchmark homepage
  test name                           	left count 	right count	duplicate count
  ------------------------------------	-----------	-----------	---------------
  retrieve main menu                  	          5	          5	              0
  retrieve product list               	          4	          4	              0
  retrieve secondary menu             	          5	          5	              0
  retrieve shop                       	          2	          2	              0

# api.benchmark product
  test name                           	left count 	right count	duplicate count
  ------------------------------------	-----------	-----------	---------------
  product details                     	         15	         15	              3

# api.benchmark variant
  test name                           	left count 	right count	duplicate count
  ------------------------------------	-----------	-----------	---------------
  retrieve variant list               	         15	         15	              6

I'm merging this with CI failing on Python tests. @NyanKiyoshi will look into it.


Adding the Product Search tests.

@nnegrey Please review.
Apart from the tests, cleaned up the main files as well.
Currently missing the tests for ProductSearch.java file. Working on fixing some issues with the src and test files.

@kurtisvg
Hi Kurtis, question on Kokoro, it appears that the tests have passed successfully, but the success isn't getting passed back to the status check to merge. Any ideas?

@nnegrey Looks like Kokoro was running tests on the previous commit. I retriggered it from this side and looks like it's happy now.


Revert 4 testing

Your Title
Description

Type of Change

[ ] Feature
[ ] Bug fix
[x] Documentation

Contributors

@caldwella2
@guzmanr04

Reminder
All GitHub Actions should be in a passing state before any pull request is merged.

attempting to make a folder


Text doubled after switching phone orientation in Nearby

Oh, wow, interesting...

I can confirm that this is happening on Android 6.0.1.
Offtopic comment: https://www.wikidata.org/wiki/Q11661218 has a Japanese and Chinese label. Are we only getting the English for some items?

@tobias47n9e: Based on your tip: https://github.com/commons-app/apps-android-commons/issues/260

Thanks guys. I think I might know what's causing it, will try to work on a fix soon...

Released a fix for this, please let me know if it solves the issue for you guys. :)

Works!

Awesome, thanks!


Slow operations related to organization management

Observed on production infrastructure while on test infrastructure it seems to be really faster:

group creation/removal
tag creation/removal
changing user role

Often the default timeout is reached.
Could it be related to SNS topics management?

Mongo Atlas does not exhibit any slow operation except archived event logs aggregation, which is normal.

Tested to connect a local development aktnmap version to the production database with the production setup and the timeout did not occur, all operations were relatively fast (~3/4 s) considering the DB latency and the verbose log output.

Tested to connect a local development aktnmap version to the production database with the production setup and the timeout did not occur, all operations were relatively fast (~3/4 s) considering the DB latency and the verbose log output.

Identified an issue about group removal: https://github.com/kalisio/kdk/issues/286.

Identified an issue about group removal: https://github.com/kalisio/kdk/issues/286.

After running the profiler on the application with the production setup/infrastructure the problem has been identified. It appears that most of the CPU time is used by the logging hooks and the underlying winston logger.

The logger seems to process the log messages anyway even if the current log level is not reached. Indeed, in production only log messages with level > information should be processed and others discarded. If this is not the case, the debug log messages, which output complex internal structures like hook.params, are probably consuming most of the CPU.
A pattern can be found in the logs to validate this: the operation lags systematically appear after a service call like when patching an object. Indeed, logging hooks are set as before/after hooks at application level.

After running the profiler on the application with the production setup/infrastructure the problem has been identified. It appears that most of the CPU time is used by the logging hooks and the underlying winston logger.

The logger seems to process the log messages anyway even if the current log level is not reached. Indeed, in production only log messages with level > information should be processed and others discarded. If this is not the case, the debug log messages, which output complex internal structures like hook.params, are probably consuming most of the CPU.
A pattern can be found in the logs to validate this: the operation lags systematically appear after a service call like when patching an object. Indeed, logging hooks are set as before/after hooks at application level.

Closed by https://github.com/kalisio/kdk/issues/287.

Closed by https://github.com/kalisio/kdk/issues/287.


nixos/mullvad-vpn: remove unneeded hacks

iproute2 rt_tables are no longer used upstream
and loose Reverse-Path seems to no longer be needed, according to my local test
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@aktaboot does this module still work for you without the hacks?

@ymarkus  yes I have been using it since opening the PR without issue


Redirection functionality - PR 1

feature (dashboard): add custom redirection URL for individual charts
SUMMARY

This PR modifies the Superset frontend functionality to allow setting and retrieving redirection URLs for individual charts. This feature enables users to configure and utilize specific redirection links directly from the control/setup panel of each chart. Additionally, the "Ajna" logo has been added for improved redirection functionality.
Key changes include:

Added SetURL component in chart control panel for URL configuration
Implemented ShowURL component to display and handle redirections
Integrated Ajna logo for redirection visual element
Enhanced dashboard functionality to support per-chart URL redirections

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

After:

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Looks good to me


Deprecate ruleset config

I find it a bit tedious to scroll around in my deptrac.yaml between layers and rulesets. That's why I would like to combine both in a single place. I made the change in both config files to better see what it would look like.
Regarding breaking changes:
I think we can make the change non-breaking by keeping "ruleset" and using that as fallback. I intentionally, only fall back to "ruleset" if no "allowed_dependencies" were found.
Open Tasks

[ ] Add UPGRADE info
[ ] Update documentation
[ ] Update example configs
[ ] Add tests

I would like to get some feedback (maybe thumbs up/down) whether this is a general improvement and not just something for me. /cc @gennadigennadigennadi @patrickkusebauch

It's tedious to scroll around and if you find a nice solution, yes please. But right now I don't like  ->allowedDependencies(['Layer', 'Dependency', 'Ast']) that we have to reference the Layers by a plain string.
By the way: when I implemented the ConfigBuilder I also tried to solve this problem, but I didn't had a good Idea. So maybe you will succed.

At least for me, defining layers and defining rulesets are 2 distinct actions that, most of the time, do not happen at the same time.

I agree, but at the same time in the configuration by making these distinct actions completely separate blocks we introduce a lot of redundancy. The php config makes it pretty clear with the somewhat awkward construct of creating a layer and assigning it to a variable to later be reused. Despite being distinct the refer to the same concept, same goes for the formatter groups. When comparing this:
deptrac:
  formatters:
    graphviz:
      groups:
        Accounts: ["Developer Accounts", ...]

  layers:
    - name: Developer Accounts
      collectors: ...

  ruleset:
    Devloper Accounts: ...

with this:
deptrac:
    layers:
        Developer Accounts:
          collectors: ...
          allowed_dependencies: ...
          groups: ["Accounts"]

I think apart from making it easier to see, how the layer is created (collectors) & what connections it has (rulesets/allowed_dependencies). It also reduces the chance of accidentally breaking the config, by messing up, like I did for ruleset in the first example. This might also reduce some complexity in our Exception handling where we need to deal with this scenarios and from time to time get issues, when people run into errors from typos when using the referenced layer in rulesets.
I will close this and move the discussion to an Issue instead. I want to avoid changing the config hap-hazardously and then ending up with something that doesn't work as expected, like with removing the semantic config last time.


VLAZ: Watch British[\W_]*car[\W_]*transfer(?!.co.uk(?<=britishcartransfer.co.uk))

VLAZ requests the watch of the watch_keyword British[\W_]*car[\W_]*transfer(?!\.co\.uk(?<=britishcartransfer\.co\.uk)). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

British[\W_]*car[\W_]*transfer(?!\.co\.uk(?<=britishcartransfer\.co\.uk)) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Beta update10

@ldanzinger please review.
The purpose of this PR is to:

Bring the beta branch up to date with v.next so it will eventually merge cleanly into v.next.
Integrate Augmented Reality into the beta branch.

As discussed, AR is its own thing. It does not attempt to integrate or know about the rest of the tools. I have tested both of the AR examples with the new folder structure and they still work. I've restructured the AR files since they no longer integrate with our previous toolkit, which included other tools like CoordinateConversion.
FYI @sbiswas96 @anmacdonald @GuillaumeBelz
Other, unrelated things I also added (in case you notice them):

Update example minimum Qt version to 5.15.1
Explicitly restrict Android ABI set to arm64. That is the only one we support for Android.
While bringing back AR, none of the other legacy C++ toolkit pieces were brought over, like AbstractTool.h.
Add an exemption in .gitignore for the ARCore shared libraries so they are easier to work with in git.

I should add that aside from the folder structure and minor .pri file changes, the AR contents are unmodified. There is no need to rigorously review the AR files and logic.

Please delete the top level toolkit.pro and Import folder which has been introduced in this PR.

Good call, I will fix that. Thanks for spotting that one @anmacdonald.

@anmacdonald @ldanzinger ready for review again.
I accidentally brought back some "old toolkit" files but they're gone now.

One note: uitools is all lower case, maybe AugementedReality should be snake_case?

@ldanzinger thoughts or preferences on that? It's a good point. I have no strong preference. I like "AugmentedReality" but it's not consistent with the other naming.

Not a strong preference, but perhaps they should all be lower case? The plugins in the Qt kits are all lowercase.

I like it. We will follow suit then. I will make the changes, retest, push and merge.


support for windows is missing

Hello, after MANY hours researching and debugging i've concluded that the support for windows OS is either bugged or non existing. but no worries: LUCKILY i've noticied it so you can fix that! :) let me know when you sort it out thank you my friend!

Have you tried the solution in #54 ?

not at all, i'll give it a shot later 👍

can also try https://github.com/carsales/pyheif/issues/2#issuecomment-886469620


Cloud App Security Administrator permissions

We see a difference w.r.t. "Manage admins and activity privacy" (from the top right hand corner cog wheel menu "Manage admin access"). Security Administrator is able to do that, but Cloud App Security Administrator is not (the menu entry is not present)
This is contradictory to what is written:

Cloud App Security administrator: Allows full access and permissions in Cloud App Security. Similar to Global administrator or Security administrator but scoped solely to Cloud App Security.

Strange, because the role permissions are a.o. microsoft.directory/cloudAppSecurity/allProperties/allTasks
Or is it a bug in the presentation of the cog wheel menu?

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

ID: 200a667a-64bf-422d-e110-4798f509fcd0
Version Independent ID: 3966732b-93fc-629b-b138-c096cb77a3cf
Content: Manage admin access to the Cloud App Security portal
Content Source: CloudAppSecurityDocs/manage-admins.md
Service: cloud-app-security
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

Thank you for your question. We'll investigate and get back to you.

Thank you for your contribution. We've updated the documentation to indicate that "This role does not grant the ability to manage admins in Cloud App Security, unlike Global administrator or Security administrator."
I'm closing the issue now, but if you have any additional questions, please feel free to ask.

@andrePKI Cloud App Security admins should have the ability to manage admins in MCAS - can you see the 'manage admin access' tab?

@andrePKI  - We did make the change to the document, but it seems a technical problem caused it to revert to the previous version. I've now corrected it:
https://docs.microsoft.com/en-us/cloud-app-security/manage-admins
Is there something else regarding the documentation that you think still needs clarification?

@andrePKI
the MCAS global admin role differs from the AAD global admin role, and the ability to access 'manage admin access' is one of the differences. As MCAS contains sensitive information, the access to it should be granted by people with privileged roles (in this case - AAD global admin).
The Cloud App Security admin is a middle ground between these two roles - it would have the same privileges as AAD global admin in the MCAS portal, with the ability to manage it fully (including the ability to add new admins), but it would have access solely to MCAS, like the MCAS global admin. This allows security teams to assign an MCAS role in AAD (thus leveraging PIM and other features) but scoping it to MCAS only - instead of having cross-suite privileges like the rest of the roles in AAD.
We're aware of the fact that the naming is confusing, and are working on a solution.

@andrePKI - We've updated the document again for further clarity.

@t-bennyr Thank you for your explanation. With MCAS (and also for other solutions like Defender for Endpoint) we would like to fully delegate management away from Central IT (who holds AAD global admin) to IT Security (who should be able MCAS completely by itself without dependency on Central IT). Hence why I was under the impression MCAS global admin would be able to manage admin access. Now we need to give AAD Security Admin or Global Admin to IT Sec.
And that is a more general issue we encountered - the separation of Ops versus Sec/SecOps is not always possible as AAD roles have also implicit permissions in the security solutions which cannot be withdrawn. In our organisation this leads to people having too many permissions as we cannot fully separate the roles technically. To clarify, we have teams that each manage their private or public cloud and there is one security team managing the security of all.
But that is not a documentation issue.


Add cert verify cname for vincent dev

🗣 Description

This is to add a CNAME record for VINCE-NT dev environment to verify an ACM-generated certificate.
💭 Motivation and context

Cloudfront requires certificates with root trust. For ease of use in the dev environment and to save
on cost, an ACM certificate will be used.
🧪 Testing

✅ Pre-approval checklist

[X] This PR has an informative and human-readable title.
[X] Changes are limited to a single goal - eschew scope creep!
[ ] All future TODOs are captured in issues, which are referenced
in code comments.
[x] All relevant type-of-change labels have been added.
[X] I have read the CONTRIBUTING document.
[X] These code changes follow cisagov code standards.
[ ] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.

✅ Pre-merge checklist

[ ] Revert dependencies to default branches.
[ ] Finalize version.

✅ Post-merge checklist

[ ] Create a release.

@jwoytek-cisa - I applied these changes already, so you can go ahead and test that the new DNS record is correct.

Record looks good--thank you!


Multiple workers on single CPU training

Hi,
We are trying to spawn multiple workers on single CPU because of under-utilization of the CPU cores during the training. So we used local kvstore first as follows. And the hosts file contains 2 lines of the duplicated IP address.
~/mxnet/tools/launch.py -n 2 --launcher ssh -H ./hosts numactl -l python train_imagenet.py --kv-store local
After 1 epoch we compared the models from each workers and found that workers don't synchronize parameters. Next, we tried dist_sync with the same command and it gave following error.
_File "/home/.local/lib/python2.7/site-packages/mxnet-1.2.0-py2.7.egg/mxnet/kvstore.py", line 655, in create
ctypes.byref(handle)))
File "/home/.local/lib/python2.7/site-packages/mxnet-1.2.0-py2.7.egg/mxnet/base.py", line 149, in check_call
raise MXNetError(py_str(LIB.MXGetLastError()))
mxnet.base.MXNetError: [18:08:10] src/postoffice.cc:16: Check  notnull: Environment::Get()->find("DMLC_NUM_WORKER")
If we change the launcher to mpi, there is the following error.
Traceback (most recent call last):
File "~/mxnet/tools/launch.py", line 128, in
main()
File "~/mxnet/tools/launch.py", line 116, in main
mpi.submit(args)
File "~/mxnet/tools/../dmlc-core/tracker/dmlc_tracker/mpi.py", line 82, in submit
pscmd=(' '.join(args.command)))
File "~/mxnet/tools/../dmlc-core/tracker/dmlc_tracker/tracker.py", line 428, in submit
fun_submit(nworker, nserver, envs)
File "~/mxnet/tools/../dmlc-core/tracker/dmlc_tracker/mpi.py", line 61, in mpi_submit
prog = 'mpirun -n %d %s %s' % (nworker, get_mpi_env(pass_envs), cmd)
File "~/mxnet/tools/../dmlc-core/tracker/dmlc_tracker/mpi.py", line 35, in get_mpi_env
raise RuntimeError('Unknown MPI Version')
Do you support for multi workers/node training? Any comments are appreciated. Thanks,
Compiler (gcc/clang/mingw/visual studio):
gcc
MXNet commit hash:
02dd89a68f659c2a9b0bff62c54c50dff1151f6b
Build config:
USE_MKLDNN = 1
USE_DIST_KVSTORE = 1

We manage and answer user questions/how to's on https://discuss.mxnet.io/, please post this question there. I will close this issue.


Support Fetch API

I encountered some web sites utilizing Fetch API, which I believe has not been implemented yet in htmlunit.

This is already discussed in #78 which as well provides a possible workaround.

OK, good to know. Thanks for the info.


NoMethodError (undefined method `cookie_value' for nil:NilClass) in API only Rails project

I'm getting the above error on my API only Rails project.
I think the issue is because we are running an API only Rails App without any cookies, and Impressionist is expecting to be able to retrieve the cookie_value from  request.session_options[:id], which is nil for us.
Is there any way to handle this case without requiring cookies? Have I made a mistake here?
If not, would there be any interest in a PR to enable support for API only Rails projects without sessions? If so I'd be happy to implement this. Based on what I've seen it shouldn't be too hard.
This is the full stack for the impressionist part of the error:
impressionist (2.0.0) app/controllers/impressionist_controller.rb:143:in `session_hash'
impressionist (2.0.0) app/controllers/impressionist_controller.rb:60:in `associative_create_statement'
impressionist (2.0.0) app/controllers/impressionist_controller.rb:132:in `direct_create_statement'
impressionist (2.0.0) app/controllers/impressionist_controller.rb:45:in `impressionist_subapp_filter'
impressionist (2.0.0) app/controllers/impressionist_controller.rb:7:in `block in impressionist'

Yes, I'm having the same error but in a standard Rails App. The gem was working fine in my Film model, updating the impressions correctly, but suddenly I get the undefined method 'cookie_value' for "60cb104e4befe185a8b81aac9a2c5e3c":String
It seems like it has something to do with the session_hash.
impressionist (2.0.0) app/controllers/impressionist_controller.rb:143:in session_hash' impressionist (2.0.0) app/controllers/impressionist_controller.rb:60:in associative_create_statement'
impressionist (2.0.0) app/controllers/impressionist_controller.rb:27:in impressionist' app/controllers/films_controller.rb:28:in show'
Not sure how to solve this. Would appreciate any insights.

Same error here but only on a mobile device

Me too, same error when using direct url in Incognito mode (need go to main page to resolve)

@KNejad  does https://github.com/charlotte-ruby/impressionist/pull/294 fixes your issue?

Hi @rzjfr unfortunately this doesn't seem to be working for me. I installed your version of the gem and I'm getting this error:
NoMethodError (undefined method `id' for #<Hash:0x00007f06f489fe70>):

impressionist (9092d938ab45) app/controllers/impressionist_controller.rb:152:in `session_hash'
impressionist (9092d938ab45) app/controllers/impressionist_controller.rb:68:in `associative_create_statement'
impressionist (9092d938ab45) app/controllers/impressionist_controller.rb:140:in `direct_create_statement'
impressionist (9092d938ab45) app/controllers/impressionist_controller.rb:46:in `impressionist_subapp_filter'
impressionist (9092d938ab45) app/controllers/impressionist_controller.rb:8:in `block in impressionist'

When I print session from the controller this is what's returned:
{"warden.user.user.key"=>#<User email<EMAIL_ADDRESS>...>}

@KNejad you can try my version in #293

@KNejad if it's possible to share your Gemfile.lock I can have a look
@lusinh oh yes sorry I didn't realize there were another version. I did that not specifically for this issue

Hey @rzjfr just attached the Gemfile.lock (renamed to Gemfile.lock.txt because of GitHub filetype restrictions). I had to lightly edit it to remove a couple of private gems and sources, but I didn't change much. It could just be caused by a strange configuration on our side. So if it's working for others then don't worry about closing this issue if you think that's the case.
Gemfile.lock.txt
@lusinh I tried your branch as well. Got the same error, the error seems to be happening before all the lines both of you edited

@KNejad were you able to get it working? I think this might be a similar issue to what I'm experiencing here.

Hi @GraemeHarrison, no I don't think I ever did. We ended up doing a simple version of what impressionist does in house in the end (basically a hook in the controller followed by saving requests to the DB) since it was good enough for our use case, so I haven't used the gem since posting the issue.

Error still persists.

I had that issue when I tried to share url on facebook. Solution was to check if request is xhr. this was my solution and I don't have that issue anymore

I had a same problem and downgraded gem version, and then solved it!
gem 'impressionist', '~> 1.6.1'

Same issue here with rails 6

Issue still exists
Had the same error in incognito mode and RSpec system tests
# Quick fix
def show
   ...
  if session.id.present?
    impressionist @question, nil, unique: %i[impressionable_type impressionable_id session_hash]
  end
end

Hey @stadniklksndr the problem of your solution is that we lost the tracking for that users.
The error only appears on mobile.
On desktop is working like a charm.

Me, too. I've got this error message.
Does anybody tried to fix it?

Me, too. I've got this error message. Does anybody tried to fix it?

Update: Here's the solution (currently): https://stackoverflow.com/a/65132022
It works for me.


Bot says "Failed!" when opening booster packs, even if it was successfull

I fully read and understood contributing guidelines of ASF available above, especially the point that GITHUB IS NOT TECHNICAL SUPPORT - IT'S THE PLACE ONLY FOR ASF BUGS AND SUGGESTIONS.
 I strongly believe that the bug I'm reporting here affects majority of ASF users, and the enhancement I'm suggesting could benefit ASF in long-run.
If my issue is not meeting contributing guidelines specified above, especially if it's a question or technical issue that is not related to ASF development in any way, please close it immediately - I won't complain.

Now that you read and understood our notice, remove it entirely so it won't clutter the issue, pick appropriate bug/suggestion template below and fill it with your details.

Bug
Description
Bot says "Failed!" when I send a command to unpack booster packs, even if all of booster packs were opened correctly.
Expected behavior
Bot should say "Success!" or something like this.
Actual behavior
Bot said "Failed!".
Steps to reproduce

Send a bot a message to unpack booster packs on your main account (in my case !unpack 000)
You get this message after all boosters are opened.

Full log.txt recorded during reproducing the problem
2017-12-08 23:49:41|ArchiSteamFarm-136|WARN|000|UrlPostToContentRetry() Request failed after 5 attempts!
2017-12-08 23:49:41|ArchiSteamFarm-136|DEBUG|000|UrlPostToContentRetry() Request failing: https://steamcommunity.com/id/***/ajaxunpackbooster
2017-12-08 23:49:41|ArchiSteamFarm-136|WARN|000|UrlPostToContentRetry() Request failed after 5 attempts!
2017-12-08 23:49:41|ArchiSteamFarm-136|DEBUG|000|UrlPostToContentRetry() Request failing: https://steamcommunity.com/id/***/ajaxunpackbooster
2017-12-08 23:49:42|ArchiSteamFarm-136|WARN|000|UrlPostToContentRetry() Request failed after 5 attempts!
2017-12-08 23:49:42|ArchiSteamFarm-136|DEBUG|000|UrlPostToContentRetry() Request failing: https://steamcommunity.com/id/***/ajaxunpackbooster

Global ASF.json config
{"SteamOwnerID":"***","CurrentCulture":"en-EN","MaxTradeHoldDuration":1,"UpdateChannel":1,"InventoryLimiterDelay":10,"SteamProtocols":4,"FarmingDelay": 5,"IdleFarmingPeriod": 1,"MaxFarmingTime": 1,"Debug":false,"GiftsLimiterDelay":0,"IPCHost": ***,"IPCPort": **1248}

BotName.json config of all affected bot instances (if more than one)
Main account (000.json)
{
  "AcceptGifts": true,
  "CardDropsRestricted": true,
  "CustomGamePlayedWhileFarming": null,
  "CustomGamePlayedWhileIdle": "",
  "DismissInventoryNotifications": true,
  "Enabled": true,
  "FarmingOrder": 6,
  "FarmOffline": false,
  "GamesPlayedWhileIdle": [],
  "HandleOfflineMessages": false,
  "IsBotAccount": false,
  "LootableTypes": [0,1,2,3,4,5,6],
  "PasswordFormat": 0,
  "Paused": false,
  "RedeemingPreferences": 7,
  "SendOnFarmingFinished": false,
  "SendTradePeriod": 0,
  "ShutdownOnFarmingFinished": false,
  "SteamLogin": "***",
  "SteamMasterClanID": 0,
  "SteamParentalPIN": "0",
  "SteamPassword": "***",
  "SteamTradeToken": null,
  "SteamUserPermissions": {},
  "TradingPreferences": 3
}

Additional info
Some screenshots with this problem

Inventory page refreshed, there are 5 booster packs

Send a command !unpack 000 and got "Failed!" after 8 seconds.

Refreshed inventory page, boosters are opened

Steam confirms that all booster packs were opened

ASF properly forwards error it got from Steam network - it might just make more sense to not believe Steam network in this case, since it's pretty common that the request fails even if it in fact succeeds on Steam side.


Productivity Suite - Style/quality of life improvements

Some small quality of life improvements:

add missing deploy script for news fragment
remove app-footer's fixed positioning
improve news css and styling (to make it look more like the hackernews one and to be font-responsive)
generic styles improvements

I haven't tried running this, but the code changes look OK

Awesome thanks! 😃


Add demo app

Reopening of #103, @poteto

@homu r+

:pushpin: Commit 49d2d59 has been approved by poteto

:zap: Test exempted - status


Add buildDubPackage and dub-to-nix for building dub based packages

Description of changes
Closes https://github.com/NixOS/nixpkgs/issues/301302
This PR adds three main things:

the buildDubPackage helper function
the dub-to-nix helper script
the makeDubDep utility function to be used inside the files generated by dub-to-nix

The idea first came up in https://github.com/NixOS/nixpkgs/pull/288841 where I ended up implementing it. I though it would be a better idea to separate those changes into different PR, which is this one.
I also ended up migrating all 2 packages that use dub inside of nixpkgs.
Literate didn't even have anything to lock with dub-to-nix, so it has an empty dependency list.
The changes done to btdu is much more visible, though. The package declaration became much shorter, even when it only had 4 packages to lock.
I removed btdu's update script for now, maybe when I implement something like passthru.fetch-deps from buildDotnetModule for buildDubPackage I'll add a new one back.
I inited the serve-d package in this PR too to showcase that this works with many dependencies too.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Could you somehow make clear that you (and perhaps @jtbx too) maintain the dlang support? A comment on top of the files or even setting yourself as the codeowner.

I would be happy to :)

Added a CODEOWNERS entry for D
By the way, what should we call this language internally? I am using dlangfor build-support, because IMO d is way too short.

I'd say add a comment in the files instead.

I'd say add a comment in the files instead.

That's a bit annoying, yes. I'll add some comments, then.

I added some extra builder options for makeDubPackage. Previously it was only dubFlags, but now we have dubFlags dubBuildFlags and dubTestFlags.
I also added combined*Deps to factor out most of the string interpolation part from the script definition.
I created pkgs/build-support/dlang/README.md with a list of maintainers.

Okay, so I set doCheck to false by default instead of true, because most applications don't have proper testing, and the fallback action when running dub test without proper unittests being set up is not very desirable. People will have to opt-in to checking by setting doCheck = true;.

Thank you for your work!
I'm not very familiar with D, but when compiling d-serve I get these warnings:
     Warning Selected package libdparse 0.19.4 does not match the dependency specification >=0.14.0 <0.18.0 in package dfmt. Need to "dub upgrade"?
     Warning Selected package dscanner 0.12.2 does not match the dependency specification 0.11.1 in package workspace-d. Need to "dub upgrade"?
     Warning Selected package dsymbol 0.11.3 does not match the dependency specification 0.13.0 in package dscanner. Need to "dub upgrade"?
     Warning Selected package libdparse 0.19.4 does not match the dependency specification >=0.14.0 <0.18.0 in package dsymbol. Need to "dub upgrade"?
     Warning Selected package libddoc 0.7.4 does not match the dependency specification ~>0.8.0 in package dscanner. Need to "dub upgrade"?
     Warning Selected package libdparse 0.19.4 does not match the dependency specification >=0.13.0 <0.18.0 in package libddoc. Need to "dub upgrade"?
     Warning Selected package libdparse 0.19.4 does not match the dependency specification 0.19.2 in package dscanner. Need to "dub upgrade"?
     Warning Selected package libdparse 0.19.4 does not match the dependency specification 0.17.0 in package workspace-d. Need to "dub upgrade"

is it due to dub-to-nix?

I believe it's an upstream issue: they have a dub.selections.json, but the selected versions are not in the expected version bounds... I have no idea why, though. We could regenerate the selections file, that would get rid of the warnings.

Okay, I pushed a commit which moves the current system over to a JSON-based lockfile format.
Now there are several questions that might come up:

do we put the dependencies in non-top level list/set in the lockfile? (dependencies in this case)

if yes, should we also introduce a lockfileFormat versioning number

should the lockfile be {pname: { version, sha256 }, ...} or [ { pname, version, sha256 } ... ]
at which point should the lockfile be read?

do we just take in a path to the lockfile and read it internally

this is more obvious, easier for the user

or do we require user to manually call lib.importJSON

not that obvious
the user could append extra dependencies using nix, which would get rid of the current need for extraDubDeps and non-internal usages of makeDubDep

though something like extraDubDeps might be needed in the future if we want to use a non-zip source

should the file even be JSON?

it could be just a nix file instead, but not what it was before (we'd do the mapping internally, like with JSON)

not really necessary, would still need to call import

you forgot to update serve-d to the new lock format.

do we put the dependencies in non-top level list/set in the lockfile? (dependencies in this case)

should the lockfile be {pname: { version, sha256 }, ...} or [ { pname, version, sha256 } ... ]

the nim lock file looks quite alike to your current approach

or do we require user to manually call lib.importJSON

I don't see a use case for handling the json value in nix and not directly from the generated file. If you really want to be versatile, you can do like callpackage which accepts a function or a file evaluating to a function. A bit like this:
let actualData = if builtins.isPath arg then lib.importJSON arg else arg;

should the file even be JSON?

this way you don't need to worry about escaping (what if there is a ${ in a string?). Also such metadata is better off as a pure data format than as a code format. "Old-style" (setup.py) python packaging format being python code has led to inordinate amount of pain and abuse. The ecosystem is moving to a pure data format (toml).

or do we require user to manually call lib.importJSON

I don't see a use case for handling the json value in nix and not directly from the generated file. If you really want to be versatile, you can do like callpackage which accepts a function or a file evaluating to a function. A bit like this: let actualData = if builtins.isPath arg then lib.importJSON arg else arg;

I like this idea, this way I can remove extraDubDeps.

you forgot to update serve-d to the new lock format.

It looks like I accidentally committed it once (I didn't mean to).

Okay I added an actual commit for serve-d (but if it's not in the scope of the PR, I'll move it to another PR)
Other than that, I removed extraDubDeps and I moved makeDubDep to be internal-only. We can expose makeDubDep in the future, but it's unlikely that that's ever going to be needed.
I added some comments for the build helper's parameters, even if it's not proper docs, it exists at least.

is there a way to tell dub to respect $NIX_BUILD_CORES ?

there is --build-mode=singleFile --parallel which will separate the workload onto multiple cores, however we can't specify the exact number of cores.

Okay, I updated https://github.com/NixOS/nixpkgs/pull/288841 to the new lockfile format, here's how you could do extra dub dependencies:
https://github.com/NixOS/nixpkgs/blob/dae2ee5c84d647add18220d5dbf14a4d8784cfd3/pkgs/applications/misc/inochi2d/generic.nix#L62-L73

Okay, I added both release notes and docs for the things added by this PR (mostly based off of the nim section)

Thanks for all the help and reviews, everyone!
This has probably been my most complex contribution to date, glad to see it get merged.
I'll get back cleaning up my other PR now.


Larger input file needed.

Greetings! I am in need of a larger input data. I found one here: https://algs4.cs.princeton.edu/44sp/largeEWD.txt
can you help me modify your cuda_bellman_ford.cu file to allow this type of input file?
Or do you know where/how I can create a larger adjacency matrix file ?

Hi Gersch,
I think you can simply modify "read_file" function in utils to apply for various types of input file.


Fix Elasticsearch Client Component Readme

fixes: #4995
cc @eerhardt , @IEvangelist
Microsoft Reviewers: Open in CodeFlow

@joperezr, consider bringing this in 8.1

/backport to release/8.1


Add support for Facebook messenger

Following the release by Facebook of its bot API, I tried it and saw that it was pretty straightforward to add FB messenger support to Giskard. Should definitely support it properly.

I guess this issue is closed now, right?


Added throttle helper

[x] approval
[x] tests
[x] docs

Seems good to me. TBH didn't think of using action channels with sliding buffers for throttling. I'll update the throttling recipe on the docs with your implementation.
And thanks for all your contributions!

So should I close this PR? I mean do you plan to keep such helpers out of the core (as you have mentioned adding it just to the recipes)? Did you maybe consider this mono-repo thing so maybe more helpers could be included and imported by ppl just on demand?

Oh sorry I was not quite explicit! I meant we could pass to the next steps you mentioned (tests and docs). I dont mind adding helpers for common cases to the core.

For the recipes I just meant your solution is cleaner than the actual one & that I should update it.

Can make it as part of this PR - updating recipe. But when I'm done with docs and tests - is it even needed in the recipes? I mean underlaying implementation? It can just be explained alongside with the helper I think.
Also I have similar helper written as generator for trailingThrottle. Dont know though if it deserves geting a standalone helper (which I can implement using fsmIterator) or do you think its good only for a recipe?
function* delayFirstCall(ms, buffer, task, ...args) {
	yield call(delay, ms)

	if (!buffer.isEmpty()) {
		return
	}

	yield call(task, ...args)
}

export function* trailingThrottle(ms, pattern, task, ...args) {
	const buffer = buffers.sliding(1)
	const throttleChannel = yield actionChannel(pattern, buffer)

	for (;;) {
		const firstActionInSequence = yield take(throttleChannel)
		yield fork(delayFirstCall, ms, buffer, task, ...args, firstActionInSequence)

		for (;;) {
			yield call(delay, ms)

			if (buffer.isEmpty()) {
				break
			}

			const action = yield take(throttleChannel)
			yield call(task, ...args, action)
		}
	}
}

I've updated the PR with test and docs 🎉, please take a look. :)

@yelouafi Fixed mentioned issues

Can make it as part of this PR - updating recipe. But when I'm done with docs and tests - is it even needed in the recipes? I mean underlaying implementation? It can just be explained alongside with the helper I think.

Hmm sounds right

Also I have similar helper written as generator for trailingThrottle. Dont know though if it deserves geting a standalone helper

Also I have similar helper written as generator for trailingThrottle. Dont know though if it deserves geting a standalone helper

I think so; you can open a PR for it
the code seems ok; I've left some notes on docs.
I'm having some trouble to understand what the test does.  Maybe I missed something but each worker waits for a def in the array. but since most of defs are not resolved then the worker will never put results into the expected array. My point is this won't permit us to observe throttling since even if the workers are not throttled they will not make it to the actual.push(...) instructions. (and sorry If I missed something, was a quick review)

Also I have similar helper written as generator for trailingThrottle. Dont know though if it deserves geting a standalone helper

I think so; you can open a PR for it

aint sure with which one should I proceed - implementing trailingThrottle as built-in helper or make a recipe out of it?

I'm having some trouble to understand what the test does. Maybe I missed something but each worker waits for a def in the array. but since most of defs are not resolved then the worker will never put results into the expected actual array. My point is this won't permit us to observe throttling since even if the workers are not throttled they will not make it to the actual.push(...) instructions. (and sorry If I missed something, was a quick review)

In fact there are only 5 defs created (all geting resovled eventually) and 35 actions dispatched. So not every action is geting their corresponding watcher started (cause of throttling)

In fact there are only 5 defs created (all geting resovled eventually) and 35 actions dispatched. So not every action is geting their corresponding watcher started (cause of throttling)

You're right,I didn't notice the Math.floor(payload / 10).


Issue dumping the network to .nnet file

Hey, I have issue while dumping the network into dat file.
Basically, 2nd step :
2. Dump network to dat file python dump_to_cpp.py -a arch.json -w weights.h5 -o dumped_nn.dat.
while, I run this script dump_to_cpp.py , it throws an error:
Using TensorFlow backend.
Read architecture from arch.json
Read weights from weights.h5
Writing to converted_to_cpp.dat
0 name
Traceback (most recent call last):
File "dump_to_cpp.py", line 36, in
fout.write('layer ' + str(ind) + ' ' + l['class_name'] + '\n')
TypeError: string indices must be integers
The issue is, l should have been of data type 'list' but in our case it is a 'string'.
can you please rectify this issue and provide a working solution.

Hey, from what I remember the code was working with Theano backend. So to use it with TensorFlow you need to provide your own code for transformation (it should be a matter of change in dimension order, so it should be very similar to current code). Sorry that it is not working out of the box.
Please check the following discussion https://stackoverflow.com/questions/36720498/convert-keras-model-to-c to find more similar solutions.

Hi @MaajidKhan for a TensorFlow conversion I think you'll need to change L30 in dump_to_cpp.py: to: for ind, l in enumerate(arch["config"]["layers"]): as the json file contains an extra key for "config".
Hope this helps!

Hi @JosephPB , your fix worked for me for working around with Tensorflow backend. Thanks.


[Bug] when using get_channel_units.py with a resnet50

Hi!
I'm currently trying to prune a resnet50 using the configs/pruning/mmpose/dcff/dcff_topdown_heatmap_resnet50_coco.py config and I get the following error, even after applying the fix mentioned in the following bug report, which it could be related to https://github.com/open-mmlab/mmrazor/issues/431 ?
Traceback (most recent call last):
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 121, in build_from_cfg
    obj = obj_cls(**args)  # type: ignore
  File "/some_path/mmrazor/mmrazor/models/algorithms/pruning/dcff.py", line 62, in __init__
    super().__init__(architecture, mutator_cfg, data_preprocessor,
  File "/some_path/mmrazor/mmrazor/models/algorithms/pruning/ite_prune_algorithm.py", line 137, in __init__
    self.mutator.prepare_from_supernet(self.architecture)
  File "/some_path/mmrazor/mmrazor/models/mutators/channel_mutator/channel_mutator.py", line 105, in prepare_from_supernet
    units = self._prepare_from_tracer(supernet, self.parse_cfg)
  File "/some_path/mmrazor/mmrazor/models/mutators/channel_mutator/channel_mutator.py", line 301, in _prepare_from_tracer
    unit_configs = tracer.analyze(model)
  File "/some_path/mmrazor/mmrazor/models/task_modules/tracer/channel_analyzer.py", line 106, in analyze
    fx_graph = self._fx_trace(model)
  File "/some_path/mmrazor/mmrazor/models/task_modules/tracer/channel_analyzer.py", line 131, in _fx_trace
    args = self.demo_input.get_data(model)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 29, in get_data
    return self._get_data(model, input_shape, training)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/default_demo_inputs.py", line 105, in _get_data
    return defaul_demo_inputs(model, input_shape, training, self.scope)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/default_demo_inputs.py", line 79, in defaul_demo_inputs
    return demo_input().get_data(model, input_shape, training)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 29, in get_data
    return self._get_data(model, input_shape, training)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 49, in _get_data
    data = self._get_mm_data(model, input_shape, training)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/demo_inputs.py", line 139, in _get_mm_data
    data = demo_mmpose_inputs(model, input_shape)
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/mmpose_demo_input.py", line 35, in demo_mmpose_inputs
    batch_data_samples = [
  File "/some_path/mmrazor/mmrazor/models/task_modules/demo_inputs/mmpose_demo_input.py", line 36, in <listcomp>
    inputs['data_sample'] for inputs in get_packed_inputs(
TypeError: string indices must be integers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tools/train.py", line 121, in <module>
    main()
  File "tools/train.py", line 114, in main
    runner = Runner.from_cfg(cfg)
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/runner/runner.py", line 431, in from_cfg
    runner = cls(
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/runner/runner.py", line 398, in __init__
    self.model = self.build_model(model)
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/runner/runner.py", line 800, in build_model
    model = MODELS.build(model)
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/registry/registry.py", line 521, in build
    return self.build_func(cfg, *args, **kwargs, registry=self)
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 240, in build_model_from_cfg
    return build_from_cfg(cfg, registry, default_args)
  File "/anaconda/envs/openmmlab/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 135, in build_from_cfg
    raise type(e)(
TypeError: class `DCFF` in mmrazor/models/algorithms/pruning/dcff.py: string indices must be integers

We are sorry. It's a bug, we will fix it as soon as possible.


#80 | Ziyang | Switch to GitHub Actions badge in README.md

Closes #80

Codecov Report

Merging #88 (c4d871a) into main (4eb8080) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #88   +/-   ##
=======================================
  Coverage   97.50%   97.50%
=======================================
  Files           5        5
  Lines         281      281
=======================================
  Hits          274      274
  Misses          7        7

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4eb8080...c4d871a. Read the comment docs.


Enhance Travel Journal to aid in filling out Klimaticket research survey

For evaluating Klimaticket usage, the research team infas is conducting an accompanying research survey. There are different options for taking part in the study and gathering bonus points for additional benefits. If you don't want to have your movement tracked constantly using the "Logbuch Klimaticket" app, being called at inconvenient times or having to fill out plain old analogue paper forms, you can use the online web survey site.
The zug.lol travel journal already contains most of the data that is needed to fill out the online form, it would just be convenient if the data could be processed and summarized as a fill-in help to make it easier for the user. This would be the essential information extracted from the journal:

More detailed information about the travel route (how many changes, which means of travel)
Differentiation between train and long-distance bus journeys and everything else
Used transportation providers

For reference, this is the workflow for filling out the survey form

The idea sounds interesting but as I am not participating in the research survey and currently lack the necessary time for new features for zug.lol I can only offer a review and merge if you want to create a PR for this.


Use correct group id for quarkus-artemis-core dependencies

Thanks!
I fixed another issue in Artemis, I'll release a 1.0.1 soon.

@jamesnetherton 1.0.1 is on its way to Maven Central.


Added support for buster in archive migration

Added new archive migration debian and docker for buster codename

!ci-build-me

!ci-build-me

!approved-for-mainnet


Adding AdAdapted

Please add AdAdapted to the list.  Thank you!

@mrpedersen fyi, this PR is a bit messed up — it introduces a new submodule, but doesn't actually change the home page

@mrpedersen i'll merge this if you resubmit w/o the submodule (see merged PRs for how to format the code)


removed to url parse on this.host since it's broken

The url parse on the host gives wrong results
Example
url.parse('docker:2764')
{
  protocol: 'docker:',
  slashes: null,
  auth: null,
  host: '2764',
  port: null,
  hostname: '2764',
  hash: null,
  search: null,
  query: null,
  pathname: null,
  path: null,
  href: 'docker:2764'
}

One way to solve it would be adding a protocol ahead but as self.protocol, host and port all exists (and should exists as described in the tests) i don't see any role for the url.parse, except to break the application.

I noticed that this.host is sometimes set to hostname wihtout a port. Therefore i sanitize the host input and uses the hostname attribute in url.parse

Humm, people may rely on this and not specify the protocol option directly and then his would be a breaking change.
Whats exactly the problem?
Please submit a test case of it falling.
Related tests: https://github.com/apocas/docker-modem/blob/master/test/modem_test.js#L29


chore: add only the fields which are deprecated to deprecation list

Fixes: #1599,
This PR is to add only the deprecated fields to the deprecated list.

works great, thanks @harshithpabbati !


ReceiverRuntimeMetric no longer available on EventHubTrigger

As shown in this post with the previous version it was possible to inject a PartitionContext with runtime metrics populated into an Event Hub triggered function.
The only thing needed was to add a PartitionContext parameter to the function and a little bit of configuration in the hosts.json:
public static async Task Run(
    [EventHubTrigger("HubName",
    Connection = "EventHubConnectionStringSettingName",
    ConsumerGroup = "Consumer-Group-If-Applicable")]
    EventData[] messageBatch,
    PartitionContext partitionContext) {}

{
    "version":  "2.0",
    "extensions": {
        "eventHubs": {
            "eventProcessorOptions": {
                "enableReceiverRuntimeMetric": true
            }
        }
    }
}

I struggled to find a replacement for this in the new .NET isolated-process model. The only information I found was the following issue which shows how to add the partition context: https://github.com/Azure/azure-functions-dotnet-worker/issues/544
However, it does not include the runtime information of the partition. Is this somehow possible?

I am facing the same issue with my Node.js Azure Function. Any way to retrieve the "runtime information" from my javascript code?

Any news on this?


unable to update stable/jenkins from version 0.10.0 - 0.36.5 "-JavaOpts"

I'm able to successfully update stable/Jenkins ver 0.10.0 to version 0.36.5
pod restarts with:
kubectl -n ci log running-chipmunk-jenkins-5648dc54fb-7k5kg
Error: Could not find or load main class default-src
It seems with the new version update is unable to find JavaOpt classes
JavaOpts: >-
-Dhudson.model.DirectoryBrowserSupport.CSP="upgrade-insecure-requests; default-src 'self' http://ajax.googleapis.com"
Output of helm version:
helm version ()
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.7-dispatcher", GitCommit:"4f8781b65b75a62e37d09671dc43077eb0b4b41f", GitTreeState:"clean", BuildDate:"2019-03-12T00:00:08Z", GoVersion:"go1.10.7", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.7-gke.12", GitCommit:"06f08e60069231bd21bdf673cf0595aac80b99f6", GitTreeState:"clean", BuildDate:"2019-02-25T20:37:10Z", GoVersion:"go1.10.8b4", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
GKE

It seems helms renders the values.yaml differently from version 0.10.0 to 0.36.5 after checking the deployment file.
chart ver.0.10.0
env:

name: JAVA_OPTS
value: "-Dhudson.model.DirectoryBrowserSupport.CSP="upgrade-insecure-requests; default-src 'self' http://ajax.googleapis.com 'sha256-xxxxxxxxxxxxxxxx=' https://cdxx.cloudxxx.com http://cdxx.cloudxxx.com http://net.bootstrap.com http://yui.yahooapis.com; img-src 'self' data: ; style-src 'self' 'unsafe-inline' http://yui.yahooapis.com https://cdxx.cloudxxx.com http://net.bootstrap.com""
name: JENKINS_OPTS
value: ""

VS
chart ver 0.36.5
env:

name: JAVA_OPTS
value: "-Dhudson.model.DirectoryBrowserSupport.CSP="upgrade-insecure-requests; default-src 'self' http://ajax.googleapis.com 'sha256-xxxxxxxxxxxxxxxxxxx=' https://cdxx.cloudxxxcom http://cdxx.cloudxxx.com http://net.bootstrap.com http://yui.yahooapis.com; img-src 'self' data: ; style-src 'self' 'unsafe-inline' http://yui.yahooapis.com https://cdxx.cloudxxxcom http://net.bootstrap.com\""
name: JENKINS_OPTS
value: ""

It does seem the chart is creating another double backslash?

If I understand it correctly you are using this as values:
JavaOpts: >-
-Dhudson.model.DirectoryBrowserSupport.CSP="upgrade-insecure-requests; default-src 'self' http://ajax.googleapis.com"

I am wondering where http://yui.yahooapis.com https://cdxx.cloudxxxcom http://net.bootstrap.com is coming from as that is not specified within you JavaOpts. Or do you specify additional JavaOpts somewhere else?

I believe we only specify this within the JavaOpts directive env only
Set min/max heap here if needed with:
JavaOpts: >-
-Dhudson.model.DirectoryBrowserSupport.CSP="upgrade-insecure-requests; default-src 'self' http://ajax.googleapis.com 'sha256-mp+xxxxxxxxxxxxxxxxxxxxx=' https://cdxxx.cloudxxx.com http://cdnxx.cloudxxx.com http://netdna.bootstrapcdn.com http://yui.yahooapis.com; img-src 'self' data: ; style-src 'self' 'unsafe-inline' http://yui.yahooapis.com https://cdxx.cloudxxx.com http://netdna.bootstrapcdn.com"


How to implement this on ASP.NET Core?

Hi all,
I'm quite new with angular2 + webpack. Can someone help me to integrated this UI into ASP.NET core?

I'm successfully integrate this UI with ASP.NET Core, maybe if you one reference you can download at https://github.com/kodelapan/ng2-admin.git

Hey @kodelapan, thanks for sharing!

I'm closing the issue, hopefully someone will find it helpful.

Please upgrade to vs 2017

@nnixaa @gusleo Please make this for vs 2017 and if possible please update it to the latest theme


Taxon API landing page priority 1 items

See also JIRA issue at https://atlassian.kbase.us/browse/KBASE-3471

Ready to merge the basic items


Fix: block device test fails searching for loop dev

Test TestAccLibvirtDomain_BlockDevice fails searching for available loop device because the command /sbin/losetup --find is not executed as root.

thx


Add vaillant and volvo adapter

npmignore in volvo fixed
vaillant uses the need google action tests. recommended bei create adapter
https://github.com/TA2k/ioBroker.vaillant/actions

please also add travis (create-adapter got changed again) ... topic is that on travis we get very easy get an overview on all adapters ... github actions are currently not allowing this. Thank you!

Automated adapter checker
ioBroker.vaillant

[E300] Not found on travis. Please setup travis

ioBroker.volvo
No errors found

https://travis-ci.org/TA2k/ioBroker.vaillant/

More review comments:
vaillant:

please remove io-package common.installedFrom!
updating values runs at least 120s ... you should find a way to stop such a progress (e.g. having a "stopped" variable which is checked before each communication try or such ... else compact mode will be problematic
Are intervals really a good choice here? Is a timout for the next data call at the end of an working one not better?
Password needs to be encrypted!

volvo:

Password needs to be encrypted!
many requests run in parallel ... really wanted?
these setState should be in the createObject callback  ... https://github.com/TA2k/ioBroker.volvo/blob/master/main.js#L282

Sometimes request are not working I think it is ok to try it again in the interval instead of stopping requesting.
What is the correct way to encrypt passwords?
https://github.com/ioBroker/create-adapter/issues/407#issuecomment-593583775
For Volvo there are only 3 request in parallel why not? The app is doing it the same way.

Not working means? Bringing errors? Then you could implement retries ... but ok ... was mainly feedback. Also for number of parallel requests
encrypt/decrypt see e.g. my Meross adapter

Mh it looks the encryption will change in the future and causes problem but ok.  Will add this

Yes it might change but erbeute make sure not to break things. But yes, later adjustment effort might be needed.

fixed in both repos

RE-CHECK!

Automated adapter checker
ioBroker.vaillant

[ ] :heavy_exclamation_mark: [E144] common.installedFrom field found in io-package.json. Must be removed.
[ ] :eyes: [W400] Cannot find "vaillant" in latest repository
[ ] :eyes: [W505] setTimeout found in "main.js, but no clearTimeout detected

ioBroker.volvo

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "volvo" in latest repository

Add comment "RE-CHECK!" to start check anew

volvo is ok, vaillant needs a last fix @TA2k Thank you!

fixed

RE-CHECK!

Automated adapter checker
ioBroker.vaillant

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "vaillant" in latest repository

ioBroker.volvo

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "volvo" in latest repository

Add comment "RE-CHECK!" to start check anew


transform old form to new form and use a parameter to control

/**
* transfer old form to new form
*
* @param spark your SparkSession
* @param df    dataFrame need to be tansfer
*              +---------+-------------+-------------+-------------+-------------+-------------+-------------+
*              |timestamp|root.ln.d1.m1|root.ln.d1.m2|root.ln.d1.m3|root.ln.d2.m1|root.ln.d2.m2|root.ln.d2.m3|
*              +---------+-------------+-------------+-------------+-------------+-------------+-------------+
*              |        1|           11|           12|         null|           21|           22|           23|
*              +---------+-------------+-------------+-------------+-------------+-------------+-------------+
* @return tansferred data frame
*         +---------+-----------+---+---+----+
*         |timestamp|device_name| m1| m2|  m3|
*         +---------+-----------+---+---+----+
*         |        1| root.ln.d2| 21| 22|  23|
*         |        1| root.ln.d1| 11| 12|null|
*         +---------+-----------+---+---+----+
*/
and use a parameter to control table form
usage : spark.read.tsfile("path", true, spark)

I tried the new change:

To acquire the new form of df, use spark.read.tsfile(“test.tsfile”, true, spark); To acquire the old form, use spark.read.tsfile(“test.tsfile”, false, spark) or just spark.read.tsfile(“test.tsfile”) as before.
@qiaojialin Do you think this is acceptable for users to change between old and new forms?

As for the performance consideration. Given that tsfile is read by path, if we want get new table form, we need to split one row of data and build the iterator. I'm not sure whether this step can be parallelized. In current implementation, I just use union function, which means all operations can be in one stage without shuffle.

As for the performance consideration. Given that tsfile is read by path, if we want get new table form, we need to split one row of data and build the iterator. I'm not sure whether this step can be parallelized. In current implementation, I just use union function, which means all operations can be in one stage without shuffle.

I mean when users want to use the new table form, there will be no wide row which contains all time series at all. Therefore, we do not need to split a wide row into several narrow rows.
The following is an example: suppose the file schema has "s1, s2, s3"
In DefaultSource.inferSchema(), we return the "timestamp, deviceId, s1, s2, s3" to spark to generate the new table form.
In DefaultSource.buildReader(), the required schema is "timestamp, deviceId, s1, s2, s3", suppose the PartitionedFile has one chunk group (device1, s1, s2, s3). Then, we could build a tsfile reader to query three time series : device1.s1, device1.s2, device1.s3 and directly construct the result to an InternalRow and return to Spark.
This step can be parallelized. Each executor in spark will read a partition of one tsfile. These executors could work independently.

I suggest you spend some time updating the docs\Documentation\UserGuide\9-Tools-spark.md as well.

I have to say that the codes you borrowed from are not well written and is difficult to read.


Check if FIT metadata meets the standards outlined in the NOAA data handbook. If not, outline a plan to meet the standards.

NOAA data handbook

@ChristineStawitz-NOAA outlined the metadata sections in FIMS: https://github.com/NOAA-FIMS/FIMS/issues/382#issuecomment-1641133862
However, I now think this is not relevant, as the handbook currently only addresses environmental data, which is not what the FIT metadata is.


Merge "feature/osx-0.16.x" into "develop"

@cpauya This is a PR for merging feature/osx-0.16.x into develop.

Tested, let's get this merged into develop.


AzDO: use pinned toolchain for early swift-syntax build

Also:

bump dependencies (curl 8.4.0, swift-asn1, swift-certificates, swift-collections, swift-crypto)
specify SWIFT_CLANG_LOCATION unconditionally (not only for arm64 builds)
adjust VS redist packaging

Running a final build check right now, but as it is so long on a cloud agent, I see no reason to postpone the review. An early feedback would not harm.

Oh well... When everything seems to be alright, Python decides he doesn't get enough attention. Azure agent has Python 3.12 installed, and FindPython3 prefers its interpreter even when 3.9 is in the path. "Building LLDB Python wrapper" fails with script error "ModuleNotFoundError: No module named 'distutils'".
I will fix that and update PR after checks.

Ok, I think this is safe to land. Even though I still can't get past pipeline limits (max I got it ~95% of the build), Python config in the CMake logs seems to be ok.
@compnerd


NumFmt issues (Number Stored as text)

When I click a cell then comes out of it then the formatting is applied but it is not working directly. I am getting numbers stored as text errors. It is happening with all the numFmt specified.
Please see the screenshot below. Any help would be great.

Anybody who has faced this issue before?

Based on my current experience when using this library:
The format of the data you insert into a cell defines as what type the cell is rendered. If you run the numbers you're inserting through parseFloat before inserting them into the sheet, all numbers should be stored as numbers instead of as text.


unofficial-fhict-document-template:1.0.2

I am submitting

[ ] a new package
[x] an update for a package

Description: Explain what the package does and why it's useful.

Added a version nr display on the cover page

This PR is very small in terms of new features, but this is required for the current internship I'm doing so I need it as soon as I can manage.

[x] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Thanks for the very quick review ❤


Imaging 306 hsl

Line 356:  if (L < 0.5) { ;is unchanged in this branch, shouldn't it be 50 with L between 0 & 100?
According to REQ H should be between 1 & 360, seems to be 0-1 in convertRGBtoHSL and convertHSLtoRGB(), change REQ?


Operator status

The current task does not check the status of operators to make
sure they are successfully deployed. It further breaks the
openstack services deployment by giving unwanted errors.
This patch adds a step to make sure operators are successfully
installed. It will help to fail the job when there is an issue
with the meta operator installation.
Depends-On: #301
This PR has:

[X] no need for checklist

/approve

recheck

(just rebased against main - imho we should be able to merge it if CI is green - WDYT @raukadah ? Still valid?)

thank you everyone for review, I need to close this pr in favor of https://github.com/openstack-k8s-operators/ci-framework/pull/311


After moving ProgressRenderer images, Diary cannot export HTML

We have to add a way to configure the paths for export per game.

Implemented in 1.1.6.


HttpException: Invalid response, unexpected 10 in reason phrase

I'm having an issue while making an HTTP request to my router using dart. I have used http module as well as the dio both throw the same error.
I already have a python module for doing the same thing and it works fine. It seems like an issue in dart SDK as every HTTP request library I tried, throw the same error. An interesting thing I found is that this is not the case with the router's login route, instead, with all the other routes (/goform/getQos, etc).
If you have any idea how to fix this do lemme know. Here's some code.
Unhandled exception:
DioError [DioErrorType.DEFAULT]: HttpException: Invalid response, unexpected 10 in reason phrase, uri = http://<IP_ADDRESS>/goform/getWifi
#0      DioMixin._dispatchRequest (package:dio/src/dio.dart:966:7)
<asynchronous suspension>
#1      DioMixin._request._interceptorWrapper.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:849:37)
#2      DioMixin.checkIfNeedEnqueue (package:dio/src/dio.dart:1121:22)
#3      DioMixin._request._interceptorWrapper.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:846:22)
#4      new Future.<anonymous closure> (dart:async/future.dart:175:37)
#5      Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
#6      _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19)
#7      _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5)
#8      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

This tracker is for issues related to:

Dart core libraries ("dart:async", "dart:io", etc.)

Dart SDK version: 2.10.2 (stable) (Tue Oct 13 15:50:27 2020 +0200) on "windows_x64"

Do you have a repro using a dart:io directly?  If not, you may want to file this on the dio package.

Do you have a repro using a dart:io directly?  If not, you may want to file this on the dio package.

With due respect sir, The error is not a problem with any http client on pub.dev. I strongly think that it's with http parser of dart that throw this error. My guess is it's somewhere in dart:io. I can be wrong!

I tried using dart:io to show that's no the fault of any library.
    final client = HttpClient();
    final request = await client.getUrl(Uri.parse(
        'http://${this._ipAddress}/goform/getQos?modules=onlineList'));
    print('cookie: ${this._cookie}');
     request.cookies.add(Cookie(cookieName, cookieValue));
    final response = await request.close();
    response.transform(utf8.decoder).listen((content) {
      print(content);
    });

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

Indeed i was able to confirm the issue, it is related to the http response header format, flutter expects \r\n at the end of each line like this:
res->header = c_string_create (
	"HTTP/1.1 %d %s\r\nServer: Cerver/%s\r\nContent-Type: application/json\r\nContent-Length: %ld\n\n",
	res->status, http_status_str (res->status),
	CERVER_VERSION,
	res->data_len
);

However, i can say that this is a recent change, because in older versions, you can get away by just using \n at the end of the lines. Currently using:

With:
http: ^0.12.2
http_parser: ^3.1.4
My solution was to actually modify my custom server source code to return responses using the proper header format. Probably another solution is to downgrade flutter itself as i couldn't find any recent changes in http or http_parser Github repos relating to this issue.

However, i can say that this is a recent change, because in older versions, you can get away by just using \n at the end of the lines. Currently using:

I don't think this is a recent change. The code in SDK that throws this error have been there for 8 years or more. You can blame these lines: https://github.com/dart-lang/sdk/blob/master/sdk/lib/_http/http_parser.dart#L607-L617

I am facing a similar issue with connecting my Flutter App to a Express JS API.
The code calling the API is:
Map<String, String> headers = {
  "Content-type": "application/json",
  "Authorization": api_key};
final response = await http.get("http://x.xx.xxx.xx/employees", headers: headers);
print(response);

And the error is:
E/flutter (31095): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Invalid response, unexpected 10 in reason phrase
E/flutter (31095): #0      IOClient.send (package:http/src/io_client.dart:62:7)
E/flutter (31095): <asynchronous suspension>
E/flutter (31095): #1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:91:38)
E/flutter (31095): #2      BaseClient.get (package:http/src/base_client.dart:27:7)
E/flutter (31095): #3      get.<anonymous closure> (package:http/http.dart:46:36)
E/flutter (31095): #4      _withClient (package:http/http.dart:166:20)
E/flutter (31095): #5      get (package:http/http.dart:46:5)
E/flutter (31095): #6      SignInForm.build.<anonymous closure>.<anonymous closure> (package:project/src/presentation/sign_in/widgets/sign_in_form.dart:132:44)
E/flutter (31095): #7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:993:19)
E/flutter (31095): #8      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1111:38)
E/flutter (31095): #9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:183:24)
E/flutter (31095): #10     TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:598:11)
E/flutter (31095): #11     BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:287:5)
E/flutter (31095): #12     BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:259:7)
E/flutter (31095): #13     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:157:27)
E/flutter (31095): #14     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:362:20)
E/flutter (31095): #15     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:338:22)
E/flutter (31095): #16     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:267:11)
E/flutter (31095): #17     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:295:7)
E/flutter (31095): #18     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:240:7)
E/flutter (31095): #19     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:213:7)
E/flutter (31095): #20     _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter (31095): #21     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (31095): #22     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter (31095): #23     _invoke1 (dart:ui/hooks.dart:265:10)
E/flutter (31095): #24     _dispatchPointerDataPacket (dart:ui/hooks.dart:174:5)

With an API-Tester, I can confirm that the endpoint returns some JSON data.
I am confused about the error. It seems to happen while parsing the response from the server, as it says "Invalid response". However when I look into the server console, no http request from the app has reached the server. how does one fit with the other? Why does the app throws a response parse error when according to my understanding no response could have been received?

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

I'm thinking to creating a native_http that uses libraries already developed for Android and iOS which doesn't have this issue.
I think it would be better than writing a http parser

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

I'm thinking to creating a native_http that uses libraries already developed for Android and iOS which doesn't have this issue.
I think it would be better than writing a http parser

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

I'm thinking to creating a native_http that uses libraries already developed for Android and iOS which doesn't have this issue.
I think it would be better than writing a http parser

which libaray?

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

I'm thinking to creating a native_http that uses libraries already developed for Android and iOS which doesn't have this issue.
I think it would be better than writing a http parser

which libaray?

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

I'm thinking to creating a native_http that uses libraries already developed for Android and iOS which doesn't have this issue.
I think it would be better than writing a http parser

which libaray?

Currently I don't know of any library that doesn't use dart's http parser

Your server seems to send malformed response: finishing Status-Line with LF rather than CRLF as described in the HTTP/1.1 spec.
FWIW HTTP/1.1 recommends to be tolerant and accept just LF as a line ending where CRLF is expected and there is no ambiguity - and we don't seem to be tolerant.
But in any case I'd start by fixing your server @talhabalaj to be compliant.

I understand that but this isn't my server. This is just a WiFi router I have, I can't fix it. Is there any other way to resolve this issue? Like an alternative to the dart's HTTP parser?

I also want to know

I'm thinking to creating a native_http that uses libraries already developed for Android and iOS which doesn't have this issue.
I think it would be better than writing a http parser

which libaray?

Currently I don't know of any library that doesn't use dart's http parser

Indeed i was able to confirm the issue, it is related to the http response header format, flutter expects \r\n at the end of each line like this:
res->header = c_string_create (
	"HTTP/1.1 %d %s\r\nServer: Cerver/%s\r\nContent-Type: application/json\r\nContent-Length: %ld\n\n",
	res->status, http_status_str (res->status),
	CERVER_VERSION,
	res->data_len
);

However, i can say that this is a recent change, because in older versions, you can get away by just using \n at the end of the lines. Currently using:

With:
http: ^0.12.2
http_parser: ^3.1.4
My solution was to actually modify my custom server source code to return responses using the proper header format. Probably another solution is to downgrade flutter itself as i couldn't find any recent changes in http or http_parser Github repos relating to this issue.

how to modify the server?

Indeed i was able to confirm the issue, it is related to the http response header format, flutter expects \r\n at the end of each line like this:
res->header = c_string_create (
	"HTTP/1.1 %d %s\r\nServer: Cerver/%s\r\nContent-Type: application/json\r\nContent-Length: %ld\n\n",
	res->status, http_status_str (res->status),
	CERVER_VERSION,
	res->data_len
);

However, i can say that this is a recent change, because in older versions, you can get away by just using \n at the end of the lines. Currently using:

With:
http: ^0.12.2
http_parser: ^3.1.4
My solution was to actually modify my custom server source code to return responses using the proper header format. Probably another solution is to downgrade flutter itself as i couldn't find any recent changes in http or http_parser Github repos relating to this issue.

how to modify the server?

I also used to connect to the WiFi Router
It took me 2 hours to find one that worked!
https://pub.flutter-io.cn/packages/sync_http

@aam this might be the next high profile dart:io issue to tackle (/cc @a-siva)

https://dart-review.googlesource.com/c/sdk/+/192120 with proposed fix

When will this be changed (relaxed) because I need that now... I already written own channel for ios and android but now I want to deply a windows desktop version which means I would have to write another channel in c++!
I am on http_parser: 4.0.0 and there it is still throwing this error

@gutisalex the abovementioned fix landed in dart sdk should be available in dart version 2.13.0-155.0.dev and higher.


Default Automatic Differentiation Choice

Forward AD

[ ] Non-Sparse Default AD should be AutoPolyesterForwardDiff (if that package is loaded). This will be similar to SimpleNonlinearSolve

Reverse AD

For in-place problems, we default to AutoFiniteDiff. This is a really bad choice. We should default to: (conditional on the package being loaded)

[ ] AutoReverseDiff (after implementing the corresponding version in SparseDiffTools) for non-GPU versions
[ ] AutoEnzyme for all other cases

Should we just depend on Polyseter and make it the default here?

AutoPolyesterForwardDiff (if that package is loaded)

OrdinaryDiffEq.jl depends on Polyester, and so you might have an odd interaction that some codes work better or worse depending on whether you have the ODE solver loaded, and this might be a little invisible to many users.

For in-place problems, we default to AutoFiniteDiff. This is a really bad choice. We should default to: (conditional on the package being loaded)

Why not Forward? Are you talking about a specific size of the Jacobian?

I am still debating on the default as polyesterforwarddiff, for the bruss we see a clear improvement but for the battery problem there is a slowdown. I need to investigate this a bit to verify it is not my code that is problematic.

Why not Forward? Are you talking about a specific size of the Jacobian?

We could construct the full jacobian and then compute the VJP but the default was based on the implementations available in SparseDiffTools and was not updated after that. Currently we maintain the JacobianOperator in house so we can easily switch that as well.

The problem is that if there are any other threads then it's not going to be a speedup since you'll lock the threads. This makes it pretty unsafe unless the user knows it's going to be using Polyester. That is why in OrdinaryDiffEq.jl it's always an opt-in (and maybe something we can make into an extension), and I think the same would need to be done here.
I think we should highlight it in documentation and tutorials much better than we do now, since indeed for any large enough problem it's a good idea, but it's hard to make something that bypasses hierarchical threading into a default.

We could construct the full jacobian and then compute the VJP but the default was based on the implementations available in SparseDiffTools and was not updated after that. Currently we maintain the JacobianOperator in house so we can easily switch that as well.

Oh you're talking about the default vjp, for some line searches?

Oh you're talking about the default vjp, for some line searches?

For some of the line searches and if you use a krylov method like LSMR requiring both $J^Tv$ and $Ju$

That is why in OrdinaryDiffEq.jl it's always an opt-in (and maybe something we can make into an extension), and I think the same would need to be done here.

Do you have a link to the docs for that? We can have it be consistent here

It's not documented well, and it's used in a very different way. It's just in some methods you can set threads=PolyesterThreads(). We should highlight it in the docs and make it into a package extension though.

I'm only seeing this now but I want to highlight a caveat. In DI, ReverseDiff is the only package that does support constant arguments but is slowed down significantly by those. The reason is because you can no longer tape anything if the constants change in further function calls.


Event Hubs webjobs extension should cancel retry loop if lease is lost

Port the fix for this issue to 5.x eventhubs webjobs extension:
https://github.com/Azure/azure-functions-eventhubs-extension/issues/92

Fixed via #27340