Feature Request - add option for a unified diff view

Issue Description
Add option to view diffs in a unified view (like in the Github UI)
Type: feature request

I am a bit confused about this, since in the README it says the diff view for this plugin is inspired by https://github.com/sindrets/diffview.nvim, which is specifically a unified diff view. Am I missing something? I would expect side-by-side diffs, based on that.

Similar issue in the diffview.nvim repo: https://github.com/sindrets/diffview.nvim/issues/39. The maintainer recommends using delta, though a lot of features would be lost by doing so (unfolding the hidden file contents, adding reviews by interacting with the file. diffchar.vim was also mentioned


⚠ Bofrost.be has degraded performance

In bd6d671, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1083 ms

Resolved: Bofrost.be performance has improved in 05ac606 after 6 minutes.


Update deploy.md

added Word2019Volume to the vaild productID's after needing to 'educated guess it' for a Word 2019 Volume License only installation

@ErikMoreau -- thanks for the suggestion. Instead of specifically adding Word, how about we add this to the content:
For a list of Product IDs for other volume licensed versions of Office 2019, such as Access 2019, see Product IDs that are supported by the Office Deployment Tool for Click-to-Run.

@ErikMoreau  -- I added a link to the full list of Product IDs to the article. Thanks for the suggestion.


Misc typos in the Shelley formal specification

In Fig. 10, the codomain of ProposedPPUpdates should probably be PParamsUpdate as PPUpdate is never defined.
In Fig. 21, the type PoolMD is defined both as an abstract and a derived type.
In Fig. 23, the name futureOtherVrfKeyHashe is a typo. Moreover the set comprehensions for futureOtherColdKeyHashes and futureOtherVrfKeyHashes should probably bind the key as (_, g) rather than (g, _) since the domain of FutGenesisDelegation is (Slot x KeyHash_G).

Fig. 21, PoolParams and PoolMetaData in code:
https://github.com/input-output-hk/cardano-ledger-specs/blob/59098c0038b30cac7f5c3c4443e6c3db98717b1c/shelley/chain-and-ledger/executable-spec/src/Shelley/Spec/Ledger/TxData.hs#L320-L330
https://github.com/input-output-hk/cardano-ledger-specs/blob/59098c0038b30cac7f5c3c4443e6c3db98717b1c/shelley/chain-and-ledger/executable-spec/src/Shelley/Spec/Ledger/TxData.hs#L202-L205

Fig. 10, in the code ProposedPPUpdates has PParamsUpdate as codomain, as the OP says:
https://github.com/input-output-hk/cardano-ledger-specs/blob/59098c0038b30cac7f5c3c4443e6c3db98717b1c/shelley/chain-and-ledger/executable-spec/src/Shelley/Spec/Ledger/PParams.hs#L438-L439

Fig. 23, the corresponding code:
https://github.com/input-output-hk/cardano-ledger-specs/blob/59098c0038b30cac7f5c3c4443e6c3db98717b1c/shelley/chain-and-ledger/executable-spec/src/Shelley/Spec/Ledger/STS/Deleg.hs#L249-L263


feat(client): support GraphQL upload files on browser

To support GraphQL upload files, we are now accepting MultipartFile only.
io.File is still being supported with deprecation warning.
In near future, we will remove support.
To ease the transition, package:graphql/utility.dart multipartFileFrom
is provided, whose input must be either io.File or html.File.
Describe the purpose of the pull request.
Deprecation

io.File is still being supported with deprecation warning. In near future, we will remove support.

Enhancements
To ease the transition, package:graphql/utility.dart multipartFileFrom is provided, whose input must be either io.File or html.File.

Codecov Report

Merging #328 into beta will decrease coverage by 0.45%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##             beta     #328      +/-   ##
==========================================
- Coverage   45.68%   45.23%   -0.46%
==========================================
  Files          28       30       +2
  Lines        1055     1070      +15
==========================================
+ Hits          482      484       +2
- Misses        573      586      +13

Flag
Coverage Δ

#graphql_client
45.71% <60%> (-0.48%)
:arrow_down:

#graphql_flutter
29.03% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

packages/graphql/lib/src/utilities/file_io.dart
0% <0%> (ø)

.../src/link/http/link_http_helper_deprecated_io.dart
20% <20%> (ø)

...kages/graphql/lib/src/core/raw_operation_data.dart
87.5% <66.66%> (-12.5%)
:arrow_down:

packages/graphql/lib/src/link/http/link_http.dart
82.57% <88.23%> (-1.15%)
:arrow_down:

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 d46c00c...70c7f74. Read the comment docs.

:tada: This PR is included in version 1.1.1-beta.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Use new AWS Logo

I think the AWS logo is the old one. They are using the Smile logo now.

Thanks for catching it. Has been changed Thorsten. 👍


fix angular-protractor.d.ts missing column(string)

this pull request fix issue about https://github.com/borisyankov/DefinitelyTyped/issues/4092.
add define column(string).
remove unnecessary diff.
https://github.com/borisyankov/DefinitelyTyped/pull/4592/files?w=

@duyoji thanks mate!


Fix some bugs with new PHP versions

Looks like the validatorIp got some problem related to some PHP versions.
According to 3v4l.org behavior are quite different for reserved IPv4 <IP_ADDRESS>/4 https://3v4l.org/cAdWZ
Instead of keeping the failing test while PHP fix the problem, I've switched to <IP_ADDRESS> IP which is working.
I've also submitted a bug to PHP to see what could be wrong with <IP_ADDRESS> IPs.
https://bugs.php.net/bug.php?id=73653

Also, looks like isn't not a bug.
<IP_ADDRESS>/4 isn't reserved anymore


Add Registration Circuits

[x] Refactored regex circuits to be used in any email
[x] Add venmo send registration circuit
[x] Add venmo receive registration circuit
[x] Update README (adding explanations and reasoning behind refactor)
[x] Refactor variable names to payer and payee id

@richardliang Added a new actor_id regex. And removed old separate registration circuits for a new single registration circuit that would work for all 4 target email types.


CI coverage for Python + GASNet

I've had multiple concrete cases of Python failing with multi-node in the last couple of months. In most cases these were basic bugs that would have been found with a simple smoke check---if we ran any Python multi-node tests at all. I believe the limiter here is currently the CI testing framework outside of Regent doesn't know how to do this. We should improve the CI so all C++ tests also get multi-node testing.

I tried adding a CI test for this and I'm seeing a hang in the examples/domain.py script when run with 2+ nodes.  From the Realm logs, it looks like a barrier-related hang:
# mpirun -n 2 /repo/bindings/python/legion_python examples/domain.py -ll:py 1 -ll:cpu 0 -level barrier=2
[0 - 7f2788eaabc0]    0.000309 {4}{threads}: reservation ('dedicated worker (generic) #1') cannot be satisfied
[1 - 7fc52e61cbc0]    0.000314 {4}{threads}: reservation ('dedicated worker (generic) #1') cannot be satisfied
[0 - 7f2751063bc0]    0.919830 {2}{barrier}: barrier created:<PHONE_NUMBER>100000/0 base_count=2 redop=0
[0 - 7f2751063bc0]    0.961705 {2}{barrier}: barrier adjustment: event=2000000000100001 delta=-1 ts=0
[0 - 7f2751063bc0]    0.961723 {2}{barrier}: added tracker for barrier<PHONE_NUMBER>100000, generation 1

Adding @lightsighter  - I'm happy to enable some CI testing for this, but it needs to be a config that somebody has tried and verified to be working first.

Application phase barrier, not a Legion phase barrier, removing myself and assigning @elliottslaughter :
Thread 3 (Thread 0x7f9db6a6b800 (LWP 24761)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f9de1aca142 in Realm::CondVar::timedwait (this=0xe5def0, max_nsec=1000000000)
    at /home/mebauer/legion/runtime//realm/mutex.cc:251
#2  0x00007f9de1af54eb in Realm::ThreadedTaskScheduler::WorkCounter::wait_for_work (this=0xe5de98,
    old_counter=16) at /home/mebauer/legion/runtime//realm/tasks.cc:700
#3  0x00007f9de1af75a0 in Realm::ThreadedTaskScheduler::wait_for_work (this=0xe5dcc0, old_work_counter=16)
    at /home/mebauer/legion/runtime//realm/tasks.cc:1253
#4  0x00007f9de1af84d6 in Realm::KernelThreadTaskScheduler::wait_for_work (this=0xe5dcc0,
    old_work_counter=16) at /home/mebauer/legion/runtime//realm/tasks.cc:1487
#5  0x00007f9de1af61d6 in Realm::ThreadedTaskScheduler::thread_blocking (this=0xe5dcc0, thread=0x3037c60)
    at /home/mebauer/legion/runtime//realm/tasks.cc:874
#6  0x00007f9de1dc57fd in Realm::PythonThreadTaskScheduler::thread_blocking (this=0xe5dcc0,
    thread=0x3037c60) at /home/mebauer/legion/runtime//realm/python/python_module.cc:598
#7  0x00007f9de1cb07f1 in Realm::Thread::wait_for_condition<Realm::EventTriggeredCondition> (cond=...,
    poisoned=@0x7f9db6a68f5f: false) at /home/mebauer/legion/runtime/realm/threads.inl:218
#8  0x00007f9de1ca020e in Realm::Event::wait_faultaware (this=0x7f9db6a69218,
    poisoned=@0x7f9db6a68f5f: false) at /home/mebauer/legion/runtime//realm/event_impl.cc:250
#9  0x00007f9de1c9fec0 in Realm::Event::wait (this=0x7f9db6a69218)
    at /home/mebauer/legion/runtime//realm/event_impl.cc:211
#10 0x00007f9de3a25125 in Legion::Internal::LgEvent::wait (this=0x7f9db6a69218)
    at /home/mebauer/legion/runtime/legion/legion_types.h:2386
#11 0x00007f9de3a0e5e9 in Legion::PhaseBarrier::wait (this=0x7f9db6a69260)
    at /home/mebauer/legion/runtime//legion/legion.cc:661
#12 0x00007f9de3a4bc45 in legion_phase_barrier_wait (runtime_=..., ctx_=..., handle_=...)
    at /home/mebauer/legion/runtime//legion/legion_c.cc:2744
#13 0x00007f9db4cd0c7c in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#14 0x00007f9db4cd05ac in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#15 0x00007f9db4eed48f in cdata_call (cd=0x7f9db4464e40, args=<optimized out>, kwds=<optimized out>)
    at c/_cffi_backend.c:3086
#16 0x00007f9db643e6f3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#17 0x00007f9db648e906 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#18 0x00007f9db649263d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
---Type <return> to continue, or q <return> to quit---
#19 0x00007f9db6490ec8 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#20 0x00007f9db649263d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#21 0x00007f9db64c90e5 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#22 0x00007f9db643e6f3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#23 0x00007f9db63bd6cd in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#24 0x00007f9db643e6f3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#25 0x00007f9db6442dbf in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#26 0x00007f9db64412bf in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#27 0x00007f9db643e6f3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#28 0x00007f9db648d4a1 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#29 0x00007f9db649263d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#30 0x00007f9db6490ec8 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#31 0x00007f9db649263d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#32 0x00007f9db6492772 in PyEval_EvalCode () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#33 0x00007f9db6491c2e in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#34 0x00007f9db649263d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#35 0x00007f9db6490ec8 in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#36 0x00007f9db649263d in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#37 0x00007f9db64c9010 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#38 0x00007f9db643e6f3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#39 0x00007f9db64b8bc7 in PyEval_CallObjectWithKeywords () from /usr/lib/x86_64-linux-gnu/libpython2.7.so
#40 0x00007f9de1dc72db in Realm::LocalPythonProcessor::execute_task (this=0xe5d980, func_id=11,
    task_args=...) at /home/mebauer/legion/runtime//realm/python/python_module.cc:966
#41 0x00007f9de1af41c8 in Realm::Task::execute_on_processor (this=0x7f9da4077d20, p=...)
    at /home/mebauer/legion/runtime//realm/tasks.cc:306
#42 0x00007f9de1af80a0 in Realm::KernelThreadTaskScheduler::execute_task (this=0xe5dcc0,
    task=0x7f9da4077d20) at /home/mebauer/legion/runtime//realm/tasks.cc:1380
#43 0x00007f9de1dc5203 in Realm::PythonThreadTaskScheduler::execute_task (this=0xe5dcc0,
    task=0x7f9da4077d20) at /home/mebauer/legion/runtime//realm/python/python_module.cc:320
#44 0x00007f9de1af7073 in Realm::ThreadedTaskScheduler::scheduler_loop (this=0xe5dcc0)
    at /home/mebauer/legion/runtime//realm/tasks.cc:1127
#45 0x00007f9de1dc53cf in Realm::PythonThreadTaskScheduler::python_scheduler_loop (this=0xe5dcc0)
    at /home/mebauer/legion/runtime//realm/python/python_module.cc:389
#46 0x00007f9de1dcadaa in Realm::Thread::thread_entry_wrapper<Realm::PythonThreadTaskScheduler, &Realm::PythonThreadTaskScheduler::python_scheduler_loop> (obj=0xe5dcc0)
    at /home/mebauer/legion/runtime/realm/threads.inl:97
#47 0x00007f9de1acf7fc in Realm::KernelThread::pthread_entry (data=0x3037c60)
    at /home/mebauer/legion/runtime//realm/threads.cc:774
#48 0x00007f9de0095184 in start_thread (arg=0x7f9db6a6b800) at pthread_create.c:312
#49 0x00007f9ddfdc203d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

If I had to guess, this code looks like it's running in the top-level task, and will therefore only work in multi-node settings with control replication where you are guaranteed to have it called on every node.

I tried running these changes on top of the CR branch and saw no difference, if that means anything.
Also, the error for regent tests looks different: https://gitlab.com/StanfordLegion/legion/-/jobs/934678431

if that means anything

Just means that my speculation was wrong.

Also, the error for regent tests looks different

Also an application bug: passing in empty futures (e.g. ones that Legion did not make and have no value Future()) are illegal.

@streichler pull and try again with control replication. You -ll:cpu 0 was causing havoc with the way that LegionPyMapper counts address spaces. It should work now in the control replication branch. Still doesn't work in master, I think because of my original hypothesis that Pygion requires control replication for multi-node runs to work correctly.

@lightsighter is right: the way we are currently running these tests, it will only work with multiple nodes in control_replication.
For what it's worth, there is a way to make it work in master, we just don't have it enabled right now. But given it works in control_replication I'd be inclined to just stick with that.

@lightsighter is right: the way we are currently running these tests, it will only work with multiple nodes in control_replication.
For what it's worth, there is a way to make it work in master, we just don't have it enabled right now. But given it works in control_replication I'd be inclined to just stick with that.


Just me or does this syntax make base16 color schemes very red?

Using Swift-for-f-ing-sublime on the left, and the same code in C using Sublime's default syntax on the right.

Maybe it's just a matter of preference but it seems odd to me.

Ew that looks terrible - can you tell me what the language grammar is at some of those places? (ctrl + shift + P I think). I'll try to take a look later.

On Jan 10, 2017, at 10:17 PM, TheIronBorn<EMAIL_ADDRESS>wrote:
Using Swift-for-f-ing-sublime on the left, and the same code in C using Sublime's default syntax on the right.
Maybe it's just a matter of preference but it seems odd to me.
―
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

It's all variable.other except for function parameter names:

And here's a function argument:

MacBook Pro (13-inch, Early 2011)
macOS 10.12.2
Sublime Text: Stable Channel, Build 3126
Swift-for-f-ing-sublime: v2.3.4

Gotcha, well I think this could be easy; there's only one place where I defined variable.other, and I think we could just remove it and try this out!  Can you tell me more about the base 16 color scheme?  I'll download the one you're using.

diff --git a/Swift.sublime-syntax b/Swift.sublime-syntax
index 6d34503..32b355e 100644
--- a/Swift.sublime-syntax
+++ b/Swift.sublime-syntax
@@ -128,8 +128,6 @@ contexts:
     - match: '(\w+):'
       captures:
         1: variable.parameter
-    - match: \b\w+
-      scope: variable.other
     - match: '[-+=<>^$#@!~*\\|&?\/.]*'
       scope: keyword.operator
     - match: '\('

I think that did it!
Before:

After:

Try it out in v2.3.5

Yup seems to have fixed it. Thanks!
I was using Spacegray's Eighties theme which is a fork of chriskempson's.

Great!  Please close this issue if it's been resolved.


fix(admin): refresh cluster metadata while adding storage node

What this PR does
It fixes a transient error caused by fetching cluster metadata too lately while handling AddStorageNode. This PR lets the AddStorageNode RPC handler fetch the cluster metadata forcibly and wait for them to be updated. Although it isn't a critical error and can be resolved through a simple retry, it is resolved quickly by fetching the cluster metadata.
Error example:
--- FAIL: TestVarlogAppend (5.38s)
    controller.go:62:
                Error Trace:    /home/runner/work/varlog/varlog/tests/ee/controller/controller.go:62
                                                        /home/runner/work/varlog/varlog/tests/ee/cluster/local/cluster.go:238
                                                        /home/runner/work/varlog/varlog/tests/ee/cluster/local/cluster.go:63
                                                        /home/runner/work/varlog/varlog/tests/ee/ee_test.go:32
                Error:          Received unexpected error:
                                exit status 255
                Test:           TestVarlogAppend
                Messages:       /home/runner/work/varlog/varlog/bin/varlogctl storagenode add --storage-node-id 1 --storage-node-address <IP_ADDRESS>:20001 --admin <IP_ADDRESS>:9093: rpc error: code = Unavailable desc = add storage node: call again

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.06% :tada:

Comparison is base (e5b6a2e) 61.69% compared to head (432a4b1) 61.75%.

:exclamation: Current head 432a4b1 differs from pull request most recent head 342598c. Consider uploading reports for the commit 342598c to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #558      +/-   ##
==========================================
+ Coverage   61.69%   61.75%   +0.06%
==========================================
  Files         137      137
  Lines       18845    18846       +1
==========================================
+ Hits        11626    11639      +13
+ Misses       6636     6626      -10
+ Partials      583      581       -2

Files Changed
Coverage Δ

internal/admin/admin.go
61.96% <100.00%> (+0.03%)
:arrow_up:

... and 7 files with indirect coverage changes

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

Merge Activity

Oct 4, 3:30 AM: @ijsong started a stack merge that includes this pull request via Graphite.


Fix Link to gRPC

There was a dublicated "web" in the link. this fixes it

The New Solution/Problem/Issue/Bug:
How this PR Solves The Problem:
Manual Testing Instructions:

Related Issue Link(s):

Confirmed & approved.
Thank you for the PR @wolffc !
Test

Visit .ddev/web-build/Dockerfile examples to customize web container
Click on "gRPC" link (last item)
Page produces 404.

Correct URL is "web-container-dockerfiles/grpc" ("https://github.com/ddev/ddev-contrib/tree/master/web-container-dockerfiles/grpc").

Ah, I see you fixed here, thanks. That's what you get for going through email in the wrong order.


Deprecate unnecessary rules

Based on discussion in #164, there seem to be several rules in this project that duplicate existing functionality.

use-is-nan ➡ now covered by the TSLint rule use-is-nan, but the docs currently state this, yet the rule is still distributed anyway. Why?
valid-typeof ➡ now covered by the TSLint rule typeof-compare
no-extra-semi ➡ not entirely sure, but I think the TSLint rule semicolon might cover this now.

for the use-is-nan rule I changed the docs since tslint won't let us use the one provided here and I did not want to delete the rule just yet. It didn't make sense to let users believe that they were using the rule from this project.
valid-typeof is probably also safe to deprecate.
I would keep no-extra-semi since the implementation is more simple that the one provided by tslint.
https://github.com/buzinas/tslint-eslint-rules/blob/master/src/rules/noExtraSemiRule.ts
https://github.com/palantir/tslint/blob/master/src/rules/semicolonRule.ts
Also, in some cases I think we should consider keeping a rule if it has a different implementation. We should try to see which one is more efficient and document the pros and cons of using the version provided here. Anyway, let's keep this issue open and see if we find other rules that we might consider deprecating for the next major version.

So, TSlint 5 has been released, and this project has released version 4.  Both major version number updates and the use-isnan rule is still being distributed, yet it's still not usable since the rule in base tslint will always override this.  Is there a reason to keep distributing duplicate code that can never be consumed?

Also no-sparse-arrays is natively supported by TSlint 5.

Also, no-irregular-whitespace is introduced and natively supported by TSLint 5.2.0

no-duplicate-switch-case rule is supported in tslint 5.8.0.

Also, in some cases I think we should consider keeping a rule if it has a different implementation. We should try to see which one is more efficient and document the pros and cons of using the version provided here.
This would be so awesome. It is really difficult to be able to distinguish which one to use/keep from looking at the code. Maybe the tests could be a good source for comparison...

We created a configuration, that uses both https://github.com/Microsoft/tslint-microsoft-contrib and tslint-eslint-rules and there are the following "name clashes" (in our case tslint-eslint-rules win because they are extended first):

no-constant-condition
no-control-regex
no-duplicate-case
no-invalid-regexp
no-regex-spaces

it would be nice to be able to reason about which one to use.


pyarrow.RecordBatch.from_pandas fails on concatenated pandas.DataFrames: TypeError: Cannot convert pyarrow.lib.ChunkedArray to pyarrow.lib.Array

Describe the bug, including details regarding any error messages, version, and platform.
>>> import pandas as pd
>>> pd.__version__
'2.2.2'
>>> import pyarrow as pa
>>> pa.__version__
'16.1.0'
>>> df = pd.DataFrame({"1": [1]}).astype({"1": "int32[pyarrow]"})
>>> concat_df = pd.concat([df, df])
>>> pa.RecordBatch.from_pandas(df)
pyarrow.RecordBatch
1: int32
----
1: [1]

>>> pa.RecordBatch.from_pandas(concat_df)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyarrow/table.pxi", line 3289, in pyarrow.lib.RecordBatch.from_pandas
  File "pyarrow/table.pxi", line 3379, in pyarrow.lib.RecordBatch.from_arrays
TypeError: Cannot convert pyarrow.lib.ChunkedArray to pyarrow.lib.Array

This has been observed on my macOS Sonoma 14.5 as well as on a server running linux.
Component(s)
Python

@PatrikBernhard the issue here is that your example pandas DataFrame consists of a chunked column (because of the concat step), and a RecordBatch is a data structure where each column consists of a single contiguous array.

So you will noticed that pa.Table.from_pandas(concat_df) works fine.
Historically,  pandas DataFrames always had columns that used a single non-chunked array under the hood, and that's the reason that RecordBatch.from_pandas currently does not support that.
I am not entirely sure what the best solution is: keep raising the error (but maybe make it more informative or document this behaviour better) because people might not expect a copy in this conversion step, or automatically converting the chunked array to a contiguous array.
As a comparison, directly constructing a RecordBatch from a ChunkedArray gives the same error:
In [10]: arr = pa.chunked_array([pa.array([1], pa.int32()), pa.array([2], pa.int32())])

In [11]: pa.RecordBatch.from_arrays([arr], names=["col"])
...
TypeError: Cannot convert pyarrow.lib.ChunkedArray to pyarrow.lib.Array


Created cni-sv.ro

@monkey-1344 First stage of verification passed, official domain is cni-sv.ro as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@monkey-1344 Hi,
Please provide us with a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

You can provide us with any of the following:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

Thank you!

@monkey-1344 Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Slope is negative everywhere, but diffrax integrates to a positive value

An ODE I am integrating has a value with negative slope everywhere (confirmed via logging), and yet diffrax integrates to a positive value when starting with y0=0. Similarly, when solving backwards in time it integrates to a negative value when the solution is necessarily positive. I have confirmed this phenomenon with multiple solvers (Tsit5, Dopri5), and multiple stepsize_controllers.
I have put together a small reproduction in a Colab. Tested on diffrax==0.2.2, the latest release on PyPI at the time of writing.
Any idea what could be producing this kind of errant behavior?

Actually, I believe that this is due to dt0 being too aggressive. I'm going to close this for now...

Actually I'm still not sure I understand how the result can be positive after all the dynamics evaluations are negative... maybe an overflow of some sort?

I've not dug into your example (I can take a look if you think that'll help), but it is possible to have negative numerical solutions given only positive vector field evaluations. This is because the Butcher tableau can contain negative entries.
See also #200 for ways to enforce positivity.

Thanks for explaining @patrick-kidger, I'll give the ideas in #200 a shot!


Adding build platforms

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Added macOS and Linux aarch64 and ppc64le builds
Re-rendered with {{ stdlib("c") }}
Updated sha256
Refactored use of CMake in build.sh
Added zlib and bzip2 as host requirements
Refactored commands due to MacOS issues
Fallback to readlink if macOS missing greadlink (implemented with patch)

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@matthewfeickert oh, sorry I was thinking that you wrote that you just don't show them in example

@conda-forge/hepmc3 please, take a look


[vimeo] bestaudio download fails with 403 Forbidden for some embedded links with vimeo vids

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
test link (originally embedded on this page:https://www.mylifefestival.it/giorno2/):
https://player.vimeo.com/video/802659335?h=c5b1fac0e2&badge=0&autopause=0&player_id=0&app_id=58479#__youtubedl_smuggle={"http_headers"%3A+{"Referer"%3A+"https%3A%2F%2Fwww.mylifefestival.it%2Fgiorno2%2F"}}
Trying to run ./yt-dlp -f "bestaudio" fails.
Also, for some reason best audio here is considered to be dash-fastly_skyfire_sep-audio-4479401a (3.62MiB , 98k) (also fails if set with -f dash-fastly_skyfire_sep-audio-4479401a). However best in this case is obviously: dash-akfire_interconnect_quic_sep-audio-81cc725d or dash-fastly_skyfire_sep-audio-81cc725d (9.43MiB,  255k). Both download just fine, by the way with -f
If needed I'll gladly provide at least 3 more links like that for testing where best audio fails.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
./yt-dlp -vU -f "bestaudio" "https://player.vimeo.com/video/802659335?h=c5b1fac0e2&badge=0&autopause=0&player_id=0&app_id=58479#__youtubedl_smuggle=%7B%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fwww.mylifefestival.it%2Fgiorno2%2F%22%7D%7D"
[debug] Command-line config: ['-vU', '-f', 'bestaudio', 'https://player.vimeo.com/video/802659335?h=c5b1fac0e2&badge=0&autopause=0&player_id=0&app_id=58479#__youtubedl_smuggle=%7B%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fwww.mylifefestival.it%2Fgiorno2%2F%22%7D%7D']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[934496428] (zip)
[debug] Python 3.11.2 (CPython arm64 64bit) - macOS-13.2.1-arm64-arm-64bit (OpenSSL 1.1.1t  7 Feb 2023)
[debug] exe versions: phantomjs 2.1.1
[debug] Optional libraries: no_Cryptodome-None, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Extractor Plugins: SamplePluginIE
[debug] Post-Processor Plugins: SamplePluginPP
[debug] Loaded 1845 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: f70c46dc4e92512634f1f34fa9a029f749941932b8623c88b6632ee0b6f806d0
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/latest/download/_update_spec
Updating to<EMAIL_ADDRESS>...
[debug] Downloading yt-dlp from https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
[debug] Downloading SHA2-256SUMS from https://github.com/yt-dlp/yt-dlp/releases/latest/download/SHA2-256SUMS
Updated yt-dlp to<EMAIL_ADDRESS>[debug] Restarting<EMAIL_ADDRESS>./yt-dlp -vU -f bestaudio 'https://player.vimeo.com/video/802659335?h=c5b1fac0e2&badge=0&autopause=0&player_id=0&app_id=58479#__youtubedl_smuggle=%7B%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fwww.mylifefestival.it%2Fgiorno2%2F%22%7D%7D'
[debug] Command-line config: ['-vU', '-f', 'bestaudio', 'https://player.vimeo.com/video/802659335?h=c5b1fac0e2&badge=0&autopause=0&player_id=0&app_id=58479#__youtubedl_smuggle=%7B%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fwww.mylifefestival.it%2Fgiorno2%2F%22%7D%7D']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (zip)
[debug] Python 3.11.2 (CPython arm64 64bit) - macOS-13.2.1-arm64-arm-64bit (OpenSSL 1.1.1t  7 Feb 2023)
[debug] exe versions: phantomjs 2.1.1
[debug] Optional libraries: no_Cryptodome-None, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Extractor Plugins: SamplePluginIE
[debug] Post-Processor Plugins: SamplePluginPP
[debug] Loaded 1787 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 91cad9f121c1f6f0a81b747415c46ecba0ff331ed38cc6433040b4ac7b6e15ca
yt-dlp is up to date<EMAIL_ADDRESS>[vimeo] Extracting URL: https://player.vimeo.com/video/802659335?h=c5b1fac0e2&badge=0&autopause=0&player_id=0&app_id=58479#__youtubedl_smuggle=%7B%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fwww.mylifefestival.it%2Fgiorno2%2F%22%7D%7D
[vimeo] 802659335: Downloading webpage
[vimeo] 802659335: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 802659335: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 802659335: Downloading fastly_skyfire m3u8 information
[vimeo] 802659335: Downloading fastly_skyfire m3u8 information
[vimeo] 802659335: Downloading akfire_interconnect_quic MPD information
[vimeo] 802659335: Downloading akfire_interconnect_quic MPD information
[vimeo] 802659335: Downloading fastly_skyfire MPD information
[vimeo] 802659335: Downloading fastly_skyfire MPD information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[info] 802659335: Downloading 1 format(s): dash-fastly_skyfire_sep-audio-4479401a
[debug] Invoking http downloader on "https://skyfire.vimeocdn.com/1678661932-0xeccd3e7fe7d7ac9746554d5cdffe628895235c40/30767850-bd01-432b-a2ff-d6c49ef369ae/sep/video/417fc67f,81cc725d,8b266fec,9469bd42,a5ab2402/audio/fe77384a,4479401a,7b15d798/../../../../../parcel/audio/4479401a.mp4?r=dXM%3D"
[download] Resuming download at byte 3296822
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 3247, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 2970, in dl
    return fd.download(name, new_info, subtitle)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./yt-dlp/yt_dlp/downloader/common.py", line 444, in download
    ret = self.real_download(filename, info_dict)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./yt-dlp/yt_dlp/downloader/http.py", line 376, in real_download
    establish_connection()
  File "./yt-dlp/yt_dlp/downloader/http.py", line 129, in establish_connection
    ctx.data = self.ydl.urlopen(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./yt-dlp/yt_dlp/YoutubeDL.py", line 3742, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 557, in error
    result = self._call_chain(*args)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 749, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 563, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Selecting the same actual format dash-fastly_skyfire_sep-audio-4479401a provokes the error in yt-dl, which prefers a DASH format where the downloader explicitly calls urljoin(). Then we have #3355 because no path munging is done in the HTTP downloader. The failing URL
https://skyfire.vimeocdn.com/1678661932-0xeccd3e7fe7d7ac9746554d5cdffe628895235c40/30767850-bd01-432b-a2ff-d6c49ef369ae/sep/video/417fc67f,81cc725d,8b266fec,9469bd42,a5ab2402/audio/fe77384a,4479401a,7b15d798/../../../../../parcel/audio/4479401a.mp4?r=dXM%3D

becomes
https://skyfire.vimeocdn.com/1678661932-0xeccd3e7fe7d7ac9746554d5cdffe628895235c40/30767850-bd01-432b-a2ff-d6c49ef369ae/parcel/audio/4479401a.mp4?r=dXM%3D

which succeeds.

More test links for this case:
https://player.vimeo.com/video/502184266
https://player.vimeo.com/video/502572803
-beast audio and all OPUS related audio params fail. For example:
dash-akfire_interconnect_quic_sep-audio-682c6f17
dash-fastly_skyfire_sep-audio-682c6f17
dash-akfire_interconnect_quic_sep-audio-1ab324a8
dash-fastly_skyfire_sep-audio-1ab324a8

Working in yt-dl with commit https://github.com/ytdl-org/youtube-dl/commit/e8de54bce50f6f77a4d7e8e80675f7003d5bf630.

Working in yt-dl with commit ytdl-org/youtube-dl@e8de54b.

indeed it works there. Thanks a lot!
Not a big deal, but why is OPUS encoded audio with lower bitrate is considered best here, while there are m4a encoded audio with 255kbps bitrate? Just curious.  Could you have a look? Or should I merge as-is and deal with conflict later?

Working in yt-dl with commit ytdl-org/youtube-dl@e8de54b.

Is there a simple(ish) way to get this working now, or is it best to wait for the next release?

Should be fixed by https://github.com/yt-dlp/yt-dlp/pull/7662


Factorio server bug (windows server 2019)

Starting factorio from Start button in factorio instance will start factorio server but (after a few seconds) wont give any data on CPU Usage and RAM Usage;
AMP thinks the server is offline and will only allow a Start and an Update button (while the server is effectively running as a process and allowing connections)
To reproduce this just make a factorio instance, press update to download the game, start the server and it will happen (at least on Windows Server 2019)
also this is the console output when starting factorio server: Console output
Screenshot of AMP thinking server is down (with Factorio Server up and asking for password)
Screenshot 1
Screenshot of AMP showing Start and Update button, no RAM usage or CPU usage but showing the correct number of connected users after connecting with the password (screenshot above)
Screenshot 2

Can you provide the log output for the Factorio Instance?

Here they are:
AMP-Logs-Factorio01.zip

What version of Factorio is this with?

Latest version ( Version: 0.17.79 )

Can this be reproduced on 0.17.76 ? .79 is a beta version so far as I can tell.

Can this be reproduced in 1910? I've tested the .79 version with the latest AMP build and no issues here.

I've just update AMP to 1.9.10 (and all instances), using .79 version of factorio on my windows server 2019 vm I still have this problem

Not sure if it's worth mentioning, but I have the exact same issue, log pasted below.
AMPLOG
I am currently running AMP on Windows 10 Enterprise 1909, however I have also tested on Windows Server 2016 Datacenter 1607. AMP version that I'm running is v<IP_ADDRESS> for both ADS and Factorio.
Factorio Server version is 0.17.79 (This is the default selected when 'Beta version' is left blank)
Running Factorio 0.17.76 (On server 2016) appeared to fix the issue, but the console is illegible, see link [AMPLog2] (https://pastebin.com/XcwSz1a2)
Hope this helps :)

Extra info that I added to factorio section in the discord server:
I updated to version <IP_ADDRESS>
and now I have the old issues back

Console shows text, then stops working and wont send any command to the server
Server thinks it's off (shows Start Update instead of Stop Restart)
weird stuff can be seen in the console during startup (text with weird ascii characters instead of text, making a lot of lines)
CPU and RAM graphs are completely not-operational, User count is operational
I can connect to the server, and is shown both under Public and LAN

The situation is pretty problematic, the game is basically unplayable in this state, since there is no way to close the server in a correct way (no console available); also I can't be a server admin and run the save command because the server admin settings also does not work at all, and this makes it impossible to know when the server has saved and is safe to shutdown.
this requires a fix, also I expect updates to fix bugs, not to introduce new ones, the console was at least working in <IP_ADDRESS>

Can someone confirm if this still applies to <IP_ADDRESS>?

Closed due to inactivity.


Create umbraco-marketplace.json

Hi @enkelmedia - I noted you'd listed this package on the Umbraco marketplace, so firstly, thanks for taking the time to do that.  I noticed though that we only have the details collected from NuGet for the package... which is fine, but to help it to be found more easily it's possible to provide additional information, as is discussed here.
To get started with this I've created this PR, which will at least ensure your package is listed under what looks to be the appropriate category.  You can add more, like more tags, links, developer information, or extended descriptions and readme information.  I hope that's useful for you.

Thanks for this Andy!
I've made sure that there is a umbraco-marketplace.json file in modern versions of the package so I'll go ahead and close this one.
Cheers!


Kobo Nia original SIM card

After connecting the charger from the laptop and switching to reading files, Nia stopped displaying anything. Is it possible to download the original system and replace it on the SIM card?

You mean the SD card, and ask on the MobileRead Forums.
First, though, have you tried turning it off? Hold the power button for 30 seconds with the Nia unplugged, then let go, then do it again.

Yes, I did these steps, but Kobo does not respond to restarting and still does not display anything.
I believe that only uploading the digital image of the SD card again will fix the problem.
Hence my search for the original Kobo Nia SD card image

Post a message here.

Tak, wykonałem te kroki, ale Kobo nie reaguje na ponowne uruchomienie i nadal nic nie wyświetla.
Wierzę, że dopiero ponowne przesłanie cyfrowego obrazu karty SD rozwiąże problem. Stąd moje poszukiwania oryginalnego obrazu karty SD Kobo Nia


Allow to define node version in php-builder images

Our php builder images have node in the newest stable version included, some projects might need another version.

Install nvm into the builder image
write documentation to use https://github.com/creationix/nvm#usage (nvm exec 4.2 node) to run a command in another node version

I realized that NVM is not really ready for Alpine (see https://github.com/creationix/nvm#installing-nvm-on-alpine-linux), also NVM is very hard to handle if you are not really in a Bash, so it makes more sense to actually remove the existing nvm and install another one.


NSAllocateMemoryPages failed

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[x ] I have read the wiki page and cheat sheet, but there is no information I need.
[ x] I have searched in existing issues, but did not find a same one.
[ x] I want to report a problem instead of asking a question. It'd better to use kingfisher tag in Stack Overflow to ask a question.

Issue Description
Crash in KingfisherWrapper<A>.data(format:compressionQuality
iOS 16.4.1
iPhone XR
Ram Free 99.34MB
Disk Free 45.27
KingFisher version: 7.6.2
What
Fatal Exception: NSInvalidArgumentException
*** NSAllocateMemoryPages(1800185) failed
0  CoreFoundation                 0x9d94 __exceptionPreprocess
1  libobjc.A.dylib                0x183d0 objc_exception_throw
2  Foundation                     0xb44d8 NSAllocateMemoryPages
3  Foundation                     0x5107c -[_NSPlaceholderData initWithBytes:length:copy:deallocator:]
4  Foundation                     0x3d13f0 specialized static Data._unconditionallyBridgeFromObjectiveC(_:)
5  Kingfisher                     0x10308 specialized closure #1 in KingfisherWrapper<A>.data(format:compressionQuality:) + 209 (Image.swift:209)
6  Kingfisher                     0xfd50 DefaultCacheSerializer.data(with:original:) (<compiler-generated>)
7  Kingfisher                     0x2e9c8 closure #2 in ImageCache.store(_:original:forKey:options:toDisk:completionHandler:) + 319 (ImageCache.swift:319)
8  Kingfisher                     0x370e0 partial apply for closure #2 in ImageCache.store(_:original:forKey:options:toDisk:completionHandler:) (<compiler-generated>)
9  Kingfisher                     0x106bc thunk for @escaping @callee_guaranteed () -> () (<compiler-generated>)
10 libdispatch.dylib              0x2320 _dispatch_call_block_and_release
11 libdispatch.dylib              0x3eac _dispatch_client_callout
12 libdispatch.dylib              0xb534 _dispatch_lane_serial_drain
13 libdispatch.dylib              0xc0a4 _dispatch_lane_invoke
14 libdispatch.dylib              0x16cdc _dispatch_workloop_worker_thread
15 libsystem_pthread.dylib        0xddc _pthread_wqthread
16 libsystem_pthread.dylib        0xb7c start_wqthread

Seems it is an OOM. Maybe you are trying to load/cache a huge image.
If you are trying to handle a huge image, I would suggest at least try this to downsample the image to a reasonable size. After all, the iPhone is only shipping with a very limited memory.

Ummm.
Yes, in this case:
Fatal Exception: NSInvalidArgumentException
*** NSAllocateMemoryPages(1800185) failed

It indicates that only 1.8 MB memory is allocated. Usually it should not be a problem. However, the report also shows there is only 99MB free memory left. It is not quite strange that the system just thought it was dangerous and refused our alloc request There is actually quite little Kingfisher to do.
Is there a way to reproduce this stably in any ways?

I have not been able to reproduce on our own... and this is the first time I have seen this crash in the many years of using KF

I have the same issue (significant amount of such kind of crashes on our production app) even for much smaller images like:
Fatal Exception: NSInvalidArgumentException
*** NSAllocateMemoryPages(379916) failed

Also not sure how to reproduce and fix..

we have the same issue
https://github.com/onevcat/Kingfisher/issues/2170


Warning with formatting today's date moment().format(...)

Anyone know why the following gives me a deprecation warning?
moment().format("MM/DD/YYYY")

Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.

I read through the thread, but I don't really see how pass in "nothing" into the moment constructor gives me this error.
I'm just trying to get today's date in a certain format

Which version / environment? It doesn't happen on 2.10.6 in node / browser.

Whoops -- Turns out that the example I gave is working as expected. My issue is that I'm putting this value into https://github.com/Eonasdan/bootstrap-datetimepicker/ as a "maxDate". So, the error is actually coming from this datetimepicker, and how it uses moment, not directly through my code.


useUnknownInCatchVariables sets default value differently to other strict commandline options

Bug Report
Not necessarily a bug, but I would like some clarification on why the the definition of the useUnknownInCatchVariables CommandLineOption (https://github.com/microsoft/TypeScript/blob/cd23992100f8edd29ef9c29e29758008cdbeb8ec/src/compiler/commandLineParser.ts#L888) is different from the other options that also set strictFlag: true (e.g. https://github.com/microsoft/TypeScript/blob/cd23992100f8edd29ef9c29e29758008cdbeb8ec/src/compiler/commandLineParser.ts#L878).
All the other CommandLineOptions that have their fallback influenced by strict set a defaultValueDescription of Diagnostics.false_unless_strict_is_set, but useUnknownInCatchVariables explicitly sets false (see permalink above). Why?
🔎 Search Terms
false_unless_strict_is_set, defaultValueDescription
🕗 Version & Regression Information
I noticed this within the codebase at head.
⏯ Playground Link
n/a
💻 Code
n/a
🙁 Actual behavior
useUnknownInCatchVariable's CommandLineOption sets a defaultValueDescription of false.
🙂 Expected behavior
useUnknownInCatchVariable's CommandLineOption sets a defaultValueDescription of Diagnostics.false_unless_strict_is_set like all the others?

That's a bug. The value depends on strict.

Yep, good catch


add additional screenshots to getting started user docs

GitHub Issue: (link)
https://github.com/Islandora-CLAW/CLAW/pull/650

Other Relevant Links (Google Groups discussion, related pull requests, Release pull requests, etc.)

What does this Pull Request do?
Addressing comment made by @ruebot for consistency in creating screenshots
What's new?
How should this be tested?

Review getting started doc page, review screenshot files added to assets

Additional Notes:
Interested parties

¡Thanks!


Add item selling

[ ] Decide on a buyback percentage
[ ] Add sell button UI
[ ] Add buy back price
[ ] Show item back in store instead of in inventory if sold
[ ] Add model logic for tracking sold items, total gems now including sales, etc.
[ ] Unequip sold items when replaying levels with them equipped
[ ] Making certain items (awarded items?) unsellable

+1

Eager to know when this new feature can be available
+1

+1 :-)

A bit of work to implement, but make each level "lock" the equipment used for the solution. If you want to sell the equipment, you must rerun all levels with the new equipment. A "submit all" button which checks all levels one after each other will be nice.
In this way you can sell inferior equipment made obsolete by your new one, but you can't sell heroes or level required equipment.

Hi all,
I started work on this and created the sell button UI. Check it out so far:

It looks maybe a little too similar to the Unlock button, so I was thinking of changing the color or the position (moving it to the left side, maybe?). But moving the position might be a little inconsistent since I'm guessing we would want the action to be in the same place. At the same time, it might be fine since there is no Gem value next to it.

I like it, I think changing the color to orange or yellow or something would be a good start.

@nwinter Thanks for the feedback! I believe I've finished the following tasks done with the latest commit:

Decide on a buyback percentage
Add sell button UI
Add buy back price
Add model logic for tracking sold items, total gems now including sales, etc.

Here's a pic of the standard purchase UI:

And here's a pic of the selling UI:

I think the better approach here might be to keep track of item sales on the User object alongside the purchased list instead of having to manage a new Sale model. We can relax requirements that if you buy back an item that you sold, you don't lose any gems compared to having bought it and then sold it–you just remove it from the sold list.

Is the feature still in progress? or is codecombat a dead project?

@nwinter any updates on the progress of the sell function?

I can not wait for the sell feature to come out.

Will it for sure come out?

Will it for sure come out?


markdown  git  hub spaced after the headers /usage

When there are spaces after the header
so
Tilte
The link created doesn't work.
Could be mentioned in the usage of the program. (not sure if removing the spaces is a correct action)
For none daily python user (on windows )   pip install is not sufficient . Obvious (afterwards) a file markdown_toc.py  ( import markdowntoc markdowntoc.main()  ) has to be created. Perhaps could also be in the documentation.
Thanks making this public.

Just looked into this, found the issue. Trimming the spaces solves the problem since I was unconditionally replacing spaces with dashes (-).
Mind giving me more information on why pip install isn't sufficient? Like any specific error messages?


Active Subscription Required

I'm trying to use stackimpact in a completely typical scenario in a Node.js app. It wasn't throwing any errors, but also wasn't showing any data in the dashboard. When I added debug: true to the config, I see this in the console:  StackImpact 1.3.24: {"error":"Active subscription required"}.
I don't understand what I'm supposed to do with this message - I logged in to StackImpact using my Github account, I think I might have used the service once a long time ago, but it doesn't even look like there's an option to buy a subscription on the website if I wanted to (which I don't really).

The same problem


chore: Add Instruction::DecrementRc

Description
Problem*
Resolves https://github.com/noir-lang/noir/issues/4522
Summary*
Experimenting with this to see how much it improves performance of unconstrained code using arrays.
Additional Context
Currently the new dec_rc instruction is only issued for function parameters when a function is finished - assuming the parameters are not also returned.
CC @sirasistant for visibility
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

This seems to be a considerable improvement for pathological cases at least. Here's an example:
unconstrained fn main() {
    let mut array = [0; 10000];

    for i in 0 .. array.len() {
        array[i] = i;

        // This increments the reference count of `array` on each iteration,
        // tanking performance even though the `array2` parameter of `foo`:
        // 1. is not returned, so its lifetime should not prevent the mutation of `array`
        // 2. is not itself mutable
        foo(array);
    }
}

unconstrained fn foo<N>(_array2: [u64; N]) {}

On master this runs in 5m 50s on my desktop.
On this branch, this runs in 0.67s

Not sure why the brillig_assert_msg_runtime test is incorrectly passing now.
I suppose the inputs are getting mangled somehow since v73 = eq v0, Field 10 passes but v0 = 5 in the Prover.toml.
Either that or this is skipped entirely somehow.

Not sure why the brillig_assert_msg_runtime test is incorrectly passing now.
I suppose the inputs are getting mangled somehow since v73 = eq v0, Field 10 passes but v0 is x and x = 5 in the Prover.toml.
Either that or this is skipped entirely somehow.

Fixed it here https://github.com/noir-lang/noir/pull/4531

Removing this from the queue to investigate why poseidonsponge_x5_254 blew up in size

I'm still unable to find why poseidonsponge_x5_254 has bloated so much. Oddly enough, the SSA is actually shorter for the version on this branch than in master.


Add TC Analysis tests

Test simultaneous runs of TC Analysis.

Results:
$ cd /lcrc/group/e3sm/ac.forsyth2/zppy_min_case_tc_analysis_simultaneous_1_output/test-613-v1/v3.LR.historical_0051/post/scripts
$ grep -v "OK" *status
# No errors

$ cd /lcrc/group/e3sm/ac.forsyth2/zppy_min_case_tc_analysis_simultaneous_2_output/test-613-v1/v3.LR.historical_0051/post/scripts
$ grep -v "OK" *status
RUNNING 555972
$ tail tc_analysis_1985-1986.o555972
  --out_file_format <string> ["gfdl"] (gfdl|csv|csvnohead)
------------------------------------------------------------
Parsing thresholds
..wind greater than or equal to 17.500000 at least 6 time(s)
..lat less than or equal to 40.000000 at least 6 time(s)
..lat greater than or equal to -40.000000 at least 6 time(s)
..Done
Loading candidate data
..EXCEPTION (/lcrc/group/e3sm/ac.xylar/spack_tmp/ac.xasay-davis/spack-stage/spack-stage-tempestextremes-2.2.1-duigtcufuv65xhyizj6gnikjhuj2dn65/spack-src/src/nodes/StitchNodes.cpp, Line 98) Unable to open input file "/lcrc/globalscratch/ac.forsyth2//tc-analysis_1985_1986/cyclones_v3.LR.historical_0051_1985_1986.txt"
rm: cannot remove '/lcrc/globalscratch/ac.forsyth2//tc-analysis_1985_1986/cyclones_v3.LR.historical_0051_1985_1986.txt': No such file or directory

This is a different error than in #613 though. That one was NetCDF: HDF error, not Unable to open input file

The simultaneous tests pass when different subdirectories are used. I'm still not sure about the NetCDF: HDF error error specifically but if it comes up again, I'll re-open #613.


Consider adding property to Calibration to afford discriminated unions in inherited models

Is your feature request related to a problem? Please describe.
Looking at the current Calibration model there isn't a suitable property that can be leveraged to create discriminated unions (e.g. a string)
https://github.com/AllenNeuralDynamics/aind-data-schema/blob/0328cbed69d5da849660557be162a24c2cd02df4/src/aind_data_schema/models/devices.py#L271
This is unfortunate as Calibration is already being used for List types, for instance in https://github.com/AllenNeuralDynamics/aind-data-schema/blob/0328cbed69d5da849660557be162a24c2cd02df4/src/aind_data_schema/core/acquisition.py#L58
Describe the solution you'd like
It would be ideal to add an extra property to the Calibration class that specifies the type of the calibration being spec'ed. This would allow correct deserialization should users subclass Calibration whilst leaving deserialization in the aind-data-schemas untouched.
This is all the more problematic since, currently, the base class (AindModel) operates in forbid mode which completely removes the ability of users that want to inherit from the base class to add such a discriminated property and still honor the deserialization to the aind-data-schema spec.
Describe alternatives you've considered
Change the deserialization mode from forbid to ignore

Another possibility is to hack the description field to do this. I don't think this is a good idea but it will make it backward compatible.

Related to #855 #850

It seems that between the device_name and description we should be able to discrimate these, no?

I ended up fixing this on my end differently. I think it's ok since the aind-data-schemas is not concerned with deserializing the children of Calibration to their correct subtype. Instead, it will always deserialize to the Calibration base class.
Closing this issue. Thanks!


Send a confirmation email with buffalo background worker at registration funnel

This PR will eventually allow us to send emails when a user is created.
Issue #HAV-137
Checklist

[x] Adjust GetUser function to grab the user ID
[x] Write Test for GetUser function
[x] Write ResetPassword function
[x] Write test for ResetPassword
[x] Implement the new ResetPassword function in the registration funnel

@statik Hi! Let me know what you think when you get a chance. I had to refactor the usage of the docker network in the circleci conf. Also if this is merged in we will need a follow up PR that updates the Gopkg files to reference the latest commit in master. I think in the future we might want to think about pulling the keycloak package into its own repo.

SOOOOO GREAT


Clean router config

The router file had way too much information in it, from walls of comments with descriptions of settings, to settings, and including additional files. This PR cleans this up so that the Routes.php file is only for adding routes. It does this by:

Creating a new config file, app/Config/Routing.php. All of the settings that were set by default within the old Routes file has been moved to this config file.
The Routes file has been moved to app/Routes.php to make it more prominent, and reduce confusion by having two closely-named files.
A new setting within the Routing config file allows existing applications to simply point to the old Routes file if they don't want to move it. This also allows the user to specify multiple routes files to include if they want to separate routes logically, like into an api and  web files, etc.

This is not a trivial change. It should go to 4.4 branch.
@lonnieezell Don't use wip as a commit message, please.
It does not tell anything.

I don't think this PR is a good decision.
About configs.
In CodeIgniter, configs are not cached, which means that with each request, each loaded config inherited from CodeIgniter\Config will try to find the class properties in .env.
+1 to overhead
Almost all configs used in class dependencies are used as DTO, overriding class properties.
The meaning of using the config-class is lost. The same can be obtained using an array.
About routes.
All settings from the routes file can be removed, since they duplicate the state of the properties of the RouteCollection class. Except for the namespace, but it can be defined in the class by default.
The framework has documentation, so extra comments can be removed from the routes file.
Also, the presence of two files associated with routing can cause confusion.
Especially in modules, the position of the file with routes remains the same.

Almost all configs used in class dependencies are used as DTO, overriding class properties.
The meaning of using the config-class is lost. The same can be obtained using an array.

What is the meaning of using the config-class?
And I know you loves array config, but we have been using config-class already.
Changing to an array would be a breaking change. Is it worth the change?

Especially in modules, the position of the file with routes remains the same.

This is a good point.
If it's in Acme/Config/Routes.php in a module, but in app/Routes.php in the app, that's odd.

It should go to 4.4 branch.

Good point! I'll fix that up.

All settings from the routes file can be removed...

That's true, I could just remove those settings all together and document how to call the methods within the Routes file. I have two issues with that, though.
First - the current Routes file isn't what I would consider a config file, honestly. It was left in that folder for purely historical reasons during the rewrite.
Second - this is the first of a two-step process to make the Router more flexible, converting it to use Handlers for the 2 distinct routing systems we have, but expandable with dev-provided routers. I've heard devs searching for a way to get routes dynamically from the database for years, and this would allow them to easily handle that if they needed, as well as allow others to create other routing if they needed. Knowing this, we need a place to configure the handlers that are in use. This could be handled in the Services class, I guess, though that doesn't feel right when you look at other portions that use handlers, like the Cache, Session, or Database.

Especially in modules, the position of the file with routes remains the same.

Good point. I missed that. I see three options:

Move Routes file back to the Config folder
Look for module Routes file in the main module
Add a separate config item that specifies where they should exist in Modules, allowing a move to the module root, but an easy setting during an upgrade for existing projects.

Thoughts?

@kenjis You're exaggerating when you say I love arrays. I believe that arrays are the most optimal format for configuration. A class has only one advantage - it can be specified as a dependency.
Of course, in this version of the framework, changing classes to arrays is unacceptable, but I still hope that a discussion about switching to arrays is possible in the next version.
If we talk about the use of classes, then in my opinion a very strange approach is used.
[php]
// instead of
$this->a = $config->a;
$this->b = $config->b;
// better
$this->config = $config;
[/php]
Since the config is in dependencies, without it we will not be able to create an instance of the class. Then it makes no sense to duplicate class properties in the config and we can use the config directly.

That's true, I could just remove those settings all together and document how to call the methods within the Routes file. I have two issues with that, though.
First - the current Routes file isn't what I would consider a config file, honestly. It was left in that folder for purely historical reasons during the rewrite.

Precisely because they tried to make CI4 more like CI3 and used its code base, we are now in a lot of trouble.
Let's take the config out of the application directory, and the routes into a separate directory.

Second - this is the first of a two-step process to make the Router more flexible, converting it to use Handlers for the 2

If you are talking about flexibility, then it already exists. Services! Though I still think ServiceContainer and Dependency Autowiring would be the best solution.
If the developer wants to change the behavior of the router, then he can replace the service with his own implementation.
When there is a lot of flexibility where it is not needed, this is a problem.
Take for example the Model. It serves arrays, stdClass and Entity. Everything seems to be fine, but when adding features, you have to service all return types. Which increases the code base and complicates maintenance.

Especially in modules, the position of the file with routes remains the same.

Good point. I missed that. I see three options:

I think a single configuration point should be used for modules. Something similar to Registrars and Laravel ServiceProvider.
namespace Module;

class Config
{
    public function boot()
    {
        // This is where we define routes, filters, and other available settings.
        // Instead of separate files that repeat the names of the application configs.
    }
}

@iRedds
The following code is needed because the $config has items that the class does not need.
$this->a = $config->a

A Config class should be a dependency for one class. If it is used in more than one class, it is not good.
If one Config class is for one class, we can use:
$this->config = $config;

I did it in #7255 Why don't you approve it?

Look for module Routes file in the main module

What is the main module?
I feel app/Routes.php is strange. Why no directory?
What if we have multiple routes files?

@kenjis To be honest, I don't quite understand what happened. That is, in CI3 the session settings were in the main config and everything worked, but in CI4 it does not work.

@iRedds That is because CI4 uses Config classes.
In the current implementation, the Session class constructor requires Config\App object. If you want to use Session object in Config\App to set a property, It will be an infinite loop.
See this error: https://github.com/codeigniter4/CodeIgniter4/issues/7308#issue-1600233210
This issue does not occur in array config because there is no instantiation.
It may be one advantage of array config.

@kenjis Forbid using the constructor in configs.
Otherwise, any class called in Config\App::__construct() that references Config\App in its constructor will cause an infinite loop.

@iRedds I created #7388

A class has only one advantage - it can be specified as a dependency.

The original reason Narf and I discussed using classes as config files years ago was that it could be loaded instantly from anywhere. Obviously, the framework has expanded and the Factory class now handles that to ensure it's only ever loaded once for performance, so it might be valid to rethink for v5. But that's not relevant to this PR.

I think a single configuration point should be used for modules.

Interesting idea, but it feels more relevant to a plug-in system for a CMS or other app. This would warrant other discussion, but is a huge breaking change and not something we can handle within this PR.

I feel app/Routes.php is strange. Why no directory?

I was hesitant to create a new directory for a single file. If we had logic around the handling of different specific route file types, like Laravel has bulit-in logic around web.php and api.php route files, than it would make sense. As it stands, it is only a single file.

What if we have multiple routes files?

Their locations can all be specified within the config file. And the current one can be moved to join them just by changing its path in the config file.

If the developer wants to change the behavior of the router, then he can replace the service with his own implementation. When there is a lot of flexibility where it is not needed, this is a problem.

To some extent I agree with this direction. The three problems I'm struggling with are:

It's not consistent with other portions of the framework. Lack of consistency is also a problem. And I'm sure you'll now point out areas that aren't quite consistent, which I'm sure we'd all love to fix at some point, but I'd rather not create MORE inconsistencies.
Like I mentioned, a large part of the reason for doing this (though not the only one) was to split the main routing and the auto-routing into different handlers. I would hate to replace the current functionality of "setAutoRoute(true)" to become one of "copy the Service over to the App space, and modify it to add in these two handlers". That's too large of a BC break for a point release.
I would really love for the Routes file itself to just be route definitions and not have config settings in it also. I know you mentioned removing the docs would clean the file up, and it would to some extent, but I think it is mixing concerns right now that it shouldn't be.

@MGatner @michalsn what are your thoughts on these changes?

It turns out that these settings in the config will be redundant for different handlers.

Each route handler has its own settings.

On the other hand, based on the experience of CI3, even with autorouting, it is necessary to be able to define routes manually. Is it possible to separate handlers in this case?

In CI3 auto-routing is primary routing system, and there is no way to turn it off.
And it is not flexible as much as defined routes, so defined routes are necessary.
But if you define all routes, you don't need to use auto-routing at all.
CI4 can disable auto-routing.
If your URI design is very simple, you may not need to use defined routes at all.
If a site does not need defined routes, I would like to disable it.

Ok, so without re-inventing the core of the framework here, what are people leaning toward? Please think solutions that are consistent within the framework as it exists now. Or should we just close this PR? I'm fine with that if it's too controversial, though it would have been nice to get input from other core team members.

I prefer go to 5.0 for this change, except, deprecate existing functionality to keep working while suggesting new feature.

I'm a bit worried about the BC break part this PR brings when upgrading the framework, but overall I like the idea.
Routes inside the modules should be auto-discovered as before, though I'm unsure how we should specify the default location after these changes.
If we make a clear path of how to upgrade, I'm okay with including this in the v4.4 release.

I would like to get this into 4.4 without breaking changes as much as possible.

I've rebased to 4.4 branch. I also made the path within any "modules" configurable. This migration should be pretty painless - see the instructions I added to the PR description for details).

Defaulting to {module}/Routes.php will break all existing Composer packages with routes.
Wouldn't it be better to leave the default settings under Config?

app/Config/Routes.php
{module}/Config/Routes.php

It doesn't seem worth breaking all the existing packages and changing to {module}/Routes.php.

TBH, I think I would be in favor of staying with the current Routes.php file location.
In addition to what Kenjis wrote. The change is cosmetic, and it can really create a lot of confusion. We don't have a lot of tutorials for CI4, and such a change will make them all obsolete. For newcomers, this might be a hitting-a-wall experience.
I will have no problems with moving this file in v5 though.

And Routes.php is the config file for the Defined Route Handler.
It is not necessary if we use only auto routing.

TBH, I think I would be in favor of staying with the current Routes.php file location.

In addition to what Kenjis wrote. The change is cosmetic, and it can really create a lot of confusion. We don't have a lot of tutorials for CI4, and such a change will make them all obsolete. For newcomers, this might be a hitting-a-wall experience.

I will have no problems with moving this file in v5 though.

Fair enough. I've reverted those. And dealing with composer-loaded packages does create an issue. Leaving that change for v5 definitely makes sense.
Thanks everyone.

diff --git a/tests/system/CodeIgniterTest.php b/tests/system/CodeIgniterTest.php
index a7f5b9bd19..f01986553e 100644
--- a/tests/system/CodeIgniterTest.php
+++ b/tests/system/CodeIgniterTest.php
@@ -22,6 +22,7 @@ use Config\App;
 use Config\Cache;
 use Config\Filters as FiltersConfig;
 use Config\Modules;
+use Config\Routing;
 use Tests\Support\Filters\Customfilter;

 /**
@@ -165,7 +166,7 @@ final class CodeIgniterTest extends CIUnitTestCase
         $_SERVER['argc'] = 2;

         // Inject mock router.
-        $routes = new RouteCollection(Services::locator(), new Modules());
+        $routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         $routes->setAutoRoute(false);
         $routes->set404Override(static function () {
             echo '404 Override by Closure.';
diff --git a/tests/system/CommonFunctionsTest.php b/tests/system/CommonFunctionsTest.php
index cf0555fba3..92c853f4cf 100644
--- a/tests/system/CommonFunctionsTest.php
+++ b/tests/system/CommonFunctionsTest.php
@@ -32,6 +32,7 @@ use Config\App;
 use Config\Cookie;
 use Config\Logger;
 use Config\Modules;
+use Config\Routing;
 use Config\Services;
 use Kint;
 use RuntimeException;
@@ -124,7 +125,8 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $response = $this->createMock(Response::class);
         $routes   = new RouteCollection(
             Services::locator(),
-            new Modules()
+            new Modules(),
+            new Routing()
         );
         Services::injectMock('response', $response);
         Services::injectMock('routes', $routes);
@@ -389,7 +391,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
@@ -424,7 +426,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
@@ -459,7 +461,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());

If you change the method signature:
diff --git a/tests/system/CommonFunctionsTest.php b/tests/system/CommonFunctionsTest.php
index cf0555fba3..92c853f4cf 100644
--- a/tests/system/CommonFunctionsTest.php
+++ b/tests/system/CommonFunctionsTest.php
@@ -32,6 +32,7 @@ use Config\App;
 use Config\Cookie;
 use Config\Logger;
 use Config\Modules;
+use Config\Routing;
 use Config\Services;
 use Kint;
 use RuntimeException;
@@ -124,7 +125,8 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $response = $this->createMock(Response::class);
         $routes   = new RouteCollection(
             Services::locator(),
-            new Modules()
+            new Modules(),
+            new Routing()
         );
         Services::injectMock('response', $response);
         Services::injectMock('routes', $routes);
@@ -389,7 +391,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
@@ -424,7 +426,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
@@ -459,7 +461,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
diff --git a/tests/system/HTTP/RedirectResponseTest.php b/tests/system/HTTP/RedirectResponseTest.php
index 65fc0e62d0..22c3c719b7 100644
--- a/tests/system/HTTP/RedirectResponseTest.php
+++ b/tests/system/HTTP/RedirectResponseTest.php
@@ -19,6 +19,7 @@ use CodeIgniter\Test\Mock\MockIncomingRequest;
 use CodeIgniter\Validation\Validation;
 use Config\App;
 use Config\Modules;
+use Config\Routing;
 use Config\Services;

 /**
@@ -47,7 +48,7 @@ final class RedirectResponseTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest(
kenji:~/work/codeigniter/official/CodeIgniter4 (clean-router-config *$=)$ git diff
diff --git a/tests/system/CommonFunctionsTest.php b/tests/system/CommonFunctionsTest.php
index cf0555fba3..92c853f4cf 100644
--- a/tests/system/CommonFunctionsTest.php
+++ b/tests/system/CommonFunctionsTest.php
@@ -32,6 +32,7 @@ use Config\App;
 use Config\Cookie;
 use Config\Logger;
 use Config\Modules;
+use Config\Routing;
 use Config\Services;
 use Kint;
 use RuntimeException;
@@ -124,7 +125,8 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $response = $this->createMock(Response::class);
         $routes   = new RouteCollection(
             Services::locator(),
-            new Modules()
+            new Modules(),
+            new Routing()
         );
         Services::injectMock('response', $response);
         Services::injectMock('routes', $routes);
@@ -389,7 +391,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
@@ -424,7 +426,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
@@ -459,7 +461,7 @@ final class CommonFunctionsTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
diff --git a/tests/system/HTTP/RedirectResponseTest.php b/tests/system/HTTP/RedirectResponseTest.php
index 65fc0e62d0..22c3c719b7 100644
--- a/tests/system/HTTP/RedirectResponseTest.php
+++ b/tests/system/HTTP/RedirectResponseTest.php
@@ -19,6 +19,7 @@ use CodeIgniter\Test\Mock\MockIncomingRequest;
 use CodeIgniter\Validation\Validation;
 use Config\App;
 use Config\Modules;
+use Config\Routing;
 use Config\Services;

 /**
@@ -47,7 +48,7 @@ final class RedirectResponseTest extends CIUnitTestCase
         $this->config          = new App();
         $this->config->baseURL = 'http://example.com/';

-        $this->routes = new RouteCollection(Services::locator(), new Modules());
+        $this->routes = new RouteCollection(Services::locator(), new Modules(), new Routing());
         Services::injectMock('routes', $this->routes);

         $this->request = new MockIncomingRequest(

This test code seemed wrong from the beginning. Because it passes only when the default namespace is \.
--- a/tests/system/RESTful/ResourceControllerTest.php
+++ b/tests/system/RESTful/ResourceControllerTest.php
@@ -66,7 +66,7 @@ final class ResourceControllerTest extends CIUnitTestCase

         // Inject mock router.
         $this->routes = Services::routes();
-        $this->routes->resource('work', ['controller' => Worker::class]);
+        $this->routes->resource('work', ['controller' => '\\' . Worker::class]);
         Services::injectMock('routes', $this->routes);

         $config            = new App();

Starting to think this one might not be worth the effort for what is gained. Going to close it, but if people really want it we can always re-open.

Rebased and updated failed tests, and added documentation a bit.

I think this is ready to merge. @codeigniter4/core-team


Material Hive Dupes Slimefun Items Incorrectly

The Material Hive seems to be having an issue when creating some Slimefun items. While I was looking into the machine I noticed that when it tries to create some Slimefun items, it creates a vanilla Minecraft item instead. I tried to use the machine to make Reinforced Alloy Ingots, but instead it created a vanilla Minecraft Iron Ingot.  I tested all of the slimefun resources, and the ones I experienced the bug with are below
-Reinforced Alloy Ingot
-Billion Ingot
-Hardened Metal
-Damascus Steel Ingot
-Aluminum Brass Ingot
-Aluminum Bronze Ingot
-Corinthain Bronze Ingot
-Solder Ingot
-Ferrosilicon

24 - 4 Carat Gold

Power up the Material Hive, put in any Slimefun item (For ex. Reinforced Alloy Ingot) wait for the machine to finish making the new item, and a vanilla Minecraft Item will be made. (In the video an Iron Ingot was created)
https://youtu.be/EfI3BbOWr64
I expected when you put in a Slimefun item, the hive should create that Slimefun item instead of a Vanilla Minecraft item
https://screenshots.skizzles.me/wAnA3/gaLokuBu84.png

i just tested with the latest version and this is not the case. Closing


Genentech torsions

Yet another dataset which we need for evaluation of ANI-2x

@stefdoerr Do you want to get this merged before next release?

Yeah, this one is ok


Update the Exhibition Guides index page

Following #10821
Update the Exhibition Guides index page to more clearly signpost the different resources as well as the navigation between resources.

FYI we have an upcoming instance of an exhibition (Kola Nuts, a temporary "display" in gallery 3) which will have a "captions" page but no audio/bsl highlight tour content. If it doesn't already, the index page will need to be able to just display the captions card. Hoping the work you're doing @gestchild to separate these out will make this straightforward.

Dependent on https://github.com/wellcomecollection/wellcomecollection.org/issues/10914

Designs finalised now, so:

[ ] Add subtitles and text
[ ] Update card style
[ ] Update title to '[Exhibition title] digital guides'

Design link to be added.

Access on Figma , Key Screens-Mobile space

Changes on prod behind toggle fyi @kasiabbb


steam: use nss matching firefox so that firefox works inside FHSEnv

Description of changes
maybe https://github.com/NixOS/nixpkgs/issues/237581
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/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

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

1 package marked as broken and skipped:

itch

15 packages built:

atlauncher
kodiPackages.steam-launcher
lutris
minigalaxy
minigalaxy.dist
playonlinux
protontricks
protontricks.dist
steam (steamPackages.steam-fhsenv)
steam-run
steam-small (steamPackages.steam-fhsenv-small)
steam-tui
steamPackages.steam-fhsenv-without-steam
steamcmd (steamPackages.steamcmd)
xivlauncher

Not sure how much my review is worth since I've never touched this part of nixpkgs, but I tried this locally by cherry-picking this commit on top of nixos-unstable (e603dc5) and steam-run xdg-open https://example.com seems to work (and it didn't before cherry-picking this).

@CobaltCause github suggested you for review :-)
but thank you for your review anyway, you confirming that it fixes the issue is very valuable !
I'll ping steam maintainers

closing as no activity on original issue


Fix mypy issues in calculators and schema modules

Summary of Changes
Fixed mypy issues in the calculators and schema modules.
FYI: @Andrew-S-Rosen, we reduced the number of mypy errors from 320 to 160. There are still over 130 errors in types.py, which I will try to fix in another PR.
The remaining issues are linked to design problems such as:

The Atoms used in Quacc for the moment overload the ASE Atoms class with attributes and functions like charges, as_dict(), and from_dict(), which mypy does not accept. Should we ignore these, or create a QuaccAtom class with the necessary attributes and functions? what do you think ?

Requirements

[X] My PR is focused on a single feature addition or bugfix.
[ ] My PR has relevant, comprehensive unit tests.
[X] My PR is on a custom branch (i.e. is not named main).

Notes

Before contributing for the first time, read the "Guidelines" section.
If you are an external contributor, you will see a comment from @buildbot-princeton. This is solely for the maintainers.
When your code is ready for review, ping one of the active maintainers.

Can one of the admins verify this patch?

The Atoms used in Quacc for the moment overload the ASE Atoms class with attributes and functions like charges, as_dict(), and from_dict(), which mypy does not accept. Should we ignore these, or create a QuaccAtom class with the necessary attributes and functions? what do you think ?

Interesting. I think this is a fair point. We do that patching here and perhaps a few other places. This is a technical necessity for some workflow tools and is very niche. For now, I would be okay with ignoring them to be honest. This whole business is coming from the fact that sometimes an Atoms object is being used and sometimes it is "secretly" an MSONAtoms object. Probably not worth digging into here, but... ignoring it seems wise for now.

@buildbot-princeton test this please

Interesting. I think this is a fair point. We do that patching here and perhaps a few other places. This is a technical necessity for some workflow tools and is very niche. For now, I would be okay with ignoring them to be honest. This whole business is coming from the fact that sometimes an Atoms object is being used and sometimes it is "secretly" an MSONAtoms object. Probably not worth digging into here, but... ignoring it seems wise for now.

Sounds good. I've already ignored this type of error.

@buildbot-princeton test this please

Thank you, @AitElBadaoui!! This should be good to go. I will merge later this evening :)


[Accessibility]: Consider replacing audioCues.lineHasInlineSuggestion with less distruptive lower-itch sound

CC @isidorn @meganrogge @AFre100 @hediet
I have turned on audioCues.lineHasInlineSuggestion for copilot all day long, and have found the audio cue too distruptive and felt very tired to hear the high pitch alert sound when played frequently. Just imagine that you hear the current high-pitch inline suggestion audio cues 100 times while coding.
I still  feel like the audio signal instrumental, but could you please consider implementing less distruptive (e.g., clicking) sound? The new diff inserted audio cue is a good example.

@AFre100 can you send me a better sound? Should be simple to switch them

@jooyoungseo Just to clarify, the title calls out a "less distruptive lower-itch sound" while the description calls out "high pitch alert sound." Can you talk a bit about that?
The current sound is a fairly full-spectrum (so BOTH low and high) sound for ui sounds at least. It's also pretty dense/complex and causes some small speakers to distort at certain volumes. Is that the disruption do you think -- that's it's so full spectrum-y/loud and proud? (Alternatively a more clicky sound will most certainly has lots of high freqs -- it will feel more light though, than a dense sound, esp if it's a slightly lower volume.
I have plenty of ideas surrounding a new sound , and there will be an improvement either way, but just want to confirm that I'm not missing something important regarding your initial issues with it.
Thanks!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


issue when importing a solution on step convert-to-managed

I am using this GA https://github.com/microsoft/powerplatform-actions-lab/blob/main/sample-workflows/release-solution-to-prod.yml
and the import fails with this error message
Starting Solution Import: 1/7, 14%.

Import of solution file completed: 2/7, 28%.
Waiting on completion of import job 'dc273664-d71b-4dda-8434-8a8f272f1dbf': 3/7, 42%.

Processing of import job ended at 11/20/2020 7:25 AM after 100% completion: 4/7, 57%.
Import job reported a status of 'SUCCESS': 5/7, 71%.

Unmanaged solution import has completed, starting to publish customizations: 6/7, 85%.

Sorry, the app encountered a not recoverable error and will need to terminate. The exception details have been captured and will be forwarded to the development team, if telemetry has been enabled. Exception Id:2006bae8-a20c-45d7-b21c-806f98f5ee8c

When I log in to the power apps website I can see the solution was imported and I can publish it manually.

@neidiom - the disappointing part is that the underlying pac CLI had an internal error without displaying the actual error it encountered :-(
I'm filing a bug in our pac CLI bug DB in corpnet to at least have it relay the actual error; I'm closing the issue for now since I couldn't even retrieve the exceptionId from our telemetry either. Sorry for the inconvenience


BPoint gateway - add all response data to params, rename transaction_number => authorization

@tjstankus I'm wondering whether an approach like:
https://github.com/Shopify/active_merchant/blob/master/lib/active_merchant/billing/gateways/cenpos.rb#L229
or
https://github.com/Shopify/active_merchant/blob/master/lib/active_merchant/billing/gateways/litle.rb#L252
or
https://github.com/Shopify/active_merchant/blob/master/lib/active_merchant/billing/gateways/bridge_pay.rb#L121
might be simpler than explicitly listing the elements.

The one caveat with handling the response nodes like that is there's one duplicate node name. A simplified example:
<ProcessPaymentResult>
  <ResponseCode>string</ResponseCode>
</ProcessPaymentResult>
<response>
  <ResponseCode>string</ResponseCode>
</response>

So, both <response> and <ProcessPaymentResult> have <ResponseCode> nodes. This could be handled by using hash keys built from two node names, e.g. response_response_code, but that looks kinda gross. Are there any objections to using a nested hash, e.g.:
{ process_payment_result: { response_code: 'abc' }, response: { response_code: '123' } }

On an unrelated note, interesting that the Travis build would fail on a Stripe-related error for this PR.

@duff Ping ^^ - sorry forgot to @ you in previous comments

@tjstankus general rule of thumb for the Response#params hash is that it's allowed and expected to be ugly. API consumers that want beauty should use the specific accessors, and should not depend on the contents of params, and so params is a quick and dirty, as automatic as possible mapping of the response into a hash. It's sort of "feels right if you're doing it right" thing - the recommended usage path is nice, the not recommended path is a bit grungy.
For this specific case, we generally solve it by using prefixes as you outlined.

:+1: for ugly prefixes!

@duff refactored response parsing logic now in place

Removed transaction_id from options per conversation with @duff