Add example for wasm_threads usage

Would be an example for #680.

Thanks for the PR. That's awesome. I think we already have something for the headers on main. I'll try to document that. So we could add this too.

Using trunk from main or the most recent -alpha release, you can add:
[serve]
headers = { "X-Foo" = "bar" }

@ctron If you've got something else let me know. I think this is about as well documented as it can be, I hope to avoid issues being created about this (if you look at wasm_thread issues then sadly many people did not read the documentation properly).
And thank you for the hint about the .cargo/config.toml file working for this at all, and being respected by trunk. IDK if I had found this otherwise.

Cool, thanks. One think that's missing, sorry for overlooking that before, is to add it to the list of CI example tests:
https://github.com/trunk-rs/trunk/blob/f65cc10ab2722c1250cabb9a454d055379a23fee/.github/workflows/ci.yaml#L164-L180

right. that would've been to easy. The pipeline doesnt have nightly. My pipeline uses dtolnay/rust-toolchain@stable to get the toolchain, and that respects toolchain overrides. But here the CI is more complicated, doesn't look like that'd work. I'm uncertain if my example fits in there at all, with how you use trunk --config.
I won't be able to get to this until tomorrow evening at the soonest.

No worries, take your time. I think it's close!

Hmm the failure wasnt because no nightlsy was present, but because it just used stable. In other words, it ignored the toolchain file. The --config flag is probably the reason. @ctron, I see 3 paths forward.

trunk --config is intended to act just as if trunk was invoked in said directory, which means that this would need fixing, since currently theres a difference whether I change to the example/wasm_threads directory and invoke trunk or call it with --config from root. In the first case it respects the tool override, in the other it does not.
if that is as intended, or will be fixed later, we could either make a specific job to test --config with intended situations or drop it, and then switch to the example directory in the CI and run trunk build in there directly.
I could make a separate CI for this example (or drop running it in CI, but considering its using nightly and all that it'd probably be a good idea to keep it).

In any case where we run this in the CI, we will probably have to further adjust the CI to download the correct toolchain (nightly with some additional components for this example, perhaps other modifications like additional modules for future examples). So far dtolnay/rust-toolchain has worked well for me, as I said, it automatically respected my toolchain override and downloaded the nightly together with the also specified rust-src component changed the toolchain file.

So having a rust-toolchain.toml should be sufficient. At least, that would be my expectation. cargo would automatically download the correct rust version.
So I think the problem is with 1.) … that it's not respecting the base directory of the config file.

Looks like that's more a cargo issue https://github.com/rust-lang/cargo/issues/11036#issuecomment-1233237295 … however, I think we need to fix it.

At least, that would be my expectation. cargo would automatically download the correct rust version.

Yeah, you seem to be right, looking closer at the logs this seems to be what's happening.

Looks like that's more a cargo issue https://github.com/rust-lang/cargo/issues/11036#issuecomment-1233237295

Okay, that would make sense if trunk invokes it like that.
So about that fix. Still, 3 ways.

Fix the issue upstream. Not a real solution. Assuming we do manage to solve this, it'd take a while to propagate here, and anyone with an outdated version of cargo still has the issue.
Always change the directory in the pipeline as a fix for this, while staying uncomplicated
Apply a specific fix for this example, with a link to the reason. I think the best way would be to make the example list in the ci file into a list of dicts with optional field 'cd' or similar, and depending on that we either use trunk - - config or cd path && trunk.

How often do you expect that --config is used? The example readme already has a bunch of qualifiers, so if it's not used often I'd leave a notice about this issus out of there. People should be able to figure out a fix (I explicitly mention nightly as required, and the compiler complains that we do something only allowed on nightly). Otherwise I can also add it I guess.

I think I've a PR for this: https://github.com/trunk-rs/trunk/pull/844

I merged this PR. So maybe you can just rebase and we see if this does the trick.

Nice, so we were able to solve this ourselves. It worked locally, so I think this should be it ;-P.

Thanks for finishing this up. That's a great example!

I've just tried the new example and it works... mostly.
Most thread finish as the should, but a too much recursion error also appears. (Happens on both Librewolf and Chromium, using trunk 0.20.3
(The same too much recursion error also appear with my more complex app, but it could be a me issue)
Console:
INFO src/main.rs:15
Available parallelism: Ok(2) [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:29
hi number 1 from the main thread ThreadId(1)! [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:29
hi number 2 from the main thread ThreadId(1)! [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:22
hi number 1 from the spawned thread ThreadId(3)! [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:35
Start scope test on thread ThreadId(2) [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:22
hi number 1 from the spawned thread ThreadId(4)! [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
InternalError: too much recursion
2 [wasm_threads-d4756fe60b235b5f_bg.wasm:338386:1](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f_bg.wasm)
INFO src/main.rs:42
hello from the first scoped thread ThreadId(5) [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:44
a = [1, 2, 3] [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:50
a[0..2] = [1, 2] [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:59
Hello from scope "main" thread ThreadId(2) inside scope. [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:53
hello from the second scoped thread ThreadId(6) [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)
INFO src/main.rs:68
Scope done x = 4, a.len() = 4 [wasm_threads-d4756fe60b235b5f.js:408:17](http://<IP_ADDRESS>:8080/wasm_threads-d4756fe60b235b5f.js)

Any ideas what's going on?

I've seen this too at times. It went away reliably in release mode though. And since I've used this in my App which always compiles dependencies with optimizations and it works fine.
I'm not entirely sure how it comes to be, but I don't think that's got anything to do with trunk.

Yes, compiling in release mode fixes it, weird.
I don't remember seeing this this error when compiling wasm_thread using wasm-bindgen directly (But it has been some time).

It going away with optimizations is probably coming from something like tail recursion optimization.
I'm mostly surprised where that amount of recursion is coming from. But I can't really see this being caused by trunk. It going away with optimizations on rust code means its gotta be in rust code - unless IÄm missing something -, and AFAIK trunk doesn't add a lot, or nothing, of that to the runtime of the website, and that optimization setting doesn't affect trunk either.
I'm also not entirely sure whats the result of that error either.
So if you add this to the Cargo.toml it also goes away:
[profile.dev.package."*"]
opt-level = 2

This will make clean rebuilds slower tho.
I did not test wasm_thread on its own, to be clear. I did never clone their repo.

Yes, optimizing dependencies fixed it for me.
I might be work noting this in the README.md of the exaple.

I'll add it and improve grammar in a pr. I'll be terse, as I'm still not certain of whats really going on.


jQBrowser.mobile returns undefined instead of false

Some of the variables are not initialized to false:
EXISTING:
if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone ||
browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ "windows phone" ]) {
browser.mobile = true;
}
checking for jQBrowser.mobile on a desktop browser will return 'undefined' instead of false.
FIX:
if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone ||
browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ "windows phone" ]) {
browser.mobile = true;
} else {
browser.mobile = false;
}
The same problem for browser.desktop, browser.safari, browser.xyz

I'd be reluctant to change this as it breaks backward-compatibility, but TBH it's not a problem if you just check for falsy values instead of strictly false, e.g.,
if (!jQBrowser.mobile) { } vs if (jQBrowser.mobile === false) { }
I am really not sure here...

+1 to ^^

@gabceb To be clear, who are you +1'ing, me or the OP? Just want to fully understand the discussion. :)

Closing with no intention to fix as current behavior is acting as designed. Also, the object you receive describes the browser it detected and any attributes it contains. It is not supposed to list attributes that do not apply to it (like .webkit if IE is detected, as IE uses Trident).


Create maintenance branch on x.y.0 releases if it doesn't exist

Closing a milestone for any x.y.0 release (including pre-releases like 1.2.0-Beta1) should create a new branch for this release (e.g. 1.2.x) if it doesn't exist. The release is then tagged from this support branch, with master being freed up for being a new minor/major version.

FYI. https://github.com/rollerworks/version

Fixed in #23.


[CU-8686fahv2] Adds publish buttons for model training

Task linked: CU-8686fahv2 Image Training Enhancements


Corrupt point clouds?

Sorry I  first posted this on the potree repo
I would like to switch from the 1.8 release of potree and started testing first the 2.0 release and now 2.1 and have an issue.
The potree generates fine in 1.8 but seems to become corrupt in both 2.0 and 2.1. The output from the converter looks fine to me (shown below) but when loading it using the viewer_template.html that comes with the releases only a very small part of the scene is shown.
More than happy to help debug and can provide the las file (record format 7) that i am trying to convert.
Also tested with record format 2 on file version 1.3 and 1.4.
Tested to convert both using the windows pre-built release binary and linxus binares same outcome
The input las point cloud loads ok in cloud compare...
The outcome seems ok.
Edit:
I have added metadata.json, lasinfo and also a screenshot when loaded in the viewer_template.html
The page is served using a python debug http server: python -m http.server 8000
Also tried a publicly available las file with the same result:
https://www.neonscience.org/resources/learning-hub/tutorials/plasio-view-pointclouds
Edit 2:
The plot thickens.... using the potreedesktop both las files generate a fin viewable potree...  however moving that potree and viewing it using the viewer that is part of the extractor release the same problem is there...
Edit 3
Ok so i got the 1.8 potree release started. Running the potrees under this release works ok so i will leave it at that...  ;)
If someone else has the same issue the reason for the problem was that the server did not support HTTP_RANGE and instead served the entire file (!)

#threads: 8
#paths: 1

output attributes:
name                              offset    size
================================================
position                               0      12
intensity                             12       2
return number                         14       1
number of returns                     15       1
classification flags                  16       1
classification                        17       1
user data                             18       1
scan angle                            19       2
point source id                       21       2
gps-time                              23       8
rgb                                   31       6
================================================
                                              37
================================================
cubicAABB: {
        "min": [-3.651000, -2.560000, -1.565000],
        "max": [48.155000, 49.246000, 50.241000],
        "size": [51.806000, 51.806000, 51.806000]
}
#points: 10'000'000
total file size: 343.3 MB
target directory: 'test_converted'
maxPointsPerChunk: 500000

=======================================
=== COUNTING
=======================================
tStartTaskAssembly: 0.000473s
countPointsInCells: 0.544077s
finished counting in 1s
=======================================
createLUT: 0.059290s

=======================================
=== CREATING CHUNKS
=======================================
distributePoints0: 0.006941s
distributePoints1: 0.007111s
[33%, 1s], [DISTRIBUTING: 0%, duration: 0s, throughput: -na'n(i'nd)MPs][RAM: 0.3GB (highest 0.3GB), CPU: 57%]
[60%, 2s], [DISTRIBUTING: 80%, duration: 1s, throughput: 8MPs][RAM: 0.2GB (highest 0.5GB), CPU: 50%]
finished creating chunks in 2s
=======================================

=======================================
=== INDEXING
=======================================
[67%, 3s], [INDEXING: 0%, duration: 0s, throughput: -na'n(i'nd)MPs][RAM: 0.0GB (highest 0.5GB), CPU: 3%]
[67%, 4s], [INDEXING: 0%, duration: 0s, throughput: -na'n(i'nd)MPs][RAM: 0.4GB (highest 0.5GB), CPU: 64%]
[76%, 5s], [INDEXING: 27%, duration: 2s, throughput: 1MPs][RAM: 0.3GB (highest 0.5GB), CPU: 75%]
[91%, 6s], [INDEXING: 72%, duration: 3s, throughput: 2MPs][RAM: 0.1GB (highest 0.5GB), CPU: 52%]
sampling: 4.346169s
flushing: 4.353952s
metadata & hierarchy: 4.361220s
deleting temporary files

=======================================
=== STATS
=======================================
#points:               10'000'000
#input files:          1
sampling method:       poisson
chunk method:          LASZIP
input file size:       0.3GB
duration:              7.171s
throughput (MB/s)      48MB
throughput (points/s)  1.4M
output location:      test_converted
duration(chunking-count):       0.545
duration(chunking-distribute):  1.741
duration(chunking-total):       2.292
duration(indexing):     4.367

metadata.json:
{
	"version": "2.0",
	"name": "test",
	"description": "",
	"points": 3868726,
	"projection": "",
	"hierarchy": {
		"firstChunkSize": 2288,
		"stepSize": 4,
		"depth": 6
	},
	"offset": [-27.0322,<PHONE_NUMBER>0000001, 262.096],
	"scale": [0.0001, 0.0001, 0.0001],
	"spacing": 0.51215937499999997,
	"boundingBox": {
		"min": [-27.0322,<PHONE_NUMBER>0000001, 262.096],
		"max": [38.524199999999993, 257.2484, 327.6524]
	},
	"encoding": "DEFAULT",
	"attributes": [
		{
			"name": "position",
			"description": "",
			"size": 12,
			"numElements": 3,
			"elementSize": 4,
			"type": "int32",
			"min": [-27.0322,<PHONE_NUMBER>0000001, 262.096],
			"max": [12.289300000000001, 257.2484,<PHONE_NUMBER>0000001]
		},{
			"name": "intensity",
			"description": "",
			"size": 2,
			"numElements": 1,
			"elementSize": 2,
			"type": "uint16",
			"min": [0],
			"max": [0]
		},{
			"name": "return number",
			"description": "",
			"size": 1,
			"numElements": 1,
			"elementSize": 1,
			"type": "uint8",
			"min": [0],
			"max": [0]
		},{
			"name": "number of returns",
			"description": "",
			"size": 1,
			"numElements": 1,
			"elementSize": 1,
			"type": "uint8",
			"min": [0],
			"max": [0]
		},{
			"name": "classification flags",
			"description": "",
			"size": 1,
			"numElements": 1,
			"elementSize": 1,
			"type": "uint8",
			"min": [0],
			"max": [0]
		},{
			"name": "classification",
			"description": "",
			"size": 1,
			"numElements": 1,
			"elementSize": 1,
			"type": "uint8",
			"min": [0],
			"max": [0]
		},{
			"name": "user data",
			"description": "",
			"size": 1,
			"numElements": 1,
			"elementSize": 1,
			"type": "uint8",
			"min": [0],
			"max": [0]
		},{
			"name": "scan angle",
			"description": "",
			"size": 2,
			"numElements": 1,
			"elementSize": 2,
			"type": "int16",
			"min": [0],
			"max": [0]
		},{
			"name": "point source id",
			"description": "",
			"size": 2,
			"numElements": 1,
			"elementSize": 2,
			"type": "uint16",
			"min": [0],
			"max": [0]
		},{
			"name": "gps-time",
			"description": "",
			"size": 8,
			"numElements": 1,
			"elementSize": 8,
			"type": "double",
			"min": [0],
			"max": [0]
		},{
			"name": "rgb",
			"description": "",
			"size": 6,
			"numElements": 3,
			"elementSize": 2,
			"type": "uint16",
			"min": [0, 0, 0],
			"max": [255, 255, 255]
		}
	]
}

output from lasinfo

---------------------------------------------------------
  Header Summary
---------------------------------------------------------

  Version:                     1.3
  Source ID:                   0
  Reserved:                    0
  Project ID/GUID:             '00000000-0000-0000-0000-000000000000'
  System ID:                   '                                '
  Generating Software:         '                                '
  File Creation Day/Year:      59/2021
  Header Byte Size             235
  Data Offset:                 235
  Header Padding:              0
  Number Var. Length Records:  None
  Point Data Format:           2
  Number of Point Records:     3868726
  Compressed:                  False
  Number of Points by Return:  3868726 0 0 0 0
  Scale Factor X Y Z:          0.00010000000000 0.00010000000000 0.00010000000000
  Offset X Y Z:                0.0000 0.0000 0.0000
  Min X Y Z:                   -27.0322 191.6920 262.0959
  Max X Y Z:                   12.2892 257.2483 268.2031
  Spatial Reference:           None

---------------------------------------------------------
  Schema Summary
---------------------------------------------------------
  Point Format ID:             2
  Number of dimensions:        15
  Custom schema?:              false
  Size in bytes:               26

  Dimensions
---------------------------------------------------------
  'X'                            --  size: 32 offset: 0
  'Y'                            --  size: 32 offset: 4
  'Z'                            --  size: 32 offset: 8
  'Intensity'                    --  size: 16 offset: 12
  'Return Number'                --  size: 3 offset: 14
  'Number of Returns'            --  size: 3 offset: 14
  'Scan Direction'               --  size: 1 offset: 14
  'Flightline Edge'              --  size: 1 offset: 14
  'Classification'               --  size: 8 offset: 15
  'Scan Angle Rank'              --  size: 8 offset: 16
  'User Data'                    --  size: 8 offset: 17
  'Point Source ID'              --  size: 16 offset: 18
  'Red'                          --  size: 16 offset: 20
  'Green'                        --  size: 16 offset: 22
  'Blue'                         --  size: 16 offset: 24

---------------------------------------------------------
  Point Inspection Summary
---------------------------------------------------------
  Header Point Count: 3868726
  Actual Point Count: 3868726

  Minimum and Maximum Attributes (min,max)
---------------------------------------------------------
  Min X, Y, Z:          -27.0322, 191.6920, 262.0959
  Max X, Y, Z:          12.2892, 257.2483, 268.2031
  Bounding Box:         -27.0322, 191.6920, 12.2892, 257.2483
  Time:                 0.000000, 0.000000
  Return Number:        0, 0
  Return Count:         0, 0
  Flightline Edge:      0, 0
  Intensity:            0, 0
  Scan Direction Flag:  0, 0
  Scan Angle Rank:      0, 0
  Classification:       0, 0
  Point Source Id:      0, 0
  User Data:            0, 0
  Minimum Color (RGB):  0 0 0
  Maximum Color (RGB):  255 255 255

  Number of Points by Return
---------------------------------------------------------
        (1) 3868726

  Number of Returns by Pulse
---------------------------------------------------------
        (0) 3868726

  Point Classifications
---------------------------------------------------------
        3868726 Created, never classified (0)
  -------------------------------------------------------
        0 withheld
        0 keypoint
        0 synthetic
  -------------------------------------------------------

Screenshot:
https://ibb.co/LJDbQrW
(Trust me - it is not the entire model :))

As i found the root cause no need to keep the issue open

Hi, sorry I couldn't help but could you tell me what the issue was? Thanks!

Absolutely no problem -  i wrote the reason in the issue.
The solution i had set up did not support http range... which caused a whole lot of confusion for the viewer:)
Absolutely not converter related

Ahhh I see, that's good to know, thanks!


Hacken audit fix

Description
VEN-1038: L06. Division by Zero
VEN-1039: L07. Style Guide Violation
VEN-1040: L08. Functions that Can Be Declared External
VEN-1041: L09. Boolean Equality
VEN-1042: L10. Variable Shadowing
VEN-1043: L11. Unindexed Events
VEN-1046: L14. Use of Hard-Coded Values
Checklist

[ ] I have updated the documentation to account for the changes in the code.
[ ] If I added new functionality, I added tests covering it.
[ ] If I fixed a bug, I added a test preventing this bug from silently reappearing again.
[ ] My contribution follows Venus contribution guidelines.

For the style guides, I would update the .solhint.json file, setting this values:
{
  "extends": "solhint:recommended",
  "plugins": ["prettier"],
  "rules": {
    "code-complexity": ["error", 8],
    "compiler-version": ["error", ">=0.5.0"],
    "const-name-snakecase": "warn",
    "constructor-syntax": "error",
    "func-visibility": ["error", { "ignoreConstructors": true }],
    "max-line-length": ["error", 175],
    "not-rely-on-time": "warn",
    "reason-string": ["warn", { "maxLength": 64 }],
    "ordering": "error"
  }
}

We will need to add the dependency solhint-plugin-prettier too. After setting this file, the command npm run lint:sol will show how there are more cases where we have to move the functions because the order is wrong.

For the style guides, I would update the .solhint.json file, setting this values:
{
  "extends": "solhint:recommended",
  "plugins": ["prettier"],
  "rules": {
    "code-complexity": ["error", 8],
    "compiler-version": ["error", ">=0.5.0"],
    "const-name-snakecase": "warn",
    "constructor-syntax": "error",
    "func-visibility": ["error", { "ignoreConstructors": true }],
    "max-line-length": ["error", 175],
    "not-rely-on-time": "warn",
    "reason-string": ["warn", { "maxLength": 64 }],
    "ordering": "error"
  }
}

We will need to add the dependency solhint-plugin-prettier too. After setting this file, the command npm run lint:sol will show how there are more cases where we have to move the functions because the order is wrong.

If we keep a strict check for function ordering, we must change the order of the __gap[x] variable, which is openZepplin standard to avoid storage collisions and to place this variable at the end of the contract.

If we keep a strict check for function ordering, we must change the order of the __gap[x] variable, which is openZepplin standard to avoid storage collisions and to place this variable at the end of the contract.

I thought we had to put the __gap variable at the end of the state variables, not at the end of the contract. I think there is not collisions between the state variables and the rest of the definitions


Add in and check script

Would it be of use to anyone else to have a check that emitted a version that was some sort of hash of app bits and (generated) app manifest, along with an in to get both?
It'd be nice to drive pipelines a bit more semantically by knowing when an app has changed, rather than relying on passing whatever caused that change to propagate down the pipeline.

@DanielJonesEB I would love to see this functionality. would be nice to pass the metadata to subsequent jobs (for running smoke tests against a deployment for example)


E1 Pro PTZ not working

Hello, I've configured my E1 Pro using WebRTC, but following the PTZ config wiki, but no luck. Any hint?
Thanks

Change camera.reolink_e1_pro_profile000_mainstream to your camera and try it:
type: custom:webrtc-camera
entity: camera.reolink_e1_pro_profile000_mainstream
webrtc: false
ptz:
  service: onvif.ptz
  data_left:
    entity_id: camera.reolink_e1_pro_profile000_mainstream
    pan: LEFT
    move_mode: ContinuousMove
  data_right:
    entity_id: camera.reolink_e1_pro_profile000_mainstream
    pan: RIGHT
    move_mode: ContinuousMove
  data_up:
    entity_id: camera.reolink_e1_pro_profile000_mainstream
    tilt: UP
    move_mode: ContinuousMove
  data_down:
    entity_id: camera.reolink_e1_pro_profile000_mainstream
    tilt: DOWN
    move_mode: ContinuousMove
  data_zoom_in:
    entity_id: camera.reolink_e1_pro_profile000_mainstream
    zoom: ZOOM_IN
    move_mode: ContinuousMove
  data_zoom_out:
    entity_id: camera.reolink_e1_pro_profile000_mainstream
    zoom: ZOOM_OUT
    move_mode: ContinuousMove

I am using the webrtc for my reolink e1 pro
I do not have it as an entity_id
How would i do the ptz with it this way?

@allenrobberson you need to setup your camera with another integration for using PTZ services


Add: Output for ha_cluster_discovery and sap_system_discovery

This is an init PR for the ticket CFSA-166.
Quote from CFSA-166:
"""
We currently do have the Discovery health check loops report any output when they tick.
We should always report some output from all the health checks, both in case of success and failure.
It might also be worth re-thinking their error handling: for example, if the Agent is executed in a host that is not part of any SAP System, that discovery loop will still appear as green, while this is probably either a configuration mistake or an Agent malfunction.
Bear in mind that the output size is limited to 4KB, so we can't just dump extensive data there. Thus, this rework should go hand in hand with better logging.
Acceptance Criteria
The discovery loops have to report some human readable output to the Consul API, both in case of success and failure.
In case such health checks fail, a full trace of the occurred errors must be reported in the Agent logs.
A discovery loop health check failure must be reproduced and demonstrated live.
"""

@stefanotorresi is it going in the right direction? What should be added here?

Hey Aleksei, what I had in mind is a bit different.
Instead of using the log message as output, what I meant is that the actual Discovery interface should return both a string and and error (instead of just an error, as it is currently), and report a meaningful one-line message with some contextual information (for example, the number of systems newly discovered, or anything else).
To get an example of this, you can look at the check ticker:
https://github.com/trento-project/trento/blob/d49ebb555f7eb30154350b8c448388d597810c4c/agent/agent.go#L212-L227
As you can see there, we use the actual result of the checker as the Consul health check output.
What I would like to introduce is an actual result for the discovery loops as well, which means you need to slightly alter the Discovery interface and all its implementations.
I wouldn't just turn the existing logging message into the output, because that is meant to go in the console log, rather than the Consul Health Check metadata.

@stefanotorresi I have amended the PR, the Discover() function besides an error returns a string now. I really lack imagination, what should be in the string, except the same that in the error, but maybe in other words. I assume this is not what is expected, so I left the strings empty. The ClusterDiscovery class calls the cibadmin to check if the cliuster is ok, and if it's not it says it in the error (either "error while executing cibadmin" or "could not parse cibadmin status from XML").

@aleksei-burlakov Even though you think you don't have imagination, give a try hehe
Empty strings are useless, we need to put something. I have given some examples (take in mind that I took some seconds to make them, so you can for sure get better texts)

@arbulu89 thank you for reviewing. The important point is that I'm lacking imagination not to write something, but to write the text that should be there (#Occam's razor, #dry code). The first (string) variable looks excessive to me, because it repeats the second variable the err. In my understanding, we need the first variable to return more than 4 thousand characters of text.
Well, anyway I will write something not to return empty strings.

I found in https://golang.org/doc/tutorial/handle-errors that it's a common practice in go-lang to return a message alongside the error.

I found in https://golang.org/doc/tutorial/handle-errors that it's a common practice in go-lang to return a message alongside the error.

Yes, it is. We do it all the time in the project

@aleksei-burlakov Some comments.
Besides them, I think that you forget to apply these changes to the cloud discovery. I don't know if you need to even rebase this PR to get those changes, but as it implements the same interface, if we don't change it, it will fail

I think it was previously compiling w/o cloud discovery somehow. Strange. I have added the message string return value to the CloudDiscovery::Discover() method

By the way, you should move the systems.GetSIDsString out of the loop. It will always do the same

Good catch, changed!


Question: Type-Safe Initialisation of query and mutation vars

Apologies for opening an issue for a question :( but i didnt see a discussion tab on this repo. I was wondering how we could ensure type-safe intiialisation of a variable. for example
 final createXploringPostReq = GXploringPostReq(
        (b) => b
          ..vars.input.content = content
          ..vars.input.tags = tagsBuilder
          ..vars.input.countries = countriesBuilder
          ..vars.input.type = type
          ..vars.input.location = convertLocation(location),
      );

In the above, there is no compile time check to see if im missing a variable required by the graphql schema, is there any other way to init the request while ensuring full type-safety at compile time pleae ?

Discussion are mostly on Discord :) https://discord.gg/sSyq3EFd
To your question: Unfortunately no, not at the moment.
There are users looking into adding another way to generate code without using built_value. But I don't think this is going to ready soon.

@knaeckeKami  are right brilliant thanks, ill use discord for future discussions and yeah its fine i can manage to keep populating and paying extra attention.


Enable Graft Editor again

Mostly this disable to toggles for Sectionable, Blockable and Preview. I believe the best experience is to keep these always enabled. And then the changes to grafts are always reflected.

@superdav42 Is there a way to avoid use of the styling that the text has in the HTML?
I think it would be an improvement to have the text at some normal size and weight and to be left-justified (or right, if an RTL language).
At present, if the text is 24pt and bold centered, then the graft editor shows it that way. And if it is 7pt, left justified, it shows it that way.
Thoughts?

@superdav42 Is there a way to avoid use of the styling that the text has in the HTML?
I think it would be an improvement to have the text at some normal size and weight and to be left-justified (or right, if an RTL language).
At present, if the text is 24pt and bold centered, then the graft editor shows it that way. And if it is 7pt, left justified, it shows it that way.
Thoughts?

It doesn't make sense to me to change this. I assume we want to provide features so users can change the size and style of the text. It seems there are several types of grafts title, heading, introduction, xref and probably more. We need a way to display these different types and eventually change them. So for now just displaying them as it is should work. Also any number of tags should be allowed in the graft so it doesn't make sense to force them to a certain style.


Add a new npm package for shared helpers

What? This PR adds a new npm package @apollo/embed-helpers that contains shared code between @apollo/sandbox and @apollo/explorer.
Why? When we need to support new protocols, like @defer, multi part subscriptions, file upload, in our clients, we need to implement everything twice, in @apollo/sandbox and @apollo/explorer.
This is step one in migrating  @apollo/sandbox and @apollo/explorer to share this code.

make new npm package
install it in  @apollo/sandbox and @apollo/explorer, remove redundant code!

It might be nice to use some of these helpers in studio as well, so we only have 1 implementation of the defer stuff?
What do you think about splitting these into 2 helper packages explorer-helpers and embed-helpers?
Or I guess we could just use embed-helpers? I'm guessing there aren't any large deps in there 🤔

@Jephuff I like that idea! I think we could reuse constructMultipartForm and readMultipartWebStream specifically in Explorer. I'll split those out 🙇🏻

This needs to wait on release of https://github.com/apollographql/embeddable-explorer/pull/235


China_A_share_market_tushare AttributeError

When I run China_A_share_market_tushare.ipynb, the following error came accross. It seems the dataframe has no attribute date.

AttributeError                            Traceback (most recent call last)
Cell In[42], line 3
1 env_kwargs = { "stock_dim": stock_dimension, "hmax": 1000, "initial_amount": 1000000, "buy_cost_pct": 6.87e-5, "sell_cost_pct": 1.0687e-3, "reward_scaling": 1e-4, "state_space": state_space, "action_space": stock_dimension, "tech_indicator_list": config.INDICATORS, "print_verbosity": 1, "initial_buy": True, "hundred_each_trade": True }
----> 3 e_train_gym = StockTradingEnv(df=train, **env_kwargs)
File F:\FinRL-Tutorials\1-Introduction\meta\env_stock_trading\env_stocktrading_China_A_shares.py:82, in StockTradingEnv.init(self, df, stock_dim, hmax, initial_amount, buy_cost_pct, sell_cost_pct, reward_scaling, state_space, action_space, tech_indicator_list, turbulence_threshold, make_plots, print_verbosity, day, initial, previous_state, model_name, mode, iteration, initial_buy, hundred_each_trade)
80 self.rewards_memory = []
81 self.actions_memory = []
---> 82 self.date_memory = [self._get_date()]
83 self._seed()
File F:\FinRL-Tutorials\1-Introduction\meta\env_stock_trading\env_stocktrading_China_A_shares.py:451, in StockTradingEnv._get_date(self)
449 def _get_date(self):
450     if len(self.df.tic.unique()) > 1:
--> 451         date = self.data.date.unique()[0]
452     else:
453         date = self.data.date
File D:\Anaconda\envs\stock\lib\site-packages\pandas\core\generic.py:5902, in NDFrame.getattr(self, name)
5895 if (
5896     name not in self._internal_names_set
5897     and name not in self._metadata
5898     and name not in self._accessors
5899     and self._info_axis._can_hold_identifiers_and_holds_name(name)
5900 ):
5901     return self[name]
-> 5902 return object.getattribute(self, name)
AttributeError: 'DataFrame' object has no attribute 'date'

I want to ask this question too, do you find the answer?

I changed the codes to df['time'] or df['date']. It works for me.
On Thu, Apr 20, 2023 at 10:50 AM chalengr @.***> wrote:

I want to ask this question too, do you find the answer?
—
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_AI4Finance-2DFoundation_FinRL-2DMeta_issues_283-23issuecomment-2D1515636733&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=iIWsBpN06F9GttDzigzIfA&m=Fxn7nzAWLHkcjo8mgaccuIZoASCXFEZx1ORUFxMQ5OT3w2vwoVgdlSYEqguAH8WU&s=Wr12awWbEeWZ83vHyBDPhcXI4sRMkooHKVQNZb_7bdU&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_A6ATO3QZYIILMRXLAYURNUDXCCP77ANCNFSM6AAAAAAWKQYWMA&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=iIWsBpN06F9GttDzigzIfA&m=Fxn7nzAWLHkcjo8mgaccuIZoASCXFEZx1ORUFxMQ5OT3w2vwoVgdlSYEqguAH8WU&s=bRCe5WLK0kfL617ZMUAHEXhdTZM69ZOExl7b4L9cccY&e=
.
You are receiving this because you authored the thread.Message ID:
@.***>

I changed the codes to df['time'] or df['date']. It works for me.
…
On Thu, Apr 20, 2023 at 10:50 AM chalengr @.> wrote: I want to ask this question too, do you find the answer? — Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_AI4Finance-2DFoundation_FinRL-2DMeta_issues_283-23issuecomment-2D1515636733&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=iIWsBpN06F9GttDzigzIfA&m=Fxn7nzAWLHkcjo8mgaccuIZoASCXFEZx1ORUFxMQ5OT3w2vwoVgdlSYEqguAH8WU&s=Wr12awWbEeWZ83vHyBDPhcXI4sRMkooHKVQNZb_7bdU&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_A6ATO3QZYIILMRXLAYURNUDXCCP77ANCNFSM6AAAAAAWKQYWMA&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=iIWsBpN06F9GttDzigzIfA&m=Fxn7nzAWLHkcjo8mgaccuIZoASCXFEZx1ORUFxMQ5OT3w2vwoVgdlSYEqguAH8WU&s=bRCe5WLK0kfL617ZMUAHEXhdTZM69ZOExl7b4L9cccY&e= . You are receiving this because you authored the thread.Message ID: @.>

Could you please send me the changed code , my email is<EMAIL_ADDRESS>thank you.

just rename the col name works
train = train.rename(columns={'time': 'date'})


Add Neopixels LED support

add support for Neopixels DRGB

resolved by https://github.com/charlie-haley/flowcontrol/pull/18


feat: guard against premature call to getInstalledDevices

similar to https://github.com/micro-manager/mmCoreAndDevices/pull/476 but on the python side
it's important not to call getInstalledDevices before calling initializeDevice, otherwise you may never be able to query the peripherals of a given device (even after later initialization)

this won't be necessary with https://github.com/micro-manager/mmCoreAndDevices/pull/476 merged.


Added more colors and fixed color overlap

Added new (or unused) theme options (sent and received reply, and another accent variant colors) and fixed a color overlap i noticed on the button to go back to latest message in a chat. Redone this PR properly https://github.com/catppuccin/simplex/pull/7

Hey there, you will still need to run whiskers locally as part of this PR as they are not automatically generated.


cmd/go: unavailable vcs fails test

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.11beta3 windows/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)? Yes
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\()\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\()\Documents\Google\
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\()\AppData\Local\Temp\go-build152074326=/tmp/go-build -gno-record-gcc-switches

What did you do?
c:\Users\()\Documents\Google\golang\go\src>go test -run=TestMove -v cmd/go

If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
What did you expect to see?
c:\Users\Costa\Documents\Google\golang\go\src>go test -run=TestMove -v cmd/go
=== RUN   TestMoveGit
=== PAUSE TestMoveGit
=== RUN   TestMoveHG
=== PAUSE TestMoveHG
=== CONT  TestMoveGit
=== CONT  TestMoveHG
--- SKIP: TestMoveHG (1.39s)
--- PASS: TestMoveGit (34.37s)
    (same test output)
PASS
PASS    cmd/go  46.407s

What did you see instead?
c:\Users\Costa\Documents\Google\golang\go\src>go test -run=TestMove -v cmd/go
=== RUN   TestMoveGit
=== PAUSE TestMoveGit
=== RUN   TestMoveHG
=== PAUSE TestMoveHG
=== CONT  TestMoveGit
=== CONT  TestMoveHG
--- FAIL: TestMoveHG (7.39s)
    go_test.go:1079: running testgo [get -d vcs-test.golang.org/go/custom-hg-hello]
    go_test.go:1079: standard error:
    go_test.go:1079: go: missing Mercurial command. See https://golang.org/s/gogetcmd
        package vcs-test.golang.org/go/custom-hg-hello: exec: "hg": executable file not found in %PATH%

    go_test.go:1079: go [get -d vcs-test.golang.org/go/custom-hg-hello] failed unexpectedly in C:\Go\src\cmd\go: exit status 1
--- PASS: TestMoveGit (34.37s)
    go_test.go:1079: running testgo [get -d rsc.io/pdf]
    go_test.go:1080: running testgo [get -d -u rsc.io/pdf]
    go_test.go:1102: running testgo [build -o sink.exe sink]
    go_test.go:1105: running testgo [get -d -u rsc.io/pdf]
    go_test.go:1105: standard error:
    go_test.go:1105: package rsc.io/pdf: rsc.io/pdf is a custom import path for https://github.com/rsc/pdf, but C:\Users\Costa\AppData\Local\Temp\gotest245418038\src\rsc.io\pdf is checked out from https://github.com/rsc/pdfXXX

    go_test.go:1105: testgo failed as expected: exit status 1
    go_test.go:1107: running testgo [get -d -f -u rsc.io/pdf]
    go_test.go:1107: standard error:
    go_test.go:1107: # cd C:\Users\Costa\AppData\Local\Temp\gotest245418038\src\rsc.io\pdf; git pull --ff-only
        remote: Repository not found.
        fatal: repository 'https://github.com/rsc/pdfXXX/' not found
        package rsc.io/pdf: exit status 1

    go_test.go:1107: testgo failed as expected: exit status 1
FAIL
FAIL    cmd/go  46.407s

The test fails as one vcs (Mercurial in the example) is unavailable. Test should be skipped with the usual warning when vcs is unavailable. As a side remark, cmd/go tests are timing out after 10 minutes. As tests run in parallel as 'PAUSED" until all tests are listed as per output above, such errors never appear in short mode.

Assigned to @iWdGo, since a fix is pending in https://golang.org/cl/128195.

Issue can be closed as https://golang.org/cl/207700 moved relevant tests to scripts which include do not fail when VCS command is unavailable.
$GOPATH\golang\go\src>hg
'hg' is not recognized as an internal or external command,
operable program or batch file.

$GOPATH\golang\go\src>gotip version
go version devel +17c78e23f9 Tue Nov 19 19:51:37 2019 +0100 windows/amd64

$GOPATH\golang\go\src>gotip test cmd/go -v -run=Script/gopath_moved_repo
=== RUN   TestScript
=== RUN   TestScript/gopath_moved_repo
=== PAUSE TestScript/gopath_moved_repo
=== CONT  TestScript/gopath_moved_repo
go test proxy running at GOPROXY=http://<IP_ADDRESS>:54737/mod
    TestScript/gopath_moved_repo: script_test.go:192:
        WORK=$WORK
        PATH=******
        USERPROFILE=/no-home
        CCACHE_DISABLE=1
        GOARCH=amd64
        GOCACHE=$USER_PROFILE\AppData\Local\go-build
        GOEXE=.exe
        GOOS=windows
        GOPATH=$WORK\gopath
        GOPROXY=http://<IP_ADDRESS>:54737/mod
        GOPRIVATE=
        GOROOT=$GOPATH\golang\go
        GOSUMDB=localhost.localdev/sumdb+00000c67+AcTrnkbUA+TU4heY3hkjiSES/DSQniBqIeQ/YppAUtK6
        GONOPROXY=
        GONOSUMDB=
        PWD=$WORK\gopath\src
        TMP=$WORK\tmp
        devnull=NUL
        goversion=1.14
        :=;
        SYSTEMROOT=C:\WINDOWS
        WINDIR=C:\WINDOWS

        > env GO111MODULE=off
        # Test that 'go get -u' reports packages whose VCS configurations do not
        # match their import paths. (0.000s)
        > [!net] skip
        > [short] skip
        # We need to execute a custom Go program to break the config files.
        #
        # git will ask for a username and password when we run 'go get -d -f -u',
        # so we also need to set GIT_ASKPASS.


[Bug]  in the code block, if there is an emoticon package, an error will be reported

Initial checklist

[X] I agree to follow the code of conduct
[X] I searched issues and discussions and couldn’t find anything (or linked relevant results below)

Affected packages and versions
7.3.5
Link to runnable example
https://milkdown.dev/playground
Steps to reproduce

Expected behavior
emojis need to be parsed in code block
Actual behavior
The code block can't parse the emoji and will report an error
Runtime
No response
OS
No response
Build and bundle tools
No response

@Saul-Mirone   Do you have time to take a look?


How to create an Admin User and Client

Hi! I'm parsing dex and now developing my own app. I am trying to GET the list of the users registered in the client. I have read a few discussions in the issues and found out that I need to have Admin access in both User and Client.

Hi,
In order to create an admin user you have to make a POST request authenticating with the overlord secret to the admin endpoint (see https://github.com/coreos/dex/tree/master/schema/adminschema). And as for clients, i'm afraid the only way to promote a client to admin is by using SQL.(there is an Issue opened to address this https://github.com/coreos/dex/issues/327)

@TelanJ please refer to @miguelcubillo's comment. Closing this issue.


0.10.2 failing

Hi,
So after installing 0.10.2 over 0.10.1 I started having totally inconsistent reading.
I have 3 DS18B20 and so far all was OK.
The moment I upgrade the program has issues with finding sensors, or, invalid reading
Actually I am not able to say which one is when.
As per your example, I get either:
Invalid CRC!
or simply the sensor is omitted
Reverting to 0.10.1 solves the problem.
I did not change anything in my code, so maybe 0.10.2 has some breaking changes?

What is your platform?
Change:
# define CONFIG_BITBANG_TIMING TIMING_RELAXED

to
# define CONFIG_BITBANG_TIMING TIMING_STRICT

in file src/OneWireNg_Config.h and let me know about results.

it works with this setting
with relaxed it is... too relaxed ;-)
My system: ESP32-S2, IDE: Arduino, 3 sensors DS18B20 with 3 wires and 1 resistor connected to GPIO10 on ESP.
Let me know if you need more info.
Since these 3 sensors were measuring the temperature of my Power Supply, since today morning my Power Supply is not working (over/under temperature protection is based on them) - I need to find a way how to handle false alarms like this ;-)

I tested the relaxed timings on my ESP32 devkit (legacy version) and worked fine. I have some S2 board and will check the relaxed timing soon. I'm suspecting you use WiFi communication extensively on your setup with 1-wire sensors read-outs and this causes the problem you observed (WiFi interrupts re-entrant time critical 1-wire bit-bangs).
I will change the timing to strict, thanks for the catch.

Since these 3 sensors were measuring the temperature of my Power Supply, since today morning my Power Supply is not working (over/under temperature protection is based on them) - I need to find a way how to handle false alarms like this ;-)

Do you mean I spoiled something? ;)

;-) don't worry - this Linear Power Supply is 5V 10A for my Raspberry Pi farm. I upgraded libs today and it automatically went to 0V due to over temperature. It took me some time to diagnose, especially that Arduino is caching the compiled libs so simple downgrade of library was not successful - I had to ... you know - this and that. But finally I narrowed the issue to be the upgrade so all is back normal - "u mnie TERAZ dziala" as admin would say ;-)

With regards to WiFi - the power supply provides data to Home Assistant over MQTT so yes, WiFi always ON and MQTT on top of that. I could try to turn off WiFi fo the time when library is measuring - I will try. But it will then take time to reestablish connectivity - I will test and report sir!

Dzięki i fajnie, że rodacy też używają mojej biblioteki. Pozdrawiam ;)

Dzięki i fajnie, że rodacy też używają mojej biblioteki. Pozdrawiam ;)

I usually use SHT31 for my sensors, but since I needed more of them I decided to use DS18B20. I started with the standard onewire - NOT WORKING AT ALL! Yours is superb - before upgrade I mean ;-)

Now working again!
Thx.

This is with latest master patch, right?
BTW: What is this soft for controlling the power-supply you use?

I did not apply the patch yet - I understood the only change is what you already suggested, right?
The entire software is my "wypociny" with ESP32.
The screenshot is from Home Assistant.

Nie bądź taki skromny :-)

jak mi dasz maila to pogadamy przeciez bo widze, ze rodak z Krakowa ;)

<EMAIL_ADDRESS>

@pstolarz  Pewnie że używają :)
Waiting for platform.io update for this lib.
Got strange behavior on esp32 - method begin() from dallastemperature scans bus and found device.
But... Fetched temp reports device as disconnected.
Need more investigation here.

@homonto lepiej kanal na gitter.im zalozyc

@uzi18 Check the fix with strict timings and let me know about result. Looks like moving to relaxed timing in 0.10.2 was not clever move (I checked it on my ESP32 and worked fine but didn't launch extensive tests with WiFi). If you confirm the latest commit fixes the issue I'll release 0.10.3 with this fix immediately.

@homonto lepiej kanal na gitter.im zalozyc
Dobry pomysł. Można tam pogadać nieklawiaturowo też?

Założyłem grupę OneWireNg na tym gitterze. Jakby co to zapraszam. Później dodam jeszcze info o tej grupie na README. Dzięki za pomysł.

dodaj takie cos:

@homonto @uzi18 I've just released a new 0.10.3 version of the lib with bit-banging timings set to strict by default. It will take some time to sync the lib with the lib-repos (PlatformIO, Arduino). I'd be grateful if you could check the new version on your ESP32 setups with WiFi communications and let me know about its stability now. Thanks for the catch!

you mean: shut down all my RPi? ;-)
I will check and will let you know


Update Posts “references”

Automatically generated by Netlify CMS

👷 Deploy Preview for jchendriks-s5 processing.
🔨 Explore the source changes: eb5d7555111f5ed0526354f5f5f8845dce3cb4ca
🔍 Inspect the deploy log: https://app.netlify.com/sites/jchendriks-s5/deploys/61c599987eb9fe0008424d97


Issue resolved#253 added save & share buttons

added save and share buttons with the appropriate styling and features.The share options help the user to share the links to socials like WhatsApp, facebook, Instagram, Twitter and to copy the link to clipboard.
The link needs to be edited by the owner in the respective card items please do check those

ok i will be fixing it thanks for letting me know


Microsoft Graph API does not show custom extensions

According to the article: "Azure AD B2C extends the set of attributes stored on each user account. You can also read and write these attributes by using the Microsoft Graph API."
Attempting to retrieve the custom extension on a user resource does not work.
GET https://graph.microsoft.com/v1.0/users/{userId}/extensions/{extensionId}
The extensionId (either extension_X or extension_guid_X) results in 404.
GET https://graph.microsoft.com/v1.0/users/{userId}/extensions/
returns json with an empty value array.
Using the Azure Directory Graph API I'm able to retrieve the custom extension:
GET https://graph.windows.net/{tenantId}/users/{userId}?api-version=1.6
The custom extension is part of the JSON response under "extension_guid_X" as expected.

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

ID: 29fb9816-df6a-6f60-35d0-c2a04732f295
Version Independent ID: ffc8b13a-b2c9-a502-1580-abea596194ab
Content: Add your own attributes to custom policies - Azure AD B2C
Content Source: articles/active-directory-b2c/custom-policy-custom-attributes.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@austinmcdaniel Thanks for your feedback! We will investigate and update as appropriate.

Please take a look on following document
https://docs.microsoft.com/en-us/azure/active-directory-b2c/microsoft-graph-operations#application-extension-properties

To get a user profile with the extension attribute, run the GET request to the beta endpoint
https://graph.microsoft.com/beta/users/{user-id}

To get the list of extension attributes registered with your application, use following MS Graph command

Thanks, that does appear to work using the beta route (vs v1.0) -- is this feature set to be released soon? Is it recommended/preferred to use the beta APIs over the existing Azure Directory Graph API?

First you should use only MS Graph API (we don't recommend to use Azure AD Graph anymore). With regard to the version of the MS Graph. By default the beta version returns more properties than v1.0. But, you can also use the v1.0 and explicitly select the attributes to return (including the extension attributes). For example,
GET https://graph.microsoft.com/beta/users/68ea3ef0-c791-4418-b8b3-9fe01a44e128?$select=displayName,givenName,postalCode,extension_831374b3bd5041bfaa54263ec9e050fc_DateOfBirth

@yoelhor Thank you.
@austinmcdaniel Please let us know if you have any other questions else I will proceed closing this issue.


Typing

https://github.com/monkeytypegame/monkeytype
https://github.com/dprovodnikov/rapid_typing

not much point selfhosting unless the public hosts go offline


does not work with ocaml < 4.05

Bytes.blit_string was introduced with 4.05. Should be aiming for compatibility with 4.02+!

ocaml/opam-repository#13094


required spToken on ChangePasswordForm

After following this part of the API docs for custom markup and providing the component with the token received from ReactStormpath.getAccessToken(), I'm receiving an error on submission of the form:
Error:
sptoken parameter not provided.

Was is the cause of this error and how do I resolve this?

Nevermind, this post helped me out very much.


FE-assessment-1

Metric
Value

alert_status
b:white_check_mark: OK/b

bugs
1

code_smells
15

reliability_rating
C (at least 1 Major Bug)br/Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)br/Note: A being best, E being worst

vulnerabilities
0


Documentation: remove generated files and rename one example folder that it is taken into account

Averaging examples are now '08' labelled.
Remove generated files (examples 06 and 07).

Documentation ok


"Scripts are not allowed/Scripts are disabled" using MircoWin to get ISO

Describe the bug

When i try to get an ISO with MicroWin (get newest ISO automaticlly) it fails.
This is what it shows in the Console (translated from German):
& : The file "C:\Users\testuser\AppData\Local\Temp\Fido.ps1" cannot be loaded because script execution is disabled on this system. For more information, see "about_Execution_Policies" (https://go.microsoft.com/fwlink/?LinkID=135170). At line: 4760 character: 11 + & $fidopath -Win 'Windows 11' -Rel $sync["ISORelease"].Select ... + ~~~~~~~~~ + CategoryInfo : Security error: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess Could not download the ISO file. Look at the output of the console for more
To Reproduce
Steps to reproduce the behavior:
-Fresh install of Win11 with the ISO from Microsoft
-Followed the steps in this  Video: https://www.youtube.com/watch?v=6UQZ5oQg8XA for the install of Win11
-After "Tweak Settings" i wanted to create an more debloated ISO with this Tool. While trying out the Automatic Downloader the error pops up.
Expected behavior

-Download the ISO and complete  the rest of the Task
Screenshots

Additional context

While selecting the ISO-File manually there where no problems so far.

Run terminal with admin and type "Set-ExecutionPolicy unrestricted"


Update to Cargo 0.41

Needed for compatibility with the new Cargo.lock format.
Fixes #13

@tylerwhall Can you bump the minimum Rust version (or even remove it) from https://github.com/cardoe/cargo-bitbake/blob/4693257eae41defd3d33aaf6602e2f6796d704fa/.travis.yml#L8 to something that works as part of this commit? If so then I'll merge this and put out a new release.

I force pushed. Don't know why the check didn't run.

Would you want me to move this to the meta-rust org btw?

Would you want me to move this to the meta-rust org btw?

Yeah, seems like that makes sense.


cmd-enter not working in Assistant Panel

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
cmd-enter is not working in the AI Assistant Panel. The key-binding is there, but it's not working.
Environment
Zed: v0.92.4 (stable)
OS: macOS 12.6.7
Memory: 16 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature
No response
If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

Closing this issue as a duplicate of #1712.


mriqc depends on WarpPointsFromStd from forked nipype

Regarding this code in https://github.com/poldracklab/mriqc/blob/master/mriqc/workflows/anatomical.py#L180
This is provided in https://github.com/oesteban/nipype/tree/enh/FSLstd2imgcoords or as an open pull request to nipype https://github.com/nipy/nipype/pull/1398, but does not exist in official nypipe. I believe this will cause standard pip installs to not execute correctly.

Yes, I maintain a branch called exp/mriqc in my fork of nipype with that interface. However, that precise part of the code is not very reliable (#56) so I'm migrating it to use nipype.

BTW I'm happy to merge nipy/nipype#1398 as soon as the test pass.

Yes, I know. We are stuck with #1407, this issue raised the need for less arbitrary use of the standard outputs.
Anyways, I never liked the procedure of projecting 3 coordinates and computing the mask over and over for every case. So we are changing that, and also FSL FIRST will be replaced with ANTs (which is a much better option IMHO)


test new issue

test
test
test
123

Hi, I have some suggestions to help solving this issue!
Here is a list of similar issues:

1. [new issue](https://github.com/fjsj/python-social-auth/issues/34)

2. [adsaddsa](https://github.com/fjsj/python-social-auth/issues/39)

3. [dsaasddsa](https://github.com/fjsj/python-social-auth/issues/38)

4. [New issue](https://github.com/fjsj/python-social-auth/issues/20)

5. [test new issue](https://github.com/fjsj/python-social-auth/issues/43)

Also, fjsj made a PR to close a similar issue, so it might be good to ask them for help.
Hope this is useful!
Cheers,
Cinnabot.


Create ZFR Wiki page

Checklist:

[x] Version Control
[ ] Create prototype #6
[x] User Manual
[x] Readme - for new development
[x] Create new labels
[x] Create schedule tasks - new project
[ ]  Next Iteration's planning

you need to remove all redundant text from new issues
On 20 April 2017 at 11:15, orbardugo<EMAIL_ADDRESS>wrote:

Todo: delete all unnecessary items, add suitable labels (with priotity and
estimation), milestone, assignee, etc.
Feature Template Related Issues/Tasks

#1 https://github.com/orbardugo/Hahot-Hameshulash/pull/1
#2 https://github.com/orbardugo/Hahot-Hameshulash/issues/2

Scenario (test)

Step 1
...
Expected result

User Story Template

As a ...
I want ...
So that ...

Bug Template Expected behavior Actual behavior Steps to reproduce the
behavior Project Submission Template Iteration page: here
http://../wiki/iter-6.md Checklist, e.g.,:

Feature scenarios/tests passing
Iteration page updated, including:

Iteration retrospective
Code reviewes
Client review
Issues updates
Section on application of course materials

git tag
Next iteration:

Open page
Select stories and plan issues
Test scenarios

All engineers filled peer-review
Submitted

Announcement in chat room
Assign this issue to checker
Register for a review meeting

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/orbardugo/Hahot-Hameshulash/issues/7, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AA9nV4rdE1lT96dxmGZuTVcg5G0kz4i2ks5rxxQTgaJpZM4NCsD4
.

Done!

It's about time...
On 23 May 2017 at 10:21, orbardugo<EMAIL_ADDRESS>wrote:

Done!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/orbardugo/Hahot-Hameshulash/issues/7#issuecomment-303312253,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA9nV7amJzI1H1GnnNGedMTHxr7Gm5Hmks5r8okDgaJpZM4NCsD4
.


Unable to Program the cloud-side certs with the crt extension

Hello Jeff,
Thanks a lot for sharing this project example.
I had an issue with programming the cloud side certificates with the .crt extension. This command throws an error (file not found).
python3 cred.py \
  --CA_cert gtsltsr.pem \
  --sec_tag 202

I tried converting it to a .pem certificate, the cred utility programs it but its tag looks empty when looking for it in the Certificate Manager (nRF Connect App).

Thanks again

@rmptxf thanks for pointing out this issue.
The README.rst was missing a step to convert the cloud-side certs from .crt to .pem. I added the missing step.

@rmptxf  The cred utility is convenient, but I've found that it doesn't appear to check the format of the credentials, and just programs whatever file content is provided.
For more meaningful feedback for troubleshooting certs, I recommend to program the device with the nRF9160: Serial LTE modem application and then use the nRF Connect LTE Link Monitor to program the credentials.

Thanks a lot @JeffreyUrban for your reply and the fix.
I've managed to convert both .crt certifications and used LTE Link Monitor to program them. But still the tags 202 and 203 showing 0000's, is that normal?

The applications still can't connect, reporting a timeout error (-116) at the mqtt connect function.

Never mind, that looks to be an issue with the SIM card used. Now it is working good!
Thanks again for the project. It was really helpful!


Make inference packages no_std compatible for ndarray backend

Feature description
burn-core, burn-tensor, and burn-ndarray should run with no_std attribute.
Feature motivation
Making inference packages (burn-core, burn-tensor, and burn-ndarray) no_std compatible gives developers ability to deploy models for inference mode to wasm, embedded systems and mobile (or any other system where OS might not be available.
(Optional) Suggest a Solution
General steps on how are outlined in this book's chapter on no_std: https://www.lurklurk.org/effective-rust/no-std.html.
Specific steps on the current solution will be updated here (TBD).

Completed the task. Closing as done.

@spadarian, I worked on this PR to make Burn (deep learning framework) no_std compatible. Take a look: https://github.com/burn-rs/burn.
There is a section on no_std: https://github.com/burn-rs/burn#no_std-support
Here is an online demo that relies on no_std and it compiles with wasm: https://burn-rs.github.io/demo
We have CIs that test no_std, so we know Burn builds for no_std.
For the inference, you'll need to use burn-ndarray backend. I am currently working on ONNX import part: https://github.com/burn-rs/burn/issues/204 but it will be a while to have the full set of ops.

I checked the no_std example... I still get a bunch of errors like this one (all relates to spin):
error[E0599]: no method named `compare_exchange_weak` found for struct `AtomicBool` in the current scope
   --> ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spin-0.9.8/src/mutex/spin.rs:182:14
    |
180 |           while self
    |  _______________-
181 | |             .lock
182 | |             .compare_exchange_weak(false, true, Ordering::Acquire, Ordering::Relaxed)
    | |             -^^^^^^^^^^^^^^^^^^^^^ method not found in `AtomicBool`
    | |_____________|

Maybe there is something wrong with my configuration?

Yeah, I have seen this before. AtomicBool is not available for the older ARM but works for thumbv7m-none-eabi. Atomic CPU feature is needed for locking. Can you share which target you're attempting to build?

It's for the rp2040... so I think it is thumbv6m-none-eabi

@spadarian Go ahead file a ticket if there is no workaround, we can remove the dependency on the lock. It was used for multithreaded environment but I think we can relay for such embedded device.


LSP

I'll be honest, I have no idea how to write an LSP 💀. But this would benefit RR, for the same reason as LLVM.
The extension would act as a "bridge" (interface) between VSC and RR-LSP, which is how rust-analyzer and Golang-ext work (please, anyone, correct me if I'm wrong). So the extension would still exist, but now we'll have an "universal" API that other code-editors (such as Helix, and NeoVim) could use

I have no idea how to write an LSP 💀

same here.
When making this extension, I tried reading the guide but didn't really understand it 😭.
I definitely agree that it would benefit rickroll-lang, just I have no idea how to make one.
I do have school holidays coming up in a week, so I guess I could look into it again.

school holidays coming up in a week, so I guess I could look into it again.

Thank you in advance! I'll also try to learn LSP, but I'll write drafts when I can get my hands on my dev PC

You are right. Also I am very sorry that I don't have time to maintain this language regularly.

omg i completely forgot about the LSP :sob:

You are right. Also I am very sorry that I don't have time to maintain this language regularly.

Don't worry, I've been (and still am) busy :sweat_smile:

omg i completely forgot about the LSP 😭

Me too, lol


Replace cmd_status with cmd_results struct

(First off, this got bigger than I anticipated, sorry about that, but I am pretty happy with the end results.)
In i3 the ipc reply will contain a human readable error message, and
this patch replicates that behaviour.
However, that error message is also useful for logging, which this
patch takes advantage of.
E.g. instead of logging errors directly in commands.c/checkargs, it is
fed back to the caller which eventually ends up logging everything with
maximum context available (config.c/read_config).
So instead of logging e.g. "Error on line 'exit'" it will now log:
"Error on line 'exit': Can't execute from config."
PS: I've tested it and it works pretty nicely, both via i3-msg and in the logs. Please review, comments are welcomed.
PPS: There's something about string literals I'm uncertain about, I'll make a comment for it.

Thanks for the review, let me know if there's anything else you want me to do.

Looks good, thanks

Excellent, thanks for your time!


Removed items from the hash still appear in the iterator

I have a hash where the key is a const char*.  When I use hashmap_delete to remove items, some of the items still appear in the hashmap iterator.
I worked around the issue by looking up the item in the iterator to make sure it's valid. IMO deleted items shouldn't be returned by the iterator.
bool MapStringId_Iter(const void *item, void *udata) {
    const struct MapStringId* map = item;

	if (map != NULL)
	{
		//workaround issue with deleted items showing up
		struct MapStringId search;
		search._mKey = map->_mKey;
		search._mId = -1;
		struct MapStringId* kvp = hashmap_get(_gAnimationMapID, &search);
		if (kvp == NULL)
		{
			//fprintf(stdout, "Hash item already deleted.\r\n");
			return true;
		}

    	printf("Animation Id=%d Name=%s Frames=%d\r\n", map->_mId, map->_mKey, ChromaAnimationAPI_GetFrameCount(map->_mId));
	}
    return true;
}

Until I make a specific repro project, I use the hashmap here. https://github.com/tgraupmann/C_ChromaSDK/blob/master/libchromac/Razer/ChromaAnimationMaps.c
I do have a unit test that repros the issue.
make all && make test
If you disable the workaround, you'll see deleted items printing in the iterator.

There's a stack-use-after-scope error in the test code.
In the function UnitTest_CreateCopy, a pointer to the stack variable computeName is being assigned to a field that is stored in a hashmap and used in a hashmap_sip call.
https://github.com/tgraupmann/C_ChromaSDK/blob/master/libchromac/UnitTests.c#L127
When this function leaves scope the hashmaps that reference that pointer are in big trouble.
When I changed
char computeName[256];

to
char *computeName = malloc(256);

and simplify the MapStringId_Iter to
bool MapStringId_Iter(const void *item, void *udata) {
    const struct MapStringId* map = item;
    printf("Animation Id=%d Name=%s Frames=%d\r\n", map->_mId, map->_mKey, ChromaAnimationAPI_GetFrameCount(map->_mId));
    return true;
}

The problem goes away

Ah interesting. I'm in the process of reproducing in an isolated project as well. (Which is working as expected so far)
https://github.com/tgraupmann/hashmap.c/blob/master/tests/test1.c

I made sure internally that setting the animation name uses malloc and I use that string pointer when setting the hash.
So even though the unit test uses a string on the stack, it uses the copy so everything should be good.
All my unit tests pass except for UnitTest_CreateCopy.
The log shows that the animations are closed and successfully removed from the hash. I make sure to remove from the hash before calling free.
Yet there's still some items being left in the hash that were just removed.
UnitTest_CreateCopy:
UnitTest_CreateCopy: i=0
CreateAnimationInMemory: 0
MakeBlankFrames: Id=0 Name=(null) Frames=100
UnitTest_CreateCopy: Created animation: 0 DeviceType=1D Frames=100
VerifyAnimation: Animation exists 0 deviceType: 1D Device: Headset Name: (null)
OpenAnimation: CopyTest0.chroma
CreateAnimationInMemory: 1
ChromaAnimationBase_SetName: name malloc success. CopyTest0.chroma
CopyAnimation: Set Name: CopyTest0.chroma
CopyAnimation: targetFrames malloc success. Id=1 Name=CopyTest0.chroma
CopyAnimation: 0 to 1 Name=CopyTest0.chroma
UnitTest_CreateCopy: Copied animation: 0 to 1 Name=CopyTest0.chroma Frames=100
VerifyAnimation: Animation exists 1 deviceType: 1D Device: Headset Name: CopyTest0.chroma
VerifyAnimation: Animation exists 1 deviceType: 1D Device: Headset Name: CopyTest0.chroma
CloseAnimation: Id=0
ChromaAnimationBase_ClearFrames: free(frames). name=(null)

UnitTest_CreateCopy: i=1
CreateAnimationInMemory: 2
MakeBlankFrames: Id=2 Name=(null) Frames=100
UnitTest_CreateCopy: Created animation: 2 DeviceType=2D Frames=100
VerifyAnimation: Animation exists 2 deviceType: 2D Device: Mouse Name: (null)
OpenAnimation: CopyTest1.chroma
CreateAnimationInMemory: 3
ChromaAnimationBase_SetName: name malloc success. CopyTest1.chroma
CopyAnimation: Set Name: CopyTest1.chroma
CopyAnimation: targetFrames malloc success. Id=3 Name=CopyTest1.chroma
CopyAnimation: Target frames count: 100
CopyAnimation: 2 to 3 Name=CopyTest1.chroma
UnitTest_CreateCopy: Copied animation: 2 to 3 Name=CopyTest1.chroma Frames=100
VerifyAnimation: Animation exists 3 deviceType: 2D Device: Mouse Name: CopyTest1.chroma
VerifyAnimation: Animation exists 3 deviceType: 2D Device: Mouse Name: CopyTest1.chroma
CloseAnimation: Id=2
ChromaAnimationBase_ClearFrames: free(frames). name=(null)

UnitTest_CreateCopy: These are the open animations.
==ChromaAnimationAPI_DebugMaps==
_gAnimations:
AnimationId: 1 DeviceType=1D Name=CopyTest0.chroma
AnimationId: 3 DeviceType=2D Name=CopyTest1.chroma
_gAnimationMapID:
Animation Id=3 Name=CopyTest1.chroma Frames=100
Animation Id=1 Name=CopyTest1.chroma Frames=100

UnitTest_CreateCopy: Closing All Animations.
CloseAnimation: Id=1 Name=CopyTest0.chroma
CloseAnimation: Removing animation 1 from hash: CopyTest0.chroma
CloseAnimation: Successfully removed from Id=1 Name=CopyTest0.chroma hash!
ChromaAnimationBase_ClearFrames: free(frames). name=CopyTest0.chroma
ChromaAnimationBase_SetName: free(old name=CopyTest0.chroma). name=(null)
CloseAnimation: Id=3 Name=CopyTest1.chroma
CloseAnimation: Removing animation 3 from hash: CopyTest1.chroma
CloseAnimation: Successfully removed from Id=3 Name=CopyTest1.chroma hash!
ChromaAnimationBase_ClearFrames: free(frames). name=CopyTest1.chroma
ChromaAnimationBase_SetName: free(old name=CopyTest1.chroma). name=(null)
CloseAll: _gAnimationMapID should be empty!
Animation Id=1 Name=CopyTest1.chroma Frames=0

UnitTest_CreateCopy:  All animations should be closed.

**EVERYTHING GOOD UNTIL THIS POINT, the iterator shows a rogue is left in the hash.**

==ChromaAnimationAPI_DebugMaps==
_gAnimations:
_gAnimationMapID:
Animation Id=1 Name=CopyTest1.chroma Frames=0
CloseAll: _gAnimationMapID should be empty!
Animation Id=1 Name=`��=� Frames=0

All animations should be closed.
==ChromaAnimationAPI_DebugMaps==
_gAnimations:
_gAnimationMapID:
Animation Id=1 Name=`��=� Frames=0

Unit Test Complete.

Everything is working as expected. I just had to use string pointers that wouldn't go out of scope for the hash keys. Thanks!

You're welcome. I'm happy to hear you fix the issue.


Query Sorting

This addresses an issue i've came across by using a list of query items with the following format:
?key[0]=a&key[1]=b&key[2]=c

As soon as the list grows to 10+ elements the result looks like this:
?key[0]=a&key[10]=z&key[1]=b

Since certain backends require a specific order of the query items especially when it comes to list indices it's probably a good idea to use a different comparison function for the sorting.
I've introduced a comparator on URLQueryItem which is basically just an alias for a string comparison function that respects number values. It can be reused across the library to get a consistent sorting behavior.

@fonkadelic Backend requirements never cease to surprise 😆
Instead of sorting, maybe we should just respect the ordering of both the parsed/printed query string. This would require changing the Fields' type to use an array instead of a dictionary. Wanna give that a try instead? If not, we could open a dedicated issue to track the problem and will try to tackle it in the future.

I already gave it a try to use an array instead of of a dictionary. But i immediately got stuck since a lot of parts rely heavily on dictionary features.
I'm really struggling when it comes to things like the subscript in the Fields type or the printer. I don't see a way to use an array here.
The only thing that comes to my mind would be an `OrderedDictionary but i'm not sure if the sorting issue justifies the introduction of a dependency.

@stephencelis @mbrandonw Additional feedback from your side would be highly appreciated in order to move forward here.

@fonkadelic Sorry about that! We totally lost track of this issue. We are both OK with introducing swift-collections to the library to address things. Were you able to make good progress there?

@stephencelis No worries!
I've swapped out the Fields' dictionary for an ordered dictionary and the result looks quite promising. I think the behavior is now really similar to URLComponents which also has it's query items ordered ([URLQueryItem]).
One thing i would like to discuss though is the fact that printing query items will happen in reverse order (due to the builder syntax):
let p = Query {
  Field("a")
  Field("b")
  Field("c")
}

let data = try p.print(("1", "2", "3"))
print(data.query) // ["c": ["3"], "b": ["2"], "a": ["1"]]

I've noticed this is essentially the same problem that the Path printer already solved by introducing a dedicated PathBuilder. Do you think we should go a similar route here?

@fonkadelic I think this is more due to the fact that parser printers should print via prepending when doing so into collections. Now that we don't sort automatically, we should be more careful.
In particular, I believe this line should be updated:
https://github.com/pointfreeco/swift-url-routing/blob/6baa0179d6a8aefcbd50ec137db73b6632b9721e/Sources/URLRouting/Field.swift#L106
To this:
    try input.fields.updateValue(
      forKey: input.isNameCaseSensitive ? self.name : self.name.lowercased(),
      insertingDefault: [],
      at: 0,
      with: { $0.prepend(try self.valueParser.print(output)) }
    )

Which will preserve the expected order.
The name case sensitivity behavior of Fields does bother me a bit, and the fact we need to be mindful about it in yet another place here. Case-insensitivity is only enabled for headers, and as a result we have an existing bug to solve: https://github.com/pointfreeco/swift-url-routing/issues/12
I think this issue already exists, though, and doesn't need to block this PR. Wanna try the above code snippet and see if that fixes things?

@stephencelis Looking good. Thanks for the push in this direction.

Thanks!


Support for alternative path in registration

As described in the LWM2M TS §5.3.1:

By default, the RFC6690 links of Objects are located under the root path as in the examples above. However, devices might be hosting other Resources on an endpoint, and there may be the need to place Objects under an alternative path. This is achieved by including an OMA LWM2M link in addition to the Object links as follows, e.g. to place Objects under the “/lwm2m” path:
;rt="oma.lwm2m", </lwm2m/1/101>, </lwm2m/1/102>, </lwm2m/2/0>, </lwm2m/2/1>, </lwm2m/2/2>, </lwm2m/3/0>,</lwm2m/4/0>,</lwm2m/5>
The RFC6690 Resource Type parameter (i.e., rt="oma.lwm2m") MAY be used to provide the information that the path in front of the Resource Type parameter is used for the LWM2M enabler.

This is a Work In Progress.
The alternative path is not yet supported in DM requests. And it only supports single segment alt. path.
@jvermillard : change marked REVERT-ME is included only for testing purpose. Leshan (as at leshan.eclipse.org) does not support the alternative path in the registration message.

@dnav leshan support alternative lwm2m path, we use it a lot in our proprietary client, but maybe it's bugged :)

so yes, it looks broken on the leshan UI side, the core API works.
I sent a read on /test/3/0/0 and received an empty content.
If you want to use the raw json API on leshan, just register your device on leshan.eclipse.org and then issue a HTTP on http://leshan.eclipse.org/api/clients/testlwm2mclient/3/0/0
it should send a CoAP GET on the testlwm2mclient on /test/3/0/0

I just tested without the UI and my latest version works fine.


URL does not work

hi
issue with url. Wsdl is downloaded from url but request is then not send to URL, after doing soap.Call.
I traced with wireshark and nothing is send.
tnx
`func main() {
soap, err := gosoap.SoapClient("http://<IP_ADDRESS>/wsdl/pbx900.wsdl")
if err != nil {
fmt.Errorf("error not expected: %s", err)
}
soap.URL = "http://<IP_ADDRESS>/PBX0/user.soap"
params := gosoap.Params{
	"user":   "test",
	"appl":   "test",
	"v":      true,
	"v501":   true,
	"v700":   true,
	"v800":   true,
	"vx1000": true,
}

err = soap.Call("Initialize", params)

if err != nil {
	fmt.Errorf("error in soap call: %s", err)
}

var r interface{}
soap.Unmarshal(&r)
fmt.Println(r)

}
`

@miha- can you test the newest version of the package?

it is ok with newer version.


comment out moveit launch in movo2.launch

launching movo_system.launch on master results in errors. specifically, the errors arrive from movo2.launch and are related to arms. the error states that some arm controllers are not available which is expected since movo1.launch does not launch arms (yet see https://github.com/nightingale-project/kinova-movo/pull/33) .

Is this just to reduce load on the master branch until arms are stable?

yeah the idea is that master should not produce errors when running movo_system.launch. master should always run without errors. this line really shouldve been commented out when i commented out manipulation.launch from movo1.launch way back


namespacedApps not working

Expected Behavior
I use the feature apps-in-any-namespace in argocd and want to display such an app which is in a specific namespace. I followed the procedure "Support for apps in any namespace beta feature" in  https://www.npmjs.com/package/@roadiehq/backstage-plugin-argo-cd
Current Behavior
I enable namespacedApps with this property:
https://github.com/suxess-it/sx-cnp-oss/blob/0fb9906442c3d102ba479a12d016a7dce80a9644/platform-apps/charts/backstage/values-uibklab.yaml#L106
then set argocd/app-namespace in the catalog-info.yaml:
https://github.com/suxess-it/team1-demo-app1/blob/ea0232050f234d60a73cecb1532b1c225085e02b/catalog-info.yaml#L8-L9
However, the app is not fetched. Instead a http 403 is returned. This is always the case when an app which is not in argocd should get loaded:

and in the backstage logs I see the request but without the query parameter "?appNamespace=adn-team1" . However, I don't know if the query parameters get logged anyways.
2024-07-03T22:22:37.905Z rootHttpRouter info ::ffff:<IP_ADDRESS> - - [03/Jul/2024:22:22:37 +0000] "GET /api/proxy/argocd/api/applications/demo-app1-prod HTTP/1.1" 403 68 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" type=incomingRequest
In argocd-server log I see that this request comes without the configure appNamespace. It requests the app in the default argocd namespace:
time="2024-07-03T22:33:44Z" level=warning msg="application does not exist" application=demo-app1-prod namespace=argocd user=backstage
time="2024-07-03T22:33:44Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = permission denied" grpc.code=PermissionDenied grpc.method=Get grpc.service=application.ApplicationService grpc.start_time="2024-07-03T22:33:44Z" grpc.time_ms=4.392 span.kind=server system=grpc

Steps to Reproduce
as describe above
Possible Solution

Context

Your Environment
"name": "@roadiehq/backstage-plugin-argo-cd",
"version": "2.6.5",
"name": "@roadiehq/backstage-plugin-argo-cd-backend",
"version": "3.0.2",

We just messed up with the new argocd plugin version. As we recognized the new argocd frontend plugin uses the argocd backend plugin and not the proxy api anymore. Is that true? Do we still need the proxy configuration or is every communication working via the argocd backend plugin?
        "/argocd/api":
          target: http://sx-argocd-server.argocd:80/api/v1/
          changeOrigin: true
          secure: false
          headers:
            Cookie:
              $env: ARGOCD_AUTH_TOKEN


[custom cluster] adding 1 node all roles to custom rke2 cluster fails with unable to create impersonator account: error getting service account token

Rancher Server Setup

Rancher version: v2.6-head (936c182)
Installation option (Docker install/Helm Chart): docker

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details:n/a

Information about the Cluster

Kubernetes version:  v1.21.6+rke2r1

Cluster Type (Local/Downstream):

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): custom (with aws node)

Describe the bug

when adding the first node to the custom custer (all roles), node begins to register but fails with an impersonation error.
To Reproduce

deploy a custom cluster on rancher
run the command from the previous step (all roles should be selected) on a node/vm

Result
fails to add node with the following error in rancher:
Error while applying agent YAML, it will be retried automatically: exit status 1, Error from server (InternalError): an error on the server ("unable to create impersonator account: error getting service account token: error getting secret: secrets \"cattle-impersonation-system/cattle-impersonation-u-djxin436by-token-9vgqz\" not found") has prevented the request from succeeding

Expected Result

custom cluster should allow registration of nodes and nodes should come to an active state

Is this reliably reproducible?

Hi @shmutalov, that looks like a different error message, the error message in this bug was ... error getting service account token: error getting secret:... and the bug was introduced pre-release, while the error in your logs is `...error setting up impersonation for user u-vfc754tywx: Unauthorized```. Could you open up a separate bug with more information about your setup and what was happening when this error occurred?

@cmurphy I am getting that bug with rancher:latest and rancher:v2.6-9740d7ab5b988456ad34423d81dba28c9640bb6c-head. I am trying to create single node instance with known CA issued certificate.
docker run -d --privileged --restart=unless-stopped --name=rancher -p 1080:80 -p 1443:443 -v /opt/rancher:/var/lib/rancher -v /etc/ssl/certs/xxx-ml.crt:/etc/rancher/ssl/cert.pem -v /etc/ssl/private/xxx-ml.key:/etc/rancher/ssl/key.pem -v /etc/ssl/certs/xxx-ml.cabundle:/etc/rancher/ssl/cacerts.pem rancher/rancher

After server starts I am trying to create custom cluster:
sudo docker run -d --privileged --name=rancher-agent --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:VVV --server https://xxx.ml:1443 --token [KEKPUK] --ca-checksum [CHEBUREK] --etcd --controlplane --worker

My OS:
shmutalov@laptop:~$ uname -a
Linux laptop 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux
shmutalov@laptop:~$ cat /etc/*rele*
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

@shmutalov I was not able to reproduce this following the steps you provided. Based on the log failed to start cluster controllers c-58vmp: context canceled and the Unauthorized problem I think something might have gone wrong on the agent. Are there any logs on the cluster agent that look like they could be related?
I found https://github.com/rancher/rancher/issues/30772 which looks similar, is it possible that your self-signed certs are causing problems? Does this work when you use the rancher-generated certs?
Since you're using the pre-released version, have you tried this in the past on earlier pre-released versions? Did this work for you on v2.6.2?

Tested on v2.6-head (de55fe0):

deploy custom rke2 cluster as admin (single node - all roles)-- pass

add a node to the cluster -- pass

deploy custom rke2 cluster as standard user -- pass

add a node to the cluster -- pass


GitHub Actions expressions example is misleading

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/learn-github-actions/expressions#example-of-literals
What part(s) of the article would you like to see updated?
Unfortunately, everything in env is apparently converted to a string (see https://github.com/orgs/community/discussions/25645), though as far as I can tell this isn't documented anywhere (but it should be!).
This makes the section where literals of various types are being assigned to environment variables especially misleading - you can use those literal expressions in the env section, but the values that are actually stored are the converted strings, which may then break downstream logic that uses the values while expecting them to have the correct type.  This is especially true of boolean values, since the string 'false' is truthy.
Additional information
No response

@kbattocchi Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

Ruby is copyrighted free software by Yukihiro Matsumoto<EMAIL_ADDRESS>You can redistribute it and/or modify it under either the terms of the
2-clause BSDL (see the file BSDL), or the conditions below:

You may make and give away verbatim copies of the source form of the
software without restriction, provided that you duplicate all of the
original copyright notices and associated disclaimers.

You may modify your copy of the software in any way, provided that
you do at least ONE of the following:
a) place your modifications in the Public Domain or otherwise
make them Freely Available, such as by posting said
modifications to Usenet or an equivalent medium, or by allowing
the author to include your modifications in the software.
b) use the modified software only within your corporation or
organization.
c) give non-standard binaries non-standard names, with
instructions on where to get the original software distribution.
d) make other distribution arrangements with the author.

You may distribute the software in object code or binary form,
provided that you do at least ONE of the following:
a) distribute the binaries and library files of the software,
together with instructions (in the manual page or equivalent)
on where to get the original distribution.
b) accompany the distribution with the machine-readable source of
the software.
c) give non-standard binaries non-standard names, with
instructions on where to get the original software distribution.
d) make other distribution arrangements with the author.

You may modify and include the part of the software into any other
software (possibly commercial).  But some files in the distribution
are not written by the author, so that they are not under these terms.
For the list of those files and their copying conditions, see the
file LEGAL.

The scripts and library files supplied as input to or produced as
output from the software do not automatically fall under the
copyright of the software, but belong to whomever generated them,
and may be sold commercially, and may be aggregated with this
software.

Thanks Dearest @mmu094

@kbattocchi - Thanks for raising this issue.

as far as I can tell this isn't documented anywhere (but it should be!).

You're right, stringifying the contents of the env context is something we should have documented. However, we added this quite recently here:

Using the ${{ }} expression syntax turns the contents into a string, and strings are truthy. For example, if: true && ${{ false }} will evaluate to true.

I'm going to close this issue.
Thanks again for pointing this out. 👍


Patch to flush output

udpping writes its response output to stdout with default stdio buffering, which is ok for interactive terminal use, but doesn't work well if udpping is being called from a script, or otherwise has it's output redirected.
Please find attached a patch which adds explicit output flushing.
Tim
udpping_flush_patch.txt

Hi, thank you, merged.
I havnt tested your another patch yet. The current problem is I dont have an envirment right now, will test later.
BTW, its suggested to send a pull request next time😂


GRID-495: Row selections after filter cell edit

Fixed per Jira tkt.

@joneit Could describe the changes. Whats the new behavior


SUPPA cluster events error

Description of the bug
Hi,
I am trying dev version and I encountered the following error:
I have 32 samples total, 4 conditions, 8 samples per condition
Best

Error executing process > 'NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOE (CP-Cortex)

Caused by:
  Process `NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOE (CP-Cortex)` terminated with an error exit status (1)

Command executed:

  suppa.py \
      clusterEvents \
      --dpsi CP-Cortex_local_diffsplice.dpsi \
      --psivec CP-Cortex_local_diffsplice.psivec \
      --dpsi-threshold 0.05 \
      --eps 0.05 \
      --metric euclidean \
      --min-pts 20 \
      --groups 1-25,6-27,12-30,17-32 \
      --clustering DBSCAN \
        -o CP-Cortex_local_cluster

  cat <<-END_VERSIONS > versions.yml
  "NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOE":
      suppa: $(python -c "import pkg_resources; print(pkg_resources.get_distribution('suppa').version)")
  END_VERSIONS

Command exit status:
  1

Command output:
  (empty)

Command error:
  ERROR:lib.cluster_tools:Invalid index. Index 32 is larger than the number of columns in the file (16).`

Command used and terminal output
nextflow run nf-core/rnasplice --input $wd/samplesheet.csv \
							   --contrasts $wd/contrast.csv \
							   --outdir splice_attempt1 \
							   --genome GRCm38 \
							   --aligner star_salmon \
							   --min_samps_gene_expr 2 \
							   --min_samps_feature_expr 2 \
							   --min_gene_expr 5 \
							   --min_feature_expr 5 \
							   --min_feature_prop 0.2 \
							   --dexseq_exon true \
							   --edger_exon true\
							   --dexseq_dtu true \
							   --dtu_txi scaledTPM \
							   --rmats true \
							   --rmats_read_len 75 \
							   --suppa true \
							   --suppa_per_isoform true \
							   --save_reference true \
							   --sashimi_plot true \
							   -config config.config \
							   -profile singularity \
							   -r dev

Relevant files
nextflow.log
System information
nextflow/22.10.4
Debian 10
Slurn

I am having the same issue running via Tower on AWS Batch.
`Workflow execution completed unsuccessfully
The exit status of the task that caused the workflow execution to fail was: 1
Error executing process > 'NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOE (ALS1_DMSO-WT4_DMSO)'
Caused by:
Essential container in task exited
Command executed:
suppa.py
clusterEvents
--dpsi ALS1_DMSO-WT4_DMSO_local_diffsplice.dpsi
--psivec ALS1_DMSO-WT4_DMSO_local_diffsplice.psivec
--dpsi-threshold 0.05
--eps 0.05
--metric euclidean
--min-pts 20
--groups 1-3,4-6,7-9,10-12,13-15,16-18,19-21,22-24,25-27,28-30,31-33,34-36,37-39,40-42,43-45,46-48
--clustering DBSCAN
-o ALS1_DMSO-WT4_DMSO_local_cluster
cat <<-END_VERSIONS > versions.yml
"NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOE":
suppa: $(python -c "import pkg_resources; print(pkg_resources.get_distribution('suppa').version)")
END_VERSIONS
Command exit status:
1
Command output:
(empty)
Command error:
ERROR:lib.cluster_tools:Invalid index. Index 48 is larger than the number of columns in the file (6).
6:51PM INF shutdown filesystem start
6:51PM INF shutdown filesystem done`

Hi @paolo-kunderfranco and @expansion-bioemformatics , thanks for raising the issue. We will work on having this error resolved.

I am also getting a similar issue. I am not sure, but I think the problem occurs because all contrasts are passed to suppa via --groups, whereas the PSI files are somehow already specific for the contrast of interest. Therefore, there are more columns than samples.

To be clear, this happens whenever there are >2 contrasts specified in the samplesheet. I was able to "solve" the problem by running the pipeline multiple times, once for each desired contrast. However, there should be a contrastsheet with multiple contrasts specified in one of the test configs.

Hi @dkoppstein
What do you mean by whenever there are >2 contrasts specified in the samplesheet ?
Did you mean >2 contrasts in the contrast sheet? Or >2 samples in the samplesheet?
I'm also running into this issue, with the following samplesheet and contrast sheet:
sample,condition,strandedness,fastq_1,fastq_2
K562_TARDBP_TRT_REP1,K562_TARDBP_TRT,reverse,fastq-test/SRR3469414-R1.fastq.gz,fastq-test/SRR3469414-R2.fastq.gz
K562_TARDBP_TRT_REP2,K562_TARDBP_TRT,reverse,fastq-test/SRR3469415-R1.fastq.gz,fastq-test/SRR3469415-R2.fastq.gz
K562_TARDBP_CTL_REP1,K562_TARDBP_CTL,reverse,fastq-test/SRR3469418-R1.fastq.gz,fastq-test/SRR3469418-R2.fastq.gz
K562_TARDBP_CTL_REP2,K562_TARDBP_CTL,reverse,fastq-test/SRR3469419-R1.fastq.gz,fastq-test/SRR3469419-R2.fastq.gz
HepG2_TARDBP_TRT_REP1,HepG2_TARDBP_TRT,reverse,fastq-test/SRR4421909-R1.fastq.gz,fastq-test/SRR4421909-R2.fastq.gz
HepG2_TARDBP_TRT_REP2,HepG2_TARDBP_TRT,reverse,fastq-test/SRR4421908-R1.fastq.gz,fastq-test/SRR4421908-R2.fastq.gz
HepG2_TARDBP_CTL_REP1,HepG2_TARDBP_CTL,reverse,fastq-test/SRR4421557-R1.fastq.gz,fastq-test/SRR4421557-R2.fastq.gz
HepG2_TARDBP_CTL_REP2,HepG2_TARDBP_CTL,reverse,fastq-test/SRR4421558-R1.fastq.gz,fastq-test/SRR4421558-R2.fastq.gz

contrast,treatment,control
K562_TARDBP_TRT_CTL,K562_TARDBP_TRT,K562_TARDBP_CTL
HepG2_TARDBP_TRT_CTL,HepG2_TARDBP_TRT,HepG2_TARDBP_CTL

Actually, my error is very similar, but not identical to the one above:
ERROR ~ Error executing process > 'NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOI (HepG2_TARDBP_TRT-HepG2_TARDBP_CTL)'

Caused by:
  Process `NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOI (HepG2_TARDBP_TRT-HepG2_TARDBP_CTL)` terminated with an error exit status (1)

Command executed:

  suppa.py \
      clusterEvents \
      --dpsi HepG2_TARDBP_TRT-HepG2_TARDBP_CTL_transcript_diffsplice.dpsi \
      --psivec HepG2_TARDBP_TRT-HepG2_TARDBP_CTL_transcript_diffsplice.psivec \
      --dpsi-threshold 0.05 \
      --eps 0.05 \
      --metric euclidean \
      --min-pts 20 \
      --groups 1-2,3-4,5-6,7-8 \
      --clustering DBSCAN \
        -o HepG2_TARDBP_TRT-HepG2_TARDBP_CTL_transcript_cluster

  cat <<-END_VERSIONS > versions.yml
  "NFCORE_RNASPLICE:RNASPLICE:SUPPA_SALMON:CLUSTEREVENTS_IOI":
      suppa: $(python -c "import pkg_resources; print(pkg_resources.get_distribution('suppa').version)")
  END_VERSIONS

Command exit status:
  1

Command output:
  (empty)

Command error:
  ERROR:lib.cluster_tools:Invalid index. Index 8 is larger than the number of columns in the file (4).

Sorry -- I did indeed mean >2 contrasts in the contrast sheet. And it is clear that the error is similar, i.e. that all groups are specified on the command line, even though the dpsi and psivec files are already restricted to the contrast specified.

Good catch, I think you are right and the error seems to be caused by how the --groups setting is being specified by the pipeline.

Thanks for the comments everyone. I'm working on pushing a fix for this today. Hopefully report back with a PR!

exactly, I did have more contrast specified and the pipelne failed in SUPP.py
  ERROR:lib.cluster_tools:Invalid index. Index 32 is larger than the number of columns in the file (16).
I am trying now to run again with only one contrast specified.

update, with only one contrast specified, CLUSTEREVENTS_IOE completed succesfully, however I am now facing and error
with NFCORE_RNASPLICE:RNASPLICE:DRIMSEQ_DEXSEQ_DTU_SALMON:STAGER,
I do need to open a new issue?
Best

I'm not sure if this is helpful, but I've looked into this before and had a similar error as @paolo-kunderfranco   ERROR:lib.cluster_tools:Invalid index. Index 32 is larger than the number of columns in the file (16). I noticed this happened if the samplesheet wasn't sorted by condition, because it seems like suppa assumes that all the samples are sorted by condtion.

Thanks for your patience on this bug. I believe we have fixed the issue with #86. Please can you pull from dev and see if this works.

Closing because all tests are passing and fix has been merged into dev branch. Please re-open if you still encounter an error.