HDF: Fix MSVC build. (Issue #546).

This patch fixes hdf5 build for MSVC: https://github.com/Itseez/opencv_contrib/issues/546
At the PR time the msvc buildbot lacked hdf5 lib thus build verification was not possible.

@mshabunin , @vpisarev , @alalek
Could please help me with the buildbots, seems that on several hdf5-lib is missing:
-- Could NOT find HDF5 (missing:  HDF5_LIBRARIES HDF5_INCLUDE_DIRS)

Only the Linux buildbot have it, so e.g. I cannot proof this PR is valid.
Would be nice to be available for VS2013, VS2014, Mac (perhaps android too ?!)

Thanks !

Almost all 3rdparty dependencies are optional:

There is not easy to maintain them all, especially patched versions.
We can't check all possible configurations (in your case, with and without hdf5 libraries), so we check "default" configuration at least.
Windows environment is not user friendly to manage 3rdparty dependencies. But I will try to find some simple guide how to install HDF5 on Windows.
Missed dependencies should not break existed builds (all is fine here). Users should be able to build OpenCV without installing "unused" 3rdparty software.

I have installed HDF5 on Win10 slave (MSVS 2015 / Win64 only)
Added valid HDF5_DIR environment variable.

But this doesn't work due some unexpected failures.

@alalek ,
For 1,2,3 understood the points, there is no problem. However this PR still can be merged for MSVC users.
New issue, would require your help:

Can help me with this issue that appeared today on VS2015 buildbot ?
Logs are here: http://pullrequest.opencv.org/buildbot/builders/precommit-contrib_windows_ten/builds/313/steps/cmake/logs/stdio

It appears that on VS2015 CMake's internal FindHDF.cmake module see the header files (H5version.h) since its able to detect the version but not the library itself (probably cannot find the path).
-- Could NOT find HDF5 (missing:  HDF5_LIBRARIES) (found version "1.8.16")
CMake Warning (dev) at C:/utils/cmake-3.4.1/share/cmake-3.4/Modules/FindHDF5.cmake:234 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "hdf5".
Call Stack (most recent call first):
  C:/builds/precommit-contrib_windows_ten/opencv_contrib/modules/hdf/CMakeLists.txt:3 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Checking SFM deps... FALSE

@cbalint13 I installed HDF5 on Windows slave as requested, errors(warnings) are coming from this change.

@cbalint13 Could you replace find_package(HDF5) statement to this?
find_package (HDF5 NAMES hdf5 COMPONENTS C static)

@alalek ,

I did not saw that you added HDF5 to VS2015 build. As described by me (upper) I think cmake cannot see the very library at all, but sees the header files. In my experience HDF5_LIBRARIES is needed to be declared too manually, not only the generic HDF_DIR.

@aalek,

I replace this now: find_package (HDF5 NAMES hdf5 COMPONENTS C static)

Lets see.

@alalek

find_package (HDF5 NAMES hdf5 COMPONENTS C static) fails on local:

CMake Warning at opencv_contrib/modules/hdf/CMakeLists.txt:3 (find_package):
  Could not find a package configuration file provided by "HDF5" with any of
  the following names:

    hdf5Config.cmake
    hdf5-config.cmake

  Add the installation prefix of "HDF5" to CMAKE_PREFIX_PATH or set
  "HDF5_DIR" to a directory containing one of the above files.  If "HDF5"
  provides a separate development package or SDK, be sure it has been
  installed.

There are problems with such statement:

1 CMake internal is called /usr/share/cmake/Modules/FindHDF5.cmake not hdf5Config.cmake.
2 Forcing static would break linux distros where hdf comes in dynamic form.

This looks fine: find_package(HDF5 COMPONENTS C)
I believe buildbot can be curred only if HDF5_LIBRARIES is declared manually in case of MSVC build.

@cbalint13 Please note: I follow an official guide of HDF5 library and use HDF5_DIR:
https://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/release_docs/USING_HDF5_CMake.txt
It is not easy to pass HDF5_LIBRARIES on slave via setting environment variable: http://pullrequest.opencv.org/buildbot/builders/precommit-contrib_windows_ten/builds/319/steps/cmake/logs/stdio
HDF5_LIBRARIES=C:/utils/HDF5/1.8.16/lib
...
Could NOT find HDF5 (missing:  HDF5_LIBRARIES HDF5_INCLUDE_DIRS)

Also it can't be passed via cmake command line due some problems (build commands are shared between slaves (we have several Windows slaves), so absolute paths are smell there). Also there is our policy of testing "default" setup, so commands should be short as possible.
You can try to play with it (insert before find package):
ocv_check_environment_variables(HDF5_LIBRARIES HDF5_INCLUDE_DIRS)

Also this  approach works on Linux:
find_package (HDF5 QUIET NAMES hdf5 COMPONENTS C static)
if(NOT HDF5_FOUND)
  find_package(HDF5 QUIET)
endif()

Anyway I believe this switch helps in all other cases:
if (WIN32)
  ...
else()
  ...
endif()

@alalek ,

First, many thanks for the time spent helping me !
I'll try tackle more as suggested, plus few my ideas, but will end up with IF WIN32 things if I fail.
Will look into a real MSVC  machine too to better understand the failure.

Be back,
~cristian.

@alalek ,

Can put back the package to the path C:/utils/HDF5/1.8.16 ?
Can send me in private the full dir layout of ls -lR C:/utils/HDF5/1.8.16/* ?

Done: hdf5_setup.txt

@alalek ,

Can remove enviroment "HDF5_DIR=C:/utils/HDF5/1.8.16/cmake" ?

@alalek ,
Lets have HDF5_DIR in final, don't remove:

Here we go: https://github.com/cbalint13/opencv_contrib/commit/b9e6e0ebe671445f4d2bbfc997a0a19cde2b24bf , i just mimic official HDF5_DIR way on MSVC.
I hope will be acceptable to declare cmake's internal HDF5 routine broken on MSVC.
Seems that now have in buildbot 'vars' all the proper paths:

HDF5_INCLUDE_DIRS=C:/utils/HDF5/1.8.16/include
HDF5_LIBRARY=C:/utils/HDF5/1.8.16/lib/hdf5.lib

I'll wait until it builds fine.
On any other issues will fix (i expect none but it may require szlib.lib dependency).

@alalek ,
By hereby patch I propose a simple fix for MSVC land. Few thoughts over HDF5 & CMake especially on MSVC:

CMake internal FindHDF5.cmake is clearly broken, it even don't handle HDF5_DIR at all, i checked it source.

In contrast CMake internal FindHDF5.cmake may work better, but booth in fact are looking over env${PATH} as HINT to find folders, but not fully working if one tries it out as documentation states. The idea is to install their .msi installer and just to work out of the box via installed system PATH. Doesn't work either (only partially), at least for several latest hdf5 binary releases.

Original FindHDF5.cmake from hdf5 tarball (might be better then CMake's) package seems ever changing thus would be hard to maintain, not counting that I believe is over-sophisticated.

All three statements are valid even for older hdf5 binary release as all my tests concluded. My final conclusion is to handle with separate simple & maintainable routines via env{HDF5_DIRS} just like actual patch does. Or perhaps even accounting the PATH environment that is always settled by .msi installers. Actual patch can be extended with ease to handle more HINTS if will be necessary at any time.
Let me know if would like to add to HINT the +env{PATH} too (a bit regexped and filtered). Perhaps it is a good idea to have booth HDF5_DIR and PATH lookup.

:+1:


Update  my portfolio README.md

I just migrate my portfolio to Astro
Portfolio Author

Portfolio Link?

GitHub Link:

Tech Stack

Hi, I just Update my Portfolio and migrate to Astro Framework


resolving with custom parameter values

I've a named registration of;
            _container.Register<IVariantSubproduct, StainlessSteelPlate>("PAS.LEV");
and definition of the class is
        public StainlessSteelPlate(ISubproduct subproduct):base(subproduct)
        { }

So i can named-resolve it like;
            return _resolver.Resolve<IVariantSubproduct>(code);
but how can I supply the value of parameter?
            return _resolver.Resolve<IVariantSubproduct>(code, params?);

I tried changing my factory resolver to;
        public IVariantSubproduct GetVariantSubproduct(string code, ISubproduct subproduct)
        {
            return _resolver.Resolve<IVariantSubproduct>(code, false, new object[] {subproduct});
        }

and calling it with;
_subproductFactory.GetVariantSubproduct(x.Code, x);
but getting
Cannot resolve type WareEngine.Modules.Stocks.Models.Subproducts.Variant.IVariantSubproduct.
Service is not registered or unresolvable type requested

Hey, the second one is the proper way to pass a parameter, however, it's not working now because of a bug. I'm going to fix it now and publish a new version.
Thanks for reporting!

Could you please check the latest pre-release version? Thanks!

Okay i'll let you know.
meanwhile i used this workaround
return _resolver.ResolveFactory<ISubproduct, IVariantSubproduct>(subproduct.Code)(subproduct);

okay
return _resolver.Resolve<IVariantSubproduct>(code, false, new object[] {subproduct});
works all good now but I guess I've found a better way to accomplish what i need;
return _resolver.ResolveFactory<ISubproduct, IVariantSubproduct>(subproduct.Code)(subproduct);

Thanks for the feedback!
Sure, that works too, but I would recommend saving the generated factory somewhere because although it's cached by the container, it could be recreated when the dependency tree changes.

so when it get's recreated will i have problems accessing the items or your recommendation is just sake of optimization?

Just for optimization purposes, the factory remains stable. The container wipes out the whole cache only when you register something after you created the factory and if you do that frequently it could be regenerated over and over again, but if it's not the case, it'll remain cached, so it's fine with your version as well.

Ah I do registrations only while initial initializing, still thanks for the heads up and great library!


Access to hubic backups

With Switt Explorer I can see my backups on hubic, but trying to access them I get an "unable to execute the HTTP call or to convert the HTTP response"
Any idea?

I started using swift explorer application but it does not upload bigger file, does anyone have same problem?. Also if some one can help. The software is very good.


Apply data source setter to controls without specific binding

closes #261

Coverage increased (+0.04%) to 96.565% when pulling 4649b9b602468dab85d6295d6a0c044886beb84d on dkamburov:fix-261 into 3eef34d42a85cd336e4268529b380e0466f174c0 on IgniteUI:master.


Azure SQL database backups - responsibility to monitor and fix

Hi,
Since there is currently no mechanism to monitor the backups for Azure SQL database, if an automated or LTR backup fails for any reason, will Microsoft look into and fix the issue?
Looking from PaaS responsibility sharing perspective, is it Microsoft or Customer's responsibility?
thanks,
Waheed

@waheedhussain Could you provide us with the link to the document you are referring to ?

please find link below
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/sql-database/sql-database-long-term-backup-retention-configure.md

@waheedhussain Adding the actual document link - https://docs.microsoft.com/en-us/azure/sql-database/sql-database-long-term-backup-retention-configure

@waheedhussain Although there is no direct means for monitoring a specific back-up process, as part of PaaS and SaaS services, Microsoft is responsible for monitoring and proactively responding to issues that arise during the course of providing that service.
Additionaly, for any failed backup for a specific database, there will be a notification alert in the Notifications drop-down list in the Azure Portal.
As you know, there are short-term back-ups and long-term back-ups. The link below explains short-term and this specific issue was opened against the long-term retention documentation. The short-term back-ups are automatic and require no additional configuration. The long-term retention policy needs to be configured.
Learn about automatic SQL Database backups
Is there a specific situation where back-ups are failing or do you have a general question about how the service is supported?
Thank you, Mike

Hi Mike, this was general question regarding backups, both automatic backups and LTR.
So i understand if either one of them fails for any reason

Microsoft will look into resolving this: do we need to create a support ticket for this or is it part of PaaS monitoring that Microsoft has and will look into resolving this without us contacting Microsoft?
The notification is available in azure portal for both.

Thanks,
Waheed

This is correct. If, however, you are seeing multiple notifications for back-up service issues, I strongly recommend that you be proactive and open a support request to have the issue investigated. The notifications are not extremely clear but, there is a notification that an issue occurred.
Regards,
Mike

@waheedhussain We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Update dhall-generic to 0.3.76

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "us.oyanglul", artifactId = "dhall-generic" } ]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Codecov Report

Merging #184 (d85842e) into master (1e0bc28) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #184   +/-   ##
=======================================
  Coverage   98.27%   98.27%
=======================================
  Files           1        1
  Lines          58       58
  Branches        2        2
=======================================
  Hits           57       57
  Misses          1        1

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 1e0bc28...d85842e. Read the comment docs.

Superseded by #189.


Moving away from GitHub readiness plan

This is not something I've decided to action or currently plan to go ahead with, I just think it's wise to think and plan something like this through in the event we want/need to migrate. Better to be ready in such circumstances.
This post is intended to evolve over time.
Motivation
As time goes on, and as GitHub develops under Microsoft, it feels increasingly uncomfortable to be on the platform.
Here are some of the reasons for this in the context of managing BookStack:

Being a self-hosted open source platform, a significant portion of our audience will be those that value their privacy and rights. Using a platform, and agreeing to terms, from a large company like Microsoft may be a barrier and/or an unfavourable element in getting involved with the project.
Being an open project, it would be favourable to use open and support open platforms ourselves.
The consumption of all public code on GitHub, without opt-in or proven regard to license, to provide AI services reflects the balance of GitHub's drive for revenue vs their respect to authors.
They now seem to be willing to sacrifice UX to chase revenue. Reference.
They seem to be increasingly be pivoting to be an "AI platform" over that of being a open source development platform.

They now describe themselves, on their homepage, as "The AI-powered developer platform to build, scale, and deliver secure software."

They've started swapping out logical/functional features with "AI" or "Algorithm" based features. Reference.

At the time of writing, none of these reasons have been specifically raised to me as concerns from community members, and none specifically are major to the point where I think a change is required, but they show an unfavourable direction I'd like to be prepared for if it continues.
Benefits of GitHub
There are some benefits we get from GitHub that it's important to consider:

They serve as a monetary-cost-free host & platform for our code, and management of code and issues.
The platform has significant popularity and market share, which does help involvement/access.
Quite subjective, but I think the UI is relatively friendly with features like issue forms that help user UX and issue management.
We get monetary-cost-free access to CI process via GitHub actions.
GitHub sponsors has served me well, with a significant portion of my income from the service.

Our Attachments to GitHub
The below list the ways that the project is entwined with the GitHub platform, that we'd need to consider for potential migration:
Note: Actions & potential plans are not listed for these yet, but I plan to outline ideas for those out in future. I am aware for each of these there will be solutions and options.

We maintain 6 active repos for BookStack. There will be links to these from external sources for from within our own content.
We've made heavy use of GitHub issues, and have many open and closed issues that are quite valuable (along with all the comments). Additionally, there's a lot of cross-referencing of GitHub issue IDs within commits which do have a good amount of value.
We use GitHub actions for our CI processes.
I get significant income from generous folks via GitHub sponsors.
Our installation and update process specifically uses git via the GitHub address.
We have composer within our install/update process which I believe heavily makes use of GitHub on usage to download package code (This is more tangential relative to our own direct use of GitHub, but still something to consider).
We make use of easy integrations of external systems with GitHub (Crowdin, Codeclimate).
I believe some community projects (like linuxserver) watch for changes via GitHub release changes.
We use GitHub PRs for contributing code.
Minor factor, but GitHub stars are somewhat nice to track relative growth over time.

Alternatives
Here are potential alternatives along with my very high-level thoughts:

Codeberg
sourcehut

I respect the platform and vision, but always felt the UX is targeted at a developer audience that is not me (Personal preference).

GitLab

Not sure on their direction. Hosted GitLab for a number of years, felt their focus was increasingly put on commercializing & enterprises, with wilting focus on the open core.

Gitea

I've had success hosting GitLab on-prem internally for years. Their upgrades and updates for me at least have never been problematic, but then I don't use a tenth of the "devops" deploy stuff.
However, about the time I was finally ready to migrate from GitLab's on-prem to their cloud, they suddenly did a huge price-hike almost overnight. They have had even more changes since then. Some people had invested heavily in their product due to the features and reasonable prices... suddenly many were left with double or triple the monthly cost. Since then, I've been wary of their motivations.
I have a separate instance of Gitea which I keep fully updated and ready for the moment when either I get time to convert over, or GitLab pulls some other stunt. However, Gitea has its own "potential" issues with the community. This happened back in Oct 2022 and I'm not sure why people were so upset, but nevertheless... https://blog.gitea.com/open-source-sustainment/.
However, of all the ones I've tested, I keep coming back to Gitea for the simplicity of maintenance and "enough" features.

The energy from the broader community still seems to be with GitHub, so I think it makes sense to stick with it until such time as there is a large pivot to another service. While some of the other alternatives that have popped up seem attractive from time to time, they all suffer from the main issue of needing to make enough money from the service to stay alive as a company, and they have consequently made disruptive changes to their platforms as a result. That's hard to rival Microsoft in this space.

Lately, there is a new project that aim to create a true community-driven open-source alternative to big platform like github or gitlab. Forgejo is an active fork of Gitea, supported by codeberg https://forgejo.org/. I think it's great but you will need to find the right 3rd platform to host you, or host it your self.

Out of curiosity since I saw them on the list, what are your personal thoughts since originally posting, about Codeberg and Gitea?

@daffydock I don't really have any major opinions right now, as I haven't delved too deep into either. From a quick look over, Codeberg seems to be more aligned with what I'd want to move to (community focused, user membership with donations) compared to gitea (appears focused on enterprise/commercial).

Received this notification from GitHub:

Git LFS has been disabled on the organization BookStackApp because you’ve exceeded your data plan by at least 150%. Please purchase additional data packs to cover your bandwidth and storage usage:

As far as I can see, we have no ultimate control over LFS bandwidth on a public repo since public clones/downloads consume this :facepalm:.
Additionally, GitHub have started adding AI for PR description inputs, I can only imagine they'll want to bring this to issues too, encouraging the time we'll be reading/responding to AI generated content rather than human context.

I've now moved much of my personal stuff over to Codeberg, with a few things left on GitHub for historical access or because of some complications to deal with before migrating over.
I've moved my private repos to a self-hosted Forgejo instance.
Will soon start a migration of most BookStack repos to Codeberg (website, hacks, devops, etc...).
For this main BookStack repo, I'm going to take this one slow. I'll look to move the direct download (for install/updates) to use https://source.bookstackapp.com.
Then management may be on Codeberg, mirrored to source.bookstackapp.com and GitHub.

All secondary BookStack GitHub repos have now been migrated to BookStack on Codeberg. GitHub repos have been archived, with descriptions/URLs pointing to the new codeberg project.
Website references to old GitHub locations have been updated where found, although some sneaky references may remain. Will just update as we find them.

As the user base grows, I imagine the burden on yourself also grows. Are you concerned that, without GitHub sponsorships, it may no longer make sense for you to maintain the project? To be clear, I'm not suggesting you should compromise your values for the sake of the project. I just hope you don't sacrifice yourself for the sake of the project 🙂

@robderickson I don't need to completely give up GitHub sponsorships as part of a move, they're just noted as a form of GitHub attachment. I'd retain an account (and probably a mirror for BookStack due to existing use of the repo URL). It does mean maybe less traffic/access to that potential route of donation.
My sponsorhips via other means (KoFi + stripe/paypal) is growing though, and donations/sponsorships are becoming are less vital (although still very much helpful and appreciated) since support services are becoming a large income source so the financials are becoming more diverse in general which I think is healthy overall (regardless of GitHub being a factor).
Thanks for your care/consideration though!


[ANCNHOR-626] Update ClientsConfig with SigningKeys and Domains

Description

Deprecate signing_key and domain, replace with signing_keys and domains
Remove signing_key field for noncustodial client (usage only found in validation)
Replace the use of signing_key and domain with signing_keys and domains in related function and test cases

Testing

./gradlew test

Documentation
Will update in https://developers.stellar.org/network/anchor-platform/admin-guide/sep10

Can we add tests that has multiple signing_keys and multiple domains?

Can we add tests that has multiple signing_keys and multiple domains?

Yes I have changed PropertyClientsConfigTest.kt to use signingKeys and domains for testing, in this way we can test with multiple values
I will add tests for getClientConfigBySigningKey and getClientConfigByDomain to validate it

LGTM! If you could, do you mind adding tests to check backward compatibility? (i.e. checking that when domain is defined, domains is automatically set to set of one domain and same for custodial key) Just to ensure backward compatibility is covered by the test

Yeah test for postConstruct() is added to PropertyClientsConfigTest


Updated updater.py

Changed None to None in the docstring
Signed-off-by: Abhisman Sarkar<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.129%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1303

Relevant Lines:
1319

💛  - Coveralls


I can't use post_link

i use the post_link in my post (follow this, but after generate, it not work
also I check previous post, the link also disappear....lol

sorry, it's my mistake


Deleted services showing up in dropdown of target services in Load Balancer

v0.29.0-rc1
Steps to Reproduce:

Create a Service/LB Service
Delete the Service. The service will no longer be visible in the stack.
Immediately, add a LB Service.

Result: In the target service dropdown, the deleted service will still be an option.
Expected Result: If the UI is no longer showing the service in the stack, the dropdown on the load balancer should not show the target service of the deleted service.
Note: When linking services, the service drop down shows the state of the service, so it's clear that the service is already removed. That is a potential option to make it more clear.

Also same control in new alias service and regular service "service links".  And reduced it from num_stacks+1 API calls to 0-2, depending on what else was already loaded.

Version - master UI 3/18
Verified fixed


Bug title

Describe the bug
In the process of using Flyout, I noticed that when the color of the system changes, the color of Flyout does not change.
If the visual effect of the system is light color, so is the visual effect of the app. But when I enter the system settings to select light color or dark color, it is the opposite color.
The picture is just an example.

Steps to reproduce the bug

Create a new project and write a flyout element.
Enter the system settings to change the system color to the opposite color.
Click the element of the assigned flyout, and a bug appears.
Note: The applied color setting is Default

Expected behavior
The color of flyout should be consistent with the system, but it did not.
Screenshots
No response
NuGet package version
Windows App SDK 1.2.1: 1.2.221116.1
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
Visual Studio 2022
Additional context
No response

Now I give him the color displayed after the change by visual color change event, but according to common sense, he should change automatically.


Authentication type in Zone CP view

What happened?
Authentication type in Zone CP view says "serviceAccountToken", which might indicate that the zone is using service account token to authenticate to global CP. When it reality it's DPPs that authenticate in this zone use serviceAccountToken.

@jakubdyszkiewicz @kleinfreund I feel like this has been done no?

I think so. We read data from the API in src/utilities/helpers.ts:140 (dpServer.auth.type on subscription configs), so if that data is correct, the UI will display it.

Right misunderstood this issue. It's about showing Zone auth not DPServer auth.

On:

Instead of Authentication type let's name this Dataplane authentication type this will be clearer to users


Some weird loop when getinfo using search

https://gist.github.com/leonekmi/21614cf40a2cf5eef2517e9f2c450f59
Got with
ytdl.getInfo(search, ['--default-search="ytsearch"'], callback);
When using from CLI, it works normally.

It should be working fine now, ping me back in order to reopen the issue 🙂


rename the remaining read_<foo>_from_odx() functions

most of these are factory functions that are now called create_any_<foo>_from_et(), while functions which produce a list of objects are called   create_<foo>s_from_et(). Finally, unspecific helper functions are called create_<foo>_from_et()  (e.g. create_description_from_et())
Andreas Lauser<EMAIL_ADDRESS>on behalf of MBition GmbH.
Provider Information

thanks for the approval. merging


Updating Remix documentation on how to implement Chakra UI

Closes #220
📝 Description
I've updated the documentation on how to implement Chakra UI with Remix.
⛳ Current behavior (updates)
The documentation is outdated and inaccurate.
🚀 New behavior
The users will have accurate documentation regarding Remix and ChakraUI.
💣 Is this a breaking change (Yes/No):
No.
📝 Additional Information
/

It's clever that you got it working but I don't expect this to be completely correct - it's also not cost-free. I think this requires a better solution and I would appreciate a reach out to me, as the Emotion maintainer, in such situations - we could brainstorm solutions together. I've just learned about this guide though so I wasn't able to provide any guidance or review on this one.


client should durations.

Proposal: client should be able to support duration fields.
Current behavior: time.Duration is encoded as a string.
Desired behavior: have it encoded as a numeric value
Use case: its surprising behaviour, and leads to fields with strings when a user expects a number meaning aggregate functions cannot be used when querying.
see appendField

@james-lawrence how are you inserting data into Influx? I'm assuming you're using the Go client library? You can make the time.Duration numeric by converting it to an int64 before you set it as a field value.

@e-dard I'm aware of the workaround, problem is it is unexpected behaviour and leads to bad data in the database that then becomes somewhat painful to clear out. best to just avoid that behaviour all together.

@james-lawrence we support very language agnostic datatypes: integers, floats, strings and bools. A duration is just an integer with some extra semantic meaning.

correct, and thats my point. it should be converted to an integer and not a string.


Main b 18910 gun safe frontend

B-18910
INT PRs
#12458
#12512
This branch adds the frontend changes necessary to allow an SC or TOO to indicate whether or not a customer is entitled to move a gun safe as part of their move.

There is now a checkbox on the "Edit Allowances" page with the label "Gun safe authorized" which allows the govt. user to indicate the gun safe status.
On the shipment card that is under the "Edit Allowances" link, a row has been added that indicates whether a gun safe has been authorized or not. This allows the user to easily see that their changes have been saved.

How to test

Access the Move Details page of any move as an SC
Scroll down to the allowances card, verify that there is a new row at the bottom for gun safe, and that it is "Unauthorized".
Click the link, check the box for "Gun safe authorized", then click submit.
Scroll back down to the "Allowances" card and verify that the Gun Safe value is now "Authorized".
Repeat steps 1-4 while logged in as a TOO.

The new row in the shipment card:

The new checkbox on the Edit Allowances page:

Additionally, the gun safe entitlement is now visible to the Prime when they are viewing a move's information.
How to test

Access the Move Details page of any move as an SC
Scroll down to the allowances card, verify that there is a new row at the bottom for gun safe, and that it is "Unauthorized".
Click the link, check the box for "Gun safe authorized", then click submit.
Scroll back down to the "Allowances" card and verify that the Gun Safe value is now "Authorized".
Repeat steps 1-4 while logged in as a TOO.
Now the move should be available to Prime, login as Prime and view the move, near the end of the move info, under "Diversion", there should now be a new field titled "Gun Safe", which should display the value you entered as SC/TOO.

verify report:
B18910-12646.verify_rpt.txt
there are some diffs


feat: show error if async helper leaking

SSIA

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (1bc0ba4) 99.79% compared to head (eae3dec) 99.80%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master       #7   +/-   ##
=======================================
  Coverage   99.79%   99.80%
=======================================
  Files           6        7    +1
  Lines         489      504   +15
  Branches       72       74    +2
=======================================
+ Hits          488      503   +15
  Misses          1        1

Files Changed
Coverage Δ

errors/leaking_async_ops_error.ts
100.00% <100.00%> (ø)

errors/mod.ts
100.00% <100.00%> (ø)

test_stream.ts
99.78% <100.00%> (+<0.01%)
:arrow_up:

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


Aura Ends When Used

Describe the bug
When attempting to setup a persistent effect such as an aura that grants a bonus to saves, the effect ends when a save is rolled.  The effect should be persistent, or there should be an option to make it persistent.
To Reproduce
Steps to reproduce the behavior:

Setup an aura that grants a bonus to saves:
-DAE flags.midi-qol.optional.NAME.save.all, add, @abilities.cha.mod
-Aura Yes, Allies, Radius = 5, -, -, -, check token height, -, Apply Active Effect icon to affected tokens? -, -
Move an allied token in range, and make a save
Make another save on the allied token

Expected behavior
The charisma bonus should be applied to both saves.  It is applied to the first allied save, but that ends the effect..
Screenshots
If applicable, add screenshots to help explain your problem.
Environment:

OS: Self hosting, raspberry pi x64.  Windows client
Browser Multiple
Foundry Version 9.280
Module Version Latest as of 1/3/23
All Modules Disabled: No
Module List if no: Lengthily

Additional context
Add any other context about the problem here.

You're creating an "optional" effect on the target, which behave slightly different, try using system.bonuses.abilities.save instead.


In v5 can't use import * as styles with css modules, bug?

Hello,
after upgrading to v5 I can not use anymore named import such as
import * as styles from './Table.module.css';
This results in the following error
export 'table' (imported as 'styles') was not found in './Table.module.css' (possible exports: default)
Is this a bug? I can not find any workaround.
Thank you for any help.

Thanks for reporting @mikoleg -  does import styles from './Table.module.css'; work?

Thank you, yes import styles from works but unfortunately not import * as styles producing breaking changes. Thank you for adding it to the milestone.

we have the same issue. did you find another workaround beside rewriting the imports? has this something to do with the default TS config?

Destructing also not working
I mean import { style } from style.module.css is not working.

#12096

Without looking too deeply, this is likely caused by CRA 4 using css-loader v4, while CRA5 uses v6, where the option defaults have changed.
You can see how in the latest docs (v6), namedExports are set to false by default.
Furthermore, if you do decide to manually set namedExports to true, you are forced to set exportLocalsConvention to camelCaseOnly, meaning you won't be able to import your variables in something like some_class--name.
Regardless, for those that may want to enable Named Exports (which presumably would resolve the OP's problem) anyways, here's the hacky solution I have for the time being to go into your webpack config (e.g. from react-app-rewired) and modify it. You may need to change it depending on the location of the rule options:
  const cssLoaderModules = webpackConfig.module?.rules?.[1]?.oneOf?.[6]?.use?.[1]?.options?.modules;
  if (cssLoaderModules) {
    cssLoaderModules.namedExport = true;
  }

you can use import classes from 'Table.module.css'

Without having looked too deeply, this is likely caused by CRA 4 using css-loader v4, while CRA5 uses v6, where the option defaults have changed.
You can see how in the latest docs (v6), namedExports are set to false by default.
Furthermore, if you do decide to manually set namedExports to true, you are forced to set exportLocalsConvention to camelCaseOnly, meaning you won't be able to import your variables in something like some_class--name.
Regardless, for those that may want to enable Named Exports (which presumably would resolve the OP's problem) anyways, here's the hacky solution I have for the time being to go into your webpack config (e.g. from react-app-rewired) and modify it. You may need to change it depending on the location of the rule options:
  const cssLoaderModules = webpackConfig.module?.rules?.[1]?.oneOf?.[6]?.use?.[1]?.options?.modules;
  if (cssLoaderModules) {
    cssLoaderModules.namedExport = true;
  }

This didn't work for me. Tried various different options, but with no luck.

Is there a fix for this? I am still facing this issue on v5.0.1 :(

I too am having issues with v5.0.1

I had the same issue, but turning off the namedExports option did the work
{
    loader: "css-loader",
    options: {
        modules: {
            namedExport: false,
        },
    },
}


Add autoupdate workflow

Hopefully this combined with "enable auto-merge" will truly make merging sequences of PRs faster.

Ah, this works slightly different from what I thought. Instead of pulling changes from the base branch, it pushes changes from master into other branches

Okay, I'm not sure how good this is going to be but let's merge it in and see if its useful


Improve test coverage

Adds test coverage and removes files that don't exist from ignore lists.
Description

Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Documentation update
[ ] Breaking change (could cause existing functionality to not work as expected)
[ ] Other changes (non-breaking changes that does not fit any of the above)

Breaking changes include:

Removing a public function or component or prop
Adding a required argument to a function
Changing the data type of a function parameter or return value
Adding a new peer dependency to package.json

Changes

(change1)

How to Test-Drive This PR

(step1)

Checklists

General

[ ] Changes are covered by test cases
[ ] CHANGELOG.md updated with a short description of changes (not required for documentation updates)

Accessibility Compliance
You must check off all items in one of the follow two lists:

[ ] There are no changes to UI

or...

[ ] Changes were tested with a Screen Reader (iOS VoiceOver or Android Talkback) and had no issues
[ ] Changes comply with WCAG 2.0 guidelines levels A and AA
[ ] Changes to common UI patterns and interactions comply with WAI-ARIA best practices

Localization

[ ] Changes include a UI text update in the Retail React App (which requires translation)

🤔 I thought the purpose of the ticket W-10943963 is to make sure that we bump up the test coverage for pwa-kit-cli package to how it was before (see PR https://github.com/SalesforceCommerceCloud/pwa-kit/pull/489)

I agree with @vmarta , let's focus on adding test coverage to the npm packages, including pwa-kit-cli, pwa-kit-runtime, pwa-kit-create-app, pwa-kit-react-sdk.
Historically we've been adding tests to the templates but it turns out that might be a bad idea, since those tests usually becomes a maintenance burden for projects. We have a ticket to move tests out from template files. Let's have some discussion before invest our effort to add template tests.


chore: bdd-spring-1583908242 to 0.0.1

chore: Promote bdd-spring-1583908242 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Make Jdbc connector be extendable

Make Jdbc connector be extendable
Make Jdbc connector be extendable by allowing to change the
implementations.

Note that optional binder will still create the default bound objects. That seems fine for this usage but is something to consider.

Good to know. Is there any option to reference them?

Automation hit: https://github.com/prestosql/presto/issues/3943


Website case studies

From discussion with @yongjun21. We could do an exercise where we pick a website (e.g Twitter, Whatsapp Web, Gmail, etc), and do a case study on how we would think such websites are developed. The approach, tools, frameworks, database, etc is needed? Outcome could just be a diagram showing how the pieces fit together, no coding needed.
The goal is to help our understanding on what it takes to build a working application / website. Even if we don't know how to write the codes, at least we should know what is needed.
Could be done in pairs.

:+1: Good idea. Something for home work perhaps.

http://builtwith.com/ninja.sg


iOS notch covers the"account settings"

[x] The iphone 14/15 notch covers the"account settings" text

[x] Also when I press the "X" button on this screen to go back to home screen it doesn't work as it

overlaps with the time on the iPhone

https://xd.adobe.com/view/f11ee4be-fef5-4c9b-9e22-4ae72872c584-a44d/screen/b0f0fb57-216c-45cb-a959-8da490fc61e6/

Resolved,

Ios is not out yet

Resolved,

Completed


Property action is not working

When I set the action property in the option object the toast does not show the text; wich leads to not performing the action. I also tried with icon instead of text.
One importan thing to mention is I am trying the direct usage

adding the action property will not be working on ios 8.4.


Fix off-nadir handling for Landsat

Also, this PR:

logs the number of items found when querying for secondary pairs
undoes undesired changes to deduplication

I'm going to circle back for testing later. This should be ready to go.


Added function to check the format of dates. issue #107

The issue was solved by adding a function to check the format of some dates.

Please avoid importing an entire library (re), try to import only the functions or classes that are going to be used.
Also, let's take advantage of this solution to integrate the timezone parameter to standardize the time to GMT 0.


Multi tier shm attach

I disabled slab release in test due to some error with pruneFreeAllocations - we can discuss if there is a simple solution to storing multi-tier/single tier compressed pointer in the FreeLists (see AllocationClass.cpp and pruneFreeAllocations method.
The test also sporadically fails due to difficulties in estimating multi-tier LRU size. The current estimation method inserts an new item to the cache and waits for it to be evicted after a number of successive allocations of new arbitrary objects. The problems are the following:

new item could fail being allocated in tier 0 so it is allocated in tier 1 and therefore will be evicted more quickly causing LRU size estimate to be too small.
new item could fail being moved from tier 0 so it is evicted from cache, causing estimate to be too small again.

I'm open to suggestions on how to improve the LRU estimation or test.

This change is

@byrnedj Is the problem with LRU estimation caused by the fact that we allocate items with different sizes? Could we just use single allocation size for this test?

No, the problem is that in multi-tier the entire LRU (compared to single tier) is split between tier 0 and tier 1, and if we fail to move an item from tier 0 to tier 1, it gets evicted, so the estimation technique will think LRU size is however many items it took for that item to get evicted. And because it was evicted out of tier 0 - then the estimation will too small. Because actual LRU size (tier 0 + tier 1) would be when the item gets evicted out of tier 1.

Also, I think you should split the testMultiTierSerialization into 2 tests.
Will do.

@byrnedj Is the problem with LRU estimation caused by the fact that we allocate items with different sizes? Could we just use single allocation size for this test?

No, the problem is that in multi-tier the entire LRU (compared to single tier) is split between tier 0 and tier 1, and if we fail to move an item from tier 0 to tier 1, it gets evicted, so the estimation technique will think LRU size is however many items it took for that item to get evicted. And because it was evicted out of tier 0 - then the estimation will too small. Because actual LRU size (tier 0 + tier 1) would be when the item gets evicted out of tier 1.

Also, I think you should split the testMultiTierSerialization into 2 tests.
Will do.

But why does moving the items fail? Can't we perform item insertion deterministically?

@byrnedj Is the problem with LRU estimation caused by the fact that we allocate items with different sizes? Could we just use single allocation size for this test?

No, the problem is that in multi-tier the entire LRU (compared to single tier) is split between tier 0 and tier 1, and if we fail to move an item from tier 0 to tier 1, it gets evicted, so the estimation technique will think LRU size is however many items it took for that item to get evicted. And because it was evicted out of tier 0 - then the estimation will too small. Because actual LRU size (tier 0 + tier 1) would be when the item gets evicted out of tier 1.

Also, I think you should split the testMultiTierSerialization into 2 tests.
Will do.

But why does moving the items fail? Can't we perform item insertion deterministically?

Using only 1 class removes the tests LRU estimation failure. I updated the test accordingly.
I don't think it makes sense to split into two cases since testMultiTierSerialization should create a cache and then try to reattach to it (verifying the expected state).


Issues when trying to initalize ontap-nas driver

This is what is see in the logs,
time="2018-07-20T12:15:11Z" level=error msg="Kubernetes frontend couldn't add the storage class: Trident initialization failed; problem initializing storage driver 'ontap-nas': error initializing ontap-nas driver: could not create Data ONTAP API client: error reading SVM details: Post https://<IP_ADDRESS>/servlets/netapp.servlets.admin.XMLrequest_filer: EOF" storageClass=standard storageClass_parameters="map[storagePools:segotx1173_standard:segotx119_n3_aggr1,segotx119_n4_aggr1 backendType:ontap-nas]" storageClass_provisioner=netapp.io/trident

It appears to be a connection issue, as we're getting a EOF from the zapi call. Can you verify that the zapi interface is working outside of trident? From the host where trident is installed, can you create a file called vserver-get-attributes.xml with the following contents (replacing the vfiler attribute with the proper svm name):
<?xml version="1.0" encoding="UTF-8"?>

<netapp xmlns="http://www.netapp.com/filer/admin" version="1.20" vfiler="XXXX">
  <vserver-get/>
</netapp>

Then send the curl request (with correct user/password):
curl -k -X POST -d @./vserver-get-attributes.xml<EMAIL_ADDRESS>

If you need further assistance, please open a support case: https://mysupport.netapp.com/info/web/ECMLP2619434.html
Thanks!

Hi,
I get the same error,
curl -k -u trident -X POST -d @vserver-get-attributes.xml https://<IP_ADDRESS>/servlets/netapp.servlets.admin.XMLrequest_filer
Enter host password for user 'trident':
curl: (35) Encountered end of file
Br.
Christian
From: Andrew Kerr<EMAIL_ADDRESS>Sent: den 20 juli 2018 4:16
To: NetApp/trident
Cc: Carlé Christian (Supplier); Author
Subject: Re: [NetApp/trident] Issues when trying to initalize ontap-nas driver (#152)
It appears to be a connection issue, as we're getting a EOF from the zapi call. Can you verify that the zapi interface is working outside of trident? From the host where trident is installed, can you create a file called vserver-get-attributes.xml with the following contents (replacing the vfiler attribute with the proper svm name):

Then send the curl request (with correct user/password):
curl -k -X POST -d @./vserver-get-attributes.xml<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NetApp/trident/issues/152#issuecomment-406613738, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYJLu5DmJM1rKnbyjtfzvojrOpWrKEBEks5uIeYNgaJpZM4VX8QD.

That confirms that this isn't a Trident issue. You'll need to troubleshoot the inability to successfully call that API. The best way to do that is to contact standard NetApp support: https://mysupport.netapp.com/info/web/ECMLP2619434.html


Remote FTP: Could not get project path

Remote FTP: Could not get project path

Thanks, but duplicate #860


llama2 pad token id

when running outputs = model.generate(input_ids['input_ids'], attention_mask=input_ids['attention_mask'].half(),                          max_new_tokens=256, do_sample=False, pad_token_id=tokenizer.pad_token_id) I found it has the no pad token id error. I thought llama2 does not have a pad_token_id (correct me if I am wrong).
I added the tokenizer.pad_token = tokenizer.unk_token to bypass this issue. I am not sure how you are dealing with this issue, I just want to make sure the local running code is consistent with yours.  If you are also using unk_token_id, I am very happy to submit the pr

I'm facing the same issue. I found this instruction from https://huggingface.co/docs/transformers/main/model_doc/llama2#llama2, but not sure if this is correct...

The original model uses pad_id = -1 which means that there is no padding token. We can’t have the same logic, make sure to add a padding token using tokenizer.add_special_tokens({"pad_token":""}) and resize the token embedding accordingly. You should also set the model.config.pad_token_id. The embed_tokens layer of the model is initialized with self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.config.padding_idx), which makes sure that encoding the padding token will output zeros, so passing it when initializing is recommended.

More discussion here: https://github.com/huggingface/transformers/issues/22312.

Hi @sherdencooper  @chawins ,
you can set
tokenizer.pad_token = tokenizer.unk_token
or
tokenizer.pad_token = tokenizer.eos_token
We usually set tokenizer.pad_token = tokenizer.eos_token . Maybe some part of the example file is missing it. Can you point us to the specific setting where this happens

#10 seems to fix most of the issues. One last thing is there should probably also be another tokenizer.pad_token = tokenizer.eos_token after L179 in the PR (after tokenizer = AutoTokenizer.from_pretrained(red_team_model_path, padding_side='left', use_fast=False) # use_fast=False here for Llama).

thank you for the catch!


Obtained wrong focus by pressing TAB in IE 11

Bug, feature request, or proposal:
Focus invoked by pressed TAB, obtained wrong radio button
What is the expected behavior?
Focus of radio button get invoked by pressed TAB obtains checked option or if no checked option, obtains first, which not disabled option
What is the current behavior?
When select last option and in next step select option before the last option and invoked focus by TAB obtains first option
What are the steps to reproduce?

click on last option (5)
click on input and press TAB
checked option obtains focus
=>its work correctly

Repeat steps 1-3,
BUT
step 1: click option to (4) and in the
step 3: focus obtains first option, but not option (4)
https://plnkr.co/edit/xZNIXCXoRc8GFxUsc8qd?p=preview
What is the use-case or motivation for changing an existing behavior?
I want set correctly focus by pressing TAB on all browsers, not excluded IE 11
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Tested on Angular 4.4.4, Angular/Material 2.0.0-beta.11, IE 11

Closing as obsolete, if you find this issue to occur again please open up a new issue for us to take a look.


feat: Reuse Dashboard redux data in Explore

SUMMARY
Currently when user open Explore, we always send a request to /v1/explore endpoint, which assembles Explore initial data - slice, form_data and datasource.
When user goes to Explore from Dashboard (by clicking "Edit chart" or char title), most of the data needed to assemble Explore should already be available in Redux store.
This PR implements using data from Dashboard Redux store to initialize Explore without calling /v1/explore endpoint.
If user opens Explore from Dashboard, check if slice, formData, datasourceId and datasourceType are available. If they are, fetch datasource metadata and hydrate Explore using slice, formData and datasource.
If they are not available, call /v1/explore and hydrate Explore.
We can't reuse datasource from Dashboard. Datasources metadata on Dashboard is trimmed so that datasource contains only columns and metrics used by charts on that dashboard. In Explore we need to be able to access all columns and metrics, which means we must fetch those from API.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

Go to dashboard
Click "Edit chart"
Verify that Explore has opened correctly and that we did not call /v1/explore/ endpoint
Enter Explore from any other entry point (for example Charts list or Welcome page)
Verify that we do call /v1/explore

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

/testenv up

/testenv up

This PR will be re-opened when linking from Dashboard to Explore is refactored (coming in a few days)


[Bug]: Oops! useActionData must be used within a data router. On document load with useForm - on document initial load

Which packages are impacted?

[ ] @rvf/react
[X] @rvf/react-router
[X] @rvf/zod
[ ] @rvf/yup
[ ] zod-form-data

What version of these packages are you using?
 "@react-router/serve": "^7.0.2",
 "@rvf/core": "^7.0.1",
 "@rvf/react-router": "^7.0.1",
 "@rvf/zod": "^7.0.1",
 "react": "^19.0.0",
 "react-dom": "^19.0.0",
 "react-router": "^7.0.2"

Please provide a link to a minimal reproduction of the issue.
copy and paste in steps to reproduce
Steps to Reproduce the Bug or Issue

npx create-react-router@latest rvf-rr7
install latest rvf
Replace home.tsx with this content:

import type { Route } from "./+types/home";
import { Form } from 'react-router';
import { useForm } from '@rvf/react-router';
import { withZod } from '@rvf/zod';
import { z } from 'zod';

export function meta({}: Route.MetaArgs) {
  return [
    { title: "New React Router App" },
    { name: "description", content: "Welcome to React Router!" },
  ];
}

export async function action({
  request,
}: Route.ActionArgs) {
  let formData = await request.formData();
  return "hello world";
}
export default function Home() {
  const id = 'test';
  const form = useForm({
    id,
    validator: withZod(z.object({})),
    defaultValues: {},
    method: 'POST',
  });
  return <div className={"flex flex-col gap-y-8"}>
    <Form {...form.getFormProps()} />
  </div>;
}

Navigate to home on a document load and receive error.

Expected behavior
I would expect the page to render on document initial load.
Screenshots or Videos
No response
Platform
macOS, Chrome, latest
Additional context
No response

Hi!
The issue doesn't reproduce when I follow those steps. Could you provide a Code sandbox (or similar) instead that contains the issue?

@airjp73 I attempted to recreate with Stackblitz even though they only have node 18 and RR needs 20.  It worked as expected. I then tested against node 20 and node 22 locally.  The issue is node 23 it seems. I'll rollback to node 22 personally.
I wonder why rr7/other libs worked fine with 23 and rvf had an issue?

Thanks for looking into that! My best guess is a change to dependency resolution in npm somehow causing rvf to resolve a different version of RR than the rest of the app. But I won't have time to test that hypothesis until at least tomorrow.
What happens when you npm ls react-router on node 23?

Unfortunately ,it is all rr 7.0.2.
│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ └──<EMAIL_ADDRESS>deduped
│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
└──<EMAIL_ADDRESS>

The react-router repo has an issue here that looks related.

Don't know, what's causing the error but i solved it by downgrading vite from 6.0.6 to 5.4.11 (all other deps are latest).


Different answers for different versions of aad

Code run with a same amount of n_jobs and the same budget on the same machine, but with different versions of aad, gives different answers (4/40 answers are different). Data was also the same. The order of the answers is different. Between these two versions of aad libraries update had place.

This should be fixed with the current zwaad which utilizes coniforest for AAD


Initialize tty before reading choices

It's possible for user input to arrive while fzy was still reading choices from stdin. Previously, this would happen before the correct termios were set, causing fzy to misinterpret Enter as Ctrl-J for example.
Fixes #81

This does indeed work, as far as I can see, and it looks much cleaner than my approach. Thanks!
Feel free to merge this solution.


Caching

Codecov Report

Merging #13 (6bf6f96) into master (71c5778) will increase coverage by 0.26%.
The diff coverage is 78.57%.

@@            Coverage Diff             @@
##           master      #13      +/-   ##
==========================================
+ Coverage   83.63%   83.89%   +0.26%
==========================================
  Files           5        6       +1
  Lines         220      236      +16
==========================================
+ Hits          184      198      +14
- Misses         36       38       +2

Impacted Files
Coverage Δ

src/JuliaCon.jl
100.00% <ø> (ø)

src/debug.jl
100.00% <ø> (ø)

src/schedule.jl
89.55% <77.77%> (-2.98%)
:arrow_down:

src/caching.jl
100.00% <100.00%> (ø)

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 71c5778...6bf6f96. Read the comment docs.


Revise Draftail integration UI

Right now the Wagtail AI is a bit rough, some thoughts for potential refinements:

In place of a dropdown when you click the 'magic wand' button, perhaps a modal makes more sense? This would give us more space to describe each prompt.
Move the loading indicator - it currently blocks the editor. If we went the modal route, this could be contained within the modal.

Following up on my disscusion with Ben E, he's keen to do some usability testing as part of the wagtail design backlog (see ticket) before making suggestions on larger changes here (i.e. use of modals), as the design considerations ties into existing UI discussions on features such as content quality checkers and we would also need some general usability testing around the questions raised in that ticket to know what's best.
However, we also discussed minor design improvements we could make which could be done as part of this ticket which include:

Updating the dropdown to use existing stlying from the nav dropdown

    dropdown reference

Updating the error message to something more generic on failed requests
Updating bacjground colour on the loading indicator for dark theme (white text is currently hard to read)
A "cancel request" button under the loading indicator text using wagtail button styling

    Button reference
![Image](https://github.com/wagtail/wagtail-ai/assets/35934884/d7570bed-26d1-44e0-97e8-a5776c1903d8)


Intercept Navigation.pop()

Is there a way to intercept the Navigation.pop() and add a conditional statement whether to continue the pop or cancel it? Already tried this:
componentWillUnmount(){
return false
}
Version
Tell us which versions you are using:

react-native-router-flux v3.35.0
react-native v0.34.0

Expected behaviour
When navigating to a screen where you can edit some data, then going back to previous screen without hitting the "Save" button, the app should be able to detect that there are changes made and ask the user whether to discard the changes or cancel the navigation back to previous screen
Actual behaviour
I have no way of intercepting the Navigation.pop() and instead it will just go to previous screen

Hi @mykelaballe, from what I've seen, the way to do this is use the refresh action with custom props.
e.g.
componentWillMount() {
   Actions.refresh({ onLeft: this.onLeft.bind(this)  });
}

onLeft() {
if(saved) { Actions.pop(); } else { alert(); }
}


No provider for BaseMpdelConfig

Hi
I'm, trying to use your dialog component and it compiles fine but it the browser console I'm getting this error,
Error: No provider for BaseModalConfig!
at injectionError (core.es5.js:1169)
at noProviderError (core.es5.js:1207)
at<EMAIL_ADDRESS>(core.es5.js:2649)
at<EMAIL_ADDRESS>(core.es5.js:2688)
at<EMAIL_ADDRESS>(core.es5.js:2620)
at<EMAIL_ADDRESS>(core.es5.js:2489)
at resolveNgModuleDep (core.es5.js:9476)
at _createClass (core.es5.js:9522)
at _createProviderInstance$1 (core.es5.js:9487)
at resolveNgModuleDep (core.es5.js:9472)

Please give a code example of how you are using BaseModalConfig that generates this error.
I've tested this module with Angular 4.3.6 and Angular-cli 1.3.2 and did not have the issue you describe.

This is what I used to test:
app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AngularBasicModalModule } from 'angular-basic-modal';
import { AppComponent } from './app.component';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        AngularBasicModalModule
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule { }

app.component.ts
import { Component } from '@angular/core';
import { BaseModalConfig, BaseModal, BasicModalService } from 'angular-basic-modal/index';

@Component({
    selector: 'app-root',
    template: '<button (click)="doModal()">Click me!</button>'
})
export class AppComponent {
    bmc:BaseModalConfig;

    constructor(private modal:BasicModalService) {
        this.bmc = new BaseModalConfig();
    }

    doModal() {
        this.bmc.title = 'Hi There!';
        this.bmc.message = "This is Eddie, your shipboard computer, and I'm " +
            "feeling just great, guys, and I know I'm just going to get a " +
            "bundle of kicks out of any program you care to run through me.";
        this.bmc.width = 400;
        this.bmc.height = 200;
        this.bmc.cancelBtn = 'Great!';
        this.bmc.blocking = false;
        this.modal.show(this.bmc, BaseModal).then( res => {
            console.log(res);
        });
    }
}

Unreproducible.


konnectivity ds: Tolerate all taints

The konnektivity DS already runs with hostnetwork in order to be up even
if CNI doesn't come up. It currently ends up not being scheduled in that
situation though, because it doesn't tolerate the not-ready taint.
Make it tolerate all tains, as this is very helpful especially when CNI
doesn't come up.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/retest-required

/retest

e2e-aws-nested failed with Unsupported value: "OVNKubernetes": supported values: "OpenShiftSDN", "Calico"]
/test e2e-aws-nested

/lgtm


Transport.activeTransport instead of NetworkManager.singleton.transport

This is a very simple fix which allows NetworkManager to be more easily replaced. This is the bulk of the references to it.

I was going to object,  but this actually makes a lot of sense.
This makes it possible to use NetworkServer and NetworkClient without NetworkManager and reduces the scope of NetworkManager to just "initialize the transport"
Note this does not prevent insight from using it's own transport instance,  and does not prevent the multiplex transport.
@vis2k   do you have any objection?

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


memory  usage is too high even though moved shards to other server

My Environment

ArangoDB Version:        3.3.14
Storage Engine:              RocksDB
Deployment Mode:        Cluster
Deployment Strategy:    Manual Start
Operating System:         centos 6.9

Replication Factor & Number of Shards (Cluster only):

1 replication factor
9 shards for each collection
Problem:
memory  usage is too high
Memory will not be reduced  even though moving 3 shards to other machine
We have  a cluster for  4 machines ，and 9 shards for one collection ，server94 is the master node ,each machine has 128G memory .
last week we found the most shards was distributed in the machine named  server93  and server94，and we can't  import data into cluster ,the error was http connection was broken ,this error found in server94 . finally we found maybe too high memory caused this problem.
then we moved  3 shards to other server named server95, we found the memory usage in server95 reached 60% , but  the memory usage in server94 didnlt reduce ,it keeped 96% .
we don't konw it is a bug or not ？
we hope you could help us to solve this problem .
Expected result:
help us to solve this problem

Hi @gao13993335271
Thanks for opening this ticket.
As first step, please could you let us know the exact value of overcommit_memory you are currently using by running the following command:
cat /proc/sys/vm/overcommit_memory

If the value is 2 could you try to set the overcommit_memory setting of the kernel to 0 (or 1) by issuing the following command:
echo 0 > /proc/sys/vm/overcommit_memory

Setting the vm.overcommit_memory sysctl setting to 0 (or even 1, both will do) should improve the situation.
Please note: the change will only be in effect until the host machine is restarted.

Hi @gao13993335271
Thanks for opening this ticket.
As first step, please could you let us know the exact value of overcommit_memory you are currently using by running the following command:
cat /proc/sys/vm/overcommit_memory

If the value is 2 could you try to set the overcommit_memory setting of the kernel to 0 (or 1) by issuing the following command:
echo 0 > /proc/sys/vm/overcommit_memory

Setting the vm.overcommit_memory sysctl setting to 0 (or even 1, both will do) should improve the situation.
Please note: the change will only be in effect until the host machine is restarted.

happy to see your help ,but  the value of  /proc/sys/vm/overcommit_memory is 0

Hi @gao13993335271,
For some reason, my previous message was deleted, thanks for replying, I get back to you with more information,
Best

In our upcoming 3.3 release, we introduced a new option which can be used to limit the total amount of memory used for in-memory write buffers in RocksDB.
I will get back to you when the 3.3 release will be officially released, with more information on how to use and set this new option.
Best,

you means it is a bug for current version ?
thanks for your help.

It is not a bug, it is related to RocksDB itself - we have seen RocksDB accumulating a lot of memory in its write buffers for whatever reason. Setting this option to any value > 0 will restrict this memory usage.

get it !
thanks for your help!
by the way , i want to know how to set or change timezone for arangodb ?
i am in china but the arangodb didn't follow the machine time
it also confused me for a long time

You should see timestamp like 2018-12-03T11:42:02.775Z, with a Z at the end. It stands for Zulu time, which is UTC±00:00 (Coordinated Universal Time), so without a timezone offset.
There is an option to use local time in logging:
https://docs.arangodb.com/3.3/Manual/Administration/Configuration/Logging.html#local-time

thank you !

Hi @gao13993335271,
Just sending a quick followup - did you have the chance to try ArangoDB version 3.4.0 and set the above rocksdb options? Could you share some feedback
Thanks

Hi @gao13993335271
Since we have not heard back from you in a while, I will close this issue for now.
In case you have any further questions, please feel free to comment and we will reopen this issue.


Add NAVBAR!

What does this PR do?
This pull request introduces a navigation bar to the Frontend Mentor website. The navbar includes links to the main sections, improving the site's usability and accessibility. It has been designed to be responsive, ensuring a seamless user experience across devices, including desktop and mobile.
Fixes #(issue)

Close #80

Type of change

Responsive design: Adjusts to different screen sizes for better mobile and desktop navigation.
Clean and intuitive layout: Easy access to important sections.
Cross-browser compatibility: Tested on modern browsers to ensure consistent behavior.

Screen Shots

Hey @beRajeevKumar you can check the PR now, all the conflicts are resolved.

Hey @beRajeevKumar, Kevin this side, I created a new pull request please assign me the labels enhancement good first issue hacktoberfest gssoc-ext gssoc level1 hacktoberfest-accepted.

Keep contributing 🚀


Handle package-private constructor/methods in AssertionStubber

Tests have been updated.
The AssertionStubber first tries to load the constructor and methods using getConstructor() and getMethod. If this results in a NoSuchMethodException, it is loaded using the getDeclaredConstructor() and getDeclaredMethod functions. If this succeeds, the method exists but with an incorrect visibility. If this does not succeed, the method is really non existent.

Both issues have been resolved.


Bash Completion Not Working

OS: Ubuntu/PopOs 22.04
Install: pip3 install td-watson
Version: Watson, version 2.1.0
Downloaded watson.completion to /etc/bash.completion.d/watson (as root)
Restarted shell...
Tried in both gnome terminal and alacritty...
Issue: tab completion does not produce any results (nothing at all)

Yup. :cry:


Couple of ideas

First of all I'd like to say that it is a great crate and it is very relevant to my work.
While working with it I came a cross of several ideas, not sure if @vorner would find them adequate:

Add get_by_id() method which would allow to get a Bump attached to some kind of resource - a thread for example. Members acquired in such a way would not be shared between different resources - only within one resource designated by some kind of user-provided ID (thread ID, worker ID, coroutine ID, whatever).
Add reset_unsafe() method so that if user could reset an individual member if he really knows what he's doing. That is supposed to play together with the above method.

Hello
I probably don't understand your use case, or what the advantage is. And it looks like it would increasing the complexity of the API, which I'm reluctant to do without a good reason.
Can you explain more?

@vorner, my use case is that I'm building a small component that is supposed to fetch data from the datastore, quickly process it and pass down the pipeline and eventually to the network.
And I want the memory of the output data (which is immutable) to stay the same after my component returns until the same thread doesn't get a new task - so that the processing pipeline could work with the data returned by my component and it won't suddenly change. This is to avoid re-allocation.

@vorner, I'm also a bit puzzled with how to deal with bumpalo::collections - they expect bumpalo::Bump for their allocation, but that makes lifetime extension magic in bumpalo_herd::Member not work. And therefore lifetime of bumpalo::collections becomes tied to bumpalo_herd::Member instance's lifetime instead of bumpalo_herd::Herd - I wonder if you could say if I'm doing something wrong here?

I'm still not sure what you're doing ‒ I can't seem to get it from your description. Can you maybe share a code example demonstrating it?
As for the collections, it's possible they are newer than when I've last touched bumpalo-herd 😇. Not sure what to do about them out of my head.

Yeah, I'll come up with a minimal example today and post it.

I'm going over the example and the docs (both of bumpalo and bumpalo-herd). I'm starting to think that the collections and herd are incompatible in principle.
What Herd does it hands out the Bump allocators, but takes them back once the Member is terminated. It then can give them to some other thread. This is fine for one-off allocations that produce for example slices ‒ once the slice is allocated, it is fine for the Bump to move to another thread and do more allocations there.
But the String holds a reference to the Bump, because it might want to do some future allocations when it grows. And this would be problematic, because then two threads could try to allocate from the same Bump at the same time ‒ and Bump is not capable of that.
So I'm wondering about a new method on Member (maybe called something like steal_bump). That would give out a Bump with the 'h lifetime (eg. the one of Herd, not of the member, similar to how all the allocation ones are done). Furthermore, it would mark the Bump in a way that the Herd would not give it out to further threads and it would only get „clean“ once reset is called.
Another option you could do is to use the String inside the thread, but then allocate the content again from the Member using alloc_str. That way it would „freeze“ the string, it could no longer grow, but it would outlive the Member. The downside is it would waste more memory.

@vorner, would be nice if bumpalo used some kind of trait instead of concrete type so that third-party library authors could make their own Bump implementations.

@vorner, another way of doing this that I see is to make versions of steal_bump() and reset() for some specific task ID. So that you could release the memory but allocated within some concurrent task (aka thread).

Well, for one, Herd tries to do it the simple way and not deal with any IDs (not on the outside, nor on the inside).
Another one is, you probably don't get a nice API if you start dealing with IDs and I'm not sure you'll be stopped by the borrow checker from doing dangerous things with that kind of API.

@vorner, for now - I don't see good solutions either (except convincing bumpalo maintainers to allow making custom Bump implementations, etc). I'm just speculating.


Items get misaligned from their row on browser scaling

Describe the bug
Items get misaligned from their rows as the timeline gets scrolled down when the browser scale is different than 100%.
To Reproduce
When running the main Demo app, increase the number of groups and items in the timeline by changing the args groupCount and itemCount default values from generate-fake-data.js file:
e.g: export default function (groupCount = 3000, itemCount = 10000, daysInPast = 30) {
This way there will be plenty of groups to scroll down. Please do that and you will see that when the browser's zoom level is 100% it looks good. However, if you scale the browser to 80% for instance, items get progressively misaligned as you keep scrolling down:

Here's another example of getting misaligned items on browser scaling:

This is happening because on some zoom levels, the row is 30px height (it's default value), and for other % it gets to 29.98px:
Browser at 100%

Browser at 90%

Expected behavior
Items should be always be aligned with their corresponding row no matter browser scaling.
Library Version
0.25.4
Desktop (please complete the following information):

OS: macOS Mojave
Browser chrome (75.0.3770.100)

Additional context
PR here with the fix @Ilaiwi

@gaston-niglia I know this took forever but thank you very much! I wish all PRs were as good as yours. I am looking forward to future collaborations from you.
released in 0.26.3


update windows cuda installer 11.1.0 to 11.1.1

keep consistent with upstream

@malfet double check please.

@janeyx99, could you please check and merge this simple PR? Nikita might be too busy.


Build performance improvement: pnpm or bun

We should consider using pnpm or bun to speed up the installation. Reportedly cuts more than a minute in from testing - so from 4 to 3. Bun is already available. So possibly a better choice.

Are we concerned we're "Faking" our speed by switching? From what I can find, npm is still the most widely used package manager in javascript projects. Shouldn't our demo use something similar to what our customers will use in their own projects?


Web: provide a "Paste" editor action

This PR fixes #82604
@alexdima would be happy for some initial feedback if this is the right direction. I have to admit that I do not fully understand the concept of "implementations" for actions, this was probably added for custom editors / notebooks later.
Things to do:

support multi-cursor paste (I am not sure how that works in the core editor when pasting)
clean-up

Unfortunately given the async nature of the clipboard service, we need to await the contents of the clipboard and this would trigger a permission dialog in browsers that the user can decline.

@alexdima thanks for jumping in, let me know I should review now and then we merge this?

@alexdima thanks a lot!


How to handle find -exec kind-of open-ended options?

Is there a way to parse open-ended parameters that may contain - or -- up until some predefined end-of-parameter-sequence marker or the end of the argument array?
e.g. If I wanted to do something like find -exec, how would I go about it?
find . -type d -exec ls -la {} +

find . -type d -exec ls -la {} \;

where ls -la {} is an arbitrary command-template called for a given set of files by my application in a child process.

You should be able to use setEndOfOptionsDelimiter.
I have added an example: https://github.com/remkop/picocli/blob/master/picocli-examples/src/main/java/picocli/examples/passthrough/Find.java
Running the example exposed a bug (thank you!) where the default end-of-options -- was used to detect when to stop consuming arguments in an option with variable arity  (arity = "*"). This bug is now fixed in master.
Can you take this example for a spin (ideally after building from master) and let me know if this meets your needs?

Sure thing. I'll report back on Monday!

I created #719 for the end-of-options bug.

Is there an API that would allow me to specify my own do my own argument parsing, akin to ITypeConverter, but that would also allow me to gobble up an arbitrary number of arguments?
e.g.
@Option(names = "-exec", arity = "1..*", arityHandler = "UntilPlusOrColon.class", description = "Execute command")
public List<String> exec;

e.g. akin to this API here:
https://github.com/kohsuke/args4j/blob/master/args4j/src/org/kohsuke/args4j/spi/OptionHandler.java#L66

The idea behind ITypeConverter is to convert a single value, after which the converted value may be added to a collection of strongly typed (e.g. java.io.File) objects. There is no facility to have a single option that takes multiple arguments of different types.
Somehow I don't think that this is really what you want to do though.
Can you explain your use case in more detail? What is the problem you are trying to solve?
I can see that the -exec option wants to consume all subsequent arguments until it encounters a + or a ; argument.

If the problem is that you can only specify one end-of-options delimiter, and you need to support both + or a ;, then we can solve that by changing picocli to accept multiple custom end-of-options delimiters. Would that solve the issue?
Is it valid input if the user specifies additional arguments after the + or ; argument? What do you want to do with the additional input? (In my example I suggest storing such arguments in the unmatched list of strings, but does that meet your requirements?)

If both + and ; were end-of-options delimiters, would I be able to know which one was encountered? As my -exec would have to behave different depending on whether there's a + or ; (or nothing) at the end.
Being able to do something like this -exec ls -la {} ';' file {} ';' --other-options would certainly be interesting. Saying -exec always has to be the last option is ok for me though, but it's a bit of a limitation.

Here's an example for my command-line tool usage:
e.g.
filebot -mediainfo . --filter f.audio -exec echo '{bitrate}' +
168732<PHONE_NUMBER>00 128000

Filebot is an impressive project!
Usually the end-of-options delimiter is consumed by the parser and the remainder is treated as positional parameters. If you need to distinguish between + and ; it may be best to simply capture everything in the parameters for -exec and process these parameters further in a second pass.
Happy to help try different approaches until we find something that meets your needs. I’ll try to experiment more with the examples you gave me so far. Do you have a branch with work in progress that I can look at?
If you have more examples of how users may invoke your tool and how you would like to process that input, that would be useful.

So bash_completion is the main feature that lead me to picocli, so I'm primarily using it for that right now:
https://github.com/filebot/filebot/blob/master/source/net/filebot/platform/bash/BashCompletionBuilder.java

I've been using args4j for many years and it's been working well, with the help of a few custom option handlers, so I'm not keen on changing to for production in the near future:
https://github.com/filebot/filebot/blob/master/source/net/filebot/cli/ArgumentBean.java

CLI options are a bit messy right now though, so I am thinking about a rewrite and reorganize with picocli in the future. But for now backwards compatibility is a concern, as to not break existing scripts that call filebot.

Ok, interesting. The difference between arg4j's RestOfArgumentsHandler class and picocli's @Option(arity = "1..*") is that picocli will stop consuming arguments when it sees an argument that matches another option name in the command.
For example, your command has a -r option ("Recursively process folders"). If the end user specifies a command to -exec that also has -r as an option, that will cause picocli to stop assigning arguments to -exec. For example:
filebot -mediainfo . --filter f.audio -exec ls -r ;

In the above example, the only argument passed to the -exec List is ls, while we expect to get ls, -r and  ;.
Passing through some of the arguments to a 3rd party command is an interesting use case and you are not the first to raise it. arg4j's RestOfArgumentsHandler idea may be a good way to handle this. I'm considering adding something similar to picocli.
Other than this, are there any other missing features or behaviour that differs from args4j that prevent you from migrating to picocli?

I think that was the only one that stuck out. I think the general use case here is some sort of interface that will allow one to use code to dynamically define arity based on the command-line values given, rather than statically.
e.g. I do have another custom handler though:
@Option(name = "--def", usage = "Define script variables", handler = BindingsHandler.class)
public Map<String, String> defines = new LinkedHashMap<String, String>();

So I can do:
--def a=1 b=2

As a less verbose way of doing:
--def a=1 --def b=2

I know that the verbose way is supported by picocli, but I'm not sure the short form. Maybe it's implicitly supported but I don't remember seeing anything in the examples. This one will just read args until the next -args is encountered, so List<String> would work here, but Map<String, String> makes more sense type-wise.

You won't need a custom handler for map values in picocli. It provides what you need out of the box, and in addition you can have strongly typed keys and/or values. To illustrate:
@Test
public void testMapOptionArity1_n() {
    class MapParamsArity1_n {
        @Option(names = {"-D", "--def"}, arity = "1..*", split = ",")
        Map<String, Integer> params;
    }
    // most verbose
    MapParamsArity1_n params = CommandLine.populateCommand(
            new MapParamsArity1_n(), "--def", "a=1", "--def", "b=2", "--def", "c=3");
    Map<String, Integer> expected = new LinkedHashMap<String, Integer>();
    expected.put("a", 1);
    expected.put("b", 2);
    expected.put("c", 3);
    assertEquals(expected, params.params);

    // option name once, followed by values
    params = CommandLine.populateCommand(
            new MapParamsArity1_n(), "--def", "aa=11", "bb=22", "cc=33");
    expected.clear();
    expected.put("aa", 11);
    expected.put("bb", 22);
    expected.put("cc", 33);
    assertEquals(expected, params.params);

    // most compact
    params = CommandLine.populateCommand(
            new MapParamsArity1_n(), "-Dx=4,y=5,z=6");
    expected.clear();
    expected.put("x", 4);
    expected.put("y", 5);
    expected.put("z", 6);
    assertEquals(expected, params.params);

    try {
        params = CommandLine.populateCommand(new MapParamsArity1_n(), "--def");
        fail("Should not accept input with missing parameter");
    } catch (MissingParameterException ex) {
        assertEquals("Missing required parameter for option '--def' at index 0 (<String=Integer>)",
                ex.getMessage());
    }
}

My bad. Looks like it works as expected right out of the box. :)

Great, thanks for the confirmation.
About the custom argument handler, I'm thinking to introduce an interface like this:
interface IParameterHandler {
    /**
     * Consumes as many of the specified command line arguments as needed. Implementors are
     * free to ignore the {@linkplain ArgSpec#arity() arity} of the option or positional parameter.
     * Implementors are responsible for saving the consumed values;
     * if the user object of the option or positional parameter is a Collection
     * or a Map, a common approach would be to obtain the current instance via the
     * {@link ArgSpec#getter()}, and add to this instance. If the user object is an
     * array, the implementation would need to create a new array that contains the
     * old values as well as the newly consumed values, and store this array in the
     * user object via the {@link ArgSpec#setter()}.
     *
     * @param args the command line arguments
     * @param argSpec the option or positional parameter for which to consume command line arguments
     * @param commandSpec the command that the option or positional parameter belongs to
     */
    void consumeParameters(Stack<String> args, ArgSpec argSpec, CommandSpec commandSpec);
}

One issue that needs to be addressed is that the registry of type converters is currently private. This registry needs to be exposed as API, to allow IParameterHandler implementors to convert argument Strings to strongly typed values.

That was fast! Looks good to me. That should give very high level of flexibility for the people who need it. I'd just Stack.peek() and Stack.pop() to interpret the next few arguments, and use ArgSpec to set @Option fields accordingly.

Let me know if you have a revision where this is already included. Then I can try to build a sample for my -exec use case.

Ok. I’ll try to push something to master in a few hours.

This is now in master.
See this test for usage examples.
If you want to try this, it takes about 1 minute to build the project:
git clone https://github.com/remkop/picocli.git
cd picocli
./gradlew clean build

That will create the jar in build/libs/picocli-4.0.0-beta-2-SNAPSHOT.jar.

Update: I renamed the interface to IParameterConsumer. This is more descriptive and avoids confusion with other interfaces whose names end in "Handler" that are completely unrelated.

Closing this ticket, I think there is no more work left.
Feedback welcome!

Sure thing. I'll do some testing when time allows this week.

Here's the solution I came up with:
https://gist.github.com/rednoah/9eae301e3ace6067807f1c58bb97b12c

Nice! That looks pretty clean. :tada:  Let me know if you need anything else to migrate filebot to picocli.
FYI picocli 4.0.0-beta-2 has been released with this feature.

Nice, the new docs are simple and to the point.


Added Learning section

Closes #18

@Rizwan102003 @arushi2610 Can u please do the reviews

@SaurabhS55 hey can u please look into the reviews

@Rizwan102003 @arushi2610 can you plzz review this pr once?


Switch to urfave/cli/v2

The latest release of the command line parser has some breaking changes
which are included in this commit as well.

PR needs rebase

Rebased on top of the latest master. I don't think that this has to be part of the release, so there is no rush.


Use Gradle Kotlin DSL for all exercises

Template has up-to date version.

This sounds like an awesome idea!


Separate "API proto types" from GAX?

Currently we include the generated code for google.api.* etc in Google.Gax.
We should consider putting it in a separate package instead. More dependencies, admittedly... but it would make for more sensible versioning.

There's a good reason to do this that I hadn't considered before - it makes it simpler for 3rd parties to work with just the protobuf types. For example, there's been a feature request / offer of work for a Noda Time to protobuf serialization package, which would want to depend on these protobuf types but not on anything in Gax.
@chrisdunelm: This will affect the dependencies in gcloud-dotnet, but we probably won't need a dependency within Google.Api.Gax. I think it's reasonable for both packages to have their source code in their repo. Are you happy for me to just get on with this?

@jskeet I agree this is a good idea. Yes, feel free to just do it.


direct google 'sign in' on flutter webview

I am converting my website in-app via flutter webview. but on login, I have google sign-in option.
but here i am facing some issues. like: "Couldn't sign you in, this browser or app may not secure "
i have also used <import 'package:flutter_inappwebview/flutter_inappwebview.dart';>
all feature option

may be because its webview and it uses chromium....but theses things apart the real fix should be done here

may be because its webview and it uses chromium....but theses things apart the real fix should be done here

thanks, but still facing same error

errors like can you share the log?

Hi @gods-mack
can you please provide your flutter doctor -v and flutter run --verbose?
Also, to better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

Hi @gods-mack
can you please provide your flutter doctor -v and flutter run --verbose?
Also, to better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

Thanks,

errors like can you share the log?

its not a .terminal like error....just google sign in  issue as I mentioned below via screenshot

Hi @gods-mack
could you please run  flutter run --verbose
and post the log as text or .txt attachment?
Please refrain from posting pictures if not necessary.
Thank you

Hi @gods-mack
Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


Support user-based exposure

Some devices, such as HTC add several permissions to the shell user ("android.uid.shell"), some of which may be signature|system protection level. It would be benefitial to:

See all (new) permissions assigned to the shell user (this is basically asking for diff support with sysappdb, which used to be a thing)
use sysappdb exposed  as a given user. A few examples:

As the dummy application com.dtf.client:
$ dtf sysappdb exposed --user-profile com.dtf.client --all
As the shell application:
$ dtf sysappdb exposed --user-profile com.android.shell --all
As a sharedUserId (shell for example):
$ dtf sysappdb exposed --shared-user-id 1000 --all

Will have to be pushed to future release. :(

Shared ID support is added here: https://github.com/jakev/dtfmods-core/commit/e440c43cc47d8210ee74dea24ce891cd31482767


use --reporter=failures-only for CI tests that run from dev/bots/test.dart

Resolves https://github.com/flutter/flutter/issues/149611
Resolvs #27845 (since this affects Framework as well) Removing this as I don't believe this change would affect integration tests.
(also contains some light refactors to some expect calls)
TODO

[x] Consider doing this for flutter test calls as well.

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

I tested this out by intentionally breaking some tests (in commit experiment: intentionally introduce some test failures to see how CI …experiment: intentionally introduce some test failures to see how CI …).
The result seems...really good! Check out this failure:
https://github.com/flutter/flutter/pull/150874/checks?check_run_id=26728828337
You can see the failed test output without having to navigate to LUCI!
Compare this to the status-quo, a failing check from an open tools PR:
https://github.com/flutter/flutter/pull/150850/checks?check_run_id=26712984904

Added @goderbauer has a reviewer since this would affect Framework contributors.

The new shortened test output looks very nice! I do have one question: Sometimes we've been adding extra logging to a test to track down some flakiness. For those cases it has always been helpful to compare the logs of a passing CI run with a failing CI run. Would that still be possible with this mode - or are all the runs for passing runs now thrown away?

The new shortened test output looks very nice! I do have one question: Sometimes we've been adding extra logging to a test to track down some flakiness. For those cases it has always been helpful to compare the logs of a passing CI run with a failing CI run. Would that still be possible with this mode - or are all the runs for passing runs now thrown away?

Great question. I don't think --reporter=failures-only intercepts any print calls, so I think that would still work?
Consider
// packages/flutter_tools/test/integration.shard/hot_reload_test.dart
  testWithoutContext('hot restart works without error', () async {
+   print('hello @goderbauer');
    await flutter.run();
    await flutter.hotRestart();
  });

andrewkolos-macbookpro:flutter_tools andrewkolos$ flutter test test/integration.shard/hot_reload_test.dart --reporter=failures-only
+3: hot restart works without error
hello @goderbauer
+6: All tests passed!

Another drawback is that if a test library that is running single-threaded and one of them hangs, then seeing the last test that started in the logs is helpful.

Another drawback is that if a test library that is running single-threaded and one of them hangs, then seeing the last test that started in the logs is helpful.

True. Still, I wonder how often this would be a problem. Such a situation would mean that the test ended up busy-waiting (never deferring to the event loop). I'm still willing to go through with this change.

@christopherfujino @goderbauer friendly ping

Closing to focus on tool crashes and flakes. If someone wants to pick this up, the follow-up would simply to be make an announcement (probably on discord) about this change and then merge it.