⚠ gorzdrav.org has degraded performance

In 8d40908, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 2113 ms

Resolved: gorzdrav.org performance has improved in 6c95be4.


with statement in call causes UnboundLocalError

I get UnboundLocalError: local variable 'l_x' referenced before assignment whenever I shadow a global via a with block inside a call:
{% set x = 1 %}
{% call foo() %}
    {% with x = 2 %}
    {% endwith %}
{% endcall %}

If I remove the first line, the problem goes away.
I'm using Jinja 2.6 and Python 2.6.7.

most likely a duplicate of #278

Fixed by #637


Unsafe call to yaml.load

https://github.com/nltk/nltk/blob/2a5aece8624504ebdaf363b2005e01f81dedade7/nltk/data.py#L886
This should be replace with e.g. yaml.safe_load
See https://nvd.nist.gov/vuln/detail/CVE-2017-18342

@alvations should this be closed?

Yep, fixed =)


The automated release is failing 🚨

:rotating_light: The automated release from the master branch failed. :rotating_light:
I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
 You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:

Usage documentation
Frequently Asked Questions
Support channels

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.

The push permission to the Git repository is required.
semantic-release cannot push the version tag to the branch master on remote Git repository with URL git+https://github.com/kentcdodds/react-testing-library.git.
Please refer to the authentication configuration documentation to configure the Git credentials on your CI environment and make sure the repositoryUrl is configured with a valid Git URL.

Good luck with your project ✨
Your semantic-release bot :package::rocket:

Hmmm... I'm not so sure about this. We'll close it until we see it's a problem.


FFXI App Crash - Invalid allocation

Describe the bug

App crashes to desktop some time after launch. Log says error is allocation error. Game loaded with d3d8to9.
Remix 0.1.1
Nvidia RTX 4090
531.41
Current Version of FFXI

Attach logs!
NvRemixBridge.log
d3d9.log
To Reproduce
Steps to reproduce the behavior:
Load into game as normal using d3d8to9.
Wait until game crash.
Expected behavior
Game seems to run well, except for crash after some time.

Newest RTX-remix build fixes other player issue and crashing.

Closing as fixed.


Add @znewman01 to reusable-release

I am a Cosign owner and occasionally need to cut a Cosign release.
Signed-off-by: Zachary Newman<EMAIL_ADDRESS>
Summary

Release Note

Documentation

working to remove this and use github actions only and not more cloudbuild, will try to get this in the xmas time ready

Addressed comments so ready for re-approval.
+1 to the comments about sustainability here, thanks @cpanato you're doing incredible work as usual 🎉


[BUG] benchmarks\benchmark_to_pytorch_from_cloud.py raise ShapeArgumentNotFoundException()

🐛🐛 Bug Report
⚗ Current Behavior
Running the script then
Traceback (most recent call last):
  File "benchmarks\benchmark_to_pytorch_from_cloud.py", line 24, in <module>
    benchmark()
  File "benchmarks\benchmark_to_pytorch_from_cloud.py", line 16, in benchmark
    ds = Dataset("s3://snark-test/superficial_dataset")
  File "~Hub\hub_gusti\lib\site-packages\hub\api\dataset.py", line 168, in __init__
    raise ShapeArgumentNotFoundException()
hub.exceptions.ShapeArgumentNotFoundException: Parameter 'shape' should be provided for Dataset creation.

I think this might be happening because you don't have the credentials to access "s3://snark-test/superficial_dataset".
Hub assumes that you're trying to create a new dataset as it can't access the existing one which causes the error (as shape must be provided on dataset creation).
I think we can work on improving this error message. Thanks for raising this! 🙂

I think this might be happening because you don't have the credentials to access "s3://snark-test/superficial_dataset".
Hub assumes that you're trying to create a new dataset as it can't access the existing one which causes the error (as shape must be provided on dataset creation).
I think we can work on improving this error message. Thanks for raising this! 🙂

@sanggusti Thanks for mentioning this. We've removed that benchmark.

@sanggusti Thanks for mentioning this. We've removed that benchmark.


Run Again - Button loading state spins even though run is complete

Overview
The loading state on the run again button spins indefinitely when the protocol is complete (see below):

Acceptance criteria

[ ] The loading state should not appear when the protocol run is complete

Comment in Slack from Brent: "it's related to the run action loading logic in that component. probably just need to add a condition to bail on the loading state if the run is completed/stopped/canceled"


ActiveRecord::StatementInvalid: SQLite3::BusyException: database is locked

I was trying to create a sample application with the solid_queue gem, and it seems like the single  case failing when we use the perform_later.
Here is the attached repo for the same, https://github.com/anoobbava/solid_queue_sample
I have received the error as below,
/home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:108:in step': database is locked (SQLite3::BusyException)
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:108:in block in each' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:107:in loop'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:107:in each' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:42:in to_a'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:42:in block (2 levels) in internal_exec_query' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:1028:in block in with_raw_connection'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/concurrency/null_lock.rb:9:in synchronize' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:1000:in with_raw_connection'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:33:in block in internal_exec_query' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/notifications/instrumenter.rb:58:in instrument'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:1143:in log' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:32:in internal_exec_query'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:61:in exec_delete' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:208:in delete'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/query_cache.rb:25:in delete' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:624:in _delete_record'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:1198:in _delete_row' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:1194:in destroy_row'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/counter_cache.rb:197:in destroy_row' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/locking/optimistic.rb:125:in destroy_row'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:783:in destroy' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/callbacks.rb:423:in block in destroy'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:110:in run_callbacks' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:952:in _run_destroy_callbacks'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/callbacks.rb:423:in destroy' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:305:in block in destroy'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:365:in block in with_transaction_returning_status' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/transaction.rb:535:in block in within_new_transaction'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/concurrency/null_lock.rb:9:in synchronize' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/transaction.rb:532:in within_new_transaction'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in transaction' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:361:in with_transaction_returning_status'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:305:in destroy' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:797:in destroy!'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/app/models/solid_queue/process.rb:23:in deregister' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/registrable.rb:33:in deregister'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:403:in block in make_lambda' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:274:in block in simple'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:602:in block in invoke_after' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:602:in each'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:602:in invoke_after' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:111:in run_callbacks'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/runnable.rb:52:in do_start_loop' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/runnable.rb:39:in start_loop'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/runnable.rb:13:in start' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:123:in block in start_fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/fork_tracker.rb:20:in block in fork' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/debug-1.9.1/lib/debug/session.rb:2460:in block in fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/debug-1.9.1/lib/debug/session.rb:2462:in fork' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/debug-1.9.1/lib/debug/session.rb:2462:in fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/fork_tracker.rb:18:in fork' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:122:in start_fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:72:in block in start_forks' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:72:in each'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:72:in start_forks' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:45:in supervise'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:26:in start' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:14:in start'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/tasks.rb:4:in block (2 levels) in <main>' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:281:in block in execute'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:281:in each' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:281:in execute'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:219:in block in invoke_with_call_chain' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:199:in synchronize'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:199:in invoke_with_call_chain' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:188:in invoke'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:182:in invoke_task' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:138:in block (2 levels) in top_level'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:138:in each' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:138:in block in top_level'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:147:in run_with_threads' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:132:in top_level'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:83:in block in run' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:208:in standard_exception_handling'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:80:in run' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/exe/rake:27:in <top (required)>'
from /home/AnoobBava/.rbenv/versions/3.0.6/bin/rake:25:in load' 	from /home/AnoobBava/.rbenv/versions/3.0.6/bin/rake:25:in <top (required)>'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli/exec.rb:58:in load' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli/exec.rb:58:in kernel_load'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli/exec.rb:23:in run' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli.rb:479:in exec'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in run' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in dispatch' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli.rb:31:in dispatch'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in start' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli.rb:25:in start'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/libexec/bundle:49:in block in <top (required)>' 	from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/friendly_errors.rb:103:in with_friendly_errors'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/libexec/bundle:37:in <top (required)>' 	from /home/AnoobBava/.rbenv/versions/3.0.6/bin/bundle:23:in load'
from /home/AnoobBava/.rbenv/versions/3.0.6/bin/bundle:23:in <main>'

Formatted version of the stacktrace given above:
/home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:108:in step': database is locked (SQLite3::BusyException)
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:108:in block in each' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:107:in loop'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.0-x86_64-linux/lib/sqlite3/statement.rb:107:in each' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:42:in to_a'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:42:in block (2 levels) in internal_exec_query' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:1028:in block in with_raw_connection'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/concurrency/null_lock.rb:9:in synchronize' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:1000:in with_raw_connection'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:33:in block in internal_exec_query' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/notifications/instrumenter.rb:58:in instrument'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:1143:in log' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:32:in internal_exec_query'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/sqlite3/database_statements.rb:61:in exec_delete' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:208:in delete'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/query_cache.rb:25:in delete' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:624:in _delete_record'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:1198:in _delete_row' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:1194:in destroy_row'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/counter_cache.rb:197:in destroy_row' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/locking/optimistic.rb:125:in destroy_row'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:783:in destroy' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/callbacks.rb:423:in block in destroy'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:110:in run_callbacks' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:952:in _run_destroy_callbacks'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/callbacks.rb:423:in destroy' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:305:in block in destroy'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:365:in block in with_transaction_returning_status' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/transaction.rb:535:in block in within_new_transaction'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/concurrency/null_lock.rb:9:in synchronize' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/transaction.rb:532:in within_new_transaction'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in transaction' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:361:in with_transaction_returning_status'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/transactions.rb:305:in destroy' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activerecord-7.1.3/lib/active_record/persistence.rb:797:in destroy!'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/app/models/solid_queue/process.rb:23:in deregister' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/registrable.rb:33:in deregister'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:403:in block in make_lambda' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:274:in block in simple'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:602:in block in invoke_after' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:602:in each'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:602:in invoke_after' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/callbacks.rb:111:in run_callbacks'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/runnable.rb:52:in do_start_loop' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/runnable.rb:39:in start_loop'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/processes/runnable.rb:13:in start' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:123:in block in start_fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/fork_tracker.rb:20:in block in fork' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/debug-1.9.1/lib/debug/session.rb:2460:in block in fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/debug-1.9.1/lib/debug/session.rb:2462:in fork' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/debug-1.9.1/lib/debug/session.rb:2462:in fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/activesupport-7.1.3/lib/active_support/fork_tracker.rb:18:in fork' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:122:in start_fork'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:72:in block in start_forks' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:72:in each'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:72:in start_forks' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:45:in supervise'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:26:in start' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/supervisor.rb:14:in start'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/solid_queue-0.2.0/lib/solid_queue/tasks.rb:4:in block (2 levels) in <main>' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:281:in block in execute'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:281:in each' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:281:in execute'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:219:in block in invoke_with_call_chain' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:199:in synchronize'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:199:in invoke_with_call_chain' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/task.rb:188:in invoke'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:182:in invoke_task' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:138:in block (2 levels) in top_level'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:138:in each' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:138:in block in top_level'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:147:in run_with_threads' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:132:in top_level'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:83:in block in run' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:208:in standard_exception_handling'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/lib/rake/application.rb:80:in run' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/rake-13.1.0/exe/rake:27:in <top (required)>'
from /home/AnoobBava/.rbenv/versions/3.0.6/bin/rake:25:in load' from /home/AnoobBava/.rbenv/versions/3.0.6/bin/rake:25:in <top (required)>'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli/exec.rb:58:in load' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli/exec.rb:58:in kernel_load'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli/exec.rb:23:in run' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli.rb:479:in exec'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in run' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in dispatch' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli.rb:31:in dispatch'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in start' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/cli.rb:25:in start'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/libexec/bundle:49:in block in <top (required)>' from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/3.0.0/bundler/friendly_errors.rb:103:in with_friendly_errors'
from /home/AnoobBava/.rbenv/versions/3.0.6/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/libexec/bundle:37:in <top (required)>' from /home/AnoobBava/.rbenv/versions/3.0.6/bin/bundle:23:in load'
from /home/AnoobBava/.rbenv/versions/3.0.6/bin/bundle:23:in <main>'

Hey @sreeram-venkitesh, thanks for reporting this and sorry for the trouble! I haven't had time to look into it yet but will try to address soon 🤞

Hi @rosa I'm having the same problem. database is locked
I'm building a new application and I'm using broadcasts_refreshes in order to morph de dom with Turbo 8.
I'm using the same sqlite DB for ActiveRecord and for solid_queue, and I'm using redis for ActionCable.
If you can guide me I can try to debug more about the issue.
The flow is like this:

Model is created in the DB
A broadcast refresh is enqueued (becasuse of the broadcasts_refreshes )
Model enqueues a job on the after_commit ..., on: :create with perform_later
Job executes and updates on the model
A broadcast refresh is enqueued (becase of the broadcasts_refreshes)

The broadcast doesn't happen because the database is locked

@sreeram-venkitesh, I'm trying to reproduce this with your sample app, but I can't. Here's what I'm doing. In one tab, I'm running solid_queue:start. In another tab, I have a Rails console open where I enqueue jobs via SolidQueueSampleJob.perform_later.
These are performed correctly for me, no errors:
bundle exec rake solid_queue:start
[SolidQueue] Starting Dispatcher(pid=57990, hostname=rosas-air.lan, metadata={:polling_interval=>1, :batch_size=>500})
[SolidQueue] Starting Worker(pid=57991, hostname=rosas-air.lan, metadata={:polling_interval=>0.1, :queues=>"*", :thread_pool_size=>5})
[SolidQueue] Claimed 1 jobs
[SolidQueue] Claimed 1 jobs
[SolidQueue] Claimed 1 jobs
[SolidQueue] Claimed 1 jobs
[SolidQueue] Claimed 1 jobs
[SolidQueue] Claimed 1 jobs

Could you give me more details of what you're doing besides running solid_queue:start when you get the error?

@jvillarejo,

The broadcast doesn't happen because the database is locked

Do you get this error in the app process or in the Solid Queue process?

Do you get this error in the app process or in the Solid Queue process?

Hey @rosa ! Thanks for your reply.
I got it in both the app process and in the solid queue process when it fetched data.

Hmm... yeah. I think SQLite is a bit tricky when it comes to write to the same DB from multiple processes. What's your configured timeout in database.yml?

Same error for me, my configured timeout is: timeout: 5000

Thanks @kidandcat! Could you try increasing that to 10000 or even 20000?

I had an error in my job, so it had to timeout, but I've noticed that when the jobs where stuck, the main website was also stuck, probably waiting for the sqlite write lock to be free.
After fixing my job issue, it works as expected.
PD: I'm not sure how complex would be this but, just for the SQLite case, it could be worth to have a separated database for Solid Queue, so the write lock do not affect the main Rails app and vice versa.

Hi, this isn’t a solid_queue question exactly, but I’m wondering if anyone has any recommendations as I’m new to using SQLite in production. I’ve created a separate database for solid_queue jobs but I forgot to realize that some jobs still interact with the main application database, leading to these situations where there’s a multi-process contention. Is there a recommended way to having synchronized access to SQLite with multiple processes, or kind of funneling access through one process? I know concurrency isn’t SQLite’s strong suit 😅
Thanks in advance!

I know this issue is closed.
But this post about SQLite concurrency helped me a lot.
Maybe this can help you @mhamza15
https://fractaledmind.github.io/2024/04/15/sqlite-on-rails-the-how-and-why-of-optimal-performance/

This was exactly what I needed, thanks a bunch!


Implement Token Generation, JWKS Endpoint, and Token Validation

Enhance the authentication system by implementing token generation with embedded groups, a JWKS endpoint for key retrieval, and token validation. This includes updating the token generation logic to include user groups, creating a JWKS endpoint to expose the public keys, and developing a method to validate incoming tokens using the public keys.

https://github.com/NASA-IMPACT/veda-auth-central/commit/b537e64fe90690fd2ba1767155d2aa3f2a0889c5
https://github.com/NASA-IMPACT/veda-auth-central/commit/606c30a71c323a86a75a033440c751bb39aa5a0d
https://github.com/NASA-IMPACT/veda-auth-central/commit/ee697f92480da7b9a7c19b1eb7d0e0f5cc46bb84


Refactor update index method

Closes #83 .
Now updateIndex returns an instance of Index, and testUpdateIndexPrimaryKey() makes sure that this happens.
I was also thinking in including testUpdateIndexPrimaryKeyIfIndexDoesNotExists() this test. But I think it's worth having a discussion about it first.
@eskombro and I agree that it should throw a MeiliSearchApiException, but what should updatePrimaryKey should return when the exception is thrown? Maybe It's worth returning an Optional for this method?

About the additional test, maybe this can be discussed in a different issue/PR? As this seems to fulfill the main topic of this issue, and it's better to have atomic commits than mixing up things :)

Agreed, but seems like a good idea! A new issue/PR is appropriate!
Thanks again @luis-valdez
bors merge


[BD-46] DRAFT: Add fixed increment scroll behavior to useOverflowScroll

Description
Added fixed increment scroll behavior to useOverflowScroll

https://github.com/openedx/paragon/issues/1950

Merge Checklist

[ ] If your update includes visual changes, have they been reviewed by a designer? Send them a link to the Netlify deploy preview, if applicable.
[ ] Does your change adhere to the documented style conventions?
[ ] Do any prop types have missing descriptions in the Props API tables in the documentation site (check deploy preview)?
[ ] Were your changes tested using all available themes (see theme switcher in the header of the deploy preview, under the "Settings" icon)?
[ ] Were your changes tested in the example app?
[ ] Is there adequate test coverage for your changes?
[ ] Consider whether this change needs to reviewed/QA'ed for accessibility (a11y). If so, please add wittjeff and adamstankiewicz as reviewers on this PR.

Post-merge Checklist

[ ] Verify your changes were released to NPM at the expected version.
[ ] If you'd like, share your contribution in #show-and-tell.
[ ] 🎉 🙌 Celebrate! Thanks for your contribution.

Thanks for the pull request, @UvgenGen!
When this pull request is ready, tag your edX technical lead.


Document debugging setup (mostly for Neovim, but also some general background info)

Short description

Document debugging setup
Proposed changes

add some docs
add debugpy to the dev dependencies

Side effects

none

Resolved issues

Fixes: #2573 (partly)

Pull Request Review Guidelines

I have not tried following the instructions because I'm somehow still stuck in print() land and have no pain doing so for the 95% of all debugging I do, but I can confirm the docs render correctly

I'm in the exact same situation :laughing:


Remove gocd chart from incubator (#4124)

What this PR does / why we need it: The GoCD chart has been moved to stable 6 months ago and it is being actively maintained. This (deprecated) incubator chart is old and dangerous if used by someone. This document about charts recommends removing this.
Which issue this PR fixes: fixes #4124

/assign @paulczar

/lgtm

/lgtm

/check-cla


Can't login

when i try to login... that just write [Error] Username or password incorrect. User ......
from debug info:
[14-02-2015 14:08] POEApi.Infrastructure.LogonFailedException: Username or password incorrect. User<EMAIL_ADDRESS>at POEApi.Transport.HttpTransport.Authenticate(String email, SecureString password, Boolean useSessionID)
at POEApi.Model.POEModel.Authenticate(String email, SecureString password, Boolean offline, Boolean useSessionID)
at Procurement.ViewModel.LoginWindowViewModel.<>c__DisplayClass2.b__1()
at System.Threading.Tasks.Task.Execute()
i am insane from this i instal unistal it more then 10 times... poe reinstaled too but still nothing...

Do you use the exact same username and password to login to the game and forum? Have you tried using sessionID?

Closing due to inactivity, please open a new ticket if this is still an issue!


Compare-Object performance: ps6&7 slow than ps51 ,slow more 200% !

Steps to reproduce
$a = Get-Date
$array1 = 1..30000
$array2 = 10001..40000
$return = Compare-Object -ReferenceObject  $array1 -DifferenceObject  $array2
$b = Get-Date
New-TimeSpan -Start $a -End $b

win10-17763 +ps5.1
1=39 Seconds
2=41 Seconds
3= 41 Seconds
at sim pc,   vm cpu core =2,mem=6gb,kernel = newest=3.10.0-957.21.3.el7
centos76 + pwsh 6.2.1
1=2Minutes 1Seconds
2=2Minutes 10Seconds
3=2Minutes 2Seconds
centos76 + pwsh 7-preview1
1=1Minutes 59Seconds
2=2Minutes 3Seconds
3=2Minutes 10Seconds
centos76 + pwsh 6.1.4
1=2Minutes 4Seconds
2=1Minutes 59Seconds
3=2Minutes 9Seconds
40 second vs 120 second ????   40 x 3 =120

Can you also do the comparison with the latest version of pwsh on Windows as well? I'm curious if this is a PS version change or just a widespread slowdown when PS runs on the different OS.

ok

win10-18362 vm  at sim  pc
ps5.1:
39
45
43
ps 6.2.1:
34
40
35
Is it a problem with the intel cpu kernel patch?

centos76 + pwsh 7-preview2
1=2Minutes 1Seconds
2=2Minutes 3Seconds
3=2Minutes 6Seconds

I see the performance regression on Windows too.

Checked on another Windows computer - no regression.

centos77 + pwsh 7-preview5,this is .NET Core 3.1 preview 1 version. same cpu.
1=2 Minutes 12 Seconds
2=2 Minutes 4 Seconds
3=2 Minutes 3 Seconds


Asset Catalog integration: Add "Assets" button to sidekick

Adding an Assets button linking to the Asset Catalog space https://wknd.findmy.media, which will soon be available to all Adobe employees.
Test URLs:

Before: https://main--wknd--hlxsites.hlx.page/
After: https://cl--wknd--hlxsites.hlx.page/

(The build failure are linting failures that existed before this PR)


Regression in 3.14.16=*_7 builds on osx-arm64 and osx-64

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
It seems that somehow https://github.com/conda-forge/ipopt-feedstock/pull/112 reintroduced the issue fixed by https://github.com/conda-forge/ipopt-feedstock/pull/111, i.e. import idyntree or cyipopt (both Python libraries that depend on ipopt) fail with:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/runner/micromamba/envs/test-import-conda-forge-packages/lib/python3.12/site-packages/idyntree/__init__.py", line 1, in <module>
    from . import swig
  File "/Users/runner/micromamba/envs/test-import-conda-forge-packages/lib/python3.12/site-packages/idyntree/swig.py", line 10, in <module>
    from . import _iDynTree
ImportError: dlopen(/Users/runner/micromamba/envs/test-import-conda-forge-packages/lib/python3.12/site-packages/idyntree/_iDynTree.so, 0x0002): symbol not found in flat namespace (_SCOTCH_errorPrint)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/runner/micromamba/envs/test-import-conda-forge-packages/lib/python3.12/site-packages/cyipopt/__init__.py", line 12, in <module>
    from ipopt_wrapper import *
ImportError: dlopen(/Users/runner/micromamba/envs/test-import-conda-forge-packages/lib/python3.12/site-packages/ipopt_wrapper.cpython-312-darwin.so, 0x0002): symbol not found in flat namespace (_SCOTCH_errorPrint)

Installed packages
package                    |            build
    ---------------------------|-----------------
    ampl-mp-3.1.0              |    hbec66e7_1006         968 KB  conda-forge
    assimp-5.4.3               |       ha9c0b8d_0         2.4 MB  conda-forge
    bzip2-1.0.8                |       h99b78c6_7         120 KB  conda-forge
    ca-certificates-2024.8.30  |       hf0a4a13_0         155 KB  conda-forge
    eigen-3.4.0                |       h1995070_0         1.0 MB  conda-forge
    glfw-3.4                   |       h93a5062_0         111 KB  conda-forge
    icu-75.1                   |       hfee45f7_0        11.3 MB  conda-forge
    idyntree-13.0.0            |  py312he5a2afb_1         2.0 MB  conda-forge
    ipopt-3.14.16              |       h920a7db_7         740 KB  conda-forge
    irrlicht-1.8.5             |       hdfd4c6d_5         1.1 MB  conda-forge
    libblas-3.9.0              |24_osxarm64_openblas          15 KB  conda-forge
    libboost-1.86.0            |       h29978a0_2         1.9 MB  conda-forge
    libcblas-3.9.0             |24_osxarm64_openblas          15 KB  conda-forge
    libcxx-19.1.0              |       ha82da77_0         509 KB  conda-forge
    libedit-3.1.20191231       |       hc8eb9b7_2          94 KB  conda-forge
    libexpat-2.6.3             |       hf9b8971_0          62 KB  conda-forge
    libffi-3.4.2               |       h3422bc3_5          38 KB  conda-forge
    libgfortran-5.0.0          |13_2_0_hd922786_3         108 KB  conda-forge
    libgfortran5-13.2.0        |       hf226fd6_3         974 KB  conda-forge
    libiconv-1.17              |       h0d3ecfb_2         661 KB  conda-forge
    libjpeg-turbo-3.0.0        |       hb547adb_1         535 KB  conda-forge
    liblapack-3.9.0            |24_osxarm64_openblas          15 KB  conda-forge
    libopenblas-0.3.27         |openmp_h517c56d_1         2.8 MB  conda-forge
    libosqp-0.6.3              |       h13dd4ca_0          63 KB  conda-forge
    libpng-1.6.44              |       hc14010f_0         257 KB  conda-forge
    libqdldl-0.1.5             |       hb7217d7_1          15 KB  conda-forge
    libscotch-7.0.5            |       h9f781f6_0         263 KB  conda-forge
    libsqlite-3.46.1           |       hc14010f_0         810 KB  conda-forge
    libxcb-1.17.0              |       hdb1d25a_0         316 KB  conda-forge
    libxml2-2.12.7             |       h01dff8b_4         575 KB  conda-forge
    libzlib-1.3.1              |       hfb2fe0b_1          46 KB  conda-forge
    llvm-openmp-18.1.8         |       hde57baf_1         270 KB  conda-forge
    metis-5.1.0                |    h13dd4ca_1007         3.7 MB  conda-forge
    mumps-include-5.7.3        |       hce30654_5          23 KB  conda-forge
    mumps-seq-5.7.3            |       he17653c_5         2.1 MB  conda-forge
    ncurses-6.5                |       h7bae524_1         784 KB  conda-forge
    numpy-2.1.1                |  py312h801f5e3_0         6.1 MB  conda-forge
    openssl-3.3.2              |       h8359307_0         2.7 MB  conda-forge
    osqp-eigen-0.8.1           |       h136a8c3_1          33 KB  conda-forge
    pthread-stubs-0.4          |    hd74edd7_1002           8 KB  conda-forge
    python-3.12.6              |h739c21a_1_cpython        12.3 MB  conda-forge
    python_abi-3.12            |          5_cp312           6 KB  conda-forge
    readline-8.2               |       h92ec313_1         244 KB  conda-forge
    sdl-1.2.68                 |       hfc12253_0         152 KB  conda-forge
    sdl2-2.30.7                |       hf9b8971_0         1.2 MB  conda-forge
    tk-8.6.13                  |       h5083fa2_1         3.0 MB  conda-forge
    unixodbc-2.3.12            |       h0e2417a_0         248 KB  conda-forge
    xorg-libx11-1.8.10         |       h2321a68_0         736 KB  conda-forge
    xorg-libxau-1.0.11         |       hd74edd7_1          13 KB  conda-forge
    xorg-libxdmcp-1.1.3        |       hd74edd7_1          18 KB  conda-forge
    xorg-libxext-1.3.4         |       h1a8c8d9_2          41 KB  conda-forge
    xorg-xextproto-7.3.0       |    hd74edd7_1004          30 KB  conda-forge
    xorg-xorgproto-2024.1      |       hd74edd7_1         554 KB  conda-forge
    xz-5.2.6                   |       h57fd34a_0         230 KB  conda-forge
    zlib-1.3.1                 |       hfb2fe0b_1          76 KB  conda-forge
    zstd-1.5.6                 |       hb46c0d2_0         396 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        64.7 MB

The following NEW packages will be INSTALLED:

  ampl-mp            conda-forge/osx-arm64::ampl-mp-3.1.0-hbec66e7_1006
  assimp             conda-forge/osx-arm64::assimp-5.4.3-ha9c0b8d_0
  bzip2              conda-forge/osx-arm64::bzip2-1.0.8-h99b78c6_7
  ca-certificates    conda-forge/osx-arm64::ca-certificates-2024.8.30-hf0a4a13_0
  eigen              conda-forge/osx-arm64::eigen-3.4.0-h1995070_0
  glfw               conda-forge/osx-arm64::glfw-3.4-h93a5062_0
  icu                conda-forge/osx-arm64::icu-75.1-hfee45f7_0
  idyntree           conda-forge/osx-arm64::idyntree-13.0.0-py312he5a2afb_1
  ipopt              conda-forge/osx-arm64::ipopt-3.14.16-h920a7db_7
  irrlicht           conda-forge/osx-arm64::irrlicht-1.8.5-hdfd4c6d_5
  libblas            conda-forge/osx-arm64::libblas-3.9.0-24_osxarm64_openblas
  libboost           conda-forge/osx-arm64::libboost-1.86.0-h29978a0_2
  libcblas           conda-forge/osx-arm64::libcblas-3.9.0-24_osxarm64_openblas
  libcxx             conda-forge/osx-arm64::libcxx-19.1.0-ha82da77_0
  libedit            conda-forge/osx-arm64::libedit-3.1.20191231-hc8eb9b7_2
  libexpat           conda-forge/osx-arm64::libexpat-2.6.3-hf9b8971_0
  libffi             conda-forge/osx-arm64::libffi-3.4.2-h3422bc3_5
  libgfortran        conda-forge/osx-arm64::libgfortran-5.0.0-13_2_0_hd922786_3
  libgfortran5       conda-forge/osx-arm64::libgfortran5-13.2.0-hf226fd6_3
  libiconv           conda-forge/osx-arm64::libiconv-1.17-h0d3ecfb_2
  libjpeg-turbo      conda-forge/osx-arm64::libjpeg-turbo-3.0.0-hb547adb_1
  liblapack          conda-forge/osx-arm64::liblapack-3.9.0-24_osxarm64_openblas
  libopenblas        conda-forge/osx-arm64::libopenblas-0.3.27-openmp_h517c56d_1
  libosqp            conda-forge/osx-arm64::libosqp-0.6.3-h13dd4ca_0
  libpng             conda-forge/osx-arm64::libpng-1.6.44-hc14010f_0
  libqdldl           conda-forge/osx-arm64::libqdldl-0.1.5-hb7217d7_1
  libscotch          conda-forge/osx-arm64::libscotch-7.0.5-h9f781f6_0
  libsqlite          conda-forge/osx-arm64::libsqlite-3.46.1-hc14010f_0
  libxcb             conda-forge/osx-arm64::libxcb-1.17.0-hdb1d25a_0
  libxml2            conda-forge/osx-arm64::libxml2-2.12.7-h01dff8b_4
  libzlib            conda-forge/osx-arm64::libzlib-1.3.1-hfb2fe0b_1
  llvm-openmp        conda-forge/osx-arm64::llvm-openmp-18.1.8-hde57baf_1
  metis              conda-forge/osx-arm64::metis-5.1.0-h13dd4ca_1007
  mumps-include      conda-forge/osx-arm64::mumps-include-5.7.3-hce30654_5
  mumps-seq          conda-forge/osx-arm64::mumps-seq-5.7.3-he17653c_5
  ncurses            conda-forge/osx-arm64::ncurses-6.5-h7bae524_1
  numpy              conda-forge/osx-arm64::numpy-2.1.1-py312h801f5e3_0
  openssl            conda-forge/osx-arm64::openssl-3.3.2-h8359307_0
  osqp-eigen         conda-forge/osx-arm64::osqp-eigen-0.8.1-h136a8c3_1
  pip                conda-forge/noarch::pip-24.2-pyh8b19718_1
  pthread-stubs      conda-forge/osx-arm64::pthread-stubs-0.4-hd74edd7_1002
  python             conda-forge/osx-arm64::python-3.12.6-h739c21a_1_cpython
  python_abi         conda-forge/osx-arm64::python_abi-3.12-5_cp312
  readline           conda-forge/osx-arm64::readline-8.2-h92ec313_1
  sdl                conda-forge/osx-arm64::sdl-1.2.68-hfc12253_0
  sdl2               conda-forge/osx-arm64::sdl2-2.30.7-hf9b8971_0
  setuptools         conda-forge/noarch::setuptools-75.1.0-pyhd8ed1ab_0
  tk                 conda-forge/osx-arm64::tk-8.6.13-h5083fa2_1
  tzdata             conda-forge/noarch::tzdata-2024a-h8827d51_1
  unixodbc           conda-forge/osx-arm64::unixodbc-2.3.12-h0e2417a_0
  wheel              conda-forge/noarch::wheel-0.44.0-pyhd8ed1ab_0
  xorg-libx11        conda-forge/osx-arm64::xorg-libx11-1.8.10-h2321a68_0
  xorg-libxau        conda-forge/osx-arm64::xorg-libxau-1.0.11-hd74edd7_1
  xorg-libxdmcp      conda-forge/osx-arm64::xorg-libxdmcp-1.1.3-hd74edd7_1
  xorg-libxext       conda-forge/osx-arm64::xorg-libxext-1.3.4-h1a8c8d9_2
  xorg-xextproto     conda-forge/osx-arm64::xorg-xextproto-7.3.0-hd74edd7_1004
  xorg-xorgproto     conda-forge/osx-arm64::xorg-xorgproto-2024.1-hd74edd7_1
  xz                 conda-forge/osx-arm64::xz-5.2.6-h57fd34a_0
  zlib               conda-forge/osx-arm64::zlib-1.3.1-hfb2fe0b_1
  zstd               conda-forge/osx-arm64::zstd-1.5.6-hb46c0d2_0

Environment info
.

See https://github.com/traversaro/test-import-conda-forge-packages/actions/runs/11056530360 for an example of failures. 3.14.16=_5 and  3.14.16=_7 fail, while  3.14.16=*_6 works fine.
fyi @minrk

Arg, I'll check. Looks like maybe cyipopt is also linking directly to scotch? Not sure why or how that would be, but I can investigate.

If you want to mark build 7 broken, that can take some pressure off (or just revert it to make build 8 before trying again)

Arg, I'll check. Looks like maybe cyipopt is also linking directly to scotch? Not sure why or how that would be, but I can investigate.

It happens also with iDynTree, and I do not think there is any direct link to scotch (at least conda-build is not complaining).

OK, then maybe it's something in mumps itself that needs to put scotch in run_exports. That seems weird, though.

If you want to mark build 7 broken, that can take some pressure off (or just revert it to make build 8 before trying again)

Done: https://github.com/conda-forge/ipopt-feedstock/pull/115 .

I would like to help but at the moment I do not have access to a macOS machine.

I think this error was there before these fixes on this feedstock. I saw it as soon as the new scotch version was merged: https://github.com/conda-forge/scotch-feedstock/pull/90#issuecomment-2376083204.

I have a mac, and I think I can see the problem. It's in scotch itself, which is missing a link to libscotcherr:
> otool -L /Users/minrk/conda/envs/ipopt7/lib/libscotch.dylib
/Users/minrk/conda/envs/ipopt7/lib/libscotch.dylib:
	@rpath/libscotch.7.0.dylib (compatibility version 7.0.0, current version 7.0.5)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.0.0)
	@rpath/libz.1.dylib (compatibility version 1.0.0, current version 1.3.1)
	@rpath/libbz2.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/liblzma.5.dylib (compatibility version 8.0.0, current version 8.6.0)
> otool -L /Users/minrk/conda/envs/ipopt6/lib/libscotch.dylib
/Users/minrk/conda/envs/ipopt6/lib/libscotch.dylib:
	@rpath/libscotch.7.0.4.dylib (compatibility version 0.0.0, current version 7.0.4)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.0.0)
	@rpath/libscotcherr.dylib (compatibility version 0.0.0, current version 0.0.0) <---
	@rpath/libz.1.dylib (compatibility version 1.0.0, current version 1.2.13)
	@rpath/libbz2.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/liblzma.5.dylib (compatibility version 8.0.0, current version 8.6.0)

I think build 7 of this package is fine, but scotch 7.0.5 is not.

ok, I think it's actually mumps that's wrong, and it's a combination of conda-forge's default dead-strip-dylibs and scotch's utterly bizarre approach to error handing, described here:

libscotch deliberately leaves SCOTCH_errorPrint undefined "as an exercise for the user", expecting applications or libraries to define this symbol. They provide a default implementation in lib[pt]scotcherr, which everything I've ever seen uses.
That means packages like mumps must link libscotcherr (which they do)
but because conda-forge has -Wl,-dead_strip_dylibs in its default LDFLAGS, and the scotcherr symbols aren't ever used in the libraries that link them, the link to libscotcherr gets stripped out
up to and including libscotch 7.0.4, we've been shipping patches that link libscotch to libscotcherr. This originates in the patch copied from debian to build libscotch as a shared library. I would have expected switching to cmake to lose this patch, but it was added shortly after switching to cmake with the windows patches here

So I see two fixes:

restore our  libscotch -> libscotcherr link (matches debian)
makes sure the -Wl,-dead_strip_dylibs is scrubbed from $LDFLAGS for all packages that link scotch (mainly mumps)

I'm inclined to follow debian, as we have been doing for years, since it's a single fix that solves the problem everywhere. Even petsc links ptscotcherr rather than taking scotch up on redefining SCOTCH_errorPrint, and if any package would take the opportunity to customize error handling, I would expect it to be petsc.

Wow, thanks for the detailed explanation. I totally agree with option 1.

By the way, the workaround of the new _8 build is working for osx-arm64, but not for osx-64 due to a strange bug in anaconda.org : https://github.com/conda-forge/ipopt-feedstock/issues/116#issuecomment-2378633243 .

https://github.com/conda-forge/scotch-feedstock/pull/92 should have the fix for this.

conda-forge/scotch-feedstock#92 should have the fix for this.

Great, thanks!

Can confirm build 7 works on mac-arm with scotch 7.0.5 build 1:

 test output
> mamba create -yn ipopt7 'libscotch=7.0.5=*_0' 'ipopt=3.14.16=*_7' cyipopt

Looking for: ['libscotch==7.0.5[build=*_0]', 'ipopt==3.14.16[build=*_7]', 'cyipopt']

conda-forge/osx-arm64                                       Using cache
conda-forge/noarch                                          Using cache
Transaction

  Prefix: /Users/minrk/conda/envs/ipopt7

  Updating specs:

   - libscotch==7.0.5[build=*_0]
   - ipopt==3.14.16[build=*_7]
   - cyipopt

  Package                 Version  Build                 Channel           Size
─────────────────────────────────────────────────────────────────────────────────
  Install:
─────────────────────────────────────────────────────────────────────────────────

  + xz                      5.2.6  h57fd34a_0            conda-forge     Cached
  + mumps-include           5.7.3  hce30654_5            conda-forge     Cached
  + metis                   5.1.0  h13dd4ca_1007         conda-forge     Cached
  + llvm-openmp            18.1.8  hde57baf_1            conda-forge     Cached
  + bzip2                   1.0.8  h99b78c6_7            conda-forge     Cached
  + libzlib                 1.3.1  hfb2fe0b_1            conda-forge     Cached
  + libcxx                 19.1.0  ha82da77_0            conda-forge     Cached
  + libexpat                2.6.3  hf9b8971_0            conda-forge     Cached
  + python_abi               3.12  5_cp312               conda-forge     Cached
  + libiconv                 1.17  h0d3ecfb_2            conda-forge     Cached
  + ncurses                   6.5  h7bae524_1            conda-forge     Cached
  + libffi                  3.4.2  h3422bc3_5            conda-forge     Cached
  + ca-certificates     2024.8.30  hf0a4a13_0            conda-forge     Cached
  + libgfortran5           13.2.0  hf226fd6_3            conda-forge     Cached
  + tk                     8.6.13  h5083fa2_1            conda-forge     Cached
  + libsqlite              3.46.1  hc14010f_0            conda-forge     Cached
  + zlib                    1.3.1  hfb2fe0b_1            conda-forge     Cached
  + libedit          3.1.20191231  hc8eb9b7_2            conda-forge     Cached
  + readline                  8.2  h92ec313_1            conda-forge     Cached
  + openssl                 3.3.2  h8359307_0            conda-forge     Cached
  + libgfortran             5.0.0  13_2_0_hd922786_3     conda-forge     Cached
  + unixodbc               2.3.12  h0e2417a_0            conda-forge     Cached
  + libopenblas            0.3.27  openmp_h517c56d_1     conda-forge     Cached
  + libscotch               7.0.5  h9f781f6_0            conda-forge     Cached
  + ampl-mp                 3.1.0  hbec66e7_1006         conda-forge     Cached
  + libblas                 3.9.0  24_osxarm64_openblas  conda-forge     Cached
  + libcblas                3.9.0  24_osxarm64_openblas  conda-forge     Cached
  + liblapack               3.9.0  24_osxarm64_openblas  conda-forge     Cached
  + mumps-seq               5.7.3  he17653c_5            conda-forge     Cached
  + ipopt                 3.14.16  h920a7db_7            conda-forge     Cached
  + tzdata                  2024a  h8827d51_1            conda-forge     Cached
  + python                 3.12.6  h739c21a_1_cpython    conda-forge     Cached
  + wheel                  0.44.0  pyhd8ed1ab_0          conda-forge     Cached
  + setuptools             75.1.0  pyhd8ed1ab_0          conda-forge     Cached
  + pip                      24.2  pyh8b19718_1          conda-forge     Cached
  + numpy                   2.1.1  py312h801f5e3_0       conda-forge     Cached
  + cyipopt                 1.5.0  py312h97528d6_1       conda-forge     Cached

  Summary:

  Install: 37 packages

  Total download: 0 B

─────────────────────────────────────────────────────────────────────────────────

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

To activate this environment, use

     $ mamba activate ipopt7

To deactivate an active environment, use

     $ mamba deactivate

minrk@heavy [13:50:06] /tmp
> mamba run -n ipopt7 --no-capture-output python -c 'import cyipopt'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/minrk/conda/envs/ipopt7/lib/python3.12/site-packages/cyipopt/__init__.py", line 12, in <module>
    from ipopt_wrapper import *
ImportError: dlopen(/Users/minrk/conda/envs/ipopt7/lib/python3.12/site-packages/ipopt_wrapper.cpython-312-darwin.so, 0x0002): symbol not found in flat namespace '_SCOTCH_errorPrint'
ERROR conda.cli.main_run:execute(125): `conda run python -c import cyipopt` failed. (See above for error)
minrk@heavy [13:50:10] /tmp
> mamba install -y -n ipopt7 'libscotch=7.0.5=*_1'

Looking for: ['libscotch==7.0.5[build=*_1]']

conda-forge/osx-arm64                                       Using cache
conda-forge/noarch                                          Using cache

Pinned packages:
  - python 3.12.*

Transaction

  Prefix: /Users/minrk/conda/envs/ipopt7

  Updating specs:

   - libscotch==7.0.5[build=*_1]
   - ca-certificates
   - openssl

  Package      Version  Build       Channel           Size
────────────────────────────────────────────────────────────
  Change:
────────────────────────────────────────────────────────────

  - libscotch    7.0.5  h9f781f6_0  conda-forge     Cached
  + libscotch    7.0.5  h51b9955_1  conda-forge     Cached

  Summary:

  Change: 1 packages

  Total download: 0 B

────────────────────────────────────────────────────────────

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
minrk@heavy [13:50:32] /tmp
> mamba run -n ipopt7 --no-capture-output python -c 'import cyipopt'
minrk@heavy [13:50:37] /tmp
> mamba list -n ipopt7
# packages in environment at /Users/minrk/conda/envs/ipopt7:
#
# Name                    Version                   Build  Channel
ampl-mp                   3.1.0             hbec66e7_1006    conda-forge
bzip2                     1.0.8                h99b78c6_7    conda-forge
ca-certificates           2024.8.30            hf0a4a13_0    conda-forge
cyipopt                   1.5.0           py312h97528d6_1    conda-forge
ipopt                     3.14.16              h920a7db_7    conda-forge
libblas                   3.9.0           24_osxarm64_openblas    conda-forge
libcblas                  3.9.0           24_osxarm64_openblas    conda-forge
libcxx                    19.1.0               ha82da77_0    conda-forge
libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
libexpat                  2.6.3                hf9b8971_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgfortran               5.0.0           13_2_0_hd922786_3    conda-forge
libgfortran5              13.2.0               hf226fd6_3    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
liblapack                 3.9.0           24_osxarm64_openblas    conda-forge
libopenblas               0.3.27          openmp_h517c56d_1    conda-forge
libscotch                 7.0.5                h51b9955_1    conda-forge
libsqlite                 3.46.1               hc14010f_0    conda-forge
libzlib                   1.3.1                hfb2fe0b_1    conda-forge
llvm-openmp               18.1.8               hde57baf_1    conda-forge
metis                     5.1.0             h13dd4ca_1007    conda-forge
mumps-include             5.7.3                hce30654_5    conda-forge
mumps-seq                 5.7.3                he17653c_5    conda-forge
ncurses                   6.5                  h7bae524_1    conda-forge
numpy                     2.1.1           py312h801f5e3_0    conda-forge
openssl                   3.3.2                h8359307_0    conda-forge
pip                       24.2               pyh8b19718_1    conda-forge
python                    3.12.6          h739c21a_1_cpython    conda-forge
python_abi                3.12                    5_cp312    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
setuptools                75.1.0             pyhd8ed1ab_0    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
tzdata                    2024a                h8827d51_1    conda-forge
unixodbc                  2.3.12               h0e2417a_0    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
zlib                      1.3.1                hfb2fe0b_1    conda-forge

Great, I can confirm it also works on osx-64 via CI:

https://github.com/traversaro/test-import-conda-forge-packages/actions/runs/11070167490

Probably we can close this now?

yeah, I marked #121 as closing this, since it restores the removal (so build 10 will be identical to build 7)

Ok!


Rework slotting functions

Overview
I am looking at the changes in #2245 related to slotting.
The way the error handling is, it seems like we are walking around with our shoelaces tied together.
Times relative to system start
Part of the problem is that converting a UTC time into a time relative to the system start can fail. (UTCTimeToRel :: UTCTime -> Qry (Maybe Cardano.RelativeTime)). But, really in most cases it won't. The best way to deal with that is to push relative time conversions outside of the queries. Then the caller of the slotting can make decisions about how to get a RelativeTime.
Things like converting a slot range to a time range become much simpler.
Shorten Slotting module.
We already chopped out a lot of old code in #2351.
But if we use unembellished types from ouroboros-consensus, this module can be even shorter. Qry is now just a  ReaderT wrapper around HF.Qry.
Running a query is to just apply the start time parameter to runReaderT and then call Ouroboros.Consensus.HardFork.History.Qry.interpretQuery.
Mixing with IO
Sometimes we want to know the chain-relative time for "now". A simplification is to assume that "now" is always after the start time. In the corner case, it suffices to use the relative time of 0. Now callers of this function don't need to worry about whether it can fail somehow.
Relative times are usually better - e.g. Sync progress
The calculation of sync progress with UTC is something like (b - a - s) / (b - s). But with relative times it's just a / b.
Todo
Separate running a query from obtaining the time interpreter
Currently the TimeInterpreter is fetched from the network layer through an IORef (or similar). Then the query is run in IO, when most of the time it's a pure computation (due to the changes above). This just muddles things up.
Stake pool retirement time
Because stake pool retirement epochs are almost certainly past time safe zone, we need to use the unsafeExtend function to assume that the current epoch is the final epoch.
Transaction expiry (TTL)
Expiry times need to be converted fo/from slots. But these are rarely going to be outside of the safe zone. If they are, it is fine to refuse to convert, and show "Nothing" (for incoming tx) or reject the payment request (for outgoing tx).

@rvl I rebased off master and added a hint fix commit. I'll leave it to you to squash and merge.
Although the tests are suddenly failing 🤔 That seems weird.
test/unit/Cardano/DB/Sqlite/DeleteSpec.hs:45:9:
--
  | 1) Cardano.DB.Sqlite.Delete.RefCount waitForFree waits for withRef to finish
  | expected: ((),False)
  | but got: ((),True)
  |
  | To rerun use: --match "/Cardano.DB.Sqlite.Delete/RefCount/waitForFree waits for withRef to finish/"
  |
  | Randomized with seed<PHONE_NUMBER>

Thanks.
I reverted the change I made to a slotRangeFromTimeRange test case, and fixed the code accordingly. And squashed everything.
I have never seen that test failure locally. It looks like a new one.
bors r+


SDL and a Google AMP document

Here's a site with JSON-LD but composed using Google AMP requirements.
https://ontomatica.io/
SDL initially process the JSON-LD but then bails-out when it sees the <style amp-custom>.
Or maybe something else is going on that confuses SDL.
FYI the JSON-LD is properly parsed by Google Structured Data Testing tool (see the link in the footer).
Anything we should be doing differently to cure this problem?
/jay gray

The Linter complains because it does not think that <style amp-custom> is a valid tag, which is due to the underlying HTML parser Nokogumbo. It was not generating output due to an issue in the writer, which failed when the input was invalid. This should be fixed in version 2.4.3, which is up now.


fix: issue where the teleportation property not always was fulfilled

Description

fix: issue where the teleportation property not always was fulfilled
fix: only active teleport properties validate if the teleportation was done
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

By teleporting like crazy

@SimonTheSourcerer you were right, the XR Rig might be offset if the user is not on "its origin", the last commit ensures to check the camera position which always matches the teleported position.


Now social media links are opening in another tab.

Issue Number
fixes #267

Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Additional context (OPTIONAL)
Add any other context or screenshots about the feature request here.
Test plan (OPTIONAL)
A good test plan should give instructions that someone else can easily follow.
How someone can test your code?
Checklist

[x] I have added my name in the contributors list at the end of README.md file.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.
[x] Open Source Program names(OPTIONAL: If you participated in any open-source program then please mention the program name here)

@tjanhvi apply it in all pages.

okay :)

@tjanhvi apply it in all pages.

That means in every pages whether it is register page, help desk page.................. in all pages ?

Apply the same changes to all pages.


Day 4 / Borrowing in loop

Hi @BurntSushi,
Thank again for your work!
Do you have time to explain why my code is bad, and how I can achieve this in a better way?

I try to have a HashMap (key: String  [guard_id], value: Guard [values I want to store]) that contains my guards data.
In every loop, I get the guard (or insert a new one if I never found it before).
Then I mutate its values.

But I am stuck with this error and I dunno how I can do this kind of code in a better way
   --> src/main.rs:75:29
    |
75  |             current_guard = guards.entry(guard_id.clone()).or_insert(G
uard {
    |                             ^^^^^^ mutable borrow starts here in previ
ous iteration of loop
...
112 | }
    | - mutable borrow ends here

source code (https://github.com/fabienjuif/advent-of-code-2018/blob/borrow/day4/src/main.rs
):
extern crate chrono;
extern crate regex;

use std::fs;
use regex::Regex;
use std::collections::HashMap;
use chrono::prelude::*;

const FILE_NAME: &str = "./input.txt";

struct Record {
    guard_id: String,
    date_time: DateTime<Utc>,
    fulldate: String,
    // date: String,
    // hour: String,
    minute: String,
    description: String,
}

struct Guard {
    id: String,
    minutes: Vec<(i64, i64)>,
    most_minute_asleep: (i64, i64),
    total_asleep: i64,
}

fn get_guards() {
    let content = fs::read_to_string(FILE_NAME).unwrap();
    let re = Regex::new(r"\[(\d+-\d+-\d+) (\d+):(\d+)\]( Guard #)?(\d+)? (.*)").unwrap();
    let mut records: Vec<Record> = Vec::new();

    for line in content.lines() {
        match re.captures(line) {
            Some(captures) => {
                let date = captures.get(1).unwrap().as_str().to_string();
                let hour = captures.get(2).unwrap().as_str().to_string();
                let minute = captures.get(3).unwrap().as_str().to_string();
                let fulldate = format!("{}T{}:{}:00Z", date, hour, minute);
                let description = captures.get(6).unwrap().as_str().to_string();
                let guard_id = match captures.get(5) {
                    Some(matcher) => matcher.as_str().to_string(),
                    None => String::from("")
                };
                let date_time = fulldate.parse::<DateTime<Utc>>().unwrap();

                records.push(Record {
                    guard_id,
                    date_time,
                    fulldate,
                    // date,
                    // hour,
                    minute,
                    description,
                });
            },
            None => {}
        }
    }

    records.sort_by(|record_a, record_b| record_a.date_time.cmp(&record_b.date_time));
    println!("records size: {}", records.len());

    let mut guards: HashMap<String, Guard> = HashMap::new();
    let mut current_guard: &mut Guard = &mut Guard { id: String::from(""), minutes: Vec::new(), most_minute_asleep: (0, 0), total_asleep: 0 };
    let mut last_date_time = Utc::now();
    let mut last_minute = String::from("");
    let mut minutes: HashMap<i64, i64> = HashMap::new();
    let mut sorted_minutes = Vec::new();

    for record in records {
        let Record { guard_id, date_time, description, minute, .. } = record;

        if !guard_id.is_empty() { // empty guard_id means we are changing guard
            current_guard = guards.entry(guard_id.clone()).or_insert(Guard {
                id: guard_id.clone(),
                minutes: Vec::new(),
                most_minute_asleep: (0, 0),
                total_asleep: 0,
            });

            for (minute, times) in minutes.iter() {
                sorted_minutes.push((minute.clone(), times.clone()));
            }
            sorted_minutes.sort_by(|minute_a, minute_b| minute_b.1.cmp(&minute_a.1));

            current_guard.minutes = sorted_minutes.drain(..).collect();
            current_guard.most_minute_asleep = match current_guard.minutes.get(0) {
                Some(value) => value.clone(),
                None => (0, 0)
            };

            minutes.clear();
            sorted_minutes.clear();
        }

        if description == "falls asleep" {
            last_date_time = date_time.clone();
            last_minute = minute.clone();
        }

        if description == "wakes up" {
            current_guard.total_asleep += (date_time - last_date_time).num_minutes() + 1;

            let num_minutes = (date_time - last_date_time).num_minutes();

            for min in 0..num_minutes {
                *minutes.entry(last_minute.parse::<i64>().unwrap() + min).or_insert(0) += 1;
            }
        }
    }
}

fn main() {
    get_guards();
}

Thank you 👍

I copied your code from your link, but it compiles and runs just fine. Can you show me the exact code you're using that is giving you an error? It's otherwise hard to help.

Oh, you must not be using Rust 2018. On Rust 2018, your code compiles because of improvements to the borrow checker. That is, before the improvements, the borrow checker rejected more valid programs. You can use Rust 2018 by adding edition = "2018" to the [package] section of your Cargo.toml. For that, you'll need the latest version of stable Rust (1.31).
This is a good example of the nice additions that Rust 2018 brings. I don't see any tiny changes I can make to your code to make it work. Instead, it seems to require some restructuring. e.g., something like this:
extern crate chrono;
extern crate regex;

use std::fs;
use regex::Regex;
use std::collections::HashMap;
use chrono::prelude::*;

const FILE_NAME: &str = "./input.txt";

struct Record {
    guard_id: String,
    date_time: DateTime<Utc>,
    fulldate: String,
    // date: String,
    // hour: String,
    minute: String,
    description: String,
}

struct Guard {
    id: String,
    minutes: Vec<(i64, i64)>,
    most_minute_asleep: (i64, i64),
    total_asleep: i64,
}

fn get_guards() {
    let content = fs::read_to_string(FILE_NAME).unwrap();
    let re = Regex::new(r"\[(\d+-\d+-\d+) (\d+):(\d+)\]( Guard #)?(\d+)? (.*)").unwrap();
    let mut records: Vec<Record> = Vec::new();

    for line in content.lines() {
        match re.captures(line) {
            Some(captures) => {
                let date = captures.get(1).unwrap().as_str().to_string();
                let hour = captures.get(2).unwrap().as_str().to_string();
                let minute = captures.get(3).unwrap().as_str().to_string();
                let fulldate = format!("{}T{}:{}:00Z", date, hour, minute);
                let description = captures.get(6).unwrap().as_str().to_string();
                let guard_id = match captures.get(5) {
                    Some(matcher) => matcher.as_str().to_string(),
                    None => String::from("")
                };
                let date_time = fulldate.parse::<DateTime<Utc>>().unwrap();

                records.push(Record {
                    guard_id,
                    date_time,
                    fulldate,
                    // date,
                    // hour,
                    minute,
                    description,
                });
            },
            None => {}
        }
    }

    records.sort_by(|record_a, record_b| record_a.date_time.cmp(&record_b.date_time));
    println!("records size: {}", records.len());

    let mut guards: HashMap<String, Guard> = HashMap::new();
    // let mut current_guard: &mut Guard = &mut Guard { id: String::from(""), minutes: Vec::new(), most_minute_asleep: (0, 0), total_asleep: 0 };
    let mut current_guard_id = String::from("");
    let mut last_date_time = Utc::now();
    let mut last_minute = String::from("");
    let mut minutes: HashMap<i64, i64> = HashMap::new();
    let mut sorted_minutes = Vec::new();

    for record in records {
        let Record { guard_id, date_time, description, minute, .. } = record;

        if !guard_id.is_empty() { // empty guard_id means we are changing guard
            current_guard_id = guard_id.clone();
        }
        let mut current_guard = guards
            .entry(current_guard_id.clone())
            .or_insert(Guard {
                id: guard_id.clone(),
                minutes: Vec::new(),
                most_minute_asleep: (0, 0),
                total_asleep: 0,
            });

        if !guard_id.is_empty() { // empty guard_id means we are changing guard
            for (minute, times) in minutes.iter() {
                sorted_minutes.push((minute.clone(), times.clone()));
            }
            sorted_minutes.sort_by(|minute_a, minute_b| minute_b.1.cmp(&minute_a.1));

            current_guard.minutes = sorted_minutes.drain(..).collect();
            current_guard.most_minute_asleep = match current_guard.minutes.get(0) {
                Some(value) => value.clone(),
                None => (0, 0)
            };

            minutes.clear();
            sorted_minutes.clear();
        }

        if description == "falls asleep" {
            last_date_time = date_time.clone();
            last_minute = minute.clone();
        }

        if description == "wakes up" {
            current_guard.total_asleep += (date_time - last_date_time).num_minutes() + 1;

            let num_minutes = (date_time - last_date_time).num_minutes();

            for min in 0..num_minutes {
                *minutes.entry(last_minute.parse::<i64>().unwrap() + min).or_insert(0) += 1;
            }
        }
    }
}

fn main() {
    get_guards();
}

Thank you!
With your review and this thread: https://www.reddit.com/r/rust/comments/5ny09j/tips_to_not_fight_the_borrow_checker/
I have something that works :)
I didn't know I have to pass in "2018" version, thank you.
In the meantime it helps me understand the langage better :)
I updated my code as described here if you are curious: https://github.com/fabienjuif/advent-of-code-2018/pull/1/commits/dc8d762f66a891cdd7def43d7c4f57fb036e8a78
For now I found Rust quite difficult to understand, for example I don't understand why I have to add "Clone" Trait to my structure when I just wanted my vectors to be copied (but not values) 🤔
Thank you (again) for helping me out ♥

For now I found Rust quite difficult to understand, for example I don't understand why I have to add "Clone" Trait to my structure when I just wanted my vectors to be copied (but not values)

This isn't necessarily Rust that's tripping you up, it's just that such an operation doesn't quite make sense. Vectors store their elements inline, such that a Vec<T> consistents of a pointer to a sequence of T values laid out sequentially in one contiguous block of memory. In order to copy that Vec<T>, you need to be able to copy all of the T values inside of it.
If you're looking to pass many pointers to that Vec<T> around, then you want to use &Vec<T>, of which as many such pointers as you like can be created. However, they are tracked by the borrow checker such that the lifetime of those pointers must be able to be tracked at compile time. If that's too onerous of a burden, then you can use Rc<Vec<T>> (or Arc<Vec<T>>) to represent shared ownership.

What I wanted was to copy the vector into part1(), sort in a way into part1() that doesn't mutate the vector that was in main(), and do the same in part2() WITHOUT copying all its values.
fn main() {
  let vector = get_data(); // 1 000 000 elements
  println!("main, index0: {}", vector.get(0).unwrap()); // 1.

  part1(vector); // share access by a way I don't know

  println!("main, index0 (after): {}", vector.get(0).unwrap()); // 2.
}

fn part1(let vector: Vec::<T>) {
  // ... vector.sort_by()
  println!("part1, index0: {}", vector.get(0).unwrap()); // 3.
}

I wanted to have 1. and 2. the same, but 3. could differ.
WITHOUT copying all vector values.
I wanted to only copy the pointers (to re-arrange them).
How would you do that?
Is it something that is in spirit of Rust?
Maybe I should dig slices?
Thank you a lot for your time 👍

Hmm, well, part1 can be defined as fn part1(slice: &[T]) and then you can call it like part(&vector) where vector has type Vec<T>. But part1 then cannot mutate it. So you could define part1 as fn part1(slice: &mut [T]), which you can then sort, but that mutates the original vector. In other words, "I want to sort the vector in part1 without copying" and "I do not want to mutate the original vector" are mutually incompatible goals. This isn't just a Rust limitation; this is a limitation in general. You can't ever do that. Remember, if you have a Vec<Foo>, then that isn't a sequence of pointers to Foo. It's a contiguous sequence of Foo laid out in memory, side by side. If you want to be able to create a new vector that you can then mutate without literally copying the contents of Foo, then you need to introduce a layer of indirection such as Vec<Box<Foo>> or Vec<Rc<Foo>>.

I think I understand the misconception that I have:

Vec stores Rectangle values ?
And I thank more about it: Vec stores Rectangle pointers.

Thank you @BurntSushi ✨


Version mismatch

With an internet connection AzureStack PowerShell = 1.8.0, but Without an internet connection Azure Stack PowerShell = 1.5.0.

@justinha Could you review the proposed changes? Thanks.

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

Should 1.8.1 for 2002 release

@justinha Would you review the update to one of your articles? Thanks.

@ktoliver Justin is no longer with the team -- we will get the metadata updated, but can we please merge this in the meantime? Thank you!

@sethmanheim You bet. Thanks for the information and for the review.


add thneed optimizer

See #23763, I rebased this on master for merge. I suspect model replay may have been failing because it wasn't updated for bigmodel.

Ahh, replay still fails, but I think it's close enough now. These new values should be more accurate (deterministically so) since there's no float16 rounding between conv and activation.

Do we have a check to compare the model outputs to the computer? If not, we should.
I updated the ref by hand looking at the comparison and seeing the numbers very close.

I believe research runs a test like that manually before releases. For cases like this, I like to increase the tolerance a bit rather than checking by hand. https://github.com/commaai/openpilot/blob/7176f5c4013e09142bfac577952b4a524db77cfb/selfdrive/test/process_replay/model_replay.py#L145


@alloy => Fixes white screen presented after cancelled twitter login 🚫📱

See discussion on the issue for more details.
Fixes #143.

Note: a more robust version would maintain state for both twitter/facebook and show the error when it became active. However, I don't really like showing errors for things users cancelled, so.

@ashfurrow I would argue that it’s not even an error. It’s a totally expectable cancellation action.

Totally, though I should note that Facebook does currently treat cancels as errors.

Then that’s a UX bug imo.

Ouch, this change misses a CHANGELOG. Can you write one up and post it here? I’ll add it.

I can open an issue if you like.

Oops, yes it does sorry.

I can open an issue if you like.

:+1:


config_sim and append_configs should not mutate mutable reference arguments

We often reuse previously defined variables related to the system we're modelling. See for example the original robot and marbles tutorial part 6 how in cell 6 we reuse simulation_parameters originally defined in cell 1 and used in cell 2.
The new config_sim and append_configs implementations modify the content of the variables passed to them as arguments

I might be missing something and maybe there's a more straightforward workaround, but it seems this means that we now need to redefine and pre-process the same configuration before each append_config, like here. In any case, seems this could be avoided by implementing config_sim and append_configs so that they don't mutate mutable reference arguments.

@markusbkoch
Good Catch!
A Configuration Object should be implemented to eliminate the risk of Configurations being mutated between experiments unwantedly
Will Define

@markusbkoch
Jira issue related to this was created a few months ago. Referencing within.

Needs refinement, low priority.

This functionality was deprecated by the usage of Experiment instances


Compute and dump pressure to output file

Hello,
I would like to compute the pressure and dump the values to the output file every time I save the solution. I have declared a GridFunction object for the pressure but I am not sure how to initialize it. Is there a specific syntax to use or do I have to implement a subroutine that computes the pressure at each node and save the value in GridFunction?
Thanks,
Marco

Hi Marco,
(Below I assume formula p = EOS(rho,e), adjust as necessary...)
You have options -- you can compute by projection, or by interpolation. (Saving then is just a regular GridFunction::Save()).
Projection requires assembling a right-hand side form and inverting a mass matrix:

Find p: (p, q) = (EOS(rho,e), q) for all q in the pressure space

Interpolation can be done by defining a Coefficient for the EOS, e.g. based on GridFunctionCoefficient objects for rho and e. Then you just ProjectCoefficient on the pressure GridFunction.
Hope this helps,
Tzanio

Tzanio,
thank you for your reply. I was able to compute the pressure and dump the solution in a Visit file. However, I am not entirely sure that my implementation for saving the GridFunction variables is correct. Using a VisItDataCollection object, I save the solution vector values (density, momentum vector and total energy). The initial values of the pressure are also saved in the Visit file as long as I register pressure variable as a field using RegisterField. I noticed that the pressure values are not updated in the output files unless I add press.ProjectCoefficient(press_coeff); right before calling VisItDataCollection .Save(). I assume this is related to GridFunction::Save() that you mentioned in your previous email. Is this the correct way or is there a more elegant implementation for updating the pressure field?
Thanks,
Marco

Hi Marco,
You can take a look at out Laghos miniapp where we export to Visit a time-dependent solution.
https://github.com/CEED/Laghos
In particular, in laghos.cpp, see how the function rho_gf is handled.

Vladimir,
thank you for the link. This is very helpful. You can now close this issue.
Marco
On Fri, Oct 12, 2018 at 8:59 PM Vladimir Tomov<EMAIL_ADDRESS>wrote:

Hi Marco,
You can take a look at out Laghos miniapp where we export to Visit a
time-dependent solution.
https://github.com/CEED/Laghos
In particular, in laghos.cpp, see how the function rho_gf is handled.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mfem/mfem/issues/630#issuecomment-429498343, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEfDCkzZVLbh_gaUlGcFPaj7esLReRs1ks5ukTrfgaJpZM4XXu9i
.

--
Marc-Olivier Delchini


Make navbar goes up out of the screen when scroll up to have better view of page

Describe the feature
The navbar shoudl go out of screen upside when start scrolling up and should come back when start scrooling down instantly.
See the demo of navbar below-
https://github.com/user-attachments/assets/5773b8cb-e8b8-4129-826f-ed6557dc714a
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Assigned!
Make sure to attach before & after screenshots in your PR and include the issue number.
Also, please star the repo before working on it.
i am the project mentor you can reach out to me for any help!
Happy open-source contributing! 🎉


Using the paginate method inside a builder macro

Laravel Version: 6.18.31
PHP Version: 7.4.7
Database Driver & Version: MySQL 8

Description:
When using the paginate method within a builder macro, some mapping goes wrong.
Steps To Reproduce:

Add some data

CREATE TABLE `cars` (`id` int, PRIMARY KEY (id));
CREATE TABLE `people` (`id` int AUTO_INCREMENT,`first_name` varchar(255), PRIMARY KEY (id));
CREATE TABLE `car_person` (`id` int AUTO_INCREMENT,`person_id` int,`car_id` int, PRIMARY KEY (id));

INSERT INTO `cars` (`id`) VALUES ('1');
INSERT INTO `people` (`first_name`) VALUES ('a');
INSERT INTO `people` (`first_name`) VALUES ('b');

INSERT INTO `car_person` (`id`, `person_id`, `car_id`) VALUES ('25', '1', '1');
INSERT INTO `car_person` (`id`, `person_id`, `car_id`) VALUES ('26', '2', '1');

Run the following code

use Illuminate\Database\Eloquent\Builder;
Builder::macro('customPaginate', function () {
	return $this->paginate(15);
});
class Person extends \Illuminate\Database\Eloquent\Model {
}
class Car extends \Illuminate\Database\Eloquent\Model {
	public function people() {
		return $this->belongsToMany(Person::class);
	}
}
$car = Car::findOrFail(1);
$car->people()->customPaginate()->getCollection();

The ids of the peoples in the collection is the id from the belongsToMany table, instead of the actual id of the person

Your query doesn't work properly because BelongsToMany has its own implementation of paginate() to select the right columns and your macro bypasses that.
You (also) need to register the macro on the Relation class.


Added project DayFORCE

Proposed a website “DayFORCE Ltd.” so as to solve our purpose and enabling the employee to get most of the information without any hassle.

do give a star to the repo 👍

DONE


Purpose of this Router?

I am working on my first Svelte app and have gotten the basics of Svelte Kit and Svelte figured out mostly. I previously used jquery and my own custom router that was a simple SPA router based on the hash change event. I liked that I could use the back arrow and be right back in the state I was in previously because a hash change did not cause a full refresh of the browser page.
Is this router intended to have some of the type of functionality? Im struggling with the full refresh between "pages" using the SvelteKit router. There are some very nice aspects of the SvelteKit routing and the server side module script load etc, but I am looking at how I might add that more SPA like approach, including using a hash to route to a particular subview or app state.

Hi, thanks for the interest!
Quick answer: yes, it's meant to preserve the full state of the "pages" the user opens during navigation and restore it when necessary.
Long answer: I created this library to solve the problem of having to deal with the extra complexity needed to implement state restoration inside all the different pages. In the demo you can see an example of a video tag being completely restored because it's never actually destroyed and recreated, it just gets parked in memory and brought back when the user comes back to the same "page".

Thanks! Im going to play around more with this router soon and hope to use it in the future.


security-proxy-setup in the snap doesn't have permissions to create $XDG_RUNTIME_DIR

To reproduce:
$ snap install edgexfoundry --channel=fuji/edge
error: cannot perform the following tasks:
- Start snap "edgexfoundry" (1635) services ([start snap.edgexfoundry.security-secrets-setup.service] failed with exit status 1: Job for snap.edgexfoundry.security-secrets-setup.service failed because the control process exited with error code.
See "systemctl status snap.edgexfoundry.security-secrets-setup.service" and "journalctl -xe" for details.
)

The journal log says this:
Nov 14 13:37:58 systemd[1]: Starting Service for snap application edgexfoundry.security-secrets-setup...
Nov 14 13:37:59 edgexfoundry.security-secrets-setup[97660]: level=ERROR ts=2019-11-14T19:37:59.272565345Z app=edgex-security-secrets-setup source=logger.go:73 msg="logTarget cannot be blank, using stdout only"
Nov 14 13:37:59 edgexfoundry.security-secrets-setup[97660]: level=INFO ts=2019-11-14T19:37:59.272842129Z app=edgex-security-secrets-setup source=generate.go:211 msg="pki-init generation completes"
Nov 14 13:37:59 edgexfoundry.security-secrets-setup[97660]: level=ERROR ts=2019-11-14T19:37:59.275949797Z app=edgex-security-secrets-setup source=main.go:120 msg="chdir /run/user/0/snap.edgexfoundry/edgex/security-secrets-setup/scratch: no such file or directory"
Nov 14 13:37:59 systemd[1]: snap.edgexfoundry.security-secrets-setup.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Nov 14 13:37:59 systemd[1]: snap.edgexfoundry.security-secrets-setup.service: Failed with result 'exit-code'.
Nov 14 13:37:59 systemd[1]: Failed to start Service for snap application edgexfoundry.security-secrets-setup.

and the denial log says this:
Nov 14 13:37:59 kernel: audit: type=1400 audit(1573760279.269:21541): apparmor="DENIED" operation="mkdir" profile="snap.edgexfoundry.security-secrets-setup" name="/run/user/0/" pid=97660 comm="security-secret" requested_mask="c" denied_mask="c" fsuid=0 ouid=0

In actuality this bug is a snapd from either https://bugs.launchpad.net/snap-confine/+bug/1620442 or https://bugs.launchpad.net/snappy/+bug/1656340.
However we can workaround this by just setting $XDG_RUNTIME_DIR to something other than /run/user/0. I think /tmp should be fine for this purpose.

@anonymouse64  Can this issue be closed?

@bnevis-i please leave this open for Geneva

This was already merged for Fuji, but still needs resolving in Geneva, so I changed the labels accordingly.

The forward-port PR for this to master will need https://github.com/edgexfoundry/edgex-go/pull/2135 to be merged first.

Draft PR based on 2135 here: https://github.com/edgexfoundry/edgex-go/pull/2147

Both #2135 and #2147 have been merged; closing this issue.  @anonymouse64 , please reopen if I have done so mistakenly.


UIINREACH-21: INN-Reach Record Contribution Settings: Configure FOLIO Libraries and Shelving Locations to INN-Reach Locations Mapping

deleted CONTRIBUTION_CRITERIA_PATH
renamed useServers hook
moved sections to constants folder
created a new setting "FOLIO to INN-Reach Locations" (UIINREACH-21)
covered with tests

yarn run v1.22.5
$ eslint ./ && stylelint "src/**/*.css"
/home/jenkins/workspace/folio-org_ui-inn-reach_PR-29/project/src/settings/routes/ContributionCriteriaRoute/ContributionCriteriaCreateEditRoute.js
84:17  error  'mutator.contributionCriteriaCreate' is missing in props validation       react/prop-types
84:44  error  'mutator.contributionCriteriaCreate.POST' is missing in props validation  react/prop-types
/home/jenkins/workspace/folio-org_ui-inn-reach_PR-29/project/src/settings/routes/FolioToInnReachLocations/FolioToInnReachLocationsCreateEditRoute.js
200:22  error  Unexpected mix of '||' and '&&'  no-mixed-operators
200:58  error  Unexpected mix of '||' and '&&'  no-mixed-operators
219:27  error  Unexpected mix of '||' and '&&'  no-mixed-operators
219:47  error  Unexpected mix of '||' and '&&'  no-mixed-operators
✖ 6 problems (6 errors, 0 warnings)
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Test errors found. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-inn-reach/job/PR-29/3/

Test errors found. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-inn-reach/job/PR-29/4/

Test errors found. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-inn-reach/job/PR-29/5/

yarn run v1.22.5
$ eslint ./ && stylelint "src/**/*.css"
/home/jenkins/workspace/folio-org_ui-inn-reach_PR-29/project/src/constants/sections.js
13:8  error  Useless path segments for "../constants", should be "./"  import/no-useless-path-segments
✖ 1 problem (1 error, 0 warnings)
1 error and 0 warnings potentially fixable with the --fix option.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.


TNS classification not being updated

TNS labels are not being updated in the portal
e.g. https://fink-portal.org/ZTF24aasmghi
which a SN in https://www.wis-tns.org/object/2024lua
https://fink-portal.org/ZTF24aatfxrw
https://www.wis-tns.org/object/2024ntb
Thanks :)
Anais

Thanks for reporting! This is weird indeed, I will inspect.

Found the bug! If you use the resolver (what is done under the hood):
In [1]: import pandas as pd
In [2]: import io
In [3]: import requests
In [4]: r = requests.post(
   ...:   'https://fink-portal.org/api/v1/resolver',
   ...:   json={
   ...:     'resolver': 'tns',
   ...:     'reverse': True,
   ...:     'name': 'ZTF24aasmghi'
   ...:   }
   ...: )
In [5]: pdf = pd.read_json(io.BytesIO(r.content))
In [6]: pdf
Out[6]:
   d:redshift  d:declination  d:fullname d:internalname        d:ra d:type       key:time
0       0.081      -8.361115  SN 2024lua   ZTF24aasmghi  326.260632  SN Ia<PHONE_NUMBER>017
1         NaN      -8.361131  AT 2024lua   ZTF24aasmghi  326.260667    nan<PHONE_NUMBER>758

there are 2 entries -- but we always take the last entry... I will fix this!

Interesting bug!
I am guessing the key:time may be useful to get the latest?
Thanks!

Fixed in #635 :-)