[6.x] Possible to deadlock artisan, by writing wrong cache driver

Laravel Version: 6.4.0
PHP Version: 7.3.9
Database Driver & Version:
MariaDB 10.3.17 database server

Description:
You can deadlock artisan and entirety of laravel effectively by writing an invalid default in the config/cache.php file and saving it.
will write cache.default = NULL to the bootstrap/config.php
results in the following error
cache store [] is not defined
Steps To Reproduce:
1)Open config/cache.php
2) change the default line to something invalid.
E.G '    'default' => env('CACHE_DRIVER', 'memcached'),'
To the following:
'default' => env('memcached'),
3) now save the config file using php artisan optimize (or config:clear)
4) now run any php artisan command
5) observe the 'cache store [] is not defined' error
Workaround
Change app/bootstrap/config.php.
find the line with 'cache' =>
change 'default' => NULL into anything valid like:
'default => file. or 'default'=>'memcached',

Just make sure you have a correct cache driver defined.

Just make sure you have a correct cache driver defined.

Problem is you cant reset your driver as long as you mess it up once, at it will try to write from the bootstrap file. from which it needs data from the bootstrap file.
stating just make sure you have the right driver. what kinda response is that, the whole issue is that you cant fix the driver after you made a mistake to it.
Which isn't mentioned on the laravel docs neither is the correct format for the default driver. or why it is constructed like that.

OP didn't describe the issue very well.
Actual steps to reproduce:

Run php artisan config:cache once with a valid cache driver set, like 'driver' => 'file'.
Check bootstrap/cache/config.php - it will contain a valid config with 'driver' => 'file'.
Run php artisan config:cache again with an invalid cache driver set, like 'driver' => 'foobar'
Check bootstrap/cache/config.php again - it will now contain a config with 'driver' => 'foobar'
Try running any artisan command - it will fail because Laravel won't be able to bootstrap with the invalid cache driver being loaded from the cached config file.

At this point, the only solution is to manually edit or delete bootstrap/cache/config.php.
Shouldn't be much of an issue in the real world because you'd usually only run config:cache or optimize as part of your production deployment and you probably would've noticed an invalid driver during development or testing, but I can see how it could still be somewhat annoying.

We don't consider this a bug sorry. Please just define your cache driver properly.

So if its not a bug, what would the proposed solution be to redefine your driver cache?
Surely it can't be to hack into your bootstrap and fix it manually.


Implemented querying concurrent schema

Implemented concurrent querying over shards

Thanks for the comments. I apologize as I was not aware of opening an issue before giving out a pull request. I will incorporate these changes and update my PR. Also, should I open an issue now?

Also, should I open an issue now?

Since we're already here, let's just make progress here.

Thank you for this pull request! This is looking good. I may yet tweak with command line params, trying to consider what would make most sense with backward compatibility. Noting that I'll be out on holiday for a while and so merging may be delayed.

That is so good to hear. Looking forward to seeing this merged soon.

@AnshumanTripathi this is now resubmitted as #48 . Please see how I fixed the WaitGroup to be more fair to all hosts/queries.
Also note I introduced -s <list of schemas>.


Failed Collector build does not exit with error code

When running our pipeline for our opentelemetry collector build, a failure did not cause our pipeline to fail.
I think this is due to no errors being passed backup to main. Is there a reason why errors cannot be passed back to the main package and the run of the build return non zero exit code if there was an issue.
If not then I'll create a PR for proposal.

I'm not quite sure I understand the problem description. Are you talking about a runtime error, or is it about an error while building the distribution? Are you able to provide a manifest + otelcol config file that demonstrates the problem?

When I tried to build collector v0.22.0 in our pipeline the build of the collector failed (runtime error) due to issue fixed by Pull #19. However, the pipeline succeeded as the otelcol-builder did not return an error exit code. Looking at main() no errors are propagated back to the main run of the program  and so any errors are effectively ignored in terms of return code.
My question is there a reason for this, or should I create a pull request that propagates the errors back to main so that builder can exit with a non-zero exit code. This would allow my pipeline to fail if the build of the collector fails.

Oh, I see what you mean now. You are not talking about the main that is generated as part of the builder, but the builder's main. Yes, agree that the builder should propagate any errors that it gets from the underlying commands it runs.

PR #28 closes this issue


Page build warning error

Github always email about error when someone push changes the repo.

The page build completed successfully, but returned the following warning:
Your site's DNS settings are using a custom subdomain, blog.indonesiax.co.id, that's set up as an A record. We recommend you change this to a CNAME record pointing at IndonesiaX.github.io. For more information, see https://help.github.com/pages/.
For information on troubleshooting Jekyll see:
https://help.github.com/articles/troubleshooting-jekyll-builds
If you have any questions you can contact us by replying to this email.

This maybe because we still enable github pages to use custom domain.
As now we didn't use github as main webserver.
I deleted the CNAME configuration to stop the warning messages. 4463420c5ab1388a96211dd7bc20a01136260531


find_package overload

would it be possible to overload find_package to incorporate package hunting. i was thinking that, with hunter, any find_package will essentially become
find_package(Foo)
if(NOT Foo_FOUND)
  hunter_add_package(Foo)
  find_package(Foo)
endif()

but more sophisticated argument/error handling might necessary.
a similar argument can be also made for pkg_check_modules.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/32786604-find_package-overload?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github).

  I think the main problem with non-hunter/system find_package() calls is the potential for dependency conflicts (version, ABI, etc.).  There is some related discussion here:
https://github.com/ruslo/hunter/issues/203#issuecomment-121503937
https://github.com/ruslo/hunter/issues/10

to overload find_package to incorporate package hunting

So just to clarify you mean add some code so effectively it's possible to write:
find_package(Foo)

instead of:
hunter_add_package(Foo)
find_package(Foo)

If so then I was thinking about it at the very beginning and decide to add explicit function. The pros of overloading is that you don't need to patch original packages. Some cases when this became tricky:

Not all packages use find_package(Foo), FindFoo.cmake can be load explicitly by include. E.g. OpenCV use include(FindTIFF) instead of find_package(TIFF) -> need to patch
Version control like find_package(Boost 1.56) will do not what user expect. When user see overloaded find_package(Boost 1.56) he may think that 1.56 is a version from Hunter, but it will be not true: Hunter set version once in HunterGate command while loading user's config.cmake or global one. Not allowing to do that is a different topic for discussion.
Not all packages found by find_package(Foo), e.g. find_executable may be used too.
Some projects may overload find_package too, this will lead to the conflicts

Are you proposing a sort of lazy evaluation package management scheme?

see this wiki page: https://github.com/ruslo/hunter/wiki/usr.adding.new.package.with.dependencies

i agree to all that was said above.
i was thinking to use hunter in case something is missing. usually, i stick with system installed packages, which seems to work well on fedora. however, windows and containerized ci environments are a bit different. i would like to use hunter only if the system doesn't provide what i'm looking for. that's why i think the sequence could be something like:
find_package(Foo)
if(NOT Foo_FOUND)
  hunter_add_package(Foo)
  find_package(Foo)
endif()

maybe it doesn't have to be an actual overload of find_package but could be called hunter_find_package? also, it might allow for incorporating pkgconfig modules.

i would like to use hunter only if the system doesn't provide what i'm looking for

What is the point of that? If you have this package in Hunter - just use it. If not - it's okay for now to use system (just as a workaround).

i was thinking to use hunter in case something is missing

This is by design not possible. Hunter manage stuff so it creates reproducible build. I.e. it doesn't use the fact that package present in system or not. If one user have Foo installed and other haven't, the result of running Hunter should be the same. This is critical for sharing cache binaries. At least the only way to make something close to what you want is to explicitly said that "I want to use this package from system". This should affect all packages in current root. Also I don't see the way of sharing such cache (for one user package found in /usr/lib for other in /usr/local/lib - conflict for binaries) and how it will behave when you update 3rd party by system package manager.

i stick with system installed packages, which seems to work well on fedora. however, windows and containerized ci environments are a bit different

You can enable Hunter for one system and disable for another. This can be done by HUNTER_ENABLED option.

Hope this helps, closing.


problem running generator

    generate  browse_everything:config
      insert  config/routes.rb
      create  config/browse_everything_providers.yml
      insert  config/browse_everything_providers.yml
      append  config/analytics.yml
/Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:98:in `binread': No such file or directory @ rb_sysopen - /Users/justin/workspace/sufia-core/.internal_test_app/config/analytics.yml (Errno::ENOENT)
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:98:in `replace!'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:59:in `invoke!'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions.rb:94:in `action'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:30:in `insert_into_file'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb:180:in `append_to_file'
        from /Users/justin/workspace/sufia-core/.internal_test_app/lib/generators/test_app_generator.rb:20:in `add_analytics_config'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `each'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `invoke_all'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/generators.rb:157:in `invoke'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands/generate.rb:13:in `<top (required)>'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:130:in `generate_or_destroy'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:50:in `generate'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
        from /Users/justin/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

Not a browse-everything issue.


[Docs] Add readme to core package

Closes #173
Description
Add README to core package

@akshatamohanty tysm! I made some edits :)

@allcontributors please add @akshatamohanty for docs


How to use onOffsetChange?

Could you give a minimal example how to use this function? I asked this question here.

$('.image-editor').cropit({
  onOffsetChange: function(newOffset) {
    console.log(newOffset);
  }
});


Don't do prelowerpeeps for shl/shr across blocks

Prelower peeps does below transformation which eliminates t1. But in the case there is branch between t1 and t2, t1 could be live in the branch target then unsafe to remove t1.  This fix disables this peep if branch detected inside, and it is safe to do it inside one block.
t1 = SHR X, cst
...
t2 = SHL t1, cst
->
t2 = AND X, mask

@LouisLaf please help take a look.

:shipit:

    if (instrIter->FindRegUse(src1->AsRegOpnd()->m_sym))

Since src1 is singleDef, we should also remove this.

Refers to: lib/Backend/PreLowerPeeps.cpp:85 in 8e4ffc0. [](commit_id = 8e4ffc0160e24e7776ecfb50b4e28f2f88c15a2a, deletion_comment = False)

:shipit:

@ThomsonTan is this good to merge now?

@rajatd this was merged right after passing review (just verified the change is in master). Not sure why it is still open (I got one similar problem in the past, looks to be an issue of the submission tool?). Let me close this one manually.

@rajatd this was merged right after passing review (just verified the change is in master). Not sure why it is still open (I got one similar problem in the past, looks to be an issue of the submission tool?). Let me close this one manually.


[LP] Permissions data could not be loaded. Please try again later.

This error keeps showing up, i did everything i could, i'm running the server on 1.12.2 bukkit.
Can someone help me out?
The error is: [LP] Permissions data could not be loaded. Please try again later.

I have the same problem, here are my logs
I have online mode=false but it must be like this
Please help me as fast as you can
[17:30:26] [Server thread/INFO]: [ASkyBlock] Loading island grid...
[17:30:26] [Server thread/INFO]: [ASkyBlock] Loading islands.yml
[17:30:26] [Server thread/INFO]: [ASkyBlock] Loading warps...
[17:30:26] [Server thread/INFO]: [ASkyBlock] All files loaded. Ready to play...
[17:30:26] [Server thread/INFO]: [ASkyBlock] Metrics loaded.
[17:30:27] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 5414ms behind, skipping 108 tick(s)
[17:30:27] [pool-3-thread-3/INFO]: [Vault] No new version available
[17:30:28] [Server thread/INFO]: [ASkyBlock] No update available.
[17:30:33] [pool-3-thread-13/INFO]: [Metrics] Connection timed out (Connection timed out)
[17:30:48] [Server thread/INFO]: [LP] Processing login for e44e9659-3a0b-3422-9822-3f5c82d90e03 - Dimashokz
[17:30:48] [Server thread/INFO]: [LuckPerms] [WARN] User e44e9659-3a0b-3422-9822-3f5c82d90e03 - Dimashokz doesn't have data pre-loaded. - denying login.
[17:30:48] [Server thread/INFO]: Disconnecting com.mojang.authlib.GameProfile@775e7e90[id=e44e9659-3a0b-3422-9822-3f5c82d90e03,name=Dimashokz,properties={},legacy=false] (/<IP_ADDRESS>:41540): §7§l[§b§lL§3§lP§7§l] §cPermissions data could not be loaded. Please try again later.
[17:30:49] [Server thread/INFO]: com.mojang.authlib.GameProfile@775e7e90[id=e44e9659-3a0b-3422-9822-3f5c82d90e03,name=Dimashokz,properties={},legacy=false] (/<IP_ADDRESS>:41540) lost connection: §7§l[§b§lL§3§lP§7§l] §cPermissions data could not be loaded. Please try again later.


I am unable to bind dropdownlist in jsgrid

I am unable to bind dropdownlist with database. Some times it's working some times not working.Can you explain me the reason
{ name: "Location", type: "select", items: db.Locations, valueField: "LocationID", textField: "Description", width: 200 },
in the above code snippet, I think name is the data-field of dropdownlist, **valueField is value of dropdownlis **and textField is text of dropdownlist. Am i right?.If so, why it's not working.Please explain and one more thing can we edit on mouse over and update on mouse out in this grid.

are you loading db.locations through an ajax call ? if so your problem is that Ajax calls are asynchronous and as such the data has not been loaded before you try bind it to the drop down list

db.damages = [];
db.clients = [];
$.get("/Test/GetMerchant",
function (data) {
debugger;
db.Locations = data.loc;
db.damages = data.dam;
}, "json");
above the code snippet inside db.js

Looks like @CalvinMills is right. You need to initizalize the grid right in the done handler of the ajax request:

$.get("/Test/GetMerchant",
    function (data) {
        db.Locations = data.loc;
        db.damages = data.dam;

        // init grid here
    }, "json");

BTW: you can find an example in the js-grid sample project for php https://github.com/tabalinas/jsgrid-php/blob/master/public/js/sample.js


Hard to use in vcpkg

vcpkg_fixup_cmake_targets(CONFIG_PATH share/toml11) is not enough.
toml11config.cmake still looks for lib/cmake/toml11.
Perhaps we can avoid hard-coded paths in CMakeLists.txt.

Unfortunately, I don't have any experience or knowledge in vcpkg. Therefore I have no idea about the usage of it in your situation. So I want to ask for more details about the problem.
I thought that vcpkg is for Windows only, but I just found out that it works also for linux and OS X. Since I have just installed it on VM, I can reproduce your problem if you provide the way to do that.

Perhaps we can avoid hard-coded paths in CMakeLists.txt.

Do you have any idea about which one should be changed?
FYI, the location where toml11 will be installed can be changed via CMAKE_INSTALL_LIBDIR, CMAKE_INSTALL_INCLUDEDIR and CMAKE_INSTALL_PREFIX.

I will take a shot at this. I was thinking of a github action to test vcpkg integration, but it seems out of the scope for this project.

The problem is:
https://github.com/ToruNiina/toml11/blob/fda0a2b9abd16e356f777c40a675131821c71b00/cmake/toml11Config.cmake.in#L2
It should just state
include("${CMAKE_CURRENT_LIST_DIR}/toml11Targets.cmake")
since targets and configs should reside in the same directory.

merged the pull request that includes the change suggested here.


Docker-compose --build support

This PR adds support to build the containers before starting the services.
Resolves #76
Also, there's an enhancement to the tests to make them run from anywhere, it doesn't have to be project root. This was an issue when running the tests from an IDE, like PyCharm.

Codecov Report

Merging #78 into master will increase coverage by 0.18%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #78      +/-   ##
==========================================
+ Coverage   84.94%   85.13%   +0.18%
==========================================
  Files          19       19
  Lines         392      397       +5
  Branches       25       26       +1
==========================================
+ Hits          333      338       +5
  Misses         43       43
  Partials       16       16

Impacted Files
Coverage Δ

testcontainers/compose.py
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 70b142e...0f8f9d2. Read the comment docs.

@tillahoffmann , would you like to review?

Closing for now as wontfix (see #83 for details), but thank you for the contribution!


Add Swagger 2.0 support

Refs #11

There were the following issues with your Pull Request

Commit: db0793c895e8d9ce697065033c894d6a45739bc9
Your subject line is longer than 72 characters

Guidelines are available at https://github.com/rustless/rustless

This message was auto-generated by https://gitcop.com

This is the first part of Swagger 2.0 integration. I'll merge this, because there are a lot of changes here.


Add new sub domain names

Hi,
This PR add new sub domain names.
This is how I proceed:

I used this script to generate a list of sub domain names.
I converted the names found as lower case and removed duplicates.
I used the command cat namelist.txt subdomains.txt | sort -u > namelist-updated.txt to update the content of the file namelist.txt.

Perhaps you will find the update not relevant, so, feel free to reject the PR if it's the case 😃

Thank you - great stuff (as always!)

Thank to you for this amazing project 🥇


Uncaught TypeError: Vue.transition is not a function

Uncaught TypeError: Vue.transition is not a function
Vue.transition is deprecated in vue 2

Thanks we are working on migrating this to Vue 2 at the moment


custom-set: Rewrite tests to use hspec with fail-fast.

Rewrite tests to use hspec.
Remove explicit testing of Show.

Related to #211.

:+1:


[SPARK-12789] [SQL] Support Order By Ordinal in SQL

What changes were proposed in this pull request?
This PR is to support order by position in SQL, e.g.
select c1, c2, c3 from tbl order by 1 desc, 3

should be equivalent to
select c1, c2, c3 from tbl order by c1 desc, c3 asc

This is controlled by config option spark.sql.orderByOrdinal.

When true, the ordinal numbers are treated as the position in the select list.

When false, the ordinal number in order/sort By clause are ignored.

Only convert integer literals (not foldable expressions). If found foldable expressions, ignore them

This also works with select *.

Question: Do we still need sort by columns that contain zero reference? In this case, it will have no impact on the sorting results. IMO, we should not allow users do it. @rxin @cloud-fan @marmbrus @yhuai @hvanhovell
-- Update: In these cases, they are ignored in this case.
Note: This PR is taken from https://github.com/apache/spark/pull/10731. When merging this PR, please give the credit to @zhichao-li
Also cc all the people who are involved in the previous discussion: @adrian-wang @chenghao-intel @tejasapatil
How was this patch tested?
Added a few test cases for both positive and negative test cases.

Thanks - the description is great!
If the order by list is empty (all or constant foldable), then I'd say we should get rid of the order by. That's what postgres does too.

Test build #53516 has started for PR 11815 at commit e0dce39.

Test build #53516 has finished for PR 11815 at commit e0dce39.

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

Merged build finished. Test FAILed.

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

Test build #53542 has started for PR 11815 at commit 256814b.

Will submit a separate PR for cleaning/eliminating no-op SortOrder in Optimizer. Thanks!

Test build #53542 has finished for PR 11815 at commit 256814b.

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

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

Merged build finished. Test PASSed.

cc @cloud-fan for review

LGTM except 2 minor comments

Test build #53604 has started for PR 11815 at commit b04529b.

Test build #53604 has finished for PR 11815 at commit b04529b.

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

Merged build finished. Test PASSed.

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

Test build #53656 has started for PR 11815 at commit d52e1c7.

Test build #53656 has finished for PR 11815 at commit d52e1c7.

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

Merged build finished. Test FAILed.

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

Test build #53662 has started for PR 11815 at commit 46e3f69.

LGTM, pending tests.

Test build #53662 has finished for PR 11815 at commit 46e3f69.

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

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

Merged build finished. Test PASSed.


Doesn't work with GPG SSH agent on macOS

I use gpg-agent (GnuPG) 2.2.15 to do my SSH authentication, configured to prompt via GUI, and requiring me to press my Yubikey to finish the request.
When I use fw sync, it stops at Apr 11 14:41:40.416 DEBG Update project remotes, path: "/Users/liamdawson/w/...", exists: true, git: git@github.com:..., command: sync, and Activity Monitor shows fw using ~80% CPU. However, after workon git hooks seem to work fine, much like normally using git on my CLI. For example, I can fw sync -n, ctrl+c, cd project_directory and then git fetch origin --prune successfully.
I think adding a workaround that shells out to the native git executable (instead of doing it in-process via the libgit2 bindings) would help me in this situation.

The project is currently based on the assumption that you add your ssh-key to your ssh-agent using ssh-add. I don't know if that works using the gpg setup.
fw currently does not initialize the authentication part but relies on it being already in a usable state. That is something we could change like adding the key to the ssh agent if it is not already present. The same could be done for other setups.

The gpg-agent masquerades as the SSH agent (including running the SSH_AUTH_SOCK), so I was expecting it to work. As far as SSH (and by extension, git) are concerned, it behaves identically to a normal SSH key agent, including forwarding.

If it behaves the same it should work. Could you try fw -vvv sync --no-progress-bar. Maybe there is a  error message. They are often hidden by the progress bar.

@liamdawson does the gpg-agent expect your yubikey press every time? It's a known issue that fw sync doesn't work with "interactive" ssh agents (e.G. if you didn't "unlock" your ssh agent, it will just hang).
Disabling the progress bar as @bomgar suggests may help. The way we do ssh authentication was similar to the way cargo handled it at the time, do you have issues with cargo too (when not using https, you have to use ssh for a crate)?

During sync we end up calling into git_cred_ssh_key_from_agent. This is in libgit2, so I don't think that's the problem.
If your agent is "unlocked" and it doesn't work, another possible source is that we provide the username for authentication to the git_cred_ssh_key_from_agent function. If the username is wrong that is certainly a problem.
We are currently inferring the username from the repository (e.g. ssh://USER@xxx) with a fallback to $USER, with a fallback to git. Does this sound like it could be the problem?

Okay, I had a mistake in that my local SSH_AUTH_SOCK wasn't pointing to the right spot, which is bizarre that git was still working, but 🤷♂
I get a new error now:
Apr 11 20:16:30.600 CRIT Error running command, error: GitError(Error { code: -1, klass: 23, message: "error authenticating: agent list id failed" }), command: sync

However, I can confirm that cargo fetch can use my updated configuration, so there's a difference between the two.

it kinda sounds like something with the identity listing is wrong
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html
does ssh-add -l and ssh-add -L work? Do you have the keygrip in ~/.gnupg/sshcontrol?

ssh-add -l/ssh-add -L return keys as expected. The other thing I'm wondering is if it's the parallelism that causes issues. Is there a way to ensure only one pull happens at a time?

fw sync -p 1

Still pretty sure this is related to the username inference. Cargo does exactly the same thing, except that they try different usernames in a loop.
How does your repo url look? Any change you might share it after scrambling the essentials? Is there a username in it? Are you using github (e.g. is the username git)?

One of them is my dotfiles repo: git@github.com:/liamdawson/kzn.git. They're all GitHub urls in that format.

fw sync -p 1 worked, required quite a few Yubikey taps, but it worked. I'm guessing the agent can't handle a second request when waiting for the first tap?
Is there a "update this one specific project" command which I can use to clone a single project? I might use that for my workflow instead.

The sync -n switch will only clone repos that are not on the filesystem yet. It's also what I use after fw add, since it will only perform one git operation.

Alright, sounds like the issue isn't really a fw issue as much as a complex interaction issue. I'd still like a "update this one specific project" command, and might offer a PR for that later if it would be accepted.

For future readers, I swapped from using SSH via GPG to SSH via PKCS11 on my Yubikey, and the "cached" touch mode works fine with fw sync.


Discuss: PlutusData meaning for Prelude types

What is PlutusData (toData and fromData) meaning for all Prelude types?
https://github.com/mlabs-haskell/lambda-buffers/blob/26adebd13cb97900cec7fe66cb1dd11977ba77ed/libs/lbf-plutus/Plutus/V1.lbf#L15
-- Instances for Prelude types
-- TODO(bladyjoker): Add other Prelude types (Text, Bytes etc.)?
instance PlutusData Bool
instance PlutusData Integer
instance PlutusData (Maybe a) :- PlutusData a
instance PlutusData (List a) :- PlutusData a
instance PlutusData (Either a b) :- PlutusData a, PlutusData b

These are obvious, but we could theoretically define PlutusData for Prelude Char/Text/Bytes/Map/Set.
Gergely's Rust backend already implements some notion of PlutusData for these types.

Options:
Remove Plutus Map and Bytes
Do we need them. For offchain backends like Rust, it doesn't really matter, so we could remove these and just define PlutusData semantics for Prelude Map and Bytes.
For onchain, Plutarch and PlutusTx, I think the same could apply. The codegen configs are separate and they can map Prelude types to equivalent Plutus types.


Using AclCommand,avoid call the global method loadcache in SimpleAclAuthorizer

In the class Named AclCommand,configure SimpleAclAuthorizer,but no need call loadCache.
If there are a lot of topics, loadCache will be very slow.
now we have 20,000 topics in a new cluster,all these topics need to be authed for each project group.No matter how to run AclCommand, it will be very slow.
this updating can improve the running time from minutes to less than one second

@StevenLuMT I will take a look soon. thanks.

@StevenLuMT Thanks for the PR, looks useful. Since this is adding a new config for AclAuthorizer and a new option for the tool, it will be good to have a small KIP describing the changes and motivation.

@rajinisivaram finished,thanks for review this KIP
https://cwiki.apache.org/confluence/display/KAFKA/KIP-546%3A+Using+AclCommand%2Cavoid+call+the+global+method+loadcache+in+SimpleAclAuthorizer

@StevenLuMT Thanks for writing the KIP. Can you start a DISCUSS thread on the dev mailing list for the KIP? The KIP process is described here: https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals.

AclAuthorizer is now being removed, so closing


feat(Request): Improve request cookie handling

This patch provides support for getting all values for a given cookie (when
the same cookie is included multiple times in the request), and also optimizes
request cookie parsing to make it an order of magnitude faster.
BREAKING CHANGE: Request.cookies now gives precedence to the first value
encountered in the Cookie header for a given cookie name, rather than the
last.
BREAKING CHANGE: Request cookie parsing no longer uses the standard library
for most of the parsing logic. This may lead to subtley different results
for archaic cookie header formats, since the new implementation is based on
the latest RFC 6265.
Closes #1107
Closes #1046

LGTM now!


fallback to proxy on not defined methods

Define
api.any('/{proxy+}', (event, context) => {
    console.log(JSON.stringify({event: event, context: context}, null, 2));
    return new Api.Response({ message : 'Success' }, 200, { 'Content-Type': 'application/json' });
});

api.get('/test', (event, context) => {
    console.log(JSON.stringify({event: event, context: context}, null, 2));
    return new Api.Response({ message : 'Success' }, 200, { 'Content-Type': 'application/json' });
});

then call
curl -XPOST http://localhost:8080/api/test
and it will fail because all was defined on the path, even though the api only has get defined, and there for the ANY /{proxy+} couldn't pick up the call.

Fixed in ^2.2


Fix NPE when getting rebalance strategy

This RB fixes NullPointerException when fetching rebalance strategy from table config.
Sample exception message:
java.lang.Enum.valueOf - Line 236 (Enum.java)
com.linkedin.pinot.controller.helix.core.sharding.SegmentAssignmentStrategyEnum.valueOf - Line 23 (SegmentAssignmentStrategyEnum.java)
...

Codecov Report

Merging #3102 into master will increase coverage by 0.02%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master    #3102      +/-   ##
============================================
+ Coverage     70.24%   70.27%   +0.02%
  Complexity        4        4
============================================
  Files           936      936
  Lines         43520    43522       +2
  Branches       5901     5902       +1
============================================
+ Hits          30572    30585      +13
+ Misses        10896    10888       -8
+ Partials       2052     2049       -3

Impacted Files
Coverage Δ
Complexity Δ

...ore/rebalance/DefaultRebalanceSegmentStrategy.java
93.1% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ore/rebalance/RebalanceSegmentStrategyFactory.java
64.7% <0%> (-8.63%)
0 <0> (ø)

...lix/EmptyBrokerOnlineOfflineStateModelFactory.java
86.66% <0%> (-13.34%)
0% <0%> (ø)

...ore/query/scheduler/resources/ResourceManager.java
87.09% <0%> (-9.68%)
0% <0%> (ø)

.../impl/dictionary/LongOffHeapMutableDictionary.java
83.63% <0%> (-9.1%)
0% <0%> (ø)

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
74.54% <0%> (-7.28%)
0% <0%> (ø)

.../pinot/core/query/scheduler/PriorityScheduler.java
78.08% <0%> (-5.48%)
0% <0%> (ø)

...impl/dictionary/FloatOffHeapMutableDictionary.java
87.27% <0%> (-5.46%)
0% <0%> (ø)

...linkedin/pinot/common/metrics/AbstractMetrics.java
77.03% <0%> (-1.49%)
0% <0%> (ø)

...core/startree/operator/StarTreeFilterOperator.java
95.12% <0%> (-0.61%)
0% <0%> (ø)

... and 13 more

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 4a5e8d8...55242fd. Read the comment docs.


Fail with PHP 8.2

With RC5 we get this error.
Using Ubuntu 20.04 and 22.04.

ok, please wait for repair.

Hi, nice to read you.
:+1:
Please remember to check also #136
Thank you

Check https://github.com/rryqszq4/ngx-php/pull/151/commits/4a16fd54ba6c5c0dcc8291ad1acdb37cc617cfb8


 This all looks good to me - when we manual deploy will that be from a dedicated private github repo?

@alice-carr yes, that's what the first 3 items in the new box is. let me tweak that to make that clear

I think we should expand on this to show how staging will fit into this flow as we are going to build out staging followed by production.
Why do we need to block deploys?

Result: https://github.com/alphagov/forms-deploy/
It's turned out more like
stateDiagram-v2
direction LR
state existing-ci {
state "forms-api" as forms_api
state "forms-runner" as forms_runner
state "forms-admin" as forms_admin
DEVELOPER --> forms_api : commits
DEVELOPER --> forms_runner : commits
DEVELOPER --> forms_admin : commits

DEVELOPER --> forms_deploy : Run workflow

forms_api --> DEV_API_PAAS : auto ci deploy
forms_runner --> DEV_RUNNER_PAAS : auto ci deploy
forms_admin --> DEV_ADMIN_PAAS : auto ci deploy

forms_api --> forms_deploy : actions/checkout
forms_runner --> forms_deploy : actions/checkout
forms_admin --> forms_deploy : actions/checkout
}
state new-development-done {
state "forms-deploy\nprivate repo" as forms_deploy

forms_deploy --> PRODUCTION_API_PAAS : deploy
forms_deploy --> PRODUCTION_RUNNER_PAAS : deploy
forms_deploy --> PRODUCTION_ADMIN_PAAS : deploy
forms_deploy --> STAGING_API_PAAS : deploy
forms_deploy --> STAGING_RUNNER_PAAS : deploy
forms_deploy --> STAGING_ADMIN_PAAS : deploy
}

PaaS deployment is documented at https://github.com/alphagov/forms-deploy/
This will need updating when we migrate from PaaS to AWS.


Add netpolicy rule name field to netpolicy logs

Currently we can give names to the rules inside a netpolicy spec.
Eg:
apiVersion: crd.antrea.io/v1alpha1
kind: ClusterNetworkPolicy
metadata:
  name: test-rule
spec:
    priority: 1
    tier: Emergency
    appliedTo:
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: kube-system
    egress:
    - name: allow-inside-same-namespace <<<<<<<<<<<<<<<< NAME
      action: Allow
      enableLogging: true
      to:
      - namespaces:
          match: Self

    - name: allow-dns-out        <<<<<<<<<<<<<<< NAME
      action: Allow
      enableLogging: true
      to:
      - ipBlock:
          cidr: <IP_ADDRESS>/0
      ports:
      - protocol: UDP
        port: 53

But in netpolicy logs, that name is not used at all
2022/07/08 22:41:36.346434 AntreaPolicyEgressRule AntreaClusterNetworkPolicy:test-rule Allow 54960 <IP_ADDRESS> 42626 <IP_ADDRESS> 53 UDP 60

It would be pretty useful if we had the rule name too. Sometimes one has a big spec file with several rules and it is hard to know which one matched that traffic.

@qiyueyao any thoughts on this? :)


Allow JAX-RS resources to be added via BeanConfig

For finer grained control, it would be nice if BeanConfig offered a way to specify explicit classes to process via a void addResource(Object resource) method, instead of having to use void setResourcePackage(String packages).

A PR would be great for this, or an example of the usage you're looking for.


Create rate feature

Settings - Rate - should lead to play store
Create rate dialog that pops up after 3 days or after app opened for the 10th time.
There should be 3 buttons - Never, Not now, Ok.
The text should say something like "Are you enjoying our app? Please give us a review"


Integrating a crdt

Hey nice project! Have you considered where someone hook in to implement collaborative features with a crdt? In the dispatchTransaction method maybe? Or perhaps as an extension? I like the idea of having the canonical representation of document state be the unist tree with the crdt managing the tree for replication. Does that make sense for this library?

Hi, I am not really well-versed in CRDTs, but my thoughts:

CRDTs are out of sope ot this package - the package is just a bridge between the worlds of ProseMirror and Unified.
Your idea of having the unist tree be the "canonical representation" sound right to me.
At the same time, I can't find any CRDT implementation for unist, probably because unist isn't directly meant for editors, where CRDTs are the most useful
Given that ProseMirror supports collaborative editing with CRDTs, I would just go with that instead...


Clarify behavior if no record is found

It is unclear from the documentation what GetAsync does if no such record is found. Does it throw an exception, return null, or return a non-null RecordSet object?

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

ID: 0d38978c-39fc-8655-90e4-e960b575f960
Version Independent ID: ad22de88-e4fa-9e61-c1d3-251c22bc53c2
Content: RecordSetsOperationsExtensions.GetAsync(IRecordSetsOperations, String, String, String, RecordType, CancellationToken) Method (Microsoft.Azure.Management.Dns) - Azure for .NET Developers
Content Source: xml/Microsoft.Azure.Management.Dns/RecordSetsOperationsExtensions.xml
Service: dns
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

@allenjzhang: Routing this to the service team, as it appears the documentation is coming from the service swagger.  Please feel free to reroute if I'm mistaken.

Thank you for your feedback.  Tagging and routing to the team best able to assist.

I don't see any change made. There's still no documentation that I can find
for how the library behaves if there's an error or no such record found.
On Mon, Dec 27, 2021 at 2:42 AM msftbot[bot] @.***>
wrote:

Hi @jlautman https://github.com/jlautman. Thank you for opening this
issue and giving us the opportunity to assist. We believe that this has
been addressed. If you feel that further discussion is needed, please add a
comment with the text “/unresolve” to remove the “issue-addressed” label
and continue the conversation.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-net/issues/22432#issuecomment-1001501637,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADC2UPNOG3OATVXDF66K7QTUTA7J3ANCNFSM47XRQ4FQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

This is quite the joke. Nobody answers for 2 years, then it's closed because it was inactive for 2 years. And...it's still not answered. Clearly DNS isn't important to Microsoft.


condensed duplicate code for trait specialization using macros

I put all the "default" keyword stuff into a impl_fn! macro. that way, there's way less duplicate code for simd trait implementations
I also feel like there should be a "specialization" or "nightly" feature that's separate from "simd" (that simd enables/depends on). This patch doesn't include that, but makes it easier to implement, since there's only one macro to change
also made a BaseSigned trait so that you can use the trait implementation macros for Neg

ping! @brendanzab
have any thoughts on this one?
I mainly did it because the first PR I submitted failed on the simd travis builds the first time, and I had to fix it by duplicating code. Doing it this way means that changes to the trait implementations only need to happen in one place, so it should reduce friction on future patches

Woopsie, sorry I looked, thought it was awesome, then forgot to reply!
Yeah, I re-read the simd stuff a while back and got a tad confused. In fact I think a whole lot of our macro stuff is a bit ugly, so I'm glad you've been looking into it!

these changes are in my queue. will probably get to it in the next few days
thanks for feedback!


CPU usage increases after multiple hours of uptime, likely caused by sanitizeFields

Link to reproduction
No response
Describe the Bug
Hello there! Foremost, thank you for this amazing tool, it really is great to work with as a developer!
We have developed a webshop in Next.js and use Payload for storing and managing our data.
The problem arises, when we build for production, because after a few hours we notice an upward trend in CPU usage and response times.
Here is a screenshot from uptime-kuma, showcasing the problem (red areas mean >16 seconds response time). For context, the monitored url is a rest call for the homepage, which returns roughly 500k characters.

A similar result can be noticed on smaller documents as well (this is the same rest call, but with depth=1, which returns roughly 100k characters).

Here is the CPU usage graph of the CMS for context. It's limited to 3.5 vCPUs, so It's not exactly at the limit right now, but the upwards trend continues and will eventually reach the limit.

We have used the --prof flag with node to debug which function uses up the CPU. I have attached the first few lines of the output below, the other entries don't use up a lot of ticks and are therefore irrelevant I think.
 [Shared libraries]:
   ticks  total  nonlib   name
  6028977   66.0%          /usr/local/bin/node
  773765    8.5%          /lib/ld-musl-x86_64.so.1
   3960    0.0%          /usr/lib/libstdc++.so.6.0.32
   1100    0.0%          [vdso]
    267    0.0%          /usr/lib/libgcc_s.so.1

 [JavaScript]:
   ticks  total  nonlib   name
  2011596   22.0%   86.3%  LazyCompile: *<anonymous> /app/node_modules/payload/dist/fields/config/sanitize.js:25:23
  107288    1.2%    4.6%  LazyCompile: *sanitizeFields /app/node_modules/payload/dist/fields/config/sanitize.js:23:24
  63377    0.7%    2.7%  LazyCompile: *deepCopyObject /app/node_modules/payload/dist/utilities/deepCopyObject.js:11:24
  25801    0.3%    1.1%  LazyCompile: *deserializeObject /app/node_modules/bson/lib/parser/deserializer.js:65:27
  20364    0.2%    0.9%  LazyCompile: *promise /app/node_modules/payload/dist/fields/hooks/afterRead/promise.js:19:17
  19912    0.2%    0.9%  LazyCompile: *<anonymous> /app/node_modules/@payloadcms/richtext-lexical/dist/populate/recurseNestedFields.js:14:20
   4546    0.0%    0.2%  LazyCompile: *traverseFields /app/node_modules/payload/dist/fields/hooks/afterRead/traverseFields.js:12:24
   4191    0.0%    0.2%  Function: ^<anonymous> /app/node_modules/payload/dist/fields/config/sanitize.js:25:23
   2617    0.0%    0.1%  LazyCompile: *getEncodingOps node:buffer:723:24
   2165    0.0%    0.1%  LazyCompile: *recurseNestedFields /app/node_modules/@payloadcms/richtext-lexical/dist/populate/recurseNestedFields.js:13:29
   1969    0.0%    0.1%  LazyCompile: *slice node:buffer:638:12
   1858    0.0%    0.1%  LazyCompile: *prune /app/node_modules/mongodb/lib/utils.js:736:10
   1812    0.0%    0.1%  LazyCompile: *<anonymous> /app/node_modules/payload/dist/fields/hooks/afterRead/promise.js:125:48
   1702    0.0%    0.1%  LazyCompile: *Schema.eachPath /app/node_modules/mongoose/lib/schema.js:1469:37
   1429    0.0%    0.1%  Function: ^<anonymous> /app/node_modules/@payloadcms/richtext-lexical/dist/populate/recurseNestedFields.js:14:20
   1310    0.0%    0.1%  LazyCompile: *populate /app/node_modules/payload/dist/fields/hooks/afterRead/relationshipPopulationPromise.js:12:18
   1262    0.0%    0.1%  LazyCompile: *nodes /app/node_modules/mongodb/lib/utils.js:679:11
   1138    0.0%    0.0%  LazyCompile: *find /app/node_modules/payload/dist/collections/operations/find.js:26:20
   1084    0.0%    0.0%  LazyCompile: *serializeInto /app/node_modules/bson/lib/parser/serializer.js:553:23
   1026    0.0%    0.0%  LazyCompile: *afterRead /app/node_modules/payload/dist/fields/hooks/afterRead/index.js:13:25
    919    0.0%    0.0%  LazyCompile: *next /app/node_modules/express/lib/router/index.js:177:16
    828    0.0%    0.0%  LazyCompile: *blockPopulationPromise /app/node_modules/@payloadcms/richtext-lexical/dist/field/features/Blocks/populationPromise.js:14:36
    778    0.0%    0.0%  LazyCompile: *<anonymous> /app/node_modules/payload/dist/fields/hooks/afterRead/promise.js:272:34
    729    0.0%    0.0%  LazyCompile: *fields.hooks.afterRead /app/node_modules/payload/dist/uploads/getBaseFields.js:122:41

As you can see, the sanitizeFields function is using up most of the ticks, but we don't really know why. From checking the code, it seems like it is validating the config? Which is weird, because we are using the build mode. We have also checked for cyclic relations, but there are none, so that would also eliminate that.
Here is the Dockerfile of the deployment so you can check:
FROM node:18-alpine AS base

WORKDIR /app

FROM base AS dependencies

RUN apk add --no-cache libc6-compat
RUN apk update
RUN yarn global add turbo

FROM dependencies AS builder

COPY turbo.json .
COPY package.json .
COPY yarn.lock .
COPY .yarnrc.yml .
COPY .yarn ./.yarn
COPY apps/cms ./apps/cms
COPY packages ./packages

RUN turbo prune --scope=cms --docker

FROM dependencies AS installer

ARG PAYLOAD_PUBLIC_PAYLOAD_PUBLIC_URL
ARG PAYLOAD_PUBLIC_WEBSITE_PUBLIC_URL
ARG PAYLOAD_SEED_ADMIN_PASSWORD
ARG PAYLOAD_SEED_USER_PASSWORD
ARG PAYLOAD_SECRET
ARG PAYLOAD_USE_LOCAL_STORAGE
ARG PAYLOAD_SEED_LOCAL_DATA

ENV NODE_ENV $NODE_ENV
ENV PAYLOAD_PUBLIC_PAYLOAD_PUBLIC_URL $PAYLOAD_PUBLIC_PAYLOAD_PUBLIC_URL
ENV PAYLOAD_PUBLIC_WEBSITE_PUBLIC_URL $PAYLOAD_PUBLIC_WEBSITE_PUBLIC_URL
ENV PAYLOAD_SEED_ADMIN_PASSWORD $PAYLOAD_SEED_ADMIN_PASSWORD
ENV PAYLOAD_SEED_USER_PASSWORD $PAYLOAD_SEED_USER_PASSWORD
ENV PAYLOAD_SECRET $PAYLOAD_SECRET
ENV PAYLOAD_USE_LOCAL_STORAGE $PAYLOAD_USE_LOCAL_STORAGE
ENV PAYLOAD_SEED_LOCAL_DATA $PAYLOAD_SEED_LOCAL_DATA

ENV NODE_ENV production

COPY --from=builder /app/out/full/ .
COPY --from=builder /app/out/yarn.lock .
COPY --from=builder /app/.yarn ./.yarn
COPY --from=builder /app/.yarnrc.yml .

RUN yarn
RUN yarn workspace cms generate:types
RUN yarn turbo run build --no-cache

FROM base AS runner

ARG NODE_ENV=production
ARG PAYLOAD_PUBLIC_PAYLOAD_PUBLIC_URL
ARG PAYLOAD_PUBLIC_WEBSITE_PUBLIC_URL
ARG PAYLOAD_SEED_ADMIN_PASSWORD
ARG PAYLOAD_SEED_USER_PASSWORD
ARG PAYLOAD_SECRET
ARG PAYLOAD_USE_LOCAL_STORAGE
ARG PAYLOAD_SEED_LOCAL_DATA

ENV NODE_ENV $NODE_ENV
ENV PAYLOAD_PUBLIC_PAYLOAD_PUBLIC_URL $PAYLOAD_PUBLIC_PAYLOAD_PUBLIC_URL
ENV PAYLOAD_PUBLIC_WEBSITE_PUBLIC_URL $PAYLOAD_PUBLIC_WEBSITE_PUBLIC_URL
ENV PAYLOAD_SEED_ADMIN_PASSWORD $PAYLOAD_SEED_ADMIN_PASSWORD
ENV PAYLOAD_SEED_USER_PASSWORD $PAYLOAD_SEED_USER_PASSWORD
ENV PAYLOAD_SECRET $PAYLOAD_SECRET
ENV PAYLOAD_USE_LOCAL_STORAGE $PAYLOAD_USE_LOCAL_STORAGE
ENV PAYLOAD_SEED_LOCAL_DATA $PAYLOAD_SEED_LOCAL_DATA

RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
USER nextjs

COPY --from=installer --chown=nextjs:nodejs /app/apps/cms/package.json .

COPY --from=installer --chown=nextjs:nodejs /app/apps/cms/build ./build
COPY --from=installer --chown=nextjs:nodejs /app/apps/cms/dist ./dist
COPY --from=installer --chown=nextjs:nodejs /app/node_modules ./node_modules

ENV PAYLOAD_CONFIG_PATH=dist/payload.config.js

CMD node dist/server.js

Do you have any idea why the sanitizeFields function is taking up so many ticks, and what could potentially fix that issue?
Thank you!
To Reproduce
We are not really sure how to reproduce the issue, as it only shows up after a while of running, and we are not sure which part exactly causes the sanitizeFields function to be called so often.
The codebase we are working on is closed-source for a customer, so we can't share it here publicly, unfortunately.
Payload Version
2.11.2
Adapters and Plugins

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Hey, thanks a lot for looking into it!
Interesting that this function normally should not be called while the server is running. Could you maybe give me some insight on when this function normally would get called?

On the server side, we use this function to verify that the field configurations are safe of any reference errors, duplicate field names or other issues that cause issues. This part is only ran on startup while node_env is not production to save on startup time/resource use.

That is very weird. We are definitely running with NODE_ENV=production as you can see in our Dockerfile. And there are no other places where this might be called?

My app is showing similar symptoms, but the profile looks a bit different. It's a very simple blog/website, lexical is pretty much what's going on there, so it seems fair that it is well-represented.
 [Shared libraries]:
   ticks  total  nonlib   name

 [JavaScript]:
   ticks  total  nonlib   name
  50551   28.2%   28.2%  Builtin: ArrayIncludesSmiOrObject
  21309   11.9%   11.9%  Builtin: LoadIC_Megamorphic
  20332   11.3%   11.3%  Builtin: CreateDataProperty
  18458   10.3%   10.3%  Builtin: KeyedHasIC_Megamorphic
   8671    4.8%    4.8%  JS: *converter /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/converters/html/converter/converters/paragraph.js:13:21
   8045    4.5%    4.5%  JS: *<anonymous> /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/payload@2.11.2_@types+react@18.2.65_esbuild@0.17.6_typescript@5.4.2_webpack@5.90.3/node_modules/payload/dist/fields/config/sanitize.js:25:23
   6287    3.5%    3.5%  Builtin: CloneObjectIC_Slow
   4633    2.6%    2.6%  JS: *convertLexicalNodesToHTML /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/converters/html/converter/index.js:29:41
   4034    2.2%    2.2%  JS: *converter /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/Heading/index.js:115:44
   2387    1.3%    1.3%  JS: *converter /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/lists/htmlConverter.js:38:16
   1824    1.0%    1.0%  Builtin: KeyedHasIC
   1184    0.7%    0.7%  JS: *converter /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/Link/index.js:111:44
   1111    0.6%    0.6%  Builtin: LoadICTrampoline_Megamorphic
   1083    0.6%    0.6%  JS: *hooks.afterRead /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/converters/html/field/index.js:42:17
    994    0.6%    0.6%  Builtin: FindOrderedHashSetEntry
    938    0.5%    0.5%  Builtin: StringIndexOf
    635    0.4%    0.4%  JS: *sanitizeFields /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/payload@2.11.2_@types+react@18.2.65_esbuild@0.17.6_typescript@5.4.2_webpack@5.90.3/node_modules/payload/dist/fields/config/sanitize.js:23:24
    538    0.3%    0.3%  Builtin: CloneObjectIC
    355    0.2%    0.2%  Builtin: LoadIC
    331    0.2%    0.2%  JS: *promise /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/payload@2.11.2_@types+react@18.2.65_esbuild@0.17.6_typescript@5.4.2_webpack@5.90.3/node_modules/payload/dist/fields/hooks/afterRead/promise.js:20:17
    328    0.2%    0.2%  JS: *converter /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/@payloadcms+richtext-lexical@0.7.0_@lexical+clipboard@0.13.1_payload@2.11.2_typescript@5.4.2_yjs@13.6.14/node_modules/@payloadcms/richtext-lexical/dist/field/features/lists/htmlConverter.js:22:16
    327    0.2%    0.2%  Builtin: GrowFastSmiOrObjectElements
    320    0.2%    0.2%  JS: *deserializeObject /Users/linobino1/Sites/repos/herzselbst/node_modules/.pnpm/bson@4.7.2/node_modules/bson/lib/parser/deserializer.js:65:27
    273    0.2%    0.2%  Builtin: KeyedStoreIC_Megamorphic
    273    0.2%    0.2%  Builtin: KeyedLoadIC_Megamorphic
    ```

@AlessioGr found with one project at least, that the issue of the high CPU usage was happening in an outdated version of lexical which the issue mentioned above as<EMAIL_ADDRESS>After upgrading lexical the CPU usage over time was no longer an issue.
@linobino1 I believe you are experiencing a completely separate issue with the same symptoms since you're on a newer version already and seeing your profiling looks very different.
I'm closing this issue. Thanks!


Caching bundle artifacts

@guybedford I wrote a wrapper around builder.bundle(expression, options), to cache the actual build assets against the ${expression}#${JSON.stringify(options)}, the result being, if the builder is run for the same expression and options, the cached asset is returned. And if the builder is already building it, it just hooks into the already bundling asset.
Code can be found here.
I wanted to know if you wanted me to contribute this back to the builder project itself? If so, let me know and I'll construct a PR.

@alexisvincent this doesn't take into account file changes though, for which the internal build cache is designed?

It does :) See here

@alexisvincent in systemjs builder, invalidation strings can be unnormalized module names including a wildcard. Also, it is possible to run builder.reset which invalidates all paths. When paths are invalidated they are still cached, just statted during the build process to check if the cache should still be used.

Any PR to add new caching behaviour needs to be consistent with the existing behaviour, that's all, so the issue here is how to trace what individual load records a given expression would invalidate.

@guybedford I'd make any PR consistent + take into account all edge cases. eg. ATM, this also doesn't accept tree's so it would need to do that. Although, I think the cost of determining tree equality would outstrip the benefit of the cache.

When paths are invalidated they are still cached, just statted during the build process to check if the cache should still be used.

Currently, when I invalidate a module, I mark the key as invalid. But I might as well delete the internal cached bundle since I don't reuse it ever. Not so sure what you were trying to get across here.

@alexisvincent this doesn't look at first glance like a simple cache addition into core, so I wouldn't want you to waste time on getting consistency when you may be able to maintain something through your own wrapper project much more easily.

Sure :) Although I don't think it would be hard to do. I'm pretty certain I don't have race conditions (but do need to double check). The main additions I think would be simply dealing with the invalidate cases and reset. And then hashing the tree.
It's a relatively small code addition to the core. But I also don't mind keeping this in my wrapper, it was more just to be able to share the speed improvements back into the core project for everyone else :)

Thanks for suggesting, but I'd be happy to leave this out - it's effectively a top-level cache that is probably best handled by your wrapper.


Add function to clean a string to make it into a valid id

LionWeb has strong limits on the characters that can be used in an id or a key. This means that someone generating IDs from various sources can end up producing illegal IDs. Just removing all the forbidden characters can lead to conflicts. So this problem could be solved in this library, to avoid different users having to solve it individually.

We should also add these two methods to the library, that encode/decode an arbitrary string to a valid LW id:
new String(Base64.getUrlDecoder().decode(lionWebId), StandardCharsets.UTF_8);
Base64.getUrlEncoder().withoutPadding().encodeToString(mpsId.toString().getBytes(StandardCharsets.UTF_8));


RuntimeError: Shared memory manager connection has timed out at /tmp/pip-req-build-ufslq_a9/torch/lib/libshm/core.cpp:99

❓ Questions and Help
when I train on the default config, after a few epochs,  I run into this error

epoch 5, lr: 7.1e-02, cls: 0.089, ctr: 0.030, reg: 0.889, iou: 0.756, data: 7.5e-04, fwd: 3.0e-01, bwd: 1.5e-01, optimepoch 5, lr: 7.1e-02, cls: 0.089, ctr: 0.030, reg: 0.889, iou: 0.756, data: 7.5e-04, fwd: 3.0e-01, bwd: 1.5e-01, optim
epoch 5, lr: 7.1e-02, cls: 0.093, ctr: 0.030, reg: 0.877, iou: 0.759, data: 1.9e+01, fwd: 1.3e+00, bwd: 2.5e-01, optimepoch 5, lr: 7.1e-02, cls: 0.093, ctr: 0.030, reg: 0.877, iou: 0.759, data: 1.9e+01, fwd: 1.3e+00, bwd: 2.5e-01, optim
epoch 5, lr: 7.1e-02, cls: 0.090, ctr: 0.031, reg: 0.942, iou: 0.745, data: 1.2e-04, fwd: 9.9e-01, bwd: 1.5e-01, optimepoch 5, lr: 7.1e-02, cls: 0.090, ctr: 0.031, reg: 0.942, iou: 0.745, data: 1.2e-04, fwd: 9.9e-01, bwd: 1.5e-01, optim
epoch 5, lr: 7.1e-02, cls: 0.093, ctr: 0.031, reg: 0.887, iou: 0.757, data: 1.2e-04, fwd: 3.0e-01, bwd: 1.5e-01, optimepoch 5, lr: 7.1e-02, cls: 0.093, ctr: 0.031, reg: 0.887, iou: 0.757, data: 1.2e-04, fwd: 3.0e-01, bwd: 1.5e-01, optim
epoch 5, lr: 7.1e-02, cls: 0.098, ctr: 0.035, reg: 0.886, iou: 0.756, data: 1.1e-04, fwd: 3.0e-01, bwd: 1.5e-01, optimepoch 5, lr: 7.1e-02, cls: 0.098, ctr: 0.035, reg: 0.886, iou: 0.756, data: 1.1e-04, fwd: 3.0e-01, bwd: 1.5e-01, optim
epoch 5, lr: 7.1e-02, cls: 0.100, ctr: 0.033, reg: 0.897, iou: 0.754, data: 9.2e-05, fwd: 3.0e-01, bwd: 1.5e-01, optimepoch 5, lr: 7.1e-02, cls: 0.100, ctr: 0.033, reg: 0.897, iou: 0.754, data: 9.2e-05, fwd: 3.0e-01, bwd: 1.5e-01, optim
: 2.2e-01, :  18%|█▊        | 106/585 [04:24<20:47,  2.60s/it]Traceback (most recent call last):
File "./main/train.py", line 111, in
trainer.train()
File "/mnt/lustre/zhaowenqian/tracking/video_analyst-master/videoanalyst/engine/trainer/trainer_impl/regular_trainer.py", line 100, in train
training_data = next(self._dataloader)
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 838, in _next_data
return self._process_data(data)
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data
data.reraise()
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise
raise self.exc_type(msg)
RuntimeError: Caught RuntimeError in DataLoader worker process 7.
Original Traceback (most recent call last):
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
data = fetcher.fetch(index)
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 47, in fetch
return self.collate_fn(data)
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/collate.py", line 74, in default_collate
return {key: default_collate([d[key] for d in batch]) for key in elem}
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/collate.py", line 74, in
return {key: default_collate([d[key] for d in batch]) for key in elem}
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/collate.py", line 53, in default_collate
storage = elem.storage()._new_shared(numel)
File "/mnt/lustre/zhaowenqian/anaconda3/lib/python3.7/site-packages/torch/storage.py", line 128, in _new_shared
return cls._new_using_filename(size)
RuntimeError: Shared memory manager connection has timed out at /tmp/pip-req-build-ufslq_a9/torch/lib/libshm/core.cpp:99

RuntimeError: Shared memory manager connection has timed out at /tmp/pip-req-build-ufslq_a9/torch/lib/libshm/core.cpp:99
which I cannot locate where the problem is

I was running with pytorch 1.4.0 and torchvsion 5.0

@Wenqian1228 Try halve the num_workers. This error is related to the memory consumption.

@Wenqian1228 For fulldata experiment, you should have at least 64G memory, according to our experiences.

@Wenqian1228 For fulldata experiment, you should have at least 64G memory, according to our experiences.

I am still confused here. I have memory larger than 64g and I am only training on Got10k dataset , and I checked my memory usage which still has a lot of free memory left during training. Plus I have tried halving the num_workers already and still it broke down with same error. could it be other problem?

@Wenqian1228 What's your CUDA version? torch==1.4.0 torchvision==0.5.0, requires CUDA==10.1 . Or you may need to recompile torch.
We have encountered a similar problem under CUDA==10.0 . It was fixed by changing to CUDA==10.1.

@Wenqian1228 The number of iterations per epoch is 585? With our provided config file, it should be 1171. Have you changed by your self?
BTW, consider pull the latest master branch down. We've been making effort to refine the code recently.

I am sorry I didn't explain clearly here I doubled the batch size, but I have tried many num_worker/batch_size combinations, and they all end up with same error

@Wenqian1228 The number of iterations per epoch is 585? With our provided config file, it should be 1171. Have you changed by your self?
BTW, consider pull the latest master branch down. We've been making effort to refine the code recently.

Can I add you on WeChat and have some discussion since I have some further questions?

@Wenqian1228 Search me on Linkedin. There is my WeChat QR code there.
(not convenient to post directly my wechat contact here on github, sorry).


WIP: Handle colorCodes in datastore interface

As per the datastore interface, WatchClusters and WatchEndpoints should only return the
clusters/endpoints that we are interested in. However, in the current implementation,
these APIs simply ignore the color code thereby returning all the clusters/endpoints.
This PR fixes the issue.
Resolves Issue# https://github.com/submariner-io/submariner/issues/579
Signed-off-by: Sridhar Gaddam<EMAIL_ADDRESS>

Wow @sridhargaddam That was fast!! :)
@oats87 This came from an internal use case we were asked about, @sridhargaddam tested it and found it wasn't actually working.
If we find no urgency I propose we deprecate the feature (as it wasn't really working), and we design something that allows connectivity in the form of 1:N, which color codes don't allow.
I had something like ConnectivityPolicy in mind, something we can install in the broker to define connectivity in non all<->all, and even support hub & spoke models at some point.

@mangelajo I can definitely see the merit behind connectivity in the form of 1:N, although I wonder if the concept of colorCodes could actually be enhanced, further moving the concept of color to something like ColorLeader or ColorFollower, where ColorLeader clusters will be connected to by ColorFollower clusters, and ColorFollower clusters won't connect to each other. This model would then allow for m:n connectivity, past 1:n
Also, the names are of course subject to change. ConnectivityPolicy would be good as well, but I struggle to (in the current moment) think of a rule syntax that would be flexible enough to be useful while still being simple enough to use.


Automated Package Upgrade

:tada: This PR is included in version 5.0.475 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


BUG: Duplicate limited to 193 pids

Hi @lelegard ,
Based on https://github.com/tsduck/tsduck/issues/332#issuecomment-504463407
I found this bug:

OK: P remap --only-label 1 -n -s -u 0-193=8000

(I use --only-label to make sense to the command)

FAIL: P remap --only-label 1 -n -s -u 0-194=8000

with this error: * Error: remap: invalid remapping specification: 0-194=8000

The problem is because this line:
ok = ok && pid1 <= PID_MAX && pid2 <= PID_MAX && pid1 <= pid2 && size_t(newpid) + (pid2 - pid1) <= PID_MAX;
https://github.com/tsduck/tsduck/blob/master/src/tsplugins/tsplugin_remap.cpp#L182
As you can see the number of pids to remap are limited, based on size_t(newpid).
Perhaps this have sense when not using the command: "remap all pids to one".
However, I need this command as I described in https://github.com/tsduck/tsduck/issues/332#issuecomment-504463407.
So, two options:

Eliminate this restriction;
Or, add one parameter for "remap-all" (and perhaps "duplicate-all" too for duplicate).

What you prefer?

The bug is not that the remapping is limited to 193 PIDs. The bug is that option --single is not taken into account in the PID range check.
Without --single, the remapping 0-194=8000 is invalid since the remapped range would be 8000-8194 while the last valid PID number is 8191.
I will fix this.

Fixed in commit e61abf233f783623acec23e6d8258be7afb8868d.

Fixed in commit e61abf2.

Thank you!


Renaming a file isn't being reflected in the tab if the file was opened before

Version: 1.49.0
Commit: e790b931385d72cf5669fcefc51cdf65990efa5d
Date: 2020-09-10T17:39:53.251Z (14 hrs ago)
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0
Steps to Reproduce:

Open a file (in my case it was a tsx ReactNative file
Rename the file by using the "Enter" key while the file is selected in the explorer window and input a new name (I changed the casing of the file)
The file gets updated in the Explorer view, and in the breadcrumbs, but the tab remains like it was before the renaming.

Does this issue occur when all extensions are disabled?: Yes

I renamed the file from searchBar.tsx to SearchBar.tsx just to be clear.

In the search pane, it even shows two search results for the same file (before & after the rename). Might be a caching issue?

@yonifra I tried to reproduce this just now and cannot. We did some recent fixes in this area but it should be fine in our latest released stable version. Can you distill exact steps maybe in a fresh folder?

@bpasero I've recreated it again, but I couldn't recreate it when the other way around.
Meaning:
camelCasing to PascalCasing - Fails
PascalCasing to camelCasing - Works

I wonder if this issue is being caused by an installed extension. Can you try to run VS Code without extensions? From the command line (NOT the integrated terminal in Code), execute: code --disable-extensions and try your steps again to see if it reproduces. If you see it is an issue with the extension, please file it against the extension repository itself.

@bpasero happened also after disabling extensions, so it's a VS Code issue, not extension related.
If you want, you can try replicating this issue with my own repo by cloning it (it's a public repo). I'm renaming a tsx React Native file, so it might be specific to that file extension?

@yonifra ok can you distill steps starting from zero for me to reproduce on your repo? Best if you could try with a fresh user data dir to rule out any settings: code --user-data-dir <empty dir>

Sure:

Clone https://github.com/yonifra/native-movies
Open it in VS Code
Go to the components folder
In the VS Code explorer tree, select, for example, StyledText.tsx file
Press "Enter" and rename to styledText.tsx
Notice that the tab with the filename remains to be StyledText.tsx and when searching for text within that file there are two search results, one for each file name.

@yonifra I cannot reproduce:

This is very weird. are you sure you're on the same version as me? (the captured gif is without any extensions)
Maybe you have an extension that makes it work? ¯ \ _ (ツ) _ / ¯

@yonifra my version:
Version: 1.49.0
Commit: e790b931385d72cf5669fcefc51cdf65990efa5d
Date: 2020-09-10T17:39:53.251Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0

I am running without any extensions and I think you indicated that you also tried that?

Yes, I'm throwing ideas here, but maybe it's related to the font size / resolution of the monitor?

@yonifra does it reproduce if:

you do not have a second editor opened
you configure "typescript.updateImportsOnFileMove.enabled": "never"

Found the issue! It was Expo running in the background listening to changes and hot-reloading the React Native app. So it's not a VSC bug eventually.

Thanks for your patience @bpasero and sorry for the hassle 👍


Remove references to deprecated v1 Android embedding

Is your feature request related to a problem? Please describe.
Apps using your plugin and future versions of flutter will fail to compile
Describe the solution you'd like
See below
Describe alternatives you've considered
N/A
Additional context
Remove references to deprecated v1 Android embedding
To ensure this plugin will work with users running the next stable version of Flutter remove references to the v1 embedding.
The v1 embedding was deprecated around 6 and a half years ago. In Flutter 3.22, the Flutter tool dropped support for building v1 apps entirely. Flutter plans to delete version one of it's Android embedding in the next stable release, per https://medium.com/flutter/whats-new-in-flutter-3-22-fbde6c164fe3 (in the "Removal of v1 Android embedding" section).
When that deletion happens, any apps using plugins that still have references to the removed classes will fail to build when updating to the next stable version (probably Flutter 3.26).
As a part of this deprecation, the Flutter Android team is doing community outreach by filing bugs and submitting some pull requests to update plugins to minimize the impact this removal has on the community.
Some example PRs:

Flutter team maintained plugins: https://github.com/flutter/packages/pull/6494
android_alarm_manager_plus https://github.com/fluttercommunity/plus_plugins/pull/2864

Consequences:

This change should have no impact on users of this plugin that are building apps using the v2 embedding (we don't have a percentage to share, but this is the vast majority of users).
It will remove support for users that are still using the v1 embedding on versions of Flutter older than 3.22.

If this change doesn't land, this plugin will instead be broken for all apps building on the next stable version of Flutter and beyond.
Is there a way to support both v1 and v2 embedding apps in the next stable version of Flutter?
No.
This is the PR where we are removing the deprecated engine classes: https://github.com/flutter/engine/pull/52022

This package still has references to v1 embedding.
https://github.com/search?q=repo%3Arafaelsetragni%2Fawesome_notifications ("io.flutter.view.FlutterMain" OR "io.flutter.view.FlutterNativeView" OR "io.flutter.view.FlutterView" OR "io.flutter.embedding.engine.plugins.shim" OR "io.flutter.app" OR "PluginRegistry.Registrar") &type=code
These classes will be deleted in flutter master shortly after the 3.27 release is cut meaning all builds after will cause your plugin to fail to compile.


Update utils.py

Small typo to get on the Airflow repository.  Nitpick FTW!!!

:+1: This has been bugging me for weeks :stuck_out_tongue:


Are you insane?

You know, this is a Bad Thing
https://github.com/DOIS/ecampus.kpi.ua/blob/master/Core/SiteController.cs#L63

Yes. This is realy bad thing. Will be removed from code.


Add post-backup script

Add an optional POST_BACKUP_SCRIPT environment variable to allow running a script after the backup.

Already added with the open shift pull request.


Make email unique, add checks in resolver, add tests. Closes #270

@AzisK, could you please take a look at last two commits as well. Added check id exists on update and added Email Scalar.

@AzisK, could you please take a look at last two commits as well. Added check id exists on update and added Email Scalar.

Looks, great. Thanks for the work!


Fix FileNotFoundError crashing the script

This happens when the label file has not been created yet

Nice fix!
Safe going home.


Alternative at exit guard

#874 + acceptance test

Rails 6 of course doesn't work with Ruby 2.4. Fixing...


[13pt] Add benchmark data for NWS AHPS sites in Alaska

With the addition of southern Alaska to FIM processing (#1106), we want to add validation data for the NWS AHPS sites there. Those site lids include MNDA2, SKLA2, and SXRA2.

There is a script in the repo archive (https://github.com/NOAA-OWP/inundation-mapping/blob/eed7206723faefb29bdb3a6f95a1ce13314ee9e8/tools/preprocess_ahps_nws.py) that was presumably used to create the CONUS NWS benchmark data, although this script doesn't exist in the current repo and is not currently runnable.

The new benchmark data should probably be in the Alaska projection.


Fix KIA_NIRO_HEV in CARS.md

KIA_NIRO_HEV should be Niro Hybrid 2019 in CARS.md, not Niro Plug-In Hybrid 2019.

We update the CarInfo in values.py and generate this automatically now


docs(firestore-send-email): Backtick around angled brackets within extension.yaml

As discussed via email, I've placed backticks around the email address which negates the console from removing the angled brackets in the documentation.

Codecov Report

Merging #234 into next will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             next     #234   +/-   ##
=======================================
  Coverage   40.48%   40.48%
=======================================
  Files          20       20
  Lines         625      625
  Branches       81       81
=======================================
  Hits          253      253
  Misses        370      370
  Partials        2        2

Can we get a screenshot of the CLI as well? Thanks!

Screenshot of CLI:


Cannot get the balance after activating a wallet

Follow the Rest API-v1.0 Introduction.
I create a new wallet and no problem with active it, but I get "Account not found." when I try to get balance. What did I missed?
Here is my steps and responds from server:

Create a Wallet

{
  "wallet": {
    "address": "6aBeAtWiYqZ8o6rnMtipP3Y9QaEEzSqt1t",
    "secret": "shhpu65pxbsSQkgEZvQJwSceqmu2G"
  },
  "success": true
}

Activate wallet

{
  "hash": "90099CDD1DE33A4F44D86CD5511B4B8DF8C407B6FF9DC9221E38590AEED998B6",
  "status_url": "https://test-rest.sdchain.io:8443/v1/accounts/payments/6faLUhmp9gNgS9jXS3rAWbg8hFfi9PbWH5/90099CDD1DE33A4F44D86CD5511B4B8DF8C407B6FF9DC9221E38590AEED998B6",
  "success": true
}

Get balance: 6aBeAtWiYqZ8o6rnMtipP3Y9QaEEzSqt1t

{
  "success": false,
  "error": "actNotFound",
  "message": "Account not found.",
  "error_type": "transaction"
}

get payments

{
  "payments": [],
  "success": true
}

get detail: 90099CDD1DE33A4F44D86CD5511B4B8DF8C407B6FF9DC9221E38590AEED998B6

{
  "hash": "90099CDD1DE33A4F44D86CD5511B4B8DF8C407B6FF9DC9221E38590AEED998B6",
  "ledger": "290736",
  "state": "validated",
  "source_account": "6faLUhmp9gNgS9jXS3rAWbg8hFfi9PbWH5",
  "destination_account": "6aBeAtWiYqZ8o6rnMtipP3Y9QaEEzSqt1t",
  "amount": "6",
  "direction": "outgoing",
  "timestamp": "2018-03-14T02:57:00.000Z",
  "fee": "0.0001",
  "success": true
}

get transaction: 90099CDD1DE33A4F44D86CD5511B4B8DF8C407B6FF9DC9221E38590AEED998B6

{
  "transaction": {
    "TransactionType": "Payment",
    "Flags":<PHONE_NUMBER>,
    "Sequence": 28,
    "LastLedgerSequence": 290737,
    "Amount": "6000000",
    "Fee": "100",
    "SigningPubKey": "03DA86711E8A378DB0F8FBAF8CE15B24C21D02D598ED94D15D6AB76237DB48B85D",
    "TxnSignature": "304402200B94FD3FF3BB9A0E4B2AEE8B0BF5F9CDC3A19ECB853D4229342712D1CC8403D20220230701AA7296B94833215CDE6592ABF1E30E790622F5CC6F3EB473EA04D189C7",
    "Account": "6faLUhmp9gNgS9jXS3rAWbg8hFfi9PbWH5",
    "Destination": "6aBeAtWiYqZ8o6rnMtipP3Y9QaEEzSqt1t",
    "date": 574311420,
    "hash": "90099CDD1DE33A4F44D86CD5511B4B8DF8C407B6FF9DC9221E38590AEED998B6",
    "inLedger": 290736,
    "ledger_index": 290736,
    "meta": {
      "TransactionIndex": 0,
      "AffectedNodes": [
        {
          "ModifiedNode": {
            "LedgerEntryType": "AccountRoot",
            "PreviousTxnLgrSeq": 290564,
            "PreviousTxnID": "0328E758C64823CE218E51ADE90E19772DB907ADEDEEEB5B695B4C2011ED3111",
            "LedgerIndex": "C5D69B9AD27CDD3257A4E7F65F386CF44315AFD28B116F1D5EA31F596A8887A1",
            "PreviousFields": {
              "Sequence": 28,
              "Balance": "10998356"
            },
            "FinalFields": {
              "Flags": 0,
              "Sequence": 29,
              "OwnerCount": 0,
              "Balance": "10998256",
              "Account": "6faLUhmp9gNgS9jXS3rAWbg8hFfi9PbWH5"
            }
          }
        }
      ],
      "TransactionResult": "tecUNFUNDED_PAYMENT",
      "delivered_amount": "6000000"
    },
    "validated": true,
    "client_resource_id": "4e8fb0e2-ce78-4d27-a075-727c2b6a03cc"
  },
  "success": true
}

pay action
6PxvPnT3UkSdvyjzww9iWKXDpthhHjJQ5f pay 1 to 6faLUhmp9gNgS9jXS3rAWbg8hFfi9PbWH5

{
  "success": false,
  "error": "terNO_ACCOUNT",
  "message": "The source account does not exist.",
  "error_type": "transaction"
}

Hi oopsmonk，thx for your question. Yes ,you did not miss any step. This issue is coused by the 2nd step "Activate wallet" . At this moment, this API is been "Frozen" for security. So ,Your account has not been activated successfully. We will "OPEN" this API lately. Have a nice day!


types(defineComponent): Keep slot information on functional components

fix https://github.com/vuejs/core/issues/9649
Appends slot information as props, since the SlotType relies on a symbol, that won't bleed out to props.
I personally don't really like this approach, since I would preferably align this to typescript Slot support, Vue language tools will need to be updated to expect slots in props.

Hi @pikax! Interested in knowing any update with this PR? 😄


Use tough-cookie, remove some cruft and tests

No problem, if you don’t mind I’m gonna keep it open for visibility. I’ve been a terrible maintainer of this project; I haven’t been in electron world in a while. I really appreciate you taking the time to contribute. Looking forward to your findings.

@hstove no worries! Thanks for that. All I did here was throw the tough-cookie library into the getter/setter which I think handles a lot of the quirky parsing issues as well as expiration stuff that I care about :)
I've hopefully got a customer who will test it out in their electron app and confirm if it works. If so I'll let you know.
"Works" at least for me is that our analytics library functions correctly wrt cookies, so not really works in the grand scheme :)


python3Packages.angr: 9.0.10730 -> 9.1.10913

Motivation for this change
Update angrstack to 9.1.10913
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

16 packages built:

python38Packages.ailment
python38Packages.angr
python38Packages.angrcli
python38Packages.angrop
python38Packages.archinfo
python38Packages.claripy
python38Packages.cle
python38Packages.pyvex
python39Packages.ailment
python39Packages.angr
python39Packages.angrcli
python39Packages.angrop
python39Packages.archinfo
python39Packages.claripy
python39Packages.cle
python39Packages.pyvex


ImportError: OpenCV loader: missing configuration file: ['config.py']. Check OpenCV installation.

I have installed OpenCV v4.1 from source. I have successfully created binary file using Nuitka. After that when I run the binary file it produces Import Error.
ImportError: OpenCV loader: missing configuration file: ['config.py']. Check OpenCV installation.
Compiled with the following command:
python3 -m nuitka --standalone --plugin-enable=pylint-warnings --plugin-enable=numpy --plugin-enable=pkg-resources --remove-output  --python-flag=no_site main.py
Platform: Jetson Nano running on Ubuntu 18.04 LTS
Python Version: 3.6
OpenCV 4.1.1 (compiled from source)
Nuitka 0.6.15 installed through PIP3

Do you have some sort of minimal example so I can reproduce this.

Had the same issue for cv2 ver. <IP_ADDRESS>, resolved after downgrading to ver. <IP_ADDRESS>

This is due to the different management methods of Anaconda and PIP，If you are using an Anaconda environment, it is recommended to use Conda to install OpenCV.
conda install -c https://conda.anaconda.org/menpo opencv

I have the same issue.

Traceback (most recent call last):   File "C:\Users\home\AppData\Local\Temp\ON5948~1\main.py", line 1, in <module>   File "C:\Users\home\AppData\Local\Temp\ON5948~1\cv2\__init__.py", line 180, in <module cv2>   File "C:\Users\home\AppData\Local\Temp\ON5948~1\cv2\__init__.py", line 110, in bootstrap   File "C:\Users\home\AppData\Local\Temp\ON5948~1\cv2\__init__.py", line 108, in load_first_config ImportError: OpenCV loader: missing configuration file: ['config.py']. Check OpenCV installation.

Command
nuitka --mingw64  --onefile --standalone --show-progress --plugin-enable=numpy --output-dir=C:\Users\home\Desktop\Python\1 C:\Users\home\PycharmProjects\bamboo\main.py

import cv2
import numpy as np
from math import pow
import os

def calculate_length(x,x_size,y_size,actural_x_unit_size,actural_y_unit_size):
    if cv2.contourArea(x) < (x_size * y_size * 0.001):
        raise Exception
    top = tuple(x[x[:, :, 1].argmin()][0])
    bottom = tuple(x[x[:, :, 1].argmax()][0])
    left = tuple(x[x[:, :, 0].argmin()][0])
    right = tuple(x[x[:, :, 0].argmax()][0])
    length_tb = pow(pow(top[0] - bottom[0], 2) + pow(top[1] - bottom[1], 2), 0.5)
    actural_length_tb = pow(pow((top[0] - bottom[0]) * actural_x_unit_size, 2) + pow((top[1] - bottom[1]) * actural_y_unit_size, 2), 0.5)
    length_lr = pow(pow(left[0] - right[0], 2) + pow(left[1] - right[1], 2), 0.5)
    actural_length_lr = pow(pow((left[0] - right[0]) * actural_x_unit_size, 2) + pow((left[1] - right[1]) * actural_y_unit_size, 2), 0.5)
    if actural_length_tb >= actural_length_lr:
        return top, bottom, length_tb, actural_length_tb
    else:
        return left, right, length_lr, actural_length_lr

def get_mask(img):
    imgb = cv2.GaussianBlur(img, (9, 9,), 0)
    hsv = cv2.cvtColor(imgb, cv2.COLOR_BGR2HSV)
    low_green = np.array([70/2, 25/100*255, 25/100*255])
    high_green = np.array([200/2, 100/100*255, 100/100*255])
    mask = cv2.inRange(imgb, low_green, high_green)
    #kernal = np.ones((3, 3))
    #mask = cv2.erode(mask, kernal, 2)
    #mask = cv2.dilate(mask, kernal, 2)
    return mask

def measure(name):
    img = cv2.imread(name)
    result = []
    x_size = img.shape[1]
    y_size = img.shape[0]
    if x_size < y_size:
        actural_x_unit_size = 210 / x_size
        actural_y_unit_size = 297 / y_size
    else:
        actural_x_unit_size = 297 / x_size
        actural_y_unit_size = 216 / y_size
    mask = get_mask(img)
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
    for x in range(len(contours)):
        try:
            a, b, length, actural_length = calculate_length(contours[x],x_size,y_size,actural_x_unit_size,actural_y_unit_size)
            #if length / max(x_size, y_size) > 0.05 and length < min(x_size, y_size) * 0.95:
            if length / max(x_size, y_size) > 0.05:
                result.append((a, b, str(round(actural_length, 1))))
                #cv2.drawContours(img, contours, x, (0, 0, 255), -1)
        except Exception as e:
            pass
    for x in result:
        cv2.line(img, x[0], x[1], (0, 0, 255), 10)
        font = cv2.FONT_HERSHEY_PLAIN
        cv2.putText(img, x[2] + ' mm', x[1], font, 5, (0, 0, 255), 3)
    cv2.imwrite(os.path.dirname(name)+'/r' + os.path.basename(name), img)
    #cv2.imwrite('m' + name, mask)

if __name__ == '__main__':
    while True:
        name = input()
        measure(name)

I made this simple example code:
import cv2

video_path = '/demo-video.mp4'
print("::C:: Video Path " + video_path)
cap0 = cv2.VideoCapture(video_path)

then compiled with:
python3 -m nuitka --standalone --plugin-enable=numpy --python-flag=no_site main.py
And when executing with./main.dist/main is when I get the error:
Traceback (most recent call last):
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/main.py", line 1, in <module>
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/cv2/__init__.py", line 89, in <module cv2>
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/cv2/__init__.py", line 58, in bootstrap
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/cv2/__init__.py", line 56, in load_first_config
ImportError: OpenCV loader: missing configuration file: ['config.py']. Check OpenCV installation.

Environment System: Windows10 Python Version: 3.9.7 OpenCV Version: opencv-python <IP_ADDRESS> Nuitka Version: <IP_ADDRESS> Command nuitka --mingw64 --onefile --standalone --show-progress --plugin-enable=numpy --output-dir=C:\Users\home\Desktop\Python\1 C:\Users\home\PycharmProjects\bamboo\main.py

This is because the config.py file of new opencv is dynamically loaded. Therefore, it cannot be analyzed by Depends, so you need to add dependencies by yourself
python3 -m nuitka --standalone --plugin-enable=numpy --include-data-file={your site-packages path}/cv2/config*.py=cv2/ --python-flag=no_site main.py

I made this simple example code:
import cv2

video_path = '/demo-video.mp4'
print("Video Path " + video_path)
cap0 = cv2.VideoCapture(video_path)

then compiled with: python3 -m nuitka --standalone --plugin-enable=numpy --python-flag=no_site main.py
And when executing with./main.dist/main is when I get the error:
Traceback (most recent call last):
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/main.py", line 1, in <module>
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/cv2/__init__.py", line 89, in <module cv2>
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/cv2/__init__.py", line 58, in bootstrap
  File "/home/datatransfer/Documentos/proves/compilacio/main.dist/cv2/__init__.py", line 56, in load_first_config
ImportError: OpenCV loader: missing configuration file: ['config.py']. Check OpenCV installation.

You can also try this https://github.com/Nuitka/Nuitka/issues/1275#issuecomment-983200547

I think --include-module=cv2.config would be more appropiate, not sure if cv2 insists on it being a data file. For package data, there is also an option where filenames are not needed.

I think --include-module=cv2.config would be more appropiate, not sure if cv2 insists on it being a data file. For package data, there is also an option where filenames are not needed.

Thanks, the following code is taken from cv/__ini__.py，I also tried include-module and include-package-data, but did not take effect.  I think , config* .py cannot be imported as modules due to be loaded by the absolute path.
LOADER_DIR = os.path.dirname(os.path.abspath(os.path.realpath(__file__)))
def load_first_config(fnames, required=True):
    for fname in fnames:
        fpath = os.path.join(LOADER_DIR, fname)
        if not os.path.exists(fpath):
            if DEBUG: print('OpenCV loader: config not found, skip: {}'.format(fpath))
            continue
        if DEBUG: print('OpenCV loader: loading config: {}'.format(fpath))
        exec_file_wrapper(fpath, g_vars, l_vars)
        return True
    if required:
        raise ImportError('OpenCV loader: missing configuration file: {}. Check OpenCV installation.'.format(fnames))

load_first_config(['config.py'], True)
load_first_config([
    'config-{}.{}.py'.format(sys.version_info[0], sys.version_info[1]),
    'config-{}.py'.format(sys.version_info[0])
], True)

@AI-Ying you are right, we should add it to data-files.yml then, so it becomes automatic. Anyone try a PR with that?

I am using opencv 4.2.0 it resolved my problem

@ductandev that's actually useful to know

It*s solved on factory branch and will be in the 0.8 release.


Fail startup if config cannot be read (#2425)

Description
Since we rely on configuration to enforce security controls, we must fail startup of daprd if we can't load configuration.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #2425
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

/ok-to-test

/ok-to-test

/ok-to-test

Failure was a pubsub timeout. Not related to the issue we fixed here.

/ok-to-test


Configurable Rubocop Version

Feature Request
The Problem
The version of Rubocop this linter uses differs from the one I use locally for my repositories. Due to syntax changes, my local .rubocop.yml doesn't work properly with the latest version and yields different results.
The Solution
It'd be nice to be able to configure the version of Rubocop used in the action workflow. Better yet, this action could infer the version based on the project Gemfile. I'm not sure what the best way to implement that would be.
Alternatives
I could update the local Rubocop and config to the latest version. This would require me to upgrade my version of Ruby too, which is not something I'm prepared to do at this time.
Additional Context
I am working in Ruby 1.9.3, which requires 'rubocop', '< 0.42.0'.

Ope, just found the docs on this. 😅
Oh well, perhaps this will help someone else who is also a dummy...

😄

@kmcclellan is there anything we could do to make that easier to find in the docs?
Even better if you would be interested in submitting a PR :wink:.
Closing this for now, but I will add a special tag so people know there is an answer in here.


remove duplicate call to confirmCardPayment for payment request

👋 hello
When I ran the Cards and Mobile Wallets demo, I saw that the second call to confirmCardPayment failed with a 400. The error message suggests that confirmCardPayment is a call-once method in order to finalise the payment. The error is pasted below:

open for error

{
  "error": {
    "code": "payment_intent_unexpected_state",
    "doc_url": "https://stripe.com/docs/error-codes/payment-intent-unexpected-state",
    "message": "You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.",
    "payment_intent": {
      "id": "pi_123",
      "object": "payment_intent",
      "amount": 1999,
      "canceled_at": null,
      "cancellation_reason": null,
      "capture_method": "automatic",
      "client_secret": "pi_123_secret_567",
      "confirmation_method": "automatic",
      "created":<PHONE_NUMBER>,
      "currency": "usd",
      "description": null,
      "last_payment_error": null,
      "livemode": false,
      "next_action": null,
      "payment_method": "pm_789",
      "payment_method_types": [
        "card"
      ],
      "receipt_email": null,
      "setup_future_usage": null,
      "shipping": null,
      "source": null,
      "status": "succeeded"
    },
    "type": "invalid_request_error"
  }
}

I removed the second call and consolidated the success and fail handling.
Have a great day 🌻

thanks @adreyfus-stripe for explaining that the second call is for any necessary 3DS actions ✨


Feature/#640

Checking why it failed...

It looks like there were problems with Bug445Caching.
I then decided to code a more verbose and more accurate version.
Tried to push it, but it went into the twilight zone.
If ever I cannot find a way to put it back in the normal process, here's the code
Bug445Caching.java.txt
(Yes I know I need to learn a lot about git)


When will the code be released?

Congratulations for your great job (Scaling Backwards: Minimal Synthetic Pre-training?)!  When will you release the whole code in Github? Thanks for your attention. Looking forward your relpy!

Amazing the datasets.

@Bugjudger
Thank you for your interest in our research. We plan to release the code in about 2 weeks. We apologize for the inconvenience and appreciate your understanding.