Collision Filtering and Modification

Future features in the readme lists Collision Filtering as something not yet implemented and I would like to get the ball rolling if possible.
Topics discussed in the xpbd help channel on Discord
Some topics that were discussed on Discord included:

Global physics hooks that can iterate over all collisions
Per-entity filter components

Filtering collisions with entities by EntityId
Filtering collisions by predicate

Being able to modify the individual contacts
The possibility of being able to use one-shot systems in the future
The possibility of being able to use entity relations to allow more efficient filtering

Global Physics hooks
Adding a schedule after the SubstepSet::NarrowPhase, and exposing a way to filter collisions from the Collisions resource gives a very open-ended and straightforward way to allow for modifying collisions.
I've got a working example on this fork here.
I'm in two minds about whether it's worth the schedule to have built-in sets (e.g. First, Filter, Modify, Last), or whether that complexity should be left up to the user. I can see a potential want to pre-filter collisions with faster filters before any slower ones execute, for example.
Per-entity filter components
@Jondolf suggested something in the following form:
ContactFilter::new()
        .with_excluded_entities([...])
        .with_predicate(|mut contact: ContactData| {
            // Modify contact (optional)
            contact.penetration = 0.1;
            // Return the contact or use None to ignore contact
            Some(contact)
        }),

It was also suggested that some form of combination rule may be needed to handle when two entities with conflicting filter predicates are present.
Modifying individual contacts
Being able to modify the individual contacts is desirable. Therefore, being able to return Some(contact) from a post-processing step is more useful than only being able to remove or keep collisions.
One-shot systems
@Jondolf showed the following code on Discord as something that it would be nice to be able to do. There was discussion about how this may not be possible with one-shot systems, but using run_system_with* may allow it as long as the overhead was acceptable.
* run_system_with was added to bevy with this merged but unreleased-at-the-time-of-writing pull request.
fn setup(mut commands: Commands, contact_hook_pipeline: ContactHookPipeline) {
    commands.spawn((
        ContactHook::new(
            &contact_hook_pipeline,
            |In(mut contact): In<ContactData>, query: Query<&MyBundle>| {
                // Modify contact, query for entities, do whatever
                // Return new contact data to narrow phase; if None, skip contact
                Some(contact)
            }
        ),
    ));
}

Entity Relations
Something along the lines of (Body1, CollidesWith(Contacts), Body2) was suggested by @Jondolf.
Bevy currently has a tracking issue for entity relations here: https://github.com/bevyengine/bevy/issues/3742
Other notes/questions
Should filtering be treated as a separate issue from modification?
My current personal needs for collision filtering are very simplistic: I just want to implement one-way platforms, which is easily solved by the first bullet point above. I therefore have a very narrow view of what needs exist when it comes to being able to filter/modify collisions, and so would like to get input from other interested parties.
One shortfall of bevy_rapier that I would like to avoid was that it seemed impossible to register more than one set of query params to use with collision hooks because the parameters are registered on the plugin itself as a generic type. Being able to access queries while filtering and modifying collisions seems very important in an ECS.
Where to go from here
I've started work on global filters and entity-entity collision exclusion in a fork here, but am looking for input. I'd be interested in creating a pull request at some point, even if it's only for the global collision hook, as it's a small enough change that gives quite a bit of power from the get-go.

Thanks for such a thorough issue!
I would say that we should kick things off in the initial PR with "global physics hooks/filters" and excluding specific entities. This is probably the easiest and least controversial part, and it should already be enough for a lot of use cases.
Below are some of my current thoughts.
Global physics hooks
For now, I would just add a custom schedule like you're currently doing. In my opinion, the separate system sets are unnecessary, since users can just use .after, .before and .chain to order the systems or create their own set. The schedule is basically empty by default, so there is nothing to order your systems relative to other than your own systems.
The main caveat with the approach of using a custom schedule and iterating over Collisions is that it adds a lot of iteration. We would iterate over all collisions once in the narrow phase, and however many times users iterate over them in their custom filter systems. With Rapier's approach, the filter is applied directly in the narrow phase, so it only iterates through all collisions once per physics frame (+ once in the solver).
The two main solutions I can currently come up with:

Rapier's approach of storing physics hooks in a resource and allowing users to implement the filtering logic. Fast, but not very flexible, ergonomic or ECS-like, and only allows one global filter.
Something like callbacks based on one-shot systems (again). Allows access to the ECS world, and could allow multiple (ordered) filters if the filtering systems are stored in e.g. a vector. Probably has extra overhead, needs to be benchmarked.

For now though, I think the approach of using a custom schedule like you're doing is perfectly fine for the initial implementation. Even if we eventually implemented some other approach, the filtering could still be done in the custom schedule.
Excluding specific entities
For excluding specific entities, I recommend moving the logic into the broad phase, next to the collision layer filtering. It's unnecessary and expensive to compute contacts in the narrow phase between entities that will be ignored later.
In terms of the component name, I'm a bit torn. CollisionFilter looks nice, but if it only contains excluded entities, some other name might make more sense. We also already have CollisionLayers, which is a type of collision filter but is under a separate component, so there might be some confusion.
I would say that it feels more ECS-like to have separate components for different types of filter/hook components, like ExcludedCollisionEntities (for the excluded entities), CollisionHook (for future predicate-based filtering) and ActiveCollisionTypes (for filtering by RigidBody type or whether a collider is a sensor, like Rapier). This would also play nicer with change detection, and if we really wanted to group the filters for querying ergonomics, we could instead have CollisionFilter be a world query. These names are just examples though, I'm open to other names.
Entity-level contact hooks
Component-based contact hooks/filters using something like one-shot systems would definitely be nice to have, and they would allow for ergonomic entity-specific logic without having to iterate over all of Collisions.
However, this will require some experimentation to discover potential caveats and find the best approach. I'm not sure if using callbacks like this is considered good or bad practise in the context of an ECS, as it hasn't really been possible before. I also suspect that one-shot systems would have extra overhead which might be significant if many entities have custom contact hooks.

Apologies I've been a while getting back to you. I had some personal stuff come up so I haven't had much time to look at this.
Of the things above, I think adding a global filter is the one we're in agreement with, so I've created a pull request just implementing that. It includes an example in 2d of using the filter to implement a one-way platform.

Hi! It's been a while, but a quick update:
I would consider #610 to be the correct solution for contact filtering and modification. Global collision hooks exist in pretty much all engines I know, and should be flexible enough to efficiently handle the vast majority of advanced contact scenarios (one-way platforms, conveyor belts, non-uniform friction...).
Per-entity contact filtering and modification on the other hand is something that I think is just very tricky / impossible to do efficiently, if we want the hooks to have ECS access. To do it without severe performance or usability implications, the hooks must be executed immediately, in a potentially parallel loop. It would require exclusive world access, and just isn't very viable here I think. One-shot systems, observers, etc. wouldn't really work.
We could just do per-entity hooks that only provide the entity IDs, maybe some collider components (since those might be available in the system already), and mutable access to the contacts, but even then it's not problem-free. What if both entities in a collision have hooks? Users might need to take special care to make sure they don't do duplicate work, or to consider the order in which hooks are called, and it quickly becomes a mess. Before doing any work on this, I think I would at least want some really solid practical use cases where per-entity hooks would be useful/necessary, and a reason you couldn't just use global hooks or collision layers for it.
Also FYI, it's pretty likely that PostProcessCollisions will be removed in favor of the collision hooks in #610. Running a whole schedule in between contact logic isn't ideal, and seems to prevent some important optimizations I'm working on. Ultimately, I would put performance ahead of the hyper-flexibility of an entire schedule, especially since the hooks should still be enough for basically all scenarios I can think of. I haven't removed it just yet though.
Anyway, just wanted to give my current thoughts on this over a year later. I think I'll close this issue once #610 is merged. New, more narrowly scoped issues can be made afterwards if there are still open questions.


[TFLite] Read input tensor info from model

As Title
@FrozenGene @u99127 @inadob @kevinthesun
Help with application integration where we dont have to read the TFLite inputs to create the dtype and shape dict.

Closing the PR. Realized the changes are specific to Framework. And we can keep this in the application layer.


idf-eclipse-plugin`s "SDK Configuration" does not display some Kconfig menu !!!! (IDFGH-6010)

SDK Configuration 不会显示Kconfig 菜单项目，如果它是用 depends on 来控制菜单是否可见。
The SDK Configuration does not display Kconfig menu items if it uses "depends on" to control whether the menu is visible.

将菜单的可见性控制改成"visible if"就会正常显示菜单。
Changing the menu visibility control to "visible if" will display the menu normally.

这个问题从一直存在，即使是最新版本的插件。但是它可以通过将KConfig中的脚本更改后得到修复。
This problem has always existed, even with the latest versions of plug-ins. But it can be fixed by changing the script in KConfig.
I also submitted the same Issue in idf-eclipse-plugin
https://github.com/espressif/idf-eclipse-plugin/issues/375

Thanks for reporting, will close this ticket and keep tracking in https://github.com/espressif/idf-eclipse-plugin/issues/375.


emit error stats for both client and server sides

@Raynos @charliezhang

We also have to emit the same event in the airlock wrapper.

lgtm.


Memory leak of default value arguments

Brief Description
Hello!
I'm generating C# bindings for ImGUI and have the problem of memory leaks of default argument values.
Here is an example:
Used headers
    // c++ defintion
    IMGUI_API bool BeginChild(ImGuiID id, const ImVec2& size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = 0);

    // c#: function for call BeginChild() with default arguments
    public static bool BeginChild(string str_id)
    {
        return BeginChild(str_id, new global::ImGUI.ImVec2(0, 0), false, 0);
    }

    // c#: constructor of default argument
    public ImVec2(float _x, float _y)
    {
        __Instance = Marshal.AllocHGlobal(sizeof(global::ImGUI.ImVec2.__Internal))
        __ownsNativeInstance = true;
        NativeToManagedMap[__Instance] = this;
        __Internal.ctor(__Instance, _x, _y);
    }

In the C# function BeginChild() an ImGUI.ImVec2 is created, but its Dispose function is never called. Shouldn't temporary objects in such functions be released directly? Or is there an option to free the memory "somehow"?
Used settings
options.GenerateDefaultValuesForArguments = true;
options.GenerateFinalizers = true;
Target: MSVC
OS: Windows 10

@firesgc thank you for your report. We've known about this problem but it's really difficult to think of a way to free the default parameter while at the same time preserving a convenient API. Our current plan is to implement the standard IDisposable pattern on all generated classes with the addition of calling the native destructor in the finalizer if necessary. The only issue and therefore reason not to have done it yet is that we have a mapping between native and managed objects in order to ensure the same wrapper is used for the same native object. This map is a dictionary which holds objects alive. One possible solution is weak references but they might release the object when it's still needed. But the bottom-line is that if we had this solution in place, it would solve your problem too.

Thank you very much indeed! Do you think this will be added in the near future? If not, I will disable the default parameter generation and do it manually.

@firesgc I cannot promise any deadline at present. If the matter's urgent, you might be better off disabling them.


Cut, Copy and Paste don't work

Describe the bug
Cut, Copy and Paste don't work
Expected behavior
Selecting code and ctrl+x should delete it and store it in the clipboard
Selecting code and ctrl+c should leave it and store it in the clipboard
Selecting code and ctrl+v should paste in weather or not it's in the same function or script
At anytime if you paste in a different function or script it should just work.
Actual behavior
Selecting code and ctrl+x doesn't delete
Selecting code and ctrl+c works
Selecting code and ctrl+v works if you have copies and are in the same script
At anytime if you paste into a different script godot crashes.
How to Reproduce?

Make two script A and B
open A and make two code nodes
open B
try to cut and paste the two code nodes from A back again to A
try to cut and paste the two code nodes from A back again to A in a different function
try to cut and paste the two code nodes from A to B
try to copy and paste the two code nodes from A to B

Godot full version
4.3
Orchestrator version
2.1
Additional information
I tried the best I could to describe the bugs but it seems it's different whether you cut or copy or paste in the same function or same script.

https://github.com/CraterCrash/godot-orchestrator/issues/714
https://github.com/CraterCrash/godot-orchestrator/issues/724


Bump up github.com/docker/docker to v25.0.6 version.

Which area is this issue related to?
/area library
/area registry
/area test-automation
Issue Description
The following repos need to be updated and their modules should use github.com/docker/docker version v25.0.6
devfile/library

[x] library: Suggested fix is https://github.com/devfile/library/pull/221

devfile/registry

[ ] tests/odov3: https://github.com/devfile/registry/pull/461 has been opened to address the issue.
[ ] tests/validate_devfile_schema: library fix needs to be merged first & then we should bump up its dependency.

devfile/registry-support

[ ] tests/integration: Suggested fix is https://github.com/devfile/registry-support/pull/251
[ ] index/generator: library fix needs to be merged first & then we should bump up its dependency
[ ] index/server: library fix needs to be merged first & then we should bump up its dependency
[ ] registry-library: The registry-generator fix needs to be merged first & then we should bump up its dependency

devfile/registry-operator

[ ] Fix is suggested here: https://github.com/devfile/registry-operator/pull/93

Acceptance Criteria

[ ] All modules in library, registry, registry-support & registry-operator are using github.com/docker/docker v25.0.6

Since the dependency bump is a critical severity we should be cutting new releases for affected items, I can cut a new library release so we can pull that dependency into most of the action items

Added action item to registry-operator to bump up the registry-library hash to pull in the fix as well: https://github.com/devfile/registry-operator/blob/main/go.mod#L7

Since the dependency bump is a critical severity we should be cutting new releases for affected items, I can cut a new library release so we can pull that dependency into most of the action items

+1 for the new release. Initially I thought only updating the hash but it feels much cleaner. I've updated the criteria to include this action. As you're now the assignee feel free to update them as you see fit <3

blocks https://github.com/devfile/api/issues/1605


This value cannot be null

Hello,
I am trying to implement your example with UsersDataTable.
When calling usersAction, I get an error "this value cannot be null".
Service with id "users" is added in DataTables->addServices
Error occurs DataTables->handle function because $params->draw, starts, ... are null and don't pass vaidation.
I should have missed something.
I am using Symfony 3.4 with PHP 7.1
Thank you.

Hello,
Sorry, I'm not sure what's happening, let me please try to replicate it first, using the same Symfony version.

Do you use DataTables-service autoloading, or do you configure it manually?
What is the DataTables version you use? I mean jQuery plugin's version, e.g. 1.10.18.

Best regards,
Artem

Hello,
I use autoloading and I can see in debugger that service is loaded.
DataTables version is 1.10.19
It seems it is an AJAX problem.
Best regards,
Frederic

Hello,
I have switched to another solution.
Don't waste your time on my problem.
Regards,
Frederic


Version changelog preview

Description
Currently, I can only see the result of the version changelog, after running the codelog release <x.y.z> command. The problem here is that I want to see a preview of the generated .md file without deleting all the changes from changelogs/unreleased.
I suggest a method option to the release command, to generate that preview file, like codelog release --preview <x.y.z>.

Closed by #42


Option to Untick/Tick Cinematic Start/End needs fixing

in-game the cinematic can be skipped via toolbox but in its game settings the checkbox for flashing in taskbar window the checkbox will still be enabled even if u turn the setting off and on from when u restart the game completely and start toolbox at any point
there should an option to permanently allow u to turn it off and on again without the need to restart the client and toolbox
I will leave a screenshot here: https://i.imgur.com/MPd12on.jpg

Fixed for next release, ta


Cassandra UDT displaying as Null

Version 3.85.  I see this was fixed in a prior version but is back
`CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}  AND durable_writes = true;;
CREATE TYPE test.udt_citystate (
city text,
state text
);
CREATE TABLE test.people (
Name text,
date date,
citystate FROZEN<udt_citystate>,
PRIMARY KEY (Name, date)
);
insert into test.people (Name,date,citystate) values ('FRED','2017-07-03',{city:'Houston',state:'Texas'});
select * from test.people;`

Fixed in 4.0


Follow multiple redirects instead of just one

This question gave a reasonable scenario of four redirections, and it looks like browsers allow 10-20, which is closer to what I thought. I think 20 seems generous but not too much of a time-waster.
Originally posted by @jacalata in https://github.com/tableau/server-client-python/pull/1125#discussion_r981828954

related: how about supporting redirects for all API requests in general?
diff --git a/tableauserverclient/server/endpoint/endpoint.py b/tableauserverclient/server/endpoint/endpoint.py
index b1a42b2..4425574 100644
--- a/tableauserverclient/server/endpoint/endpoint.py
+++ b/tableauserverclient/server/endpoint/endpoint.py
@@ -83,7 +83,11 @@ class Endpoint(object):
             redacted = helpers.strings.redact_xml(content[:1000])
             logger.debug("request content: {}".format(redacted))

-        server_response = method(url, **parameters)
+        server_response = method(url, allow_redirects=False, **parameters)
+        if server_response.status_code == 301:
+            server_response = method(
+                server_response.headers["Location"].split("?")[0], allow_redirects=False, **parameters
+            )
         self._check_status(server_response, url)

         loggable_response = self.log_response_safely(server_response)

Rationale: I've just migrated a Tableau Server to a new domain and set up redirect from old domain to new to support user bookmarks, but this breaks scripts using server-client-python because a POST becomes a GET following an HTTP 301 redirect and they have very different meanings in REST API (and no I cannot use an HTTP 308 redirect because AWS, boo).

That sounds pretty doable, I hadn't thought of a use-case for it.


ContextMenu: Opening a sub-menu will prevent mouse interaction with the parent menu level.

Describe the bug
As in the title and in the attached video - if sub-menu shows up and you hover over an element in it then interaction with the parent level of items becomes impossible.
There is also another problem - moving mouse from one parent element to another becomes very laggy if sub-menu begins to open.
Screenshots
https://user-images.githubusercontent.com/2588062/107791642-799dd780-6d54-11eb-978e-fafe23bb34f3.mp4
Desktop (please complete the following information):

OS: Windows
Version: Current master

this works fine in released  0.10.0

This problem has been introduced a few days after the release it seems. Since there were a few changes in how menu interaction works.

Seems to have been caused by #5295


gh-386: Extract API endpoint definition into separate file

Closes #386

Hmm. It appears that this is the location where go-swagger puts it's generated code.


Remove string helpers

This is handled by PHP 8 and can easily be polyfilled.
Timber is full of helpers that already exists either in WordPress or PHP (and can easily be polyfilled).

Coverage: 88.599% (-0.01%) from 88.609% when pulling 9c0835a303060ae56d400728018cbb6b18dbeb05 on 2.x-remove-string-helpers into 3ac8aca653ebcab5ea524664fab07c761841a7a1 on 2.x.


How to use this pre-trained model for Transfer Learning?

How to load this pre-trained model without including the top layer so that is could use it for Transfer Learning?
I was unable to find it here.
https://tfhub.dev/deepmind/i3d-kinetics-600/1
Please help

Did you find a way to do this?

No, not yet
On Tue, Jul 21, 2020 at 8:04 PM Soumi Bardhan<EMAIL_ADDRESS>wrote:

Did you find a way to do this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/deepmind/kinetics-i3d/issues/103#issuecomment-661898847,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJBAK2R23H6APMSMYC7G7PLR4WRPHANCNFSM4NJGFYAQ
.

--
Gayan Deegala,
Undergraduate,
Faculty of Information Technology,
University of Moratuwa,
10400, Katubadda, Moratuwa,
Sri Lanka.
<EMAIL_ADDRESS>(+94) 71 711 5505

I am also trying. Please share if anyone has any update or success. @gayanDeegala @Soumi7

Did anyone find some method?

Hi, did anyone find a way yet?


Neptune-Core: Stack Trace on Shutdown

After starting neptune-core with ./scripts/linux/run-single-instance, running it for about 15s, and then terminating with Ctrl-C. This happens on my laptop which has 12 threads and 31 GB of RAM.
^CI0:  main_loop: Detected Ctrl+c signal.
I0:  main_loop: Received SIGINT
I0:  main_loop: Shutdown initiated.
I0:  main_loop: sent bye
alan@olivas:~/repos/neptune-core$ I0:  models::state: Flushed all databases
I0:  main_loop: Shutdown completed.
I0:  job_queue::queue: JobQueue: received stop message.  stopping.
thread 'tokio-runtime-worker' panicked at src/job_queue/queue.rs:165:48:
called `Result::unwrap()` on an `Err` value: SendError { .. }
stack backtrace:
   0: rust_begin_unwind
             at /rustc/fbab78289dd8c6e8860034e0048cfb538f217700/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/fbab78289dd8c6e8860034e0048cfb538f217700/library/core/src/panicking.rs:75:14
   2: core::result::unwrap_failed
             at /rustc/fbab78289dd8c6e8860034e0048cfb538f217700/library/core/src/result.rs:1698:5
   3: core::result::Result<T,E>::unwrap
             at /home/alan/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1103:23
I0:  job_queue::queue::JobQueue<P>::start::{{closure}}
             at ./src/job_queue/queue.rs:165:29
   5: <tokio_util::task::task_tracker::TrackedFuture<F> as core::future::future::Future>::poll
             at /home/alan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-util-0.7.11/src/task/task_tracker.rs:669:9
   6: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/alan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.40/src/instrument.rs:321:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

After some digging help from @Sword-Smith:

The stack trace is generated on line 165 of src/job_queue/queue.rs by the call to unwrap().
No stack trace is generated when the max log2 padded height is set to 15.
We think it is related to line 137.. in src/models/proof_abstractions/tasm/prover_job.rs that deals with what happens if proof complexity is exceeded return Err(ProverJobError::ProofComplexityLimitExceeded { [...].

Handing off to @dan-da since he knows the architecture of the proof queue better and since he probably already has 85% of a solution lying around somewhere.

Here's another stack trace I saw when shutting down the client with ctrl + c while composing:
I0:  peer_loop: Responding with: [([::ffff:<IP_ADDRESS>]:29791,<PHONE_NUMBER>72526109330102094169730634519), ([::ffff:<IP_ADDRESS>]:29792,<PHONE_NUMBER>93612143812170491281724457518)]
I2:  main_loop: Attempting to run transaction-proof-upgrade
I2:  main_loop: Found no transaction-proof to upgrade
I2:  peer_loop: Received peer list resp from peer [::ffff:<IP_ADDRESS>]:59618
I2:  main_loop: Received message sent to main task.
I2:  main_loop: Received peer discovery answer from a peer task
^CI2:  main_loop: Received SIGINT
I0:  main_loop: Received SIGINT
I2:  main_loop: Detected Ctrl+c signal.
I0:  main_loop: Detected Ctrl+c signal.
I2:  main_loop: Shutdown initiated.
I2:  main_loop: sent bye
I0:  main_loop: Shutdown initiated.
I0:  main_loop: sent bye
I2:  peer_loop: Handling disconnect all message from main in peer loop
I0:  peer_loop: Handling disconnect all message from main in peer loop
I0:  peer_loop: handle_main_task_message is closing the connection to [::ffff:<IP_ADDRESS>]:56168
I0:  peer_loop: Handling disconnect all message from main in peer loop
I0:  peer_loop: handle_main_task_message is closing the connection to [::ffff:<IP_ADDRESS>]:29792
I2:  peer_loop: handle_main_task_message is closing the connection to <IP_ADDRESS>:29791
I0:  peer_loop: Exited peer loop for [::ffff:<IP_ADDRESS>]:56168
I2:  peer_loop: Handling disconnect all message from main in peer loop
I2:  peer_loop: handle_main_task_message is closing the connection to [::ffff:<IP_ADDRESS>]:59618
I2:  peer_loop: Exited peer loop for <IP_ADDRESS>:29791
I0:  peer_loop: Exited peer loop for [::ffff:<IP_ADDRESS>]:29792
I1:  main_loop: Received SIGINT
I2:  peer_loop: Exited peer loop for [::ffff:<IP_ADDRESS>]:59618
thv@mjolnir:~/repos/neptune-core$ I0:  job_queue::queue:   *** JobQueue: ended job #58 - 472.93497 secs ***
I0:  models::state: Flushed all databases
I0:  connect_to_peers: Fetched peer info standing 0 for peer [::ffff:<IP_ADDRESS>]:56168
I2:  models::state: Flushed all databases
I2:  connect_to_peers: Fetched peer info standing 0 for peer <IP_ADDRESS>:29791
I0:  connect_to_peers: Stored peer info standing 0 for peer [::ffff:<IP_ADDRESS>]:56168
I0:  peer_loop: Ending peer loop for [::ffff:<IP_ADDRESS>]:56168
I0:  connect_to_peers: Fetched peer info standing 0 for peer [::ffff:<IP_ADDRESS>]:29792
I0:  connect_to_peers: Stored peer info standing 0 for peer [::ffff:<IP_ADDRESS>]:29792
I0:  peer_loop: Ending peer loop for [::ffff:<IP_ADDRESS>]:29792
I0:  connect_to_peers: Connection closing
I2:  connect_to_peers: Stored peer info standing 0 for peer <IP_ADDRESS>:29791
I2:  peer_loop: Ending peer loop for <IP_ADDRESS>:29791
I2:  connect_to_peers: Connection closing
I2:  connect_to_peers: Fetched peer info standing 51 for peer [::ffff:<IP_ADDRESS>]:59618
I2:  connect_to_peers: Stored peer info standing 51 for peer [::ffff:<IP_ADDRESS>]:59618
I2:  peer_loop: Ending peer loop for [::ffff:<IP_ADDRESS>]:59618
I2:  main_loop: Shutdown completed.
I2:  job_queue::queue: JobQueue: received stop message.  stopping.
thread 'tokio-runtime-worker' panicked at /home/thv/repos/neptune-core/src/mine_loop.rs:517:26:
unexpected error while composing: external proving process failed

Caused by:
    proving process did not return any exit code

Stack backtrace:
   0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
             at /home/thv/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.86/src/backtrace.rs:27:14
   1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at /home/thv/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:2008:27
I0:  models::proof_abstractions::tasm::program::prove_consensus_program::{{closure}}
             at ./src/models/proof_abstractions/tasm/program.rs:187:8
I0:  models::proof_abstractions::tasm::program::ConsensusProgram::prove::{{closure}}
             at ./src/models/proof_abstractions/tasm/program.rs:141:14
I0:  models::blockchain::transaction::validity::single_proof::SingleProof::produce::{{closure}}
             at ./src/models/blockchain/transaction/validity/single_proof.rs:301:14
stack backtrace:
   0: rust_begin_unwind
             at /rustc/3ed6e3cc69857129c1d314daec00119ff47986ed/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/3ed6e3cc69857129c1d314daec00119ff47986ed/library/core/src/panicking.rs:74:14
I0:  mine_loop::mine::{{closure}}
             at ./src/mine_loop.rs:517:26
I0:  initialize::{{closure}}::{{closure}}
             at ./src/lib.rs:236:18
   4: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /home/thv/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:123:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

The reported issue should be fixed in aa009d0dab1f529ccdbdae2f05d4e623ef3cbdb9.

Here's another stack trace I saw when shutting down the client with ctrl + c while composing:
unexpected error while composing: external proving process failed

Caused by:
    proving process did not return any exit code

this is a different issue.  I will keep an eye out for it, and think about it.
note that mine_loop now explicitly checks for proving errors and:

pauses mining if the error is ProofComplexityLimitExceeded
intentionally panics if the error is anything else.  (which is happening here)

it would be a simple change, and perhaps the right thing, to just pause mining loop for any proving error.   As one example, a user could have intentionally killed the triton-vm-prover.  Should that end neptune-core or not?
Unfortunately there does not appear to be any reliable cross platform way to detect if a child process was terminated or exited on its own.  So what we end up with is that it either exited with 0, with non-zero, or with no exit code at all.   On unix, the latter generally means it was killed via a signal.  But on windows a kill may be one of various exit codes.
anyway, I'm closing this.  we can open another issue for the 2nd stack trace if need be.


Temp fix for more reliable builds

We have a test in our makefile that has been preventing builds if any files in content/en/examples are changed. This is mainly due to our deprecation of Travis and missing variables.
This PR removes the test to allow more reliable builds, however it doesn't fix the root problem and reduces the testing surface on k/website.
I'm looking for @lucperkins to suggest a long term fix.
/cc @zacharysarah

/lgtm
/approve


[SPARK-30234][SQL][FOLLOWUP] Rename spark.sql.legacy.addDirectory.recursive.enabled to spark.sql.legacy.addSingleFileInAddFile

What changes were proposed in this pull request?
Rename spark.sql.legacy.addDirectory.recursive.enabled to spark.sql.legacy.addSingleFileInAddFile

Why are the changes needed?
To follow the naming convention

Does this PR introduce any user-facing change?
No

How was this patch tested?
Existing UTs.

@cloud-fan @Ngone51 @maropu

ok to test

Merged build finished. Test PASSed.

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

Test build #119075 has started for PR 27725 at commit 346b3e8.

Test build #119075 has finished for PR 27725 at commit 346b3e8.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #119079 has started for PR 27725 at commit 346b3e8.

Merged build finished. Test PASSed.

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

Test build #119079 has finished for PR 27725 at commit 346b3e8.

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

Merged build finished. Test PASSed.

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

To me, legacy just sounds like the previous behavior is not good, especially there's some problem with it.

I doesn't necessarily have to have a problem with it. We have a legacy configuration based on case-by-case, for example, when the previous behaviour has been widely used, newer behaviour supersedes the old behaviour, etc. Note that bugs have to be problem without legacy config as a general guideline!
spark.sql.legacy.addSingleFileInAddFile supersedes old behaviour, and we will remove this configuration away in the future because disabling spark.sql.legacy.addSingleFileInAddFile will support both a directory and single file.
Also, I don't actually completely buy this argument https://github.com/apache/spark/pull/26863#discussion_r378715586 since we already have different default values for legacy configurations, e.g., spark.sql.legacy.replaceDatabricksSparkAvro.enabled vs spark.sql.legacy.setopsPrecedence.enabled. I only buy the argument about the namespace. Doesn't quite matter if it's called directory or file.

Merged to master and branch-3.0.

But, in this case, does Spark has a strong prefer to recommend user to use add directory when using ADD FILE? I think it depends on use case, right?

Spark will have support a directory in ADD FILE as a Hive compatibility concern as discussed in https://github.com/apache/spark/pull/26863.


Syntax sugar for pass

I'm super not sure about this idea, just dump it not to forget

Problem
Sometimes we need to make hacks like this:
bar Pass
---
foo -> .bar -> bar
(bar + 2) -> println

It's impossible to (foo.bar + 2) -> println because struct selectors are no longer independent senders, they are not only possible as parts of chained connections (see #653 for details), so we use Pass as a proxy

This is just an example, even if we would support both types of struct selectors, there might be other cases, where this feature might reduce code complexity. We however need to first think about those cases and list them here

Proposal
Introduce syntax sugar e.g. using = as with constants.
bar = b -> .c
(bar + 2) -> println

One might read this as "we pass b to .c and 'save' result to intermediate node 'bar', that we can read from in binary expression to then print it".
Problems

Only works with connections that can be chained
Might introduce confusion, it looks like a sequential controlflow construction, while it's completely dataflow and async

Related (basically alternative) to #758

Assignment syntax sugar
Introduce syntax sugar e.g. using = as with constants.
bar = b -> .c
(bar + 2) -> println

One might read this as "we pass b to .c and 'save' result to intermediate node 'bar', that we can read from in binary expression to then print it".
Problems

Only works with connections that can be chained
Might introduce confusion, it looks like a sequential controlflow construction, while it's completely dataflow and async

Related (basically alternative) to #758


Implement carousel components and enhance UI features

Carousel 1: Added image slides with manual controls
Carousel 2: Added auto-scrolling text slides
Updated layout with responsive styling and improved alignment
Included preview and code toggle functionality

great job. but I have some change requests. remove the images from the public folder and add link to the data not need to store images in our project.

okay, now the problem is fixed. I remove the image from the public folder and instead of image I use the free image api.


Create a pull request template

Is your feature request related to a problem? Please describe.
We need a good pull request template, but I don't really know what it would entail.
Describe the solution you'd like
A template that works well and fits the needs of every pull request (we can have multiple if need be, but one is optimal). This should make it easy for moderators to see the changes and have the most efficient code review.
Describe alternatives you've considered
A guideline for how to write pull requests could also be added to the CONTRIBUTING.md file, but a direct pull request template is probably better.
Additional context
Here is github's guide, but it just goes over how to make the pull request template. Microsoft has a great template/tips post that can be found here.


qovery-cli: 0.69.1 -> 0.70.0

Diff: https://github.com/Qovery/qovery-cli/compare/refs/tags/v0.69.1...v0.70.0
Changelog: https://github.com/Qovery/qovery-cli/releases/tag/v0.70.0
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

qovery-cli


Fix key signature error page

When the GPG key contains an error, such as an invalid signature or an email address that does not match the user.A page will be shown that says you must provide a signature for the token.
This page had two errors: one had the wrong translation key and the other tried to use an undefined variable .PaddedKeyID, which is a function implemented on the GPGKey struct, given that we don't have that, we use KeyID which is the fingerprint of the publickey and is a valid way for opengpg to refer to a key.

Before:

After:

Backport for v1.18: #22230
Backport for v1.17: #22231


check for phpcs.xml in project

This should check for phpcs.xml or phpcs.ruleset.xml in the project directory like linter-phpcs

Hi - can you point me to where that feature is documented? I'm not aware of it. Thanks.

https://github.com/AtomLinter/linter-phpcs/blob/master/lib/main.coffee#L110
Here is where they implement it

Hi - this looks like it could be useful, but it's not something I have any use for at the moment, and I'm not really into reverse engineering the spec from the linter-phpcs implementation.
Happy to review a pull request if you (or anyone else) want to provide one.


SassError: Can't find stylesheet to import. -> @import<EMAIL_ADDRESS>

I'm submitting a ... (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
I am using @swimlane/ngx-datatable in one of my Angular Projects, when I do ng build --configuration=myconfig on my local system, it builds without any errors and it even runs well by doing ng serve.
The problem is when I try to run same commands on Github Actions it fails with following errors:
./src/styles.scss - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Can't find stylesheet to import.    ╷ 13 │ @import<EMAIL_ADDRESS>   │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ╵   src/styles.scss 13:9  root stylesheet     at processResult (/home/runners/actions-runner/_work/ui/ui/node_modules/webpack/lib/NormalModule.js:713:19)     at /home/runners/actions-runner/_work/ui/ui/node_modules/webpack/lib/NormalModule.js:819:5     at /home/runners/actions-runner/_work/ui/ui/node_modules/loader-runner/lib/LoaderRunner.js:400:11     at /home/runners/actions-runner/_work/ui/ui/node_modules/loader-runner/lib/LoaderRunner.js:252:18     at context.callback (/home/runners/actions-runner/_work/ui/ui/node_modules/loader-runner/lib/LoaderRunner.js:124:13)     at Object.callback (/home/runners/actions-runner/_work/ui/ui/node_modules/sass-loader/dist/index.js:54:7)     at Worker.<anonymous> (/home/runners/actions-runner/_work/ui/ui/node_modules/@angular-devkit/build-angular/src/sass/sass-service.js:134:25)     at Worker.emit (node:events:513:28)     at MessagePort.<anonymous> (node:internal/worker:236:53)     at MessagePort.[nodejs.internal.kHybridDispatch] (node:internal/event_target:736:20) Error: Process completed with exit code 1.
StackOverflow Link
Expected behavior
It should compile and run the requied libraries on github actions, same as local machine.
Note: If I comment bootstrap.scss from my styles.scss file, it throws same error to the next import which are as follows:
@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>
Reproduction of the problem

Please tell us about your environment:

Github Actions using docker

Table version:

"@swimlane/ngx-datatable": "^20.0.0",

Angular version:

"@angular-devkit/build-angular": "~12.2.7", "@angular/cli": "~12.2.7", "@angular/compiler-cli": "~12.2.0"
node version: 16.17.1

Browser: [all]

Language: [TypeScript 4.3.5]

I had the same error, only with material.scss which I imported in my style.scss like this:
@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>
In the end, I moved those lines to the styles configuration under angular.json:
            "styles": [
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>              "src/styles.scss"
            ],

And it starts working again. I coudn't figure the reason why tho

The problem seems to be caused by the "export" node in package.json
It should be something like
{
  ...
  "exports": {
    "./package.json": {
      "default": "./package.json"
    },
    ".": {
      "types": "./swimlane-ngx-datatable.d.ts",
      "esm2020": "./esm2020/swimlane-ngx-datatable.mjs",
      "es2020": "./fesm2020/swimlane-ngx-datatable.mjs",
      "es2015": "./fesm2015/swimlane-ngx-datatable.mjs",
      "node": "./fesm2015/swimlane-ngx-datatable.mjs",
      "default": "./fesm2020/swimlane-ngx-datatable.mjs"
    },
    "./index.css": "./index.css",
    "./index.scss": "./index.scss",
    "./assets/": "./assets/",
    "./themes/": "./themes/"
  },
  ...
}

This is because ~ expressions are deprecated in Angular 14.
https://stackoverflow.com/questions/70082698/tilde-in-scss-use-statement-no-longer-resolving-to-node-modules-as-of-angular
Solution:

add following property after style in angular.json
"stylePreprocessorOptions": { "includePaths": [   "./node_modules" ] }
remove all ~ from global.scss

Hi, I'm using Angular 15. In my case, the compiler complains about the exports issue pointed out by @antonio-spinelli here. So I suppose the right solution would be modifying ngx-datatable to export the required CSS.
Here is the compiler error:
./src/app/styles/styles.scss - Error: Module build failed (from ./node_modules/css-loader/dist/cjs.js):
Error: Package path ./index.css is not exported from package /home/xxxx/user-console/node_modules/@swimlane/ngx-datatable (see exports field in<EMAIL_ADDRESS>
I'm using another library (Nebular) that exports its CSS files, and I can import them as follows:
// Works
@use "@nebular/theme/styles/themes/default";
// Fails
@import<EMAIL_ADDRESS>// Works
@import<EMAIL_ADDRESS>
Their exports key (in my node_modules) looks like:
  "exports": {
    "./styles/core/mixins": {
      "sass": "./styles/core/_mixins.scss"
    },
    "./styles/core/variants": {
      "sass": "./styles/core/_variants.scss"
    },
    "./styles/global/typography/typography": {
      "sass": "./styles/global/typography/_typography.scss"
    },

    ...

    "./package.json": {
      "default": "./package.json"
    },
    ".": {
      "types": "./nebular-theme.d.ts",
      "esm2020": "./esm2020/nebular-theme.mjs",
      "es2020": "./fesm2020/nebular-theme.mjs",
      "es2015": "./fesm2015/nebular-theme.mjs",
      "node": "./fesm2015/nebular-theme.mjs",
      "default": "./fesm2020/nebular-theme.mjs"
    }

My includePaths does contain only my styles (that import the @nebular and ngx-datatable styles):
            "styles": [
              "src/app/styles/styles.scss"
            ],
            "stylePreprocessorOptions": {
              "includePaths": [
                "src/app/styles"
              ]
            },

I tried migrating from 20.0.0 to 20.1.0 but couldn't find a workaround for this issue.

Do you know if this library is maintained? There was no update on this library for a long time, so I had to switch to<EMAIL_ADDRESS>

I'm using Ionic Angular 6.1 (with Angular 15). I adjusted the import lines in-place in my project's ./src/global.scss and it works:
@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>@import<EMAIL_ADDRESS>


Sprite Editor - Remove redundant input fields

Clean up the UI to remove fields no longer needed in the tool

[x] Remove CPS
[x] Remove PGS

This is done.


no matching manifest for linux/arm64/v8 in the manifest list entries

I am using MAC and when trying to pull the image I got the error:
no matching manifest for linux/arm64/v8 in the manifest list entries

@JoaoPedroAlex Liberty images for linux/arm64 are not available. It's on our roadmap but we don't have a timeline to share at this time.
You can override the arch of the image to pull by the --platform or the --arch parameter.
Example:
podman pull icr.io/appcafe/websphere-liberty:<IP_ADDRESS>-kernel-java17-openj9-ubi --platform linux/amd64
OR
podman pull icr.io/appcafe/websphere-liberty:<IP_ADDRESS>-kernel-java17-openj9-ubi --arch amd64
The same can be done to run the image. i.e. podman run --platform linux/amd64 icr.io/appcafe/websphere-liberty:<IP_ADDRESS>-kernel-java17-openj9-ubi
Notice that I've used the images from the IBM Container Registry (ICR) instead of Docker Hub in the above examples. Only the UBI-based images are available in ICR. If you need the Ubutu-based images, they are available from Docker Hub only. Our recommendation is to use ICR when possible. ICR is managed by IBM and doesn't impose any pull rate limits like Docker Hub. More information on UBI images in ICR can be found here: https://github.com/WASdev/ci.docker/blob/main/docs/icr-images.md


feat(host): adapt pytorch distributed communication style in torch-elastic and traffic no redirect mode.

adapt pytorch distributed communication style in torch-elastic.
support traffic no redirect in hostnetwork mode.

Signed-off-by: SimonCqk<EMAIL_ADDRESS>
Ⅰ. Describe what this PR does
II. Does this pull request fix one issue?

III. Special notes for reviewers if any.

Codecov Report

Merging #245 (79943cd) into master (c1f315a) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #245   +/-   ##
=======================================
  Coverage   30.19%   30.19%
=======================================
  Files          80       80
  Lines        5219     5219
=======================================
  Hits         1576     1576
  Misses       3427     3427
  Partials      216      216

Flag
Coverage Δ

unittests
30.19% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/job_controller/service.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


common: Fix --all for --feeds

What is the intended change here?
What you've done is make -feeds ONLY work if you pass -all now

sigh Last-minute, late-night changes are always bad, but this video sums it more nicely: https://youtu.be/FjYyIKkRvUU


Remove binaries in src/Simulation/Native/ (*_test files)

In the path https://github.com/microsoft/qsharp-runtime/tree/main/src/Simulation/Native there's a number of binary files whose name ends with _test. Those are test executables (in ELF format, likely for Linux) generated during the build.
We don't need them in the repo.

Good afternoon @kuzminrobin .  I fixed this issue with https://github.com/microsoft/qsharp-runtime/pull/1162

Good afternoon @kuzminrobin . I fixed this issue with #1162

@swernli, FYI.


Recompile generated code after elixir-thrift dep.update

The current thrift.compile logic only recompiles output files based on their last_modified timestamp relative to their respective input files. However they may also need to be regenerated if elixir-thrift itself has changed. For example the client and server have generated user modules interoperating with static modules like Thrift.Client.BinaryFramed. If the latter changes, we need to make sure the former changes as well.

I would like to add support for having the compiler task write a "manifest" that would track its generated files. That would gives us a mechanism to clean and regenerate output files. This would also be useful in the event that our code generator changes the names of the output files that it generates.
Separately, we could consider some sort of "version" that ties the generated files to a specific revision of the code generator. Some possible options:

Use an incremental code version number. This would be the most specific way to flag codegen changes, but it's also error prone because a human needs to bump this value manually.
Use the package version. This is nice because it is tied to the package release process, but it doesn't handle intra-release changes. We might be able to use a git revision instead.
Use an internal BEAM version. Perhaps in combination with the above, we could compare BEAM module versions to detect changes to the code generator. This is probably too magical for use in practice and feels like it could produce both false-positives and false-negatives.

Where would the manifest file reside, the project root? How would it handle manual compile.thrift invocations alongside automatic ones? Like would it append to the manifest? How do you clean out that stuff when you no longer use a particular .thrift file?
We could store metadata in generated files as comments at the top of the file.
# generated_at: 2017-01-1 12:34:56
# thrift_version: abc123
# etc...

Determining the thrift version is still an interesting problem. I like the idea of using the beam version. There are several modules under Elixir.Thrift.* though, would we need to check them all?
What if we look at the modification times of our beam files, rather than the version? Effectively:
find . -name "Elixir.Thrift.*.beam" -exec stat -f %m {} \; | sort | tail -n1

And when we do the stale check, take the most recent modification from those + the .thrift file in question. Kind of hacky though. But it would be nice to have something that works for us during development and also for end users, without having to remember to bump version numbers.

Where would the manifest file reside, the project root?

The convention is to use Mix.Project.manifest_path, which falls under _build/{env}/. The fact that it's environment-specific might require some thought, but it also reminds us that it's possible for projects to specify environment-specific Thrift schemas (e.g. additional schemas for tests).
I don't have specific answers to your other questions yet. We'll need to prototype the different approaches to see which works for all of our use cases. The standard manifest / mix clean stuff works well for fully-compiled artifacts, but because our generated Thrift files are intermediates, we probably can't adopt all of the same patterns wholesale.

We now determine "staleness" based on a manifest version and the package's version. This should work well for most users once we ship regular releases, but during development the package version number doesn't change often enough to trigger rebuilds when they might be necessary.
Possible options:

Acknowledge that development versions are "special" and assume that users will run mix compile.thrift --force whenever they update the thrift dependency.
Include the git revision (SHA1) in the manifest when we're running a development version.

I think (2) is reasonable, but it comes at the cost of more code paths. Probably worth it?

I looked into including the git revision in the manifest header. It's a little bit trickier than I expected, but it's definitely possible. After hunting around the mix code a bit more, I'm left with the question as to whether we should:

Run git rev-parse HEAD manually, from within our package directory (e.g. deps/thrift/) each time the compiler runs when we've already determined we're running from a -dev build.
Use the revision information from our dependency's mix.lock entry, assuming that our including application is keeping that up-to-date. I don't believe this works with :path dependencies, however, so it might be a non-started.

I haven't been able to find any other way to extract version/revision information in a way that's available for all of our use cases.


I have coded a  hourglass pattern in java

This will enhance knowledge of for loops
This is my first PR in open source world.I really wish it to get merged! Thanks for the opportunity

@Debalay-dasgupta
Your PR has been successfully merged Thank you so much for your valuable contribution. Do give a follow if it helped you and star the repo and check other repo too for more contribution. Keep hacking

@Debalay-dasgupta Your PR has been successfully merged Thank you so much for your valuable contribution. Do give a follow if it helped you and star the repo and check other repo too for more contribution. Keep hacking

yes Thanks a lot.Already followed and gave a star :)


chore: init e2e tests project

Changes

[x] Move e2e tests to a difference project
[x] Update CI/CD scripts

Run tests
cd e2e_tests
export BKT_API_KEY=your_api_key
expert BKT_API_ENDPOINT=your_api_endpoint
flutter test --dart-define=API_KEY=$BKT_API_KEY --dart-define=API_ENDPOINT=$BKT_API_ENDPOINT integration_test

hi @cre8ivejp  I moved the e2e tests to the new project as we discussed before. Please help me to take a look/


More realistic gasPrice calculation

Pull Request Test Coverage Report for Build 1935

18 of 38 (47.37%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.4%) to 76.307%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Util.ts
18
38
47.37%

Totals

Change from base Build 1928:
1.4%

Covered Lines:
878

Relevant Lines:
1104

💛  - Coveralls


Create workflow that runs zizmor latest

This is a ~copy of what's working for me in keepachangelog-parser-java.
If accepted, this could probably be linked from README.md instead of the ESLint example link in #70.

I reworked the PR in #70 to link to the location where this workflow will be in the repository.
I kept the ESLint link as well, though, since GitHub have some genuinely useful links in the preamble to their example.

Thanks @colindean!


Removing some crufty code in Virtualizer ScrollerController

There are some checks in here that are unnecessary and illogical.  There are also some type assertions that do not need to be there.

Thanks for the PR, @chrispaterson!
I'm traveling this week and probably don't have time for a thorough review right now, but I did give it a quick look. Most of these changes look great, but we should tread carefully before removing the logic allowing a single ScrollerController to serve multiple clients. This is intended to support the case where multiple (non-scrolling) virtualizers live within a single scrolling host element. We should add some comments and some tests to ensure this is working as intended, but I don't think we can just remove it.
cc @usergenic

Hey Gray, I hope you're traveling for leisure!  Thanks for taking a look :-)

we should tread carefully before removing the logic allowing a single ScrollerController to serve multiple clients. This is intended to support the case where multiple (non-scrolling) virtualizers live within a single scrolling host element.

It was a little unclear to me what the intent of this code was – I was unaware of the use case.  I added the logic back!  We're investigating memory leaks with elements hanging around as Detached HTMLElements and I found that static reference to element map while digging through code.  It doesn't seem to be used, so I thought I'd clean it up.

Thanks @graynorton I was trying to understand the use case for that logic too.  We don't have nested virtualizer cases in tests yet and we've got some new related issues to nesting, so I'll add some for those.  #3910

And thank you @chrispaterson for helping clean up these potentially leaky corners of the code!

@graynorton and @usergenic .  I've just pushed an update because the detach method is actually not doing what it's supposed to.  In that method this._clients = this._clients.splice(this._clients.indexOf(client), 1); which re-assigns this._clients to a new array of only 1 client; the removed client.   I think the intention here is to actually use slice which would would remove the client from the array of clients.  I think the idea here is that once there are no more clients attached, we can restore the node's original methods.
Instead of just changing the method from splice to slice, I think a Set would be more appropriate here to avoid confusing Array.prototype methods for one, but also because I don't think we want a client to remain attached after detach is called in the case that the number of detach calls doesn't match the number of attach calls.  Because using an array means that a client may be added at multiple indices in that array and calling detach would only remove the first instance in that array.  This could be a source of leaks.

Happy Friday, @usergenic @graynorton ! Can I kindly ask for an update on this ticket? It would be highly appreciated if this could be addressed soon as we are looking for an important public release in 2 weeks.

Happy Friday, @usergenic @graynorton ! Can I kindly ask for an update on this ticket? It would be highly appreciated if this could be addressed soon as we are looking for an important public release in 2 weeks.

Looking at now

I was attempting to contrive a regression test to demonstrate any hidden issues whereby the same controller would attach to the same client multiple times, but I can not figure out what that scenario even means in real world terms...
I don't see any logic differences to the way the _originalScroll* properties are assigned back and forth so ultimately this feels pretty safe to me.
Also appreciate the extra comments added.
Lint is failing due to a missing changeset file.  Can you run npx changeset and identify this PR as requiring a "patch" level update.  If npx changeset has trouble running in your git clone, just create a file like this in the .changeset directory with a name like "sparkle-rocket-trousers.md" and contents like:
---
'@lit-labs/virtualizer': patch
---

Refactored and refurbished ScrollerController attach/detach code in effort to reduce potential memory leaks due to held instance references.

I was able to use npc changeset in my fork.  Thanks for reviewing @usergenic !

Really appreciated, @usergenic !

@chrispaterson and @nawazmobusss thanks for your patience :)

Hope you had a great long weekend, @usergenic ! Do you know when we can expect this fix to be available to use and which version?

https://github.com/lit/lit/pull/3930 is passing all checks and looks ready to go. Hopefull we'll see virtualizer 2.0.3 tomorrow.

Thank you, @usergenic ,  for keeping us informed about the status of the release in a timely manner. Your promptness is greatly appreciated.

Hello @usergenic , just wondering if 2.0.3 version is in already?

The current release PR #3932 is in process of approval and publishing will be soon.  It hasn't published yet but it shouldn't be long.

Apparently #3930 was cancelled and the process was renewed with more recent changes. The upshot is 2.0.3 virtualizer will also include the testing framework help for the ResizeObserver loop limit exceeded errors too.

Wonderful!!


Add GPU pooling kernel

Not getting rid of the miopen pooling src/targets/gpu/pooling.cpp?

Not yet, good to have it as a fallback just in case we find a bug.

From what I can figure out, it looks like each thread calculates a window and then moves on to another window depending on the number of threads.

Its a lane reduction, so one workitem does one window for pooling, this is similiar to miopen.

Have we considered other work distribution schemes?

Yes we can do a  "blockwise"(or it might be smaller than a block or wave) reduction across the window and do a lane reduction down the window. This should be faster, but I plan to implement this as enhancement in the future.

LGTM, do we have an issue tracking the "block-wise reduction" enhancement?

https://github.com/ROCm/AMDMIGraphX/issues/3175

This PR breaks Resnet Model accuracy tests.
See: https://ontrack-internal.amd.com/browse/SWDEV-471087


Error Words

aeonicaeonist
affusedaffusing
bobsleded & bobsleding
by-doingby-drinking
demarcatordemarcators
dodecaheddra
icosaheddra
nabobrynabobs
sore-pressedsore-taxed

All of these are in words.txt, but are not real English words.

Also
words_alpha
appl
abib
abichite
abidal
abadejo

Also "sk" is listed, I can't find any entry for this (other than abbreviations for things like Saskatchewan.)

brainwashjng

There are many errors.
It seems the list might have been fabricated from English Wiktionary, unaware that it contains many non-English words.
For example, zwitter:
https://en.wiktionary.org/wiki/Zwitter


sqlite with protocol in connection string fails

I'm using<EMAIL_ADDRESS>I'm using sqlite:///:memory: as a connection string, and that's the only config I'm passing in.
I expect this to work, but I get the following error:
TypeError: Argument 0 must be a string
    at TypeError (native)
    at /home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/knex/lib/dialects/sqlite3/index.js:99:16
    at Promise._execute (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/bluebird/js/release/debuggability.js:300:9)
    at Promise._resolveFromExecutor (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/bluebird/js/release/promise.js:483:18)
    at new Promise (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/bluebird/js/release/promise.js:79:10)
    at Client_SQLite3.acquireRawConnection (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/knex/lib/dialects/sqlite3/index.js:98:12)
    at Object.create (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/knex/lib/client.js:239:16)
    at Pool._createResource (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/generic-pool/lib/generic-pool.js:354:17)
    at Pool.dispense [as _dispense] (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/generic-pool/lib/generic-pool.js:314:10)
    at Pool.acquire (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/generic-pool/lib/generic-pool.js:436:8)
    at /home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/knex/lib/client.js:289:19
    at Promise._execute (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/bluebird/js/release/debuggability.js:300:9)
    at Promise._resolveFromExecutor (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/bluebird/js/release/promise.js:483:18)
    at new Promise (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/bluebird/js/release/promise.js:79:10)
    at Client_SQLite3.acquireConnection (/home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/knex/lib/client.js:280:12)
    at /home/dev/source/suchsoftware/event-sourcing-experiments/button-clicks/node_modules/knex/lib/runner.js:208:30

At line 99 of /knex/lib/dialects/sqlite3/index.js (in the transpiled version) it's trying to use _this.connectionSettings.filename, but having submitted just a connection string for the config, knex/lib/util/parse-connection.js doesn't set the filename property, so that will be undefined at the time it gets to the dialect.  I did a quick, cruddy fix where I just tacked on the filename property, and that resolved the issue.  I don't think that's the right fix though.
I'm happy to submit a PR for this one, assuming that this is a valid issue.
Edit: Updated the connection string to start the path correctly after discovering that was the problem with #2039.  This issue is still there though, even with that fix.

I just tried:
knex = require('knex')({client: 'sqlite3', connection: 'sqlite://:memory:'})

and it did work fine.
Could you provide complete example how to reproduce your problem?

The issue doesn't happen until you actually go to do something with the connection.  I discovered it when trying to run a migration.  My knexfile was:
module.exports = 'sqlite:///button-clicks.dev.sqlite'

I then just tried to run the migrations, and I saw the error and traced it to where I mentioned above.

thats an invalid knexfile you have to export an object.
module.exports = { client: 'sqlite3', connection: 'sqlite:///button-clicks.dev.sqlite' };

I get the same result using the object.  The code does handle the string-only version (https://github.com/tgriesser/knex/blob/master/src/index.js#L21).
On further inspection if no protocol is specified, then it looks like it will handle it properly (and indeed running it works) at https://github.com/tgriesser/knex/blob/master/src/util/parse-connection.js#L11, but if a protocol is supplied then it ends up not setting the filename property on the connection: https://github.com/tgriesser/knex/blob/master/src/util/parse-connection.js#L11.
It isn't obvious from the documentation or (https://github.com/tgriesser/knex/issues/780) that one shouldn't use the protocol for sqlite, given that not supplying it departs from the other adapters.
So, whether using an object or not, if a connection string is supplied for sqlite that contains a protocol, I'm seeing the failure.

Yeah, I was able to reproduce it now: https://runkit.com/mikaelle/5909c9fe674d13001200008d
Seems like a bug.

yw.  Thanks for the work maintaining the library. :)
I'm happy to make a PR to fix this.  I don't relish long if-else lists, but it seems like an addition to capture sqlite around https://github.com/tgriesser/knex/blob/master/src/util/parse-connection.js#L36 would do the trick?
Are you open to getting a PR on it, and does that seem like an okay approach to the fix?

If-else sounds good, I would gladly check a PR fixing this.
I'm not very picky about the internal implementation of this kind of really small and encapsulated functionality. Mostly I am interested to have complete set of test cases to make sure all the supported use cases will work in the future if the code is rewritten later on (I'm pretty sure that currently there are not enough tests for that part).

In case someone's how to get knex to work with sqlite in memory, this snippet should do the trick:
export const createDatabaseClient = async () =>
  Knex({
    connection: {
      filename: ":memory:",
    },
    client: "sqlite3",
    useNullAsDefault: true,
  });

Does it mean, I cannot use connection string with sqlite?
@francisbrito 's example doesn't work with things like :memory:?cache=shared...
Error: SQLITE_CANTOPEN: unable to open database file

@juanpaco @elhigu Is this even valid syntax? https://github.com/mapbox/node-sqlite3/wiki/API#new-sqlite3databasefilename-mode-callback doesn't mention it, nor can I find it anywhere else. When I pass such value to driver, it chokes. We could remove the protocol part ourselves and just pass the rest of the string, but should we?

@juanpaco @elhigu Is this even valid syntax? https://github.com/mapbox/node-sqlite3/wiki/API#new-sqlite3databasefilename-mode-callback doesn't mention it, nor can I find it anywhere else. When I pass such value to driver, it chokes. We could remove the protocol part ourselves and just pass the rest of the string, but should we?

I think we should have separate native connection string which is just passed to driver directly and separate knex connection string that is parsed as well as knex can understand it and then parsed data would be passed to driver... I think there is actually some PR / FR about this somewhere...
If current connection: string is already parsed, I think we could just ignore the sqlite:// part.

I think we should have separate native connection string which is just passed to driver directly and separate knex connection string that is parsed as well as knex can understand it and then parsed data would be passed to driver... I think there is actually some PR / FR about this somewhere...
If current connection: string is already parsed, I think we could just ignore the sqlite:// part.


Website.

Don't you think that a website with better UI would be fine for this project?

@ziadoz Maybe you could reuse code from https://github.com/arylatt/awesome-selfhosted-com (WIP)


Number parameters in Powershell are barely visible under light color schemes.

Environment
Windows version: 18363.1440
Terminal version: 1.6.10571.0
Steps to reproduce
Set color theme to light color schemes, such as One Half Light, Tango Light or 3rd party light themes.
Enter command "abcd 1234" in a Powershell tab, or simply "1234". Weirdly this doesn't happen in CMD tabs.
Expected behavior
I should be able to see the number displayed on screen.
Actual behavior
I can barely tell the number from the white background. Effects of entering "abcd 1234":
One Half Light

I actually entered '1234' after the 'abcd '.
Tango Light

Slightly better, but not clear at all.
Proposed solution
Change the color setting for numbers entered in Powershell.
Related to
#8033 #8716

As Dustin pointed out in https://github.com/microsoft/terminal/issues/8033#issuecomment-716058667 , this is actually by design. You'll need to do some configuring to make the color-emitting application more suitable for your needs.

Yea, this is by design. PSReadline's default config for text attributes doesn't really work all that well with light themes.


Support for categorization of skills

Hello,
It would be great if the skills could be categorized under multiple subheadings.
Eg.
Programming Languages: C++, Java, Python, JavaScript
Frameworks and Libraries: ReactJS, Tensorflow, Keras.

Closing this in favor of Reactive Resume v3 release.
If you continue to face this issue, please raise a new one and I'll have a look at it as soon as I can.
In the meantime, if you are able to, please consider donating to keep supporting the project: https://www.buymeacoffee.com/AmruthPillai :)
Thank you!


epos_hardware: 0.0.1-0 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository epos_hardware to 0.0.1-0:

upstream repository: https://github.com/RIVeR-Lab/epos_hardware.git
release repository: https://github.com/RIVeR-Lab-release/epos_hardware-release.git
distro file: indigo/distribution.yaml
bloom version: 0.5.16
previous version for package: null

epos_hardware
* Initial release of epos_hardware
* Contributors: Mitchell Wills

epos_library
* initial release of 64-bit EPOS Linux libraries
* Contributors: Mitchell Wills

Replaces #7038


Make layout examples public domain

The current license of the layout examples is BSD, which makes compliance a bit harder than if they would be public domain.

We're licensing the layout examples under the zLib. No worries about compliance.

@ciupicri just a final follow up, https://github.com/yahoo/pure-site/commit/335b066e0de8d316391016619235849ac0ec8961 added the proper license information.


Feature/tlr by machine learning

Sorry, I made PR to wrong target (#700)  .

@yk-fujii
I re-create PR to develop branch.
Would you please check again?
Thank you!


Slurm not working after stop and start of mgmt node

This is probably my own fault, but it used to work with the old CitC setup I had. After finishing running some scaling studies yesterday, I stopped (not terminated) the management node in the OCI dashboard to save credits. Today I started it again, it boots fine and I logged in. However, when I try to submit jobs, it tells me SLURM is not running. So then I started the SLURM daemon:

[opc@mgmt ~]$ sudo slurmctld

Then when I submitted my job, it is listed as configuring, but in the OCI dashboard there are no compute instances being provisioned.
Is there a way to restart things now, so I don't have to destroy and rebuild the cluster setup? And should I preferably not do this in the future? Like I wrote to start, this used to work fine using the old setup (where compute nodes where just stopped rather than terminated).

Thanks for reporting this.
We have been able to reproduce the symptoms. After stopping and starting the a management node in the Oracle console we see
[opc@mgmt ~]$ sudo systemctl status slurmctld
● slurmctld.service - Slurm controller daemon
   Loaded: loaded (/usr/lib/systemd/system/slurmctld.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

[opc@mgmt ~]$ sbatch test.slm
sbatch: error: Batch job submission failed: Unable to contact slurm controller (connect failure)

You can fix without destroying and recreating your cluster by killing the slurmctld that was started with sudo and starting it via systemctl which will ensure the environment is correct. E.g.
[opc@mgmt ~]$ ps aux | grep slurmctld
slurm    16080  0.0  0.1 680276  9288 ?        Sl   10:06   0:00 slurmctld
opc      56723  0.0  0.0 112720  2328 pts/0    S+   10:12   0:00 grep --color=auto slurmctld
[opc@mgmt ~]$ sudo kill 16080
[opc@mgmt ~]$ sudo systemctl start slurmctld

(substituting the particular PID of slurmctld in your instance )


Typing two Characters in in link triggers plenary.nvim error

🐛 Describe the bug
This issue is simiar to #331.
After typing  [[<firstChar><secondChar>]], I get this error message:
Error executing luv callback:
...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: .
../pack/packer/start/obsidian.nvim/lua/obsidian/client.lua:350: bad argument #1 to 'recv' (table expected
, got nil)
stack traceback:
        [builtin#36]: at 0x735f7068d990

and after hitting return I get this:
Error executing luv callback:
cannot resume dead coroutine
stack traceback:
        [builtin#36]: at 0x735f7068d990

Hitting escape closes the error and i can type inside the link without autocomplete
Typing numbers instead of characters also trigger this behaviour.
 Can you try upgrading that and see if that fixes it?

Thanks @epwalsh. Didn't realize that.
I still got an error caused by an unsupported frontmatter which was a leftover from my Logseq experiments.
1 error(s) occurred during search. First error from note at '/home/anton/Dokumente/Obsidian/Antons Notizen/pages/Vertiefung-Planung Informationssystemtechnik.md':
...te/pack/packer/start/obsidian.nvim/lua/obsidian/note.lua:173: ...te/pack/packer/start/obsidian.nvim/lua/obsidian/note.lua:278: bad argument #1 to 'pairs' (table expected, got nil)

Removing the frontmatter fixed it, but maybe this helps you fix something

@anton-granzow ah thank you! That's a quick fix.


[BUG] Crash Report in firebase

Describe the bug
Hey guys, we get some crash reports in firebase for the cmp dialog. I know this is very shady, as I don't have a reproducable example, but maybe the stack trace can help:

usercentrics/react-native branch/commit
"@usercentrics/react-native-sdk": "^2.0.4-rc1"

I also get this stacktrace:

Hey!
We have the same issue in our app, seems like it's Android-only issue.

Unfortunately, I also don't know how to reproduce this.

We've made some adjustments to the mentioned methods on these stacktraces, it's available on the new 2.2.1 version.
Make sure that if you update to the new version to read our docs because the showCMP method is now deprecated in favor of showFirstLayer/showSecondLayer methods.
https://docs.usercentrics.com/cmp_in_app_sdk/latest/collect_consent/present_cmp/

We upgraded to latest version of the library and we are still getting lot of crashes from Firebase. Any help?
Crashed: com.apple.main-thread
0  Usercentrics                   0x4908e8 ReadHeapRefLocked + 36
1  Usercentrics                   0x13447c kfun:kotlinx.coroutines#<get-mainThread>(){}kotlinx.coroutines.MainThread + 144
2  Usercentrics                   0x3dcfe8 __unnamed_2914 + 524144
3  Usercentrics                   0x492fd0 Kotlin_initRuntimeIfNeeded + 428
4  Usercentrics                   0x488214 +[KotlinBase allocWithZone:] + 36
5  Raisin                         0xe54a14 specialized UsercentricsUsercentricsOptions.init(from:) + 546072 (<compiler-generated>:546072)
6  Raisin                         0xe454ec closure #1 in RNUsercentricsModule.configure(_:) + 483312 (<compiler-generated>:483312)
7  Raisin                         0x106648 thunk for @escaping @callee_guaranteed () -> () +<PHONE_NUMBER> (<compiler-generated>:4371850824)
8  libdispatch.dylib              0x63094 _dispatch_call_block_and_release + 24
9  libdispatch.dylib              0x64094 _dispatch_client_callout + 16
10 libdispatch.dylib              0x10d40 _dispatch_main_queue_drain + 928
11 libdispatch.dylib              0x10990 _dispatch_main_queue_callback_4CF$VARIANT$mp + 36
12 CoreFoundation                 0x4dab4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
13 CoreFoundation                 0xafd8 __CFRunLoopRun + 2544
14 CoreFoundation                 0x1dc30 CFRunLoopRunSpecific + 572
15 GraphicsServices               0x1988 GSEventRunModal + 160
16 UIKitCore                      0x4e5c50 -[UIApplication _run] + 1080
17 UIKitCore                      0x27f3d0 UIApplicationMain + 336
18 Raisin                         0x598c main + 14 (main.m:14)
19 ???                            0x1039783d0 (Missing)

I am seeing 4 crashes coming because of UserCentric, disturbing lot of our user base. As I can not reproduce this issue, I am also blind on this point.
1st Crash

2nd Crash

3rd Crash

4th Crash
and crash point is > 9  Usercentrics                   0x4975f4 (anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()::operator()() const + 22
Crashed: com.google.firebase.crashlytics.ios.exception
0  App                         0xa07e4c FIRCLSProcessRecordAllThreads + 393 (FIRCLSProcess.c:393)
1  App                         0xa0822c FIRCLSProcessRecordAllThreads + 424 (FIRCLSProcess.c:424)
2  App                         0x9ff618 FIRCLSHandler + 34 (FIRCLSHandler.m:34)
3  App                         0x9f9d98 __FIRCLSExceptionRecord_block_invoke + 215 (FIRCLSException.mm:215)
4  libdispatch.dylib              0x41c8 _dispatch_client_callout + 20
5  libdispatch.dylib              0x13414 _dispatch_lane_barrier_sync_invoke_and_complete + 56
6  App                         0x9f9538 FIRCLSExceptionRecord + 219 (FIRCLSException.mm:219)
7  App                         0x9f9840 FIRCLSExceptionRecordNSException + 109 (FIRCLSException.mm:109)
8  App                         0x9f9138 FIRCLSTerminateHandler() + 273 (FIRCLSException.mm:273)
9  Usercentrics                   0x4975f4 (anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()::operator()() const + 22
10 Usercentrics                   0x4975c4 void (anonymous namespace)::$_0::operator()<(anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()>((anonymous namespace)::TerminateHandler::queuedHandler()::'lambda'()) + 40
11 Usercentrics                   0x49759c (anonymous namespace)::TerminateHandler::queuedHandler() + 10
12 Usercentrics                   0x497330 (anonymous namespace)::TerminateHandler::kotlinHandler() + 132
13 libc++abi.dylib                0x10ea4 std::__terminate(void (*)()) + 20
14 libc++abi.dylib                0x13ebc __cxa_rethrow + 148
15 libobjc.A.dylib                0x2dcb0 objc_exception_rethrow + 44
16 AppKit                         0x94b1c -[NSWindow _setFrameCommon:display:fromServer:] + 3896
17 SafariPlatformSupport          0x3f08 (Missing UUID b17cf8bdd94339779f0e7d20cc0ecd7d)
18 SafariPlatformSupport          0x3d68 (Missing UUID b17cf8bdd94339779f0e7d20cc0ecd7d)
19 UIKitCore                      0xb2f8e8 -[UIKeyboardImpl generateAutofillCandidateByAddingTask:] + 944
20 UIKitCore                      0xb39af8 -[UIKeyboardImpl setDelegate:force:] + 6380
21 UIKitCore                      0x819ec8 -[UIKeyboardSceneDelegate _reloadInputViewsForKeyWindowSceneResponder:] + 2024
22 UIKitCore                      0x8196b4 -[UIKeyboardSceneDelegate _reloadInputViewsForResponder:] + 164
23 UIKitCore                      0x18a1f0 -[UIResponder(UIResponderInputViewAdditions) reloadInputViews] + 132
24 UIKitCore                      0x132750 -[UIResponder becomeFirstResponder] + 856
25 UIKit                          0xc0bec -[UITextInputUIResponderAccessibility becomeFirstResponder] + 52
26 UIKitCore                      0x1625ac -[UIView(Hierarchy) becomeFirstResponder] + 148
27 WebKit                         0x7d0548 -[WKContentView(WKInteraction) becomeFirstResponderForWebView] + 152
28 WebKit                         0x31fb6c -[WKWebView(WKViewInternalIOS) becomeFirstResponder] + 148
29 WebKit                         0x7e377c -[WKContentView(WKInteraction) _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:] + 1864
30 WebKit                         0x3fc278 WebKit::WebPageProxy::elementDidFocus(WebKit::FocusedElementInformation const&, bool, bool, WTF::OptionSet<WebCore::ActivityState::Flag>, WebKit::UserData const&) + 216
31 WebKit                         0x7482b4 WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 62776
32 WebKit                         0x31ac98 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 264
33 WebKit                         0x4e59b8 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 40
34 WebKit                         0x3153bc IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 788
35 WebKit                         0x314a70 IPC::Connection::dispatchIncomingMessages() + 508
36 JavaScriptCore                 0x11bfb8c WTF::RunLoop::performWork() + 200
37 JavaScriptCore                 0x11c0928 WTF::RunLoop::performWork(void*) + 36
38 CoreFoundation                 0x849a0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
39 CoreFoundation                 0x848ec __CFRunLoopDoSource0 + 208
40 CoreFoundation                 0x845ec __CFRunLoopDoSources0 + 268
41 CoreFoundation                 0x82f6c __CFRunLoopRun + 828
42 CoreFoundation                 0x82490 CFRunLoopRunSpecific + 600
43 HIToolbox                      0x33dd8 RunCurrentEventLoopInMode + 292
44 HIToolbox                      0x33b54 ReceiveNextEventCommon + 564
45 HIToolbox                      0x33908 _BlockUntilNextEventMatchingListInModeWithFilter + 72
46 AppKit                         0x41bcc _DPSNextEvent + 860
47 AppKit                         0x404c4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328
48 AppKit                         0x32690 -[NSApplication run] + 596
49 AppKit                         0x3da8 NSApplicationMain + 1132
50 AppKit                         0x2d9e70 _NSApplicationMainWithInfoDictionary + 22
51 UIKitMacHelper                 0x4a7c UINSApplicationMain + 1276
52 UIKitCore                      0x39f8 UIApplicationMain + 164
53 App                         0x598c main + 14 (main.m:14)
54 ???                            0x105b5d088 (Missing)

As you can see from firebase crash reporting, those crashes happened at the start of the app (within the first 2 seconds). And we were using the past 2.2.1 version of user-centric and now migrated to the latest version of usercentric. Is there any migration issue?
Any other guess you might have for so many crashes?

@adeem do you have any multithreading manager that you might use within Usercentrics, or are you calling Usercentrics from any other thread different than the main one?
Can you give us some info about where you call the configure method in your app lifecycle?
Also, we are about to release a new version with some fixes in the initialization flow, but we don't know for sure if it will fix the issue that you're facing since we could not reproduce it yet.

No, we are calling Usercentrics normally from our codebase without any multithreading manager. (https://reactnative.dev/docs/native-modules-ios#threading)
InteractionManager might cause problems for usercentric?

any update @uc-pedro ?
When app is launched, we do the onboarding for the customer and once they select the country, we show them user centric modal view.

Accidently I was able to crash the app. Here how it looks like. SettingID was not null, I was able to print its value.

Hi @adeem,
Thanks for the insights. We will look into it.
Have you managed to reproduce this issue consistantly? Was there something specific you did? or a specific part of your user journey that triggered this issue?

hey @adeem, I was taking a look into the thread and also into your latest informations provided (btw, thanks for that!), and I was able to reproduce the exact problem using the code you sent.
so I did a deeper investigation and also took the time to download your app to perform some manual testing... I tested on Android and iOS and didn't received a single crash 🙌 (not sure why some users are getting those errors...)
going to the point you raised in your last commend:

how to configure the usercentric with await?

you don't need to do that, since it's already an async method which will not return anything, you'll need to subscribe to Usercentrics.status() (like you're doing) to get its result.
in your case I saw that after the Onboarding, you show the Country selection screen and after that you actually display the Usercentrics Popup (probably because there are specifics SettingsIDs for each country), it's indeed not a common scenario, but that's not a problem at all.
the reason that the code works normally when you add await delay(1000); is because that routine is dispatched to run in a new thread. the configure method dispatches its routine to run in the Main Thread, therefore, when the code blocks inside useEffect() runs, they are running in different threads and the queued configure method still's waiting it's turn to be executed.
in order to fix it, we think that'll be a better idea to release a new version adjusting this behaviour! this will happen in the next days, I'll let you know when you can test it again, sounds good?
thanks again for your patience and all the details! 😄

In our latest release we added a delay and that stopped the crash :)
so we are waiting for your update ❤

Hey,
seeing the same issue as @adeem, lots of crashes with a similar signature:

in order to fix it, we think that'll be a better idea to release a new version adjusting this behaviour! this will happen in the next days, I'll let you know when you can test it again, sounds good?

Is there any update on that new version? I was using the latest available version (2.3.0).
On the issue itself, wouldn't it make sense to either make the isReady waiting and blocking or erroring out when the SDK isn't initialized or make the configure awaitable?

Sorry, just saw that this update is just from yesterday. I've disabled the SDK for now and waiting for a new release.

@adeem @MegaMaddin
the new release 2.4.0 is out! it should fix this problem 🎉
let me know if you need anything else!
thanks! 🙏

@adeem @MegaMaddin
the new release 2.4.0 is out! it should fix this problem 🎉
let me know if you need anything else!
thanks!

Currently building a release candidate with the latest fixes. Fingers crossed!

Sorry for typos, on the phone. It looks like this introduced another issue, if the user was on a previous version of the SDK. I tested the upgrade path from 2.3.0 to 2.4.0, and as long as the user does not "store" once with the new version of the SDK, the app crashes randomly on start. The crash seems to happen so early, that I even don't see any reports in Crashlytics. Once I store (agree or deny the consent) once with the new SDK, the crash seems to be gone (so eventually a on disk format issue, or data serialization issue?). Will further investigate tomorrow and see if I can get crash data in Instruments. @uc-pedro @uc-leo

Just FYI - I released SDK 2.4.0 yesterday and so far I can't see any crashes on iOS/Android. @uc-leo @uc-pedro

@MegaMaddin  I didn't understand your message. You were suggesting before that the app was crashing and now it's not? I thought you were using the 2.4.0 (which was released 15 days ago).
I was waiting for your issue to be resolved before I upgrade the library on our side.

@adeem Yes and no. I was still seeing crashes on my physical test devices, but w/o any traces (nothing in Crashlytics, nothing in  crashlogs etc. etc.). So I can't be 100% confident that those where related to the SDK. On the other hand that was the only change I made at that time. Since I have a tight schedule wrt CMP and needed to go forward with this we made the decision to release that version of the SDK anyway. So far we haven't got any bad feedback from users and I can't see any crashes in Crashlytics (or maybe they just not appear there as with my test devices 🤷🏼♂). Rolling back and making another release w/o the SDK is easier than waiting for a solution from a third party.

lets close this bug then :)

🙏 🙏


gfsgsd

Add prod branch into the on section. Also introduce prod branch in the condition where env and depl. type have to be set.
update comment in the pom
remove comment from the pom

all good


Error in view not getting reported

import tempfile
import responder

api = responder.API()

@api.route("/bugtest")
async def test(req, res):
    with tempfile.NamedTemporaryFile() as f:
        # This write call will fail
        f.write('this should be bytes, not str')
    resp.content = 'Success!'

When I hit this view, I get a 200 response (no response body). I expect a 500 with a response of "Internal server error" (which I've gotten on other occasions).

ref #78

fixed


Error: out of range integral type conversion attempted

When I try deserialize next value, I've got an error "out of range integral type conversion attempted".
    let json = r#"{"num":<PHONE_NUMBER>}"#;
    let obj: serde_json::Value = serde_json::from_str(json)?;
    println!("num {}", obj["num"]);

    let vec = serde_json::to_vec(&obj).unwrap();
    let pb = serde_json::from_slice::<pbjson_types::Value>(&vec).unwrap();
    println!("{:#?}", pb);

This happens because next function throw an error:
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
    where
        E: de::Error,
    {
        self.visit_u32(v.try_into().map_err(de::Error::custom)?)
    }

If look visit_u32 function, so number value wrapped in Kind::NumberValue which accept f64 type:
    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
    where
        E: de::Error,
    {
        Ok(Kind::NumberValue(v.into())) // f64
    }

As a result, the current conversion pipeline looks like u64 -> u32 -> f64. If it were u64 -> f64 (without u32), then we would not lose a significant range of numerical values (u32, f64].
For example like this:
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
    where
        E: de::Error,
    {
        Ok(Kind::NumberValue(
            v.to_string().parse::<f64>().map_err(de::Error::custom)?,
        ))
    }

Hi @NAlexandrov, thank you for the report.
I would be happy to review a PR that makes this change, otherwise I can add it to my list but I am not sure when I will have time to get to it.
FWIW the protobuf JSON representation recommends serializing 64-bt integers as strings, as f64 only has 52-bit precision, but I presume you are aware of this.


Fix scoredPoints data

https://github.com/Tristandemuijnck/ultitv-api-svelte/commit/edfa7b0e372dcdc60190e85f3c66fb83d8d6cff8
Added extra data for points


test: end to end test node & pxe persistence

Please provide a paragraph or two giving a summary of the change, including relevant motivation and context.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 730766b0 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
223,068
868,340
3,449,576

l1_rollup_execution_gas
936,401
3,971,003
24,793,301

l2_block_processing_time_in_ms
1,370 (+3%)
5,165 (+1%)
21,400 (+1%)

note_successful_decrypting_time_in_ms
334 (+3%)
1,000
3,661

note_trial_decrypting_time_in_ms
53.8 (+47%)
125 (-35%)
148 (+8%)

l2_block_building_time_in_ms
14,977
59,535
239,541

l2_block_rollup_simulation_time_in_ms
10,646
42,399
170,847

l2_block_public_tx_process_time_in_ms
4,300
17,044 (-1%)
68,156

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,234 (+2%)
29,056

note_history_successful_decrypting_time_in_ms
2,331 (-10%)
4,612 (-1%)

note_history_trial_decrypting_time_in_ms
75.2 (-43%)
146 (-12%)

node_database_size_in_bytes
3,617,988
3,726,981

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
210
44,709
25,561

private-kernel-ordering
137
30,953
14,809

base-rollup
1,078
128,374
881

root-rollup
82.5
4,088
889

private-kernel-inner
286
71,236
25,561

public-kernel-private-input
202
31,891
25,561

public-kernel-non-first-iteration
200
31,933
25,561

merge-rollup
9.67
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_ms
11.2
111 (+22%)
13.9 (-1%)
17.7 (-2%)
23.7 (-8%)
49.8 (-1%)
88.9
244
468
914 (-1%)
3,568 (-2%)

batch_insert_into_indexed_tree_ms
N/A
N/A
N/A
64.0
N/A
59.6
110 (-2%)
360
731
1,404
5,566 (-2%)

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,487
31,904

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
344
962

Metric
1 public data writes

tx_sequencer_processing_time_ms
529