[ISSUE #1931]duplicate doAfterRpcHooks bugfix

fix bug: doAfterRpcHooks execute twice.
What is the purpose of the change
bug fix
Brief changelog
doAfterRpcHooks only called in callback

Coverage increased (+0.04%) to 50.972% when pulling 6cee569f2b5c15ed1b5d3416552cd130f177d667 on lizhiboo:develop into b3ec283c8d9d11dab95a3f0dfc4ee9789bf53749 on apache:develop.

Codecov Report

Merging #2057 into develop will decrease coverage by 0.07%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #2057      +/-   ##
=============================================
- Coverage      45.25%   45.18%   -0.08%
+ Complexity      4220     4215       -5
=============================================
  Files            545      545
  Lines          35812    35811       -1
  Branches        4761     4761
=============================================
- Hits           16208    16181      -27
- Misses         17556    17589      +33
+ Partials        2048     2041       -7

Impacted Files
Coverage Δ
Complexity Δ

...rocketmq/remoting/netty/NettyRemotingAbstract.java
46.86% <ø> (-3.88%)
20.00 <0.00> (-2.00)

...org/apache/rocketmq/store/ha/WaitNotifyObject.java
75.00% <0.00%> (-7.70%)
10.00% <0.00%> (-1.00%)

...apache/rocketmq/remoting/netty/ResponseFuture.java
85.00% <0.00%> (-5.00%)
16.00% <0.00%> (-2.00%)

...nt/impl/consumer/ConsumeMessageOrderlyService.java
38.98% <0.00%> (-3.98%)
16.00% <0.00%> (-3.00%)

...e/rocketmq/client/impl/consumer/RebalanceImpl.java
50.19% <0.00%> (-3.59%)
33.00% <0.00%> (-1.00%)

...org/apache/rocketmq/common/stats/StatsItemSet.java
38.09% <0.00%> (-1.59%)
12.00% <0.00%> (-1.00%)

...n/java/org/apache/rocketmq/store/ha/HAService.java
67.88% <0.00%> (-0.34%)
18.00% <0.00%> (ø%)

...org/apache/rocketmq/store/DefaultMessageStore.java
55.45% <0.00%> (-0.20%)
106.00% <0.00%> (ø%)

...etmq/client/latency/LatencyFaultToleranceImpl.java
50.00% <0.00%> (ø)
8.00% <0.00%> (ø%)

... and 6 more

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 b3ec283...6cee569. Read the comment docs.


[En Garde] Added automation for personal battle outcomes.

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

Changes / Description

Character Sheet Info Roll20 Internal Use only.


The app crashes on Android when using SHA256 from System.Security.Cryptography

Tested versions
Godot Engine v4.2.stable.mono.official.46dc27791
System information
Windows 11 Pro
Issue description
When testing my app on Windows 11 Pro, everything functions properly. However, when exporting it to an Android device, it crashes.
Steps to reproduce
Simply calling SHA256 sha256 = SHA256.Create(); in the code and exporting it to an Android device will crash the app.
Minimal reproduction project (MRP)
crashSHA256.zip

This is probably the same root cause as #84559.

Thanks for the report, I'll close it to consolidate in https://github.com/godotengine/godot/issues/84559 because I think they're the same issue.
Currently .NET Android exports use the linux-bionic runtime identifier which doesn't support the JNI that is required for crypto APIs. This means that you have to provide the OpenSSL library yourself, if you are able to package libssl.so and libcrypto.so into the APK it should fix your issue.
There's a new PR that changes the way Android exports work to use the android runtime identifier instead. This allows us to use the JNI for crypto support, so it should fix the issue without having to manually provide libssl.so and libcrypto.so.

https://github.com/godotengine/godot/pull/88803


send machine hostname or user defined machine name with heartbeats

So the dashboard can separate logged time for work machines vs home machines.

Developing. Could you please check into web service if you're receiving "workplace" into json data?

Yes, we are now receiving the X-Machine-Name header and saving that per heartbeat :fireworks:


[spirv-cross,spirv-tools] support iOS triplets

What does your PR fix?
The port fails to build with iOS triplets since it generates some executables without BUNDLE DESTINATION.
The change disables add_executable usage by providing OFF to the built-in option of the project's CMakeLists.txt
The CONTROL file is converted to vcpkg.json
Which triplets are supported/not supported? Have you updated the CI baseline?
Support 4 ios triplets

arm64-ios
arm-ios
x64-ios
x86-ios

Does your PR follow the maintainer guide?
Yes

Versioning

[x] "port-version" update
[x] Update the version files in versions/

Code format

[x] Manifests

LGTM, thanks for the PR!


Unable to cast object of type 'DotSpatial.Controls.MapLineLayer' to type 'DotSpatial.Controls.MapPolygonLayer'

This issue was imported from CodePlex
uma5b3 wrote 2014-09-15 at 20:15
I'm new to GIS and Dotspatial, when was trying to build a sample application. i loaded .shp file and them then pressed vietattribute button then i got the error Unable to cast object of type 'DotSpatial.Controls.MapLineLayer' to type 'DotSpatial.Controls.MapPolygonLayer'.
Please help . what kind of file should i load into the application ? only .shp or any other, if any other is possible please give me some documents link to samples.
jany_ wrote 2014-09-15 at 22:09
What version of dotspatial do you use?
uma5b3 wrote 2014-09-16 at 08:28
Dotspatial 1.7
jany_ wrote 2014-09-16 at 10:19
Do you get this error too when you load your shapes into DemoMap and press the View Attribute button there?
uma5b3 wrote 2014-09-16 at 11:06
where can i get shape files ? Could you please tell me where can i download shape file of India and how to add pointers to the shape file.
jany_ wrote 2014-09-16 at 11:29
You can add the shapefiles you used in your own program by clicking on the "Add Layer..." button.I have no idea where you can get shapefiles of india.

@mogikanin Do you understand this issue?

No. Let's close it.


gin-cors update and Using go module instead of dep

gin-cors update to v.1.3.0
Using go module instead of dep

hi @kpacha
It's my mistake and i changed my pull request as you said. thx

hi @kpacha
Why dont u accept my pull request.

okey, thanks.


fix: try bump esbuild to 0.15.0

Making this PR to see if build even passes
resolves https://github.com/cloudflare/wrangler2/pull/1971

Oh interesting. Should manually test it but thats exciting

Yeah don't merge this, I don't trust it

GitHub: All of CI Passing
Our Team: 🤨

Lol @JacobMGEvans I mean, every other person that has tried to bump this had CI explode, and I do it, and it works? sus

Lol @JacobMGEvans I mean, every other person that has tried to bump this had CI explode, and I do it, and it works? sus

@rozenmd I'm working on wrapping up that templates PR it will give us more to run a battery of E2E tests against hopefully giving us more realistic results for things like this 😆😁

Tested wrangler dev and wrangler publish with esbuild 0.15.0, works well - @GregBrimble / @WalshyDev can I assume the fixtures would catch any breaking changes on the pages side?

You may, yes


Single-direction gutter in grids

This branch updates grids to use margin-left and padding-left to manage gutter space.
Switching to single-direction spacing fixes an issue where grids with gutters larger than the Row padding trigger layout overflow and horizontal scroll.
cc @drewbarontini @nickawalsh

:+1: from me

Should be good for most 99% of cases, but I think this'll throw off centering a single grid box.

Ah, that's a good point. Although I find myself rarely using it, it's still useful to have, and we don't want something that doesn't work in there. I wonder if there's a workaround to get the centering with this new single-direction gutter...

I was worried about the centered grid boxes, too, but it looks like that isn't an issue:
http://codepen.io/johndjameson/pen/92c9eb86e53a5d3a827750ff53a59d1f

Sweet! Well, if that's no issue, I'd say it's good to merge.


TOPGREENER Smart Mini Wi-Fi Plug with Energy Monitoring (CB2S + BL0937)

The device has been paired.
Dump attached.
dump.zip

The Tuya-Generic LSPA9-Smart-Plug-BL0937 profile should work for this device.

An update has been pushed that should include a profile for this device.  Please update your repo and give it a try.  Please see the instructions page ( https://github.com/tuya-cloudcutter/tuya-cloudcutter/blob/main/INSTRUCTIONS.md ) for any command or input changes.
If the new profile does not work, please re-open this ticket with details (including logs) of the failure.
Any feedback is appreciated.


Battery Health not plotting

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Can someone please help. I hadn't updated in a few upgrades but Battery Health and Battery Health LFP were combine and for some reason I lost data points and it's still not graphing. Prior if I were to click on Battery Health it would occasionally plot. (pic below) LFP data would plot on every charge but since has dissaperad and only see Battery Health. Someone mentioned my data base could be missing point but it still does not seem to plot new points with the latest update. Im not sure what i need to do to fix it. It seem like all other data is being recorded.

Expected Behavior
Data to be plotted
Steps To Reproduce
No response
Relevant log output
2024-07-11 18:30:57.185 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:30:57.185 car_id=11 [error] Error / :unknown,
2024-07-11 18:31:00.680 [notice]     :alarm_handler: {:set, {TeslaMate.Vehicles.Vehicle_11_api_error, :fuse_blown}},
2024-07-11 18:31:10.765 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 540 (3579.645 ms),
2024-07-11 18:31:10.766 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:31:10.766 car_id=11 [error] Error / :unknown,
2024-07-11 18:31:23.744 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 540 (2977.345 ms),
2024-07-11 18:31:23.744 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:31:23.744 car_id=11 [error] Error / :unknown,
2024-07-11 18:31:36.408 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 540 (2662.083 ms),
2024-07-11 18:31:36.408 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:31:36.408 car_id=11 [error] Error / :unknown,
2024-07-11 18:31:49.358 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 540 (2948.116 ms),
2024-07-11 18:31:49.358 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:31:49.358 car_id=11 [error] Error / :unknown,
2024-07-11 18:32:52.678 [warning] Too many disconnects from streaming API,
2024-07-11 18:32:52.678 car_id=11 [info] Creating new connection … ,
2024-07-11 18:32:52.678 car_id=11 [info] Disconnecting ...,
2024-07-11 18:32:52.687 car_id=11 [info] Connecting ...,
2024-07-11 18:34:08.048 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 408 (9117.571 ms),
2024-07-11 18:34:08.049 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:34:08.049 car_id=11 [error] Error / :unknown,
2024-07-11 18:34:27.170 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 408 (9120.604 ms),
2024-07-11 18:34:27.171 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:34:27.171 car_id=11 [error] Error / :unknown,
2024-07-11 18:34:45.501 [info] GET https://nominatim.openstreetmap.org/reverse -> 200 (441.444 ms),
2024-07-11 18:34:45.998 [info] GET https://nominatim.openstreetmap.org/reverse -> 200 (492.714 ms),
2024-07-11 18:34:46.007 [info] End of drive initiated by: %TeslaApi.Vehicle.State.Drive{active_route_destination: nil, active_route_energy_at_arrival: nil, active_route_latitude: nil, active_route_longitude: nil, active_route_miles_to_arrival: nil, active_route_minutes_to_arrival: nil, active_route_traffic_minutes_delay: nil, gps_as_of:<PHONE_NUMBER>, heading: 131, latitude: 21.305824, longitude: -157.854626, native_latitude: 21.305824, native_location_supported: 1, native_longitude: -157.854626, native_type: "wgs", power: 0, shift_state: nil, speed: nil, timestamp:<PHONE_NUMBER>667},
2024-07-11 18:34:46.007 car_id=11 [info] Driving / Ended / 13 km – 34 min,
2024-07-11 18:34:46.007 car_id=11 [info] Start / :online,
2024-07-11 18:35:55.147 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 408 (9135.583 ms),
2024-07-11 18:35:55.148 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:35:55.148 car_id=11 [error] Error / :unknown,
2024-07-11 18:36:24.280 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 408 (9130.950 ms),
2024-07-11 18:36:24.280 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:36:24.280 car_id=11 [error] Error / :unknown,
2024-07-11 18:36:53.436 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744619233578131/vehicle_data -> 408 (9155.126 ms),
2024-07-11 18:36:53.436 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:36:53.436 car_id=11 [error] Error / :unknown,
2024-07-11 18:38:00.687 [notice]     :alarm_handler: {:clear, TeslaMate.Vehicles.Vehicle_11_api_error},
2024-07-11 18:38:02.170 car_id=11 [info] Received stream data: :inactive,
2024-07-11 18:44:59.450 car_id=10 [info] Start / :online,
2024-07-11 18:44:59.464 car_id=10 [info] Connecting ...,
2024-07-11 18:46:15.807 car_id=11 [info] Received stream data: :inactive,
2024-07-11 18:47:11.583 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 408 (9145.416 ms),
2024-07-11 18:47:11.583 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:47:11.584 car_id=10 [error] Error / :unknown,
2024-07-11 18:47:40.726 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 408 (9140.629 ms),
2024-07-11 18:47:40.726 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:47:40.726 car_id=10 [error] Error / :unknown,
2024-07-11 18:48:09.867 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 408 (9140.194 ms),
2024-07-11 18:48:09.867 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:48:09.867 car_id=10 [error] Error / :unknown,
2024-07-11 18:48:34.026 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 540 (4158.350 ms),
2024-07-11 18:48:34.026 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:48:34.026 car_id=10 [error] Error / :unknown,
2024-07-11 18:48:56.984 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 540 (2956.348 ms),
2024-07-11 18:48:56.984 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:48:56.984 car_id=10 [error] Error / :unknown,
2024-07-11 18:49:00.698 [notice]     :alarm_handler: {:set, {TeslaMate.Vehicles.Vehicle_10_api_error, :fuse_blown}},
2024-07-11 18:49:20.050 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 540 (3063.975 ms),
2024-07-11 18:49:20.050 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:49:20.050 car_id=10 [error] Error / :unknown,
2024-07-11 18:49:30.933 car_id=10 [info] Received stream data: :inactive,
2024-07-11 18:49:43.251 [warning] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 540 (3200.025 ms),
2024-07-11 18:49:43.251 [warning] TeslaApi.Error / vehicle error: it is online but not responsive,
2024-07-11 18:49:43.251 car_id=10 [error] Error / :unknown,
2024-07-11 18:50:12.390 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/3744594196171087/vehicle_data -> 408 (9136.686 ms),
2024-07-11 18:50:12.390 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil},
2024-07-11 18:50:12.390 car_id=10 [error] Error / :unknown,
2024-07-11 18:50:33.037 car_id=10 [info] Suspending logging,
2024-07-11 18:53:24.015 car_id=11 [info] Received stream data: :inactive,
2024-07-11 18:53:36.564 [warning] Too many disconnects from streaming API,
2024-07-11 18:53:36.564 car_id=11 [info] Creating new connection … ,
2024-07-11 18:53:36.564 car_id=11 [info] Disconnecting ...,
2024-07-11 18:53:36.568 car_id=11 [info] Connecting ...,
2024-07-11 18:54:41.140 [warning] Too many disconnects from streaming API,
2024-07-11 18:54:41.140 car_id=10 [info] Creating new connection … ,
2024-07-11 18:54:41.140 car_id=10 [info] Disconnecting ...,
2024-07-11 18:54:41.145 car_id=10 [info] Connecting ...,
2024-07-11 18:56:00.709 [notice]     :alarm_handler: {:clear, TeslaMate.Vehicles.Vehicle_10_api_error},
2024-07-11 18:57:06.830 [info] Streaming API: Vehicle offline,
2024-07-11 18:57:06.830 car_id=10 [warning] Stream reports vehicle as offline, fetching vehicle state ...,
2024-07-11 18:57:07.002 car_id=10 [info] Start / :offline,
2024-07-11 18:57:07.005 car_id=10 [info] Disconnecting ...,
2024-07-11 19:07:34.865 [warning] Too many disconnects from streaming API,
2024-07-11 19:07:34.865 car_id=11 [info] Creating new connection … ,
2024-07-11 19:07:34.866 car_id=11 [info] Disconnecting ...,
2024-07-11 19:07:34.870 car_id=11 [info] Connecting ...,
2024-07-11 19:21:29.065 [warning] Too many disconnects from streaming API,
2024-07-11 19:21:29.065 car_id=11 [info] Creating new connection … ,
2024-07-11 19:21:29.065 car_id=11 [info] Disconnecting ...,
2024-07-11 19:21:29.069 car_id=11 [info] Connecting ...,
2024-07-11 19:37:26.089 [warning] Too many disconnects from streaming API,
2024-07-11 19:37:26.089 car_id=11 [info] Creating new connection … ,
2024-07-11 19:37:26.089 car_id=11 [info] Disconnecting ...,
2024-07-11 19:37:26.094 car_id=11 [info] Connecting ...,
2024-07-11 19:40:24.106 car_id=11 [info] Received stream data: :inactive,
2024-07-11 19:45:47.107 [info] GET /,
2024-07-11 19:45:47.115 [info] Sent 200 in 7ms

Screenshots

Additional data
No response
Type of installation
Docker
Version
1.30.0

Are your charges still being properly logged?

Do you have a LFP Battery? Did you changed your car setting in TeslaMate Webpage to LFP?

Are your charges still being properly logged?

Yes it shows charges being logged

Do you have a LFP Battery? Did you changed your car setting in TeslaMate Webpage to LFP?

I do not have an LFP battery but it was recording on LFP instead of the non lfp when it was separate.
I have 2 long range Y 2024 both the same issue.

Did you played with dashboards? If so, please do

a backup of teslamate,
stop your instance docker compose stop
delete your grafana volume docker volume ls to find it then for example docker volume rm teslamate-grafana
and restart docker compose up -d

To add a data point - I'm having the same or similar issue on a fresh install with a 2023 Long Range Y.
All other dashboards, including charging, work except for the battery health. It shows "No Data" for it's sections. The dashboard shows the alert/error: db query error: pq: invalid input syntax for type json. And in the db logs it looks like:
database-1   | 2024-08-21 17:29:42.705 UTC [8037] ERROR:  invalid input syntax for type json at character 98
database-1   | 2024-08-21 17:29:42.705 UTC [8037] DETAIL:  The input string ended unexpectedly.
database-1   | 2024-08-21 17:29:42.705 UTC [8037] CONTEXT:  JSON data, line 1:
database-1   | 2024-08-21 17:29:42.705 UTC [8037] STATEMENT:  SELECT convert_km(AVG(p.odometer)::numeric,'mi') AS odometer,
database-1   | 		AVG(c.rated_battery_range_km * (''::json -> 'RatedEfficiency')::text::float / c.usable_battery_level) AS "kWh",
database-1   | 		MAX(cp.id) AS id,
database-1   | 		to_char(cp.end_date, 'YYYY-MM-dd') AS Title
database-1   | 		FROM charging_processes cp
database-1   | 			JOIN (SELECT charging_process_id, MAX(date) as date	FROM charges WHERE usable_battery_level > 0 GROUP BY charging_process_id) AS last_charges	ON cp.id = last_charges.charging_process_id
database-1   | 			INNER JOIN charges c
database-1   | 			ON c.charging_process_id = cp.id AND c.date = last_charges.date
database-1   | 			INNER JOIN positions p ON p.id = cp.position_id
database-1   | 		WHERE cp.car_id = 1
database-1   | 			AND cp.end_date IS NOT NULL
database-1   | 			AND cp.charge_energy_added >= (''::json -> 'RatedEfficiency')::text::float
database-1   | 		GROUP BY 4
database-1   | 2024-08-21 17:29:42.705 UTC [8039] ERROR:  invalid input syntax for type json at character 157
database-1   | 2024-08-21 17:29:42.705 UTC [8039] DETAIL:  The input string ended unexpectedly.
database-1   | 2024-08-21 17:29:42.705 UTC [8039] CONTEXT:  JSON data, line 1:
database-1   | 2024-08-21 17:29:42.705 UTC [8039] STATEMENT:  SELECT
database-1   | 	  ROUND(MIN(convert_km(p.odometer::numeric,'mi')),0) AS "M-Odometer",
database-1   | 		ROUND(PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY c.rated_battery_range_km * (''::json -> 'RatedEfficiency')::text::float / c.usable_battery_level)::numeric,1) AS "M-kWh",
database-1   | 		to_char(cp.end_date, 'YYYYMM') || CASE WHEN to_char(cp.end_date, 'DD')::int <= 15 THEN '1' ELSE '2' END  AS Title
database-1   | 		FROM charging_processes cp
database-1   | 			JOIN (SELECT charging_process_id, MAX(date) as date	FROM charges WHERE usable_battery_level > 0 GROUP BY charging_process_id) AS last_charges	ON cp.id = last_charges.charging_process_id
database-1   | 			INNER JOIN charges c
database-1   | 			ON c.charging_process_id = cp.id AND c.date = last_charges.date
database-1   | 			INNER JOIN positions p ON p.id = cp.position_id
database-1   | 		WHERE cp.car_id = 1
database-1   | 			AND cp.end_date IS NOT NULL
database-1   | 			AND cp.charge_energy_added >= (''::json -> 'RatedEfficiency')::text::float
database-1   | 		GROUP BY 3

To add a data point - I'm having the same or similar issue on a fresh install with a 2023 Long Range Y.

Thanks for reporting. How many charges did you have logged with TeslaMate?
@jheredianet May I ask you to investigate the above issue? It's a fresh install, therefore I assume the user did not play with the dashboard by himself.

To add a data point - I'm having the same or similar issue on a fresh install with a 2023 Long Range Y.

database-1   | 		AVG(c.rated_battery_range_km * (''::json -> 'RatedEfficiency')::text::float / c.usable_battery_level) AS "kWh",

@07stuntar1 @bigethan have in mind that for these estimations all depends on your charges to calculate the efficiency and plot in the graph.
@bigethan  As I can see in the previous query RatedEfficiency is blank (null), it's because we only consider chargers that have the following conditions to get the rated efficiency:

duration > 10 minutes (because we need to get stable data rated, sometimes battery is cold and not enough to rate both in AC and DC)
battery level <= 95 (after that level charger is not efficient and the charging power drops a lot)

Then to plot in the graph, we only plot chargers that have kWh charged more than the rated efficiency.
@07stuntar1 as I can see in your previous screenshots your efficiency is 240 wh/mi (or 149 wh/km), so in the plotted graph you will only see your charge sessions where you added more than 14.9 kWh.

Yo only have some charge sessions with that condition, that's why they are not plotted because only charges (added kWh) greater than your efficiency is considered to have a better estimate of battery degradation and not to dirty the samples with short charges that do not allow the BMS to have a better reading of the battery cells state.

Thanks so much!
In summary, the dashboard works as expected and the error message could be improved.

To add a data point - I'm having the same or similar issue on a fresh install with a 2023 Long Range Y.

database-1   | 		AVG(c.rated_battery_range_km * (''::json -> 'RatedEfficiency')::text::float / c.usable_battery_level) AS "kWh",

@07stuntar1 @bigethan have in mind that for these estimations all depends on your charges to calculate the efficiency and plot in the graph.
@bigethan As I can see in the previous query RatedEfficiency is blank (null), it's because we only consider chargers that have the following conditions to get the rated efficiency:

duration > 10 minutes (because we need to get stable data rated, sometimes battery is cold and not enough to rate both in AC and DC)
battery level <= 95 (after that level charger is not efficient and the charging power drops a lot)

Then to plot in the graph, we only plot chargers that have kWh charged more than the rated efficiency.
@07stuntar1 as I can see in your previous screenshots your efficiency is 240 wh/mi (or 149 wh/km), so in the plotted graph you will only see your charge sessions where you added more than 14.9 kWh.

Yo only have some charge sessions with that condition, that's why they are not plotted because only charges (added kWh) greater than your efficiency is considered to have a better estimate of battery degradation and not to dirty the samples with short charges that do not allow the BMS to have a better reading of the battery cells state.

Thank you ill try and space out my charges to see how it works out.


Polyu Speed School of Professional Education and Executive Development

Polyu Speed School of Professional Education and Executive Development

Add my school Physical and Technical liceum
<EMAIL_ADDRESS>

@lokyin1026 Pull request merged. Thank you.
@NazarValko I am sorry, ukr.net does not belong to any school, it's a public email domain, thus it will never be added to this repository. If you do not have an email with which your school provided you, please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
Thank you for the understanding!


Update README.md for previous updates.

I went through all your PRs, and your changes look good. I've merged them and will be deploying a new version soon.
Thank you again for contributing!


Make dnt emit type declaration inline.

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

Comparison is base (d7c2c39) 97.57% compared to head (abf0a2b) 97.57%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #290   +/-   ##
=======================================
  Coverage   97.57%   97.57%
=======================================
  Files          35       35
  Lines        2265     2265
  Branches      217      217
=======================================
  Hits         2210     2210
  Misses         54       54
  Partials        1        1

Flag
Coverage Δ

unittests
97.57% <ø> (ø)

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

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


Base dynamic record support

This PR implements the base functionality of dynamic records in octoDNS. This is the intended replacement of geo records and will vastly improve our ability to support various "dynamic" DNS records systems.
At a high level the primary change is to break things up into (response) pools which are simply value(s) that a query can respond with. These pools are selected based on rules. The full details of the rules implementation are still in the works, but the gist is that rules are an array of "tests" to be evaluated in order against a request and a set of weighted pools to respond with when the test passes.
An example might look like, the details of weighting and fallbacks are still in flux:
real-ish-a:
  dynamic:
    pools:
      ap-southeast-1:
        values:
          # ap-southeast-1a
          - value: <IP_ADDRESS>
            weight: 2
          - value: <IP_ADDRESS>
            weight: 2
          # ap-southeast-1b
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # ap-southeast-1c
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
      eu-central-1:
        values:
          # eu-central-1a
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # eu-central-1b
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # eu-central-1c
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
      us-east-1:
        values:
          # us-east-1a
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # us-east-1b
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # us-east-1c
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
      us-west-2:
        values:
          # us-west-2a
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # us-west-2b
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
          # us-west-2c
          - value: <IP_ADDRESS>
          - value: <IP_ADDRESS>
    rules:
      - geos:
        # TODO: require sorted
        - NA-US-CA
        - NA-US-OR
        - NA-US-WA
        pool: us-west-2
      - geos:
        - AS-CN
        pool: ap-southeast-1
      - geos:
        - AF
        - EU
        pool: eu-central-1
      - pool: us-east-1
  type: A
  values:
    # Generally these should match the values of your "default" rule's pools as
    # if everything fails healthchecks they'll fallback to this
    - <IP_ADDRESS>
    - <IP_ADDRESS>
    - <IP_ADDRESS>
    - <IP_ADDRESS>
    - <IP_ADDRESS>
    - <IP_ADDRESS>

The implementation allows dynamic support to extend to CNAME records (and in theory any other record type) which gets past the geo record's limitation to only A and AAAA.
Obviously this functionality depends on provider implementation. This PR will not implement any provider support (beyond YamlProvider) and that work will happen in subsequent PRs once this has shipped.
TODO:

[x] Work out the final details of weights and fallbacks
[x] Implement more robust parsing and handling of pools and rules
[ ] Review and discussion of the PR

/cc @github/traffic
/cc @yzguy
Related issues
/cc https://github.com/github/octodns/issues/49 @dolvany which was about healthchecking non-Geo records which I believe this will support as a use case via pool fallback (it won't help with the wider importing/dumping of random configs there
/cc https://github.com/github/octodns/issues/62 @vanbroup for geo-dns support for CNAMES

Pushed up the PR feedback bits this morning and a minor addition of Geo code validation that fits nicely into this branch and does something I've wanted to have since the beginning, actually validate the geo codes are real values. This will come further into play as the providers get implemented as Dyn will need some intelligence with geo codes that previously wasn't necessary and was going to be "too" much to pull off without this data being available.

Did some local "real world" testing with this as well and it didn't try and plan any changes so it seems good there. Going to merge. As of now it's still undocumented and things should continue to use geo. I'm going work on getting complete and tested support for DynProvider first at which point I may declare it beta. Route53Provider support will follow, probably in January. From there I may look at implementing others if their model/api seems straightforwardly compatible.


⚠ Bofrost.de has degraded performance

In 183f2e1, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1264 ms

Resolved: Bofrost.de performance has improved in 0f62205 after 13 minutes.


Use the UsageFlags from TCGC directly in our emitter

Fixes https://github.com/Azure/autorest.csharp/issues/4820
Fixes https://github.com/Azure/autorest.csharp/issues/4734
Description
This PR let our models to use the usageFlags from TCGC directly. Since the usage flags from TCGC is a bitmap which is a number, if we do nothing, the serialized tspCodeModel.json will have usage properties with integer values, which is not quite readable.
Therefore an additional change is that I added a replacer to replace the number value usage to string during serialization.
We could use similar way in the future to remove the __raw when we want to directly use the models from TCGC to serialize.
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

Superseded by https://github.com/Azure/autorest.csharp/pull/4917


MeroB4

confirmed:B4
address:4rcCR5GHrEHkXbZGx6KmHUszhfRyEXmphVXYtB655Q5Jh3VsLF
baker:797

confirmed:B4
address:4rcCR5GHrEHkXbZGx6KmHUszhfRyEXmphVXYtB655Q5Jh3VsLF
baker:797


Discriminated union doesn't work with non English type constructor names

I opened an issue in visualfsharp repository but apparently I should've opened it here since it concerns the parser. so here it is.
Discriminated union doesn't work with non alphabet string (e.g., Korean string 개수).
Repro steps
Provide the steps required to reproduce the problem

Type in the following
type some-type =
| 개수

Expected behavior
Should compile. Korean language doesn't have uppercase/lowercase distinction so it should just work with any Korean string.
Actual behavior
Error code FS0053 (Discriminated union cases and exception labels must be uppercase identifiers) emitted on VS 2017
Known workarounds
Prefixing the string with uppercase English letter works. e.g. U개수
Related information
Provide any related information

Windows 10
4.1
VS 2017 Community

From what I've gathered in that thread, adding a set membership test to see if a script is a character in the languages that have lowercase/uppercase distinction would solve the issue IMHO.

This seems to fail for most? languages.
 Expected incomplete structured construct at or before this point, ';', ';;' or other token.
A work around for everything but tibetan is the extremely dumb prepending of any capital english letter.
type AWuWei = A无为;; //Works (Chinese)
Joke option.
type 💩 = string;; //Works (???)

U+0F0B should probably be excluded since it separates syllables instead of words.
tibetan mark intersyllabic tsheg (U+0F0B)

@hmnjeon You opened it in the right place originally. closing this one


fix: #664 Handle URL-encoded cookie values

Summary
Fixes #664
Cookie values are often URL-encoded. In Rails, for example, there is no way to opt out of url-encoding cookies. So this code in the docs does not work.
Checklist

[x] Does your PR title have the correct title format?
Does your PR have a breaking change?: no

@kwalker3690 any chance someone with write access could approve and merge this fix in the near future? 🙏 😊

Hi @dajinchu, Amplitude Experiment Ruby SDK encodes cookie values with URL encoding first and then base64 the same as Amplitude Browser SDK. I confirmed that they should work well with each other.
In your example, it's been url encoded twice rather than not been URL encoded.

Fixed flow, proves what is broken:
Manually set an Amplitude cookie in your browser, with a value that has not been URL encoded, for example AMP_1310df2f88=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJkZDU1YjIxNC0yNmY1LTQ5OTAtYjFiZi0zNTkzYTIxOTJlNDIlMjIlN0Q= <-- ⚠ notice the = is not encoded into %3D here

btoa(encodeURIComponent('{"deviceId":"dd55b214-26f5-4990-b1bf-3593a2192e42"}'))
// 'JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJkZDU1YjIxNC0yNmY1LTQ5OTAtYjFiZi0zNTkzYTIxOTJlNDIlMjIlN0Q='

encodeURIComponent(btoa(encodeURIComponent('{"deviceId":"dd55b214-26f5-4990-b1bf-3593a2192e42"}')))
// 'JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJkZDU1YjIxNC0yNmY1LTQ5OTAtYjFiZi0zNTkzYTIxOTJlNDIlMjIlN0Q%3D'

Hi @dajinchu<EMAIL_ADDRESS>is released with more logs in the catch block. Please upgrade to the latest version to get the exact error when it breaks.

Amplitude Experiment Ruby SDK encodes cookie values with URL encoding first and then base64 the same as Amplitude Browser SDK

@Mercy811 they do, you're right.
But then rails URL encodes that base64 again when it responds with a Set-Cookie header. To my knowledge there is no workaround in rails to avoid this on server-side.
Here's an example:
  def persist_device_id_in_cookie(cookie_name, device_id, country)
    cookies[cookie_name] = {
      value: AmplitudeExperiment::AmplitudeCookie.generate(device_id, new_format: true),
      domain: ".our-domain.#{country.host_tld}",
      httponly: false,
      secure: false
    }
  end

Although the base64 returned by AmplitudeCookie.generate is perfectly okay, the rails framework then outputs the following Set-Cookie header:
AMP_56feca8084=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI1ZTMzMzc2OC1iZmI2LTQ2MjQtYWIwMS03N2I3ZTE3ODU2NDclMjIlN0Q%3D; domain=.our-domain.fr; path=/; SameSite=Lax; secure

And sure enough, with<EMAIL_ADDRESS>:

Hi @jeremyallison, cookies are automatically URL encoded by the cookies helper for example, cookies[:user_name] = "John Doe". But it looks like there are ways to manually set cookies, for example https://api.rubyonrails.org/v4.0.1/classes/ActionDispatch/Response.html#method-i-set_cookie

@Mercy811 we are actually using Rails v7.1 : https://api.rubyonrails.org/classes/ActionDispatch/Cookies.html
Same syntax as in the Amplitude Experiment documentation. The set_cookie method is quite old (v4.0.1), it doesn't exist anymore in modern versions of Rails.
I think the most straightforward way to see this issue is the way @dajinchu explained it; the example in the official Amplitude Ruby gem documentation unfortunately cannot set a cookie that the TS @amplitude/analytics-browser can read.

Hi @jeremyallison, examples in https://api.rubyonrails.org/classes/ActionDispatch/Cookies.html show that cookie values are not automatically url encoded.

# Sets a simple session cookie.
# This cookie will be deleted when the user's browser is closed.
cookies[:user_name] = "david"
cookies[:user_name]           # => "david"

Another example also shows the same https://www.geeksforgeeks.org/how-to-set-cookie-in-ruby-on-rails/.
Could you

update to<EMAIL_ADDRESS>which supports logs for cookie storage
Share your code snippet to set cookies
Share your website or a screenshot of cookies (DevTools -> application -> cookies)

Hi @jeremyallison<EMAIL_ADDRESS>should handle double url encoded values properly.

Thank you very much @Mercy811 ! 🙏


Unknown props in Tooltip

Encountering unknown props warning when wrapping a component like FontIcon with Tooltip

Was able to reproduce:
Unknown prop 'theme' on <span> tag. Remove this prop from the element. For details, see https://fb.me/react-unknown-prop

This is not really an issue but a side effect of how Tooltip is implemented. It happens the same with Ripple. In order to be able to pass just one theme to a component which is decorated with Tooltip or Ripple, we need to reuse the theme object. This way any component implementing a tooltip can be customized including tooltip theme properties in the top passed theme.
The only way to make this work is to always pass down the theme so if you spread the given props in a div elemenet you'll get the warning. The best way to deal with this is to wrap your div in a component that swallows the theme prop and spread the rest.


[backport] Fix typos in zeros and zeros_like

Backport of #1357

Jenkins CI test failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)


Try to provide more information when engines die

I have a few tasks dying during runs, but I have no idea why, because all I get is their hash ID. This is problematic because I don't know what happened on the node that failed, in fact I don't even know which process on which node died.
I'm not sure it is technically doable, but I'm opening an issue for reference.
When this occurs, restarting the pipeline is not possible due to bug #642.

Hi Luca, closing this out because it is pretty old and we don't really have a clear path to making it better. I think we just have to live with this one. Thanks!


Move setup to class initialization. Create Welcome class programatically.

Discussion in exercism/pharo#97

For initial testing, if you load this PR into an image that already has the ExercismManager class, I believe the class initialization won't trigger.  You'll need to manually run ExercismManager initialize.
Final testing should be in a fresh image and it should run automatically with...
 baseline: 'Exercism';
 repository: 'github://exercism/pharo:master/dev/src';
 load.```

Here is a recipe to test the class initialization loading this PR (actually its source branch) into a fresh image.  In Pharo 6.1...
Downloaded http://files.pharo.org/platform/Pharo6.1-win.zip
Updated Iceberg per https://github.com/pharo-vcs/iceberg#update-iceberg
Iceberg

Settings > Use custom keys = Enabled
Add > Clone remote repository
Remote URL = git@github.com:exercism/pharo.git
==> "pharo" repo appears, status "Not loaded"
"pharo" repo > Repository > Add remote
Remote-Name=ben; Remote-URL=https://github.com/bencoman/pharo-exercism.git
==> "ben" appears under "Remotes"
"ben" > "welcome-setup" > Checkout branch > Checkout
==> Branches > "welcome-setup" appears,
and back in main Repositories window Branch=welcome-setup
"pharo"(welcome-setup) > Packages > "ExercismTools" > Load
==> TaDah! Class "Welcome" has been created under package "Exercism"
and "ExercismTools" package is clean.

IIUC the development environment is not loaded. In a completely fresh Pharo 61 image, doing only this....
Metacello new
 baseline: 'Exercism';
 repository: 'github://bencoman/pharo-exercism:welcome-setup/dev/src';
 load.

ends up looking like this...

which I presume from the INSTALLATION instructions replicates how a student loads Exercism.

It’s not quite the same - the command line version (which I expected windows to also support - but sadly isn’t quite there with zero conf ) opens a system browser with Welcome selected (although not the comment pane with details, selected).
This is why I hadn’t used class initialize (it seemed a bit risky), and also I wasn’t expecting the dev mode (when creating exercises) to do this and pollute proper exercises with Welcome.
However - a lot changed as I developed it, and we ended up with exercises all in an Exercism package which we then export to exercism git. Hence me now wondering if we might be able to do something less clever and overlay packages somehow (but it gets tricky - as we’re not trying to teach people iceberg or metacello , we just expect them to be familiar with exercism). In effect we are sort of automating the first load of an exercise to demonstrate how it looks and also give you something to right click on for the exercism menu.
I’ll try and get a photo for you to show it now on OS X - as it might not have been so obvious for you.

The startup looks like this on OSX (well close, as this image has a solution defined and I had also loaded another example - but it gives the idea.

How about doing the welcome with the Help system. e.g. "WelcomeHelp open"
When the student tools are loaded we could pop up our custom WelcomeExercism page.

Reference List for discussing options to bootstrap students to use ExercismTools
(edit this entry to append any more you think of).

Evaluate Playground code + manual initialize Metacello .... load.  ExercismManager welcome
Evaluate Playground code + auto initialize Metacello .... load.
Use Pharo Catalog + auto-initialize World menu > Tools > Catalog Browser > "Exercism" > Install stable version
Link to our own "Exercism Image" built by CI

Regarding creation of the "Exercism" package to provide the Exercism-Menu.  I don't see any risk in doing this in the class-side initialize. To deal with the package being deleted by a student, it could be reinstated from the instance-side initialize of ExercismCommand (currently this is done at the top of ExercismDownload>>installExercise).
Also, maybe we could add a trimmed down Exercism-Menu to the ExercismTools package to just do "Fetch".

Considering complete newbies, the priorities are: QuickStart, Simplicity, Reliability.  My evaluation...
[2.] Catalog could be nice, but adds a dependency on SmalltalkHub which has varying reliability.
[3.] Own Image might provide the most reliable quick-start, but more effort for us to maintain.
[4.] PharoLauncher adds a level of complexity and dependency ==> less quick-start.
[5.] Help Integrated would be very nice, but long term
[1.] Playground code minimizes dependencies ==> reliable. Also immediately shows how evaluated code can modify the environment.
So for the moment I prefer [1.], maybe [3.] later.  Along those lines, for the first exercise only (i.e. for HelloWorld) I'd like our walk through instructions to show the Download/Submit from Playground (and thereafter from the GUI) - just to showcase this aspect of Pharo's uniqueness.

#1 is effectively what the Pharo track docs say - and is my preferred suggestion. However - to be more like other languages, I wrote our docs to do this from the command line (which i think is better).
Even with all the windows troubles - you can still run command line instructions for windows (even if it doesn’t do zero conf). Can we just update the instructions for windows about how to download Pharo and then give the same command line instructions?
It makes us look just like other environments and you also don’t have explain how to execute playground code etc when people are just getting started.
We should introduce those concepts through the exercises. That is the exercism way (in my mind). We educated by discovery,

Reviewing this one - I can't see how this would work if you have a user
(default) baseline and dev baseline for the use of #initialize? As
initialize will always run, and you don't want it to for the latter case.
I think programmatically creating welcome for user's is fine (which has
the side effect of creating the Exercism package that users can then load
exercises into). So I like that suggestion (vs. the slightly hacky move we
do now.
However in the dev baseline - you don't want to end up committing Welcome

Another reason why I wanted split repos:

dev/execrises
user/tools

(this is why the command line instructions invoke #welcome as part of the
loading instructions - which aren't the same for dev mode). Rather than try
to detect what baseline is being loaded and being too magical, why don't we
keep it that way - and as per my previous comments about loading on Windows

we just get all users to load the initial baseline from the command line
the same way (v.s. linux/osx users do command line and windows users do
something else).

My take is that the Exercism community love the command line - and we can
embrace it too, until users understand that Pharo is a kind of fancy repl
itself once they dig in.

We differ views slightly here.  Mine is that the Playground provides a the
"command-line" equivalent experience people want.  My aim with having the
ExercismCommand hierarchy is to demonstrate early that Pharo IDE is "not
just an IDE" -- its "different" so get curious.
But anyway, my thinking has moved on from this.  I think we don't need the
Welcome class at all, since...

the welcome info will be better presented in a Help file - I'll submit an
example PR for discussion.
safer for every ExercismDownload to create the Exercism package if it
doesn't exist, as currently happens
instructions for first exercise download "Hello-World" can be done
through Playground to demonstrate early on our command-line-like facility
the ExercismTools package can provide the identical menu as the Exercism
package before that is created

...so I will close this issue.


Xcode 10 support, passing build args to cordova

When attempting a corber build --platform=ios --environment=development on macOS Mojave v10.14.1 (Xcode v10.1), I am getting the following error:
error: archive not found at path '/path/to/my-project/corber/cordova/platforms/ios/my-project.xcarchive'
** EXPORT FAILED **

In the ios build directory, I can see that there is indeed no .xarchive file generated.
Some searching lead me to this SO answer:
https://stackoverflow.com/a/52400072/192694
But im not sure how (or if its possible) to send additional cordova-only build args via corber build. I tried the following:
corber build --platform=ios --environment=development --buildFlag="-UseModernBuildSystem=0"

and
corber build --platform=ios --environment=development -- --buildFlag="-UseModernBuildSystem=0"

But neither have any effect. Is this the correct solution, or does corber/cordova already support Xcode 10, and this is a different issue?

disregard, was able to resolve this by enabling the "Legacy Build System" as my default preference directly in Xcode.

Do note that this can be done without monkeying around Xcode directly, too — add it to corber/cordova/build.json, and commit that to version-control. Ours looks something like this:
{
    "ios": {
        "debug": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "<TEAM ID>",
            "packageType": "development",
            "automaticProvisioning": true,
            "buildFlag": [
                "-UseModernBuildSystem=0",
                "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
                "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
                "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
            ]
        },
        "release": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "<TEAM ID>",
            "packageType": "enterprise",
            "automaticProvisioning": true,
            "buildFlag": [
                "-UseModernBuildSystem=0",
                "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
                "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
                "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
            ]
        }
    }
}


Adding native encoders

Adding the browser's JPEG & PNG encoders. Also added file size indicator.
Things are getting interesting now! This shows how much better MozJPEG is than Chrome's encoder. I also leaned that Chrome's PNG encoder is better than OSX's screenshot tool.
I'll make a PR for adding WebP too, but I'll need to figure out a way to feature test that.

Going to split this into two PRs. Stand by.

It's now split.


Vnext engine

Proposed changes
There is an SVN error when trying to run the Dockerfile for vnext-engine and maybe this fixes it.
Related issues (optional)
Fixes #1384

Don't merge, it doesn't fix it...

OK, this fixes it. We'll need to cherry-pick this to master just to get the comments for guidance.

Amended to try to address the failed build.

Still no :(

I'm really confused about this. @thaJeztah do you have any ideas?

I think this is fixed now! Merging.


Height fix

Provides a class to all panel's who establishs a minimum height of 600px. This is an improvment over the current state of heights in the dashboard, but in the future a dynamic sizing solution will be optimal.

on my laptop screen, the summary is a little longer than the other 2 panels.
Flux Notes Fixed Height Issue Screenshot.docx

The change sets a minimum height, but if the panels overflow beyond that the white will stretch accordingly. Fixed the height to be greater in hopes of avoiding this.

I guess it's ok for now if we can't just set it to 100% or 720 whichever is lower? On my latop screen it now scrolls. Demos usually can't use large screens so I think having it look good on a laptop makes sense.

(I mean demos over skype of course which I think we'll need to do)

It looks good on my end on my laptop screen.

I think the scrolling is necessary on a laptop no matter what we do for this, since the data summary seems to take up >= 700px no matter what.
The fact that it doesn't look good in some environments will happen no matter what since we're implementing a sub-optimal solution. I can agree that we should build for what we think will make the demo best, and if we think that means making the height 100% or 100vh I'm fine with that. Just let me know what you want to see in order to put the PR through.

Cheers,

Dylan

N.B. the scrolling issue will likely disappear if we implement a hidden right panel that we can pull out -- that'll free up plenty of real estate.

ok. I'll merge this as best for now then and we'll wait for that final solution. If we have issues during demos, we can always create a new item to address it

oh I think I may have been zoomed in and that's why it needed scrolling! Sorry. my bad. It's probably good the way you have it for demos.


Capture Still action and feedback

Add the action to Capture Still and delete a Still from the Media Pool. Also feedback on where the still was deposited (which media pool slot/index) when captured. Being able to delete a particular still would help use the limited media pool in the Atem Mini products.
These ATEM Mini module action would help in making my workflow easier. I use a chroma keyed still over a live feed to see a cutting tool inside a wood turning hollow vessel. With Companion I hope to make this setup a one button push to capture still, put the still in the media player, chroma key the still over the live feed and use that to hollow my woodturnings on my lathe.

This is mostly possible, except there isn't a way to know which slot the still was captured into. This needs some thought on how to figure that out, as the atem doesn't tell us this.
I am thinking that it would be worth testing out if it is good enough to track what the last 'uploaded' still was. This will be incorrect after reconnecting to the atem, but is probably the best we can do

Thanks for addressing this action. It would be useful to me and many other woodturner. I am sure it would apply to many other productions.

ATEM Switchers SDK
<IP_ADDRESS> IBMDSwitcherStills::IsValid method
The IsValid method returns the validity of a still. A valid still can be downloaded and used by the media player.
So it appears that if one would loop through the stills, the first invalid one is the place to upload.
Alternatively, the Companion module implementation of the Capture Still functionality could have a parameter added: 'I want the still to captured into slot 12 and overwrite any existing'. Combined with a Stream Deck page to bring a specific still (20 buttons) to a Media Player and set it to Preview, which will be needed anyway to show it, users can select where to capture.

The other option would be if the ATEM could capture a still to a specific slot. I have a similar need for this but the capture still command in the ATEM software captures to the next available slot so I pick a number e.g. 21 and then make sure there is something in all the slots up to 20. Then you know which slot will be the first 'empty' slot - i.e. 21 in this case so then I can recall. I then have a variable which is indexed each time I save the slot so the actions move to the next slot which will now be empty - i.e. slot 22 etc. Would be better if we could either know the next empty or specify which slot to capture to.


Investigate <IP_ADDRESS> IP addresses in API  Azure logs

Figure out where IP addresses are getting filtered and provide path to resolution so IPs are logged.

To anonymize IPs in Azure logs and make it a scriptable, portable process, you can follow these steps:

Identify the Log Sources
Determine which Azure logs contain IP addresses (e.g., Azure Monitor, Application Insights, Azure Activity Logs, etc.). Use Azure Monitor or KQL (Kusto Query Language) to query the logs and identify fields that contain IP addresses.
Set Up Azure CLI or Azure SDK
Use the Azure CLI or Azure SDKs (Python, PowerShell, etc.) to interact with Azure resources programmatically.
Fetch Logs Programmatically
Query Azure logs using Azure Log Analytics.

Example in Python using the Azure SDK:
python
Copy code
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient

credential = DefaultAzureCredential()
client = LogsQueryClient(credential)

query = "AzureActivity | project IPAddress, OperationName"
result = client.query_workspace(
    workspace_id="<Workspace-ID>",
    query=query,
    timespan=("P1D")  # Last 1 day
)
for table in result.tables:
    for row in table.rows:
        print(row)

Anonymize IP Addresses
Replace IPs with hashed or obfuscated versions (e.g., using a script).

import hashlib

def anonymize_ip(ip_address):
    return hashlib.sha256(ip_address.encode()).hexdigest()

ip = "<IP_ADDRESS>"
print(anonymize_ip(ip))

Store or Forward Logs
Decide where to store the anonymized logs (e.g., Azure Blob Storage, another log system).
Use tools like az storage for scripting log uploads to Azure Storage.

Automate and Schedule
Package the script in a container or Azure Function for automated execution.
Use Azure Logic Apps or Azure DevOps pipelines to schedule and manage execution.

Search for Specific IP Addresses
For IP lookup, use KQL queries in Log Analytics, filtering by known IPs:

AzureActivity | where IPAddress == "<IP_ADDRESS>"

Creating a sample end-to-end Python script or guidance on using specific Azure CLI commands.
Here’s an end-to-end Python script that anonymizes IPs from Azure logs and searches for specific IP addresses. It uses the Azure SDK for Python.
###Setup
Install the required Python packages:
pip install azure-identity azure-monitor-query

Ensure you have an Azure Active Directory (AAD) application registered and assigned the necessary permissions to read Azure Monitor logs. Set up an Azure Log Analytics workspace and note the workspace ID.

Script
import hashlib
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient

# Function to anonymize IP addresses
def anonymize_ip(ip_address):
    """Hashes an IP address to anonymize it."""
    return hashlib.sha256(ip_address.encode()).hexdigest()

# Function to query logs and anonymize IPs
def fetch_and_anonymize_ips(workspace_id, query, timespan="P1D"):
    """Fetches logs from Azure and anonymizes IP addresses."""
    # Authenticate using DefaultAzureCredential
    credential = DefaultAzureCredential()
    client = LogsQueryClient(credential)

    # Run the query
    print("Querying Azure logs...")
    result = client.query_workspace(workspace_id, query, timespan=timespan)

    anonymized_results = []
    for table in result.tables:
        for row in table.rows:
            # Assuming the IP address is in the first column
            original_ip = row[0]
            anonymized_ip = anonymize_ip(original_ip)
            anonymized_results.append((anonymized_ip, *row[1:]))

    print("Logs fetched and IPs anonymized.")
    return anonymized_results

# Main execution
if __name__ == "__main__":
    # Replace with your Log Analytics Workspace ID
    WORKSPACE_ID = "<YOUR_WORKSPACE_ID>"

    # Replace with your KQL query (this one looks for IPs in AzureActivity logs)
    QUERY = "AzureActivity | project IPAddress, OperationName, TimeGenerated"

    # Fetch logs and anonymize IPs
    anonymized_logs = fetch_and_anonymize_ips(WORKSPACE_ID, QUERY)

    # Save anonymized logs to a file
    output_file = "anonymized_logs.csv"
    with open(output_file, "w") as f:
        f.write("AnonymizedIP,OperationName,TimeGenerated\n")
        for log in anonymized_logs:
            f.write(",".join(log) + "\n")

    print(f"Anonymized logs saved to {output_file}.")

Customizing the Script

Replace <YOUR_WORKSPACE_ID> with your Azure Log Analytics workspace ID.
Modify the QUERY to suit your specific log structure.

Running the Script
Run the script:
python anonymize_azure_logs.py ;

Results

The anonymized logs are saved in anonymized_logs.csv.
You can further enhance the script to:
a.  Search for specific IPs.
b. Automate uploads to Azure Storage or another destination.

The objective for this Issue is now achieved and we can reopen it to further evaluate options to deal with the problem at hand or track the actual implementation in a separate trackable effort.


Loading chunk pages/_lang/OTC/Advertise/index failed

Version
v2.0.0
Reproduction link
https://github.com/nuxt/nuxt.js/issues/4089
Steps to reproduce
Jump into a new page.
What is expected ?
Normal use of pages
What is actually happening?
error: _nuxt/pages/_lang/OTC/Advertise/index.js

This bug report is available on Nuxt community (#c7951)

@516310460 please provide a reproduction on codesandbox or github repo with steps to reproduce, otherwise its impossible to say anyting from your description

Chiming in here, as I'm also experiencing a similar issue in regards to chunk error messages in production. After deployment of new code, I have to force cache clears for the error to disappear.


Update CONTRIBUTING.md

Changed security distro email to<EMAIL_ADDRESS>

I was not able to confirm .tech alias works for this group. We should keep .io until security email is no longer depending on protocol.ai infra.
I'll sync with @mishmosh and get back to this once resolved.

Apologies for not providing more context here in January, this was following a conversation with @AnomalRoil in Jan '24 that the .io domain was facing issues with denylists because of the IPFS gateways


Added Deep vs Shallow Copy Tutorial

Added Readme
Added DeepCopy and ShallowCopy
Added Unit Tests

[Draft Article]

Updated Projects;


backdoorLnkMacro Stager

I've been running into 'next-gen' endpoint security controls much more regularly on client engagements recently.  Many of these controls monitor process execution and look at parent processes for anomalous activities (ex. child processes spawning out of an office process).  This combined with application whitelisting was stopping many traditional methods of initial compromise that have been go-to’s in the past, such as using macro-enabled office documents to launch other processes, either directly through a powershell call or loading & executing a remote file (such as methods that utilize regsvr32 or similar functionality).
As a basic bypass to these security measures that doesn’t require prior admin access and as an alternative to shellcode injection methods (which can sometimes trigger AV), I've created a new stager that splits the process of getting a shell into two parts.  During the initial macro run, no child processes are spawned.  Instead, the macro uses vbscript functionality to backdoor targeted shortcuts on the user's desktop (by default targeting ie, chrome, and firefox), re-writing them to do a direct run of powershell the next time the user opens any modified shortcut.  The next time the user clicks on a backdoored .lnk file powershell.exe is called in place of the original target, first opening the original target executable, then cleaning all detected backdoors from shortcuts, and finally using a download cradle to pull an aes 128 encrypted block from a pre-configured remote web server.  When decrypted, this block contains an empire launcher that is then invoked, giving a full agent connection back.  Due to the inherent persistent nature of this vector, a kill date (selected during generation of the macro) is also included in the powershell code, after which the code will still function to open the original target executable and clean all backdoors, but will no longer attempt to download code from a remote server.  The macro itself is designed to attempt to be stealthy, with randomized variable names and strings used by the macro embedded in cells of the accompanying XLS document.
In order to attempt to evade detection and have as small of an on-disk footprint as possible, all logic for the backdoors is stored within the arguments of modified .lnk files, meaning the initial macro doesn’t have to write any values to the registry or additional files.  However, due to this the script is constrained to a maximum length of 1024 characters (the maximum argument length for .lnk files in Windows).  Although workarounds exist to bypass this limit, during testing it did not appear possible to do so from within the confines of the VBScript macro.  This is also why I did not simply just include a full empire stager in the backdoor, as space constraints would not allow it.
Based on this maximum length of 1024 characters, there are several known limitations that exist currently.  Foremost, it was not possible to base64 encode the backdoor, as this significantly increases the length of the script.  Randomized capitalization has been used, but the backdoor itself is still in plaintext.  Secondly, it was not possible to use the standard System.net.webclient cradle that the empire launcher utilizes due to the aforementioned space issues.  In its place, I’ve used a much less verbose xml.xmldocument.load method (credits @subTee).  While proxy-aware by default, it makes a very simple outbound http connection that doesn’t offer nearly the customization options of net.webclient.  This means that a number of http headers, including user-agent, are not configured in the request, potentially leading to connectivity issues if networks are performing outbound filtering based on user agent (ex. only allowing outbound http traffic originating from certain browsers).  Although this has not been an issue during any client engagements on which I have used this stager, and it does not appear to be a commonly applied setting (per my experience in testing), it may present periodic issues when the setting is configured.
As a workaround to this shortcoming, I’ve found that it is possible to utilize an IE COM object (credits @harmJ0y) to remotely obtain the second stage payload (using an html in place of an xml).  Since this method utilizes internet explorer it is inherently proxy-aware, and the http connections it makes have all expected headers, including user-agent.  However, this method also has its own shortcomings – the IE COM object does not appear to function appropriately without office installed on the endpoint.  Although the two seem to be unrelated, it appears as though the installation of office adds dll files necessary for proper functionality.  Furthermore, it is also one additional process that is spawned during execution.
The current length of the code dropped into .lnk file arguments (when used with default options) ends up sitting around 790 characters, and when the IE COM object is used this number ends up sitting around 860, meaning that there is a slack of ~160-230 characters before hitting the maximum value of 1024.  This slack is required in order to account for both a possibly longer URL and longer target executable path, as both of these are variable in length based on configured options.  Currently I have variants of this stager that use both the xml.xmldocument and IE COM object methods, and can update the code accordingly based on feedback on which is preferred.  Any recommendations / improvements on the code or methods I’m using are welcome.

@G0ldenGunSec I went ahead and tested this out. Unfortunately I don't receive any call backs after executing the macro.

The callback doesn't occur directly after the macro run.  Rather, running the macro backdoors targeted shortcuts on the desktop.  The callback occurs after the user clicks on a backdoored shortcut.  To clarify - did you not get a callback after both running the macro and clicking a backdoored shortcut?    If so, would you mind letting me know if the shortcuts are appropriately backdoored (right clicking on the shortcut and going to its properties should show it now pointing to powershell.exe).  I ask as I've pulled and tested directly off this branch and had it run without issue.

@G0ldenGunSec Lol I'm sorry I misunderstood your PR. I'll retest it again. haha

Sorry to break this @G0ldenGunSec can you please git pull and update the install.sh script to fix conflicts? Thanks!

Hey, I went ahead and updated install.sh to reflect what's currently in dev, so we should be good to go.  I saw that references to the third party libraries to be installed have been moved to the requirements.txt file,  I also went ahead and added xlutils in there as well.  Let me know if any further changes need to be made.

@goldenbr0wn awesome work boss, will review tonight

@G0ldenGunSec So I tested this again. Win10 x64 / Office 2016. It looks like the logic to download the hosted xml is working but my lnk file for chrome is unchanged????

Is the .lnk for chrome hosted in your desktop folder or the 'public' desktop folder (right click shortcut and check location under general tab)?  Chrome is a bit unique in that by default this is where it tosses its shortcut, whereas IE and other programs typically will have their shortcuts in the specific user's own desktop folder.  I don't attempt to modify shortcuts in the public folder due to the fact that by default only admins can do this, which the majority of end users are not.  In most use-cases when using this on engagements against corporate clients we've targeted IE as it is the default browser for most all users, and/or a custom application that we know that a large majority of our targets have installed on their systems (ex. shortcut to banking software, etc.)
One alternative to increase effectiveness that I have not implemented in this version is to include an option to simply backdoor every .lnk file in the user's desktop folder to increase likelihood of success.  I currently do not have this implemented as we've used it in a more targeted manner historically.
The other alternative (instead of backdooring shortcuts on the desktop) is to backdoor shortcuts in the quick-launch menu on the bottom taskbar of windows.  These shortcuts sit in the %APPDATA%\Microsoft\Internet Explorer\Quick Launch folder in windows 7 and %APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar in Windows 10, and allow for user modification regardless of admin rights.  If you think that would be preferable to the desktop modification I currently do I can change my code, having logic for both in one script causes me to again run into the space issues mentioned in my initial posting, so as of now I'm thinking it has to be an either-or (unless someone has some cool tricks to shorthand things that I missed).  In my opinion the desktop shortcuts are preferable as many users have a limited number of shortcuts that reside here.
Give me your opinion, happy to make changes to try and make my code better :D


[TimexExpression] 'Next Week' is correctly interpreted by the recognizers, but the TimexResolver lib resolved the week output incorrectly

Describe the bug
I'm asking Luis today (Jan 5th 2021) for a 'next week' value, which it returns as "2021-W02", and I can see in the Luis test sidebar the following:
"datetimeV2": [
{
"type": "daterange",
"values": [
{
"timex": "2021-W02",
"resolution": [
{
"start": "2021-01-11",
"end": "2021-01-18"
}
]
}
]
}
],
However, when I resolve "2021-W02" using the TimexResolver, it's returning it as "2021-01-04" - "2021-01-11". Presumably this is because it's seeing Friday 01/01/2021 as "week 1" ("W01").
Ideally, both systems could be matched to have the same definition of "W02". I'd be happy to work on this, but presumably it would be a breaking change. Perhaps we need an overload of some sort?
To Reproduce
call TimexResolver.Resolve with "2021-W02"
Expected behavior
I would expect the dates coming back to be "2021-01-11" / "2021-01-18"
Sample input/output
as aboe
Platform (please complete the following information):

Platform: .NET
Environment: LUIS
Version of package Tested 1.4.0 and 1.4.2

Week numbers follow the ISO week numbers. The correct resutls for W02 in 2021 is from 11 to 18, so there's definitely a bug in TimexResolver.

Week numbers follow the ISO week numbers. The correct resutls for W02 in 2021 is from 11 to 18, so there's definitely a bug in TimexResolver.

Submitted a PR

Submitted a PR


ContractModel: add the ability to perform observations of the blockchain in DL properties

This fixes the need for custom endpoints as used e.g. in the Governance example.
Pre-submit checklist:

Branch

[x] Tests are provided (if possible)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Formatting, PNG optimization, etc. are updated
[x] Important changes are reflected in changelog.d of the affected packages

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reference the ADR in the PR and reference the PR in the ADR (if revelant)
[x] Reviewer requested

@sjoerdvisscher  do you want to have a look at this?

One issue we have here is that we are a little bit blocked on this PR: input-output-hk/quickcheck-contractmodel#13 as it would be nice if we could depend on the version of quickcheck-contractmodel in CHaP rather than on a source repository stanza. However, I wanted to get this PR up here so that the whole chain of things is at least visible.

It seems that that PR has a possibly complicated build error. I'm also fine with keeping it like this for now, and to start depending on the CHaP version later.

@sjoerdvisscher how close to merging this do you think we are? Do you understand what's up with the build?

@sjoerdvisscher I think this should be ready to merge. Although I don't know what's going on with CI timing out?

No problem, it's just the darwin tests, the linux tests are fine. This happens from time to time.
@koslambrou Could you please merge this?


Add_website_to_see

Adding "codingame.com" = another competitive programming website

First contribution. Adding "codingame.com" = another competitive programming website


Update builds to docker version 50

Change overview

Adopt to latest Telink Zephyr
Update builds to docker version 50 https://github.com/project-chip/connectedhomeip/pull/33289

@s07641069 are the CI failures because images have not been rebuilt yet?

Yes, let me update.


Add API source configuration arguments

Introduce new arguments for configuring API sources and apply them to the configuration during initialization. This enhances the flexibility of the configuration process.

Codecov Report
Attention: Patch coverage is 96.77419% with 1 line in your changes missing coverage. Please review.

Project coverage is 94.91%. Comparing base (f14f07f) to head (c742869).

Files with missing lines
Patch %
Lines

pkg/cmd/cfg.go
95.83%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #111      +/-   ##
==========================================
+ Coverage   94.85%   94.91%   +0.05%
==========================================
  Files          36       36
  Lines        1612     1631      +19
==========================================
+ Hits         1529     1548      +19
  Misses         59       59
  Partials       24       24

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


failed test in cmake build using -DBUILD_UTILITIES=OFF

When compiling netcdf-c 4.9.2 on macOS using the cmake build pipeline with the -DBUILD_UTILITIES=OFF setting, the nctest_compare_test_files is failing:
build % ctest --rerun-failed --output-on-failure
Test project /Users/me/Documents/_git/netcdf-c-4.9.2/build
    Start 3: nctest_compare_test_files
1/1 Test #3: nctest_compare_test_files ........***Failed    0.02 sec
/Users/me/Documents/_git/netcdf-c-4.9.2/build/nctest/compare_test_files.sh: line 8: /Users/me/Documents/_git/netcdf-c-4.9.2/build/ncdump/ncpathcvt: No such file or directory

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.02 sec

The following tests FAILED:
	  3 - nctest_compare_test_files (Failed)
Errors while running CTest

This seems to be similar to #2281 for the autotools build as the referenced binary ncpathcvt is not built if BUILD_UTILITIES is off.
The following patch works for me. If this is the correct approach, I'm happy to submit a PR:
--- a/nctest/CMakeLists.txt
+++ b/nctest/CMakeLists.txt
@@ -18,7 +18,9 @@
 ADD_TEST(nctest ${EXECUTABLE_OUTPUT_PATH}/nctest)

 add_bin_test_no_prefix(tst_rename)
-add_sh_test(nctest compare_test_files)
-IF(HAVE_BASH)
-  SET_TESTS_PROPERTIES(nctest_compare_test_files PROPERTIES DEPENDS nctest)
-ENDIF(HAVE_BASH)
+IF(BUILD_UTILITIES)
+  add_sh_test(nctest compare_test_files)
+  IF(HAVE_BASH)
+    SET_TESTS_PROPERTIES(nctest_compare_test_files PROPERTIES DEPENDS nctest)
+  ENDIF(HAVE_BASH)
+ENDIF(BUILD_UTILITIES)

Thank you for this, and that looks great; a PR would be fantastic, but otherwise I can incorporate this change.  Thanks!


Installing error: no matching torch version

Hi @WPZgithub ,
When I try to install the CEFCON locally on my PC (windows), I encountered the following error:
#install from downloading github files locally
pip install F:\Project\癌细胞可塑性\※※scRNA-seq_analysis\00.1imitation_melanoma_cellline\07.regulatory_network\CEFCON-main.zip

Error

ERROR: Could not find a version that satisfies the requirement torch<2.0,>=1.13.0 (from cefcon) (from versions: 2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.2.2)
ERROR: No matching distribution found for torch<2.0,>=1.13.0

How can I fix this? I just plan to try running the example code locally and then transfer to large dataset on the distributed server with multiple threads

Hi! I think there is something wrong with the version of pytorch installed in your environment, please make sure that the pytorch version <2.0.

Hi! I think there is something wrong with the version of pytorch installed in your environment, please make sure that the pytorch version <2.0.

Thanks, I'll try to downgrade the pytorch.


[allocbox-to-stack] Loosen an assert.

We should be able to accept mark_uninitialized in this position. The assert was
just being careful so that the codegen that we accept here is constricted
explicitly.
rdar://86535218

@swift-ci smoke test


When discovering a hut, issue message before next unit

The message upon discovering a hut should first be visible, and after pressing key or mouse button the message should disappear. Only then should the next waiting unit be visible.
Now CivONE switches to the next unit and immediately after then reveals the hut message.

This applies to all popups.  The game should in effect 'pause' behind any popup window.  The sidebar is blank.

I noticed this issue happening again. When I move to a hut the message pops up only after the screen centers on the next unit.

I may have broken this when I made a task out of the tribal hut dialog.

This issue has been resolved


Add a compiler flag that promotes compile warnings to compile errors

We should consider adding a user-facing compile-time flag that promotes compile warnings to compile errors. That way users have the ability to opt-in to having the Sway compiler fail to build/deploy their contract in the event of unused mut variable, etc.
This is related to upgrading E2E testing: #3189

Hi @emilyaherbert, Fuel has a ton of open issues in the Sway repo. Are these meant for team members of Fuel or for all devs? And would you be willing to compensate devs if they solve an issue?

https://github.com/FuelLabs/sway/issues/3174#issuecomment-1347571454


Fix commit_sig encoding

Hi @dr-orlovsky,
I tried to solve this issue related to this comment.

Codecov Report

Merging #33 (f36cb72) into master (b35c2e9) will increase coverage by 1.4%.
The diff coverage is 100.0%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff            @@
##           master     #33     +/-   ##
========================================
+ Coverage    38.7%   40.1%   +1.4%
========================================
  Files          17      17
  Lines        1899    1927     +28
========================================
+ Hits          734     772     +38
+ Misses       1165    1155     -10

Impacted Files
Coverage Δ

lnp2p/src/bolt/bolt2.rs
44.7% <100.0%> (+7.4%)
:arrow_up:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Catch unable to start app exception

Fixes https://github.com/flutter/flutter/issues/153433

This worked in my local testing. I'm putting out this PR to see if it passes all integration tests. If so, I will add a specific test for this.

This worked in my local testing. I'm putting out this PR to see if it passes all integration tests. If so, I will add a specific test for this.

It appears this change is causing a set of integration tests to deadlock. I suspect it's because I'm now await-ing two futures together.


Npm run start error

Can someone help to fix above error?

request should be a built in part of the node runtime. What versions of node are you running?


Make it easier to "fade" Hidden component

Currently, if we want to "fade" or apply another transitions to Hidden and derivate components, we have to do this:
const MyHidden = Hidden.extend`
  display: block !important;
  opacity: 0;
  ${props => props.visible && "opacity: 1"};
`;

We need a nicer way to do that, without having to put that !important.

What would be the preference here? A prop on Hidden that specifies transition time? Or maybe a separate <Fade /> component similar to material-ui.

I'm not sure about what approach to take here.
This is the current Hidden style:
https://github.com/diegohaz/reas/blob/019b901fa934a3c599d1a5b70772db760a40d46a/src/components/Hidden/Hidden.js#L43-L49
I was thinking about some prop that, instead of applying display: none;, just modified opacity, like the styles I posted.
<Hidden fade />

That looks good.
My only concern is what the escape hatch would be for extensibility. I think the ability to hide/show something is universally useful but animation timings can be very personal and different in every app.
I would hate for people to be in the position where they have to give up on using the built in fade because it doesn't quite match the look/feel they want.

I agree. I wasn't thinking about dealing with transitions, just opacity.
<Hidden /> // changes display
<Hidden destroy /> // removes from the DOM
<Hidden fade /> // changes opacity instead of display

That would cover the three most common techniques to hide an element.
fade might be a bad name since it can infer animation, but I can't think any better. Maybe an antonym of opaque.

I was able to make some fancy stuff with Step, which uses Hidden underneath, playing around with opacity: https://codesandbox.io/s/4090w91mq0

Ah! thank you for clarifying. That makes more sense now.
I would say the best word to use would invisible or transparent.
We also might want to consider using visibility: hidden for the implementation rather than opacity: 0. The main difference being that an element with opacity: 0 will still intercept click events whereas an element with visibility: hidden will not.  See chart. We could also support all these options:
<Hidden /> // changes to display: none
<Hidden destroy /> // removes from the DOM
<Hidden invisible /> // changes to visibility: hidden
<Hidden transparent /> // changes to opacity: 0

I've completely forgotten visibility: hidden. You're right.
However, it doesn't look good hahah
<Hidden invisible visible />

This conversation makes me think that if we need to read comments to understand what a prop does, we should find better names. So probably something more concrete:
<Hidden />
<Hidden useDOM />
<Hidden useVisibility />
<Hidden useOpacity />

I think this is the right direction, but I think useDOM is still somewhat unclear. Maybe it should be something like useRemoval or useConditionalRendering? I'm still not sure, but I think the name should imply something about what will actually happen to the DOM.


Check total value in the system at block0 time

when reading block0 we need to make sure that the overall total value created for the system is less than the maximum value.

I guess the value would then go in the LedgerStaticParameters, right ?


Dovecot Imap RCE CVE-2019-11500

A critical bug for Devecot has been published which can lead to a RCE.
https://security-tracker.debian.org/tracker/CVE-2019-11500
POC:
https://dovecot.org/pipermail/dovecot-news/2019-August/000418.html
I checked the dovecot version from docker-mailserver:latest

root@host:/# docker images --digests
tvial/docker-mailserver   latest              sha256:a5a20326e99a7f878b6ea12d5060e4e99dc5e3ee18b0e2f2114b3ee1a7b685f2   b161b8b99f63        6 days ago          518MB

And its running Dovecot <IP_ADDRESS> (f79e8e7e4) which is vulnerable

root@mail:/# dovecot --version
<IP_ADDRESS> (f79e8e7e4)

Dovecot is directly exposed in the Docker image.
Please include the security fix and release an update as fast as possible.

The Dockerfile gets dovecot from the backports repo, which is not updated (yet). This pull request uses the dovecot binary repo at https://repo.dovecot.org/ to get the patched version.
https://github.com/tomav/docker-mailserver/pull/1243

Thanks for noting this and for the PR. Unfortunately the tests fail, so I can't merge it as is. I have restarted the tests to see if it was just one of the random failures, if it was I will merge the change.

We could also remove backports and get Dovecot from stretch if that is better. I don't know the versions involved or why we needed to use backports once upon a time.

The reason for using backports was probably to get a newer version of dovecot than the one in the regular repositories.
Going back to the regular version would need a check if the older ever can still work with the existing data (don't think so, but would need to be checked) or if there is configuration in place that would not work with the older version.

Yes, my thought was that perhaps the regular repositories have had time to catch up. If they have the same version or the difference is very small we could downgrade. If there is a big difference I wouldn't dare.

No, that is because of the version policy in Debian. The normal repositories has some 2.2.x, whereas backports was 2.3.x. The maintainers in Debian are now allowed to push anything than a critical bugfix, but no new releases.

Ouch. Then we either need to fix this, wait for the backport or hurry up with the Debian upgrade. I wonder how far @tomav is on that. I can spend some time on this Tomorrow, but not Today.

I send a email to the maintainer of the debian stretch backports dovecot package about the issue
https://packages.debian.org/source/stretch-backports/dovecot
https://salsa.debian.org/debian/dovecot
<EMAIL_ADDRESS>

Answer from Apollon:

I have already uploaded the updated backport, it still needs to be built and included in the archive. This will take at least some hours.

Well, it is still not there. I'll check again in an hour or so and see if it is available. @fbartels if you notice an update before me (https://packages.debian.org/source/stretch-backports/dovecot 1:<IP_ADDRESS>-4~bpo9+1 changed) please make some sort of commit to trigger a docker build.

Still nothing in backports.
I've been working on the PR from @hof and after some changes I think I'm close. However, it means bumping the dovecot release a bit, so going back can be problematic. Plus they have moved some files. I hope I've fixed that, but there may be other configuration changes that I have missed.
@fbartels @tomav how do you think we should handle this? I will push my own docker image and test the build on my servers. If it works, shall we make the switch, or is it better to wait for the fix to appear in backports?
I would vote for fixing it ASAP, but that is just me.  What do you think?

Yes, have also been watching the repo. Using the Dovecot upstream source could be a short term fix (that would then become a long term status change). The upstream sources could theoretically have faster updates once the next cve hits, but on the other hand these will be more often subject to changes (as opposed to the "stable" releases of Debian).
When going for them its probably a good idea to fix the version that is being pulled, to do some more testing with each minor/major, Not sure if using ce-2.3-latest for the repo is stable enough. but trying to browse their repository they seem to update minor release repositories anyways (like ce-2.3.7).

#1245 ready, still nothing in backports.

@erik-wramner Backports version has been updated to 1:<IP_ADDRESS>-5+deb10u1~bpo9+1.

Issue should now be resolved in the docker image, with the inclusion of https://github.com/tomav/docker-mailserver/pull/1245


Cannot set property length of [object Object]

Buffer 3.5.0 breaks in Chrome (45.0.2454.85 (Official Build) (64-bit))
What I'm getting is
Uncaught TypeError: Cannot set property length of [object Object] which has only a getter

It happens when buffer tries to set .prototype.length to undefined, here: https://github.com/feross/buffer/blob/master/index.js#L372
I discovered this while I was rolling out our app's new version. Later I'm gonna try to put together a small demo.
(I'm using browserify 11.11.0 which uses<EMAIL_ADDRESS>

+1, causing me to need to start using npm shrinkwrap to get buffer 3.4.3

+1

Can someone share code to reproduce this error? I can't trigger it and the whole test suite passes on every supported browser...

Assuming this bug can be confirmed, what is the best course of action anyway?

Depends on the bug. We can either try to fix it, or revert the instanceof improvement I shipped in v3.5.0.

The code i had that was causing this to show up was while using webpack and was unfortunately several libraries deep where it was triggered so i don't have a simple test case I know the file that directly had threw the error while using a buffer was https://github.com/primus/primus/blob/master/transformer.js  likely not very helpful but you might be able to see a use case that would break it which is more obvious to you having written the buffer library

@marioatlp Can you provide a stacktrace so we know where transformer was calling Buffer?

haha it seems I could reproduce the issue. It's not buffer but babelify when it is used as global transform breaks buffer.
Showcase:

--transform: http://purposeindustries.github.io/buffer-bug79/index.html
--global-transform: http://purposeindustries.github.io/buffer-bug79/index-global.html

Code: https://github.com/purposeindustries/buffer-bug79

Looks like we're getting the same issue.
Also using webpack and babel together.

@jlbruno in webpack: add node_modules to the exclude list
module: {
  loaders: [
    {
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel'
    }
  ]

@oroce That solution is only helpful if the issue is a .jsx file in node_modules my issue was in standard JS. an alternative work around until this is fixed is  to add to package.json  dependencies section
 "buffer": "3.4.3",
and to add to your webpack config file:
plugins: [
		new webpack.ContextReplacementPlugin(/buffer/, require('buffer'))
	]

Ok, thanks....looks like 3 solutions have worked. Shrinkwrap (locking buffer to 3.4.3 by editing node-libs-browser package.json), excluding node_modules, and adding buffer at a top level dependency locked to v 3.4.3.
Thanks all. Time to figure out which is the least of the evils.

node problem, confirm fixed in node 4.1.1

found one other solution for webpack based on

ps: you can solve the global transform by simply ignoring buffer: browserify index.js --global-transform [ babelify --ignore buffer ] -o dist.js

loaders: [
    { test: /\.jsx$/, loader: 'babel?stage=0&ignore=buffer' }
]

@lostrouter I would recommend not running babel on third party code, as often the transforms can break code that is unaware of es6. Such as making modules option strict by default.

I cross-referenced this issue against browserify, too. They should at least be aware of this issue.
Since I use traceur instead of babel, my solution was traceur --script ajar.js --out out/ajar.es6.js && browserify out/ajar.es6.js --ignore buffer -o out/ajar.js, whereby ajar.js is the main entry point in that project.

3.4.3 still seems to have the broken code:
$ grep version node_modules/buffer/package.json
  "version": "3.4.3"
$ grep 'length = undefined' node_modules/buffer/index.js
Buffer.prototype.length = undefined

Same here using webpack with https://github.com/mistadikay/strict-loader
<exception>: TypeError: Cannot set property length of [object Object] which has only a getter at Object.eval (webpack:///../~/webpack/~/node-libs-browser/~/buffer/index.js?:376:25) at eval (webpack:///../~/webpack/~/node-libs-browser/~/buffer/index.js?:1548:30) at ...
BP: undefined
Buffer: Buffer(arg)
INVALID_BASE64_RE: undefined
MAX_ARGUMENTS_LENGTH: undefined
SlowBuffer: SlowBuffer(subject, encoding)
allocate: allocate(that, length)
asciiSlice: asciiSlice(buf, start, end)
asciiToBytes: asciiToBytes(str)
asciiWrite: asciiWrite(buf, string, offset, length)
base64: Object
base64Slice: base64Slice(buf, start, end)
base64ToBytes: base64ToBytes(str)
base64Write: base64Write(buf, string, offset, length)
base64clean: base64clean(str)
binarySlice: binarySlice(buf, start, end)
binaryWrite: binaryWrite(buf, string, offset, length)
blitBuffer: blitBuffer(src, dst, offset, length)
byteLength: byteLength(string, encoding)
checkIEEE754: checkIEEE754(buf, value, offset, ext, max, min)
checkInt: checkInt(buf, value, offset, ext, max, min)
checkOffset: checkOffset(offset, ext, length)
checked: checked(length)
decodeCodePointsArray: decodeCodePointsArray(codePoints)
fromArray: fromArray(that, array)
fromArrayBuffer: fromArrayBuffer(that, array)
fromArrayLike: fromArrayLike(that, array)
fromBuffer: fromBuffer(that, buffer)
fromJsonObject: fromJsonObject(that, object)
fromNumber: fromNumber(that, length)
fromObject: fromObject(that, object)
fromString: fromString(that, string, encoding)
fromTypedArray: fromTypedArray(that, array)
global: Window
hexSlice: hexSlice(buf, start, end)
hexWrite: hexWrite(buf, string, offset, length)
ieee754: Object
isArray: isArray()
kMaxLength: kMaxLength()
objectWriteUInt16: objectWriteUInt16(buf, value, offset, littleEndian)
objectWriteUInt32: objectWriteUInt32(buf, value, offset, littleEndian)
rootParent: Object
slowToString: slowToString(encoding, start, end)
stringtrim: stringtrim(str)
this: Object
toHex: toHex(n)
typedArraySupport: typedArraySupport()
ucs2Write: ucs2Write(buf, string, offset, length)
utf8Slice: utf8Slice(buf, start, end)
utf8ToBytes: utf8ToBytes(string, units)
utf8Write: utf8Write(buf, string, offset, length)
utf16leSlice: utf16leSlice(buf, start, end)
utf16leToBytes: utf16leToBytes(str, units)
writeDouble: writeDouble(buf, value, offset, littleEndian, noAssert)
writeFloat: writeFloat(buf, value, offset, littleEndian, noAssert)

Ok I ran the test suit inside the same browser I have the bug in, and it is all good. Maybe someone (webpack?) is doing a freeze on the object, or something else.

Find it, don't add / use strict mode on Buffer.js https://github.com/mistadikay/strict-loader/issues/5#issuecomment-165024914

I did a horrible patch in webpack for this issue that others might be able to use:
----  strict-stripper.js ------
module.exports = source => source.replace(/['"]use strict['"]/, '');
---- in webpack.config.js (loaders section) ------
{test: /buffer/, loader: ${__dirname}/strict-stripper.js},

So I take it the steps to fix this bug are:

Add `"use strict" to the top of index.js
Re-run the tests
Fix stuff until it works

In general, it looks like this could be fixed by simply hoisting the function Buffer () { ... } declaration to the top of the file.

I can confirm that I can reproduce this by just adding 'use strict' to the top of index.js and then running npm run test-browser-local. I'm not sure how to fix it.

^ fixed!

nicely done, thank you!

Nicely done! Fix released as 3.6.0. And just like that, we're down to 0 open issues and 0 open PRs! :+1:


Bookmarks list: label should not be allowed to be edited to an "empty" value (whitespaces only)

The edit feature allows entering only whitespaces. This should be rejected by the input validator, just like when entering an empty value.
Note that whitespaces are trimmed on the leading and trailing edge, as well as collapsed in the middle ... for display only (the actual underlying value retains the whitespaces).

Related issue: https://github.com/readium/readium-desktop/issues/745


Fix issues with publishing or consuming registries on Windows

Fixes #2829.  This PR forces all asset paths in the registry lockfile to be forward-slash format, which works on both Windows and Unix.
This also fixes an issue found during testing, where running from a local registry failed with a cryptic error, because the port separator is an illegal character in a Windows file name.

To clarify: this should fix the original issue when incorporated into cloud-plugin, although I haven't tested it in the cloud scenario yet.


MessageProducer send throws java.lang.UnsupportedOperationException

MessageProducer send(topic, ...) throws:
Exception in thread "main" java.lang.UnsupportedOperationException: Using this method is not supported on producers created with an explicit Destination.
at org.apache.qpid.jms.JmsMessageProducer.send(JmsMessageProducer.java:187)
at com.solace.samples.TopicPublisher.run(TopicPublisher.java:75)
at com.solace.samples.TopicPublisher.main(TopicPublisher.java:94)
It happens in BasicReplier and TopicPublisher

The error was introduced by reviewer's request during integration with the existing SolaceSample code as a cosmetic change for consistency with the previously published code.


Update Gradle 4.7 → 4.9

https://github.com/gradle/gradle/releases/tag/v4.8.0
https://github.com/gradle/gradle/releases/tag/v4.8.1
https://github.com/gradle/gradle/releases/tag/v4.9.0

👀 @Bencodes @pingpongboss