integer divide by zero

I'm using the tricksterio/trickster:0.0.11 image with Prometheus and I receive several times the same error: integer divide by zero
10/04/2018 16:55:142018/04/10 14:55:14 http: panic serving <IP_ADDRESS>:37778: runtime error: integer divide by zero
10/04/2018 16:55:14goroutine 3022 [running]:
10/04/2018 16:55:14net/http.(*conn).serve.func1(0xc42387a8c0)
10/04/2018 16:55:14	/usr/local/go/src/net/http/server.go:1697 +0xd0
10/04/2018 16:55:14panic(0x772e60, 0x9fe640)
10/04/2018 16:55:14	/usr/local/go/src/runtime/panic.go:491 +0x283
10/04/2018 16:55:14main.alignStepBoundaries(...)
10/04/2018 16:55:14	/go/src/github.com/comcast/trickster/handlers.go:763
10/04/2018 16:55:14main.(*TricksterHandler).buildRequestContext(0xc42013e000, 0x9d2960, 0xc42012dae0, 0xc4212da200, 0xc420ae3b90)
10/04/2018 16:55:14	/go/src/github.com/comcast/trickster/handlers.go:393 +0x2b85
10/04/2018 16:55:14main.(*TricksterHandler).promQueryRangeHandler(0xc42013e000, 0x9d2960, 0xc42012dae0, 0xc4212da200)
10/04/2018 16:55:14	/go/src/github.com/comcast/trickster/handlers.go:120 +0x4d
10/04/2018 16:55:14main.(*TricksterHandler).(main.promQueryRangeHandler)-fm(0x9d2960, 0xc42012dae0, 0xc4212da200)
10/04/2018 16:55:14	/go/src/github.com/comcast/trickster/main.go:58 +0x48
10/04/2018 16:55:14net/http.HandlerFunc.ServeHTTP(0xc4201568f0, 0x9d2960, 0xc42012dae0, 0xc4212da200)
10/04/2018 16:55:14	/usr/local/go/src/net/http/server.go:1918 +0x44
10/04/2018 16:55:14github.com/comcast/trickster/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc420130690, 0x9d2960, 0xc42012dae0, 0xc4212da200)
10/04/2018 16:55:14	/go/src/github.com/comcast/trickster/vendor/github.com/gorilla/mux/mux.go:159 +0xed
10/04/2018 16:55:14github.com/comcast/trickster/vendor/github.com/gorilla/handlers.CompressHandlerLevel.func1(0x9d2ea0, 0xc427795a40, 0xc42015b800)
10/04/2018 16:55:14	/go/src/github.com/comcast/trickster/vendor/github.com/gorilla/handlers/compress.go:146 +0x462
10/04/2018 16:55:14net/http.HandlerFunc.ServeHTTP(0xc420115080, 0x9d2ea0, 0xc427795a40, 0xc42015b800)
10/04/2018 16:55:14	/usr/local/go/src/net/http/server.go:1918 +0x44
10/04/2018 16:55:14net/http.serverHandler.ServeHTTP(0xc420120680, 0x9d2ea0, 0xc427795a40, 0xc42015b800)
10/04/2018 16:55:14	/usr/local/go/src/net/http/server.go:2619 +0xb4
10/04/2018 16:55:14net/http.(*conn).serve(0xc42387a8c0, 0x9d36e0, 0xc4236f9280)
10/04/2018 16:55:14	/usr/local/go/src/net/http/server.go:1801 +0x71d
10/04/2018 16:55:14created by net/http.(*Server).Serve
10/04/2018 16:55:14	/usr/local/go/src/net/http/server.go:2720 +0x288

@christophefromparis Will take a look today and root cause. Thank you for the report!

@christophefromparis it looks like somehow the Step size is not being picked up so the math is failing. That's a curious condition because it shouldn't happen! I'll add in a sanity check to see if that will fix it up while we figure out how it's happening in the first place.

Fixed in #31


Add the service rollback feature to Portainer service details view

Is your feature request related to a problem? Please describe.
Docker CLI has the ability to rollback a service to a previous configuration docker service rollback [OPTIONS] SERVICE, this feature is missing from Portainer.
Describe the solution you'd like
Add a rollback the service button on the Service details view, that once clicked will rollback the service to its previous configuration
Example of what it could look like:

Can be achieved through the ServiceUpdate operation of the Docker API: https://docs.docker.com/engine/api/v1.39/#operation/ServiceUpdate

@deviantony ready for your review


Improve link text and rendering

This follows up #340.

Hi I just reviewed these changes.  They look good to me.


Skiboot 5.4.1 - OCC got disabled.

from 'sdr elist' grepping for occ
...
OCC Active       | 08h | ok  | 210.0 | Device Disabled
...
The above is for single socket system, output from Habanero
In the case of two socket system, OCC Active 2 is disabled, output from SMC
...
OCC Active 1     | 08h | ok  | 210.0 | Device Enabled
OCC Active 2     | 09h | ok  | 210.1 | Device Disabled
...
Full list:
ipmitool -H HOSTNAME -I lanplus -U ADMIN -P admin sdr elist
DIMM Func 0      | 1Eh | ok  | 32.0 | Presence Detected
DIMM Func 1      | 1Fh | ok  | 32.1 |
DIMM Func 2      | 20h | ok  | 32.2 | Presence Detected
DIMM Func 3      | 21h | ok  | 32.3 |
DIMM Func 5      | 23h | ok  | 32.5 |
DIMM Func 4      | 22h | ok  | 32.4 | Presence Detected
DIMM Func 6      | 24h | ok  | 32.6 | Presence Detected
DIMM Func 7      | 25h | ok  | 32.7 |
DIMM Func 8      | 26h | ok  | 32.8 | Presence Detected
DIMM Func 9      | 27h | ok  | 32.9 |
DIMM Func 10     | 28h | ok  | 32.10 | Presence Detected
DIMM Func 11     | 29h | ok  | 32.11 |
DIMM Func 13     | 2Bh | ok  | 32.13 |
DIMM Func 12     | 2Ah | ok  | 32.12 | Presence Detected
DIMM Func 14     | 2Ch | ok  | 32.14 | Presence Detected
DIMM Func 15     | 2Dh | ok  | 32.15 |
DIMM Func 17     | 2Fh | ok  | 32.17 |
DIMM Func 16     | 2Eh | ok  | 32.16 | Presence Detected
DIMM Func 18     | 30h | ok  | 32.18 | Presence Detected
DIMM Func 19     | 31h | ok  | 32.19 |
DIMM Func 21     | 33h | ok  | 32.21 |
DIMM Func 20     | 32h | ok  | 32.20 | Presence Detected
DIMM Func 22     | 34h | ok  | 32.22 | Presence Detected
DIMM Func 23     | 35h | ok  | 32.23 |
DIMM Func 25     | 37h | ok  | 32.25 |
DIMM Func 24     | 36h | ok  | 32.24 | Presence Detected
DIMM Func 26     | 38h | ok  | 32.26 | Presence Detected
DIMM Func 27     | 39h | ok  | 32.27 |
DIMM Func 28     | 3Ah | ok  | 32.28 | Presence Detected
DIMM Func 29     | 3Bh | ok  | 32.29 |
DIMM Func 30     | 3Ch | ok  | 32.30 | Presence Detected
DIMM Func 31     | 3Dh | ok  | 32.31 |
CPU Core Func 1  | 3Eh | ok  | 208.0 | Presence detected
CPU Core Func 2  | 3Fh | ok  | 208.1 | Presence detected
CPU Core Func 3  | 40h | ok  | 208.2 | Presence detected
CPU Core Func 4  | 41h | ok  | 208.3 | Presence detected
CPU Core Func 5  | 42h | ok  | 208.4 | Presence detected
CPU Core Func 6  | 43h | ok  | 208.5 |
CPU Core Func 7  | 44h | ok  | 208.6 | Presence detected
CPU Core Func 8  | 45h | ok  | 208.7 | Presence detected
CPU Core Func 9  | 46h | ok  | 208.8 |
CPU Core Func 10 | 47h | ok  | 208.9 | Presence detected
CPU Core Func 11 | 48h | ok  | 208.10 | Presence detected
CPU Core Func 12 | 49h | ok  | 208.11 | Presence detected
CPU Func         | 4Eh | ok  |  3.0 | Presence detected
Membuf Func 0    | 4Ah | ok  |  7.0 | Presence Detected
Membuf Func 1    | 4Bh | ok  |  7.1 | Presence Detected
Membuf Func 2    | 4Ch | ok  |  7.2 | Presence Detected
Membuf Func 3    | 4Dh | ok  |  7.3 | Presence Detected
Host Status      | 04h | ok  | 35.0 | S0/G0: working
FW Boot Progress | 05h | ok  | 34.0 | Unknown Progress
PCI              | 5Bh | ok  | 35.0 |
OS Boot          | 5Ah | ok  | 35.0 |
OCC Active       | 08h | ok  | 210.0 | Device Disabled
Boot Count       | 50h | ok  | 34.0 |
Ambient Temp     | 0Ah | ok  |  7.0 | 24 degrees C
CPU Diode Sensor | 0Bh | ok  |  3.0 | 26 degrees C
Quick Power Drop | 0Dh | ok  | 19.0 |
All PGood        | 1Ch | ok  | 19.0 | Power off/down
Checkstop        | 0Ch | ok  | 217.0 |
CPU Temp         | 64h | ns  |  3.0 | No Reading
Membuf Temp 0    | 65h | ns  |  7.0 | No Reading
DIMM Temp 0      | 69h | ns  | 32.0 | No Reading
DIMM Temp 1      | 6Ah | ns  | 32.1 | No Reading
DIMM Temp 2      | 6Bh | ns  | 32.2 | No Reading
DIMM Temp 3      | 6Ch | ns  | 32.3 | No Reading
DIMM Temp 4      | 6Dh | ns  | 32.4 | No Reading
DIMM Temp 5      | 6Eh | ns  | 32.5 | No Reading
DIMM Temp 6      | 6Fh | ns  | 32.6 | No Reading
DIMM Temp 7      | 70h | ns  | 32.7 | No Reading
Membuf Temp 1    | 66h | ns  |  7.1 | No Reading
DIMM Temp 8      | 71h | ns  | 32.8 | No Reading
DIMM Temp 9      | 72h | ns  | 32.9 | No Reading
DIMM Temp 10     | 73h | ns  | 32.10 | No Reading
DIMM Temp 11     | 74h | ns  | 32.11 | No Reading
DIMM Temp 12     | 75h | ns  | 32.12 | No Reading
DIMM Temp 13     | 76h | ns  | 32.13 | No Reading
DIMM Temp 14     | 77h | ns  | 32.14 | No Reading
DIMM Temp 15     | 78h | ns  | 32.15 | No Reading
Membuf Temp 2    | 67h | ns  |  7.2 | No Reading
DIMM Temp 16     | 79h | ns  | 32.16 | No Reading
DIMM Temp 17     | 7Ah | ns  | 32.17 | No Reading
DIMM Temp 18     | 7Bh | ns  | 32.18 | No Reading
DIMM Temp 19     | 7Ch | ns  | 32.19 | No Reading
DIMM Temp 20     | 7Dh | ns  | 32.20 | No Reading
DIMM Temp 21     | 7Eh | ns  | 32.21 | No Reading
DIMM Temp 22     | 7Fh | ns  | 32.22 | No Reading
DIMM Temp 23     | 80h | ns  | 32.23 | No Reading
Membuf Temp 3    | 68h | ns  |  7.3 | No Reading
DIMM Temp 24     | 81h | ns  | 32.24 | No Reading
DIMM Temp 25     | 82h | ns  | 32.25 | No Reading
DIMM Temp 26     | 83h | ns  | 32.26 | No Reading
DIMM Temp 27     | 84h | ns  | 32.27 | No Reading
DIMM Temp 28     | 85h | ns  | 32.28 | No Reading
DIMM Temp 29     | 86h | ns  | 32.29 | No Reading
DIMM Temp 30     | 87h | ns  | 32.30 | No Reading
DIMM Temp 31     | 88h | ns  | 32.31 | No Reading
CPU Core Temp 1  | 89h | ns  | 208.0 | No Reading
CPU Core Temp 2  | 8Ah | ns  | 208.1 | No Reading
CPU Core Temp 3  | 8Bh | ns  | 208.2 | No Reading
CPU Core Temp 4  | 8Ch | ns  | 208.3 | No Reading
CPU Core Temp 5  | 8Dh | ns  | 208.4 | No Reading
CPU Core Temp 6  | 8Eh | ns  | 208.5 | No Reading
CPU Core Temp 7  | 8Fh | ns  | 208.6 | No Reading
CPU Core Temp 8  | 90h | ns  | 208.7 | No Reading
CPU Core Temp 9  | 91h | ns  | 208.8 | No Reading
CPU Core Temp 10 | 92h | ns  | 208.9 | No Reading
CPU Core Temp 11 | 93h | ns  | 208.10 | No Reading
CPU Core Temp 12 | 94h | ns  | 208.11 | No Reading
Mem Proc0 Pwr    | A1h | ns  | 215.0 | No Reading
Mem Proc1 Pwr    | A2h | ns  | 215.1 | No Reading
Mem Proc2 Pwr    | A3h | ns  | 215.2 | No Reading
Mem Proc3 Pwr    | A4h | ns  | 215.3 | No Reading
Proc0 Power      | A5h | ns  | 215.4 | No Reading
PCIE Proc0 Pwr   | A6h | ns  | 215.8 | No Reading
IO A Power       | A7h | ns  | 215.12 | No Reading
IO B Power       | A8h | ns  | 215.13 | No Reading
Fan Power A      | A9h | ns  | 215.15 | No Reading
Storage Power A  | AAh | ns  | 215.17 | No Reading
Storage Power B  | ABh | ns  | 215.18 | No Reading
Mem Cache Power  | ACh | ns  | 215.22 | No Reading
GPU Power        | ADh | ns  | 215.23 | No Reading
Watchdog         | 00h | ok  |  0.0 |
Backplane Fault  | 51h | ok  |  7.0 |
System Event     | 52h | ok  |  1.0 |
Activate Pwr Lt  | 53h | ok  | 21.0 |
Ref Clock Fault  | 54h | ok  | 212.0 |
PCI Clock Fault  | 55h | ok  | 213.0 |
TOD Clock Fault  | 56h | ok  | 214.0 |
APSS Fault       | 57h | ok  | 215.0 |
CPU VDD Volt     | 0Eh | ok  |  3.0 | 0.93 Volts
CPU VDD Curr     | 0Fh | ok  |  3.0 | 22 Amps
PS Derating Fac  | 58h | ok  | 21.0 |
BIOS Golden Side | 5Ch | ok  | 34.1 |
PSU Fault 1      | 5Dh | ok  | 10.0 | Presence detected
PSU Fault 2      | 5Eh | ok  | 10.1 | Presence detected
Fan 1            | B3h | ok  | 29.3 | 14200 RPM
Fan 2            | B4h | ok  | 29.3 | 14300 RPM
Fan 3            | B5h | ok  | 29.3 | 14300 RPM
Fan 4            | B6h | ok  | 29.3 | 14000 RPM
Fan 5            | B7h | ok  | 29.3 | 14300 RPM
BMC Golden Side  | 60h | ok  | 34.1 |
Turbo Allowed    | B8h | ok  |  3.0 | State Asserted

@stewart-ibm Please have a look.
Feroz raised it at SMC
https://github.com/open-power/supermicro-openpower/issues/381

Fix got reverted ... so closing this.


Create Vijay

Types of changes

[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes (if not applicable, please state why)

Possibly an accident but I don't see why this PR belongs here 😋


Add capability to run build_runner tests for engine

Description
Allows compiling tests to kernel and running them via flutter packages pub run build_runner test
Related Issues
Fixes https://github.com/flutter/flutter/issues/27964
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes tests for all changed/updated/fixed behaviors (See Test Coverage).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes).
[x] No, this is not a breaking change.

I'm not sure what you mean by the default - we can't really replace pub run test, but we should update cirrus config and instructions so that we can pbr test

Sorry I was thinking of Flutter test.  That makes sense.

flutter_test is a different can of worms. We can chat about it tomorrow, but essentially there are some constraints based on the method used to generate kernel.
Its theoretically possible, but not today.


Enhance scmigration reconciler with proper service catalog components removal

Description
We cannot use helm to delete those components cause helm will be not supported in new 2.0.0 clusters. Idea is to specify all service catalog resources that needs to be deleted in the reconciler itself.
AC

Enhance scmigration reconciler with proper service catalog components removal

Parent PR issue

https://github.com/kyma-incubator/reconciler/pull/389

note: make sure these deprovisioning and cleanup failures are resolved by this ticket
  1) SKR SVCAT migration test
       Should deprovision SKR:
     Error: the string "Error: wait timeout\nRuntime status: {\n\t\"data\": [\n\t\t{\n\t\t\t\"instanceID\": \"257bd696-e80e-4e4c-ad6b-04f0851fad62\",\n\t\t\t\"runtimeID\": \"dc1a4f09-f532-4f25-bfc4-3d70e2986606\",\n\t\t\t\"globalAccountID\": \"e449f875-b5b2-4485-b7c0-98725c0571bf\",\n\t\t\t\"subAccountID\": \"19ea2000-865d-42fd-8d6f-3e3e2dcce3c8\",\n\t\t\t\"region\": \"eu-central-1\",\n\t\t\t\"subAccountRegion\": \"cf-eu10\",\n\t\t\t\"shootName\": \"c-60fde15\",\n\t\t\t\"serviceClassID\": \"47c9dcbf-ff30-448e-ab36-d3bad66ba281\",\n\t\t\t\"serviceClassName\": \"kymaruntime\",\n\t\t\t\"servicePlanID\": \"361c511f-f939-4621-b228-d0fb79a1fe15\",\n\t\t\t\"servicePlanName\": \"aws\",\n\t\t\t\"provider\": \"AWS\",\n\t\t\t\"status\": {\n\t\t\t\t\"createdAt\": \"2022-01-18T04:00:52.445086Z\",\n\t\t\t\t\"modifiedAt\": \"2022-01-18T04:55:26.530926Z\",\n\t\t\t\t\"state\": \"deprovisioning\",\n\t\t\t\t\"provisioning\": {\n\t\t\t\t\t\"state\": \"succeeded\",\n\t\t\t\t\t\"description\": \"Operation created\",\n\t\t\t\t\t\"createdAt\": \"2022-01-18T04:00:52.438776Z\",\n\t\t\t\t\t\"operationID\": \"bce3edcd-eed4-41f1-a9a9-3008b0ebcc9c\"\n\t\t\t\t},\n\t\t\t\t\"deprovisioning\": {\n\t\t\t\t\t\"state\": \"in progress\",\n\t\t\t\t\t\"description\": \"Operation created\",\n\t\t\t\t\t\"createdAt\": \"2022-01-18T04:25:49.820208Z\",\n\t\t\t\t\t\"operationID\": \"1691831e-5451-405e-82ca-b2c94e192fcb\"\n\t\t\t\t},\n\t\t\t\t\"update\": {\n\t\t\t\t\t\"data\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"state\": \"succeeded\",\n\t\t\t\t\t\t\t\"description\": \"update succeeded\",\n\t\t\t\t\t\t\t\"createdAt\": \"2022-01-18T04:15:59.634883Z\",\n\t\t\t\t\t\t\t\"operationID\": \"edc4592f-0833-48cf-9661-7a8790cff21a\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"totalCount\": 1,\n\t\t\t\t\t\"count\": 1\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"userID\": \"test@test.com\",\n\t\t\t\"avsInternalEvaluationID\": 166429256\n\t\t}\n\t],\n\t\"count\": 1,\n\t\"totalCount\": 1\n}" was thrown, throw an Error :)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)

  2) SKR SVCAT migration test
       Should cleanup platform --cascade, operator instances and bindings:
     Error: failed "smctl deprovision btp-operator-b3vl -f --mode=sync": Error: request DELETE https://service-manager.cfapps.sap.hana.ondemand.com/v1/service_instances/6387532f-4e5d-4e3c-9d67-e2df8d2be90c?async=false failed: StatusCode: 502 Body: {"error":"BrokerError","description":"Failed deprovisioning request instanceID: 6387532f-4e5d-4e3c-9d67-e2df8d2be90c, planID: 136d6248-1bed-45e3-912a-f553406c3ab5, serviceID: 6e6cc910-c2f7-4b95-a725-c986bb51bad7, acceptsIncomplete: true: Status: 400; ErrorMessage: \u003cnil\u003e; Description: error occurred while executing deprovision operation. Please contact Service Manager broker administrator; ResponseError: \u003cnil\u003e"}

notes from recent discussions:

[ ] we may want to keep BTP related SVCAT instances and bindings after the migration. The reason is the migrator uses BTP-Operator credentials to authenticate to SM, the instances show there only after successfully triggered SM migration. When they don't show there, we can accidentally delete instances and bindings instead of migrating.
[ ] add prometheus metrics to increase instrumentation around migration

Work has been done, closing


Update deps that were blocked on dropping Node 6.

FYI - Since these were all development dependencies, I'm not going to worry about making a release for them...


Bug in create 1 second video clips

Describe the bug
When I run the Create 1 second video clips in the final of ConfiguringInfinigen.md, I met the following bugs:
outputs/my_videos 06/24 04:09PM -> 06/24 04:09PM
Crashed: 06/24 04:09PM outputs/my_videos/2e1b97f4/logs/coarse.err reason="FileNotFoundError:  Could not find video or video in any of [PosixPath('/root/infinigen/infinigen_examples/configs_nature'), PosixPath('/root/infinigen'), PosixPath('.')]" node=None fatal=True
Steps to Reproduce
run like "Create 1 second video clips" with a little modification
python -m infinigen.datagen.manage_jobs --output_folder outputs/my_videos --num_scenes 500
--pipeline_config local_16GB.gin monocular_video cuda_terrain opengl_gt
--cleanup big_files --warmup_sec 30000 --config video high_quality_terrain
--pipeline_overrides iterate_scene_tasks.frame_range=[1,25] --overwrite
What version of the code were you using?
git log
commit fb7991e06580639202a4687937082cb63e931eb0 (HEAD -> main, tag: v1.4.0, origin/main,
origin/HEAD)
Merge: 4c13cdea e9ce81ac
Author: pvl-bot<EMAIL_ADDRESS>Date:   Tue Jun 18 00:38:31 2024 -0700
Merge pull request #258 from princeton-vl/develop

v1.4.0 - Preliminary release of Infinigen Indoors

commit e9ce81acc6b25d7bfbb5522bc75f97e90edd3228 (origin/develop)
Author: pvl-bot<EMAIL_ADDRESS>Date:   Mon Jun 17 23:51:41 2024 -0700
v1.4.0 - Preliminary release of Infinigen Indoors

What command did you run?
the command in "Create 1 second video clips"
What are your FULL output logs?
Provide the FULL output logs from your command as a txt file.

Platform

OS & OS Version: Ubuntu
GPU :RTX 3090
GPU Driver Version: 525.105.17
CUDA version: 12.0
RAM (GB): 24

Thanks for your help!

Apologies, the command is outdated. You will need to change video to trailer_video, I will patch this into the next release.

Thanks for your reply! I will close this issue


auto reconnect : how to? workarround

Hi all.
is there any way to automatically connect to a device if it is available and in case the device is powered off or not in range the app to search for the device and reconnect to it?
Highly appreciate any hints. I am out of ideas.
Thanks

Hi,
Once you are connected then normally Android will connect again once the device is in range.
However, if you mean connect to a device that you just know about, then there's nothing like that built into the package - you need to write that.  You would need to be scanning periodically and then looking for your device to come back into range.  Then you need to check if connected and, if not, then try to connect again  (you'll get exceptions if you connect to an already connected).  Some functions below that I use may help you - still work in progress, and these are part of a larger application with some BLE classes, and  bloc etc.
  /// Find (known) device in the scan, and return so bloc can connect to it.
  /// [id] must be valid MAC, like c4:4f:33:6a:a3:cb in lowercase
  /// called from FindDevice bloc on FindStarted
  Future<Either<ConnectFailure, BLEDevice2>> scanConnect(String id) async {
    BLEDevice2 _device;
    try {
      //get the device [id] if already connected
      final _devices = await connectedDevices2;
      if (_devices.isNotEmpty) {
        deviceRepoLogger.d('our id ${id}');
        _device = _devices.firstWhere(
            (result) => equalsIgnoreAsciiCase(result.id.toString(), id),
            orElse: () => null);
        if (_device != null) {
          deviceRepoLogger.d('matches id ${_devices.first.id.toString()}');
          return right(_device);
        }
      }
      //not connected already, so scan for [id]
      await startScan(2500);
      final _scanResult = await blueAPIClient.scanResultDevice(id);
      if (_scanResult != null) {
        // convert to BLEDEvice,
        // find_device bloc will then connect to it, maybe already be connected.
        return right(BLEDevice2.fromBluetoothDevice(_scanResult.device));
      } else {
        return left(const ConnectFailure.noKnownDevice());
      }
    } catch (e) {
      //always return some Failure here
      return left(const ConnectFailure.noKnownDevice());
    }
  }

  /// Process Scan results, returns any result matching id
  /// May return an empty ScanResult if no match
  Future<ScanResult> scanResultDevice(String id) async {
    Stream<List<ScanResult>> _scanList;
    ScanResult _scanResult;

    try {
      _scanList = flutterBlue.scanResults;
      List<ScanResult> resultList = await _scanList.first;

      appLogger.d('get scanResultDevice ${resultList.length} devices');
      if (resultList.isNotEmpty) {
        appLogger.d(
            'list id ${resultList.first.device.id.toString().toLowerCase()}');
        appLogger.d('our id ${id.toLowerCase()}');
        //TODO this does not get a result
        _scanResult = resultList.firstWhere(
            (result) =>
                result.device.id.toString().toLowerCase() == id.toLowerCase(),
            orElse: () => null);
      } else {
        return null;
      }
    } catch (e) {
      appLogger.e('get scanResultDevice ${e.toString()}');
      rethrow;
    }
    return _scanResult;
  }`


Return value of Phan\AST\UnionTypeVisitor::unionTypeFromNode() must be an instance of Phan\Language\UnionType, null returned

AST_NULLABLE_TYPE [NAME_FQ] #146
        type => AST_NAME [EXEC_EVAL] #146
                name => APIClient
app/Phabricator/ProjectsMap.php Return value of Phan\AST\UnionTypeVisitor::unionTypeFromNode() must be an instance of Phan\Language\UnionType, null returned

This code fragment is responsible to trigger this issue:
public function setAPIClient (?APIClient $apiClient = null) {
    $this->apiClient = $apiClient;
}

Previous issue about nullable type: #330

This is now fixed on origin/master and confirmed with the following example code.
<?php
class C1 {
    /** @var C1 */
    private $p;
    function f1(?C1 $p = null) {
        $this->p = $p;
    }
}


Remove version: AgileBits.1Password version 8.9.5

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://downloads.1password.com/win/1PasswordSetup-8.9.5.exe
Response Error: The remote server returned an error: (403) Forbidden.
(Automated message - build 910)


Code doesn't work in production

There seem to be a few things making the code not working in the production code. It mostly seem to be because sqlite3 gem can't be used in production (at least when deploying to Heroku).

The code now runs in rails and seems to be working just as well as in development


visiblebox for <Image>

@pgundlach,
visiblebox should be implemented as attribute for <Image>.
It would be great that it would default (as in all PDF handling) to media box.
If this is not possible (or you simply prefer to stick to crop box, as in Publisher), media box values should be preferred when these are exceeded by values from the crop box.
We already discussed that (speedata/publisher#468). As tricky as it might seem, crop box values larger than the ones for the media box are valid.
In that case, the spec specifically states that the former should be ignored in favor of the latter (https://opensource.adobe.com/dc-acrobat-sdk-docs/standards/pdfstandards/pdf/PDF32000_2008.pdf#page=636).
Many thanks for your help.

I am not sure if the MediaBox should be the default box for all the layout functions and for the image inclusion. CropBox is what the user should see in the PDF when included and not the media box?! If this is true, I think it makes sense to have the crop box as a default for the other functions.

Next version of XTS implements that the boxes should not be larger than the mediabox.

Release will be uploaded as soon as possible


Try Oasis Workflow

https://www.oasisworkflow.com/documentation/getting-started/installing-the-plugin
Michael mentioned a team was using this plugin. Let's check it out.

Closing but adding to list for "review" for cannabis project.


[FIX] Use NB_GRAPH_ROOT_CONT in setup.sh

Fixes a bug where the graph home directory was never used by the process started in the setup.sh custom
entrypoint

Closes #38

Changes proposed in this pull request:

Use the env var in the setup script

I tested this locally and it works nicely.
Sidenote: query is also faster, now that we're running the new latest API :tada:

Checklist
This section is for the PR reviewer

[x] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see our Contributing Guidelines for more info)
[x] PR links to GitHub issue with mention Closes #XXXX
[ ] Tests pass
[x] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

who goes first :) ?

guess I do


Upgrade Dell racadm from v9.4.0 to v9.5.1

I did this when researching problem with running racadm on idrac8 servers, but the version of racadm wasn't the case of the problem. Still, it's good hygene to keep it up to date.
v9.5.1 changes
From https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=kpxwd
Enhancements:
RACADM:

Support added in local racadm for SCV certificate (type 11).

SCV:

The Secured Component Verification application downloads the SCV Certificate
that is stored in iDRAC using RACADM, verifies certificate and chain of trust,
verifies Proof of Possession of SCV Private key for iDRAC, and collects current
system inventory to validate against inventory in SCV certificate.

Support added for WinPE 10.x (Compactible with Firmware version <IP_ADDRESS> and above)

v9.5.0 changes
From https://www.dell.com/support/home/en-vc/drivers/driversdetails?driverid=gw4vd
Fixes:
RACADM:
-Fixed issue related to Serial data captured is not exporting fully to Local share executed from remote racadm. Tracking Number: 166887
-Fixed issue related to Get operation from remote racadm without a success message. Tracking Number: 151802, 154249
IPMI Tool:
-Fixes for Dell Oem sensor list command. Tracking Number: 164106
-Fixes for FRU write for idrac OEM devices. Tracking Number: 159193
-Fixes for Dell Oem mac list command. Tracking Number: 150926
-Fixes for mc info command. Tracking Number: 165967
Known issues
-Racadm is not returning the appropriate message when USB controller HUB is disabled in host OS during local Racadm commands operation. Tracking Number: 167532
-Firmware update from NFS share(with d7 file) updating successfully by throwing error as "session in not valid" from remote racadm. Tracking Number: 170094
For Ubuntu 20.0.4, in case - if libssl.so is missing in /user/lib64, the below steps should be followed to link the libssl.so
-ldconfig -p | grep libssl

ldconfig -v 2>/dev/null | grep -v $'\t'
-sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.1 /lib/libssl.so

Enhancements:
RACADM:
-Support added for Custom defaults settings. Tracking Number: IDLC-2403
-Support added for RSA integration for 2FA. Tracking Number: IDLC-2307
-Support added for Increased password requirement for improved security. Tracking Number:IDLC-2309
-Deprecating getconfig/config subcommands.Tracking Number: IDLC-2296
IPMI Tool:
-Added new command "configvalidation" under the delloem
-Support added for Ubuntu 20.04
-Code refactory for Dell OEM Commands as per open source coding standards.
-CSSD update to 7.16

We might try out v10.0.1 - https://dl.dell.com/FOLDER07201431M/1/DellEMC-iDRACTools-Web-LX-10.0.1-4468_A00.tar.gz https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=22w49

Closing in favor of PR #253


Make SEO better

We get terrible listings on Google results.
There's various tweaks and plugins we can use to improve this.
One big issue is the text "Star Trek Timelines" should be in our meta description and/or body of every page. Because otherwise searching for "star trek timelines robin hood" doesn't find DataCore.

There's more that can be done here but we've seen substantial improvements from #104.


Jest tries to extract requires from all files including snapshot files

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Jest tries to extract requires from snapshot files. See this line here: https://github.com/facebook/jest/blob/77744a24816d0978b6c478987426c36d615864bd/packages/jest-resolve-dependencies/src/index.js#L113
If the current behavior is a bug, please provide the steps to reproduce and either a repl.it demo through https://repl.it/languages/jest or a minimal repository on GitHub that we can yarn install and yarn test.
Set a breakpoint at that line and see it get hit with .snap files.
What is the expected behavior?
Jest should extract dependencies from only JS and JSX files (maybe CSS too?). Or at least blacklist snapshot files.
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.
Jest 21.2.0
macOS 10.13

Found this going through old issues, it still seems to be done about the same way. Does this cause any problems visible to Jest users though or is it a potential performance optimization?

I think this caused an issue when the snapshot contained "require(...)" in it (imagine testing codegen).

Does this cause any real issues? I'm not sure what the issue is (beyond the fact that we have unnecessary entries as dependencies while not ideal, doesn't harm anything (I think?))

If so, a repro would be great 😄

This bug could be reproduced when:

moduleNameMapper exists in jest configuratio
an import statement matches this mapper
jest is run in watch mode

Reproduction repo: https://github.com/otakustay/jest-bug-demo
yarn
jest --watch

jest will be success while jest --watch will fail

@otakustay Your repro passes for me, even in watch mode

@jeysal  By default jest will not run tests if index.test.js is not modified in git, try to modify src/__test__/index.test.js to make it visible in git status

Running jest --watch after this will result this error:

jest version is 24.7.1 in this demo

@otakustay Thanks for giving detailed repro steps, based on the previous message I had guessed step 4 was pressing 'a', which unlike changing a file does not reproduce the issue.

After taking a closer look at the repro, that one is not related to the original issue description, it also breaks without the snapshot. Still a bug, but I'm not sure we can do much about it, because this is a limitation of how jest-haste-map extracts dependencies from files using regexes. Parsing would be too slow but using regex it is hard to differentiate between real imports and things that just look like imports.

@jeysal Thanks for detailed explanation, currently snapshots are the only thing we have no control on, by excluding them from parser we can simply avoid this issue by keeping fake requires in fixture files and fs.readFile them, in this case I still think we can gain great benefits to fix it on  jest-resolve-dependencies's side

If the default dependency extractor logic (with regex) is causing you issues, you can inject your own dependency extractor if you want: https://jestjs.io/docs/en/configuration#dependencyextractor-string


Autoplay on iOS

The playsinline tag is needed for mobile Safari on iOS 10+ for the video to play without a click/touch event.

Thanks!


Issue with density_bands()

I am using inform 2.4.4 and am trying use the density_bands method. Unfortunately I get the following error:
Error in distance$v[ix] : subscript out of bounds
I have tried to debug this myself without joy.
I am happy to provide sample data if required
Best wishes

Can you post the complete error message with the traceback? Thanks!

Thank you for responding
The error message is only:
Error in distance$v[ix] : subscript out of bounds

traceback()
1: density_bands(path, list("CD8", "CD4", "Tregs"), positive = "Stroma",
negative = "Tumour")
Many thanks,

Can you send me both cell seg data files (with locations in pixels and microns) and the corresponding segmentation map? (See my profile for email.) Thanks!


Re-export gix crate

Is your feature request related to a problem? Please describe.
As a user of tame-index I am bound to the gix version tame-index uses, because many gix types are exposed in tame-index APIs (primarily through errors, but not exclusively). If I have any code relying on gix myself, I have to manually keep my own import of gix in sync with the gix version used by tame-index, see https://github.com/rustsec/rustsec/pull/951
Describe the solution you'd like
I'd like tame-index to re-export gix when the git feature is enabled. This way I could just use this re-export and not worry about pulling in gix myself.
Describe alternatives you've considered
None other than doing nothing.
Additional context

Ah, great!
It wasn't on docs.rs so I was confused. I see you've already added metadata to build with all features on docs.rs too, so nothing to do here. Thanks!


[okina] Adjustments to Okina's Atomics [artv3/okina/atomic-fix]

This PR enables the use of atomics on the host when compiling with NVCC. Also adds support for atomics when using OpenMP.

Can I get a review on this PR? This should be good to go. This PR fixes a bug and adds capability for OpenMP.


De-indented headers and auto hiding markdown results in poor readability

Problem/Actual

Why does the ## have to be to the left of the starting vertical line? It makes it difficult to find where the author intended the headers to be especially when the ## also disappears when the cursor is not at that header. The --- and ``` wrappers also hide themselves when cursor is not on the line, leaving the reader to wonder if they were there
Expected
The ## and all user typed markdown should fall inside the left and right boundaries and none of it should ever be hidden. As someone used to reading plain text markdown, I find it very unnatural to read and very challenging to determine where the headers are.  Even though the font sizes are slightly bigger, the many colors distract away from noticing that at first glance.
For a start my suggestion is to align and unhide all user typed markdown

So the reason it's this way is to reduce text jumping as you move your cursor through it. In the general case this is unavoidable, but in some — like headers — it is. Without this left negative margin, as you move your cursor from above the header, to the header, and then underneath it the header text will jump to the right while the cursor is on it. I found this aesthetically unpleasing, hence this solution.
There is an issue now with very narrow screens that the ## are actually outside the screen view, which I've been meaning to address.

I don't quite follow the description of "text jumping", is there a video or something for my reference?
The scenarios in my mind are:

Markdown text editing (in VSCode)
HTML preview of markdown to a panel on its right
I have seen some markdown editors change the font sizes based on the number of ### at start of line

In all cases above, I don't recall any unpleasant "text jumping".

I also think point 3 above is a possible solution. Another solution I can think of is the use of animation, this will probably make any "text jumping" more acceptable. (Of course, animation might be a monster to implement)

While I agree that navigating to the #.. syntax needs to be improved, I disagree that I would ever want to see them when viewing a page.
I think this is another thing that could be solved with a "reading mode" as I described here:

a read-only mode for desktop which not only keeps the cursor (for navigating inside the document similar to VIM's normal mode), but also hides the underlying markdown while navigating as it is quite distracting to navigate over a link (or other dynamic content) and having the editor switch to the markdown code when the cursor enters formatted text.
https://github.com/silverbulletmd/silverbullet/issues/704#issuecomment-1952308801

I suppose you are viewing to read, and not viewing to edit?
It can be quite a challenge to edit something that I can't see.

I suppose you are viewing to read, and not viewing to edit?
It can be quite a challenge to edit something that I can't see.

I suppose you are viewing to read, and not viewing to edit?
It can be quite a challenge to edit something that I can't see.

Sorry, indeed yes I should've clarifiied that I meant when I am "viewing to read" and not "viewing to edit".

This is what I mean with jumping, here I've disabled the negative left margin (which is what you're asking for):

and this is the current behavior:

See what I mean?

And yes, this is all related to live preview. Hypothetically I could offer a setting to disable live preview, but that would also require a fair bit of CSS changes that would have to be maintained for both modes, which I don't really have the cycles to do.

Yes, I understand and appreciate your time and efforts spent on this project. Would be possible to at least disable negative margin? Those like me would just have to live with text jumping until live preview can be disabled. :)

Ok you can use a custom style for this. In your SETTINGS file enable custom styles:
customStyles: "[[STYLES]]"

Then, create a STYLES page and put a css code block in it:
#sb-main .cm-editor .sb-header-inside {
  text-indent: 0 !important;
}

Then reload the page, the text indenting should now stop for headers.


Education view - cards blocks navbar

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in QA
Followed all applicable steps in the TROUBLESHOOTING guide: TODO
Checked for relevant discussions on Discord: https://discord.gg/pPERUuv
Checked that your issue isn't already filed: https://github.com/COVID-19-electronic-health-system/Corona-tracker/issues

Description
View - Education
Fact and quiz cards blocks navbar on the bottom.
Checked for regular screen size and mobile views.
Steps to Reproduce

Hit /education rout
Attempt to click on navbar tabs
Select Quiz cards
Attempt to click on navbar tabs

Expected behavior:
Navbar tabs should be clickable when you in /education view.
Navbar should be clickable when you select Fact cards
Navbar should be clickable when you select Quiz cards
Actual behavior:
Facts cards: Navbar tabs not clickable.
Quiz cards: Navbar tabs not clickable.
Reproduces how often:
100% cases

@pavel-ilin are you working on it?

@pavel-ilin are you working on it?

No, I don't


stage1: implement read-only rootfs

Using the Pod manifest readOnlyRootFS option mounts the rootfs of the app
as read-only using systemd-exec unit option ReadOnlyDirectories.
Fixes #2487
Supersedes #2612

LGTM if green.


sync Errors does not get updated after reinitialize

Are you submitting a bug report or a feature request?
bug
What is the current behavior?
i have a form which initializes with initialValues props . by default it has sync errors in form reducer, after reinitializing errors still remain in my form so on submit (remote submit) it shows validation errors under my fields .
component did mount and everything in very begining

form reinitialized using initialize action creator (also tried blur and change and the same issue)

remote submit using another form and errors appear

changed only one field and all validation errors are gone ! and form in store does not have a sync errors field

i've spent hours and tried enableReinitialize, keepDirtyOnReinitialize (both as props and reduxForm() function way), initializing form using action creator and initialValues as props both ways but still not working  :-(((((
What's your environment?

node: 6.10.2
npm: 3.10.10
yarn: 0.18.1
redux-form: 6.6.1
os: ubuntu 16.10
browser: chromium 59

+1

just to let everybody know, in my case the problem was because i was mutating my form props by array.fill so i'm gonna close this issue.
@joshjconlin


i18n(ko-KR): update getting-started.mdx

Description

update getting-started.mdx
#640

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
getting-started.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Use hipcc.bat as a compiler on windows, instead of the perl script

Summary: Invoke "hipcc.bat" script instead of "perl hipcc". Invoking "perl hipcc" is not ideal, because there is no guarantee that hipcc is actually a perl script. Submitting in lieu of https://github.com/ROCm/Tensile/pull/2037 .
Outcomes:
What is the result of this change? What components of the project does it affect?
At this point this is NFC - hipcc.bat script calls perl script.
Notable changes: N/A
Testing and Environment:
What environment are you targeting (OS, ROCm version, Python versions, etc.)? Windows

ping. Could someone help us here? Thanks !

Adding @TorreZuk to see if there are any unforeseeable issues with this change.

Okay git blame confusion, I think the original .bat was buggy so the hipcc without extension was the wrapper for perl I used, thus the use of 'perl'  + which( ).   So when you later switched to .bat taking precedence the perl should have been removed.    There is also a .exe now but without windows CI I will not suggest anything further.

Okay git blame confusion, I think the original .bat was buggy so the hipcc without extension was the wrapper for perl I used, thus the use of 'perl' + which( ). So when you later switched to .bat taking precedence the perl should have been removed. There is also a .exe now but without windows CI I will not suggest anything further.

We've been waiting on windows CI for a while... I don't recall what the reasoning was for the ordering but this changed when migrating to amdclang++.

Well fine with this merging to unblock, but think it probably worth a new tech. debt ticket to move off hipcc entirely.  Was  the reason this was left as amdclang++ couldn't provide the hip version info?

@TorreZuk thanks for the review. Could someone with access merge this? Thanks again !

@ellosel thanks! If you dont mind me asking, what is the tensile_tag.txt update cadence in rocBLAS ?


Feat accordion classname

Current coverage is 84.94% (diff: 100%)

Merging #1549 into development will not change coverage

@@           development      #1549   diff @@
=============================================
  Files               82         82
  Lines             2298       2298
  Methods             20         20
  Messages             0          0
  Branches           297        297
=============================================
  Hits              1952       1952
  Misses             246        246
  Partials           100        100

Powered by Codecov. Last update 62e2e81...b0f1f23


Release v2.0.0

Go!!

I request an update of m30 pro

When will you be merging it into master?When will you be able to merge this into master?
Was trying to update the module via HACS to support the dreame login but it's not in master yet :)

What about this release?

Merge please!


Add support for hero animations in nested navigators

Add support for hero animations (see https://discord.com/channels/1034566655826735135/1065798676682903582)

Codecov Report
Base: 38.44% // Head: 38.44% // No change to project coverage :thumbsup:

Coverage data is based on head (a1b2edb) compared to base (190b79d).
Patch has no changes to coverable lines.

Additional details and impacted files
@@                 Coverage Diff                 @@
##           better-search-ride      #78   +/-   ##
===================================================
  Coverage               38.44%   38.44%
===================================================
  Files                      49       49
  Lines                    2146     2146
===================================================
  Hits                      825      825
  Misses                   1321     1321

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Simon and I have argued about whether this looks good (better than no animation?):
https://user-images.githubusercontent.com/63241108/213893415-efdd66c5-0125-46b4-a4c2-4274b7f97b3d.mov
We agree on all the other heros, but not on the FloatingActionButton ones that open a whole page.

Simon and I have argued about whether this looks good (better than no animation?):
Screen.Recording.2023-01-21.at.22.20.48.mov
We agree on all the other heros, but not on the FloatingActionButton ones that open a whole page.

I think the blue screen in between looks like a bug

the diff is broken isn't it?

Oh no, how did that happen? The PR is literally just a one-line change :D

Oh no, how did that happen? The PR is literally just a one-line change :D

yes i thought so too xD

Okay fixed the diff... No idea how that got so messed up though

@Eddie-42 the others seem to agree with me, so I'll remove the Fab Heros for now.

Simon and I have argued about whether this looks good (better than no animation?):
Screen.Recording.2023-01-21.at.22.20.48.mov
We agree on all the other heros, but not on the FloatingActionButton ones that open a whole page.

I think the blue screen in between looks like a bug

@Eddie-42 the others seem to agree with me, so I'll remove the Fab Heros for now.

Due to popular demand, I have fixed the blue flashing and heros are up and running again


Configuration cache issue when using a variable outside the kobweb.app.index.head.add {} block in build.gradle.kts

Configuration cache issue when using a variable outside the head.add {} in the function meta() or link()
Environment

Kobweb libs version: 0.19.3
Kotlin version: 2.0.20
JetBrains Compose version: 1.7.1
Gradle version: 8.9

Details
While I'm not very familiar with Gradle configuration cache, this likely to be the expected behavior and is a configuration issue, however the report mentions com.varabyte.kobweb.gradle.application.tasks.KobwebGenerateSiteIndexTask which might indicate to users that this is a Kobweb issue, made it more difficult for them to enable configuration cache or trace the issue.
Output when the error occurs

Found 1 error(s) and 0 warning(s). Please resolve errors to continue.

1: Configuration cache problems found in this build.

1 problem was found storing the configuration cache.
- Task `:site:kobwebGenSiteIndex` of type `com.varabyte.kobweb.gradle.application.tasks.KobwebGenerateSiteIndexTask`: cannot serialize Gradle script object references as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.9/userguide/configuration_cache.html#config_cache:requirements:disallowed_types

See the complete report at file:///project/build/reports/configuration-cache/84xhf2rlcjj1nscbzmbokdo11/1vc13d2fph39p97pnezzrzrld/configuration-cache-report.html

The complete report file content:

If you can confirm this is the expected behavior, is it possible for the Kobweb Gradle Plugin to detect this issue before continuing and throwing a more meaningful error?
Prerequisites

 Ensure your Kobweb project is updated to Kotlin 2.0.10 if not already done.

Enable caching with the following in gradle.properties:
org.gradle.caching=true
org.gradle.configuration-cache=true

Steps to Reproduce

Open the site module's build.gradle.kts.
Declare a variable at the top level (outside of the head.add {} block).
Use this variable in a meta() or link() function inside the head.add {} block.

Minimal reproducible code:
// Declare the variable outside the head.add {} block

val authorName = "Kobweb"
kobweb.app.index.head.add {
    meta(name = "author", content = authorName)
}

// This code will fail to build with configuration caching enabled

To build successfully:
// Declare the variable inside the head.add {} block

kobweb.app.index.head.add {
    val authorName = "Kobweb"
    meta(name = "author", content = authorName)
}

This also works without any issues:
// A variable declared outside the head.add {} block that isn't used in the block

val desc = "Powered by Kobweb"
kobweb.app.index.description.set(desc)

The fix (workaround):
- val authorName = "Kobweb"
kobweb.app.index.head.add {
+   val authorName = "Kobweb"
    meta(name = "author", content = authorName)
}

I don’t see this issue as a priority to resolve. It’s still useful (users might search the issue tracker and find the solution). However, I’m closing it to reduce the number of issues to track. Feel free to reopen it if needed.


Refactor WhoIsFreeSequenceDiagram

Codecov Report

Merging #239 (d856836) into master (a46500e) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #239      +/-   ##
============================================
- Coverage     67.81%   67.77%   -0.05%
+ Complexity      708      707       -1
============================================
  Files           107      107
  Lines          2430     2430
  Branches        332      332
============================================
- Hits           1648     1647       -1
  Misses          653      653
- Partials        129      130       +1

Impacted Files
Coverage Δ

...seedu/address/model/schedule/EventDescription.java
80.00% <0.00%> (-10.00%)
:arrow_down:

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 a46500e...d856836. Read the comment docs.


Template fails to run unless global.json is deleted

Following the Getting Started Guide: https://blazor.net/docs/get-started.html
Blazor Language Services Version:

dotnet version:

Creating a new blazor project, the solution successfully builds but when run (Ctrl+F5) the ASP.NET Core Web Server outputs this error:

and the page itself shows a 502 error:

So far the only way to solve this for me was to delete the global.json file that comes with the template. Other than deleting the global.json file no other changes were made
I did not see this mentioned in any of the other issues, so please let me know if this is a known issue or if i've got something configured incorrectly or if there is a better way to work around this 502 issue
Thanks!

I faced the same issue yesterday after i updated my .NET core version to 2.1.400. The global.json file has the following definition by default in the template project.
"sdk": {     "version": "2.1.300"   }
Hence it won't run on 2.1.400
You can have following two solution to this problem -

Install .NET core sdk 2.1.300 and it will allow you to run the template project.
update global.json manually to
"sdk": {  "version": "2.1.400" }

Looks like the same as #1324

In case it helps, is your startup object set? It seems that may be cleared under certain conditions, changing startup project for instance, not restricted to Blazor.

AnkitSharma-007 was correct, it was a problem with the version of the sdk that the template provides. updating that value to
"sdk": { "version": "2.1.400" }
resolves my problem
Thank you


Remove mkdirp from dependencies

What about instead ditching fs-extra, which is pretty big dep, that is (before this PR) used twice, for doing a rimraf/mkdirp and a copy -r. We can replace by cpr ? (since rimraf his already here anyway - dep of fs-extra)...

that is (before this PR) used twice

I'm not sure. But imho, removing fs-extra doesn't make a different.

fs-promise depends on fs-extra (and we use many methods of it).
fs-extra depends on mkdirp (which this PR trying to remove)

So this only make our package.json cleaner. No more or less dependencies to download.

We can replace fs-promise by pify + fs. fs-extra rely on grateful-fs which is another dep.

replace fs-promise by pify + fs

Good idea. I already do this partially in #343
So I'll send another PR to get rid of fs-extra and fs-promise after #343 landed


Officially supports SymPy 1.5

Run CI against SymPy 1.5
Regenerate notebooks using Sympy 1.5

Does the readme need updating?


Change wallet location on Anchor.toml

When I was trying to test some code locally the cli threw me an error that it couldn't find truitt. Changed it to use relative home dir instead

That makes sense, thanks for your contribution!


Delete unused trait: ethcore-bloom-journal

Delete unused trait: ethcore-bloom-journal

Sorry.
01b6a1a should not be included.


fix: init fixes to run it

I tried to run software development task, went into several issues, tried to mitigate them, not all are fixed, will add more fixes with the next PRs

Thanks a lot for your contribution! Sorry for the delay on review the PR. Looking forward to your next PRs!


Change react-bootstrap transform

You can use transform-imports to load the react-bootstrap es version instead of the lib to have better access to tree shaking.

That’s a great catch, thanks :–)
Looking forward to merge this once the CLA is signed.

Just signed it. Should be up soon. Thanks!

\o/


BFT review comments: channelparticipation.Join

Change-Id: I92a347a6105fbe99e934f8d4686378e58eb984ce
Type of change

Improvement (improvement to code, performance, etc)

Description
Addressing review comments on the modification of channelparticipation.Join in the BFT commit.
This reverses the changes made to channelparticipation.Join in the BFT commit and fixes the respective tests accordingly.
Add retry to forwarding of the config-tx that causes a leader to abdicate, reducing the chances of integration test flakes.
Related issues
Raft IT flake #4066

This commit was included in the merged https://github.com/hyperledger/fabric/pull/4024


GraphQL Playground does not show schema documentation but should

This issue pertains to the following package(s):

[x ] GraphQL Playground - Electron App
[x ] GraphQL Playground HTML
[x ] GraphQL Playground
[x ] GraphQL Playground Express Middleware
[ ] GraphQL Playground Hapi Middleware
[ ] GraphQL Playground Koa Middleware
[ ] GraphQL Playground Lambda Middleware

What OS and OS version are you experiencing the issue(s) on?
macOS 10.13.6
What version of graphql-playground(-electron/-middleware) are you experiencing the issue(s) on?
What is the expected behavior?
latest
What is the actual behavior?
Updating my schema with documenation strings either using # or " or """ does not show any documentation in GraphQL Playground, even though GraphiQL and other tools show that documentation just fine.
What steps may we take to reproduce the behavior?
Please provide a gif or image of the issue for a quicker response/fix.

Can you provide your schema? Because I was testing it with """ and it works normally.

Hi @Huvik
It works with """ in file schema.graphql but how can you comment something in the filedatamodel.graphql as file generated-schema.graphql is not keeping comments?
(I asked the question here: https://stackoverflow.com/questions/53974926/with-prisma-how-can-we-add-a-comment-for-a-type)
Thanks

So its problem how Prisma generates schema you can read more about it here https://github.com/prisma/prisma/issues/2152

yep, thanks! :/
Another answer is here: https://www.prisma.io/forum/t/comments-in-prisma-graphql-from-datamodel-graphql/4330/2?u=alan345
Currently, there’s no easy way to resolve this. This is an open feature request, which you can learn more about here: https://github.com/prisma/prisma/issues/2152
do you use another tool to generate documentation from datamodel.graphql

Depends how do you want to use it. And what part you want do document. And what tools do you use etc. I don't know anything about your stack.

I just want to document my GrpahQl types.
Example:
in file datamodel.graphql
type Product {
  id: ID! @unique
  """
  Url for the product page
  """
  urlName: String! @unique
  """
  List price for the product
  """
  listPrice: Float!
  """
  Trial period in days for the product
  """
}


Refactored log entry to object and tracev3 file

added more test coverage for tracev3 file
changes to not catch ImportError, NameError, UnboundLocalError in wide exception catch
added log entry and changes to use object instead of list

@ydkhatri please ensure to test these changes. The large methods with multiple concerns are very hard to refactor.

Seeing this PR had no follow up since 2019, closing it

Is it time to move to that code-base?

for what purpose? dtFormats is currently most my testbed

I had the feeling the dtFormats version of the functionality may be the better version.

I had the feeling the dtFormats version of the functionality may be the better version.

better is very subjective, there will be pros and cons, maybe drop me an email, might be easier to discuss what you're looking for and your plans with https://github.com/Schramp/UnifiedLogReader
Not sure what @ydkhatri his plans are for this project, might be good to align to prevent duplication.
For now the work in dtFormats is to better understand the format and be able to debug format changes.

@ydkhatri seems to be bound to other tasks, for now I just forked and aggregated the open issues and went on. Also on my side its a project with a level of "as time permits, but normally I would take the time to review PR's and accept them on my fork. And if @ydkhatri wants to be more involved he is more then welcome to cherry pick from the fork, merge it in, refactor as he seems fit.

I do not want to start a "ownership" war over it.

Definitely not my goal.
My needs are (1) format documentation (now completed by dtFormats) and (2) a well maintained and tested, reusable Python module I could leverage from Plaso. So happy to help out with an effort that aligns with those goals. Unfortunately earlier efforts to get this project into shape have stalled.
If @ydkhatri does not have the bandwidth and no concerns I would encourage him to be explicit about this.

Hi @Schramp and @joachimmetz, apologies for the delayed response. I definitely do not have the bandwidth to carry forward with this, as I am too occupied with other stuff. So feel free to do whatever you'd like with it. I trust you will add functionality and improve it.
@Schramp , I've invited you as contributer now, so you have full control now. I'm just not going to be able to contribute to it, at least not in the near future.

@ydkhatri thanks. @Schramp let me know if you want to sync offline about your plans


2.x Backport ConnectionId property to C# SignalR client

https://github.com/aspnet/AspNetCore/blob/b6d8c96a98c9e5673cd10162616ed98799c60d88/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs#L164
This property should be backported to whatever release you plan to do next on NuGet for the AspNetCore 2 series.
Describe alternatives you've considered
Forking or reflection.

Also, in general, making even simple changes like this myself is crazy complicated because of InternalsVisibleTo. If X needs code Y, just reference it, don't make it needlessly complicated.

Are you asking that we also make the connectionId property public on ASP.NET SignalR? If so it already is. It's inherited through Connection
https://docs.microsoft.com/en-us/previous-versions/aspnet/jj889727(v%3Dvs.111)

In general we usually only backport changes for bug fixes. We initially designed around not exposing the connection id so I'm not sure this is something we'd consider for a backport.

Alright, here's a workaround using Reflection if anyone needs it:
public static class HubConnectionExtensions
{
    public static string GetConnectionId(this HubConnection hubConnection)
    {
        const string connectionStateField = "_connectionState";
        const string connectionStateConnectionProperty = "Connection";
        const string connectionStateFieldType = "ConnectionState";
        var connectionState = typeof(HubConnection).GetField(connectionStateField,
                BindingFlags.Instance | BindingFlags.NonPublic)
            .GetValue(hubConnection);
        var connectionStateClass = typeof(HubConnection)
            .GetNestedType(connectionStateFieldType, BindingFlags.NonPublic);
        var connectionContext = connectionStateClass.GetProperty(connectionStateConnectionProperty,
                    BindingFlags.Instance | BindingFlags.Public)
                .GetValue(connectionState)
            as ConnectionContext;
        return connectionContext.ConnectionId;
    }
}


[Snyk] Upgrade dotenv from 16.0.3 to 16.1.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade dotenv from 16.0.3 to 16.1.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 3 versions ahead of your current version.
The recommended version was released 21 days ago, on 2023-05-30.

Release notes

Package name: dotenv

16.1.0 - 2023-05-30Update CHANGELOG and README

16.1.0-rc2 - 2023-05-21Version 16.1.0-rc2

16.1.0-rc1 - 2023-04-0716.1.0-rc1

16.0.3 - 2022-09-29v16.0.3

    from dotenv GitHub release notes

Commit messages

Package name: dotenv

ef48935 Update CHANGELOG and README
d5b4150 Version 16.1.0
f0e6daa Add to FAQ
cd6b943 Update README
1ba1180 Update README
a0cab9a Include 12.x in ci run
7efffc1 Retrigger. appveyor hook removed
6eb3879 Remove appveyor reference
88b5d98 Merge pull request #739 from motdotla/github-ci
5cf0f61 Remove travis and appveyor
517107b Add ci workflow to github
de683f0 Update CHANGELOG
5cadb4a Add npm fund link
5f46583 Create FUNDING.yml
979915c Merge pull request #737 from motdotla/dependabot/npm_and_yarn/json5-1.0.2
3304078 Update README
467561e Update readme with new #populate function
44f37ac Bump json5 from 1.0.1 to 1.0.2
93da74e Update package-lock.json
c5a9287 Version 16.1.0-rc2
49de1b2 Rename apply to populate
3f9a6b1 Reuse apply method throughout code
21c9db2 Rewrite apply method to take source as first argument and target as second
2810b85 Update CHANGELOG

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Codecov Report
Patch and project coverage have no change.

Comparison is base (9cb3a6c) 81.66% compared to head (6bfc8bf) 81.66%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #45   +/-   ##
=======================================
  Coverage   81.66%   81.66%
=======================================
  Files           4        4
  Lines          60       60
  Branches       11       11
=======================================
  Hits           49       49
  Misses         11       11

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Public validation service: Research and design

Need to know

Internal usability testing is complete. Next stage of feedback is to learn from external users (senders themselves)
Florence (UX) will meet with James (O&O eng) to be on hand and observe as senders (3 minimum) try out the validation service and attempt to understand and address the errors associated with their test message

Moved from Experience to O+O per convo with @lizzieamanning @fmccaf1


Chriseth patch 2

abcd

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: vub:x: chrisethvub seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


fix #16641 again, undoing part of 07fc652

Motivation for this change
If someone could double-check this for me, using NixOS in a virtualbox guest, slim as the display manager, my X server crashes with the vboxmouse error message in commits following 07fc652.

Paging in @matthewbauer and @gebner since they participated in related issues/pull requests.

Make sure the commit message fits CONTRIBUTING.md.

Sorry, will fix when on laptop...

Link to original issue: #16641
Based on the comments, I'm not really sure what the underlying cause is, or how this line fixes it.  In any case, please put a comment above the line in xserver.nix saying that this line is necessary to fix issue #16641 with virtualbox.

Ugh, I think this is a bigger problem: we want to output Screen and Device sections for each of the drivers; this is also necessary for e.g. the useGlamor, xrandrHeads, deviceSection options to work correctly.  However, while you specify drivers using the videoDrivers option, we output sections for the internal drivers options.
But the drivers option only contains drivers that are mentioned explicitly in knownVideoDrivers, see here:
https://github.com/NixOS/nixpkgs/blob/8983df7fb99969248aa82ac659616b75472713d1/nixos/modules/services/x11/xserver.nix#L438-L446
cc @vcunat

But the drivers option only contains drivers that are mentioned explicitly in knownVideoDrivers, see here:

I disagree (or misunderstand your meaning. There's that xf86video${name} auto-choice to generate driver if missing in the explicit list, in the very lines you reference.

You're of course right about the drivers that have their own package.  However, if you specify a driver (like modesetting) that doesn't have a xf86video${name} package or an entry in knownVideoDrivers, then it will be silently ignored.  Do you think there will be problems if we throw an exception for unknown drivers so this cannot happen again?
@Ptival Is there a reason that you closed this PR?  If you no longer want to work on it, I'll push a fix later today.

@gebner I closed it because my change was too specific and I am not sure I understand enough to write the correct fix. Also, I'm not sure how I would go about removing my commit from this PR and keeping only yours.
I can reopen it or do whatever is needed though, I keep on following what happens here. :-)

I have already pushed a fix to master.  The reason you see this commit (on master) in this PR is that I mentioned the PR number in the commit message.
PRs on github only reference the branch name in your fork: whatever commits are in Ptival/master are part of the pull request.  If you want to change (or amend) any commits, you can just force-push to your fork and the PR will be automatically updated.

Thanks, I didn't realize there's no xorg.xf86videomodesetting.


Unified machine word trait

A proposal to unify functionality pertaining to the primitive types in a single trait, easing generic programming with primitive types.

This is the same as the Int trait, which was removed from rust-lang/rust#23549 when rust-lang/rust#23104 was introduced.
Meanwhile you could use num_traits::PrimInt as a substitute, if you don't need to use every method (e.g. saturating_add etc).
(One of the goals of #369 was to provide "Limited generic programming: being able to work generically over the natural classes of primitive numeric types that vary only by size." But then the remaining traits proposed in #369 were removed as well ¯\_(ツ)_/¯)

I think this trait should be proposed as part of a comprehensive numerics proposal to adds all traits for numerics. I don't think we can evaluate this trait without thinking about how it overlaps and interacts with potential traits like Integer.

@withoutboats According to philosophies of numerical computing proposed by John L. Gustafson in his book The End of Error: Unum Computing, there is merit in separating algebraic properties of the idealized numeric datatypes, from the "fast, dirty and specific" machine instructions.
In particular, we want algebraic operations to obey algebraic laws, while we want machine instructions to do one particular job in the right situation. This is particularly egregious in floating point optimizations that might insert a fused multiply-add whenever you write addition and multiplication in the same expression. Problem with FMA is that it does not obey algebraic laws (yields different results than multiply followed by add, due to rounding) but provides a more accurate result overall.
The point of having a separate machine word trait is to separate concerns: the numeric hierarchy can focus on algebra, while this trait aims to be as close to metal as possible. If there was to be a MachineFloat trait, it could have FMA and Exact Doc Product and all the other nice hardware-level stuff for floats. This is an attempt at the same for machine integers.

@MagnetoHydroDynamics I don't disagree, I just think the whole system should be proposed concurrently, so we can discuss it holistically.

Neat proposal. Thanks for writing it up @MagnetoHydroDynamics!
Why does MachinArith depend on Copy + Eq? Can you make sure that's explicit in the RFC?
Do you have an implementation already? It might be good to prove this serves its purpose well in real generic code.
This is proposing a lot of new functions. It may be more appropriate and require less debate to consider the unification of existing features independently of adding new features.
The RFC should say where the trait will end up. core::num and std::num seem good.

ping @aturon @Karl-D-Asmussen
status?

Appears min_value() and max_value() are missing from this, although probably they should be replaced by the associated constants MIN and MAX anyways.

Thanks much for the RFC. As some others have mentioned, numeric traits like this have had a long, sad history in the standard library. The strong preference of the libs team has been for both generic numeric programming, and a numeric hierarchy, to live outside of the standard library, at least at first. If such an external crate saw widespread use, we could imagine moving it into the standard library. But we've gotten it wrong too many times to start immediately with std. We even had something relatively close to this design, and ended up abandoning it.
As such, I'm going to propose closing this RFC for the time being, in favor of development in crates.io.
@rfcbot fcp close

We discussed this RFC in libs triage, and in general there was consensus around the previous summary; we don't feel ready to revisit this question in the standard library, and would much prefer this to be developed out of tree. I'm going to close, in the meantime.


Add option to enable Monitoring stack at Cluster Creation

What kind of request is this (question/bug/enhancement/feature request):
Enhancement
Request:
Often times customers will have a standard installation they need for all clusters, this usually includes installing our monitoring stack
Could an option to enable monitoring at cluster to install in the UI be added as a UX enhancement so that customers can get their clusters set up for use as quickly as possible without needing to navigate several menus
gz#10669

provisioning issue, dropping team/fleet


Can't unwrap SOL tokens without closing WSOL account

It is a common approach among different protocols to create WSOL accounts on the fly, send SOL to WSOL (to wrap it automatically), and close them at the end to convert WSOL back to SOL. If it were also possible to transfer WSOL to SOL account with automatic unwrapping, it would come with some benefits:

no need to re-create and close accounts every time, probably saving on some blockchain resources
easier to reason about the conversion process, it will work both ways similarly, easier for new devs
WSOL account can be permanent, protocols will unwrap only the amount they work with

A comment on this, i think wrapping isn't too bad right now, this is the flow i use in frontends:

check if wSOL ATA exists, create it if not
transfer SOL to ATA
call sync native

Drawbacks:

A bit annoying for clients if they need to consider pre-existing wSOL balance, but i think they should not, wSOL should not be something user have to deal with.
3 ixs, but still remains quite light

The unwrapping is trivial, with a single call to close_account. However, it might make sense to be able to unwrap without closing.
To make things easier possibly sync native could have a wrapper to do the transfer + sync in one ix.
Extra points:

I still see a lot of UIs that are not even aware about sync native and are still doing abominations like the use of auxiliary wSOL which consume a lot of transaction space.

can you point me to one example of unwrapping sol (i.e. close-account?). I have a similar workflow to wrap sol, but a bit confused as to how to unwrap

hi. we don't use github for support. please join  us in #developer-support on https://solana.com/discord instead


Memory leakage after mapnik map.render ?

os:                              ubuntu:22.04
nodejs:                       v22
@mapnik/mapik:       v4.6.5
pm2                           v5.4.2
Based on pg database test, data count: 182104; geom type: multipolygon, 353MB
When generating a thumbnail with the following code:
Service memory will increase a lot, and not released, continue to increase.
map.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Map srs="+proj=longlat +ellps=GRS80 +no_defs +type=crs">
  <Style name="default">
    <Rule>
      <PolygonSymbolizer fill="#d5f001" fill-opacity="1"/>
      <LineSymbolizer stroke="rgb(76, 161, 45)" stroke-opacity="1" stroke-width="0.5" stroke-dasharray="5,0"/>
      <MaxScaleDenominator>279541132.0782576</MaxScaleDenominator>
      <MinScaleDenominator>33.303899743746626</MinScaleDenominator>
    </Rule>
  </Style>
  <Layer name="default" srs="+proj=longlat +datum=WGS84 +no_defs +type=crs">
    <StyleName>default</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="application_name">map-node</Parameter>
      <Parameter name="connect_timeout">30</Parameter>
      <Parameter name="host"><IP_ADDRESS></Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="dbname">test</Parameter>
      <Parameter name="user">postgres</Parameter>
      <Parameter name="password">postgres</Parameter>
      <Parameter name="table">(select * from "geodata"."test_py") as mztable</Parameter>
    </Datasource>
  </Layer>
</Map>

generate the thumbnail code
  const mapnik = require("@mapnik/mapnik");
  const fs = require("fs");

  mapnik.register_default_fonts();
  mapnik.register_default_input_plugins();

  const map = new mapnik.Map(256, 256);
  const xmlPath = path.resolve("map.xml");
  map.load(xmlPath, function (err, map) {
    console.log(err);
    map.zoomAll();
    const im = new mapnik.Image(256, 256);
    map.render(im, function (err, im) {
      im.encode("png", function (err, buffer) {
        fs.writeFileSync("map.png", buffer);
      });
    });
  });

Start the service with the PM2
http://localhost:3000/

MEM: 84MB

generate map thumbnail
http://localhost:3000/generate
MEM: 84MB → 391MB

wait 5 minutes later, MEM: 391MB

generate map thumbnail again
http://localhost:3000/generate
MEM: 391MB → 690MB

test code, (no pg table data).

@JaylanChen - thanks for testing! To try to narrow down the issue, could you try replacing
im.encode("png", function (err, buffer) {
        fs.writeFileSync("map.png", buffer);
      });

with something like
im.save("map.png", function (err) {
        if (err) throw err;
      });

test code
  map.load(xmlPath, function (err, map) {
    console.log(err);
    map.zoomAll();
    const im = new mapnik.Image(256, 256);
    map.render(im, function (err, im) {
      if (err) throw err;
      const imagePath = path.resolve("test/map.png");
      im.save(imagePath, function (err) {
        if (err) throw err;
      });
    });
  });

test again

memory leak persists.

test gdal with natural_earth.tif
<Map srs="+proj=longlat +ellps=GRS80 +no_defs +type=crs">
    <Style name="raster">
        <Rule>
            <RasterSymbolizer/>
        </Rule>
    </Style>
    <Layer name="layer" srs="+proj=longlat +ellps=GRS80 +no_defs">
        <StyleName>raster</StyleName>
        <Datasource>
            <Parameter name="type">gdal</Parameter>
            <Parameter name="file">data/natural_earth.tif</Parameter>
        </Datasource>
    </Layer>
</Map>

servce started:

http://localhost:3000/gengdal
once:

twice:

memory leak persists.

@JaylanChen - Thanks for great self-contained test cases 👍. I had a chance to run your app. I'm not, yet, convinced there is a memory leak, though. I'm seeing high but stable memory usage with http://localhost:3000/gengdal. And GC is reclaiming memory overtime. So far I only tested on macOS. I'll try running on Linux as well.
But I noticed your code can (should!) be improved. You're creating new mapnik.Map + load(<xml>) per request. This is extremely inefficient and is draining OS resources( db connections, file descriptors etc). To make your app scalable and improve performance you should find a way to create bunch of Map objects, load XML and re-use them. You can achieve this by using object pool.
HTH.

@JaylanChen - Thanks for great self-contained test cases 👍. I had a chance to run your app. I'm not, yet, convinced there is a memory leak, though. I'm seeing high but stable memory usage with http://localhost:3000/gengdal. And GC is reclaiming memory overtime.
So far I only tested on macOS. I'll try running on Linux as well.
But I noticed your code can (should!) be improved. You're creating new mapnik.Map + load(<xml>) per request. This is extremely inefficient and is draining OS resources( db connections, file descriptors etc). To make your app scalable and improve performance you should find a way to create bunch of Map objects, load XML and re-use them. You can achieve this by using object pool. HTH.

Thank you for your advice. Actually I used Pool to cache an instance of mapnik.
this code only for test.

I also tested it in the Linux ARM64 environment.
Server: Ubuntu-22.04
Node: v20.18.0
The initial memory is about 67 mb. (Wait 2 minutes after startup)

curl http://localhost:3000/gengdal
MEM: 67mb → 80.6mb

Wait few minutes, MEM: 80.8mb

curl http://localhost:3000/gengdal     again.
MEM: 84.6mb → 92.3mb

Wait few minutes, MEM: 92.0mb

@JaylanChen - I did some testing on both macOS and Linux (Ubuntu 24.04) and I'm seeing stable memory usage over time.
I did some modification to your app.js and settings, see below.
I'm using OSM data and XML file (mapnik.xml) generated as per
https://github.com/gravitystorm/openstreetmap-carto
https://github.com/mapbox/carto
For load testing I'm using https://www.artillery.io/  e.g
DEBUG=http artillery run mapnik-load-test.yml

mapnik-load-test.yml

config:
   target: http://localhost:3000
   phases:
      - duration: 60
        arrivalRate: 1
        rampTo: 5
        maxVusers: 20
        name: Warm up
      - duration: 30m
        arrivalRate: 5
        maxVusers: 50
        name: Ramp up load

   processor: "./location_generator.js"

scenarios:
    - flow:
      - get:
          url: "/generate_map?easting={{ easting }}&northing={{ northing }}"
          beforeRequest: getRandomLocation

location_generator.js

const fs = require('fs');
const mapnik = require("@mapnik/mapnik");
const json = JSON.parse(fs.readFileSync('./data/Trees.geojson', 'utf8'));
const num_features = Object.keys(json.features).length;

const tr = new mapnik.ProjTransform(new mapnik.Projection("epsg:4326"),
                                    new mapnik.Projection("epsg:3857"));

const generateRandomKey = (length) => Math.floor(Math.random() * length);

const getRandomLocation= (requestParams, context, ee, next) => {
  var key = generateRandomKey(num_features);
  const lon = json.features[key].geometry.coordinates[0];
  const lat = json.features[key].geometry.coordinates[1];
  const coord = tr.forward([lon, lat]);
  context.vars.easting = Math.floor(coord[0]);
  context.vars.northing = Math.floor(coord[1]);
  next();
};

module.exports = {
  getRandomLocation,
};

pm2.config.js

module.exports = {
  apps: [
    {
      name: 'mapnik-test',
      script: './src/app.js',
      instances : "4",
      exec_mode : "cluster"
    },
  ],
};

app.js

const express = require("express");
const mapnik = require("@mapnik/mapnik");
const path = require("path");
const fs = require("fs");
const genericPool = require("generic-pool");
const { pid } = require('node:process');

mapnik.register_default_fonts();
mapnik.register_default_input_plugins();

const app = express();
const port = 3000;

const map_factory = {
  create: function() {
    const map = new mapnik.Map(4*256, 4*256);
    const xmlPath = path.resolve("../openstreetmap-carto/mapnik.xml");
    //const xmlPath = path.resolve("test/gdal_map.xml");
    map.loadSync(xmlPath);
    console.log(`--> Load Map pid:${pid} xml:${xmlPath}`);
    return map;
  },
  destroy: function(map) {
    delete map;
    console.log(`<-- Destroy Map ${pid}`);
  }
};

const opts = {
  max: 6,
  min: 2
};

const pool = genericPool.createPool(map_factory, opts);

app.get("/", (req, res) => {
  res.send("Hello World, express & mapnik!");
});

app.get("/generate_map", (req, res) => {
  const mapPromise = pool.acquire();
  mapPromise
    .then(function(map) {
      var easting = +req.query.easting;
      var northing = +req.query.northing;
      var bbox = [easting - 1000, northing - 1000, easting + 1000, northing + 1000];
      map.zoomToBox(bbox);
      const im = new mapnik.Image(4*256,4*256);
      map.render(im, function(err, im) {
        if (err) throw err;
        im.encode('png256', function (err, buffer) {
          if (err) throw err;
          res.type('png');
          res.send(buffer);
          console.log(`==> pid:${pid} req(x:${easting} y:${northing}) res(size:${buffer.length})`);
          pool.release(map);
        });
      });
    })
    .catch(function(err) {
      res.send(`FAIL:${err}`);
    });
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

process.on('SIGINT', function() {
  pool.drain().then(function() {
    pool.clear();
  });
});

Generally, the small amount of data (the amount of data covered by a single tile picture) will not continuously increase in memory; when the amount of data is relatively large (the threshold is not clear), it will not be released.
I use the thumbnail of the entire map to reproduce the scene where a single tile picture contains a large amount of data.
I downloaded the osm us-pacific data and imported it into the pg db using osm2pgsql.
osm2pgsql -d osm-us-pacific -U postgres -P 5332 -H <IP_ADDRESS> -U postgres -W -C 25000 us-pacific-latest.osm.pbf

I updated the test code adding logic to the pool of the map instance.(This is similar to your test code, and the same as real use).
After the service starts, the memory takes up about 95mb.

http://localhost:3000/genpg
The first time: 447mb

If requested again, the memory will also be increased.
the second time: 862mb

the third time: 928.9mb
the fourth time: 931.6mb

If there is no concurrency (instances remain minimum 2), the memory stabilizes but is not released. If concurrency occurs, such as 4 requests, two more instances are created and the memory is increased again. (1.7gb)

An instance takes up so much memory, is there something wrong?

@JaylanChen - I'm wondering if "forking" processes might be related to this issue. Could you try "cluster" mode e.g
module.exports = {
  apps: [
    {
      name: 'mapnik-test',
      script: './src/app.js',
      instances : "4",
      exec_mode : "cluster"
    },
  ],
};

@JaylanChen - I'm wondering if "forking" processes might be related to this issue. Could you try "cluster" mode to see if memory usage pattern changes? e.g
module.exports = {
  apps: [
    {
      name: 'mapnik-test',
      script: './src/app.js',
      instances : "4",
      exec_mode : "cluster"
    },
  ],
};

full table data
Initial state memory

the first request, the node with id 1 is responsible for processing the request:

the second request, the node with id 3 is responsible for processing the request:

the third request, the node with id 1 is responsible for processing the request:

pm2 restart pm2.config.js

concurrent with 20 requests

five mapnik instances were created for each node (two were already created when the pool was initialized). the memory of each node is about the same.

concurrent with 20 requests again. reuse the map instance, with less memory increase.

(select * from planet_osm_polygon where way_area < 50) as t1

3 separate requests.

pm2 restart pm2.config.js
concurrent with 20 requests
due to the small amount of data, the single request time is short, with only 3 nodes, and an additional instance is created.
the node with id 1 creates no additional map instance and has a little smaller memory than the other nodes.

HTP.

@JaylanChen - It looks like defining NAPI_EXPERIMENTAL improves memory management of a running node process. I'm going to do more testing and if everything is OK I'll release development package for you to give it a try.
ref -> https://github.com/nodejs/node-addon-api/issues/1213

When the new development package is released, please let me know that I can help test the validation.

@JaylanChen => npm install<EMAIL_ADDRESS>Give a try and let me know ^

Same as in the previous version.
I have also tested the following code
'use strict'
const mapnik  = require("@mapnik/mapnik");

for (var i = 0; i < 10000000; ++i)
{
  var im = new mapnik.Image(256, 256);
  if (i % 10000 == 0)
  {
    const memoryUsage = process.memoryUsage();
    console.log('Memory Usage:', memoryUsage);
    // if (global.gc) {
    //   global.gc();
    // } else {
    //    console.log('Garbage collection unavailable.  Pass --expose-gc '
    //                + 'when launching node to enable forced garbage collection.');
    // }
  }
}

@JaylanChen  - my mistake, I built using node v20 headers on linux-x64. I just published new dev package for you to test on linux x86_64  - npm install<EMAIL_ADDRESS>Following script now completes for me (before was running out of memory, including<EMAIL_ADDRESS>RSS is still growing slightly over time, but overall memory usage is significantly better (hoping I published correct prebuilds 🤞)
const mapnik  = require("@mapnik/mapnik");

for (var i = 0; i < 10000000; ++i)
{
  const im = new mapnik.Image(256, 256);
  if (i % 1000 == 0)
  {
    const memoryUsage = process.memoryUsage();
    const json = JSON.stringify(process.memoryUsage())
    console.log(`\nCount=${i} Memory Usage:${json}`);
  }
}

@JaylanChen
Adding missing context here -

npm install<EMAIL_ADDRESS>NAPI_EXPERIMENTAL=1  +  AdjustExternalMemory.
AdjustExternalMemory is called every timemapnik.Image creation or destruction. Memory usage comparable to Buffer.alloc but poor performance when allocating many objects in a tight loop (similarly to Buffer)

npm install<EMAIL_ADDRESS>NAPI_EXPERIMENTAL=1  better memory management as finalizers are called more often.

SOLUTION! - cache and reuse mapnik.Image together with mapnik.Map object in a pool  e.g [image, map] - low memory impact + less memory allocations => better performance

Not accounting for external memory allocations in c++ land is a design choice. The whole issue is easily mitigated with caching/reusing of mapnik.Image objects. I'm leaning towards leaving things as the are for the time being. Hope this makes sense, let me know.

Sorry for not testing the feedback in time.
In my test, 4.6.6-dev2, 4.6.6-dev3 is the same as before;
node： v22.11.0
Is there something wrong with my test code?
I have a question, why universal code, but different data filter conditions, different memory usage?

v4.6.6-dev2

filter conditions
data count
initial mem
once req /genpg
mem increase

None
687099
102mb
454mb
≈352mb

way_area < 50
21572
102mb
107mb
≈5mb

way_area >= 50
665527
103mb
451mb
≈348mb

way_area < 30000
496391
103mb
210mb
≈107mb

way_area >= 30000
190708
102mb
350mb
≈248mb

v4.6.6-dev3

filter conditions
data count
initial mem
once req /genpg
mem increase

None
687099
99mb
451mb
≈352mb

way_area < 50
21572
99mb
104mb
≈5mb

way_area >= 50
665527
98mb
448mb
≈350mb

way_area < 30000
496391
98mb
206mb
≈108mb

way_area >= 30000
190708
98mb
347mb
≈249mb

According to the current phenomenon, when rendering the tile image, the corresponding data still occupies the memory. Should the data usage be released?
Is it more reasonable to keep only the memory of the map instance?

@JaylanChen  - thanks for helping testing memory usage. I had a chance to look into this again. I loaded us-pacific-latest.osm.pbf and used way_area >= 50/way_area < 50 filters in *.xml.  I'm observing increased  memory usage when query returns many features as in your table above ^.
The issue (as I understand) is that memory allocations in native c++ code are not accounted for by JS GC. This is by design and the only way to trigger more frequent GC sweeps is to use NAPI::AdjustExternalMemory which best avoided (performance!).
It seems consensus is that unless high RSS usage causes OOM it can be ignored and JS GC will do the right job managing process(s) memory e.g
https://github.com/nodejs/help/issues/4141#issuecomment-2016291166
I also tested sync and async versions of loading mapnik.Map, creating mapnik.Image and rendering in a loop in valgrind
( ref https://github.com/nodejs/node/blob/main/doc/contributing/investigating-native-memory-leaks.md ).
I'm seeing small amounts (100 bytes-1K) of unaccountable memory on exit. This is expected and I don't see this as an issue.
Can you trigger OOM or you're just concerned about high RSS usage?

I have read the above instructions and understood the difference in memory management between node and c + +;
Yes, I am more concerned about high RSS usage; because in previous use, memory increases too fast due to individual tile requests (many features); causing insufficient memory errors.
Next, I will try to set the maximum node memory and see if I can avoid this problem.
Thank you for your help.
I ll close this issue first and create a new issue if there are other issues.
If you can open the sponsor, so I can give you a cup of coffee to express my thanks.


A template can be created though no image is selected

Steps to reproduce:

Create a template, fill in template name, CPU, and memory
Selecting no image and click the create button

Result:
A template can be created though no image is selected

@DoNotSayYes vm image is not required for VM template.

On the template create page, when modifying the default disk, what's the purpose of selecting image. @guangbochen

user has to choose the image when creating the VM, we just don't want to force them to select one when creating a VM template.

user has to choose the image when creating the VM, we just don't want to force them to select one when creating a VM template.
but we should possibly change the Select Image to Image and make it optional in the VM template page,
also add (optional) next to the choose an image label, thanks cc @WuJun2016

If users select an image when creating a template, it will be populated in the image dropdown and not editable when editing the default disk, this doesn’t seem like optional at all. @guangbochen

While editing a disk on the VM template create page, why the image marks as a required field, but actually, it is not. @WuJun2016

Validated


Optimize Clipping system

Linking
Fixes #466
Problem
Currently clipping system is a bit more inefficient because it assigns 12 panels to an entity although 6 panels may be good enough and it unnecessarily creates a new BufferGeometry in update().
Changes for solution
Optimize and clean up.

Assigns 6 panels to an entity
Avoid new BufferGeometry creation in update()
Remove some duplicated codes

Breaking changes
Limiting clipping.geometry to one segment BoxGeometry for simplicity.
@michaelthatsit
The current implementation seems that support for complex ClippingGeometry shapes is also being considered. However, there are also some codes that seem to assume BoxGeometry. In this PR, I would like to propose changing the specification to assume BoxGeometry for simplicity for now. Introducing complex shape and logic makes it easier for bugs to creep in, such as in the case of 12 planes. We can consider how to support for complex shapes in the future. I believe that keeping things simple will also make it easier to make improvements in the future.

Required to Merge

[ ] PASS - all necessary actions must pass (excluding the auto-skipped ones)
[ ] TEST IN HEADSET - main dev-testing-example and any of the other examples still work as expected
[ ] VIDEO - if this pr changes something visually - post a video here of it in headset-MR and/or on desktop (depending on what it affects) for the reviewer to reference.
[ ] TITLE - make sure the pr's title is updated appropriately as it will be used to name the commit on merge
[ ] BREAKING CHANGE

make a pr in the documentation repo that updates the manual docs to match the breaking change
note: the docs underneath the Javascript API section come automated from the jsdocs inline with the code itself
link the pr of the documentation repo here: #pr
that documentation repo pr must be approved by @lobau

Clipping behaves as expected! and simplifying to BoxGeometry makes sense, supporting others geometries would be valuable but can remain out of scope for now.


more efficient getBlobSize()

fix #5261
From a cursory investigation, it seems to be faster by about 44% on average (from 7.8 ms down to 3.45 ms).

That's pretty sizable perf improvement! I'd guess it's mostly copes from not needing to do memory copies (which are not very cheap in relative terms :))


Missing outline in High Contrast Mode for video in Welcome page.

Detailed description

Describe in detail the issue you're having.

Setup needed for HCM:
Open IBM Docs in FF
Hit Shift+Alt+PrtSc and start High Contrast Mode
After question if you want to enter to HCM wait few sec and everything on view should be change to HCM(depends on thinkpad older WS did not offer question and it took 1-3 seconds to load)
In some cases refresh of page is required.

Is this a feature request (new component, new icon), a bug, or a general
issue?
BUG
Is this issue related to a specific component?

What did you expect to happen? What happened instead? What would you like to
see changed?

What browser are you working in?
FF 89.0, Windows 10

What version of Carbon for IBM.com are you using?

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?

Steps to reproduce the issue

Open https://ibmdocs-dev.mybluemix.net/docs/en
Navigate with tab to  video
3.....

Actual  behavior:
Currently video  is excluded  and  user  is not able to  go through  it because outline is missing in HCM.
Expected behavior:
When user work in HCM and navigate with tab, expectation is  video on  welcome page is part of  whole navigation and user is able  to  navigate and run in  properly.
Additional information

https://accessabilly.com/accessibility-issues-concerning-windows-high-contrast-mode/
https://www.maxability.co.in/2021/06/13/windows-high-contrast-mode-and-accessibility-testing/
https://johnsweetaccessibility.com/2020/06/focus-style-strategies/

@peterdobal It would be most helpful if you can provide screenshot from the Accessibility Checker where this issue has been flagged as well if the checker says it's a violation, a needs review, or a recommendation.

Wer talking about main video  on Home page or welcome page and also about different  accessibility tool or approach then IBM Accessibility Checker.

@Praveen-sr Can you have Ram look at this issue to determine the severity.  Thanks.

Spoke to Ram in our Prod QA meeting this morning.  He said that WCAG does not require High Contrast Mode (HCM) testing.  He will talk to his testing team to find out what additional % time would be required if the HCM testing would be added to scope.
The priority of this defect would be High if this fix is going to be done.

If this HCM testing was added for all components, the accessibility testing would increase by about 15 %.

@peterdobal Due to our current accessibility budget, we have not included HCM testing this year as we've been focused on WCAG 2.1 level AA.  As a result, we will move the HCM issues to Backlog until next year.

Hello , can you please give us update regards above mentioned issue, thanks