queries are much slower than native ruby (even including pre-fetch)?

Hello - apologies for the generic issue title, hopefully I can edit it to be more specific once I'm a little more clear on the source of this.  We are using the pg_search gem for an auto-complete and I'm somewhat puzzled by it's performance (and this may be Postgres rather than pg_search related, more on that below).
Here is a query generated by the pg_search gem (and explain analyze output below):
EXPLAIN ANALYZE
SELECT  "variants".id, "variants".search,
((ts_rank(("variants"."search"),
(to_tsquery('simple', ''' ' || 'black' || ' ''' || ':*')), 0)))
AS pg_search_rank FROM "variants"
INNER JOIN "products" ON "products"."id" = "variants"."product_id"
WHERE "variants"."account_id" = $1
AND ((("variants"."search") @@ (to_tsquery('simple', ''' ' || 'black' || ' ''' || ':*'))))
AND ("variants"."status" != 'archived')
ORDER BY pg_search_rank DESC, "variants"."id" ASC, "variants"."id"
DESC LIMIT 20 OFFSET 0;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=165332.42..165332.47 rows=20 width=167) (actual time=1686.098..1686.103 rows=20 loops=1)
   ->  Sort  (cost=165332.42..165386.88 rows=21784 width=167) (actual time=1686.096..1686.099 rows=20 loops=1)
         Sort Key: (ts_rank(variants.search, '''black'':*'::tsquery, 0)), variants.id
         Sort Method: top-N heapsort  Memory: 30kB
         ->  Nested Loop  (cost=382.29..164752.75 rows=21784 width=167) (actual time=354.103..1626.966 rows=128052 loops=1)
               ->  Bitmap Heap Scan on variants  (cost=381.86..98421.65 rows=21784 width=171) (actual time=354.079..1130.804 rows=128052 loops=1)
                     Recheck Cond: ((account_id = $1) AND (search @@ '''black'':*'::tsquery))
                     Rows Removed by Index Recheck: 501447
                     Filter: ((status)::text <> 'archived'::text)
                     Heap Blocks: exact=36190 lossy=53808
                     ->  Bitmap Index Scan on index_variants_on_search_and_account_id  (cost=0.00..376.42 rows=28042 width=0) (actual time=343.227..343.227 rows=223097 loops=1)
                           Index Cond: ((account_id = $1) AND (search @@ '''black'':*'::tsquery))
               ->  Index Only Scan using families_pkey on products  (cost=0.43..3.03 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=128052)
                     Index Cond: (id = variants.product_id)
                     Heap Fetches: 0
 Planning time: 1.169 ms
 Execution time: 1686.219 ms
(17 rows)

The execution time is absolutely staggering.
Here is what this looks like if we pre-fetch the objects in native ruby:
EXPLAIN ANALYZE SELECT id, search FROM variants where account_id = $1;

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on variants  (cost=2686.62..658427.87 rows=289370 width=167) (actual time=133.572..1139.615 rows=291264 loops=1)
   Recheck Cond: (account_id = $1)
   Rows Removed by Index Recheck: 616695
   Heap Blocks: exact=41819 lossy=80014
   ->  Bitmap Index Scan on index_variants_on_search_and_account_id  (cost=0.00..2614.27 rows=289370 width=0) (actual time=122.186..122.186 rows=291264 loops=1)
         Index Cond: (account_id = $1)
 Planning time: 0.226 ms
 Execution time: 1158.538 ms
(8 rows)

res = con.exec("select id,search from variants where account_id = $1").entries
[7] pry(main)> res.size
=> 291264

Benchmark.ips do |x|
    x.report do
        res.select { |i| i['search'].include?('black') }
    end
end

Calculating -------------------------------------
                         1.000  i/100ms
-------------------------------------------------
                          8.601  (±11.6%) i/s -     41.000
=> #<Benchmark::IPS::Report:0x007fa9a5b7bbb8
 @data=nil,
 @entries=[#<Benchmark::IPS::Report::Entry:0x007fa9369c7f20 @ips=8.600967724341794, @ips_sd=1, @iterations=41, @label="", @measurement_cycle=1, @microseconds=5050743.103027344, @show_total_time=false>]>

In other-words Ruby .include? will run at ~100ms on pre-fetched objects once they are loaded into memory (~70ms in python). Where as the native SQL never goes under 1000ms. To see if this can be made faster (perhaps 'pg_search' is building suboptimal indexes or queries) -  I've tried re-indexing with both gin and gist, as well as building separate indexes for a nested select e.g.:
"index_variants_on_search_and_account_id_as_gin" gin (account_id, search)
"index_variants_on_search_and_account_id_as_gist" gist (account_id, search)
"index_variants_on_account_id" btree (account_id)
"index_variants_on_search" gin (search)

None of these appear to provide any difference that's close to bridging the gap between Postgres query run-time and native Ruby .include? even though the later is a naive O(n**2) lookup.

Ruby include? will run at ~100ms on pre-fetched objects once they are loaded into memory (~70ms in python).

Though when you include the query time, it’s ~1250ms vs. PgSearch’s query’s ~1680ms. In which case it’s not really too much faster (¾ time, or 1.34x faster), and with that extra time you gain lower memory consumption on the client, less network transfer, and intelligent search rank. Sure if you’ve actually already loaded the entire search space into memory, then yea, it’s going to be faster and the first two cons (memory and network) are mute; but you still give up the rank.
That said…

To see if this can be made faster (perhaps 'pg_search' is building suboptimal indexes or queries) - I've tried re-indexing with both gin and gist, as well as building separate indexes for a nested select

The PgSearch query looks like it’s using the search indexes just fine, the problem may be the condition ("variants"."status" != 'archived'), which doesn’t appear to be indexed. What happens if you remove that from your query? Additionally, the INNER JOIN "products" ON "products"."id" = "variants"."product_id" would also add some time to the query, which doesn’t seem to be needed for the search.

the later is a naive O(n**2) lookup.

It’s not, it’s O(n*m) where n = number of records, m = average field length.

Unless I’m missing something (and I might be, as it’s quite late), I’m inclined to think there isn’t a problem here. Postgres’s full text search is not exactly fast, and FWIW Case Commons migrated away to Elasticsearch primarily for performance, and the difference is substantial with our medium+ datasets.

@amarshall Sorry I neglected to include the explain analyze for the stripped down version of the above query:
EXPLAIN ANALYZE SELECT  "variants".id, "variants".search from "variants"
WHERE account_id = $1 AND ((("variants"."search") @@ (to_tsquery('simple', ''' ' || 'black' || ' ''' || ':*'))));

---------------------------------------------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on variants  (cost=383.43..98353.11 rows=28042 width=167) (actual time=336.732..1085.490 rows=128052 loops=1)
   Recheck Cond: ((account_id = $1) AND (search @@ '''black'':*'::tsquery))
   Rows Removed by Index Recheck: 501447
   Heap Blocks: exact=36190 lossy=53808
   ->  Bitmap Index Scan on index_variants_on_search_and_account_id  (cost=0.00..376.42 rows=28042 width=0) (actual time=326.986..326.986 rows=223097 loops=1)
         Index Cond: ((account_id = $1) AND (search @@ '''black'':*'::tsquery))
 Planning time: 0.616 ms
 Execution time: 1093.949 ms
(8 rows)

That will give about the same performance as the native ruby-fetch (give or take some variance). The problem is that I really expect Postgres Text Search with pre-built indexes to be faster than fetching objects and doing naive string .include? -- e.g. considering that if the entire data-set for an account can be loaded into memory once and maybe re-used 50-100 times before it's no longer needed.
How are things working for you with Elasticsearch? We are considering this as an alternative as well -- but I wanted to be sure we weren't missing something essential that would enable us to greatly improve the Postgres performance. Are these numbers within +/- 25% of what you would expect?


Trigger Sonarcloud

What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #10902 (36bcf96) into 3.1 (70660cb) will decrease coverage by 4.39%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                3.1   #10902      +/-   ##
============================================
- Coverage     68.96%   64.56%   -4.40%
+ Complexity      559      469      -90
============================================
  Files          1364     1336      -28
  Lines         72443    57014   -15429
  Branches      12775     8411    -4364
============================================
- Hits          49960    36811   -13149
+ Misses        17971    16239    -1732
+ Partials       4512     3964     -548

Impacted Files
Coverage Δ

...luster/router/script/ScriptStateRouterFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...zookeeper/curator/CuratorZookeeperTransporter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...pc/cluster/router/file/FileStateRouterFactory.java
0.00% <0.00%> (-80.96%)
:arrow_down:

...o/rpc/cluster/router/script/ScriptStateRouter.java
0.00% <0.00%> (-73.34%)
:arrow_down:

...mmon/serialize/fastjson2/FastJson2ObjectInput.java
0.00% <0.00%> (-62.50%)
:arrow_down:

...ting/zookeeper/curator/CuratorZookeeperClient.java
15.38% <0.00%> (-61.13%)
:arrow_down:

...mon/serialize/fastjson2/FastJson2ObjectOutput.java
0.00% <0.00%> (-56.25%)
:arrow_down:

...org/apache/dubbo/remoting/api/pu/DefaultCodec.java
33.33% <0.00%> (-33.34%)
:arrow_down:

...dubbo/remoting/zookeeper/ZookeeperTransporter.java
50.00% <0.00%> (-33.34%)
:arrow_down:

...pache/dubbo/common/function/ThrowableFunction.java
71.42% <0.00%> (-28.58%)
:arrow_down:

... and 370 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 1359 ms

Resolved: Bofrost.be performance has improved in 16d8ada.


ES-91: Upgrade Gradle Version

Upgrade gradle version to 8.1 and create new gradle wrapper as part of C5 update.
Added new files that were modified when running gradle with new version
Update check-pr-title.yml workflow to be able to accept ES PR

@knguyen-r3 lets hold off merging these until Beta3 is shipped (this coming week), Everything should be fine but I don't want to risk any last-minute surprises on release jobs.


How to get continuously updated client offset {x, y} position

While dragging an item, I need to continuously get client offset {x, y} coordinates so I can call a function or fire a redux action when the item is dragged to certain coordinates on the screen (but before the item is dropped).
I'm currently doing this by using useDragLayer and monitor.getSourceClientOffset().
Is this the right/best way to do this?
I looked at useDrag methods, and methods like begin, end, canDrag and isDragging do not seem to be continuously called. useDragLayer was the only thing I could get working, but not sure if that's the right way to do it.
Thanks!

We can use the hover() method in useDrop(). http://react-dnd.github.io/react-dnd/docs/api/use-drop#specification-object-members
It has a monitor where you can do what you need to do.

Thanks @waynevanson, that works for me. The mistake I made was that since I wanted properties of the drag item I assumed the method should be in useDrag or useDragLayer. I didn't think to try the useDrop hover method. Thanks for helping me out! Much appreciated.


[Native]Enable linear sampling for float textures

Used by Trail in the demo. IIRC , @bghgary , you had issues with linear sampling & float tex a while ago. Is it related?

Is this always available in Native? In WebGL/WebGL2 it's an extension, so it's not guaranteed to be available everywhere.

@bghgary , you had issues with linear sampling & float tex a while ago. Is it related?

This sounds familiar but I don't think it was this capability. What does this capability translate to in terms of Babylon Native calls?

https://github.com/BabylonJS/Babylon.js/blob/88b68cece5dde2fb3e078011b449d64a4d3453af/src/Materials/Textures/rawTexture.ts#L43
Only point sampling for raw float texture.

Is this always available in Native? In WebGL/WebGL2 it's an extension, so it's not guaranteed to be available everywhere.

I assume so as it's not a cap in bgfx. Moreover, there some latency between native and web. For example, compute shaders are available for more than 10 years now where on the web ...
https://developer.download.nvidia.com/compute/DevZone/docs/html/DirectCompute/doc/DirectCompute_Programming_Guide.pdf

When I was debugging skeleton issues I saw that linear filtering of float textures didn't work on many Android devices. We should make sure this works everywhere.
https://github.com/babylonjs/babylonreactnative/issues/256#issuecomment-921364716


#1282 default to system classpath being disabled for surefire plugin

Fixes intermittent errors in surefire tests seen in a few environments & primarily in information view
Signed-off-by: Nigel Jones<EMAIL_ADDRESS>

Should hopefully fix #1282 and #1284


Type Error Swashbuckle.SwaggerGen.Annotations.XPathNavigatorExtensions.cs

Type error,  public static class XPathNavigatorExtensiosn should be public static class XPathNavigatorExtensions

Resolved by https://github.com/domaindrivendev/Ahoy/commit/b581953e7f0d081ffa40c93bcd2225a9b67c3336. File wasn't even being used!


open-shell-np

out of date, still in 4.4.17
new version:
https://github.com/Open-Shell/Open-Shell-Menu/releases/tag/v4.4.191

was fixed


Add Saga transaction

For #986, add saga transaction for 3.1.0.

merged newest code from dev
Integrate service comb saga into sharding-transaction
Initially implement Saga Transaction in sharding-jdbc

Pull Request Test Coverage Report for Build 5158

981 of 1883 (52.1%)  changed or added relevant lines in 160 files are covered.
65 unchanged lines in 22 files lost coverage.
Overall coverage decreased (-2.2%) to 63.517%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/jdbc/datasource/JDBCRawBackendDataSourceFactory.java
0
1
0.0%

sharding-orchestration/sharding-jdbc-orchestration/src/main/java/io/shardingsphere/jdbc/orchestration/api/yaml/YamlOrchestrationMasterSlaveDataSourceFactory.java
3
4
75.0%

sharding-transaction/src/main/java/io/shardingsphere/transaction/manager/base/servicecomb/SagaExecutionComponentHolder.java
13
14
92.86%

sharding-transaction/src/main/java/io/shardingsphere/transaction/manager/base/SagaTransactionManager.java
14
15
93.33%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/BackendExecutorContext.java
0
1
0.0%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/BackendNettyClientChannelInitializer.java
0
1
0.0%

sharding-proxy/src/main/java/io/shardingsphere/proxy/config/yaml/ProxyYamlRuleConfiguration.java
0
1
0.0%

sharding-core/src/main/java/io/shardingsphere/core/merger/dal/show/ShowDatabasesMergedResult.java
7
8
87.5%

sharding-orchestration/sharding-orchestration-core/src/main/java/io/shardingsphere/jdbc/orchestration/internal/state/datasource/DataSourceListenerManager.java
0
1
0.0%

sharding-orchestration/sharding-jdbc-orchestration/src/main/java/io/shardingsphere/jdbc/orchestration/api/yaml/YamlOrchestrationShardingDataSourceFactory.java
4
5
80.0%

Files with Coverage Reduction
New Missed Lines
%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/BackendNettyClient.java
1
0.0%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/jdbc/datasource/JDBCBackendDataSource.java
1
0.0%

sharding-core/src/main/java/io/shardingsphere/core/parsing/parser/clause/expression/BasicExpressionParser.java
1
92.45%

sharding-core/src/main/java/io/shardingsphere/core/executor/ShardingExecuteEngine.java
1
0.0%

sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/adapter/AbstractDataSourceAdapter.java
1
86.96%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/jdbc/JDBCBackendHandler.java
1
0.0%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/jdbc/connection/BackendConnection.java
1
0.0%

sharding-proxy/src/main/java/io/shardingsphere/proxy/Bootstrap.java
1
0.0%

sharding-core/src/main/java/io/shardingsphere/core/parsing/parser/clause/UpdateSetItemsClauseParser.java
1
89.66%

sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/NettyBackendHandler.java
2
3.85%

Totals

Change from base Build 4855:
-2.2%

Covered Lines:
8188

Relevant Lines:
12891

💛  - Coveralls


Add support for haskell-ide-engine

This adds support for haskell-ide-engine (https://github.com/haskell/haskell-ide-engine).
Everything works fine except that i get this error message on startup:

But as i said the lsp still works and i also found this: https://github.com/haskell/haskell-ide-engine#parse-errors-file-state-going-out-of-sync which could be related.

@czwinzscher that might be our bad. I think it was expecting an empty object, not an array. We can fix that on master soon.

@czwinzscher have you tested that the settings are properly reflected? I just want to make sure that it should go in init_options and not settings.
Also, this is not required for this PR, but do you think that HIE could be installed in a local directory for execution?
Also, you should merge master and revert any changes to README.md. README is auto generated.

@czwinzscher have you tested that the settings are properly reflected? I just want to make sure that it should go in init_options and not settings.

Yes i tested it and it does have to be in init_options. Also here you can see that coc also uses init options.

Also, this is not required for this PR, but do you think that HIE could be installed in a local directory for execution?

Well hie has a build script that automatically installs it to  ~/.local/bin.

Also, you should merge master and revert any changes to README.md. README is auto generated.

Okay i reverted it.


Ability to upload a user photo

Using Gravatar these days is a bit harsh on the user as it requires a third party account (wordpress.com) and not eveybody is thrilled about it. That's probably why Github itself as of relatively recently allows the user to upload a photo as well, and I think this exact same feature should also be present in Pagekit. What do you guys think?

Yes, that is a good idea. I can put it on the todo list or if someone want to help out with this, any pull request is much appreciated.

@saschadube i will work if needed

where should the image be saved? storage? maybe also some permissions on who can access this image in the admin area if storage is being used? just raising some questions ;-)

I second this! I don't like to use Gravatar these days.. I don't think it should be neccesary to register on a different website so you have an avatar on your own.

@stefanpkc Anyone with your email may lookup gravatar and nobody is required to upload a custom avatar. I would vote for the "simple" route and put it into storage (without further protection).


Should formula always return a Cell instead of Value?

The following discussion popped during code review. I copy it here to continue.
    renderFunction(val as T)

Michał:

pbraune Unsafe type casting as T. Maybe it is better to check if val === null? What if renderFunction actually expects null or other false value?

me:

Hi mklobukowski , null is not the issue. Please open it in you IDE to investigate.
map ensures, the argument passed to the function is T or in this this case T | null but null is already "eliminated" 2 lines above with val ? typeof renderFunction === 'function'....
The issue is that renderIf accepts cell as Value<T | null>. And Value is type Value<T> = T | Cell<T>. And since map became generic to accept Value<T> by itself.
If it's passed as Value TypeScript cannot decide whether it's Cell or just T. Because I don't like type casting and beleave that TypeScript should be able to handle this case correctly, I created a separate branch to investigate this "issue".
There is a test case and some "mess" to solve it. Any help is welcome.

Michał:

pbraune I see. I took a look at sunrise and it is harder than I expected. Let's use as T for now.
Btw, regarding the sunrise issue. I wonder if it isn't becoming too complicated just because we want to produce a Value instead of a Cell in the following code. This leads to UnwrapCell type which has troubles handling UnwrapValue<Value<T>> because it distributes result over the union. I have found no solution to that. But it led me to the question: Is there a significant gain by not returning a cell when all inputs aren't cells? If we always returned FormulaCell, there wouldn't be a need for UnwrapValue type at all.
export function formula<T>(
    fn: Function,
    ...sources: Value<unknown>[]
): FormulaCell<T> | T {
    if (sources.some(isCell)) {
        return new FormulaCell(fn, ...sources)
    } else {
        return fn(...sources)
    }
}

When returning FormulaCell always:
declare function myMap<V, R>(fn: (v: V) => R, input: Value<V>): FormulaCell<R>;

{
    function callIf<T, U>(
        cellOrValue: Value<T>,
        cb: (arg: T) => U
    ): U | null {
        const res = myMap((value) => {
            if (value) {
                return cb(value)
            }
            return null
        }, cellOrValue)

        return deref(res)
    }
}

We decided aginst it...


Enable Lidar to be calculated on each physics substep

Investigate if it is possible to update the Lidar measurements on each physics substep.
It seems to be possible to add a delegate that is called on every physics update
https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/PhysicsEngine/FBodyInstance/AddCustomPhysics/
See also

https://docs.unrealengine.com/latest/INT/Engine/Physics/Substepping/
http://www.aclockworkberry.com/unreal-engine-substepping/
https://forums.unrealengine.com/unreal-engine/announcements-and-releases/4148-physics-sub-stepping

@nsubiron this is also what I came across. Apparently not every function can be called from within the Custom Physics thread since it is decoupled from the rendering thread. But we could check if raycasting can be done - and it would be necessary for the scene to update in between these substeps.
Motivation:
For realistic LiDAR simulation it is crucial to incorporate the rolling shutter effect due to scanning, especially in situations where the car / scene is moving because consecutive LiDAR samples will be "distorted" due to that motion. E.g. straight static objects look slanted when the car is moving. And also pitch yaw and roll rotations when the car is in suspension will incorporate even more effects. That's why some people in the industry claim that simulations of sensors and automatic driving is not possible / won't be beneficial (if these effects cannot be modeled).

In http://www.aclockworkberry.com/unreal-engine-substepping/ it is mentioned that:

Here I’m showing you a little code example of how to setup a substep callback in your project. The first thing to note is that you can access substepping only from an object that can have a rigid body, i.e. any Component extending UPrimitiveComponent. Here I’m subclassing an UStaticMeshComponent.

I think the ALidar class isn't of such catergory, so the question would be if it could be altered to alsohave a rigid body...

I am also really interested in this work. I am currently using AirSim (another OSS UE4 based simulator for CV, but with a focus on drones), but have been looking to implement some kind of LIDAR simulator, so when I saw it was done in CARLA I was really excited. And then saddened when I saw it lacked the rolling shutter effect lol.
I may have some free time to try and hack on this in a month or two. IMO LIDAR sim is pointless if you can't accurately simulate the warping, and I really want an accurate LIDAR sim, so if this isn't taken care of by then I will look in to it.

@dirtshell For the record, we do have rolling shutter effect, but it is very slow. You have to run CARLA in sort of slow motion mode to be able to see it. See e.g. in our video https://youtu.be/S_XbKHC_hN0?t=18s, you do so by running CARLA at fixed time-step with a very high FPS
$ ./CarlaUE4.sh -benchmark -fps=200

The higher the frame rate, the slower the simulation will run, and the smaller will be the angle the shutter moves each frame. The problem with the current implementation is that for each Lidar update there is a render update too and that's not very optimal, that's why we want to update the Lidar on each physics sub-steps.
We do plan in the future to add another Lidar implementation as well, using the depth buffer at shader level. This should be faster.
We don't have a plan of action for these two issues yet, if think you can contribute it would be great :)

Oh, interesting. I didn't realize the video where the shutter effect was appearing was slowed down FPS wise. I thought the RPM of the scanner was just really slow. I will try this and see how the results look. I am testing SLAM algorithms for high velocity sensors, so the warping is important to test the efficacy of the algorithms.
Just an interesting aside, with the addition of real time ray tracing in UE 4.20, we may be able to generate point clouds even faster. That all depends on the API level we have access to though.

@nsubiron In order for the ray_casting in physics substeps to be useful it is necessary for the scene to get updated between the substeps. I haven't found any conclusive information about if it will get updated though yet...

how can I get information of detected vehicles from this lidar


Write a test to prove that the seeder's program and the simulator are deterministic

Closed in f6242f6.


LAB_02b-Manage_Governance_via_Azure_Policy.md

Text not translated: "Value" should be "Valor" on the table headers in the whole document.
Current Translation (If its  a translation issue)
Value
Suggested Translation (if it’s a translation issue)*
LAB_02b-Manage_Governance_via_Azure_Policy.md
Valor

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team


lint

probably not necessary for a tiny project like this, but we are here to have fun (read: go overboard) right? 😈
autopep8 (active)
flake8 (passive)
pyflakes
pylint

done


[ICS24] Discard Default impl for ClientId and move away from tm_client_type in unit tests

Problem Statement
Part of #373
Since ClientId serves a wider range of chains, it does not make sense to have a default value. As such, we should also get our unit tests client-indifference and discard tm_client_type calls

Note that our current unit tests have no proof verifications, so even having different client names wouldn't catch bugs like #551. For now, I made sure that our integration tests use different client names.
still a good improvement to have though in the long term.


WVD client in Windows 7 is not working

Hi, we have 5-6 users using WVD client in Windows 7 SP1. After updating the client, users are not able to login to WVD. They are getting this error: remote desktop cannot connect to the remote computer.  with web URL we are able to log in. Is there any bug in the new update?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 09ab98fc-fea2-a11a-e5ca-de1430211d97
Version Independent ID: 4d9943c3-fef7-ca86-bd03-1241a04b8135
Content: Get started with the Windows Desktop client
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/windowsdesktop.md
Product: windows-server
Technology: remote-desktop-services
GitHub Login: @Heidilohr
Microsoft Alias: helohr

201808230653294

Hi, we have 5-6 users using WVD client in Windows 7 SP1. After updating the client, users are not able to login to WVD. They are getting this error: remote desktop cannot connect to the remote computer.  with web URL we are able to log in. Is there any bug in the new update?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 09ab98fc-fea2-a11a-e5ca-de1430211d97
Version Independent ID: 4d9943c3-fef7-ca86-bd03-1241a04b8135
Content: Get started with the Windows Desktop client
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/windowsdesktop.md
Product: windows-server
Technology: remote-desktop-services
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Same issue after updating client on Win 7 SP1

Disclaimer: I am not affiliated with Microsoft or Microsoft Docs here on GitHub.
I recommend asking in forums, like MSDN TechNet, the Microsoft Community (https://answers.microsoft.com) or Microsoft support. You can also try getting in touch with the developers via the Feedback Hub.
This repository is intended for documentation reporting, improvement and documentation issues. The Microsoft ServerDocs team does not have enough bandwidth to provide technical support.
Unless you want to provide an improvement to this document page, report a factual error or otherwise argument for documentation changes, I would advise closing this ticket.

As mentioned above, the best place for help like this is Microsoft Support. I'll go ahead and close this.
#please-close


object-curly-spacing errors

Hi, just upgraded to 12.0.1 and I'm getting an errors, the eslint shows object-curly-spacing errors (via eslint-config-standard plugin).
index.js
console.log({a: 1})

Running version 11.0.1 produce no errors but on 12.0.1 I'm getting:
$ npx<EMAIL_ADDRESS>index.js
npx: installed 207 in 3.896s
standard: Use JavaScript Standard Style (https://standardjs.com)
standard: Run `standard --fix` to automatically fix some problems.
  /Users/gal/dev/profile-admin-server/index.js:1:13: A space is required after '{'.
  /Users/gal/dev/profile-admin-server/index.js:1:18: A space is required before '}'.

Is there been any standard specs updates that I've missed or does it related to eslint?
What version of standard?
12.0.1
What operating system, Node.js, and npm version?
Latest stable MacOS, node v8.11.1, npm 5.6.0
What did you expect to happen?
Not to display Errors
What actually happened?
I'm getting object-curly-spacing error from eslint

Is there been any standard specs updates that I've missed

Yes, we now enforce curly spacing. See discussion here: https://github.com/standard/standard/issues/609#issuecomment-400826566


Update our CI to run a nightly version of rustfmt so that we can use the unstable import sorting feature

Per this Reddit thread, we can run cargo +nightly fmt.
The option we want to enable is group_imports

Alternatively, do #1526 or wait for group_imports to stabilize.


How to make animated icons by source code not lua.

Describe your problem here.
Hello, first I am using psych engine version 4.2.0. So lua animated icons don't work. I tested before asking this question. So I try by the source code. I helped myself with the source code of hypno lullaby. The icons are animated except when I play a music, they remain non-animated. So I tried to make a copy of icons but they will be animated in PlayState.hx file. The icons were finally animated. But the problem the animated icons are blocked. They are stuck at the bottom left of the screen. They don't move. They are simply animated. The X has problem I believe. I advise you to look at my repository it is called 'PE-0.4.2-ANDROID-BUILD-TC' and go to the PlayState.hx file and look towards the icons to better understand my problem. Give me two solutions. 1.corrected the X of animated icons. 2.use another method but which uses the source code. and also I use a translator.
Are you modding a build from source or with Lua?
Source
What is your build target?
HTML5/Browser
Did you edit anything in this build? If so, mention or summarize your changes.
Yes, I modify the PlayState.hx and HealthIcon.hx files.

sorry but I don't animate in code only in lua even though you can't animate
icons in lua because shadow mario hasn't created an interface for that
option so I can't help you even if it was lua
El mié, 4 may 2022 a las 9:08, Mastercopper2346 @.***>)
escribió:

Yes, fix the X, but also, try using HealthIcon.hx
—
Reply to this email directly, view it on GitHub
https://github.com/ShadowMario/FNF-PsychEngine/issues/8485#issuecomment-1117358926,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZAFXNYYYS7NFF4EESFVQILVIKAFZANCNFSM5VB7HANQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

#8522


Router dom not work on production

I'm using electron router dom and react router dom, the router work very well on development environment but after build, the screen is empty.
Does anyone can help me to solve this issue
My source code like this
// electron > main.ts
const { app, BrowserWindow, ipcMain } = require('electron');
// const electronDebug = require('electron-debug');
const path = require('path');
const User = require('./models/User');
const Resume = require('./models/Resume');
const bcrypt = require('bcryptjs');
const {createURLRoute} = require('electron-router-dom')
function createWindow() {
win = new BrowserWindow({
icon: path.join(process.env.VITE_PUBLIC, 'electron-vite.svg'),
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
});
// Test active push message to Renderer-process.
win.webContents.on('did-finish-load', () => {
win?.webContents.send('main-process-message', new Date().toLocaleString());
});
if (VITE_DEV_SERVER_URL) {
win.loadURL(createURLRoute(VITE_DEV_SERVER_URL,
'main',
));
} else {
// win.loadFile('dist/index.html')
win.loadFile(path.join(process.env.DIST, 'index.html'));
}
}
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
win = null;
}
});
app.on('activate', () => {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
app.whenReady().then(createWindow);
** App.tsx
function App() {
const dispatch = useDispatch();
return (

<Router
main={
<>
<Route path='/' element={} />
<Route path='/signIn' element={} />
<Route path='/signUp' element={} />
<Route path='/resume' element={} />
</>
}
/>

);
}
export default App;
** main.tsx
import * as React from 'react';
import * as ReactDOM from 'react-dom/client';
import App from './App.tsx';
import store from './store';
import { Provider } from 'react-redux';
// Declare ipcRenderer on the window object
declare global {
interface Window {
ipcRenderer: any;
}
}
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>

</React.StrictMode>
);
// Remove Preload scripts loading
postMessage({ payload: 'removeLoading' }, '*');

Leftside is dev, and another is prod

photo to easy view
![Uploading Screenshot 2024-01-31

at 14.40.31.png…]()

Hello @SelinaVan, how did you solve your problem ?
I have a similar issue, it doesn't work on production but only on windows. It's seem that the router add a "C:" before routing ...


stringr: str_c

In the stringr cheasheet, str_c function, it says:

str_c(..., sep = "", collapse = NULL) Collapse a vector of strings into a single string.

But the code it's exactly the same as in the paragraph above ('str_c(..., sep = "", collapse = NULL)').
The code should probably be:
str_c(..., sep = "", collapse = "")

I think this has been closed by the most recent update to the stringr cheat sheet. The code was replaced with str_flatten().


Add full form state to validatorFn

:tada: This issue has been resolved in version 0.11.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixed Interface Conversion Error When Querying aws.aws_health_affected_entity Closes #2069

Integration test logs

Logs
N/A

Example query results

Results
Add example SQL query results here (please include the input queries as well)

We need to do proper testing for the code changes. Due to the lack of access in our environment, the table throws SubscriptionRequiredException error, so it is in draft mode.


Slots?

Vue components have this feature: https://vuejs.org/v2/guide/components.html#Named-Slots Seems like this feature is possible in React as well, albeit by plugging in some third party components
Now I wouldn't say this is a crictical feature exactly, but it makes layout-components a bit more readable. I haven't given it very much thought, but it seems like it's not possible with picodom today to create "slotted" layout components in this way. I think it would require some sort of magic in h to be possible.
Has anyone considered this? Any ideas as to how this could work?

@zaceno Now I wouldn't say this is a crictical feature exactly, but it makes layout-components a bit more readable.

What are layout components? And how do they become more readable?
Can you show me some code? :)

Oh I meant to say: it makes using layout components more readable. A layout component (I may have just made up that term) is a component meant to wrap multiple groups of children, in different places.
The following works today:
const AppLayout = ({otherProps, leftChildren, topChildren, mainChildren}, children) =>

{leftChildren}

{topChildren}

{mainChildren}

... and then you might use it like this:
const MainView = _ => {
  const leftChildren = [
    DocumentBrowser({current: getCurrentDocumentId()}),
    Advertisement({url: getAdvertiserURL()})
  ]

  const topChildren = [
    DocumentTools({document: getCurrentDocument()),
    AccountMenu({user: getUserInfo()})
  ]

  const mainChildren = [
    DocumentEditor({document: getCurrentDocument()})
  ]

  return AppLayout({leftChildren, topChildren, mainChildren}
}

With the concepts of slots, maybe the layout component could look the same, but have the following signature instead:
const AppLayout(otherProps, {leftChildren, topChildren, mainChildren}) => ...

And the MainView could perhaps look like this:
const MainView = _ =>
  <AppLayout>
    <slot name="leftChildren">
        <DocumentBrowser current={getCurrentDocumentId()} />
        <Advertisement url={getAdvertiserURL()} />
    </slot>
    <slot name="topChildren">
        <DocumentTools document={getCurrentDocument()} />
        <AccountMenu use={getUserInfo()} />
    </slot>
    <slot name="mainChildren>
        <DocumentEditor document={getCurrentDocument()} />
    </slot>
  </AppLayout>

I'll be the first to admit that the advantage doesn't look very significant, but perhaps there are more convincing examples out there. I just thought it was an interesting feature to consider.

@zaceno Can you compare slots to custom tags?
I'm confused about the part where you said:

... and then you might use it like this:

... considering we can (and should) use custom tags instead of calling functions like in your example.

https://github.com/hyperapp/hyperapp/blob/master/docs/custom-tags.md

@jbucaran A custom tag is a function, right, with the following signature: const MyTag = (props, children) => ... where children is an Array of child-nodes to be inserted somewhere in the custom tag.
What I'm suggesting is to make it possible to pass multiple sets of children to a custom tag.  In my suggestion, children can be an Object with named Arrays, rather than just a single array.
Again, it's probably not important -- so I don't want to push it I just found it an interesting feature, worth considering. The vue docs I linked to above explain it better than I can anyway.

@jbucaran, If I get what you're saying, you would write my example in the following way:

const AppLayoutContainer = (props, children) =>
{children}

const AppLayoutRight = (props, children) =>
{children}

const AppLayoutLeft = (props, children) =>
{children}

const AppLayoutTop = (props, children) =>
{children}

const AppLayoutMain = (props, children) =>
{children}

const MainView = _ => <AppLayoutContainer>
  <AppLayoutLeft>
    <DocumentBrowser document={getCurrentDocumentId()} />
    <Advertisement url={getAdvertiserUrl() } />
  </AppLayoutLeft>
  <AppLayoutRight>
    <AppLayoutTop>
      <DocumentTools document={getCurrentDocument()} />
      <AccountMenu user={getUser()} />
    </AppLayoutTop>
    <AppLayoutMain>
      <DocumentEditor document={getCurrentDocument()} />
    </AppLayoutMain>
  </AppLayoutRight>
</AppLayoutContainer

In any layout, there may be structure that is internal to how the layout works, and best not to expose outside it. In this example, such a structure is that the "top" and "main" areas need to be contained in a "right" area. The benefit of "my way" is that the entire layout is contained in a single component, which encapsulates that knowledge.

@zaceno So, it comes down to
...now:
const AppLayoutContainer = (props, children) =>

{children}

const AppLayoutRight = (props, children) =>

{children}

const AppLayoutLeft = (props, children) =>

{children}

const AppLayoutTop = (props, children) =>

{children}

const AppLayoutMain = (props, children) =>

{children}

const MainView = _ =>
  <AppLayoutContainer>
    <AppLayoutLeft>
      <DocumentBrowser document={getCurrentDocumentId()} />
      <Advertisement url={getAdvertiserUrl()} />
    </AppLayoutLeft>
    <AppLayoutRight>
      <AppLayoutTop>
        <DocumentTools document={getCurrentDocument()} />
        <AccountMenu user={getUser()} />
      </AppLayoutTop>
      <AppLayoutMain>
        <DocumentEditor document={getCurrentDocument()} />
      </AppLayoutMain>
    </AppLayoutRight>
  </AppLayoutContainer>

vs slots / new feature:
const AppLayout(otherProps, {leftChildren, topChildren, mainChildren}) =>
  ...

const MainView = _ =>
  <AppLayout>
    <slot name="leftChildren">
        <DocumentBrowser current={getCurrentDocumentId()} />
        <Advertisement url={getAdvertiserURL()} />
    </slot>
    <slot name="topChildren">
        <DocumentTools document={getCurrentDocument()} />
        <AccountMenu use={getUserInfo()} />
    </slot>
    <slot name="mainChildren>
        <DocumentEditor document={getCurrentDocument()} />
    </slot>
  </AppLayout>

@zaceno Can you fill in the missing code AppLayout?

Yup! Missing code:

{leftChildren}

{topChildren}

{mainChildren}

@zaceno Thank you! Now, I understand slots more or less. 🙇

@zaceno Can you please remind me what's wrong with just doing this?
const MainView = () =>

        <DocumentBrowser current={getCurrentDocumentId()} />
        <Advertisement url={getAdvertiserURL()} />

         <DocumentTools document={getCurrentDocument()} />
         <AccountMenu use={getUserInfo()} />

         <DocumentEditor document={getCurrentDocument()} />

@jbucaran, right. Especially if the layout code is even more complex than in my example.

... I'm not coming at it so much from the need to reuse/repeat so much as to keep the layout complexity encapsulated. But yeah, reusability is an important point as well

@zaceno I haven't investigated how to do slots, but I really don't think I am going to implement this in picodom.
Do you think this kind of problem could be solved with a function that wraps h without messing with core?

Hm - hadnt thought of the possibility to define your own h that wraps picodoms h, but seems that should work!
Yeah, it seems a bit too much to add anyway, for something that will probably. not be used much.
Just thought it was kind of neat and wanted to toss the idea out there. But we can certainly close this issue.


Refine/optimise gem icon

Explored gem variants, for reference…

not sure about the change in the icon. There is a reason why the upper inner triangle is not perfect. When making it a perfect triangle, the sharp corner is more below and adding an extra pixel, making the icon denser on 100%. So I'm not in favour of this change.

@ericfennis I see the reason now. Fixed…

We should keep the design of the gem as it is. The lines should not be parallel, if you look at some diamond images you can see why.

@ericfennis Ok, just optimised/added metadata then…


Fix duplicated category method issue

Currently, we get this linker warning:
ld: warning: method '-skipIfUnsupportedPlatformAndReturnError:' in category from /Users/neonacho/Projects/public/swift-package-manager/.build/arm64-apple-macosx/debug/PackageCollectionsTests.build/PackageCollectionsTests.swift.o conflicts with same method from another category

since we have two test modules defining the same category methods on XCTestCase. To avoid this, we can add a prefix to both implementations.

@swift-ci please smoke test


Computed or Invalid property names

Bug report
Input code
export class testProperties {
    public thank: number = 0;
    public you: number = 0;
    public painInTheButton0: number = 0;
    public painInTheButton1: number = 0;
    public painInTheButton2: number = 0;
}

var test = new testProperties();
test.thank = 0;
test.you = 0;
for (var i = 0; i < 3; i++)
    test['painInTheButton' + i] = i;
var totalThanks = test.thank + 1;
var totalForYou = test['you'] + 0;
var button1Result = test.painInTheButton1;
var button2Result = test['painInTheButton' + 2];
var button3Result = test['painInTheButton3'];

Expected output
error: testProperties.ts:13 Computed property, use /** @ignore-rename:[painInTheButton0,painInTheButton1,painInTheButton2] @ignore-computed-property */
error: testProperties.ts:18 Invalid property, use /** @ignore-invalid-property */

Actual output
(function(exports){
exports.testProperties = void 0;
    var testProperties = (function () {
        function testProperties() {
            this._internal_thank = 0;
            this._internal_you = 0;
            this._internal_painInTheButton0 = 0;
            this._internal_painInTheButton1 = 0;
            this._internal_painInTheButton2 = 0;
        }
        return testProperties;
    }());
    exports.testProperties = testProperties;
    var test = new testProperties();
    test._internal_thank = 0;
    test._internal_you = 0;
    for (var i = 0; i < 3; i++)
        test['painInTheButton' + i] = i;
    var totalThanks = test._internal_thank + 1;
    var totalForYou = test["_internal_you"] + 0;
    var button1Result = test._internal_painInTheButton1;
    var button2Result = test['painInTheButton' + 2];
    var button3Result = test['painInTheButton3'];
})(output);

Additional context
The two issues are...
1. 'painInTheButton' + i wont get renamed to '_internal_painInTheButton' + i, even if it did, terser wouldn't be able to rename that property to the mapped mangle.
2. 'painInTheButton3' doesn't exist on the object, since I only defined up to 2.
I would prefer these computed and invalid properties to throw an error when compiling, and if I want to ignore them have some option to do so. I would rather not find the bug through user report :(
The reason I would think the invalid property should error is to specifically review, and then can change to warn about it, or ignore it

I think that you don't use enabled noImplicitAny compiler option, right? This code can't be even compiled with enabled option: https://www.typescriptlang.org/play/#code/KYDwDg9gTgLgBAYwDYEMDOa42GmAFKCMYWASxzgG8AoOOuMAVwCMlSEsALFAOwGsAXHB6MAtsxJwAvHAAMAblr0mrdnACeERkJHjJMhUroq2HMClI8AkjwAqnYACFGMGBB6ydYiVGlzF9AwspgwW1nYOzq7uAIxeer4GAcrBauaWNvZOLm48AEzxPn6GAL7U1ABuKL7YuH48wADuWDj4hMRkOAAUAJSKtTAAdDDc-MX9rYOajOPUAGbQcF1VvqTjcGsAPHAAzPIbANQHPUYtuADaAOTp4VlRuZdwBxsAun6kiitYEDAoSPa8PiYGQDYajPhPOAxT7Vb6-JAAMWgAE0tH4Bldppc3s9DF9mDlYgAlHCMJDwEGTG6ZSKEnjQyqwgnRfIktBkilnGBXakRbIsx7PPIvGG+Zm5HZsjno1o8sI0-kS7HyIA.

I you'd like to disable renaming for some properties, you can mark them as @public with jsdoc (or any tag you set via config) and they won't be renamed - https://github.com/timocov/ts-transformer-properties-rename#publicjsdoctag
But I agree that it'd be nice to have some warnings/errors to notify that something could be broken.

I'm using, noImplicitAny=false
https://www.typescriptlang.org/play/?noImplicitAny=false&target=2&module=2#code/KYDwDg9gTgLgBAYwDYEMDOa42GmAFKCMYWASxzgG8AoOOuMAVwCMlSEsALFAOwGsAXHB6MAtsxJwAvHAAMAblr0mrdnACeERkJHjJMhUroq2HMClI8AkjwAqnYACFGMGBB6ydYiVGlzF9AwspgwW1nYOzq7uAIxeer4GAcrBauaWNvZOLm48AEzxPn6GAL7U1ABuKL7YuH48wADuWDj4hMRkOAAUAJSKtTAAdDDc-MX9rYOajOPUAGbQcF1VvqSF+v5wpHAAPHAAzPJbANTHPUYtuADaAOTp4VlRuTdwx1sAun6kiitYEDAoJD2Xh8TAyAbDUZ8V5wGI-ap-AFIABi0AAmlo-ANbtMbp83oZfswcrEAEo4RhIeDgyb3TKREk8OGVBHE6L5cloSnUy4wW50iLZdkvN55d7w3xs3L7TncrGtflhelC6V4+RAA

As for having the errors/warnings I think it would be ideal, because I can't think of a case where this would NOT cause an error in the output in production silently, when having a computed property at least. I think around line 129 in transformer.ts if its an element access expression and NOT a string literal throw a nice error :)

I'm using, noImplicitAny=false

Yeah, that's why you don't have any error. I think that it's really better to enable it, because it can avoid some hidden errors (this transformer rely on type system, and if you'll have any in some places - the tool won't rename them and your build could be broken).

I think around line 129 in transformer.ts if its an element access expression and NOT a string literal throw a nice error :)

Yeah, just created https://github.com/timocov/ts-transformer-properties-rename/issues/10 for that.
So, what's we have at the end here (you need to use enabled noImplicitAny and we'll add warnings/errors in #10)?

In my project I have cases where I may use a computed property or a property that has a special character in it. It seems if noImplicityAny is turned on instead of simply doing test['salad-dressing'], I would then need to do (test)['salad-dressing'] and then run into the same issue?

I would then need to do(test)['salad-dressing']and then run into the same issue?

Any access to any type isn't modified, because we don't know whether a type is exported or not.

Isn't the type irrelevant? Only the property name, it shouldn't even be an anytype as it is just accessing the property test.salad and test[‘salad’] are equivalent
Sent from my Windows 10 device
From: Evgeniy Timokhov
Sent: Monday, June 29, 2020 10:27 AM
To: timocov/ts-transformer-properties-rename
Cc: Arthur Fiedler; Author
Subject: Re: [timocov/ts-transformer-properties-rename] Computed or Invalidproperty names (#8)
I would then need to do(test)['salad-dressing']and then run into the same issue?
Any access to any type isn't modified, because we don't know whether a type is exported or not.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Makes complete sense, so I'll slowly work my project to make everything type specific. I had given the updated code a whirl and significantly more compression/mangling occurred, however I did receive some errors when first testing the resulting code. I'm going to caulk this up as an issue with the any type issue for now without investigation, but I'll be sure to follow up when I get my code compiling with out implicit any.

However, I was looking at a few issues I might run into and I think it would be ideal if any internal/private renamings were traced some to determine if they ever run into an inconsistent type and then abort renaming and generate a warning... Here are some cases I'm thinking...
Btw the client side of my webapp project is over 2MB generated before minification so for me converting from no property mangling to property mangling and verifying everything is going to be time consuming. So some safe guards to make sure I find any potential issues at compile/transform time is going to be key.
Source
export class Direction {
    public static Top = 1;
    public static Bottom = 2;
    public static UpsideDown = 3;
}

export class Directions {
    public static fromString(direction: string): Direction {
        return Direction[direction];
    }
}

console.log("Dynamic property via method", Directions.fromString("Top"));
var direction: string = "Top"; // Could be from string
console.log("Dynamic property reference via property", Direction[direction]);
var direction: string = (<any>{ direction: 'Top' }).direction; // Could be from lets say XMLHttpRequest response
console.log("Dynamic property reference via property", Direction[direction]);
console.log("Static property reference", Direction["Top"]); // Works

// From XMLHttpRequest response without defining a type structure
var test1: string = (<any>{ direction: 'Top' }).direction;
// From XMLHttpRequest response without defining a type structure
var test2: string = (<any>{ /** @public */ direction: 'Top' }).direction;
// From XMLHttpRequest response with type structure (could be defined as test data instead of received from actual XMLHttpRequest)
var test3: string = (<{ direction: string }><any>{ direction: 'Top' }).direction;
// From XMLHttpRequest response with type structure (could be defined as test data instead of received from actual XMLHttpRequest)
var test4: string = (<{ /** @public */ direction: string }><any>{ direction: 'Top' }).direction;

Output
(function(exports){
exports.Directions = exports.Direction = void 0;
    var Direction = (function () {
        function Direction() {
        }
        Direction._internal_Top = 1;
        Direction._internal_Bottom = 2;
        Direction._internal_UpsideDown = 3;
        return Direction;
    }());
    exports.Direction = Direction;
    var Directions = (function () {
        function Directions() {
        }
        Directions._internal_fromString = function (direction) {
            return Direction[direction];
        };
        return Directions;
    }());
    exports.Directions = Directions;
    console.log("Dynamic property via method", Directions._internal_fromString("Top"));
    var direction = "Top";
    console.log("Dynamic property reference via property", Direction[direction]);
    var direction = { _internal_direction: 'Top' }.direction;
    console.log("Dynamic property reference via property", Direction[direction]);
    console.log("Static property reference", Direction["_internal_Top"]);
    var test1 = { _internal_direction: 'Top' }.direction;
    var test2 = { _internal_direction: 'Top' }.direction;
    var test3 = { _internal_direction: 'Top' }._internal_direction;
    var test4 = { _internal_direction: 'Top' }._internal_direction;
})(FC);

Issues as I see them...

Constant String variable reference as quoted property not modified

Directions.fromString("Top") isn't modified to "_internal_Top"
var direction = "Top"; isn't modified as well

When a private object is cast to an any type, I would think this should either not rename the property automatically(raise warning in verbose mode) because their could be potential undetected usages or throw an error that /* @public */ should be used

var direction = { _internal_direction: 'Top' }.direction;
var test1 = { _internal_direction: 'Top' }.direction

Can't stop renaming of private object cast to any (there isn't a super valid case for these examples, but it could happen)

var test2: string = ({ /** @public */ direction: 'Top' }).direction;
var test4: string = (<{ /** @public */ direction: string }>{ direction: 'Top' }).direction;

This works, but should it work? Because it passed through the any time (more of a misc test case)

var test3: string = (<{ direction: string }>{ direction: 'Top' }).direction;

@artfiedler

Directions.fromString("Top") isn't modified to "_internal_Top"

Yeah, it looks like a bug, but only in case of different type of direction in fromString method: it shouldn't be a string, it should be something like keyof typeof Directions.
But even in this case there is issue with this code - it's easy to access to prototype property (because keyof typeof returns it). If you don't change it, you can easily return toString  or any other function's property. So I'd say it should have a type 'Top' | 'Bottom' | 'UpsideDown' and in this case it's bug.

var direction = "Top"; isn't modified as well

The type of direction is string and we just can't understand that it's 'Top' | 'Bottom' | 'UpsideDown' and that's type is related to Direction. It's similar to previous one.

var direction = { _internal_direction: 'Top' }.direction;
var test1 = { _internal_direction: 'Top' }.direction

It's tricky and comes from TypeScript type system. The original code looks like (<any>{ direction: 'Top' }).direction. So, the first you've declared an object with property direction: 'Top'. We just don't know whether you're going to case it to something or not, at this moment it has type __type or so (TypeScript's internal) and it isn't any. Then you cast it to any and access to property direction - here we know that it's any and drop any renaming from it.
I don't even know how to identify such cases to warn about them actually.

var test2: string = ({ /** @public */ direction: 'Top' }).direction;

It looks like a bug, I'll try to fix it.

This works, but should it work? Because it passed through the any time (more of a misc test case)
var test3: string = (<{ direction: string }>{ direction: 'Top' }).direction;

It works because it renamed both direction properties to _internal_direction? The explanation is similar to the first case above.

var test4: string = (<{ /** @public */ direction: string }>{ direction: 'Top' }).direction;

The same as the first one about "late type binding".
Overall, I agree that there might be cases where it'd be better to have warnings/errors or even just work, but often we just "faced" limitation of TypeScript type system and how it works. All cases I've seen (from your examples or in my projects) could be fixed by putting types for them. Some of practices couldn't be just used due their nature (like accessing to a random object's property, using any, casting to any somewhat, etc).
Advanced optimizations require put some limitations to your project, what you can use and what can't, what can break your project easily. If you'd like you use TypeScript in JavaScript-like style (don't write types, don't specify all "inbound" and "outbound" types of variables/functions/classes), I'd say that you can't use this transformer (like you can't use google closure compiler for similar reasons - it also requires you write the code in the way it understand rather than you'd like to write).

var test2: string = ({ /** @public */ direction: 'Top' }).direction;
It looks like a bug, I'll try to fix it.

Actually it seems that it's incorrect writing JSDoc (or TSDoc?). If you write it in the following it will works as expected and won't be minified:
var test2: string = ({
	/** @public */
	direction: 'Top'
}).direction

But even in this case there is issue with this code - it's easy to access to prototype property (because keyof typeof returns it). If you don't change it, you can easily return toString or any other function's property. So I'd say it should have a type 'Top' | 'Bottom' | 'UpsideDown' and in this case it's bug.

JS is very dynamic language, which allows you doing a lot of crazy stuff, which will be grammatically correct, could be compiled with TypeScript, but cannot be easily (or even totally) optimized in any way.
As I said, advanced optimizations require put some limitations to your project. I guess that it'd be one of them. You can use enums instead, or mark this class as public to avoid it's minification.
I just tried to fix it, and there are a lot of other cases which StringLiterals we should "rename" and which shouldn't. In other hand, we need to rely on other tools (like terser) which will minify the code afterwards. And it seems that it doesn't work with random string literals, so I don't think that we should fix it either (we can't rename more than terser/uglifyes can minify).


add noWillUpdateSetState rule and tests

rule
from #341
note:

doesn't check createClass/createReactClass cases since previously mentioned those cases will not be considered
checks for UNSAFE_componentWillUpdate as well

Sweet, thank you!


chore: credit action refactor

This change is

Codecov Report

Merging #2499 (6674080) into master (b7da97e) will decrease coverage by 0.03%.
The diff coverage is 82.89%.

:exclamation: Current head 6674080 differs from pull request most recent head 1371009. Consider uploading reports for the commit 1371009 to get more accurate results

@@            Coverage Diff             @@
##           master    #2499      +/-   ##
==========================================
- Coverage   63.74%   63.71%   -0.04%
==========================================
  Files         233      233
  Lines       25834    25845      +11
==========================================
- Hits        16468    16466       -2
- Misses       7875     7885      +10
- Partials     1491     1494       +3

Impacted Files
Coverage Δ

pkg/accounting/accounting.go
59.45% <80.64%> (-0.60%)
:arrow_down:

pkg/pushsync/pushsync.go
66.30% <90.90%> (ø)

pkg/retrieval/retrieval.go
64.37% <100.00%> (+0.31%)
:arrow_up:

pkg/p2p/libp2p/stream.go
70.58% <0.00%> (-11.77%)
:arrow_down:

pkg/topology/kademlia/kademlia.go
76.10% <0.00%> (-0.29%)
:arrow_down:

pkg/topology/lightnode/container.go
96.00% <0.00%> (+2.66%)
:arrow_up:

Continue to review full report at Codecov.

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


Gnosis Goerli transaction endpoint is down

Gnosis Goerli transaction endpoint is down and causes Active Test Reward Distribution CI to fail. Switch to a multisig on another test network

@trizin are you working on this?


Fix messaging for diagnostic title

Description
When there is an invalid value passed into a service client, for example an S3 bucket name could be given a single name character for an Amazon.S3.Model.PutObjectRequest.BucketName property.
This will (correctly) trigger a code analysis diagnostic to be reported in the form of {ServiceName}1002, continuing the S3 example, S31002.
However, both the title and the description of the error message are slightly incorrect, and do not match the message of the description. I have updated both the title and the description to match the intention of the diagnostic.
Motivation and Context
By chance I happened to encounter the affected diagnostic and noticed that it could be improved.
Testing
I tested this by taking the resulting assembly, referencing it locally, and reproducing the result. I could have made larger changes to also verify via unit tests, but this was avoided because the scope of this change is so small.
Types of changes

[x] 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 change)

Checklist

[x] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have read the README document
[ ] I have added tests to cover my changes
[x] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

This was merged and released with the latest version of the SDK.


[extractor/weibo] Fix visitor request

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

ADD DESCRIPTION HERE
Fixes #8445
Fix broken extractor due to change of guest token request.
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at 8494b18
Summary
🛠🔄🗃

Fix Weibo video extraction by updating cookie handling and data access. Modify yt_dlp/extractor/weibo.py to use the correct referer and simplify the visitor_data extraction.

We're scraping videos from Weibo, me hearties
We need to update our cookies, aye
We use the final URL as referer, on the count of three
And simplify the visitor_data, heave ho

Walkthrough

Fix Weibo video extraction by updating visitor cookies logic (link, link)

Add visitor_url parameter to _update_visitor_cookies method of WeiboBaseIE class (link)
Use visitor_url as referer and Chrome version from user agent in requests to generate and run first-visit callback (link)
Simplify access to visitor_data dictionary by removing unnecessary ['data'] key (link)
Pass urlh.url as visitor_url to _update_visitor_cookies method in _weibo_download_json method of WeiboBaseIE class (link)
Use urlh.url as final URL of webpage after following redirects, which may affect first-visit callback (link)

Test cases passed on my end


Optional delimiter specification

A similar PR may already be submitted!
Please search among the pull requests before creating one.
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:
For more information, see the CONTRIBUTING guide.
Summary

This PR fixes/implements the following bugs/features

[x] Feature: Optional alternative template delimiters (#36)

Explain the motivation for making this change. What existing problem does the pull request solve?
This PR gives the user the ability to specify template delimiters that are alternative to the go defaults of {{ and }}. This is especially useful where a template contains many instances of these default sequences that are not to be interpolated/expanded by orbit, and would otherwise require potentially cumbersome escaping.
Test plan (required)
Demonstrate the code is solid. Example: The exact commands you ran and their output.
Existing test suites have been extended to verify expected behaviour.

Closing issues

Fixes #36
Checklist

[x] Have you followed the guidelines in our CONTRIBUTING guide?

[x] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran tests with your changes locally (orbit run ci)?
[x] I have squashed any insignificant commits
[x] This change has comments for package types, values, functions, and non-obvious lines of code

@gulien Hello, has this project been abandoned?

@gulien Hello, has this project been abandoned?

Hello @i-am-david-fernandez,
I’ve totally missed your PR. I’ll take a look asap.

Hello @i-am-david-fernandez,
I’ve totally missed your PR. I’ll take a look asap.


Add non-SPA preset

What problem does this feature solve?
SPA is a hot topic nowadays, but Vue works great with non-SPA. Adding Vue components to existing sites is still a very common use case for Vue. I think that adding non-SPA support isn't a big deal.
What does the proposed API look like?
The minimal set of features to implement is:

disable unique names for assets in dist (app.js would be always saved as app.js, instead of app.bad90def.js)
add dev server proxy and make the non-SPA URL configurable.
add mount point selection to the wizard (that would default to #app)

Hi @wujekbogdan,
This is how I am getting static file names for my bundles:
// vue.config.js
module.exports = {
  chainWebpack: config => {
    if( process.env.NODE_ENV === 'production' ) {
      // Make output CSS file names static
      const extractCSSPlugin = config.plugin('extract-css');
      extractCSSPlugin && extractCSSPlugin.tap(() => [{
        filename: '[name].css',
        chunkFilename: '[name].css'
      }]);
    }
  },
  configureWebpack: {
    // Make output JS file names static
    output: {
      filename: '[name].js',
      chunkFilename: '[name].js'
    }
  }
}

Hope this helps.

Hi @wujekbogdan, thanks for clarifying.
I would agree that the options provided out-of-the-box seem to be mostly SPA oriented.
As someone who works primarily with legacy projects running on Java/PHP backends the SPA scenario doesn't do it for me either -- and I constantly find myself having to reconfigure vue/webpack projects/boilerplates to generate static assets, loaded by dynamically generated pages (no index.html needed) and mounted to multiple elements on those pages.
Since I am not part of the core Vue team (just another user of the framework) I'd have to defer to someone else.

I think it has been done with the pages option introduced in 3.0.0-beta.12


GROOVY-2178 - Shell can not handle multi-line list defs

To address @blackdrag's comments on the issue, there was already some code that handles [detecting incomplete lines] (https://github.com/apache/incubator-groovy/blob/1eb37ea96428e14f0418fa003292cce9d3f94f94/subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Parser.groovy#L204-L212) and it looks like it captures all the chars referenced in the comment.  I wasn't able to replicate the problem with opened braces { so am just trying to detect (if compilation error is thrown) if there's an unmatched bracket [ or paren (.

Thanks! :+1: Nice to have this issue fixed after all those years. :)


Get mouth shapes from api

You can preview this in story book:
yarn install
yarn run storybook

Hmmm, having errors:

Trying to see I can debug it...


small RNA GO:0031048

Watch for changes to GO:0031048 - it's likely to be renamed "RNAi-dependent heterochromatin assembly" - and edit these to match:
FYPO:0000187	abnormal chromatin silencing by small RNA
FYPO:0007009	decreased chromatin silencing by small RNA
FYPO:0007225	normal chromatin silencing by small RNA
(follow-up to #3635; also see GO ticket & spreadsheet linked there)

done


Reduce dart fix memory usage by serializing analysis+fix by analysis context

We have a user report of a dart fix process taking 14 minutes and 15GB while fixing several hundred packages in one mono-repo.
None of this is terribly surprising, but we should be able to do better. @jacob314 has a great idea to serialize the analysis+fix process by Workspace/pub-package/analysis-context (which of these is the correct choice is perhaps an implementation detail). I think it was agreed that the current process gathers all of the analysis contexts in the analysis context collection, resolves each library in each analysis context, and then finds and executes fixes across all of the analysis contexts.
Serializing should certainly reduce memory pressure. I don't know if there will be much of a consequence on the duration of the task.
CC @bwilkerson @scheglov @keertip

I suspect there was a communication failure. Based on the implementation, it looks to me like we resolve and compute fixes for each library before going on to resolve and compute fixes for the next, which is what I'm guessing you mean by "serializing". If I've misunderstood the proposal, let me know.

The current approach is performing the work in serial but I believe it is not getting the memory usage benefits of doing the work in serial. Specifically it appears that elements for all contexts are kept in memory rather than just elements for a single context. The 15GB case mentioned is for a user with ~300 analysis contexts and about 1.5M lines of code. If only 1 context was kept alive at a time I would expect memory usage should be under 3GB instead of 15GB.

That makes sense. We're only creating one AnalysisContextCollection and it's holding on to all of the analysis contexts that were found, keeping them in memory for the duration.
The solution is simple: create one primary AnalysisContextCollection to find the analysis context roots, then, for each context root create a new secondary AnalysisContextCollection at that root (that excludes any child directories that are also context roots) and use the analysis context from the secondary collection. When the secondary collection is dropped (at the end of each loop iteration) the context an all of its data should also be collectable.

We might simply a bit - we don't have to explicitly exclude any nested context roots in secondary AnalysisContextCollections, just don't use them to compute fixes. An analysis context is cheap until you start pulling files and elements into it.

The only advantage I could see in excluding nested roots is that we wouldn't spend time searching inside them for additionally nested roots. The search might be a bit more efficient that way.
We could potentially write a non-public utility to create the context without searching at all, given that we've already done the searching once and know that searching a second time isn't necessary.

OK, you are right, excluding is just as simple.
Oh, if we talk about non-public utilities, we could as AnalysisContextCollectionImpl to drop an analysis context when we are not with one. Contexts live independently in the list. We don't have any sharing across them, currently.


AttributeError: module 'tensorflow._api.v1.compat' has no attribute 'v1'

this  is  a tensorflow version error?

Yup. Should be. So far, TensorFlow has worked smoothly with gpt2-client and technically, shouldn't be causing any known problems.
Could you please try to force reinstall TensorFlow (with the latest version and all)?
Hope the helps!


Using date-time in a query param does not generate a timestamp

Description
My API takes two timestamps as query parameters.
Steps to reproduce

Create a api.yaml with

openapi: 3.0.1
info:
  title: New Feature
  version: "1"
paths:
  /customer/name:
    get:
      summary: New scenario
      parameters:
      - name: timestamp
        in: query
        schema:
          type: string
          format: date-time
        example: '2023-01-12T12:53:10.16048'
      responses:
        "200":
          description: New scenario
          content:
            text/plain:
              schema:
                type: string

Run this command: specmatic samples api.yaml

Expected behavior
That specmatic creates example requests with timestamps.
Instead it generates this request (where instead of a timestamp, it is the object ID):
{
    "requestTime": "2023-1-13 0:45:23.750",
    "http-request": {
        "path": "/customer/name",
        "method": "GET",
        "query": {
            "timestamp": "in.specmatic.core.pattern.DateTimePattern@5fef2aac"
        },
        "headers": {
            "Accept-Charset": "UTF-8",
            "Accept": "*/*"
        },
        "body": ""
    }
}

System Information:

Specmatic version: 0.59.0

Additional context
It behaves similarly when trying to run it with contract tests. It seems to be some issue with how date-time is serialized.

The same happens when trying to run it with SpecmaticJUnitSupport -  the request becomes:
  Request to http://localhost:8080 at 2023-1-13 1:29:54.175
    GET /customer/name?timestamp=in.specmatic.core.pattern.DateTimePattern@372461a9&tom=in.specmatic.core.pattern.DateTimePattern@372461a9
    Accept-Charset: UTF-8
    Accept: */*

@androa Thanks for reporting this issue. The details shared by you are really helpful and I was able to reproduce the issues. Also I tested the changes in your PR and I have responded with a unit test that for the same.


Fix for issue #689

What this PR does / why we need it:
Creates a README document to run mongodb statefulset with OpenEBS storage on kubernetes cluster
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #689
Special notes for your reviewer:

Updated with changes suggested by @mahebbar


Module aware

Added mod files and support for go module libraries i.e. it can be used to test go packages using the go.mod files

I'm not sure how to correct the make file as I have not worked with the tools used.

@srikrsna Can you please provide me write access to your repo, so I could try to fix it.
My first suggestions would be to add the following to the .travis.yml, so go modules will be enabled in travis as well.
env:
  global:
    - GO111MODULE: "on"

@davidporos92 Here's the collaborator invite

Thank you!

@srikrsna I think I've fixed it 🙏

@davidporos92 Thank you. I've been using my branch. Now that this is fixed I can shift to the master.

@zimmski Please review at your earliest convenience.

Note:

This PR also fixes some issues with building the project (e.g. megachek was deprecated)

I've tested this branch locally (run make all and used the resulting binary on my own module-based go project to get myself familiar with mutation testing), it worked :+1:

I would definitely use this ! I wanted to add some mutation testing to my server app, but it didn't work with modules :'( I hope it will be merged soon !

I would definitely use this !

Mee too.

Will this be merged ?

In the meanwhile I switched to https://github.com/AntonStoeckl/go-mutesting, which works fine with modules...

Sorry for not looking at this repository in ages... it is kind of a stressful time for me. will merge this now. thanks for all the work. Will tag a new release, please let me know if everything works now as expected.

Hey Markus @zimmski, thank you very much for taking care of the PR!
Unfortunately, it's currently impossible to install your binary with go install:
$ go install<EMAIL_ADDRESS>
go install<EMAIL_ADDRESS>no matching versions for query "v1.2"
$ go install github.com/zimmski/go-mutesting/cmd/go-mutesting@latest
go: downloading github.com/zimmski/go-mutesting v0.0.0-20210610104036-6d9217011a00

Can I ask you to add the tag v1.2.0 to the release? It will make the command go install<EMAIL_ADDRESS>to work.


legend onLeave not triggered with scroll

Expected behavior
Scroll down the page while hovering over tooltip item should trigger onLeave callback
Current behavior
Scrolling down the page while hovering over tooltip does not trigger onLeave
Reproducible sample
https://codesandbox.io/s/chart-js-2-forked-zr1izh?file=/src/App.js
Optional extra steps/info to reproduce
No response
Possible solution
No response
Context
No response
chart.js version
3.5.1
Browser name and version
No response
Link to your project
No response

Happening because of this line:
https://github.com/chartjs/Chart.js/blob/1a1151b122c481d814850a001de1b2d0468fce4e/src/plugins/plugin.legend.js#L527
Whenn scrolling there is no mousemove or mouseout event.
Don't think listening to the scroll event will solve this issue since the scroll event does not pass the mouse x and y.
Don't know if this can be easily solvable since the scroll event does not seem to have any offset if I log it so you cant keep the last position in memory and calculate the mouse position.

@LeeLenaleee yes I understand this absolutely, currently, I just have to manually trigger onLeave on scroll.
One possible solution I can think of would be to save the last mouse position when onHover happens, then listen to scroll and offset the mouse position based on the scroll and then trigger onLeave based on that position.


Streamlined server startup and fixed model loading status

This patch provides:

Streamlined WaitUntilRunning method without ticker and nested loop
Updated server.cpp with the correct startup sequence; the HTTP server starts listening before loading the model and thus the model loading status is correctly reported, the /health API endpoint is excluded as well from the server logging

hi, looking forward for this fix in the release, loading status appears indeed to be corrupted sometimes

@dhiltgen
Would you look at this?

Thanks for putting this together @mann1x !
I've carried your commits in #4294 and added some additional fixes for a recent regression that snuck in.

@dhiltgen perfect, thanks!


Installation on a kind cluster

Hello,
I'm trying to use Camel K in conjunction with a kind cluster I'm running locally, are there any additional configuration steps that I need to do for this cluster type? When trying to run the example the builder is stuck initializing and the eventually times out.
Just to check, are there any pre-requisites that are not mentioned explicitly in the README that I need to satisfy before running Camel K?
Thanks a lot!

Out of curiosity, what's a "kind cluster"?

Ah, I see: https://kind.sigs.k8s.io/

Oh yeah its a new kubernetes distribution. I have not personally tried with kind yet. Vanilla kubernetes or minikube works.
Did you try installing with the latest nighty build of camel-k or was it the old RC2 build?

We do use kind in our integration tests, see:
https://github.com/apache/camel-k/blob/master/.github/workflows/kubernetes.yml

I created my kind cluster with a local registry.
Then I ran:
kamel install --registry=http://localhost:5000 --force

( If I don't run it with --registry then it prints "Error: cannot find automatically a registry where to push images" but the kamel operator pod continues to set up and reaches "Running" state. I'd expect it to fail completely and not even start but that's not the case).
After I do this I do:
git clone git@github.com:apache/camel-k.git
cd camel-k
kamel run examples/Sample.java

The output of that last instruction is:
integration "sample" created

But when I look at the pods I get:
camel-k $ kubectl get pods -w
NAME                                       READY   STATUS     RESTARTS   AGE
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1   0          3s
camel-k-operator-8d68bb8cb-np6vw           1/1     Running    0          72s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:Error   0          6s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Terminating   0          11s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Terminating   0          11s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Pending       0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Pending       0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1      0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1      0          2s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:Error    0          5s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Terminating   0          10s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Terminating   0          10s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Pending       0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Pending       0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1      0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1      0          2s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:Error    0          5s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Terminating   0          20s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Terminating   0          20s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Pending       0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Pending       0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1      0          0s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:0/1      0          2s
camel-k-kit-br79m5resvdcd21krbfg-builder   0/1     Init:Error    0          5s
...

Any help is welcome.

Did you try installing with the latest nighty build of camel-k or was it the old RC2 build?

I am using the latest nightly build.

Started using kamel from RC2.
I managed to actually get the builder pod to Run (for a bit) before it errors:
STEP 1: FROM adoptopenjdk/openjdk8:slim
Getting image source signatures
Copying blob sha256:91de130195aaf87ff518e03d3bf36f4264dc436f6a008d7144cec7230d98a2d1
Copying blob sha256:5a76b7e038d90b8112f088277d529098809f656904bdb7f200a84dcc143b4ed1
Copying blob sha256:23884877105a7ff84a910895cd044061a4561385ff6c36480ee080b76ec0e771
Copying blob sha256:2910811b6c4227c2f42aaea9a3dd5f53b1d469f67e2cf7e601f631b119b61ff7
Copying blob sha256:36505266dcc64eeb1010bd2112e6f73981e1a8246e4f6d4e287763b57f101b0b
Copying blob sha256:bc38caa0f5b94141276220daaf428892096e4afd24b05668cd188311e00a635f
Copying blob sha256:fcfaf118f7f0ce09ab2be177f6837f2a8b62ef7b41697e661fcd6c0bb09e6c40
Copying config sha256:c6938a4e7977e9b4c2be61ee0e524c273c1eef8dc53c9cd4720c243c8402146d
Writing manifest to image destination
Storing signatures
STEP 2: ADD . /deployments
STEP 3: USER 1000
STEP 4: COMMIT localhost:5000/default/camel-k-kit-br7e120nhkmmt13821n0:697
Getting image source signatures
Copying blob sha256:b7f7d2967507ba709dbd1dd0426a5b0cdbe1ff936c131f8958c8d0f910eea19e
Copying blob sha256:a6ebef4a95c345c844c2bf43ffda8e36dd6e053887dd6e283ad616dcc2376be6
Copying blob sha256:838a37a24627f72df512926fc846dd97c93781cf145690516e23335cc0c27794
Copying blob sha256:28ba7458d04b8551ff45d2e17dc2abb768bf6ed1a46bb262f26a24d21d8d7233
Copying blob sha256:11e65cd17c4515a2f98ed2816db45f4ff3e03ee7a31ee721da6f050661193243
Copying blob sha256:0e4d5b5a1cacc8f12d2f5d9ccd5210ed9dbffd437a14392e9bebf099ea5f8ddc
Copying blob sha256:cc72bf63f6258407a3ac135b7a51e063e2e879b2fcf63a9dae184e0bf461aabf
Copying blob sha256:941d16eb40eca7fcc3004cb9ef917799eff8bf9ecaf0aa1c85da144b497e5e54
Copying config sha256:4213146af381012b71665329d4050a1783c8b2d9a8d20fe0c2c5a12a9b11a956
Writing manifest to image destination
Storing signatures
4213146af381012b71665329d4050a1783c8b2d9a8d20fe0c2c5a12a9b11a956
4213146af381012b71665329d4050a1783c8b2d9a8d20fe0c2c5a12a9b11a956
Getting image source signatures
Get https://localhost:5000/v2/: dial tcp [::1]:5000: connect: connection refused
level=error msg="exit status 1"

Any ideas what might be going wrong here?

I've took notes of running Camel K with Kind and with Kind + A Local Registry. I'll open a PR tomorrow with the details for this.

I added notes about installing Camel K on Kind and they should be available on the website soon, therefore closing it.
Disclaimer: non-official documentation/steps below.
As an additional comment about the failure above. The problem Get http://localhost:5000/v2/: dial tcp [::1]:5000: connect: connection refused is likely caused because there is a problem in the script that is normally used to setup Kind with a local registry (the script available on Kind website).


Is there a way to disable security for specific endpoints?

Description
We want to be able to custom configure security on different paths. (I.e. enable/disable security entirely). As far as I understand from these discussions, this should be possible by providing an empty security-object on a operation object:

https://github.com/OAI/OpenAPI-Specification/issues/1278
https://github.com/OAI/OpenAPI-Specification/issues/1684
https://github.com/OAI/OpenAPI-Specification/pull/1886

=> It seems that overriding security on operation level does not work as intended, or am I doing something wrong here?
Expected behaviour
When I specify an empty security object on an operation object, I would expect that the application does not require authentication of any kind on this path, as the global security object is overridden.
Actual behaviour
Calling the path still requires authentication and fails.
Steps to reproduce
Specify a global security setting and override it on a operation object and call the application on that endpoint.
Additional info:
Python 3.7.3
Version: 2.2.0

As long as I understand the issue correctly, we are using this functionality already.
Perhaps you could provide content of (or a snippet of) openapi.yaml/swagger.yaml file?
Using the straightforward approach works fine by my observations:
  /custom_operation_endpoint/:
    get:
      tags: [CustomTag]
      security: []  # doing this disables the default security
      summary: Write your summary here..
      responses:
        200:
          description: Returns the result..
          schema:
            type: object
            properties:
              ...

(for reference, the usage of security is documented in https://swagger.io/specification/#oasObject)

Seems like you were right. I was able to disable security on a specific endpoint now.
Can't tell what the issue was though.
=> Thank you


[Docs] Example to create custom checkpointer

Codecov Report

Merging #51 (8fdc18e) into main (c6ab206) will increase coverage by 0.17%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #51      +/-   ##
==========================================
+ Coverage   74.10%   74.28%   +0.17%
==========================================
  Files          20       20
  Lines        1348     1357       +9
==========================================
+ Hits          999     1008       +9
  Misses        349      349

Flag
Coverage Δ

unittests
74.28% <ø> (+0.17%)
:arrow_up:

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

Impacted Files
Coverage Δ

pymarlin/utils/config_parser/custom_arg_parser.py
80.76% <0.00%> (+1.82%)
:arrow_up:

Continue to review full report at Codecov.

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


[Feature] Improvement: Add  target="_blank" while navigating to external urls

Describe the feature you'd like to request
I would like to propose an idea to add  target="_blank" while navigation to external urls sich as social media and other to improve user experience.
Describe the solution you'd like
The solution is to add  target="_blank" in anchor tags within the jsx.
Describe alternatives you've considered
No response
Additional context
No response

PR opened #198


[DOC] Fix wrong documentation for BERT custom vocab

Description
as title.
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

Found link check problems in job PR-844/4:
(line   19) broken    https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/ - 404 Client Error: Not Found for url: https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/
(line    5) broken    https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/ - 404 Client Error: Not Found for url: https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/
(line    5) broken    https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/ - 404 Client Error: Not Found for url: https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/
(line   21) broken    https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/ - 404 Client Error: Not Found for url: https://www.salesforce.com/products/einstein/ai-research/the-wikitext-dependency-language-modeling-dataset/
(line  442) broken    https://www.aclweb.org/anthology/P02-1040.pdf)[1 - 404 Client Error: Not Found for url: https://www.aclweb.org/anthology/P02-1040.pdf)%5B1
(line   92) broken    https://nlp.stanford.edu/pubs/glove.pdf)[2 - 404 Client Error: NOT FOUND for url: https://nlp.stanford.edu/pubs/glove.pdf)%5B2
(line  208) broken    https://www.bioinf.jku.at/publications/older/2604.pdf)[3 - 404 Client Error: Not Found for url: https://www.bioinf.jku.at/publications/older/2604.pdf)%5B3

Job PR-844/4 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-844/4/index.html


archive.org & web.archive.org

#41

@kyle95wm  I have just contacted the maintainer of tspprs and he'll be removing it from the list in the next update.

I will be closing this since it's been removed from the list and these domains are not present in other lists


Why no torch.no_grad() in test?

I don't know why you didn't include this on inference (also inference_mode is neither). Aren't you accumulating gradients which should be affecting the used VRAM? Maybe I am missing something?

Thank you for your interest in our work. By setting the model to eval()  mode and manually controlling the requires_grad attribute for each parameter, our code ensures that no gradient computation occurs during testing. Although torch.no_grad() is not used, the memory usage and computational efficiency are almost unaffected during testing.

Thank you, I missed this. For anyone wondering, lines 41 to 44 in test_demo.py


update link for SAP Trust Center

Description
This PR updates the currently broken link of the SAP Trust Center (points to a 404 - Not Found page) to the correct landing page.
The SAP Trust Center is now reachable via https://www.sap.com/about/trust-center/security/incident-management.html (with a /security/).
At the end of the SECURITY.md the correct link is already used.
If accepted this needs to be updated in the SECURTIY.md files of following repositories as well:

corona-warn-app/cwa-app-ios
corona-warn-app/cwa-app-android
corona-warn-app/cwa-website

@Shegox thanks a lot for that hint!


What is the best way to export spesific sheets from book to PDF?

Hi!
Thanks a lot for this great lib! You're awesome.
Can you answer What is the best way to export spesific sheets from book to PDF?

Thank you for your comment. I apologize for the late response.
From your comment, I understand that you want to export specific sheets from a Google Spreadsheet as a PDF. Is that correct?
If so, here are two approaches you can consider:

Approach 1 (Simpler Method):

Hide the sheets you don't want to export.
Export the spreadsheet as a PDF.
(Optional) Show all sheets again.

Approach 2 (More Complex Method):

Export the specific sheets individually as PDFs using a URL like this (replace {spreadsheetId} with your spreadsheet ID and {sheetId} with the ID of the specific sheet): https://docs.google.com/spreadsheets/d/{spreadsheetId}/export?format=pdf&gid={sheetId}
Merge the separate PDFs into a single PDF using this library.

I guess that approach 1 is generally recommended due to its lower process cost. If I misunderstood your comment, I apologize.

Oh! Thank you!
You undestand me correct.
I'm using the Approach 2 every time. I didn't know about the first method.

Thank you for replying. I think that if the Spreadsheet is used with multiple users, pattern 1 might be not suitable, because the sheets are hidden suddenly when the script is run.