ProxyValueObserver

What problem does this feature solve?
API OpenLayers 3/4 +  Vue
As I have in $data selectedFeature (ol.Feature) or selectedFeatures ([ol.Feature]), observer creates deep observation which is sometimes unnecessary and can frozen/lag the application
What does the proposed API look like?
The solution may be Proxy which will only observe the changes of the first value.
Simple example:
https://jsfiddle.net/84eduf7n/10/

if you need to stop Vue from observing deep nested data, you can Object.freeze() your objects, it's much easier 🙂

@posva Ok, I will check

@posva
I checked and works but in a partial version. Why? It gives an example:
If you create:
base = {c: 'a'};
freez = Object.freeze (base);

then I will not be able to do:
base.d = 'd';
freez.e = 'e';

console.log (base) => {c: 'a'};
console.log (freez) => {c: 'a'};

It was more important for me to add the element in an intact form and later be able to get the element to change.
Once an object has been frozen there is no way to unfreeze it.
Not possibile added new fields :/
So he raises for reconsideration

Yeah, that's the point, preventing Vue from observing changes, it has the limitation of not being able to add anything more. You can freeze nested objects though so not everything is left unchangeable


Fixed #25251 -- Added cloning option to TransactionTestCase

https://code.djangoproject.com/ticket/25251
Forum post: https://forum.djangoproject.com/t/ticket-25251-opinions-required-cloning-the-test-db-as-an-alternative-to-rollback-emulation-in-transactiontestcase/29417
While looking at ticket 25251, I wondered whether cloning the test database per test in a TransactionTestCase was an option and found for my use cases it was a viable option. Experimentation & findings here: https://github.com/shangxiao/stupid-django-tricks/tree/master/clone_db_testcase
tl;dr:

✓ Cloning resolves the issue of missing data loaded via migrations when --keepdb is specified
✓ Cloning is much faster than rollback emulation aka serialized_rollback=True (tested on mysql, sqlite, postgres)
TransactionTestCase.reset_sequences doesn't really apply with cloning as sequences are naturally reset when switching back to the test database
TransactionTestCase.available_apps may no longer be necessary as cloning is already fast
TransactionTestCase.fixtures are loaded per test but could potentially be loaded per class if we do a double clone 🤷♂

There's a meaningful rebase to do here after #18514.

TransactionTestCase.fixtures are loaded per test but could potentially be loaded per class if we do a double clone 🤷♂

This was addressed in #18514.


Ibis4Navigator. Staging and archiving of editable PDF documents with embedded custom NN fonts result in empty PDF documents.

Describe the issue
Ibis4Navigator. Staging and archiving of editable PDF documents with embedded custom NN fonts result in empty PDF documents.
There is no problem storing the PDF in the staging database. When I run custom Java code to read the Blob field and save it as PDF, the result is exactly the same as the original. It seems something goes wrong retrieving the Blob.
Reporter
Alex Berg
To Reproduce
A PDF file to reproduce this issue can be requested from the reporter.

Drag the PDF file in the Navigator client front-end
Note that the PDF in the viewer part of the screen has no visible content.
Download the document.
Open the downloaded file in Adobe Acrobat Reader
Note that the PDF has no content.
Open Document Properties tab Fonts, and note that the fonts are not embedded.
Error in Acrobat Reader: "Cannot extract the embedded font 'NNDagnyText-Regular'. Some characters may not display or print correctly."

Screenshots
If applicable, add screenshots to help explain your problem.
Configuration
Adapter Document_GET_viewpdf in configuration Staging
<pipe name="Select_Document" className="nl.nn.adapterframework.pipes.SenderPipe">
	<sender className="nl.nn.adapterframework.jdbc.FixedQuerySender"
		queryType="select"
		jmsRealm="jdbc_stg"
		blobsCompressed="false"
		scalar="true"
		query="SELECT CONVERTED_DOCUMENT FROM CONVERTED_DOCUMENTS WHERE CONVERSION_ID = ?"
		blobCharset="ISO-8859-1"
	>
		<param name="documentId" sessionKey="documentId"/>
	</sender>

	<forward name="success" path="READY" />
	<forward name="exception" path="ServerError" />
</pipe>

Input
A PDF file to reproduce this issue can be requested from the reporter.
Environment
FF! 7.7-20210525.083818: Ibis4Navigator
Running on srazzapp0474.insim.biz using IBM WebSphere Application Server/8.5
Java Version: Java(TM) SE Runtime Environment (<IP_ADDRESS> - pxa6480sr6fp25-20210115_01(SR6 FP25))
Heap size: 662M, total JVM memory: 4096M
Free disk space: 9GB, total disk space: 10GB
Up since: 2021-08-24 12:17:18 (2d)
Additional Environment

DBMS: MSSQL jdbc/stagingDB
Browser: Chrome

Additional Context
Add any other context about the problem here. (f.e. ladybug report / test adapter with larva test)

If it has a BOM it want to be processed with the supplied charset. Forcing a different charset (ie by setting the charset attribute) it will override the default. If you have not supplied any charsets and you're reading the PDF it will attemt to use the BOM to determine the charset. Clearly sounds like a charset issue to me. Will try to analyse what's going on on Monday.

could you test without the blobCharset="ISO-8859-1" because this will attempt to convert the binary information to a string

Testing without blobCharset results in empty PDF's, also for PDF's without BOM.

I'm assuming that you only removed it in 1 place, to my knowledge it's used throughout the entire configuration/flow.
I think the reason this was required in the past was because the ApiListener could not handle binary data.
This has been fixed in #1554 and #2090. (Specifically the changes made to StreamUtil.copyReaderToWriter(..) to return binary data and parseContentAsMessage(..) to retrieve binary data.
Is it possible to remove all charset references, and let the framework try to determine the required charset? I'm unsure if PDF's already stored in the database will be parsed with the correct charset. You mentioned that you manually tried to retrieve the PDF's and it was successful, so I'm hopeful.

What is the iaf version with fix #2090 ?

7.7-20210816.115354 or any newer version has that fix.

I have tested with iaf version 7.7-20210816.115354.
With blobCharset removed in the pipe that stores the document, and the pipe that retrieves the document I get this error:
`

nl.nn.adapterframework.core.SenderException: [nl.nn.adapterframework.jdbc.FixedQuerySender] [Store_Unconverted_Document_In_Database-sender] got exception sending message: unknown inputstream [class [B] for parameter [CONVERTED_DOCUMENT]
	at nl.nn.adapterframework.jdbc.JdbcQuerySenderBase.executeStatementSet(JdbcQuerySenderBase.java:385)
	at nl.nn.adapterframework.jdbc.FixedQuerySender.sendMessage(FixedQuerySender.java:132)
	at nl.nn.adapterframework.jdbc.FixedQuerySender$$FastClassBySpringCGLIB$$ed3e925b.invoke(<generated>)
`
The configuration:
`

`
I get the same error with blobCharset set to "ISO-8859-1"

I'm still not convinced there's actually a framework issue. The fix would be to remove all charset references., not just in 1 part of the pipeline, but the entire application.
The file has a BOM, which means it requires a specific charset in order to be read. You override this charset, and thus you cannot read the file anymore.
The framework is working as expected as, a charset should only be used when converting binary data to character data. Since you're only storing the file in a database and reading from this database, unless you're using a VARCHAR/CLOB field and not a BLOB, this should remain binary data. If binary data is used throughout the entire 'flow/application', there is no need for a charset.
The reason I mentioned the 2 PR's in my previous reply was purely to indicate why you may have had to introduce the charset attribute, as a temporarily solution, in the past.

I have removed all blobCharset settings from every Ibis4Navigator configuration and tested locally with IAF version 7.7-20210816.115354.
I still get the same error processing any PDF document, with or without BOM:
{"location":"","details":"nl.nn.adapterframework.core.SenderException: [nl.nn.adapterframework.jdbc.FixedQuerySender] [Store_Unconverted_Document_In_Database-sender] got exception sending message: unknown inputstream [class [B] for parameter [CONVERTED_DOCUMENT] at nl.nn.adapterframework.jdbc.JdbcQuerySenderBase.executeStatementSet(JdbcQuerySenderBase.java:385) at nl.nn.adapterframework.jdbc.FixedQuerySender.sendMessage(FixedQuerySender.java:132) at nl.nn.adapterframework.jdbc.FixedQuerySender$$FastClassBySpringCGLIB$$ed3e925b.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at
The error occurs in this pipe:

Also, processing documents that need to be converted to PDF results in an error:

nl.nn.adapterframework.core.SenderException: [nl.nn.adapterframework.jdbc.FixedQuerySender] [Store_Converted_Document_In_Database-sender] got exception sending message: unknown inputstream [class [B] for parameter [CONVERTED_DOCUMENT]
at nl.nn.adapterframework.jdbc.JdbcQuerySenderBase.executeStatementSet(JdbcQuerySenderBase.java:385)
The pipe:

These issues have been fixed in #2328, and the parameter problems described above have been back ported to the 7.6 release.
I'm closing this issue as afaik this has been resolved. If you are still encountering issues feel free to reach out, open a new issue or reopen this one!


Meshlet rendering: Part 0

Objective

Implements a more efficient, GPU-driven (https://github.com/bevyengine/bevy/issues/1342) rendering pipeline based on meshlets.
Meshes are split into small clusters of triangles called meshlets, each of which acts as a mini index buffer into the larger mesh data. Meshlets can be compressed, streamed, culled, and batched much more efficiently than monolithic meshes.
The goal of opening this PR is to show the functioning prototype I have for a meshlet-based renderer, discuss how to solve the open problems, and inform future renderer refactors. This PR is not a draft, but I don't intend it to be merged either. Ideally we take small pieces from this PR and integrate them as separate PRs.

Code

A new MeshletMesh asset can be created from a Mesh, via bindings to meshoptimizer.
MeshletGpuScene is a resource that holds many GPU buffers for managing meshlet data.
extract_meshlet_meshes - If not already uploaded, queue MeshletMesh assets for uploading. Also queue a MeshUniform for each instance.
perform_pending_meshlet_mesh_writes - Flush CPU queues to GPU buffers, by copying the CPU data to the end of the GPU buffer. If a GPU buffer does not have enough space, a new buffer with more space is allocated, and the old data copied over.
prepare_meshlet_per_frame_resources and prepare_meshlet_per_frame_bind_groups - Allocate, write, and bind buffers for per-frame data per instance in the scene.
MainMeshletOpaquePass3dNode - Perform a single culling compute pass, to cull individual meshlets for all active instanced copies of meshlets in the scene. Then, per material, do an indirect draw based on the output of the culling pass.

cull_meshlets - Each thread handles a single instance of a meshlet. Each thread loads the meshlet, does culling tests, and then if it survives culling writes an index buffer containing the packed thread ID and meshlet index (into a vertex buffer) per index in the meshlet.
test_material vertex shader - Using the vertex_index builtin (the value written to the index buffer in the culling pass), the thread and meshlet index are recovered, and then a bunch of indexing into buffers are done to retrieve the actual vertex data for that vertex. The vertex shader then continues as normal.

TODO
Short Term

[x] Figure out a better way of determining when to load/clear color/depth attachments across multiple nodes (probably an AtomicBool flag on the texture component)
[x] Frustum culling (infrastructure exists in cull_meshlets.wgsl, just need to write the algorithm)
[x] Handle multiple/custom materials (one indirect draw per material, at predetermined offsets in an array of indirect draw commands)
[ ] Shadow pass and prepass support
[ ] Render layer support
[ ] Handle removing/modifying already-uploaded MeshletMeshes from the GPU buffers, and removing unused materials
[ ] Misc simple optimizations (meshoptimizer gives us a vertex count per meshlet, but I don't think we ever need it for instance. We can also unload the MeshletMesh asset from the CPU once it's uploaded to the GPU, etc).
[ ] Write an asset pre-processer for Mesh->MeshletMesh (complicated by the fact that we need to go GLTF->Mesh->MeshletMesh)
[ ] Gate meshoptimizer dependency behind a cargo feature, or rewrite it in Rust.
[ ] Cleanup the meshlet example
[ ] Documentation

Medium Term

Two-pass occlusion culling
Instead of doing indirect draws per-material, do them per-combination of (pipeline, bind_group). With bindless materials, multiple material instances of the same type should be a single indirect draw.

Long Term

Support meshes with other vertex layouts, including skinning (need to implement GPU-based skinning and compute new bounding spheres each frame for each skinned meshlet)
Disk and in-memory compression schemes
Mesh shaders instead of indirect draws on supported platforms for better performance

Super Long Term ~ Never

Nanite (visibility buffer, LODs, asset streaming, compute shader rasterizer, etc)

Awesome!
Two-pass occlusion culling should not be tied to meshlets specifically. We should just do that separately.

Disagree. The meshlet system is already setup to do occlusion culling, basically. I already upload the bounding sphere information per meshlet, and have a culling and indirect draw pipeline in place.
I don't see how we could share occlusion culling passes with meshlet meshes and regular meshes without basically duplicating all of the meshlet system and indirect draw setup, bounding info, etc, but changing it to operate on whole meshes instead of meshlets which is just more inefficient. If we were going that route, there would be no point in doing all the work for meshlets in the first place.

Gate meshoptimizer dependency behind a cargo feature, or rewrite it in Rust.

If you are looking for a pure-rust implementation, have a look at https://github.com/yzsolt/meshopt-rs

Unfortunately meshopt-rs does not support the meshlet APIs (it's ported from an older version of meshoptimizer), which is why I'm using a different crate.

Plan for materials (assuming opaque meshes only, will extend to other passes later):

In a PrepareAssets system that runs after prepare_materials::<M>, as part of MaterialPlugin for each material, upload changed opaque materials to MeshletGpuScene
1a. Queue new render pipeline for the material, store pipeline ID + material bind group in a Vec
1b. Use a HashMap to store index of material in the Vec, hashing based on material AssetId
In extract_meshlet_meshes, create a Vec of material index for each instance similiar to instance_uniforms, and upload this in prepare_meshlet_per_frame_resources
Optionally (may improve GPU coherence, at the cost of CPU time) in prepare_meshlet_per_frame_resources, sort per-frame-buffers by the material index before uploading
In prepare_meshlet_per_frame_resources, instead of a single DrawIndexedIndirect item, make draw_command_buffer hold M items equal to the total material count
4a. Each DrawIndexedIndirect::base_index needs to be equal to the total count of possible indices (after instancing) for that material
In cull_meshlets, for each meshlet, index into the draw command array based on the material index to get the DrawIndexedIndirect for the meshlet's material, and then write to location draw_index_buffer_start + draw_indirect_command.base_index + offset in the index buffer

This PR is usable atm, and has large chunks of code ready. The plan is once 0.12 is released, I'll start opening smaller PRs with parts of these changes. The goal is to incrementally merge chunks of code for meshlet rendering, instead of one big PR with all the changes.

Plan to support (occlusion culling, visibility buffer, shadows, forward + prepass, deferred):

Each view will get a visibility buffer (not to be confused with the vbuffer texture)

Stores visible/not visible in view as a boolean for each meshlet, persisted across two frames (previous and current)
Instances of meshlets (thread_meshlet) can get their previous visibility via previous_visibility[previous_visibility_id[thread_id]], where previous_visibility_id is uploaded on the CPU during the current frame, using a resource holding the data from the previous frame (might be a better way to do this without the extra indirection and previous_visibility_id buffer...)

MeshletVBufferNode - Render depth, vbuffer (thread_id + triangle_id), and material depth

PreviousOccluderPreparePass - Take meshlets visible last frame, as indicated by previous_visibility, write index buffer to render them
VBufferRenderPass1 - Render the 3 node outputs using a single draw_indirect_indexed()
GenerateHzbPass - Take depth buffer generated so far, downscale several times to create a hierarchical depth buffer
CullPass - Take all meshlets, frustum cull, occlusion cull against hzb, write visibility to visibility buffer for next frame, and if visible write index buffer to render them
VBufferRenderPass2 - Render the 3 node outputs using a single draw_indirect_indexed()

MeshletShadowMapNode/MeshletPrepassNode/MeshletOpaque3dMainPassNode

For each material, draw a single triangle/quad using the material depth trick, reconstruct vertex properties, and then shade the fragment

The messiest part is having to use a previous/next visibility buffer with separate indices, instead of being able to assume [object/instance/entity] index is constant across frames, and use a single read_write visibility buffer. Will have to think more on how to do this.

Additional complication: Vertex data can't be provided to the fragment shader via the vertex output. Fragment shader will need to read the vbuffer pixel, and load all the meshlet and then vertex data. This means we need to modify the fragment shader.
I'll probably have to write a function for fetching vertex data, and then a shader def will control vbuffer read vs using the vertex output. Materials will have to use this instead of using the raw vertex output directly.

Useful reference for visbuffer barycentrics, partial derivatives, and the other complicated stuff: https://github.com/JuanDiegoMontoya/Frogfood/blob/main/data/shaders/visbuffer/VisbufferResolve.frag.glsl

Next step is to emit "material id" to a depth texture. Visbuffer fragment shader will output material ID to a R16Uint color attachment, and then an extra fullscreen triangle render pass will read that texture and write to a depth target.

Followup tasks: https://github.com/bevyengine/bevy/issues/11518

Sadly moving to 0.14 :(. I'd really like to avoid merging any other rendering PRs until this one is merged once 0.13 releases though, as it's going to be a huge pain to rebase. @IceSentry @robtfm.

Unfortunately meshopt-rs does not support the meshlet APIs (it's ported from an older version of meshoptimizer), which is why I'm using a different crate.

Hey, meshopt-rs author here! The upgrade to 0.16 is WIP for a long time now. I'm not using the project directly hence my contributions stalled in the last year. If there's a possibility that it'll be used in Bevy, I'll try to allocate some time for contributions again!
What's the minimum meshoptimizer API version you can work with? I remember 0.15 (which my crate already supports) contains meshlet processing logic, although 0.16 did some big breaking changes, changing the Meshlet structure itself too.

Hey @yzsolt. That comment is outdated. There's since been a more active fork of your crate, which is what I've been using: https://github.com/gwihlidal/meshopt-rs, under the name meshopt. I appreciate the offer, but it's no longer necessary :).

Hey @yzsolt. That comment is outdated. There's since been a more active fork of your crate, which is what I've been using: https://github.com/gwihlidal/meshopt-rs, under the name meshopt. I appreciate the offer, but it's no longer necessary :).

Buuut that's not a fork, instead a wrapper around the original C library, isn't it? Mine is a pure Rust reimplementation which could bring some benefits in the long run, like full safety, maybe better (non-SIMD) performance, but most importantly a more straightforward build system integration.
Nevertheless, I understand that the C wrapper currently satisfies your needs. I'll still try to work on updating my (re)implementation, so it can become a viable alternative for Bevy in the future.

Oh right, sorry, it's been a while since I looked at things. Yes, you're right, the crate I'm using is a C-wrapper and not pure Rust. Apologies for the confusion.
In that case, it would be nice to have a pure Rust version, but the existing C bindings we're using are working pretty well so far. I'm not too pressed about a pure Rust version personally, as I'm going to be adding METIS soon which will be bindings to a C library as well. Up to other Bevy maintainers to decide on.
Meshoptimizer 0.16 would be the minimum required API I need for now, but the newer the better as they're working on some new simplification APIs I'm going to need in the future.

I definitely have a preference for pure Rust: it's always nice to reduce the complexity in our build tree and it makes it a lot easier to make changes upstream.
I won't block meshlets on it or anything, but I would push a PR to swap the dependency.

I prefer pure Rust, mostly for build system reasons. Rust's build story (esp. to Wasm) is so much less painful.

I think its important to keep in mind that meshopt is usually not used at runtime, its only depended on for asset preprocessing. I highly doubt anyone's gonna be running meshopt in wasm. It usually takes several minutes to process a single mesh.

https://github.com/bevyengine/bevy/pull/11904 has changed the core shader code, going to need to rebase all the shader work on top of that :/

@JMS55 I wrote that PR; let me know if I can help with the rebase :)

@JMS55 if you want, you can disregard all my changes and I'll re-add them as a PR on your PR. That way your rebase becomes trivial.

PR is fully rebased

Started working on LODs (will be a followup PR, not this one). Initial results are poor 😂

Apparently shadow culling is broken, and has been for a while for meshlets :thinking:.

Shadow view frustum culling was fixed by https://github.com/bevyengine/bevy/pull/12342

Finished moving away from an actual index buffer (1 u32 per vertex) to a list of triangle IDs (1 u32 per triangle). Performance is about the same, but 1/3 the memory usage per rendered triangle, and allows us to use bigger meshlet sizes (vertex/triangle count) going forwards.
Theoretically we might want to rename the write_index_buffer pass since that's no longer really accurate, but I don't have the motivation to go rename a few hundred lines, and I haven't thought of a more accurate name. Maybe write_hardware_triangle_buffer? The structure of that pass is likely to change once we add software raster anyways, so I'm just going to leave it for now.

Performance varies wildly depending on the scene. There's considerable base overhead, but it should scale up to much higher density scenes, especially with lots of occlusion. It's really meant for rendering really dense, ridiculously high resolution scenes where the goal is to render 1 triangle per pixel, so you're never limited by lack of geometric detail. We're not there yet due to lack of lods or software raster though. So performance can be quite good in certain scenes with lots of occlusion atm, but it can't render higher resolution stuff like it's intended to, and on simpler scenes the base overhead dominates compared to bevy's standard renderer. I don't have specific numbers to give ATM, I'll do a lot more in depth comparisons once we have LODs and software raster in.
I agree on the material shader needing some abstraction in the future. You kind of can do that already with our existing ifdefs, but it's not the best. One complication is that derivatives need to be manually calculated when using the visbuffer. We'd probably need some kind of automatic chain rule applier that differentiates functions, like Slang has.

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1288 if you'd like to help out.


Textures not loading [macOS + XCODE]

In Xcode I tried to load a texture but, it says:

WARNING: [resources/sand.png] Image could not be loaded

This image is part of my project, Target membership is checked in, and I also added it to the Copy Bundle Resources list.

Issue is related (again) to paths, executable folder is not set as base path for resources loading.
There are multiple bugs related to this (#339, #353), unfortunately, I don't have a Mac to look for a proper solution carefully...

I tried the dylib fix makefile
and got these errors:
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_CXX.bin
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./cmake-build-debug/CMakeFiles/3.8.2/CMakeDetermineCompilerABI_C.bin
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./cmake-build-debug/CMakeFiles/3.8.2/CompilerIdC/a.out
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./cmake-build-debug/CMakeFiles/3.8.2/CompilerIdCXX/a.out
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./cmake-build-debug/CMakeFiles/feature_tests.bin
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/AL/efx-creative.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/AL/efx-creative.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/AL/al.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/AL/al.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/AL/efx.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/AL/efx.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/AL/efx-presets.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/AL/efx-presets.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/AL/alc.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/AL/alc.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/AL/alext.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/AL/alext.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/GLFW/glfw3.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/GLFW/glfw3.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/GLFW/glfw3native.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/GLFW/glfw3native.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/include/raylib.h
error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: input file: ./release/include/raylib.h is not a Mach-O file
install_name_tool -change libglfw.3.2.dylib /usr/local/lib/libglfw.3.2.dylib ./release/libs/html5/libraylib.bc
make: *** [fix_dylib] Error 1
make: Target `all' not remade because of errors.

Some references:
Bundles vs. Installers
Bundle Programming Guide

In the OS X file system, some directories store executable code and the software resources related to that code in one discrete package. These packages, known as bundles, come in two varieties: application bundles and frameworks.

The placement of resource files in the bundle directory structure depends on whether you are developing an iOS or Mac app.

I'm building a Command line app with Clion, and added libglfw.3.dylib with otool, as it is mentioned, still nothing... :/

Sorry @akosbalogh, I don't have macOS and it's difficult for me to track this issue...
As per other users, I know resources paths is a problem when building C apps but don't know how to solve it properly...


Add link to HP demand response slide from hot water technologies slide

It would be cool if the text above the different hot water technologies shows a link to the Demand response - Heat pumps slide to draw some more attention to that new cool feature.


Refactor read_rule to eliminate global variables

Rather than have resolve_rule rely on read_rule setting global variables
(and dealing with a global variable whose only purpose is indexing into
the ruleset), we now have resolve_rules and resolve_rule.
resolve_rules accepts the full rule string, normalizes it (by calling
normalize_rules as before), then reads the space-delimited rule string
into an array of rules. Then iterate over the array, invoking
resolve_rule on each rule.
resolve_rule (was read_rule) is now only given a single rule, so there
is no need for global-var indexing, or setting the return
operator+operands as global variables. So it can simply echo back the
resolved operator+operands on stdout.

This branch was made off the shellcheck branch so only the last two commits are distinct.


Nightly can be checked thrice in certain cases

$ cargo-bisect-rustc --end=2020-05-09
installing nightly-2020-05-09
RESULT: nightly-2020-05-09, ===> Yes
uninstalling nightly-2020-05-09

installing nightly-2020-05-07
RESULT: nightly-2020-05-07, ===> Yes
uninstalling nightly-2020-05-07

installing nightly-2020-05-05
RESULT: nightly-2020-05-05, ===> Yes
uninstalling nightly-2020-05-05

installing nightly-2020-05-03
RESULT: nightly-2020-05-03, ===> No
uninstalling nightly-2020-05-03

installing nightly-2020-05-05
RESULT: nightly-2020-05-05, ===> Yes
uninstalling nightly-2020-05-05

installing nightly-2020-05-04
RESULT: nightly-2020-05-04, ===> No
uninstalling nightly-2020-05-04

searched toolchains nightly-2020-05-03 through nightly-2020-05-05
installing nightly-2020-05-05
uninstalling nightly-2020-05-05

********************************************************************************
Regression in nightly-2020-05-05
********************************************************************************

As you can see, 2020-05-05 is downloaded and tested thrice. Is that necessary?

I've noticed this and it's one of the things that should be fixed :).

I always run with start and end dates and have not seen many of these recent issues with end only runs.  We need to look into that area of the source.

I suggest that we look into the skip intervals when we investigate this.  I sense that we may be adding far too many steps to find the first non-fail date before the bisection starts in an average case situation.  I wonder if it is faster to initially step back by, say, one month and begin there?

Funny enough this still isn't fixed as of today:
installing nightly-2020-12-08
std for x86_64-unknown-linux-gnu: 24.58 MB / 24.58 MB [================================================================================] 100.00 % 5.77 MB/s testing...
RESULT: nightly-2020-12-08, ===> Yes
uninstalling nightly-2020-12-08

installing nightly-2020-12-01
std for x86_64-unknown-linux-gnu: 24.52 MB / 24.52 MB [================================================================================] 100.00 % 5.49 MB/s testing...
RESULT: nightly-2020-12-01, ===> No
uninstalling nightly-2020-12-01

installing nightly-2020-12-08
std for x86_64-unknown-linux-gnu: 24.58 MB / 24.58 MB [================================================================================] 100.00 % 6.96 MB/s testing...
RESULT: nightly-2020-12-08, ===> Yes
uninstalling nightly-2020-12-08

Would it be would it be feasible to save the tested toolchains together with a status in a hashmap or similar?

Funny enough this still isn't fixed as of today:
installing nightly-2020-12-08
std for x86_64-unknown-linux-gnu: 24.58 MB / 24.58 MB [================================================================================] 100.00 % 5.77 MB/s testing...
RESULT: nightly-2020-12-08, ===> Yes
uninstalling nightly-2020-12-08

installing nightly-2020-12-01
std for x86_64-unknown-linux-gnu: 24.52 MB / 24.52 MB [================================================================================] 100.00 % 5.49 MB/s testing...
RESULT: nightly-2020-12-01, ===> No
uninstalling nightly-2020-12-01

installing nightly-2020-12-08
std for x86_64-unknown-linux-gnu: 24.58 MB / 24.58 MB [================================================================================] 100.00 % 6.96 MB/s testing...
RESULT: nightly-2020-12-08, ===> Yes
uninstalling nightly-2020-12-08

Would it be would it be feasible to save the tested toolchains together with a status in a hashmap or similar?

The even happens, when your start and end date are next to each other:
 cargo-bisect-rustc --start 2020-10-26 --end 2020-10-27

installing nightly-2020-10-26
RESULT: nightly-2020-10-26, ===> No
uninstalling nightly-2020-10-26

installing nightly-2020-10-27
RESULT: nightly-2020-10-27, ===> Yes
uninstalling nightly-2020-10-27

searched toolchains nightly-2020-10-26 through nightly-2020-10-27
installing nightly-2020-10-27
uninstalling nightly-2020-10-27

The even happens, when your start and end date are next to each other:
 cargo-bisect-rustc --start 2020-10-26 --end 2020-10-27

installing nightly-2020-10-26
RESULT: nightly-2020-10-26, ===> No
uninstalling nightly-2020-10-26

installing nightly-2020-10-27
RESULT: nightly-2020-10-27, ===> Yes
uninstalling nightly-2020-10-27

searched toolchains nightly-2020-10-26 through nightly-2020-10-27
installing nightly-2020-10-27
uninstalling nightly-2020-10-27


[Solved] Use the CPFL/Autoware GUI to launch IMU Xsens MTi-G-7XX file

Fill-out only one section depending on whether you are reporting a bug or a new feature.

Expected Behavior
Here is the temporary solution for "CPFL/Autoware" GUI to launch the "IMU Xsens MTi-G-7XX" driver.
Hope the contributor could add the "IMU Xsens MTi-G-7XX" driver in the Autoware-master.zip file in the future.
Actual Behavior
"CPFL/Autoware" GUI has the driver to launch "IMU Xsens MTi-300". But it doesn't have the Xsens MTi-G-7XX driver yet.
Steps to Reproduce the Problem
Part 1: Use the Ubuntu to launch the MTi-G-7XX driver.
Step 1: Download Synaptic Package Manager in the Ubuntu Software
Step 2: Install “ros-kinetic-xsens-driver” in the Synaptic Package Manage
Step 3: $ lsusb          (check the IMU Xsens MTi-G-7XX USB info)
Step 4: $ roslaunch xsens_driver xsens_driver.launch
Step 5: $ rostopic list
It will us the /imu/data in the topic list.
Part 2: Use the Ubuntu Autoware to launch the  MTi-G-7XX driver.
Step 6: adding following the part in
~/Autoware/ros/src/ulti/packages/runtime_manager/scripts/sensing.yaml

name : Xsens MTi-G-7XX
desc : Xsens MTi-G-7XX with GNSS/INS desc sample
probe:
run  : roslaunch xsens_driver xsens_driver.launch
param:

Step 7: $ cd Autoware/ros/src/sensing/drivers/imu/packages/xsens/src/
Step 8: $  rm -r xsens
Step 9: $ cd Autoware/ros
Step 10:$ ./catkin_make_release
Step 11:$ ./run
Step 12:$ rostopic list
It will show us the /imu/data in rostopic.
Specifications

Ubuntu version: Ubuntu Linux 16.04 64bit
ROS Version: ROS Kinetic
Autoware branch:  Autoware-master.zip

New Feature
Describe where does new feature request come from. Add high-level picture of how the new feature should work.

@kitsukawa do you understand what @yxh0606 is trying to tell? Trying to launch a different type of an IMU?

@dejanpan Many thanks for the prompt reply. Here is the temporary solution to launch the IMU Xsens MTi-G-7XX.   Hope the contributor could add the MTi-G-7XX in the source code consequently.

@yxh0606 Does Xsens driver in Autoware work for MTi-G-7xx? Can you check the operation of the Xsens driver in Autoware/ros/src/sensing/drivers/imu/xsens using your sensor(MTi-G-7xx)? If it does not work, we can use the driver in the Synaptic package manager instead and can add the checkbox for launching the driver.

@kitsukawa Thank you for your replying.
No, it is not compatible with Xsens MTi-G-7xx driver from your original code.
But your original source code,  the Autoware work well for Xsens MTi-300 driver.
It will run the Autoware/ros/src/util/packages/runtime_manager/scripts/mti300.sh file.
My initial idea is same with you: just use the driver in Synaptic package manager, it works well with Xsens MTi-G-7xx driver.
Then I modify the code, it works well with checkbox for launching the driver in Autoware/run_time manager GUI.

@yxh0606 That's good. If it is possible, can you make a PR of your modification so that others can use Xsens MTi-G-7xx with Autoware? It would be great if you could include the installation guide of Xsens MTi-G-7xx driver in Synaptic package manager.

@kitsukawa Understand.  The details to use the Xsens MTi-G-7xx with Autoware is under "issue/[Solved] Use the CPFL/Autoware GUI to launch IMU Xsens MTi-G-7XX driver #918".
Please follow the steps posted in the #918 to use the Xsen MTi-G-7xx driver.
Part 1: Use the Ubuntu to launch the MTi-G-7XX driver.
Part 2: Use the Ubuntu Autoware to launch the MTi-G-7XX driver.
Thank you for your kind help.


bluewalker: 0.3.0 -> 0.3.1

Description of changes
Minor upgrade for the bluewalker Bluetooth LE CLI scanner from 0.3.0 to 0.3.1, see the bluewalker changelog for details.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

1 package built:

bluewalker


Remove CSRF protection

This is an internal API and doesn't allow direct user access.
c.f. alphagov/publishing-api@40ba7fc1d163fd966500f542009de30b31412f14
Fixes #87.

We think the log warning might be appearing only when requesting an HTML response and not when requesting JSON. There is a separate issue about [the confusing behaviour when requesting JSON][1] which we should probably tackle before deciding whether it's sensible to remove the call to  protect_from_forgery. Closing.


Update domains.json

Hi! What is your PR about?

[ ] Add or edit a skin
[x] Add a custom domain for your space
[ ] Add an alias to migrate your space

thanks!


Pending Update: Two fixes needed to documentation

Need to fix this link in References.md:chrome-extension://cbnaodkpfinfiipjblikofhlhlcickei/src/pdfviewer/web/viewer.html?file=https://scholar.harvard.edu/files/stansbury/files/schubertstansburytaskamain_0.pdf
This file can be removed, as the data is included in the installation.md: DjangoData.md

@jkoren , Jeff, it looks like the pull request you submitted actually includes files/code changes that are not part of the documentation. Can you either close this pull request or update the branch so that we're not changing the files that are not ending in .md ?
If you need help with it from the git side, you can feel free to reach out.
Thanks!

@jedpittman for some reason, this pull request included the changes I made in this pull request.  I will close this pull request and create another.

created a new pull request.  closing this one.


How to enable task.debug?

How can I enable the output of task.debug?
https://github.com/microsoft/azure-pipelines-terraform/blob/648beac95fde31be0f57ea6e872a5261a60a38a6/Tasks/TerraformTask/TerraformTaskV4/src/azure-terraform-command-handler.ts#L93

Hi, sorry for late reply.  Have you tried to enabled system diagnostics when you run a pipeline?  the checkbox is in the bottom when you manually run a pipeline.
Then these messages should appear in the pipeline log.
Br
Manuel

closing due to inactivity


Model training job error

From<EMAIL_ADDRESS>Project https://arbimon.org/p/brame-du-cerf

I uploaded 100 recordings and treated them via the visualizer.
50 of them with the setting "absent" and the other ones with the setting "present".
Then, I tried to create a RFM, with 40 recordings for the fitting and 10 for the validation (for each setting). However, I look at "active jobs", there is an error message "Error communicating with server". Can you tell the signification of this error ? Can you help me ?

I found an error Error: cannot create validation csvs files or access validation data from db. (no error) I have checked with the old jobs that also give this error message, and jobs in this project have a tranined_model_id value of null (I tried comparing to completed jobs where their tranined_model_id value was not null)

jobs_202409301123.csv
job_params_training_202409301123.csv

I found a problem. Look at here, when you go to the Training Set you will see this message:

It means the user should draw the training set box on the visualizer, there is an instruction here: https://help.arbimon.org/article/232-creating-a-training-set-pattern

@koonchaya can you please check this support link and navigate the user for the next step?

the result for the training set should be the roi image inside the form:
https://help.arbimon.org/article/235-managing-training-sets

Got it. Thanks @rassokhina-e


style(tailwind): convert fontSize values from px to rem

What this PR does:
convert fontSize values from px to rem
Which issue(s) this PR fixes:

Fixes #
Type of changes
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary.

[ ] Test A

[ ] Test B

Logs

Special notes for your reviewer:
Checklist:

[ ] I have added unit/e2e tests that prove your fix is effective or that this feature works.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] I have reviewed my own code and ensured that it follows the project's style guidelines.

Release note:

MR Summary:
The summary is added by @codegpt.
This Merge Request focuses on enhancing the styling approach within a project by converting fontSize values from pixels (px) to rem units in the Tailwind CSS configuration. This change aims to improve scalability and maintainability of font sizes across different screen sizes and resolutions.
Key updates:

Converted fontSize values for classes 'xs' to '7xl' from pixels to rem units in tailwind.config.js, ensuring a more responsive and accessible design.

@zhendi review please


Invite Friend - Social - Group 15

Feature Request:
Right now, there is no way to add friends in the application. The feature that needs to be added and implemented is the "Invite Friends" feature, where the user can invite and add new friends to their current friends list.
Solution:
It would be great to add an "Invite Friends" button after the user finds the friend in the search bar results. The avatar of the other user will have a "Invite" button beside it on its right side, where the user can click on it to invite the other user. After the user clicks on the "Invite" button, the potential friend is added in the user's friends list with the status as "Pending", and the potential friend will receive a confirmation prompt in their friends list such as "Accept" and "Refuse" friend request buttons.  Once the potential friend accepts the friend request, the user can then see the newly added friend in the friends list of the user and the friend's profile and data will be visible to the user in the application.
While implementing this button, we need to make sure:

The button is clearly visible and intuitive for the user to click on for when inviting new friends.
The button needs to be tested to see that it invites new friends properly in the user's friends list.
The invite request should be visible to the invited user, with a "Accept" or "Refuse" button for friend request. While waiting for the invite request to be confirmed, the user will see its status as "Pending", next to the potential friend's avatar.
The invited user can accept or decline the invite request. If accepted, the user who initiated the invite should see the newly added friend in their friends list, and the friend should also see the user in their friends list too. If refused, the user who initiated the invite should see the status of their request as "Refused".
The user should access to the new friend's profile and data with no problems.
This feature should not create new errors in the application while being implemented.

Alternatives:
An alternative solution/feature to adding new friends was to just implement an "Add Friend" button, without including the friend's confirmation like it should do with the "Invite Friend" button. It would just add the new friend to the friends list of the user, and their profile and data would be visible to the user. However, it would be weird for a user to add a friend in the friends list without the latter mutually being friends with them.
Additional context:
Details on how the button/status of the invite friend request should look like:

Inviting friends: "Invite" button near the avatar of the user to be invited.
Waiting for friend request confirmation: "Pending" status displayed near the user's avatar.
Receiving friend request: "Accept" and "Refuse" friend request buttons displayed near the user's avatar for friend requests.
Accepting friend request: Newly acquired friend will be visible in the user's friends list.
Refusing friend request: "Refused" status displayed near the user's avatar.

The Invite Friend button has been added to the Friend's page next to the Search button.


Floating base rnea cross term

I have a question that probably comes down to some frame convention that I'm missing.
I have a point mass URDF:
<?xml version="1.0" encoding="utf-8"?>
<robot name="PointMass">
    <link name="point_mass">
        <inertial>
            <mass value="1.0"/>
            <origin xyz="0.0  0.0  0.0" rpy="0.0 0.0 0.0"/>
            <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
        </inertial>
    </link>
</robot>

And I have a minimal test script calling RNEA here:
import pinocchio as pin
from pinocchio.utils import *
import numpy as np

model = pin.buildModelFromUrdf("point_mass.urdf", pin.JointModelFreeFlyer())
data = pin.Data(model)

q = np.array([0,0,0,0,0,0,0])
qdd = np.array([0,0,0,0,0,0])

qd = np.array([0,0,0,0,0,0])
pin.computeAllTerms(model, data, q, qd)
print(pin.rnea(model, data, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

qd = np.array([0,0,1,0,0,0])
pin.computeAllTerms(model, data, q, qd)
print(pin.rnea(model, data, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

qd = np.array([0,0,1,1,0,0])
pin.computeAllTerms(model, data, q, qd)
print(pin.rnea(model, data, q, qd, qdd))
# prints [ 0.   -1.    9.81  0.    0.    0.  ]

So, the first two show the gravity force in Z. The third one also shows a negative force in Y, which looks to me to be like a cross product term:
omega x v = [1 0 0] x [0 0 1] = [0 -1 0]
I don't understand where that term comes from, could somebody explain?

I have a modified version of the same test where I add 1 revolute dof:
<?xml version="1.0" encoding="utf-8"?>
<robot name="1DofMass">
    <link name="root_link"/>
    <link name="point_mass">
        <inertial>
            <mass value="1.0"/>
            <origin xyz="0.0  0.0  0.0" rpy="0.0 0.0 0.0"/>
            <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
        </inertial>
    </link>

    <joint name="joint" type="revolute">
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
        <axis xyz="1.0 0.0 0.0" />
        <parent link="root_link" />
        <child link="point_mass" />
        <limit effort="0.0" lower="0.0" upper="0.0" velocity="0.0" />
    </joint>
</robot>

And modified script to change the floating body angular velocity to be a velocity in the revolute joint instead:
import pinocchio as pin
from pinocchio.utils import *
import numpy as np

model_1dof = pin.buildModelFromUrdf("1dof_mass.urdf", pin.JointModelFreeFlyer())
data_1dof = pin.Data(model_1dof)

q = np.array([0,0,0,0,0,0,0,0])
qdd = np.array([0,0,0,0,0,0,0])

qd = np.array([0,0,0,0,0,0,0])
pin.computeAllTerms(model_1dof, data_1dof, q, qd)
print(pin.rnea(model_1dof, data_1dof, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

qd = np.array([0,0,1,0,0,0,0])
pin.computeAllTerms(model_1dof, data_1dof, q, qd)
print(pin.rnea(model_1dof, data_1dof, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

qd = np.array([0,0,1,0,0,0,1])
pin.computeAllTerms(model_1dof, data_1dof, q, qd)
print(pin.rnea(model_1dof, data_1dof, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

In my mind, this is basically the same model as the point mass above, except that I added a massless link in between the floating base and the point mass. But now, that cross term has gone away.

To shortly answer your question, the [0, -1, 0] is coming from the Coriolis/Centrifugal effects that you can compute via:
pin.computeCoriolisMatrix(model,data,q,qd) @ qd

Also, don't forget to use pin.neutral(model) to compute a configuration vector, otherwise, it will not be properly normalized.
import pinocchio as pin
from pinocchio.utils import *
import numpy as np

model = pin.buildModelFromUrdf("point_mass.urdf", pin.JointModelFreeFlyer())
data = pin.Data(model)

q = pin.neutral(model)
qdd = np.array([0,0,0,0,0,0])

qd = np.array([0,0,0,0,0,0])
pin.computeAllTerms(model, data, q, qd)
print(pin.rnea(model, data, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

qd = np.array([0,0,1,0,0,0])
pin.computeAllTerms(model, data, q, qd)
print(pin.rnea(model, data, q, qd, qdd))
# prints [0.   0.   9.81 0.   0.   0.  ]

qd = np.array([0,0,1,1,0,0])
pin.computeAllTerms(model, data, q, qd)
print(pin.rnea(model, data, q, qd, qdd))
# prints [ 0.   -1.    9.81  0.    0.    0.  ]


fix(draw_context): Draw circle out of bounds

Fix #4, drawing both circle and circle_filled correctly even when
the circle would fall out of bounds (outside of screen).

There might be room for optimizations.
Functions set_pixel_safe and x_y_cord_to_pixel_buffer_index are admittedly ugly, I think it would be a good idea to create helper methods like try_add(self, rhs) -> Result<Self, Error> and variants in order to make the code cleaner. Probably adding a trait like CoordinateMath with such methods or something like that. If it's of interest, I can work on that later.

@RobDavenport , could you please take a look in this new changes?
I made quite a few this time, trying to address your previous comments.
I think now it's impossible for us to have invalid XCord and YCord when creating them from validate_x and validate_y. It's also impossible to instantiate XCord and YCord manually, but it is technically possible to create invalid coordinates when multiplying or adding already existing ones. (I just figured out that it's actually the case. I may submit a new commit fixing it, and then it'll probably be possible to remove the checks in the draw_circle_points)


TabBar overrides the mobile notification bar

in this plugin the TabBar should be below the notification bar of the mobile screen

sorry for that


Merge arm branch into master

@dbkinder

may I assume you'll be converting the README files into README.rst documentation at some point in the future?

Those README file do not need to be converted and are not part of the documentation.


Enhancement: Override default CMD + S behavior in text editor

Currently it brings up the default browser save dialog:
https://user-images.githubusercontent.com/28986134/200148767-1212598a-f711-4960-afb0-f1c4ac1176b7.mp4
Recommend adding a CMD + S event listener within the text area to allow users to save with CMD + S
Here's how I'm doing it in Dub: https://github.com/steven-tey/dub/blob/main/components/stats/feedback.tsx#L30-L34

i recommend using mantine.dev hook


The keyboard in floating mode is having problem.

Description
My app has been rejected by apple due to interface issues.
After half a day I queried the problem, I finally realized the problem was at the floating keyboard of iPadOS 13.
When the keyboard went into floating mode, KeyboardAvoidingView worked incorrectly and destroyed my interface structure.
React Native version:
System:
    OS: macOS 10.15.3
    CPU: (4) x64 Intel(R) Core(TM) i3-8100B CPU @ 3.60GHz
    Memory: 400.56 MB / 8.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.5.0 - /usr/local/bin/node
    npm: 6.14.5 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>14223
    Xcode: 11.6/11E708 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.5 => 0.61.5
  npmGlobalPackages:
    react-native-cli: 2.0.1
    react-native-rename: 2.4.1

Expected Results
What I want now to be able to recognize a certain event is to notify the keyboard to switch to floating mode, from which I will handle my UI.
Snack, code example, screenshot, or link to a repository:
Screen capture when keyboard is in anchor mode.

Screen capture when the keyboard is in floating mode.

Code:

Hi @000xuandu thanks for the issue. Since this affects iPad, could you provide a repo that demonstrates this issue?

We experienced a similar problem, when a floating keyboard was dismissed the height calculation was off so we ended up with a blank screen (because everything was pushed off the screen).
When the floating keyboard is dismissed we get the following when calculating the relativeKeyboardHeight
keyboardFrame = {screenY: 0, width: 0, screenX: 0, height: 0}
frame = {y: 0, width: 1024, height: 1366, x: 0}
// which gives:
relativeKeyboardHeight 1366
// And therefore pushes all the content all the way to top because the screen height is 1366 on my iPad Pro

We did a workaround to just disable the KeyboardAvoidingView when the keyboard was floating by checking if the keyboard width is the same as the screen width
const useIsFloatingKeyboard = () => {
  const [floating, setFloating] = useState(false);

  useEffect(() => {
    const onKeyboardWillChangeFrame = (event: KeyboardEvent) => {
      setFloating(event.endCoordinates.width !== windowWidth);
    };

    Keyboard.addListener('keyboardWillChangeFrame', onKeyboardWillChangeFrame);
    return () => {
      Keyboard.addListener('keyboardWillChangeFrame', onKeyboardWillChangeFrame);
    };
  }, []);

  return floating;
};

Then in your component
const floating = useIsFloatingKeyboard();
<KeyboardAvoidingView enabled={!floating}>...</KeyboardAvoidingView>

Don't know if the appropriate solution is to disable keyboard avoiding view when the keyboard is floating (as the user can move it wherever) or how to make the component avoid the keyboard when it's moving around.

@Gyran thanks for your workaround!
You probably wanted to removeListener in the return function of useEffect
I refactored it a bit, and designed it as a HOC to replace the original KeyboardAvoidingView
I gonna share the code
import React, { useState, useEffect } from 'react'
import {
    Keyboard,
    KeyboardAvoidingView as OriginalKeyboardAvoidingView,
    Dimensions,
    Platform,
} from 'react-native'

export const isIOS = Platform.OS === 'ios'

const useIsFloatingKeyboard = () => {
    const [isFloating, setFloating] = useState(false)
    const windowWidth = Dimensions.get('window').width
    const onKeyboardWillChangeFrame = event => {
        setFloating(event.endCoordinates.width !== windowWidth)
    }

    useEffect(() => {
        Keyboard.addListener('keyboardWillChangeFrame', onKeyboardWillChangeFrame)
        return () => {
            Keyboard.removeListener('keyboardWillChangeFrame', onKeyboardWillChangeFrame)
        }
    }, [])

    return isFloating
}

const KeyboardAvoidingView = ({ children, ...props }) => {
    const isFloatingKeyboard = useIsFloatingKeyboard()
    return (
        <OriginalKeyboardAvoidingView
            behavior={isIOS ? 'padding' : 'height'}
            enabled={!isFloatingKeyboard}
            {...props}
        >
            {children}
        </OriginalKeyboardAvoidingView>
    )
}

export default KeyboardAvoidingView

My problem was solved temporarily when I used the library: react-native-keyboard-aware-scroll-view.
Hope to temporarily resolve for you who are experiencing similar errors and wait until the official patch.

@torcoste of course, updated the example with removeListener. Thanks!

Yes  KeyboardAvoidingView  should be disabled when the keyboard is floating in tablet(iPad)

Yes  KeyboardAvoidingView  should be disabled when the keyboard is floating in tablet(iPad)

Created a minimal reproducible example here: https://github.com/Gyran/RNFloatingKeyboardIssue
Would an acceptable solution be to just disable the keyboard avoiding view when a user has a floating keyboard? If so, I could try to implement that in the React Native repo.

We experienced a similar problem, when a floating keyboard was dismissed the height calculation was off so we ended up with a blank screen (because everything was pushed off the screen).
When the floating keyboard is dismissed we get the following when calculating the relativeKeyboardHeight
keyboardFrame = {screenY: 0, width: 0, screenX: 0, height: 0}
frame = {y: 0, width: 1024, height: 1366, x: 0}
// which gives:
relativeKeyboardHeight 1366
// And therefore pushes all the content all the way to top because the screen height is 1366 on my iPad Pro

We did a workaround to just disable the KeyboardAvoidingView when the keyboard was floating by checking if the keyboard width is the same as the screen width
import { useState, useEffect } from 'react';
import { Keyboard, Dimensions } from 'react-native';

const useIsFloatingKeyboard = () => {
  const windowWidth = Dimensions.get('window').width;

  const [floating, setFloating] = useState(false);

  useEffect(() => {
    const onKeyboardWillChangeFrame = (event: KeyboardEvent) => {
      setFloating(event.endCoordinates.width !== windowWidth);
    };

    Keyboard.addListener('keyboardWillChangeFrame', onKeyboardWillChangeFrame);
    return () => {
      Keyboard.removeListener('keyboardWillChangeFrame', onKeyboardWillChangeFrame);
    };
  }, [windowWidth]);

  return floating;
};

Then in your component
const floating = useIsFloatingKeyboard();
<KeyboardAvoidingView enabled={!floating}>...</KeyboardAvoidingView>

Don't know if the appropriate solution is to disable keyboard avoiding view when the keyboard is floating (as the user can move it wherever) or how to make the component avoid the keyboard when it's moving around.

thanks a lot it works for me!

Are there any plans to fix this in the built in KeyboardAvoidingView component or do we need to add the suggested logic above ourselves?

Is this issue fixed?
We have a problem implementing the suggested logic to all screens in my project.


Fixes launch script path in test base buildpackage.md

Fixes launch script path in test base buildpackage.md

@Tinacyt Please merge this PR. thanks

@RayYuePro please merge

@Tinacyt updated latest code.

@Tinacyt I don't have permission to merge, please help to merge, thanks.

@Tinacyt Please merge this PR. If you cannot merge then please review and signoff. Thanks
cc: @tiburd

@Tinacyt Please merge this PR. If you cannot merge then please review and signoff. Thanks cc: @tiburd

Hi Yogesh, I don not see the 'signoff' label available so I've added they 'Merge large pull request' instead. hope that helps.

@Tinacyt  goto https://github.com/MicrosoftDocs/microsoft-365-docs/pull/12319/files , and click "Review changes" and input comments like 'LGTM.' and click 'Approve', then click "submit review".

@tiburd Please merge this PR. Thanks


Reducing the need for multiple coverage commands (UX)

Is your feature request related to a problem? Please describe.
As this moment user might need to call coverage multiple times after the effective coverage run to perform post-processing and reporting. This makes coverage usage harder and is prone to introduce errors or at least make maintenance harder.
Example of current usage from within a tox.ini file:
[testenv]
commands_pre =
  # cleaning needed to prevent errors between runs
  sh -c "rm -f .coverage {toxworkdir}/.coverage.* 2>/dev/null || true"
commands =
  coverage run -m pytest {posargs:}
  sh -c "coverage combine -a -q --data-file=.coverage {toxworkdir}/.coverage.*"
  -sh -c "COVERAGE_FILE= coverage xml --ignore-errors -q --fail-under=0"
  sh -c "COVERAGE_FILE= coverage report"
setenv =
  COVERAGE_FILE = {env:COVERAGE_FILE:{toxworkdir}/.coverage.{envname}}
  COVERAGE_PROCESS_START={toxinidir}/pyproject.toml

Describe the solution you'd like
I would like to make it possible for coverage to allow chaining of multiple commands. Probably https://click.palletsprojects.com/en/8.0.x/advanced/ article could provide some hints about how thi scan be achieved (not sure yet).
For example user should be allowed to do something like:
coverage combine -a -- xml -- report

Note that use of -- is a POSIX convention for signaling end of current command arguments and that next one will follow. As you probably know that is used by tox and ssh to pass extra arguments to underlying process. Still, they can be used for chaining too.
Additional context
While I can myself debug and address most surprises coming from use of coverage, I would want to make its use as simple as possible for any python engineers, so they would not have to dig in order to discover why their coverage did not happen, or why they got confusing errors like "Can't combine line data with arc data" after they switched one configuration argument.
I do think that parallel execution and coverage of subprocess is probably the cause of the extra complexity in behavior as that needs tricks like setting COVERAGE_FILE for coverage run but unsetting it for combine and report commands.
What can we do to reduce the current setup and minimize the number of hacks someone needs to do to run coverage? While my example used tox, we can also wonder if we can improve the situation in a way that would make it "just-work" even when not using tox.

I am not interested in making the coverage command line more complex by somehow chaining commands.  Git requires multiple invocations to run separate git commands.  Coverage can do the same.  People who want everything in one line already have the pytest-cov command.  For other uses, there is tox, or make, or shell scripts.


Chrome on ios

Great Plugin! Works on all browsers for me except mobile chrome on ios9. Thanks again for all your effort - Tom
www.canbuildanything.com

same issue here...not working on chrome in iphone 6...

+1 has anyone found a workaround yet? Is the project abandoned?

Workaround: add both width and height attributes to your  tag and it works again.

I have a work around. Actually I found the issue with this plugin and created an updated version that works on iOS (iphone and ipad)
http://theappproducer.com/jmap/#how

Hello, thank you I will check it out latter today
Sincerely,
Thomas Wolfe
From: elproduc3r
Sent: Saturday, June 25, 2016 6:33 AM
To: stowball/jQuery-rwdImageMaps
Cc: Tom1959 ; Author
Subject: Re: [stowball/jQuery-rwdImageMaps] Chrome on ios (#100)
I have a work around. Actually I found the issue with this plugin and created an updated version that works on iOS (iphone and ipad)
http://theappproducer.com/jmap/#how
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi,
I'm using Responsive Image Maps (RIM) by Philip Newcomer.
Having the same issues on Chrome on ios.
Since I'm not a coder nor a programmer, how do I install this jMap v1.0 - Auto Image Map Resizer | jQuery Plugin? I deactivated the RIM, downloaded the zip files, but they are not WP-plugins.
Thanks for helping me on this one.
Cheers - Guy

I havent used word press much.
My plugin is a js file that you need to just include on the page with a
simple script tag.
Then you can use it just like the demo on ghe site where you downloaded.
On Apr 20, 2017 3:53 AM, "Ask4S"<EMAIL_ADDRESS>wrote:

Hi,
I'm using Responsive Image Maps (RIM) by Philip Newcomer.
Having the same issues on Chrome on ios.
Since I'm not a coder nor a programmer, how do I install this jMap v1.0 -
Auto Image Map Resizer | jQuery Plugin? I deactivated the RIM, downloaded
the zip files, but they are not WP-plugins.
Thanks for helping me on this one.
Cheers - Guy
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/stowball/jQuery-rwdImageMaps/issues/100#issuecomment-295681120,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGffjvXnfCbJRW8OhIUpUFsY13yHD5ioks5rxzk1gaJpZM4GIDqJ
.


String#unpack does not support 'm0' template

From what I can gather, mruby-pack is not part of the ISO standard, so I hope CRuby compliance is a goal of this mrbgem. Per the CRuby docs for String#unpack:
m            | String  | base64 encoded string (RFC 2045) (default)
             |         | base64 encoded string (RFC 4648) if followed by 0

Parsing each component of the template string is done in a while (count != 0) loop, but for the m template, count determines encoding version.
https://github.com/mruby/mruby/blob/519f3963654d01ddc0c810cda1c5be365bc21f87/mrbgems/mruby-pack/src/pack.c#L1256-L1300
CRuby:
[2.6.3] > "MQ==".unpack1('m0')
=> "1"

mruby:
>>> "MQ==".unpack1('m0')
=> nil

I think this means that this line of code accesses uninitialized memory
https://github.com/mruby/mruby/blob/519f3963654d01ddc0c810cda1c5be365bc21f87/mrbgems/mruby-pack/src/pack.c#L1302

#4557 merged


What's the best way to integrate Tabs with react-router?

I would like to use the MDL Tabs for my application that uses react-router for navigation...
Initially I was using the pure JS, but had some trouble with its events. Then, I found this library, but the best I could do still seems quite ugly:
export default class NavigationBar extends Component {

  constructor(props) {
    super(props)
    this.state = {
      active: 0
    }
  }

  //FIXME: holy cow there MUST be a better way to use Tabs for navigation!
  onChange(id) {
    let node = findDOMNode(this)
    let path = node.children[0].children[id].attributes.to.nodeValue
    this.setState({ active: id })
    hashHistory.push(path)
  }

  render() {
    return (
      <Tabs ripple activeTab={this.state.active} onChange={this.onChange.bind(this)}>
        <Tab to="/">Home</Tab>
        <Tab to="/stuff">Stuff</Tab>
        <Tab to="/etc">Etc</Tab>
      </Tabs>
    )
  }

}

My first thought was something like <Tab><Link to="/">Home</Link></Tab> but that triggers an error because there is an anchor inside another :(

Indeed, you can pass a custom component prop to the component to specify the component you want.
<Tab component={Link} to="/">Home</Tab>

But to be honest, I'm not a huge fan of this syntax. Instead, it should be the way you thought it was. This will probably be updated in v2 ;)
Note that you'd still need to listen for a onChange event on the Tabs component to setup the right active tab for the styles.

@tleunen, I was re-reading this issue here and got an idea. Shouldn't that be default to the Tabs/HeaderTabs+Tab components? Or would it be too hard to implement?
I mean, Tab could have an internal onClick behaviour that would give its ID to the parent component - that should always be one of the Tabs implementation, and the correct active tab would be set without developer intervention. I can't see a case where there would be no need for tabs to change into active hmmm
There's also Tab.active to be used in this case.. Could be even simpler/decoupled to implement.
If you think this makes sense, I can move this into a new issue. Not sure I could help coding as I'm pretty new to React libs (even React apps themselves are new for me). :)

Yes I agree, Tabs should automatically set the active state on one of its children, and thus avoid the end user of doing it.
I wonder if this could be done in v1.x without creating a breaking change, because users are already using an onclick to setup the active tab (mostly only for the active purpose I guess because most users would probably use something like react router)


Optional timestamp printing

I would like to have an optional switch for AEM package deployment.
So that I can add to my <user>.gradle/gradle.properties file something like: aem.package.deploy.showTimestamp.
So when I get back from coffee or a call I can have a look at my console and know when I ran deployment last time.

There is already such feature. Check out instanceStatus task. It contains time when each package was last installed / deployed

My output does not contain this information:
> Task :instanceStatus
Instance 'local-author'
  URL: http://localhost:4502
  Version: <IP_ADDRESS> (on-prem)
  Status: Running
  Debug port: 14502
  Process ID: 15996
  State check: Passed
  Run path: C:\Users\......\instance\author
  Run modes: s7connect,crx3,nosamplecontent,author,local,crx3tar
  Time zone: Europe/Belgrade (GMT+01:00)
  Operating system: Windows 10 amd64 (10.0)
  Java: OpenJDK 64-Bit Server VM (1.8.0_275)
  Packages installed:
    <pck-name>-1.0.0-SNAPSHOT.zip | not built

You mean about packages? Sometimes it need to be configured additionally when GAP is used only to setup instances. Not to build packages. However in that case I could instruct you how do add that info...

My idea was to have smth like this:

So when I get distracted and then I come back I know when I last built my project. (so I don't have to guess did I deployed recently or not)
This could be probably done by a custom Task but I'm not sure how to set it up so it is executed at the very end of the build.

sorry, misunderstood. it is a rather missing Gradle feature however I have a place for such improvement.
and to be honest, I will also appreciate such feature. I will consider adding it to  https://github.com/Cognifide/gradle-common-plugin when I will have some time. thanks!


Fix building Ubuntu shared libraries

fixes #4988.
CoreRT can now produce working shared lib for linux-x64.
But I have some questions

Should we use the trick with jumping to GOTPCREL ptr for other Rh* stubs (like RhExceptionHandling_FailedAllocation)?
Is it right way to check, that symbol should be exported as global through IExportableSymbolNode.GetExportForm()?
Is it enough to pass all tests to check, that this commit nothing breaks?

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: hc4 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Looks like linux check uses prebuilt libobjwriter. Is it possible to force libobjwriter compilation?

Thank you!

Is it right way to check, that symbol should be exported as global through IExportableSymbolNode.GetExportForm()?

I think we can avoid this by having RootReadOnlyDataBlob do what AddCompilationRoot(MethodDesc method, string reason, string exportName = null) does a couple dozens of lines above ( _factory.NodeAliases.Add(..., exportName)). Then the symbol being global will fall out of the general NodeAliases handling and we don't need the extra interface. You'll need to give the actual blob a different name - I would just prefix it with __readonlydata_.

Looks like linux check uses prebuilt libobjwriter. Is it possible to force libobjwriter compilation?

We'll need to make a new package using these bits. It's a manual process. Don't worry about that part.

Actualy I'am unsure what is better - always take alias if available, or just take alias for BlobNodes here
https://github.com/dotnet/corert/blob/b1b3f530aa67f005f2ca38a3ec77e62af08ad2d2/src/ILCompiler.CppCodeGen/src/CppCodeGen/CppWriter.cs#L1122

NodeAliases solution looks much more invasive, as it breaks CppCodeGen and WebAssebmly

Would you be able to help with creating the ObjectWriter NuGet package for this?

I will try to do this when I get a chance (likely next week). The first step is to get this merged with the linux test disabled (amended the PR).

creating the ObjectWriter NuGet package for this?

This is done now.


Fix travis configuration problem with default-private scoped package

According to https://docs.travis-ci.com/user/deployment/npm/#troubleshooting-npm-err-you-need-a-paid-account-to-perform-this-action will fix the issue experienced here: https://travis-ci.org/edx/mockprock/jobs/463566006#L479

👍


filter invalid headers

Pull Request Test Coverage Report for Build 94

4 of 11 (36.36%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-15.9%) to 84.091%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/GenericRequestFactory.php
4
11
36.36%

Totals

Change from base Build 91:
-15.9%

Covered Lines:
37

Relevant Lines:
44

💛  - Coveralls


A few grammar and punctuation improvements

I like your article. I hope you find these minor changes of some value.

Thanks @tommcandrew 🙂


Extend doc-build action with asset upload

📝 Description of the feature
Some repos are using an extra step in the documentation build to add download assets to the HTML documentation.
See for example assets page where the assets are listed and a button has been added to download PDF files from HTML documentation.
💡 Steps for implementing the feature
Add extra steps to zip / copy / paste files to the expected directory.
🔗 Useful links and references
No response

I would say that HTML in zip format and PDF file should be uploaded for now :)

I was wondering whether to add JSON files (if built) but felt that their main value was to be download as artifacts. Any thing I'm missing ?

If somebody else asks for other files we can work on generalizing this. I believe this is already a good start nonetheless

I was wondering whether to add JSON files (if built) but felt that their main value was to be download as artifacts. Any thing I'm missing ?

I think you listed all of them. No need to add the JSON. I had to used them at some point but it was for a specific extra work.


Is the the document inserting done desc or asc?

If I insert a new document in my database which already has other documents will it insert it on top of the other documents or at the bottom?
if at the bottom, is there a way I can other my documents in desc when I fetch docs from db?

Documents will be inserted at the bottom.
For now you can't specify the fetching order. But you can do:
var reversed = result.reversed.toList();

ok, thanks works fine


[Drafts] Report submission is not reflecting real time for admin

Problem
When draft report is submitted by the employee, the admin view does not reflect that in the UI.
https://github.com/Expensify/App/assets/36083550/6ea992af-14fe-4818-ab05-2883d9ecb726
Solution
Ensure all the necessary updates are sent from the API when report is submitted.
That would be update to the expense report with its state and status changing as well as update report preview action

@mountiny would we consider this an internal or external bug? Just making sure I am applying the correct labels 👍

This needs to be internal and i believe @marcochavezf might have a fix ip for this, maybe

I noticed that in the last PR, we only send the updated expense report data to the approver (manager) and not to other admins in the workspace, so I created this PR to also send the updated data to all admins in the workspace chat.

Any updates on this? TIA!

The PR was already deployed to production two weeks ago. I will close this GH issue manually.


fine-tuning RuBERT | data format for Text Classification Task

Hello everyone!
I have the following problem: I've got a dataset (currently - very small, ~550 documents. In the future - around 10k documents) and I need to do a multi-classification task on it, moreover, each document may have multiple class labels attached to it.
I've read the paper https://blog.insightdatascience.com/using-transfer-learning-for-nlp-with-small-data-71e10baf99a6 , which states that even with 500 samples there is quite a gain in BERT accuracy. So I want to give BERT a try. I've tried to use it's embedding as an input to RandomForest, and the results were worse than with tf-idf. So I hope that having BERT fine-tuned on the target domain documents will improve it's accuracy up to overcoming the RandomForest on tf-idf (with 10k dataset)/
I've red the issue #1065 and understood I need to follow google's guide and use DeepPavlov's ruBERT and vocab as well. But the question I have is, what should the dataset look like?
I need to do classification. I suppose I may use just BERT's embedding, and do using it a one-verse-the-rest classification with other classifiers. So, should I just fine-tune the BERT somehow in unsupervised manner, like providing the plain text? Or I must provide the class labels as well? In that case, having like 10 classes, while most of the documents are sharing multiple classes each, what would be the right way to fine-tune BERT to obtain better embeddings? Is that possible after all? Or the only way is to tine-tune multiple BERT models (which is .. insane).
Thank you a lot for any suggestions!

Hello!
It's probably a better decision to choose not the way of using only embeddings from BERT but to use a BERT-based classification model itself.
Here you may find a config file - example of how to use pre-trained BERT-based model for text classification. Take into account, that in this example conversational ruBERT is being used. So, if you have more official text style, you are better to use pre-trained ruBERT (here an example of using ruBERT but for classification of pairs of texts. So, you can take paths to pre-trained ruBERT from this config).
As an important difference from the first config example, you should set parameter multilabel for bert_classifier to True (see here).
Also, in this case you need to change
      {
        "in": "y_pred_probas",
        "out": "y_pred_ids",
        "class_name": "proba2labels",
        "max_proba": true
      },

to
      {
        "in": "y_pred_probas",
        "out": "y_pred_ids",
        "class_name": "proba2labels",
        "confident_threshold": 0.5
      },

Description of dataset readers and how the data should be formatted you may find here.
Feel free to ask questions!


Cannot set chartType of the Symbol Overview Widget

On the TradingView Symbol Overview Widget iframe page, we can change the "chartType" setting but in this React wrapper it is not supported, will this be supported in the future?

Thanks in advance!

Seems like the widget has been updated since the last time I implemented it. I'll work on an update right now!

Updated the widget, not publishing it yet because I noticed other widgets are outdated too. After I'm done updating the other widgets I will publish the new version.

Hey, just released v1.0.6. Updating the package should fix your issue. Let me know if any other issues occur!

Thanks for the rapid response, much appreciated!
I copied exactly the sample code for the SymbolOverview chart from the documentation site and I cannot get the chart working, this is the error being raised in the console
Let me know if you need further information from me, thanks!

Hey, fixed in v1.0.8. Apparently document queryselectors do not like to query on Math.random ids :). Apologies for the inconvenience.

Thank you, it works now!