understanding bxtools stats output

Thanks for your useful tool!
I have got stats for my 10x genomics data.
"bxtools stats $bam > stats.tsv
output is BX  count  median_isize  median_mapq"
If I understand it correctly, BX is the barcode and count number of barcode/pool/droplet.
I found that in my dataset, there are many BX with very few count. Thus I want to filter these low-frequency BXs, but haven't had idea about it.
In your example
make a list of bad tags (freq < 100)
Is "freq < 100" a general standard for filtering bad BXs? And also because the input for bxtools stats was unaligned bam file containing paired end reads, so freq=100 in field 2 should represent a frequency of 50 for a BX?
I have also tried to find out how to set this filtering threshold in literature. In this paper "A hybrid approach for de novo human genome sequence assembly and phasing", I found the following sentence:
"those barcodes that were seen below a given threshold fre- quency (22 for library 1 and 101 for library 2, based on the lowest frequency among the number of barcodes that were detected in these libraries by 10XG’s Long Ranger software)". Actually I can not understand what does "the lowest frequency among the number of barcodes that were detected in these libraries by 10XG’s Long Ranger software" mean. Actually if I filter use the lowerest frequency, there is not any filtering at all, right?
Sorry if my question is a little unrelated to your tool.
Best,
Danshu

Hi Danshu,
I think the best I could advise would be to make a histogram of the BX counts and find a reasonable cutoff for your own data. bxtools was a sort of weekend-type project to help with some 10X analyses led by some collaborators, so I wouldn't presume at this point to give much advice on interpreting their data. e.g. the value of "100" was completely ad hoc. I'm not really sure what is meant by their filter either, so you might reach out to the authors.
That said, I'd like to learn more sometime about 10X data. In the meantime, if you have any suggestions for the types of low-level data manipulation (like stats or split) that would be useful from bxtools, do let me know. I'd be interested in expanding this!
Best,
Jeremiah

Hi Jeremiah,
Thanks for your kind advice. Actually I have tried to plot the BX counts to find a reasonable threshold. But what matters should be the characteristics of the technology, e.g. low frequency of BX count indicates poor quality of that pool, which I'm not sure. Anyway I will try to ask the company for more details.
Actually I'm trying to use my 10x genomics data for scaffolding my assembly. One common requirement of those scaffolders are attaching BX to the read name, while different tools have different styles of attaching BX. For example, ARCS (https://github.com/bcgsc/arcs) will be expecting the barcode at the end of the read name, in this format:
READNAME_TAGCATAGACATCAGA
Great if bxtools may combine filtering with attaching BXs to read names.
I managed to do this job by extracting filtered reads using "seqtk subseq" and then rename them according to the format required: "awk '{ if (NR%4==1) {split($2,a,":"); split(a[3],b,"-"); print $1"_"b[1] } else { print } }' test.fastq > rename_test.fastq".
Best,
Danshu

I'm in a mood to procrastinate on other things at the moment, decided to give this a shot... Just added relabel. Does this do what you need? You can pipe the output from relabel to samtools view and AWK to get to a fastq from a BAM if you need.

Thanks and I will try it later!


Reduce reliance on getBoundingClientRect for layout and dimensions

https://github.com/Volumetrics-io/mrjs/pull/522#issuecomment-2016995027
seems to make a significant perf hit, as mentioned by @takahirox.

I also want to suggest to report the issue to Meta because it might be a Meta platform specific.

Sorry it may be too late but let me share what I researched in Apr about that layout and/or performance issue related to bounding client rect.
First of all, the incorrect layout issue doesn't seem to be a new issue introduced by async connectedCallback, but seems to be an existing issue that had been existed even since before. Actually I locally reverted the change but I reproduced the problem.
To be more precisely, it isn't exactly an incorrect layout, but sometimes it may take a few animation frames to be reflected in the correct layout. This is a known limitation of that approach because it uses an asynchronous APIs to retrieve layout positions. Because of asynchronous, it has less impact on performance, but it can also cause a delay of a few animation frames. It's a trade-off.
However, through various experiments, I have found that there seem to be certain situations where it takes particularly long to retrieve the latest layout position. For example, when you resize a window by dragging its frame with the mouse and dragging it all the way to the edge of the screen, or clicking the maximize window button, the window is maximized. However, in those situations it seems that it may take some time to retrieve the layout position if you do not release the mouse button at this point, or need a user action (eg: click in window) to retrieve the layout position. This is not always the case, but sometimes happened. And the specific conditions are not fully understood. And unfortunately I couldn't find a way to mitigate this problem.
Solutions
Unfortunately I couldn't figure out a perfect solution. Let me list up some options you might take with this async layout update approach.

Report the problem to browser vendors. Especially the need of a user action to fire the observer callback might be a bug.
Accept the limitation. It may be delayed but the layout position will be eventually updated.
Enable that async approach only in immersive mode because the bad performance probably coming from reflow (caused by getBoundingClientRect()) seems to especially significant in immersive mode.
As a forth option, I have an idea that I haven't tried yet but seems worth considering. I forget where I read it, but apparently you can reduce the performance impact by gathering all the getBoundingClientRect() calls that might cause reflow in one place. One implementation approach would be to create a new system that calls getBoundingClientRect() for each entity and caches the results, run this system at the beginning of each animation frame, and then other systems that need layout positions use the cached information. This would avoid layout problems since it uses a synchronous API.
To the async hack, add a process to record the time when the clientRect information was last acquired. If the time exceeds a certain threshold, execute the synchronous getBoundingClientRect() to get the latest information.

Approaches that didn't work well
Let me also share some approaches that I tried but didn't work well.

Using IntersectionObserver.takeRecords(). https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/takeRecords  I thought this would avoid the problem of getting the latest layout position a few frames late because it is a synchronous API, but it seems that even with this API, it takes a few frames until the latest record will be ready, so it did not resolve the problem.

Traversing up the DOM tree to get the layout position from the top and left of the parent elements. This can be done synchronously, but it seems to be difficult to interpret CSS strictly. Since being able to control layout with CSS is supposed to be one of the advantages of the project, so I decided not to use this approach.


Introducing the Multi-agent Racing environment

What changes do you make in this PR?

Please describe why you create this PR

This PR introduces two multi-agent racing environment. One is a rectangle loop and one is a open trail.
Checklist

[ ] I have merged the latest main branch into current branch.
[ ] I have run bash scripts/format.sh before merging.
Please use "squash and merge" mode.

@QuanyiLi
I'll take care of test. Please help me verify whether this PR is the minimal modification to existing code and never breaks any estabilished work.


Settings won't comply with dark mode

Plugin version: 1.7.0
WebStorm version: 2021.2.1
FYI, I have this one enabled:

I unfortunately cannot reproduce that issue. Do you have any theme/icon related plugins installed? What themes do you use for dark and light modes?

IntelliJ Light & High contract
No special icon plugins, nor special theme plugins


Inlining system calls when possible.

Solves #2040.

poseidon riscv test on main:
Execution trace length: 2807
on this branch:
Execution trace length: 2637

test failing


Update README's Brazilian Portuguese translation to 1.17 version

Thank you :+1:
@latreta, as the author of #1313, could you review, please?

Thank you :+1:
@latreta, as the author of #1313, could you review, please?

Might be able to review it later @rom1v

Might be able to review it later @rom1v

Thank you :+1:
Merged into master: af516e33ee2561dfe57b30cfe557bd134a6b50cc

Thank you :+1:
Merged into master: af516e33ee2561dfe57b30cfe557bd134a6b50cc


Delete temporal documents via DMSDK

Creating this feature request in GitHub for visibility for a customer that has a need for bulk delete of temporal documents via DMSDK. The customer is going to create their own TemporalDeleteListener that is specific to their needs in the meantime.
It looks like the basic pattern for deleting a temporal document is this:
TemporalDocumentManager<?, ?> docMgr = batch.getClient().newXMLDocumentManager();
// Protecting is only required if there's not already a protection on the document
javax.xml.datatype.Duration xmlDuration = DatatypeFactory.newInstance().newDuration("PT0M");
docMgr.protect(uris[i], temporalCollection, TemporalDocumentManager.ProtectionLevel.NOUPDATE, xmlDuration);
docMgr.wipe(uris[i], temporalCollection);

We'll need to provide configurability over the above code - e.g. since protect/wipe only exist on the concrete JSON/XML document managers, a user would need to configure the listener to specify whether JSON or XML documents are being deleted (this seems unfortunate, ideally the generic DocumentManager interface would have these protect/wipe methods).
For implementation - it seems that the easiest path would be to modify the existing DeleteListener and extract the batch.getClient().newDocumentManager().delete( batch.getItems() ); line into a new protected method. TemporalDeleteListener can then override that method to provide its own delete functionality while inheriting the rest of the useful functionality in DeleteListener.

Since docMgr.wipe() is only one per URI, may be another feature is to have bulk delete capability on wipe ?

Both the protect and wipe calls can only accept one URI based on how the REST API works - https://docs.marklogic.com/REST/POST/v1/documents/protection . So until the server is altered, it's not possible to do this efficiently as it would require 2 calls per URI.
I think the better approach is to make use of temporal.collectionSetOptions to apply the update-admin-override option. That allows for a regular delete to work, and N URIs can be sent in a single delete call.


Build failed on trunk in MacOS

Build failed on trunk (b7d3f4162a81a42a65c130ea895560fb018c0c9b) on MBP
Log:
aws-iot-device-sdk-cpp/cli/../include/mqtt/Subscribe.hpp:50:13: error: explicitly defaulted copy constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
SubscribePacket(const SubscribePacket &) = default;
^
aws-iot-device-sdk-cpp/cli/../include/mqtt/Subscribe.hpp:39:33: note: copy constructor of 'SubscribePacket' is implicitly deleted
because base class 'awsiotsdk::mqtt::Packet' has a deleted copy constructor
class SubscribePacket : public Packet {
^
aws-iot-device-sdk-cpp/cli/../include/mqtt/Packet.hpp:118:39: note: copy constructor of 'Packet' is implicitly deleted because field
'packet_id_' has a deleted copy constructor
std::atomic_uint_fast16_t packet_id_;  ///< Message sequence identifier.  Handled automatically by the MQTT client
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1085:7: note: copy constructor of
'atomic' is implicitly deleted because base class '__atomic_base' has a deleted copy constructor
: public __atomic_base<_Tp>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1004:7: note: copy constructor of
'__atomic_base<unsigned short, true>' is implicitly deleted because base class '__atomic_base<unsigned short, false>' has a deleted copy constructor
: public __atomic_base<_Tp, false>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:984:5: note: '__atomic_base' has been
explicitly marked deleted here
__atomic_base(const __atomic_base&) = delete;

It seems like SubscribePacket is only used while wrapped in a shared_ptr so the copy constructor may not be needed at all.  Does it build for you if the copy constructor is deleted instead?  We can take a PR that removes it.

Seems remove all those copy/move constructor (not just SubscribePacket class in that file ) fixed that problem.
But still get a lot of similar problem in other header files.
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:174:13: error: explicitly defaulted copy constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
PubackPacket(const PubackPacket &) = default;
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:165:30: note: copy constructor of 'PubackPacket' is implicitly deleted because base
class 'awsiotsdk::mqtt::Packet' has a deleted copy constructor
class PubackPacket : public Packet {
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Packet.hpp:118:39: note: copy constructor of 'Packet' is implicitly deleted because field
'packet_id_' has a deleted copy constructor
std::atomic_uint_fast16_t packet_id_;  ///< Message sequence identifier.  Handled automatically by the MQTT client
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1085:7: note: copy constructor of
'atomic' is implicitly deleted because base class '__atomic_base' has a deleted copy constructor
: public __atomic_base<_Tp>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1004:7: note: copy constructor of
'__atomic_base<unsigned short, true>' is implicitly deleted because base class '__atomic_base<unsigned short, false>' has a deleted copy constructor
: public __atomic_base<_Tp, false>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:984:5: note: '__atomic_base' has been
explicitly marked deleted here
__atomic_base(const atomic_base&) = delete;
^
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/src/mqtt/PublishTests.cpp:24:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/include/MockNetworkConnection.hpp:32:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/include/TestHelper.hpp:27:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Client.hpp:32:
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:176:13: error: explicitly defaulted move constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
PubackPacket(PubackPacket &&) = default;
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:165:30: note: move constructor of 'PubackPacket' is implicitly deleted because base
class 'awsiotsdk::mqtt::Packet' has a deleted move constructor
class PubackPacket : public Packet {
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Packet.hpp:118:39: note: copy constructor of 'Packet' is implicitly deleted because field
'packet_id' has a deleted copy constructor
std::atomic_uint_fast16_t packet_id;  ///< Message sequence identifier.  Handled automatically by the MQTT client
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1085:7: note: copy constructor of
'atomic' is implicitly deleted because base class '__atomic_base' has a deleted copy constructor
: public __atomic_base<_Tp>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1004:7: note: copy constructor of
'__atomic_base<unsigned short, true>' is implicitly deleted because base class '__atomic_base<unsigned short, false>' has a deleted copy constructor
: public __atomic_base<_Tp, false>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:984:5: note: '__atomic_base' has been
explicitly marked deleted here
__atomic_base(const atomic_base&) = delete;
^
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/src/mqtt/PublishTests.cpp:24:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/include/MockNetworkConnection.hpp:32:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/include/TestHelper.hpp:27:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Client.hpp:32:
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:178:27: error: explicitly defaulted copy assignment operator is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
PubackPacket &operator=(const PubackPacket &) & = default;
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:165:30: note: copy assignment operator of 'PubackPacket' is implicitly deleted because
base class 'awsiotsdk::mqtt::Packet' has a deleted copy assignment operator
class PubackPacket : public Packet {
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Packet.hpp:118:39: note: copy assignment operator of 'Packet' is implicitly deleted because field
'packet_id' has a deleted copy assignment operator
std::atomic_uint_fast16_t packet_id;  ///< Message sequence identifier.  Handled automatically by the MQTT client
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1085:7: note: copy assignment operator of
'atomic' is implicitly deleted because base class '__atomic_base' has a deleted copy assignment operator
: public __atomic_base<_Tp>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1004:7: note: copy assignment operator of
'__atomic_base<unsigned short, true>' is implicitly deleted because base class '__atomic_base<unsigned short, false>' has a deleted copy assignment
operator
: public __atomic_base<_Tp, false>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:985:20: note: 'operator=' has been explicitly
marked deleted here
__atomic_base& operator=(const atomic_base&) = delete;
^
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/src/mqtt/PublishTests.cpp:24:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/include/MockNetworkConnection.hpp:32:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/include/TestHelper.hpp:27:
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Client.hpp:32:
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:180:27: error: explicitly defaulted move assignment operator is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
PubackPacket &operator=(PubackPacket &&) & = default;
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Publish.hpp:165:30: note: move assignment operator of 'PubackPacket' is implicitly deleted because
base class 'awsiotsdk::mqtt::Packet' has a deleted move assignment operator
class PubackPacket : public Packet {
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/mqtt/Packet.hpp:118:39: note: copy assignment operator of 'Packet' is implicitly deleted because field
'packet_id' has a deleted copy assignment operator
std::atomic_uint_fast16_t packet_id;  ///< Message sequence identifier.  Handled automatically by the MQTT client
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1085:7: note: copy assignment operator of
'atomic' is implicitly deleted because base class '__atomic_base' has a deleted copy assignment operator
: public __atomic_base<_Tp>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1004:7: note: copy assignment operator of
'__atomic_base<unsigned short, true>' is implicitly deleted because base class '__atomic_base<unsigned short, false>' has a deleted copy assignment
operator
: public atomic_base<_Tp, false>
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:985:20: note: 'operator=' has been explicitly
marked deleted here
atomic_base& operator=(const atomic_base&) = delete;
^
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/ResponseCodeTests.cpp.o] Error 1
make[2]: *** [cli/CMakeFiles/aws-iot.dir/cli.cpp.o] Error 1
make[1]: *** [cli/CMakeFiles/aws-iot.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
18 errors generated.
18 errors generated.
18 errors generated.
make[2]: *** [tests/integration/CMakeFiles/aws-iot-integration-tests.dir/src/MultipleClients.cpp.o] Error 1
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/ConfigCommonTests.cpp.o] Error 1
18 errors generated.
18 errors generated.
make[2]: *** [tests/integration/CMakeFiles/aws-iot-integration-tests.dir/src/AutoReconnect.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/integration/CMakeFiles/aws-iot-integration-tests.dir/src/PubSub.cpp.o] Error 1
make[2]: *** [samples/JobsAgent/CMakeFiles/jobs-agent.dir/JobsAgentOperations.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [tests/integration/CMakeFiles/aws-iot-integration-tests.dir/src/MultipleSubAutoReconnect.cpp.o] Error 1
In file included from /Users/kmok/workspaces/aws-iot-device-sdk-cpp/tests/unit/src/discovery/DiscoveryTests.cpp:31:
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/discovery/Discovery.hpp:55:13: error: explicitly defaulted move constructor is implicitly deleted
[-Werror,-Wdefaulted-function-deleted]
DiscoverRequestData(DiscoverRequestData &&) = default;
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/discovery/Discovery.hpp:46:31: note: move constructor of 'DiscoverRequestData' is implicitly deleted
because field 'discovery_response' has a deleted move constructor
DiscoveryResponse discovery_response;              ///< Response received in Discover request
^
/Users/kmok/workspaces/aws-iot-device-sdk-cpp/include/discovery/DiscoveryResponse.hpp:106:9: note: 'DiscoveryResponse' has been explicitly marked deleted here
DiscoveryResponse(DiscoveryResponse &&) = delete;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir///samples/JobsAgent/JobsAgentOperations.cpp.o] Error 1
20 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/discovery/DiscoveryTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/integration/CMakeFiles/aws-iot-integration-tests.dir/src/JobsTest.cpp.o] Error 1
make[1]: *** [tests/integration/CMakeFiles/aws-iot-integration-tests.dir/all] Error 2
18 errors generated.
make[2]: *** [samples/ShadowDelta/CMakeFiles/shadow-delta-sample.dir/ShadowDelta.cpp.o] Error 1
make[1]: *** [samples/ShadowDelta/CMakeFiles/shadow-delta-sample.dir/all] Error 2
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/util/JsonParserTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [samples/PubSub/CMakeFiles/pub-sub-sample.dir/PubSub.cpp.o] Error 1
make[1]: *** [samples/PubSub/CMakeFiles/pub-sub-sample.dir/all] Error 2
18 errors generated.
18 errors generated.
make[2]: *** [samples/Jobs/CMakeFiles/jobs-sample.dir/JobsSample.cpp.o] Error 1
make[1]: *** [samples/Jobs/CMakeFiles/jobs-sample.dir/all] Error 2
make[2]: *** [samples/JobsAgent/CMakeFiles/jobs-agent.dir/JobsAgent.cpp.o] Error 1
make[1]: *** [samples/JobsAgent/CMakeFiles/jobs-agent.dir/all] Error 2
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/MockNetworkConnection.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/jobs/JobsTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/mqtt/ClientTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/jobs/JobsAgentTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/shadow/ShadowTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/ClientCoreTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/mqtt/PublishTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/mqtt/ConnectTests.cpp.o] Error 1
18 errors generated.
make[2]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/src/mqtt/SubscribeTests.cpp.o] Error 1
make[1]: *** [tests/unit/CMakeFiles/aws-iot-unit-tests.dir/all] Error 2
make: *** [all] Error 2


Clean up docs

(based on @ychiucco's work in the tasks repo)

Based on work in the tasks/client repo's, we should also clean up the docs here.

Prune any unnecessary dependency from both docs/docs-requirements.txt and {pyproject.toml, poetry.lock}
Update GitHub actions:

Remove the docs part from the CI github action into an independent documentation.yaml, and also remove the creation of openapi.json
Copy the excat github action we have in tasks/client
Add a new preliminary job that: (1) install poetry, (2) set-up python, (3) poetry install --without dev --with doc, (4) create openapi.json

Make the mkdocs.yml configuration (and docs folder) as similar as possible to the ones in tasks/client:

add extra.css, and the new css info in mkdocs.yml
make handlers/python options as similar as possible to the others
make theme/features as similar as possible (e.g. add content.code.copy)
make site_name specific ("Fractal Server"?)
add copyright footer
... (anything else which can make the three docs homogeneous)
anything else which is needed to have three homogeneous docs pages for the three projects

The relevant openapi block will look like
      - name: extract openapi schema
        env:
          DEPLOYMENT_TYPE: development
          JWT_SECRET_KEY: 1234
          DATA_DIR_ROOT: /tmp/fractal-server/
          FRACTAL_TASKS_DIR: /tmp/fractal-server/tasks/
          FRACTAL_RUNNER_WORKING_BASE_DIR: /tmp/fractal-server/artifacts/
        run: fractalctl openapi --openapi-file docs/openapi.json


Fix window maximize not being preserved when moving screen

Now windows maximized on the source screen get properly maximized on the dest screen

This works well as-is on windows, thanks! MacOS uses a separate property called fullscreen, but it seems we can't programmatically set the window rect when in fullscreen.
As such, I am going to merge this as-is.


Check # and Payee does not save

Check # and Payee does not save on the HIF Grant Controls widget.

Issue is closed since check # and payee aren't being saved on the HIF Grant Controls widget


[Python] Can't install on Raspberry Pi (Failed building wheel for pyarrow)

Describe the bug, including details regarding any error messages, version, and platform.
I tried to install pyarrow via pip and from the source following those instructions here https://arrow.apache.org/docs/developers/python.html#python-development
both methods showed the same errors. The output of the pip command is attached.
pipout.txt
Same results on Buster and Bullseye, Python 3.7
I also found a very similar issue here and tried to follow the steps with no success https://github.com/apache/arrow/issues/14920
any suggestions for me to try?
thank you!
Component(s)
Python

It seems that you didn't define CMAKE_PREFIX_PATH:
https://arrow.apache.org/docs/dev/developers/python.html#using-system-and-bundled-dependencies
export ARROW_HOME=$(pwd)/dist
export LD_LIBRARY_PATH=$(pwd)/dist/lib:$LD_LIBRARY_PATH
export CMAKE_PREFIX_PATH=$ARROW_HOME:$CMAKE_PREFIX_PATH

thank you for your quick answer. I have another error now: No module named 'cmake' (output:
pipout_2.txt )
It is installed already and I double-checked 'import cmake' in a Python terminal it worked.

I realized I didn't have the last version for pip, I just upgraded to pip 22.3.1 but it didn't change the result

When you tried import cmake in the terminal were you using this python executable? /home/pi/pyarrow-dev/bin/python3

'which python3' gives me that path yes
/home/pi/pyarrow-dev/bin/python3

What is /home/pi/.local/bin/cmake?
Could you show file /home/pi/.local/bin/cmake and head /home/pi/.local/bin/cmake?
How did you install CMake? pip install cmake? ( https://pypi.org/project/cmake/ ?)

I did install cmake via pip (also tried to uninstall and install again)
.local/bin because I didn't run the install from the virtualenv this time,  not sure why it's .local though, I'd have expected usr/bin but that's probably another story!
The error is the same anyways; that's why I didn't notice, sorry bout the confusion.
Here's the output from the same virtual env from before:
out.txt

the information requested: (same for /home/pi/pyarrow-dev/bin/cmake)
$ file /home/pi/.local/bin/cmake
/home/pi/.local/bin/cmake: Python script, ASCII text executable

$ head /home/pi/.local/bin/cmake
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from cmake import cmake
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(cmake())

OK. Could you show head /home/pi/pyarrow-dev/bin/cmake?
I think the shebang of the file is wrong. It must be #!/home/pi/pyarrow-dev/bin/python3.

it looks good
$ head /home/pi/pyarrow-dev/bin/cmake
#!/home/pi/pyarrow-dev/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from cmake import cmake
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(cmake())

Does /home/pi/pyarrow-dev/bin/cmake --help work?

it does

Could you use CMake installed by apt not pip or try pip install --no-build-isolation pyarrow?

pip install --no-build-isolation pyarrow
pip-nobuild-out.txt
not sure how to use the apt cmake instead of pip?
I did
pip uninstall cmake
but 'sudo apt install cmake' didn't work:
Reading package lists... Done Building dependency tree Reading state information... Done cmake is already the newest version (3.16.3-3~bpo10+1). The following packages were automatically installed and are no longer required:   docutils-common libpython-all-dev lxplug-volume mypy pylint3 python-all-dev python-configparser python-entrypoints python-keyring python-keyrings.alt python-secretstorage python-wheel   python-xdg python3-astroid python3-asttokens python3-docutils python3-isort python3-jedi python3-lazy-object-proxy python3-logilab-common python3-mccabe python3-mypy   python3-mypy-extensions python3-parso python3-roman python3-send2trash python3-typed-ast python3-wrapt sgml-base xml-core xsel Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
which cmake indicates the one used by the main profile
/home/pi/.local/bin/cmake

Ah, we need to install build dependencies manually with pip install --no-build-isolation:
wget https://raw.githubusercontent.com/apache/arrow/master/python/requirements-build.txt
pip install -r requirements-build.txt
pip install --no-build-isolation pyarrow

I think that you can remove /home/pi/.local/bin/cmake by /usr/bin/python3 -m pip uninstall cmake.

indeed. it finally removed that confusing .local, no idea where it came from...  it's now using cmake from /usr/bin/
I did:
sudo apt remove cmake (success!)
sudo apt install cmake (success!)
pip install pyarrow goes back to the CMAKE_PREFIX_PATH error. I tried to redefine it as explained above guessing the uninstall might have wiped it, with no success. output:
out-with-aptcmake.txt
Thanks for explaining the no-build (and for the rest too of course!) I still only have a basic understanding of all those processes.
here's the output for it: nobuild-output.txt

How did you install Apache Arrow C++? Could you show complete command lines?

I followed exactly the instructions here: https://arrow.apache.org/docs/dev/developers/python.html#using-system-and-bundled-dependencies
git clone https://github.com/apache/arrow.git
pushd arrow git submodule update --init export PARQUET_TEST_DATA="${PWD}/cpp/submodules/parquet-testing/data" export ARROW_TEST_DATA="${PWD}/testing/data" popd
sudo apt-get install build-essential cmake python3-dev
`python3 -m venv pyarrow-dev
source ./pyarrow-dev/bin/activate
pip install -r arrow/python/requirements-build.txt
This is the folder where we will install the Arrow libraries during
development
mkdir dist
(forgot that part below initially)
export ARROW_HOME=$(pwd)/dist export LD_LIBRARY_PATH=$(pwd)/dist/lib:$LD_LIBRARY_PATH export CMAKE_PREFIX_PATH=$ARROW_HOME:$CMAKE_PREFIX_PATH
the error happened here at 'make install'
mkdir arrow/cpp/build pushd arrow/cpp/build cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \         -DCMAKE_INSTALL_LIBDIR=lib \         -DCMAKE_BUILD_TYPE=Debug \         -DARROW_BUILD_TESTS=ON \         -DARROW_COMPUTE=ON \         -DARROW_CSV=ON \         -DARROW_DATASET=ON \         -DARROW_FILESYSTEM=ON \         -DARROW_HDFS=ON \         -DARROW_JSON=ON \         -DARROW_PARQUET=ON \         -DARROW_WITH_BROTLI=ON \         -DARROW_WITH_BZ2=ON \         -DARROW_WITH_LZ4=ON \         -DARROW_WITH_SNAPPY=ON \         -DARROW_WITH_ZLIB=ON \         -DARROW_WITH_ZSTD=ON \         -DPARQUET_REQUIRE_ENCRYPTION=ON \         .. make -j4 make install popd
trying again with https://arrow.apache.org/docs/dev/developers/cpp/building.html#cpp-building-building
some confusion here tbh:

cmake I had installed with apt was 3.18 so I couldn't use --preset (available for version >3.21)
I install ($ make install) 3.25.2 from the source
cmake --version didn't work as if cmake was not installed
I end up doing apt install again. it says 3.18 is being installed but cmake --version now says 3.25
... anyways, moving on:

$ cmake .. --preset ninja-debug-minimal worked
$ tree debug
debug/
├── libarrow_dataset.so -> libarrow_dataset.so.1100
├── libarrow_dataset.so.1100 -> libarrow_dataset.so.1100.0.0
├── libarrow_dataset.so.1100.0.0
├── libarrow.so -> libarrow.so.1100
├── libarrow.so.1100 -> libarrow.so.1100.0.0
├── libarrow.so.1100.0.0
├── libparquet.so -> libparquet.so.1100
├── libparquet.so.1100 -> libparquet.so.1100.0.0
└── libparquet.so.1100.0.0

0 directories, 9 files

that part is a bit over my head, and I'm not sure where to go from there. Thanks again for your help!

It seems that export ARROW_HOME=... is missing.
Could you show echo $CMAKE_PREFIX_PATH?
Could you also show make install output?

just ran
cmake --preset=ninja-release-python-minimal .
cmake --build .
sudo cmake --build . --target install

without errors.
Then tried to install pyarrow again and it worked!
I have no idea what I did honestly... it looks like pip can't work for a Pi installation. it requires the latest cmake from apt and for arrow to be compiled from the source. I have a limited understanding of that part, and still not sure why I still had to do a pip install on top of the build.
$ echo $CMAKE_PREFIX_PATH
/home/pi/dist:/home/pi/dist:

I don't know if I can run again make install now it works? (really afraid to break something...)

Let me know if I can help to resolve the vanilla pip install process for Raspberry, looks like a niche but it didn't work for me on 2 different set up so I guess it is really something that can be fixed. or I'm very unlucky
thank you again for your help, I can get back to my project! (and sleeping)

DESTDIR=/tmp/test/ make install is safer but it's not needed because your problem was solved. :-)
I think that documented command lines work well but there are many command lines. So some human errors can be injected like CMAKE_PREFIX_PATH.
If we provide pyarrow wheels for Raspberry Pi, you just need to run pip install pyarrow.
We provide pyarrow wheels for aarch64: https://pypi.org/project/pyarrow/#files
I don't know what architecture is required for Raspberry Pi.
BTW, can we close this issue?

yes, I just did. Thank you again for your help!

hi @kou! I'm experiencing a new issue but note sure how related to the install it is so I dont want to create a new thread unless you tell me so.
I initially needed to install pyarrow because I couldn't install db-dtypes without it. Now I have both and it's confirmed if I try pip install db-dtypes
It looks like the issue is still with pyarrow though:
 import pyarrow.lib as _lib ImportError: libarrow_dataset.so.1100: cannot open shared object file: No such file or directory
the full error (worth mentioning the script works well on my laptop... maybe I should just consider not using a Pi for that project):
`Traceback (most recent call last):
File "/home/pi/pyarrow-dev/lib/python3.7/site-packages/google/cloud/bigquery/_pandas_helpers.py", line 41, in
import db_dtypes  # type: ignore
File "/home/pi/pyarrow-dev/lib/python3.7/site-packages/db_dtypes/init.py", line 26, in
import pyarrow
File "/home/pi/pyarrow-dev/lib/python3.7/site-packages/pyarrow/init.py", line 65, in
import pyarrow.lib as _lib
ImportError: libarrow_dataset.so.1100: cannot open shared object file: No such file or directory
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "run_gscpull.py", line 5, in
gscdatapull(backfill=5)#, end_date='2022-11-10')
File "/home/pi/gsc-bigquery/class_gscdailypull.py", line 22, in init
self.do_allthethings(all_users_settings,self.backfill)
File "/home/pi/gsc-bigquery/class_gscdailypull.py", line 58, in do_allthethings
mydata = GSC(domain=domain,wp_user_id=user_data['user_id'],backfill=backfill, refresh=user_data['refresh_token'], end_date=self.end_date)
File "/home/pi/gsc-bigquery/class_gsc.py", line 47, in init
self.db_dates_data = bigquery.checkdata(self.start_date, self.end_date).to_dataframe()
File "/home/pi/pyarrow-dev/lib/python3.7/site-packages/google/cloud/bigquery/table.py", line 1993, in to_dataframe
_pandas_helpers.verify_pandas_imports()
File "/home/pi/pyarrow-dev/lib/python3.7/site-packages/google/cloud/bigquery/_pandas_helpers.py", line 1006, in verify_pandas_imports
raise ValueError(_NO_DB_TYPES_ERROR) from db_dtypes_import_exception
ValueError: Please install the 'db-dtypes' package to use this function.
`

You need to use ninja-release-python or ninja-release-python-maximum preset to use pyarrow.dataset:
cmake --preset=ninja-release-python .
cmake --build .
sudo cmake --build . --target install
pip install pyarrow

cmake --preset=ninja-release-python . stopped somewhere in the middle
so I just tried to add dataset to the minimal install, but have the same error when running my script.
cmake -DARROW_BUILD_STATIC=OFF -DARROW_COMPUTE=ON -DARROW_CSV=ON -DARROW_FILESYSTEM=ON -DARROW_JSON=ON -DARROW_DATASET=ON  -DCMAKE_BUILD_TYPE=Release
trying cmake --preset=ninja-release-python . again, will report the error

Could you show the full log?

it worked this time. no error but the script still fails
here's the output for sudo cmake --build . --target install
install.txt
looks like the library is installed
-- Installing: /usr/local/lib/libarrow_dataset.so.1100.0.0 -- Up-to-date: /usr/local/lib/libarrow_dataset.so.1100 -- Set runtime path of "/usr/local/lib/libarrow_dataset.so.1100.0.0" to "" -- Up-to-date: /usr/local/lib/libarrow_dataset.so -- Up-to-date: /usr/local/lib/cmake/ArrowDataset/ArrowDatasetConfig.cmake -- Up-to-date: /usr/local/lib/cmake/ArrowDataset/ArrowDatasetConfigVersion.cmake
I tried adding /usr/local/lib/ to the PATH but didn't work either.

ok that was most likely the LD_LIBRARY_PATH, I ran a sudo ldconfig and now it works. THANK YOU! (I learned a lot!)

No problem. :-)

Hi @vmalisz and @kou, I am running into the same errors that you described above. Would you be able to summarize the list of commands that you entered to get pyarrow to run? I'm having trouble discerning which steps were necessary and which ones caused more issues. Thank you in advance!

What is your platform?
In general, https://arrow.apache.org/docs/dev/developers/python.html#building-on-linux-and-macos should work.
If it doesn't work, we should update our documentations.


ValidationError: "navbar.items.target" is not allowed

🐛 Bug Report
The following problem was encountered when upgrading to 2.0.0-alpha.59:
ValidationError: "navbar.items[1].target" is not allowed
I cannot add a target to the navbar link. The default is "_blank", but I would like the links to be "_self".
Have you read the Contributing Guidelines on issues?
Yes
To Reproduce
(Write your steps here:)

Upgrade to  2.0.0-alpha.59
Attempt to start dev server with a navbar.item.target value on a href link.

Expected behavior
Link gets target value of "_self"
Actual Behavior
Getting this error:
ValidationError: "navbar.items[1].target" is not allowed
Your Environment
Docusaurus version used: 2.0.0-alpha.59
Environment name and version (e.g. Chrome 78.0.3904.108, Node.js 10.17.0): Chrome 84.0.4147.89
Operating system and version (desktop or mobile): Mac OSX 10.15.5

Thanks,
That will be fixed in https://github.com/facebook/docusaurus/pull/3140
Can you tell me exactly what is the config of your navbar item?

Thank you! This is my navbar item config:
{
href: "https://github.com/OctavianUrsu",
label: "GitHub",
position: "right",
},

Thanks, it should be possible to add a target as soon as we release

released in https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.60


[WIP] Fix/missing error messaging

Description of change
Fix error messages and add in office codes (not under production yet)
Link to relevant ticket
N/A

@dwhenry can we close this? I think all parts of it are now out of date.

closing as very stale and will come back if a problem. need to free up pod resources


Project Level 3 (Stuck on notion of time)

Hello! So far I have been progressing with the project and I have come to a sort of dead-end when it comes to time. So far, the issue that I face is that the notion of time is not being tracked properly within the project.
Refering to the screenshot, at 1.500, the list is not properly updated to show that the servers are available for waiting. This might be due to the logic of my Simulate3 class, which first creates events for the list of customer arrival times, then loops up to 4 times to execute the events for the arrival times before moving on to the next one.
My question is: Is there a problem with my simulate logic or my event logic? As well as does anyone have a suggestion on how to track the notion of time?

A bit sparse on details, how are you tracking who is waiting on each server?
One way to track the notion of time is let the event loop handle all the timing. The server has a queue of customers (with no explicit reference to time except customers are sorted by arrival times). All you need from the server is

can server serve?
can server wait?
queue up
leave queue

and a few more in the later levels, but by and large the events are enough to handle all the timing i.e. serve() adds a done() event registered at time+1 units later.
This is only one of the ways to do it but I found it fairly elegant and robust.

A bit sparse on details, how are you tracking who is waiting on each server?
One way to track the notion of time is let the event loop handle all the timing. The server has a queue of customers (with no explicit reference to time except customers are sorted by arrival times). All you need from the server is

can server serve?
can server wait?
queue up
leave queue

and a few more in the later levels, but by and large the events are enough to handle all the timing i.e. serve() adds a done() event registered at time+1 units later.
This is only one of the ways to do it but I found it fairly elegant and robust.

Thank you! Does that mean my Server class should make use of a PQ to track customers assigned to them? i.e. 1 server class tracking a maxiumum of 2 customers at once.

Hello!!  @shotnothing I was able to add a done event registered at time +1 units later however I am a little stuck on how to track the done time to determine the service time for the customer waiting.
Thank you!!

A bit sparse on details, how are you tracking who is waiting on each server?
One way to track the notion of time is let the event loop handle all the timing. The server has a queue of customers (with no explicit reference to time except customers are sorted by arrival times). All you need from the server is

can server serve?
can server wait?
queue up
leave queue

and a few more in the later levels, but by and large the events are enough to handle all the timing i.e. serve() adds a done() event registered at time+1 units later.
This is only one of the ways to do it but I found it fairly elegant and robust.

Thank you! Does that mean my Server class should make use of a PQ to track customers assigned to them? i.e. 1 server class tracking a maxiumum of 2 customers at once.

For me I used a ImList to track the Customers!

@Alexius0123 yup that's what I did, but PQ or ImList works fine. The canServe and canWait methods basically operate on comparing to the length/size of the PQ/ImList and help gatekeep the flow of customers into the server.

hi! So the idea is that the done event calls the serve event for the next customer.

hi! So the idea is that the done event calls the serve event for the next customer.

Thanks @shotnothing! I tried this method, but it is giving me cyclic dependency issues. I'm guessing its because of  the order:
Serve -> Done' -> `Serve' ?
Do you know how i can solve this issue? Thanks !

Hi! I think you can try calling for the Serve event in Simulate3's run() instead. I made it such that the server keeps track of the waiting customer, so when its done serving the first customer, it creates a new Serve for the second customer.

Hi! I think you can try calling for the Serve event in Simulate3's run() instead. I made it such that the server keeps track of the waiting customer, so when its done serving the first customer, it creates a new Serve for the second customer.

yup! that's what I did

Hi! I think you can try calling for the Serve event in Simulate3's run() instead. I made it such that the server keeps track of the waiting customer, so when its done serving the first customer, it creates a new Serve for the second customer.

Yup! That's what I did too

Hi, I am facing the same issue and after reading the visualisation, i understand much better, thank you so much

Hi, I faced the same issue, it was because I did not empty the wait list after moving the customer to the serve event!


[TypeScript] Incorrect withStyles type inference

[X] This is not a v0.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate. (I searched for "pick", "withStyles typescript", "withStyles" and found this, but I believe this is not that issue)

Expected Behavior
Take this sample component:
export interface Props {
  /* ... */
}

const styles = createStyles({
  bla: {
    /* ... */
  }
});

const Component: React.SFC<Props & WithStyles<typeof styles>> = props => (/* ... */);

export default withStyles(styles)(Component);

The type of the export is inferred as React.ComponentType<Pick<any, string | number | symbol> & StyledComponentProps<"bla">> instead of as React.ComponentType<Props & StyledComponentProps<"bla">. This gives me trouble when trying to use the wrapped component together with react-redux, because it expects the latter (type).
Context

Using m-ui together with react-redux. This issue can be workarounded using a typecast, but the project I'm working on is rather large and I'd like to avoid that.
Your Environment
m-ui v3.1.2
ts v3.1, but I experienced it with v2.8 as well.
tsconfig.json:
{
  "compilerOptions": {
    "outDir": "build",
    "module": "es2015",
    "target": "es2015",
    "lib": ["es6", "dom"],
    "sourceMap": true,
    "allowJs": true,
    "jsx": "react",
    "moduleResolution": "node",
    "forceConsistentCasingInFileNames": true,
    "noImplicitThis": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": false,
    "importHelpers": true
  },
  "files": [
    "src/index.tsx"
  ]
}

The type of the export is inferred as React.ComponentType<Pick<any, string | number | symbol> & StyledComponentProps<"bla">> instead of as React.ComponentType<Props & StyledComponentProps<"bla">.

Where is this inferred? It would help if you could provide a minimal reproduction that fails compilation.
Until then try the pattern that is described in the typescript guide:
const styles = createStyles({
  bla: {
    /* ... */
  }
});

export interface Props extends WithStyles<typeof styles> {
  /* ... */
}

const Component: React.SFC<Props> = props => (/* ... */);

export default withStyles(styles)(Component);

Where is this inferred?

It is inferred as type of the export value, so withStyles(styles)(Component) has that type.

Until then try the pattern that is described in the typescript guide:

This probably wouldn't change anything for the inference (I tried it out). IIRC extends and type-& pretty much do the same.

It would help if you could provide a minimal reproduction that fails compilation.

I'm trying to, but within the test cases inference is correct and I can't figure out why it isn't in the bigger project 🙈. I feel like I'm doing the same, just with a larger component..

God no. I was mislead because these were "follow-up" errors because I had other typing errors elsewhere in the project. These errors "weren't real" and disappeared when I fixed the others. Sorry for bothering and stealing your time.

Where is this inferred?

It is inferred as type of the export value, so withStyles(styles)(Component) has that type.

I meant whether this was inferred in your IDE or when running tsc.

This probably wouldn't change anything for the inference (I tried it out). IIRC extends and type-& pretty much do the same.

"probably" and "pretty much" are not enough when it comes to problem statements in typescript. extends and & are not equivalent because type and interface are not equivalent.

These errors "weren't real" and disappeared when I fixed the others. Sorry for bothering and stealing your time.

Glad this got fixed. Type errors are always time consuming in HOCs.

I meant whether this was inferred in your IDE or when running tsc.

In webpack with awesome-typescript-loader actually.

"probably" and "pretty much" are not enough when it comes to problem statements in typescript. extends and & are not equivalent because type and interface are not equivalent.

You're right, but I tried it out and it didn't make a difference then. :)

Type errors are always time consuming in HOCs.

Very true!


implement with pure javascript

i want to know how can i import and use ng2-uploader in my angular2 app written in pure javascript (not typescript).
i've already added the reference to ng2-uploader.js and when i add the UPLOAD_DIRECTIVES  to my app.componen.js attributes things crash
(function (app) {
app.AppComponent =
ng.core.Component({
selector: 'app',
templateUrl: 'app/components/app.component.html',
styleUrls: ['app/components/app.component.css'],
directives: [ng.router.ROUTER_DIRECTIVES, ng2-uploader.UPLOAD_DIRECTIVES]
})
.Class({
constructor: [ng.router.Router, function (router) {
this.router = router;
}],
go: function () {
this.router.navigate(['/clients']);
}
});
})(window.app || (window.app = {}));

Honestly I never tried using universal, what is the console error output?

here are errors:
Uncaught ReferenceError: require is not defined
Uncaught ReferenceError: ng2 is not defined
Uncaught Unexpected value 'undefined' declared by the module 'constructor'

I am guessing that importing as ng2-uploader.UPLOAD_DIRECTIVES is not correct.


svelte:options customElement

Hi,
A compile error is generated with version 11:
[vite-plugin-svelte] /node_modules/@beyonk/gdpr-cookie-consent-banner/src/lib/Ba
nner.svelte:1:16 The 'customElement' option is used when generating a custom element. Did you forget the 'customElement: true' compile option
?
1: <svelte:options customElement="cookie-consent-banner" />
To resolve this, I had to include in my svelte.config.js the following:
compilerOptions: {
customElement: true,
},
It does not seem right that I have to mod my config to compile.
Thanks,
Pierre

is it an error or a warning?
a bit annoying, but if we want to publish the banner as a WebComponent too, we need to include that. I'm not sure there is a way around it.

Hi,
Sorry it was a warning.
Might I suggest appending to your Svelte example the modification to svelte.config.js in the Readme.md.
Thanks for the update,
Pierre

It says in the warning what you need to do, so not sure this is necessary.
I feel like this is an issue within the way Svelte works, since you don't actually want custom element output in a regular svelte project.
the compiler should know that you're seeing the options tag in a project dependency, not the main project, and not warn.
i'll raise an issue with Svelte (or you can)

@antony did you make an issue?

Hey Yury, no, I've not had time.
Feel free to do it if need be.
On Sun, 5 Nov 2023 at 06:48, Yury Zhuravlev @.***>
wrote:

@antony https://github.com/antony did you make an issue?
—
Reply to this email directly, view it on GitHub
https://github.com/beyonk-group/gdpr-cookie-consent-banner/issues/56#issuecomment-1793654269,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABVORLXTNPGMIUNKZFF6W3YC4ZCVAVCNFSM6AAAAAA5Z5WYTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTGY2TIMRWHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Not sure if this is related but I cannot use the cookie banner because of the following issue:

Actually solved, seems I used an old version of sveltekit

Still shows an error on latest sveltekit "@sveltejs/kit": "^2.5.0".
The problem with this is once I add
compilerOptions: {
customElement: true,
},

pre-rendering with static adapter kit breaks and CSS is no longer loaded from Svelte pages and components.

@belte42 because you're trying to mark your entire project as a custom element, which won't work. The "did you forget to add" customElement: true warning is just a warning, and can be safely ignored.
If it bothers you a lot, please raise a SvelteKit issue and I'll discuss it with the others and see if I can implement a fix - but at the moment, I don't have time to do it.


feat: use micro-stacks

Hi there 👋
This was mostly an exploration for myself to see how hard it is to migrate an app from using @stacks/* to micro-stacks/* related libraries. Only took about a half hour to move things over!
Bundle size difference:
with micro-stacks
File sizes after gzip:

  250.98 kB  build/static/js/main.b1786ae0.js
  1.79 kB    build/static/js/787.e4ec841a.chunk.js
  227 B      build/static/css/main.eaa4c575.css

with stacks.js
File sizes after gzip:

  483.17 kB (+232.2 kB)  build/static/js/main.7121c311.js
  305.88 kB              build/static/js/124.6c09110b.chunk.js
  1.79 kB                build/static/js/787.e4ec841a.chunk.js
  227 B                  build/static/css/main.eaa4c575.css

✨ Total difference: -538.08 KB after gzip if using micro-stacks ✨
The advantage of using micro-stacks is a much lighter bundle size (10x+ smaller -- with exact API matches with core @stacks/* libs.) micro-stacks core only has two dependencies, and each of those have zero. Additionally, with @micro-stacks/react many of the things you were doing manually are handled by the library: current network state, account based on network, loading states, etc.
I've tested most of this, but there might be some broken features :) happy to chat through any of this, and absolutely no pressure on switching over if that is something that is not interesting to you!
It's much easier to see the diff with whitespace ignored

Hi @aulneau
Thanks for the commit! One thing i see is some tests fail. Component snapshot tests depends on stacks/connect-react's Connect provider. You can see in helper/test-helper.tsx. Is it possible to replace it with micro-stacks?
I'll check all functionality of the app to make sure if all ok.

@talhasch I updated the dependencies in the tests, but I'm not able to run tests on main or this branch on my machine, i don't think the dependencies you have work with my m1 mac.
One other change I'd highly recommend is moving away from create-react-app (react-scripts) and move to a more modern bundling framework like vite

@talhasch I have a branch here https://github.com/fungible-systems/multisafe-ui/pull/1 using vite. you'll get many more benefits from using vite: faster builds, more modern outputs, MUCH better HMR, and much much more

@aulneau Thanks for letting know, I'll definitely check vite!
Could you click on "allow edits from maintainers" checkbox. I have some code to push this repo to fix test problems.

@aulneau Thanks for letting know, I'll definitely check vite!
Could you click on "allow edits from maintainers" checkbox. I have some code to push this PR to fix test problems.

I'm never able to find that setting 🤔 but I invited you as collaborator

@aulneau Thanks for letting know, I'll definitely check vite!
Could you click on "allow edits from maintainers" checkbox. I have some code to push this PR to fix test problems.

I'm never able to find that setting 🤔 but I invited you as collaborator

Awesome! I pushed some updates. It should fix test issues. Could you try running tests? Also dropped some comments. After resolving them ready to merge 🎉

@aulneau Thanks for letting know, I'll definitely check vite!
Could you click on "allow edits from maintainers" checkbox. I have some code to push this PR to fix test problems.

I'm never able to find that setting 🤔 but I invited you as collaborator

Awesome! I pushed some updates. It should fix test issues. Could you try running tests? Also dropped some comments. After resolving them ready to merge 🎉

wonderful! I've ran the tests and they work now on my machine :)
I've also made a few new commits:

https://github.com/Trust-Machines/multisafe-ui/pull/1/commits/567654c97a351e26ddd7b3907c67ce55ce3132ac: this just updates the deps for the app to newest, non-breaking versions
https://github.com/Trust-Machines/multisafe-ui/pull/1/commits/f1770c8c8e349864f1ca0ec8b8124b03e56fe949: this is an example of how you can start to show more feedback to users on different actions, eg "Confirm in wallet" during the create a safe step
https://github.com/Trust-Machines/multisafe-ui/pull/1/commits/dbba769be21885c791225f3546a28481df847cba: one difference between stacks.js connect and micro-stacks is you have to handle the "no wallet found" screen yourself. I added a simple html native dialog, but you should update this to use your dialog/modal components :)


Can't create a tunnel termination via the API

pynetbox version
7.3.4
NetBox version
3.7.0
Python version
3.9
Steps to Reproduce
netbox_api_object = pynetbox.api(netbox_url, token=netbox_token)  ##Create an API object
netbox_api_object.vpn.tunnel_terminations.create(tunnel=1,termination_type=5,role='hub',device='router-test',tags=[1])
*** pynetbox.core.query.RequestError: The request failed with code 400 Bad Request: {'termination_type': ["Invalid value. Specify a content type as '<app_label>.<model_name>'."]}
I managed to create the tunnel termination via the front end without any issues:
role: "peer"
tags: []
tunnel: 1
created: "2024-07-25T20:11:29.411Z"
outside_ip: null
custom_fields: {}
termination_id: 67847
termination_type: 5
Expected Behavior
The script should execute without any issues or errors.
Observed Behavior
*** pynetbox.core.query.RequestError: The request failed with code 400 Bad Request: {'termination_type': ["Invalid value. Specify a content type as '<app_label>.<model_name>'."]}

Not a bug in pynetbox.
termination_type="dcim.interface"

Thanks! Understood. Sorry if this error is not related to pynetbox either.
I'll try to hit the Netbox API directly to confirm.
(Pdb)
netbox_api_object.vpn.tunnel_terminations.create(tunnel=1,termination_type="dcim.interface",role='hub')
*** pynetbox.core.query.RequestError: The request failed with code 500
Internal Server Error: {'error': "'NoneType' object has no attribute
'_meta'", 'exception': 'AttributeError', 'netbox_version': '3.7.0',
'python_version': '3.8.17'}
On Fri, Jul 26, 2024 at 7:43 AM Markku Leiniö @.***>
wrote:

Not a bug in pynetbox.
termination_type="dcim.interface"
—
Reply to this email directly, view it on GitHub
https://github.com/netbox-community/pynetbox/issues/631#issuecomment-2252585935,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTVX3HNGRIVOWID3KUUHLLZOIY75AVCNFSM6AAAAABLPJLTQSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJSGU4DKOJTGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Edward Alvarez.

Closing as it appears not to be a pynetbox issue


MRSI data not being handled the same as original matlab version.

Attached are modifications I made to the twix_map_obj.py script. My discussions of variables are commented near changes I made. Primary issues were the ixToRaw, tmp, and maar variables. There was also some broadcasting issues coming about from MRSI data, but I believe that is fixed by changing the skipLin and skipPar variables. Maybe you have more robust ideas to fix these issues. Due to the size of MRSI data I cannot upload a test set here for you to try unfortunately.
Cheers,
Andrew Wright
amw_issue_zip.zip

@andrewmwright I'm not from the dev team, but as someone who cares about the compatibility of this tool with the MATLAB version, I request you to open a PR 😃

@andrewmwright I'm not from the dev team, but as someone who cares about the compatibility of this tool with the MATLAB version, I request you to open a PR 😃

@sravan953 I raised this as an issue when I submitted the zipped files. Generating a PR wasn't possible. So if you're attempting to recon raw data you should be able to use the files I zipped above. Be aware that there are other bigs I've discovered since I submitted this.

Hi @andrewmwright , sorry for the very long delay in replying. Too many things to keep track of. Is there any chance that you could generate a PR with the bugs you have found?

I've just taken a look at some of the changes, thanks for going through everything with so carefully. This was definitely a case of just getting something to work for the test cases I had. I'll see if I can merge the changes you have made in. Is there any way that you could share a small version of the MRSI data you have (e.g. a single coil version)?


Improve declaration of untagged unions to allow for generator optimizations

Problem
RangeQuery is currently declared as:
/** @codegen_names date, number, terms */
// Note: deserialization depends on value types
export type RangeQuery = DateRangeQuery | NumberRangeQuery | TermsRangeQuery

This declaration is highly problematic for statically typed clients as there is no way to correctly deserialize into the correct union variant, because for example the following variants share the same underlying JSON type:
export class TermsRangeQuery extends RangeQueryBase {
  gt?: string

export class DateRangeQuery extends RangeQueryBase {
  gt?: DateMath // string

There are more types for which the same issue applies, for example:
/** @codegen_names date, numeric, geo */
// Note: deserialization depends on value types
export type DecayFunction =
  | DateDecayFunction
  | NumericDecayFunction
  | GeoDecayFunction

/** @codegen_names geo, date */
// Note: deserialization depends on value types
export type DistanceFeatureQuery =
  | GeoDistanceFeatureQuery
  | DateDistanceFeatureQuery

Proposal
Rearrange and mark these kind of untagged unions, that only differ by the type of some fields, in a specific way so that code generators can drive specialized generation to allow for asymmetric (de-)serialization:
export class MyTypeBase<T1, T2, ...> { ... }

export class MyTypeSpecialized1 extends MyTypeBase<int> {}
export class MyTypeSpecialized2 extends MyTypeBase<string> {}
export class MyTypeSpecialized3 extends MyTypeBase<bool> {}

/**
 * @codegen_names 1, 2, 3
 * @variant untagged
 */
// Note: deserialization depends on value types
export type MyType = MyTypeSpecialized1 | MyTypeSpecialized2 | MyTypeSpecialized3

In .NET world, the resulting class design could look like this:
// Untyped/any variant always used for deserialization; can optionally be used by the user when building queries
public class RangeQuery
{
    public object? Gt { get; set; }
}

public abstract class GenericRangeQuery<T> : RangeQuery
{
    public new T? Gt { get; set; }
}

// Specialized range query for numbers
public sealed class NumberRangeQuery : GenericRangeQuery<double> { }

// Specialized range query for dates
public sealed class DateRangeQuery : GenericRangeQuery<DateMath> { }

Motivation and initial discussion: #2545

Done.

@swallez added a commit to fix openapi generation (also enhanced error logging for the deserialization of the schema.json, thanks @Anaethelion)

Spec Meeting 2024/06/27

Explicitly name the "deserialization"/untyped variant in the decorator
Add a strong validation to disallow adding new "untagged" variants
Check flattening of generics


Question

Hi @robtweed
Could you please explain one moment in the following snippet:
https://github.com/RippleOSI/QEWD-Courier/blob/f6b93c93cecfadb86b7f10a59e0844380298fbd3/cdr-service-openehr/modules/ripple-cdr-openehr/handlers/mergeDiscoveryData.js#L44-L57
args.patientId is set at line  45 but it's never used then. Instead args.req.session. nhsNumber  used in the code. Is line 45 redundant?

Also I think openEHR.init(this) can be good before line
https://github.com/RippleOSI/QEWD-Courier/blob/f6b93c93cecfadb86b7f10a59e0844380298fbd3/cdr-service-openehr/modules/ripple-cdr-openehr/handlers/mergeDiscoveryData.js#L99


Removing dist from source control

Added prepublish script that will automatically npm run dist when publishing in case you forget :bowtie:

Current coverage is 76.13% (diff: 100%)

Merging #65 into master will not change coverage

@@             master        #65   diff @@
==========================================
  Files           102        102
  Lines          2615       2615
  Methods          81         81
  Messages          0          0
  Branches        248        248
==========================================
  Hits           1991       1991
  Misses          497        497
  Partials        127        127

Powered by Codecov. Last update de841cf...b997a57


Ethernet : Added support in ethernet

-new network_manager module gives the ability to control Ethernet related (as ip,mac and etc...) through parameters
Additional context
-To use network_manager in rcS add the line "network_manager start" before mavlink

Related to nuttx pull request

A couple initial thoughts.
Running network manager as a task is a huge waste of memory
I don't have a better solution in mind at the moment, but spreading network configuration across parameters feels pretty awkward. Do you actually need it to be runtime configurable like this, or is it just a convenient way to make it persistent?

@dagar network manager does run as a task, but after setting all the Ethernet related it exits immediately.
It is a convenient way, not a must, you can always set it in defconfig, but it does make it simpler when you have more then one drone in one subnet (no network manager - you'll need to change each drone it's mac and IP in the defconfig, compile it differently for each drone and use untagged  version)

@davids5
Thanks for the response!
I'll look into it on sunday

@dagar Would you want to help this to get to completion so you can leverage this as well on your F7 unit?

@LorenzMeier Thanks! Actually not sure where should I create the new define. Maybe whenever __PX4_POSIX is defined then define CONFIG_NET?

@bkueng I tested it on a costume board.
I can't tell you how much the RAM will increase, but it will increase.
It could be an issue with f4 and I do recommend to eliminate unnecessary.
In f7 it should be OK.

Seeing that the CONFIGxxx come from the defconfig and nuttx has to be built with the config, We have 2 options. 1) maintain and carry a separate board config target with _ehternet or 2) have a process to concatenates the net config with all that is needed by NuttX for a given release  I think it is worth pointing out that the current nuttx release has had many Networking related changes since the fork point. The process to update to current nuttx has to be scheduled and supported. But first we need the ability to QA the upgrade on all platforms.

As discussed on the dev call I propose splitting off the mavlink changes into a separate PR we can test,  review, merge ASAP and the network_manager discussion can continue here.

@dagar Added a new PR with Mavlink changes

@davids5 @dagar @bkueng
Did we get to any decision regarding the network manager?
Do you want me to change the IP and the gateway to two one parameter each? What are we doing regarding the parameters? Are we adding support in x.y.z.w format or will we use it as is and use the 2's complement calc?

@davids5 what's the status here?

@julianoes  IIRC @dagar had an issue with the use of param for the IP address, but no other solutions was developed.

When I read it I see that @garfieldG 's questions never got answered.

FYI @dinomani


Markers in Gaps

It's possible to attach markers in gaps. Gaps are empty spaces (no video or audio) between clips on a timeline.
Here are two titles with a gap in between, each with one marker attached:

Currently in MarkersExtractor, gaps are treated same as video/audio/title clips and gap markers will be included just like any other clip. Final Cut Pro also treats them essentially as "content-less" clips, and they are selectable like any other clip on the timeline. I assume a gap is basically a "generator" for black frames? Or pass-thru (transparent) compositing in the case of layered timelines? Unless there's something more to it than that.
@IAmVigneswaran From your workflow experience, should these be treated differently? Does it matter?
Since there's technically no video, there are no thumbnails that can be generated for markers in gaps. Unless we use a black frame or placeholder frame? That's not hard to do, I'm just not sure what the best option would be.
Would it be of any use to add a CLI flag to ignore markers in gaps?

@orchetect

Gaps are empty spaces (no video or audio) between clips on a timeline.

Yeap, Gap clips are "Special Clips" to mitigate empty section due to FCP's Magnetic Timeline.

I assume a gap is basically a "generator" for black frames? Or pass-thru (transparent) compositing in the case of layered timelines? Unless there's something more to it than that.

You can call them as "generator". But there is an Official Black Generator, called Custom.

When you press Option+W, you can create a Gap clip anywhere in the timeline. They don't technically have any attributes in the inspector panel.

From your workflow experience, should these be treated differently? Does it matter?
Since there's technically no video, there are no thumbnails that can be generated for markers in gaps. Unless we use a black frame or placeholder frame? That's not hard to do, I'm just not sure what the best option would be.

I have seen users (Including myself) who like to place Marker on Gaps clip. This can be for number of reasons.

Users would remove the original clip (using the del key), which will result in Gap clips to finesse the timeline.
They can place a maker on it. To keep track of shots to be replaced.

To keep our workflow simple. We don't need any additional flags/switch.

If there is a Maker on a Gap clip, our tool would read the metadata.
Since it is not a real clip, we print the value of Gap Clip under Clip Name Column.
For Clip Filename Column we keep it empty. Similar to Titles.
We don't need any special black frame? When rendered, FCP does "Flatten" the video when rendering. Apple ProRes 422 does not support transparency.

That way any Marker on Gap Clipwill always be extracted as empty black images.

we print the value of Gap Clip under Clip Name Column

Gap clips can actually be renamed by the user in Final Cut Pro so we'd just use its actual name. Like any other clip, really.

Apple ProRes 422 does not support transparency.

Yeah I don't mean transparent as in alpha in the final rendered video. I might have to put together a screenshot to explain. Maybe what I'm thinking of isn't even possible in FCP. But I know multiple lanes can exist and maybe overlapping video lanes could happen. In that case, a situation may occur where a gap could overlap with another video. In that case, would the gap be black in that spot or would the gap pass-thru to the video underneath?

Gap clips can actually be renamed by the user in Final Cut Pro so we'd just use its actual name. Like any other clip, really.

I don't usually rename my Gap clips. Hence, it never crossed my mind. Yes, we just use the actual name. That works.

Yeah I don't mean transparent as in alpha in the final rendered video.

Ahh..Noted.

I might have to put together a screenshot to explain. Maybe what I'm thinking of isn't even possible in FCP. But I know multiple lanes can exist and maybe overlapping video lanes could happen. In that case, a situation may occur where a gap could overlap with another video. In that case, would the gap be black in that spot or would the gap pass-thru to the video underneath?

It is possible in FCP. They are called Secondary Storylines.
I understand what you mean. I believe this is what you are mentioning about?
Example 1

Basically the Gap Clip would pass-thru and show the clip from the primary storyline. You can see that the Monitor shows the Pastel clip.
Example 2

Now the Monitor shows the Green clip. The gap is not in the pass-thru mode.

Since there's technically no video, there are no thumbnails that can be generated for markers in gaps. Unless we use a black frame or placeholder frame? That's not hard to do, I'm just not sure what the best option would be.

I don't think there is any special pass-thru tag stated in the FCPXML? How are we able to detect the mode that it is in?

It is possible in FCP. They are called Secondary Storylines.
the Gap Clip would pass-thru and show the clip from the primary storyline.

Ok great - that's what I was suspecting. Ok I will look into this and see how the XML is structured.
Gaps always pass-thru, don't they? Or are you saying there is actually a mode the user chooses for a gap to be pass-thru or not? From the screenshots it just looks like FCP composites timelines from top down.

Gaps always pass-thru, don't they? Or are you saying there is actually a mode the user chooses for a gap to be pass-thru or not?

Gaps seems to be in always in pass-thru by default. Users can't change it, since it has no clip attributes. But FCP does this automatically base on the "track" layout.

From the screenshots it just looks like FCP composites timelines from top down.

Yes.

My guess is that users will want thumbnails to reflect what they see in Final Cut Pro in these scenarios. If we don't handle the pass-thru video behaviour in gaps then they will just see black frames when encountering a gap on the topmost storyline instead.

Yes. In thinking more about it, having a separate switch makes sense.
--enable-gap-clips ?
By default our CLI's behaviour would be pass-thru. When enabled, MarkersExtractor would render a "special image"?
Similar to your build in Audio wave form?

I can't really imagine a scenario where you would want to force-render gaps as blank frames? Seems to me that following FCP's own behavior of compositing the timeline is what users would always want -- as far as thumbnails are concerned.
(For markers, this doesn't actually affect markers. They would still be gathered as normal. Since a marker on a gap would still probably apply to the timeline as a whole, or the user may use the gap as a placeholder to put markers for the storyline(s) underneath.)

I can't really imagine a scenario where you would want to force-render gaps as blank frames?

Yes. Honestly, I can't think of a scenario too. User will always want to see the same behaviour has FCP's. They want show they see thier timeline in the Monitor.

If there is only one storyline then gap thumbnails would be rendered by MarkersExtractor as black frames since that's the only option we have in that case.

Yes. Your first example.

The only argument for having an option to treat gaps differently is if users explicitly want to know in a multi-storyline context that it's the gap that has the marker. But again, I can't really think why that would be super important.

The switch is nice to have. But 99% of all scenario user will leave it has default. Least priority?

99% of all scenario user will leave it has default. Least priority?

Exactly. So let's implement the compositing behavior for thumbnails, and not introduce any new options at this time.

Note to self:
To implement gap compositing for thumbnail image generation, one of two solutions is needed:

A function that walks the XML/data model to generate a "flattened" timeline model. This would generate a series of timecode ranges and their effective corresponding media file, if any. Then it can easily be queried to return the required media file for any given absolute timecode location. And it would be the most performant method, and easier to unit test.
A function that walks the XML/data model ad-hoc every time a thumbnail is generated. Might be a little slower but wouldn't require a specialized model to perform.

An Idea -

An Idea,
We can have a "Overlay" Image hard-coded into our tool.

If the switch is enable,  --identify-markers-on-gap

But then again, users can always filter out Gap Clips via Notion or Airtable Database.
If they did not rename their Gap clips, They can easily created a filter criteria, where column that only contains "Gap" to identify the marker.
It is somewhat becomes redundant.

Yeah I don't think we need anything special for gaps.
As an aside, one of the new capabilities I implemented during the XML parser refactoring is the ability to easily filter out clip types. So if you don't want markers from gaps, or from audio clips, etc. it's very easy.

Sorry, I totally spaced.
We don't need to do any compositing. Users are rendering their video down into a single final video. Thumbnails are just generated based off of that. So whatever FCP does in gaps, that will be rendered in the thumbnail as expected.
We can close this.


Enable single run to make sure exit

singleRun of karma is false as default. It causes stuck without exit when running npm run test in CLI. We can make sure to exit by enabling singleRun.
see: https://karma-runner.github.io/1.0/config/configuration-file.html

This change is

We don't use singleRun so that when we make a change to the code base it automatically recompiles and re-runs the test. This is super useful for quick development on unit tests and production code.

@nsthorat I got the purpose continuous testing without singleRun. Thanks.


KAFKA-7400: Compacted topic segments that precede the log start offse…

…t are not cleaned up
Currently we don't delete any log segments if the cleanup policy doesn't include delete. This patch changes the behavior to delete log segments that fully precede the log start offset even when deletion is not enabled. Regardless of whether delete is enabled, LogCleaner checks compact topics and LogManager checks non-compact topics. Tested with unit tests to verify that LogCleaner.cleanupOrSleep now cleans logs with cleanup.policy=compact and LogManager.cleanupLogs doesn't, and that Log.deleteOldSegments deletes segments that precede the start offset regardless of the cleanup policy.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Updated patch to have LogCleaner handle all compact topics


Creating a new file shows the toaster to short

Describe the bug
The file gets loaded in to Monaco which generates a structure for canvas which clears all toasters if there are no parse errors.
Reporter
@philipsens
Expected behavior
Only clear error toastr and not others like file created/saved.

Wasn't fixed at all!


Bring in Azure Datalake to Hadoop 2.8+ builds

@robert3005  @ash211
I actually haven't had to add a dependency here before, so not sure if there is more to be done here. The dist properly brings in the dependency though.

@sjrand

Worth sending upstream? I'm confused as to why this wasn't part of SPARK-7481

Upstream?

There isn't a profile for hadoop 2.8. I saw that there was opposition in a PR to making one, but I'm not sure how we get the hadoop 2.8 exclusive dependency without makjng another profile.

Eh, alright. Let's not block on upstream picking up new versions.


fix [5015]: Accidentally deleting draft post when you mention an account

Fixed: Accidentally deleting draft post when you mention an account https://github.com/bluesky-social/social-app/issues/5105
This PR fixes the cursor movement functionality to the beginning of the line when the Cmd + ArrowLeft (or Ctrl + ArrowLeft) key combination is pressed. Previously, the behavior was not working as expected due to issues with setting the selection in the editor.
Screenshots:
https://github.com/user-attachments/assets/6e04d5bd-e998-4852-8a67-d8d625456c8a

Explict

you can see the error in https://github.com/bluesky-social/social-app/issues/5105 that pr take care of this


Reload config file while the exporter running

Hey, first of all i wanted to say that im using the exporter and he's amazing
I wanted to ask you how to reload the config file while the sql_exporter still running on windows machine.
I saw the answer that you told to Tangxuye but i tried to do it myself and didnt quite get it.
If you can help me that would be amazing !
Thank you

I also wanted to create this feature request.
In our scenario, the sql exporter is running in a container within Kubernetes. And the connection string is now passed to the application using the command line argument. However, the credentials rotate automatically to meet our high security requirements, causing us to restart the sql exporter every time a new password is generated.
Furthermore, it would be nice if multiple configuration files can be specified that will be merged together. We would like to supply the sql connectionstring using a separate configuration file.
This way it is possible to place the sensitive information in the connectionstring under higher protection (using kubernetes secrets or an external secret provider such as Hashicorp Vault)
Unfortunately I have no experience in Go, so changing or testing the code would be a huge challenge.


some changes for compatibility with OCCT 7.6.2

This PR is not onto the main branch, but adds changes to the PR #971. These changes were necessary for me to build TiGL locally using OCCT 7.6.2, see https://github.com/DLR-SC/tigl/pull/971#issuecomment-1853777825

I wonder, why It compiled on my installation. I guess, I installed Octc 7.6.1 into an old installation directory, hence the missing header files were still there.


ROCM 6.0 GA rocm_smi.h fails to compile, error: unknown type name ‘metrics_table_header_t’

Function call rsmi_dev_metrics_header_info_get does not define metrics_table_header_t* header_value as struct
rsmi_dev_metrics_header_info_get(uint32_t dv_ind, metrics_table_header_t* header_value);
~$ gcc -I/opt/rocm/include test.c
In file included from test.c:1:
/opt/rocm/include/rocm_smi/rocm_smi.h:5370:51: error: unknown type name ‘metrics_table_header_t’
 5370 | rsmi_dev_metrics_header_info_get(uint32_t dv_ind, metrics_table_header_t* header_value);
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~

~$ cat test.c
#include <rocm_smi/rocm_smi.h>

~$ dpkg -l | grep rocm
ii  rocm-core6.0.0                        <IP_ADDRESS>000-91~22.04                    amd64        Radeon Open Compute (ROCm) Runtime software stack
ii  rocm-smi-lib6.0.0                     <IP_ADDRESS>000-91~22.04                    amd64        AMD System Management libraries

We have a patch in the works by @oliveiradan that fixes it (and other metrics related issues).
Will keep it open until it's merged develop branch.

Still broken with 6.0.1-108.

I can confirm, that it is solved with 6.0.1-112. Thanks.

Fixed in 6.0.1-112. Thanks for confirming @bertwesarg !


toggl moved their api URL and will remove the old one soon

The date is coming up very soon - after June 30th, API calls to www.toggl.com/api will fail. I would greatly appreciate if this PR could be approved and merged and if a new release could be made very soon.

I merged the changes of this PR from @charlesthomas in our fork (https://github.com/DisyInformationssysteme/togglwrapper). You are welcome to install it from there with
python -m pip install git+https://github.com/DisyInformationssysteme/togglwrapper.git

I am not planning to maintain our fork longer than needed, so I hope that it will be integrated here in the near future.

Thank you! I don't know how I missed this. I'll merge and work on getting a new version out today or tomorrow.


Fix cube detailed error report

This PR fixes the issue when the missing "number" metadata key caused a crash when generating a detailed report for a FieldCube.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.57%. Comparing base (fe1a294) to head (342ac04).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #456   +/-   ##
========================================
  Coverage    90.56%   90.57%
========================================
  Files          123      123
  Lines         8333     8341    +8
  Branches       701      702    +1
========================================
+ Hits          7547     7555    +8
  Misses         655      655
  Partials       131      131

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


Make @ivar and Cnst error messages better

Motivation

I was adding types to a codebase, and wished that this autocorrect existed.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_KZDMBf78MrI1ts
→ https://go/builds/bui_KZDMidQZX35fUZ


Remove Payment ID field

Payment IDs will eventually be deprecated, so the fields should be removed to discourage their use.
PR: wownero/wownero#104

scheduled for next release

removed in d82cae


PR in Pandas Confusion need to be merged here

https://github.com/pandas-ml/pandas_confusion/pull/16

closed by #81.


dot notation: validation_errors was not found in structure. Add it as attribute  instead

I keep seeing this funny warning when saving documents. It does not cause me any troubles, but I thought I still better report it.
Namlook, I'm pretty sure you have an idea where this could be coming from. If not, just tell me, and I will provide details.

you're copying values from WTForms objects and your chosen method copies 'validation_errors' field, which is not in your structure.
as long as your structure doesn't contain a 'validation_errors' field, you can safely ignore this
set dot_notation_warning = False (which is the default, i believe?) in your Document subclass and it will go away


[8.x] Ability to specify which events to broadcast when using Model Broadcasting

This PR adds the ability to pick and choose which Model Events can broadcast when using the BroadcastsEvents trait on an Eloquent Model.

When using Model Broadcasting all model events created, updated, deleted (as well as trashed and restored if soft deleting) will broadcast by default.
It could be handy to be able to pick and choose which event should or shouldn't broadcast during the lifecycle of a Model.
This has been implemented on the existing BroadcastsEvents trait and it can be used as follow:
class Order extends Model
{
    use BroadcastsEvents;

    public function broadcastEvents()
    {
        return ['created', 'deleted'];
    }
}

This will only broadcast the created and deleted events while updated will remain silent in that case.
Note: the default definition of the broadcastEvents() method, within the trait, lists all possible events, avoiding to introduce any breaking change as the default behaviour remains the same.

This is already possible by overriding the broadcastOn method:


315 - Add GA custom event for Dataset to DOM elements

Issue Number
Closing #315
Purpose/Implementation Notes

Added custom events for dataset to DOM elements using the GA custom events script
Verified that custom events are firing correctly in the development environment

To see the dataset custom GA4 reports, please login to CCDL Analytics account, and navigate to the development property Refine.bio Web - Dev (issue https://github.com/AlexsLemonade/refinebio-web/issues/310).
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

This PR is ready for your review, thank you David!

I've applied the feedback and this PR is ready for your review. Thank you David!


Add support for reference to a Factotum factfile as an inner DAG

This is the simpler case of #39 - instead of having to execute a shell command to retrieve an inner DAG, we just retrieve it from a factfile on local disk.

Updated title


SAM-3180: incorrect behavior of Multiple Choice, Partial Credit in question edit UI

https://jira.sakaiproject.org/browse/SAM-3180
When you author or edit a Multiple Choice question with Partial Credit enabled, the correct answer's % Value field is not being disabled or set to 100. However, if you save the question with any value other than 100 in the correct answer's % Value field, the question saves ok and, as it should, forces the correct answer's % value to be 100.
More details and steps to reproduce in the JIRA.

Please use 'Rebase and Merge' for this one, if someone else merge's it.


Added dist folder and yarn.lock in .gitignore

Right now this project uses npm and not yarn but I plan to change that with #330. The dist folder needs to be included in the repo (this is a limitation of GitHub Actions themselves) but could perhaps investigate force-adding those files... I'm closing this for now because both of these requires updates to the toolchain that isn't in place yet.


Can not launch real browser with Ubuntu

Describe the bug
I tried to open a real browser in Ubuntu (I connect remotely to it) but it doesn't work, it looks like it always uses Xvfb, even though I disabled it.
await connect({
   headless: "false",
   disableXvfb: true,
   turnstile: true,
 })

the option headless: false works fine with Playwright. => I guess the problem belongs to puppeteer-real-browser

-https://github.com/zfcsoftware/puppeteer-real-browser/blob/main/Dockerfile Can you run all the installation commands in the dockerfile?

Is there a screen on your server?

Xvfb will never create a virtual screen when disableXvfb: true is set. I don't have this problem on my local ubuntu computer with a screen. disableXvfb is only for browser tests. You need to use Xvfb in production environment. If the server you are testing does not have a screen, I cannot support this. You can check how Playwright launches Chrome in headless: false mode on servers without a screen and edit the Dockerfile file accordingly.

Also could you try using headless: “false”, can you try using headless: false, instead?

@zfcsoftware the server doesn't have a screen. I only installed ubuntu-desktop and connected remotely to it.
So we have to need a screen to do this work. But the Playwright works fine in this case.

@zfcsoftware the server doesn't have a screen. I only installed ubuntu-desktop and connected remotely to it.
So we have to need a screen to do this work. But the Playwright works fine in this case.

You can check how Playwright launches Chrome in headless: false mode on servers without a screen and edit the Dockerfile file accordingly.

I'll check how to do it.

The library is designed to use Xvfb on servers without a display. Therefore, I can't provide support on this matter, but if you find a solution, I would be happy to update the library. Since using the library without Xvfb on headless Linux servers is outside the scope of the library, I'm closing this discussion. If you find a method, feel free to add it here, and I can implement it into the library. Thank you.

thanks, It looks like I didn't understand this. Cloudflare always detects if we have a real display or not anyway.


Web privilege escalation

Login with default username guest and password guest
Open "User Administration" page /ogema/frameworkadminindex/index.html#/users
Edit guest user and set the checkbox administrator
--> guest is now administrator

This is possible only if ogema is started with disabled security. If security is enabled guest shouldn't be able to get the page /ogema/frameworkadminindex/index.html at all.


A new console windows opens every time TweetDeck is launched.

After installing TDE on OSX through the installer, every time TweetDeck is launched a new console window opens as well.

Cannot reproduce

When I get free time tomorrow I will reinstall and attempt to reproduce.

Basic checklist;

What browser + version were you using?
Are debug/developer options enabled?
What OSX version are you running?
What other extensions do you have that can run on tweetdeck.twitter.com?


Scroll bar hidden under Column Properties

Desired Behaviour
When column properties is shown, the scroll bar should be pushed to the right of the Column Properties panel
Current Behaviour
Scroll bar hidden under Column Properties

Fixed 0.5.3


chore(wasm): allow user override of proxy_wasm_lua_resolver

@flrgh can you add a test case for this one? it's fine on a separate PR!


Introduce triplet function for three-body interactions and associated tests.

Introduce a triplet function in smap (extension of pair) that enables functions that operate on three-body interactions (two displacements or distances) to operate on an entire system.
Design decision:

Flexibility of parameters sharing ensures that all appropriate parameters are passed to the three body interaction term. Parameters of size 0 and 2 are passed in directly (although the latter has less physical meaning). Parameters of size 1 and 3 are assumed to be defined by the central atom and vmapped over.

Maintain a division by 2. after the high precision sum as most three body interaction terms will be symmetric.

If this design seems appropriate, I can use this new functionality to simplify the definition of the Stillinger Weber example and other empirical potentials with this three-body term.

Corrected the issues with the previous implementation. Please take a look.


swift run --repl doesn't launch the REPL

Description
I was looking for a way to load a package into the REPL and came across https://github.com/apple/swift-package-manager/issues/5280, which looks to add that very functionality. However, it doesn't appear to work as expected (rdar://100411804).
Expected behavior
After building the package, the REPL should launch with each of the package's module loaded.
Actual behavior
The REPL doesn't launch. Instead, you just get the "Welcome to Swift!" message and the list of available subcommands.
You can manually achieve the desired result by copying the last line of output from the swift run --repl command (everything after the colon) and passing that directly to swift repl.
Steps to reproduce

Clone https://github.com/apple/swift-markdown.
cd into that directory.
Run swift run --repl.

Swift Package Manager version/commit hash
5.7.0
Swift & OS version (output of swift --version && uname -a)
No response

Sounds like this hasn't adapted to swift repl now being a subcommand

@bitjammer could you take a look?


Feature Request: Head bob only for Immersive Interactions

Enabling head bob provides great synergy with Immersive Interactions, letting you immersively kneel down to open a chest or pick a flower. However it feels rather terrible in most other circumstances, in particular there is a very ugly movement of the camera settling into a still position whenever you stop turning or moving. For these reasons it'd be great if there was an option to enable head bob only when interacting or standing still.
Here's 0na example showing both the good and bad parts of head bob: https://imgur.com/a/0481D25

Immersive Interactions you need to setup correctly.
Force 3rd Person
Disable Puzzles - breaks pulling levers.
Disable Saluting Jarls - breaks talking to Jarls who have a quest on them.
Disable Applauding Bards - breaks talking to bards who have a quest on them.

Technically you are right, but that kind of setup is not exactly smooth either.
Would it be doable to toggle headbob only when no weapon is drawn? That would also cover Immersive Interactions and the camera issues are a lot less bad when there's no weapon.