[Developer Docs] Explain rebasing vs. merging

A lot of contributors run into problems because they try to pull in the latest changes on master by doing a merge.
This leads to problems because when they create a PR they end up trying to recommit changes that were already merged onto master.
It manifests in the PR by a commit history showing a lot of changes unrelated that have already been committed.
Instead contributors should do a rebase.
Here's a good tutorial for rebasing
https://www.atlassian.com/git/tutorials/merging-vs-rebasing
The natural flow to rebase a change is something like this
git fetch origin
git rebase -i origin/master

This assumes the remote fork of the Kubeflow repository is named origin
Fetch pulls in the latest commits to the origin
rebase -i will interactively try to apply the commits on your branch to the tip of origin/master

This means you can choose which commits to pick, drop or squash

We should create a page that describes this workflow so we can point contributors at it.

Thanks @jlewi! Just a note that we host our developer-focused docs in the GitHub repo (https://github.com/kubeflow/kubeflow) rather than on the website. Suggestion: We should either place this doc in the docs_dev directory in that repo, or create a more general developer-docs directory in the same repo.

@sarahmaddox Could we add this information to the contributing guide>
https://www.kubeflow.org/docs/about/contributing/#owners-files-and-pr-workflow
We already have a section there on the PR workflow.
Leaving aside for now whether it makes sense to split the developer docs into two locations right now there is a reasonable difference between the docs on the website and the docs_dev.
The docs on the website are aimed at first time contributors.
The docs in docs_dev (e.g. instructions for doing releases) are for maintainers.

Hmm. I'm uncomfortable about documenting something as complex as git rebasing on our website. The docs in the contributor's guide (https://www.kubeflow.org/docs/about/contributing/#owners-files-and-pr-workflow) talk about Kubeflow-specific dev workflow (owners files, bots, review process) rather than generic git skills.
If we add git-related guides to the above page, it will become very long. We'll want to split it. And then we'll want to add more dev guides - it seems weird to jump directly into rebasing without giving a bit more of an intro to git...
Instead, how about adding the hint about rebasing in a README here:
https://github.com/kubeflow/kubeflow/tree/master/docs_dev
or even here:
https://github.com/kubeflow/kubeflow
The README could then also include a high-level first-time contributor's guide, similar to what we already have in the docs repo for docs contributors:
https://github.com/kubeflow/website/blob/master/README.md

Good point; lets just put it in docs_dev for now.
I'm not that worried about the location; I just want something I can link to on PRs

/kind feature

I'm closing this issue, as it's not one we'll tackle in the website docs.
/close


Double check Canonical

https://wordpress.org/support/topic/canonical-3?replies=3

This was done in #20 0.7 release.


Use symbolic links in data

Using symbolic links in the data repository greatly reduces the required storage space: instead of 495 MB it only takes 97 MB.
GitHub pages (that is, https://punic.github.io/data) should work.
Symbolic links can be created or removed with the new punic-symlink-data command.

PS: to create the symlinks simply run ./bin/punic-symlink-data create, to restore the original (non symlinked files), run ./bin/punic-symlink-data expand

PPS: you can better view the symlinks at https://github.com/mlocati/data/tree/symlink-new/docs/1, and check that everything's working as expected by using --source-location=https://mlocati.github.io/data in the punic-data command.


calibre: enable tests

Description of changes
Only a little bit of fighting needed.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Seeing apparently spurious failures of test_websocket_basic, may need excluded.

@LunNova platform?

Indeed, I did not get it on my initial rebuild when I merged this but I can see it on Linux x86_64

x86_64-linux, nix build github:nixos/nixpkgs/2e877812edf1581cc8df065feb57ed704d6fb7e6#calibre --rebuild --no-link fails ~50% of the time
======================================================================
FAIL: test_websocket_basic (calibre.srv.tests.web_sockets.WebSocketTest.test_websocket_basic)
Test basic interaction with the websocket server
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/calibre-7.16.0/src/calibre/srv/tests/web_sockets.py", line 282, in test_websocket_basic
    isf_test(frags, close_code=INCONSISTENT_DATA, send_close=False, ignore_send_failures=True)
  File "/build/calibre-7.16.0/src/calibre/srv/tests/web_sockets.py", line 219, in simple_test
    self.assertGreaterEqual(len(control_frames), 1)
AssertionError: 0 not greater than or equal to 1

Stdout:
calibre server listening on <IP_ADDRESS>:39505
Too large control frame from client
RSV bits set in frame from client
RSV bits set in frame from client
RSV bits set in frame from client
RSV bits set in frame from client
RSV bits set in frame from client
RSV bits set in frame from client
Unknown OPCODE from client: 3
Unknown OPCODE from client: 4
Unknown OPCODE from client: 5
Unknown OPCODE from client: 6
Unknown OPCODE from client: 7
Unknown OPCODE from client: 11
Unknown OPCODE from client: 12
Unknown OPCODE from client: 13
Unknown OPCODE from client: 14
Unknown OPCODE from client: 15
Fragmented control frame from client
Fragmented control frame from client
Too large control frame from client
Client sent continuation frame with no message to continue
Client sent continuation frame with no message to continue
Client sent continuation frame with no message to continue
Client sent continuation frame with non-zero opcode
Client sent undecodeable UTF-8
Client sent undecodeable UTF-8

----------------------------------------------------------------------
Ran 332 tests in 25.258s

FAILED (failures=1, skipped=9)

Hmm, cannot reproduce myself, but I guess we should add it to the exclusions.


Update fuzz target

This commit provides a few updates to the fuzz testing framework.

all recent changes to the service and interface are pulled in
the initial corpus for the fuzzer is removed and recreated at build
time from Rust native operation objects
the fuzzer is restricted/focused on the TPM provider for now

Signed-off-by: Ionut Mihalcea<EMAIL_ADDRESS>

It is nice to have those binary files removed from the tree! Why do we want to focus the tests only on the TPM provider?

I was thinking that since our work is mostly geared towards that one for now, it makes sense to focus the fuzzer on it. I'm debating trying to create a fuzz target for just the provider and seeing how that goes too.

Since all paths are explored with fuzzing, only enabling the TPM provider would provide results faster for that provider but theoretically enabling them all would provide the same results only taking longer? As in, it is only a few bits that change in the request?

Since all paths are explored with fuzzing, only enabling the TPM provider would provide results faster for that provider but theoretically enabling them all would provide the same results only taking longer? As in, it is only a few bits that change in the request?

Yes, I'd say so - when the fuzzer starts messing with the bits for the provider ID, the backend handler will simply return an error if another provider is not available (well, hopefully it does)

The fuzz test is now running on our private server!

I've modified the operations that we use as starting corpus to use the same key names for creating, destroying, exporting, signing and verifying, one for ECDSA one for RSA, so that they can actually end up calling the TPM operations instead of just attempting to use non-existent keys. I guess this would be an advantage of fuzzing the provider on its own - we can control what the environment looks like to begin with!


Hide TabHeader buttons in CallWithChatComposite on mobile when chat/people are hidden

What
When the chat or people button are hidden via CallWithChatCompositeProps.options.callControls, we now hide the tab headers shown for switching between people and chat panes on mobileView.
Why
The intention of hiding those buttons is to hide the way to open the people and chat pane, so we hide all the UX that opens those tabs.
How Tested
https://user-images.githubusercontent.com/82062616/158490919-7744edfb-e0db-4f1f-85ee-7e683bd2c6f5.mp4

I'm good with this unless Alex P. says otherwise.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_ebvldj4rnc/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_ebvldj4rnc/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_ebvldj4rnc/clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_ebvldj4rnc/clone/recipe/meta.yaml:35: missing_description: The recipe is missing a description
ERROR: /tmp/abs_ebvldj4rnc/clone/recipe/meta.yaml:35: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_ebvldj4rnc/clone/recipe/meta.yaml:35: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


Guide on Custom Output Adapters

This PR contains daily documentation updates based on the following suggestion: Include an in-depth example in the documentation on how to create custom Output Adapters, leveraging the example in the codebase (lib/sublayer/components/output_adapters). This would help clarify their usage and customization.

nothing crazy to learn here...
thinking about repetition in the docs the way they are here...
I wonder if that is a feature...not a bug
kind of like the idea that duplication is cheaper than the wrong abstraction. sometimes its awful trying to find something in technical docs. because it's hidden in 1 particular spot. maybe DRY docs is not really an ideal.
Why not learn about output adapter while you're reading about generators, and if you want more you can go to output adapters too.


Enable raw mode?

Raw mode has been constantly abused script kiddies to send commands to bots. Tried it 3 times, disabled it 3 times.


Revert "Accommodate  metadata.clusterName changes to allow v0.24.0 up…

Reverting changes onto main - moving these to one of the open dependabot PRs

Codecov Report

Merging #107 (e0876d7) into main (e9e3aba) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #107   +/-   ##
=======================================
  Coverage   69.32%   69.32%
=======================================
  Files          17       17
  Lines         929      929
=======================================
  Hits          644      644
  Misses        265      265
  Partials       20       20

Continue to review full report at Codecov.

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


config.request_body_formatter responds with undefined method in spec_helper.rb

Workaround has been to use config.post_body_formatter instead.
Using version 4.6.0

This method will be in the next release.


"Packages" doesn't work.

When I selected "Packages" in the left-side menu, the error was output.
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at V (http://localhost:3010/assets/scripts/app.js:3:9299)
    at on (http://localhost:3010/assets/scripts/app.js:4:11870)
    at http://localhost:3010/assets/scripts/app.js:4:12297
    at o (http://localhost:3010/assets/scripts/app.js:3:5441)
    at cn (http://localhost:3010/assets/scripts/app.js:4:12307)
    at i (http://localhost:3010/assets/scripts/app.js:4:12887)
    at u (http://localhost:3010/assets/scripts/app.js:4:30849)
    at http://localhost:3010/assets/scripts/app.js:4:31021
    at h.$get.h.$eval (http://localhost:3010/assets/scripts/app.js:5:6161)

v0.6.0
Chrome Version 41.0.2272.101 (64-bit)
OSX 10.10.1 (14B25)

In addition, I found the response of "bower-component-list.json" seems to be invalid. I checked it with curl http://localhost:3010/api/bower-component-list.json -O.
It occurs around https://github.com/rakuten-frontend/bower-browser/blob/master/client/assets/scripts/services/search.js#L86

Make sure your network connection and run: $ bower-browser --cache 0.
This will re-fetch the API data.

Thanks! I'll try tomorrow.

It works well after clearing the cache. Thanks!


TypeError: The "listener" argument must be of type Function. Received type object

TypeError: The "listener" argument must be of type Function. Received type object
My code block is nearly identical to the example:
    const client = Amplitude.init(config.amplitude.key);

    client.logEvent({
      event_type: "Node Event",
      user_id: "Test",
    });

I am in a TypeScript project and making the call in ComponentDidMount. Additionally, I added the @amplitude/types package (Should update your README for that).
Any assistance would be appreciated!

It looks correct to me. Did you add @amplitude/node package as well?

the sane issue

Could you provide more details about this error? Like which line triggered this?

the same as here.

initialized amplitude
called this event on my GET route
Can it be this issue https://stackoverflow.com/questions/45979221/getting-typeerror-listener-argument-must-be-a-function-in-node-js ?

    const client = Amplitude.init(config.amplitude.key);
    client.logEvent({
      event_type: "Node Event",
      user_id: "Test",
    });

@haoliu-amp did you do any changes to the logEvent method recently?

@MrAlekhin Which version are you using btw? Also would you mind share the stacktrace too?

@haoliu-amp
version 0.3.1
TypeError: "listener" argument must be a function
    at ClientRequest.once (events.js:340:11)
    at new ClientRequest (_http_client.js:174:10)
    at Object.request (http.js:39:10)
    at Object.request (https.js:245:15)
    at NodeClient.logEvent (/Users/artem/FitCompete/fitcompete_api_v2/node_modules/@amplitude/node/dist/nodeClient.js:47:25)
    at Post.findById.then (/Users/artem/FitCompete/fitcompete_api_v2/server/routes/post_routes.js:84:19)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)

@MrAlekhin Thank you! Would you like to try 0.2.0 real quick to see if that version works for you?

@haoliu-amp looks like the same error 🤷♂
TypeError: "listener" argument must be a function
    at ClientRequest.once (events.js:340:11)
    at new ClientRequest (_http_client.js:174:10)
    at Object.request (http.js:39:10)
    at Object.request (https.js:245:15)
    at NodeClient.logEvent (/Users/artem/FitCompete/fitcompete_api_v2/node_modules/@amplitude/node/dist/nodeClient.js:31:25)
    at Post.findById.then (/Users/artem/FitCompete/fitcompete_api_v2/server/routes/post_routes.js:84:19)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)

package.lock
 "@amplitude/node": {
      "version": "0.2.0",
      "resolved"<EMAIL_ADDRESS>      "integrity": "sha512-zod9xiz7So14KyFMYu6/saSLn2iYGpkKxGvdEHOZCXau1yNb/zBcMFSb6FaxkN4sj7ZEaQMI7ATD18Z5Vuk/Mg==",
      "requires": {
        "tslib": "^1.9.3"
      }
    },

Wonder what version of node are you using? Mine is v12.16.1.
It looks very similar to https://www.reddit.com/r/learnjavascript/comments/fshsy5/how_do_i_fix_typeerror_listener_argument_must_be/

+1  Having the same issue.

@MrAlekhin @nihiser @nihiser What version of node are you guys using? Look like it might be because of the node version compatibility issue.

@haoliu-amp node version 13.9 here

@mc-lovin @MrAlekhin @nihiser Hey all, I published a new version v0.3.2. Mind try it out? Thanks!
https://www.npmjs.com/package/@amplitude/node

@haoliu-amp I am on node 13.5.0. Just updated and working fine! Thanks!


merge from arlac77/template-arlac77-github,arlac77/template-esm-only,arlac77/template-node-app

package.json

chore(deps): add github:arlac77/documentation remove ^13.1.0 (devDependencies.documentation)

:tada: This PR is included in version 10.0.22 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


MACE run fails due to MACE_CHECK error

Before you open an issue, please make sure you have tried the following steps:

Make sure your environment is the same with (https://mace.readthedocs.io/en/latest/installation/env_requirement.html).
Have you ever read the document for your usage?
Check if your issue appears in HOW-TO-DEBUG or FAQ.
The form below must be filled.

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS 10.13.6
NDK version(e.g., 15c): r16b
GCC version(if compiling for host, e.g., 5.4.0):
MACE version (Use the command: git describe --long --tags): v0.10.0
Python version(2.7):  2.7
Bazel version (e.g., 0.13.0): 0.20.0-homebrew

Model deploy file (*.yml)
Not available since testing on a custom model

Describe the problem

MACE_CHECK fails on the following https://github.com/XiaoMi/mace/blob/fef913af05fb1651ee58af8818f8afa0f6693c57/mace/core/tensor.h#L348

To Reproduce

Current MACE master conversion tools don't work with clang toolchain directly, so I'm running MACE within a separate test application. I'm using example code from https://mace.readthedocs.io/en/latest/user_guide/basic_usage.html#build-and-run-an-example-model.
I'm using a custom model, so can't share the network structure directly, but I've shared some context below.

Error information / logs

The exact error message is as follows:

F tensor.h:353 Check failed: image_shape[0] <= buffer_->shape()[0] && image_shape[1] <= buffer_->shape()[1] tensor (source op activation_2_output): current physical image shape: 896, 100 < logical image shape: 228, 101

which occurs when running the following operation:
I logging.h:105 Running operator activation_2_output<2, BatchNorm, 3> started

More Info about tensor:

InputShape = OutputShape = 100(H) 56(W) 16(C)
Previous layer is of type Deconv2D
Fused PRELU activation
I workspace.cc:272 Tensor: activation_2_output Mem: 5 Data type: 3 Image shape: 896, 100
For previous layer: I workspace.cc:272 Tensor: conv2d_transpose_1_output Mem: 2 Data type: 3 Image shape: 448, 400

Additional context

Most of the mace library is unmodified, except some header includes to support compilation with clang/libc++ toolchain.
Got same error on OnePlus5 and Galaxy S9+ which are both running opencl 2.0.

Was a bug in computing output shape for deconv2d (incorrect framework specified)

你好，请问你是怎么解决的？


Update renovatebot/github-action action to v34.62.1

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
minor
v34.60.0 -> v34.62.1

Release Notes

renovatebot/github-action
v34.62.1
Compare Source
See the the changelog for changes in all releases.
34.62.1 (2022-12-17)
Bug Fixes

deps: update renovate/renovate docker tag to v34.62.1 (afc5d3c)

v34.61.0
Compare Source
See the the changelog for changes in all releases.
34.61.0 (2022-12-17)
Bug Fixes

deps: update renovate/renovate docker tag to v34.61.0 (57b8e85)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Branch automerge failure
This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.


Add position and scaling matrix for nup84 2D EM

nup84.cif has a reference to a 2D EM map (*.pgm) file which does not contain pixel size information or alignment to the sphere models.

The scale is already provided in pixel_size_width and pixel_size_height of the ihm_2dem_class_average_restraint table.  So only rotation and translation need to be provided using the current ihm_2dem_class_average_fitting table.

@tomgoddard, any preferred convention for this transformation? Since we don't currently have it in IMP, I may as well be consistent with whatever convention Chimera uses when I add it. (By "convention" I mean where do you place 2D images relative to 3D objects? On the xz or yz plane? Centered at the origin or origin at bottom left of the image?) @brindakv, we should state this convention in the dictionary too so there's no confusion.

A 2D image opened in Chimera is placed in the xy plane with the lower left image corner (image pixel index 0,0) at x,y,z = (0,0,0).

The nup84 example 2DEM fitting matrix is not aligning the map with the cluster 1 sphere model.  If I transpose (or equivalently invert) the rotation then the orientation looks correct (see attached image).  But nothing I tried made the translation alignment correct, typically off by about 50-300 Angstroms along each axis.
The conventions are not clear in the ihm-extension.dic file but here is what I think the should be.  The 2D image is scale by the pixel_size_width and pixel_size_height from the ihm_2dem_class_average_restraint table with corner pixel 0,0 being at position x,y,z = 0.  Then the rotation is applied to the image grid points, and finally the translation vector is applied to the image grid points. (This implies the translation is in units obtained after pixel_size_width scaling, e.g. Angstroms.)  The resulting image location should match the sphere model when projected orthogonal to that final image position.  The rotation is applied by multiplying an xyz grid point column vector by rotation matrix having elements r11,r12,r13 in the first row, r21,r22,r23 in second row, r31,r32,r33 in third row (R * xyz).
In the nup84 example the rotation matrix elements have only 3 digits to the right of the decimal place.  This is not enough to get decent orthogonality of the matrix and it would be better to have maybe 6 digits minimum so the rotation is really a rotation to within 32-bit float precision.

The nup84 example 2DEM fitting matrix is not aligning the map with the cluster 1 sphere model

Is the code for this in ChimeraX already? Seems to me like it would be easier for me to fiddle with it at my end rather than going back and forth. And I'll double-check the transformation here. There is a test in the IMP test suite with a toy system, but possibly something weird is happening for Nup84.

The conventions are not clear in the ihm-extension.dic file

If I understand you correctly, your thoughts on what they should be match what I implemented in IMP, except that the rotation and translation are applied to the 3D model, not the image. That's presumably why you had to invert the rotation matrix. @brindakv needs to clearly state the convention in the dictionary, but of course it's easy for whoever ends up being "wrong" to invert the transformation. (My feeling is that the transformation should apply to the model rather than the image because the image is pristine input data while the model is noisy output data. Of course for viewing you can choose to transform either.)

In the nup84 example the rotation matrix elements have only 3 digits to the right of the decimal place.

No problem - I can output them with more precision. My CIF writer outputs all floats with 3 places, but I can hack it to add more precision just for these fields.

I tried using the inverse transform on the 2d image and it came closer but still off in translation in x and y by maybe 50-100 Angstroms, image attached.  The code to read the matrix (using the inverse) will be in tonight’s ChimeraX build.

FYI, looks like GitHub strips attachments if you reply to an issue by email, so nobody can see the image.

Thanks.  Thought I’d try the attachments but they are not important — the text describes the situation.

Ah, I see the problem. The transformation is correct but it's for the model as stored in the RMF file. For some reason we center the models on the origin before writing out the mmCIF file. So we could either adjust the transformation to account for that, or deposit the IMP model coordinates without centering them first. I'm inclined to do the latter since the fewer differences between what we have in our 'raw' files (e.g. trajectories) and the mmCIF, the better.

Sounds good.

Turns out that the Nup84 trajectories are also centered, so it makes sense to leave the mmCIF output as it is. Pretty easy to invert this centering before applying the image transformation though.


[BUG] Git hooks not for all contributors

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Our contributors must manually define their hook to validate their code with eslint
Expected Behavior
why not create a .hook folder with all the hooks of the project that the contributors must copy in their .git/hooks
Steps To Reproduce
No response
Possible solution
No response
Environment
- OS:
- Node:
- npm:

project version
v1.0.0
Browser name and version
No response
Link to your project
No response

Merge with other branch /feature/sync_github_and_gitlab


Play better with existing nixos options

I think nix-mineral should reuse existing nixos options as much as possible, this would avoid unnoticed conflicts.
Eg., instead of explicitly setting
config.boot.kernel.sysctl."kernel.unprivileged_userns_clone  = "0";

nix-mineral could just set
config.security.unprivilegedUsernsClone = false;

I could work on a PR along these lines if we agree on this.

Duplicate of https://github.com/cynicsketch/nix-mineral/issues/17 .
See the issue for some of my problems with this. Basically, I don't like the lack of granularity of some of the existing NixOS options, along with the fact that the benefits of doing this were also quite low, compared to sorting out the admittedly shortsighted code I threw together when it was only me who ever used this project.
It can be done, but these settings would need to be evaluated on a case by case basis to avoid granularity issues that we're currently trying to fix.


Support for Sparse Algebras

In certain high-dimensional applications we only make use a subspace of grades. For example the Cl(n) Clifford algebra grows in dimensionality by O(2^n) while a using only blades of grade k = 1 and k = n - 1 grows linearly by O(2n).
I wrote a quick naive implementation just to test initiation times, the kr argument is used to specify a list of desired grades.
https://github.com/Stefan-Endres/clifford/commit/81c78c3cd36b3d952ec652072167af786d874116
>>> cf.Cl(4, kr=[1, 3])
(Layout([1, 1, 1, 1], [(), (1,), (2,), (3,), (4,), (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)],
firstIdx=1,
names=['', 'e1', 'e2', 'e3', 'e4', 'e123', 'e124', 'e134', 'e234']),
{'e1': (1^e1), 'e2': (1^e2), 'e3': (1^e3), 'e4': (1^e4),
'e123': (1^e123), 'e124': (1^e124), 'e134': (1^e134), 'e234':
(1^e234)})

>>> cf.Cl(4)
(Layout([1, 1, 1, 1], [(), (1,), (2,), (3,), (4,), (1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4), (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4), (1, 2, 3, 4)],
firstIdx=1,
names=['', 'e1', 'e2', 'e3', 'e4', 'e12', 'e13', 'e14', 'e23', 'e24', 'e34', 'e123', 'e124', 'e134', 'e234', 'e1234']),
{'e1': (1^e1), 'e2': (1^e2), 'e3': (1^e3), 'e4': (1^e4),
'e12': (1^e12), 'e13': (1^e13), 'e14': (1^e14), 'e23': (1^e23), 'e24': (1^e24), 'e34': (1^e34),
'e123': (1^e123), 'e124': (1^e124), 'e134': (1^e134), 'e234': (1^e234), 'e1234':
(1^e1234)})

Some basic operations such as mutlivector addition, grade projection etc. are preserved nicely. Others such as dual (in cases where the result is an initiated grade) and reflection are not.
The initiation time growth isn't as promising as I'd hoped for either, but could possibly be drastically improved with a less naive implementation. In particular 99.1% of the initiation is spent in this loop in  _getEvenOdd: https://github.com/pygae/clifford/blob/8793d3e4faf758770ae80d8d9e111574677772bc/clifford/init.py#L567
There is a comment in the code that states the loop runs for grade! permutations, however, at the moment it is unclear to me how the rest of the algebra and code will be affected when I change the range of these permutations or if it is even still looping for all the canonical grades at the moment. Especially when supplied with more arbitrary grade ranges.
Initiation times:
cf.Cl(4)
Initiation time: 0.22497177124023438
cf.Cl(4, kr=[1, 3])
Initiation time: 0.0009617805480957031
cf.Cl(5)
Initiation time: 0.009763717651367188
cf.Cl(5, kr=[1, 4])
Initiation time: 0.0020651817321777344
cf.Cl(6)
Initiation time: 0.0555272102355957
cf.Cl(6, kr=[1, 5])
Initiation time: 0.010433673858642578
cf.Cl(7)
Initiation time: 0.41026782989501953
cf.Cl(7, kr=[1, 6])
Initiation time: 0.08707642555236816
cf.Cl(8)
Initiation time: 4.242865324020386
cf.Cl(8, kr=[1, 7])
Initiation time: 1.0086712837219238
cf.Cl(9)
Initiation time: 61.97481608390808
cf.Cl(9, kr=[1, 8])
Initiation time: 15.875498056411743
# cf.Cl(10) did not initiate after several minutes
f.Cl(10, kr=[1, 9])
Initiation time:<PHONE_NUMBER>1529846

cProfile for cf.Cl(9, kr=[1, 8]:

Name
Call Count
Time (ms)
Own Time (ms)

init
1
23157
0

Cl
1
23157
0

_genEvenOdd
1
23155
973

modify_idx
362880
20229
11265

typeof
3265940
8964
1721

wrapper
3265942
6188
1311

_typeof_int
3265937
3374
1064

bit_length
3265937
2310
1436

I would be happy to contribute as much as possible under the direction of the developers.
Regards,
Stefan Endres

Thanks for the detailed issue @Stefan-Endres ! High dimensional algebra support is a big priority for us at the moment as it is the biggest performance killer in this library at the moment and people are interested in it, it would be great to get your contributions.
I have been thinking about our problems here for a little while, check out https://github.com/pygae/clifford/issues/17
I'm just digging into this even odd issue now and it is pretty nasty

These even and odd permutation tables appear to be used only in _gmtElement. I think modifying _genEvenOdd to use your kr parameter and limiting the  for i in range(self.gaDims): to the indices of your sparse algebra will work fine and will bring big speedups

Wow! Thank you, it's already much faster. I'm going to play around with weaving kr into the _genEvenOdd loop hopefully we can squeeze even more speed out of a sparse initialization.

I'd just like to suggest that since Cl is pretty much the main callable in this library, it might be helpful to have a more descriptive name for the new argument.  Maybe desired_grades or even just grades?

Just for comparison, ganja.js absolutely not optimized generation times :
1-dimensional clifford: 0.674072265625ms
2-dimensional clifford: 0.808837890625ms
3-dimensional clifford: 2.743896484375ms
4-dimensional clifford: 10.283935546875ms
5-dimensional clifford: 22.559814453125ms
6-dimensional clifford: 83.708984375ms
7-dimensional clifford:<PHONE_NUMBER>90625ms
8-dimensional clifford: 2795.296875ms
9-dimensional clifford: 18897.85400390625ms

Thanks for the table @enkimute interesting how fast the javascript startup times are!
just added to my PR here: https://github.com/pygae/clifford/pull/43
this should bring the start up times down very significantly

After fixing some very obvious things :
1-dimensional clifford: 2.13525390625ms
2-dimensional clifford: 1.583740234375ms
3-dimensional clifford: 1.738037109375ms
4-dimensional clifford: 7.637939453125ms
5-dimensional clifford: 16.21484375ms
6-dimensional clifford: 45.40087890625ms
7-dimensional clifford:<PHONE_NUMBER>09375ms
8-dimensional clifford:<PHONE_NUMBER>0625ms
9-dimensional clifford: 5272.82421875ms

@Stefan-Endres with the latest release of the library we are in a place where higher dimensional algebra initialisation is pretty fast, do you think sparse algebra support is still necessary? Or should we close the issue?

I think it would be better to close the issue for now. The last time I worked on this I was not able to make all the desirable operations work seamlessly, what I did relies on some very ugly/unmaintanable hacks. If I find a better solution some day I'll open a new PR if there are applications requiring very high dimensions (meaning to the point where the memory requirements of combinatorial growth of the blades of "middle" grades are intractable) and/or a good maintainable solution, but for now I don't think it would benefit the library (on a personal note it's working really well for my applications at the moment as I do not use extremely high dimensions).
Thanks for the great work on the initialisation improvements!


Set volumes ReadOnly if low free disk space

Periodically check free disk space on volumes disks and mark volumes as readonly fi free space is low.
ReadOnly volumes exclude from writable volumes and not assign for new files.

Naming is the most difficult. How about changing FreeDiskSpaceWatermark to minFreeSpacePercent or minFreeDiskSpacePercent?

I kinda found a problem with this.
The volumes are set to readOnly, but if currVolumes < maxVolumes, the master will send write requests to the volume which then fail. (and the mounter really doesnt stop trying when writes fail e.g. disk full, no volumes..)
I wrote a temporary patch for myself to report max volumes as 0 when disk-space is full, but i dont think that should be the solution.


Use new GitHub Actions reporter in Jest 28

Jest v28 added a neat new reporter that adds file annotations in PRs. Let’s turn it on!

So beautiful! 🥹


The amount for tokens isn't specified correctly in notifications.

The notification for the swap wrote 0.03, it should be 3

checked


Additional Column (CorrelationId) Returning Null Value

Bug Report / Support Request Template
If you are opening a feature request, you can ignore this template. Bug reports and requests for assistance usually require the same basic information described below. This will help us more quickly reproduce and investigate the problem you're reporting. (If you are using Serilog.Sinks.MSSqlServerCore, that package is deprecated, please switch to Serilog.Sinks.MSSqlServer before reporting an issue.)

Please clearly describe what the SQL Sink is doing incorrectly:
When adding an additional column for the CorrelationId, NULL is stored in the database table. This code works with version 6.3.0 of Serilog.Sinks.MSSqlServer but later versions don't save the CorrelationId. I can see the CorrelationId in both the LogEvent and Properties Columns.
I have tried with and without the PropertyName being specified and also with different DataLength values.
Other columns such as RequestUri work as expected.

Please clearly describe the expected behavior:
The CorrelationId column should be populated

List the names and versions of all Serilog packages used in the project:

Serilog: 3.1.1
Serilog.Sinks.MSSqlServer: 6.6.0 (Issue occurs on version 6.4.0 and above)
(configuration, etc.)

Target framework and operating system:

[X] .NET 6
[ ] .NET Framework 4.8
[ ] .NET Framework 4.7
[ ] .NET Framework 4.6
OS:
Windows 10

Provide a simple reproduction of your Serilog configuration code:
var columnOptions = new ColumnOptions
{
AdditionalColumns = new Collection
{
new SqlColumn { ColumnName = "CorrelationId", PropertyName = "CorrelationId", DataType = SqlDbType.NVarChar},
new SqlColumn { ColumnName = "RequestUri", DataType = SqlDbType.NVarChar},
new SqlColumn { ColumnName = Constants.ApplicationKey, DataType = SqlDbType.VarChar },
new SqlColumn { ColumnName = Constants.InstanceKey, DataType = SqlDbType.VarChar }
}
};

serilogConfig
.WriteTo
.MSSqlServer(
connectionString,
sinkOptions: new MSSqlServerSinkOptions
{
TableName = "serilog",
SchemaName = "dbo",
AutoCreateSqlTable = true,
EagerlyEmitFirstEvent = Convert.ToBoolean(appenderConfig.Args["eagerlyEmitFirstEvent"]),
BatchPostingLimit = Convert.ToInt32(appenderConfig.Args["batchPostingLimit"])
},
columnOptions: columnOptions,
restrictedToMinimumLevel: level);

Provide a simple reproduction of your Serilog configuration file, if any:

Provide a simple reproduction of your application code:

Just to provide an update on this, the DataType for the CorrelationId column needs to be SqlDbType.UniqueIdentifier in order for it to be populated in the database table.
This appears to be a breaking change between version 6.3.0 and 6.4.0.

Hi @ryanrolfe!
Thank you for telling us your finding. Can you please provide a small sample program which generates a log event that leads to a NULL value in the CorrelationId column and also the DB schema you used? Thank you!

Perhaps this problem is fixed with #515 which is fixed in the latest dev build on nuget.org. Can you please confirm this?

I am not the OP, but have a similar problem with versions 6.4.0+ of the Serilog.Sinks.MSSqlServer package, and the newest dev version did not fix it for me. Would it be best to open a different issue and provide a sample program?

@pkokay yes, please do that. I will close this issue.


Add support for parameter validation

Is your feature request related to a problem? Please describe.
I would like to see support for parameter validation in Bicep. When authoring modules I sometimes implement logic in the template that requires specific input to the module for the deployment to succeed.
For example: Let's say I have a module for a hub virtual network because I want all hub VNets in my organization to be created the same way. I want the network admin to provide the location, VNet name and an address prefix for the VNet. I've then added some simple logic to define the subnet address spaces. If the module below would be used and the addressprefix provided is a CIDR block smaller than /24 the deployment would create the VNet and fail halfway through the subnet deployment.
param location string = resourceGroup().location
param vnetname string = 'hub-vnet'
param addressprefix string = '<IP_ADDRESS>/24'

var prefixstart = '${split(addressprefix, '.')[0]}.${split(addressprefix, '.')[1]}.${split(addressprefix, '.')[2]}'
var azfwprefix = '${prefixstart}.0/26'
var azfwmgmtprefix = '${prefixstart}.64/26'
var gwprefix = '${prefixstart}.128/26'
var bastionprefix = '${prefixstart}.192/26'

resource vnet 'Microsoft.Network/virtualNetworks@2020-06-01' = {
  location: location
  name: vnetname
  properties: {
    addressSpace: {
      addressPrefixes: [
        addressprefix
      ]
    }
  }
}

resource azfwsubnet 'Microsoft.Network/virtualNetworks/subnets@2020-06-01' = {
  name: '${vnet.name}/AzureFirewallSubnet'
  properties: {
    addressPrefix: azfwprefix
  }
}

resource azfwmgmtsubnet 'Microsoft.Network/virtualNetworks/subnets@2020-06-01' = {
  name: '${vnet.name}/AzureFirewallManagementSubnet'
  dependsOn: [
    azfwsubnet
  ]
  properties: {
    addressPrefix: azfwmgmtprefix
  }
}

resource gwsubnet 'Microsoft.Network/virtualNetworks/subnets@2020-06-01' = {
  name: '${vnet.name}/GatewaySubnet'
  dependsOn: [
    azfwmgmtsubnet
  ]
  properties: {
    addressPrefix: gwprefix
  }
}

resource bastionsubnet 'Microsoft.Network/virtualNetworks/subnets@2020-06-01' = {
  name: '${vnet.name}/AzureBastionSubnet'
  dependsOn: [
    gwsubnet
  ]
  properties: {
    addressPrefix: bastionprefix
  }
}

Describe the solution you'd like
When building Azure Marketplace solutions we create the CreateUiDefinition.json file to define the user interface when creating a managed application from the Azure Portal. For the user interface elements we have the constraints property available where we can validate the user input. I would like to see something similar for Bicep modules.
Example: To verify that an address prefix is of the correct size.
param addressprefix string {
  default: '<IP_ADDRESS>/24'
  constraints: {
    type: 'Microsoft.Template/parameterValidation/network'
    validations: [
      {
        minAddressPrefixSize: '/24'
      }
    ]
  }
}

Or maybe I would like to verify that the value for a pre-shared key used by an IPsec VPN connection is between 100-128 characters long.
param presharedkey string {
  constraints: {
    type: 'Microsoft.Template/parameterValidation/general'
    validations: [
      {
        regex: '^[a-z0-9A-Z]{100,128}$'
        validationMessage: 'Only alphanumeric characters are allowed, and the value must be 100-128 characters long.'
      }
    ]
  }
}

With parameter validation available, I as an author can make sure that my modules are used correctly and guarantee a successful deployment for the end user.
Thoughts on this?

IMHO this type of governance may be better resolved via an Azure Policy.  Note that current Azure Policies do not have a regex function (please vote for it) but, they do have simple-ish logic you can apply.


Fix a typo: crosshead --> arrowhead

Fix https://github.com/knsv/mermaid/issues/227

@knsv Could you please release a new version as soon as you confirm the bug and fix?

Yes will take a look today.
/Knut

21 okt. 2015 kl. 12:10 skrev Tyler Long<EMAIL_ADDRESS>@knsv https://github.com/knsv Could you please release a new version as soon as you confirm the bug and fix?
—
Reply to this email directly or view it on GitHub https://github.com/knsv/mermaid/pull/228#issuecomment-149845671.

Thanks for this!


xvfb-run: error: Xvfb failed to start

There seems to be a problem running xvfb:
(node:1754) UnhandledPromiseRejectionWarning: Error: The process '/home/runner/work/_actions/openrndr/setup-opengl/v1.1/setup-opengl.sh' failed with exit code 1
    at ExecState._setResult (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:574:25)
    at ExecState.CheckComplete (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:557:18)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:451:27)
    at ChildProcess.emit (events.js:210:5)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
(node:1754) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1754) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

https://github.com/JuliaPlots/GLMakie.jl/runs/2121584167#step:5:46
Thanks!

I think the problem may be that it is running Focal instead of Bionic. Is it possible to try to run it on Bionic?

Hello, I have the same problem as mentioned by @SimonDanisch. I am trying to use a package using OpenGL (it is GLMakie, the same for which SDanish opened the issue); in my deploy.yml I have
name: Build and Deploy
on:
  push:
    branches:
      - main
      - master
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        persist-credentials: false
    # NOTE: Python is necessary for the pre-rendering (minification) step
    - name: Install python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'

    # Set up OpenGL ? ======>problem here
    - name: Set up OpenGL
      uses<EMAIL_ADDRESS>
    # extra stuff

and during the deployment I end up with a Xvfb-run: error: Xvfb failed to start:

xvfb-run: error: Xvfb failed to start
(node:1657) UnhandledPromiseRejectionWarning: Error: The process '/home/runner/work/_actions/openrndr/setup-opengl/v1.1/setup-opengl.sh' failed with exit code 1
at ExecState._setResult (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:574:25)
at ExecState.CheckComplete (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:557:18)
at ChildProcess. (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:451:27)
at ChildProcess.emit (events.js:210:5)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
(node:1657) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1657) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Since I have runs-on: ubuntu-latest I guess that I am well running on Bionic. If it's not the case how can I ensure it ?
@SimonDanisch , any feedback on this issue ?
Thanks !

Have a look at the current GLMakie config: https://github.com/JuliaPlots/Makie.jl/blob/master/.github/workflows/glmakie.yaml#L56

Hi @SimonDanisch the problem may be that setup-opengl may not work on ubuntu-latest. If possible you can try to use the older ubuntu image.
I will have a go at building support for the newer Ubuntu image(s).

Uh, this was some time ago - It either didn't run on Bionic, or I had to use ubuntu-latest for other reasons... There's also a chance that I didn't try it, because I already had another solution up and running by the time you answered, and in general prefer to run on the latest version.

@artnie I have recently moved away from setup-opengl because the default mesa install on ubuntu-20.04 is backed by llvm-pipe. llvm-pipe has seen big improvements while development on openswr (which is used by setup-opengl) seems to have stagnated or halted. I am able to run advanced opengl apps on the stock mesa install, for example here https://github.com/openrndr/orx/blob/master/.github/workflows/generate-screenshots.yml

I would like to note that the official documentation suggests using runs-on: ubuntu-latest which is misleading given that it doesn't work. Maybe this issue can be at least solved on a DX-level by updating the documentation.

@douira Do you know of an alternative ubuntu version that works?

bionic is deprecated for github workflows by now


Update roles to work with OpenSuSE

In roles/core/repositories_server/tasks/main.yml the vars file to use is determined by look at the Ansible facts for the OS. With this role the vars file for SUSE is called SUSE.yml. However, ansible_facts.os_family for OpenSuSE 15.3 returns Suse and thus the vars file is not matched due to the case.
This pull request fixes this issue by adding a search for the ansible_facts.os_family in upper case.

Similar problem with the dhcp_server role. Last commit addresses this.

Similar problem for advanced_dhcp_server role. Last commit addresses this.

It should be noted that as it stands the two DHCP roles fail when trying to start the dhcpd service in OpenSuSE. This is because the role writes its main configuration file to /etc/dhcp/dhcpd.conf whereas the OpenSuSE set-up loads /etc/dhcpd.conf.

Both DHCP roles fixed.

pxe_stack role updated to work with OpenSuSE 15.3. Used @oxedions previous work on this to make it work. Tested successfully with a diskful install :-)


Improve notification title

It would be nice if the title of the slack message were a little more descriptive.
For example,

The message title is:

AWS Elastic Beanstalk Notification

but could be improved to be:

Elastic Beanstalk Environment retsd-staging-1 health is Degraded

or something similar

Has this change already been implemented?

@smith-quinn not yet! Definitely something I'd like to see too, especially for getting Slack notifications on mobile devices.
If you (or anyone else) wants to take a stab at it, it's the subject variables (like these) that can be enhanced.

Instead of using a static subject name. I am using message.AlarmName itself as subject name.


ADDING BACK TO TOP BUTTON

Is your feature request related to a problem? Please describe.
A back to top button needs to be added at the bottom of the page.
Describe the solution you'd like
A back to top button needs to be added at the bottom of the page for directly going to top after reaching the bottom of the page.
PLEASE ASSIGN THIS ISSUE TO ME AND ALSO ADD THE LABELS OF hacktoberfest-accepted and gssoc-extd  and level.

Sure go ahead.

sir please assign the issue


DependencyCheck 6.1.5 and 6.1.6

When running DependencyCheck 6.1.5 and 6.1.6, the results appear the CVE-2007-1652 vulnerability referred to openid4java again.
Understand it was identified as false positive #713 and should be fixed by #722 back to May 2017. Just want to check this the fix included to the DepdendencyCheck  6.1.5 or 6.1.6.
https://github.com/jeremylong/DependencyCheck/pull/722
Appreciate any input and thank you

Just tested with the maven plugin - I'm unable to reproduce with:
<dependency>
    <groupId>org.openid4java</groupId>
    <artifactId>openid4java</artifactId>
    <version>1.0.0</version>
</dependency>


PATCH error

Whenever I send some request with basic parameters, it works like a charm, for example:
                            let parametersServices  = [
                                "name": [
                                    "first": "\(givenName)",
                                    "last": "\(familyName)"
                                ]
                            ]

But if I send parameters with deep nesting, it does not make any effect on those deeply nested parameters, for example:
                            let parametersServices  = [
                                "name": [
                                    "first": "\(givenName)",
                                    "last": "\(familyName)"
                                ],
                                "services" : [
                                    "mentoring": [
                                        "profileId" : "id123",
                                        "title" : "mentor"
                                    ]
                                ]
                            ]

Am I doing something wrong or is such type of PATCH does not supported to modify deeply nested profileId ?
Because if I try simply create new user with same parameters, it works fine, however there it does not accept changes with PATCH for existing items.

This isn't an issue with Alamofire, since as you state it is sending the data correctly with the correct HTTP method. It is more likely an issue with the application's API you are trying to use.  The better place to ask a question is Stackoverflow or ask the developer of the API you are trying to use.

Like @tobiasoleary said, these types of questions are best suited for Stack Overflow and tag Alamofire. We use our GitHub project for bug reports and feature requests.
Best of luck! ð»

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


Await until the browser is closed

To make sure the browser is always closed cleanly, this is done in a finally
block.

Hey @remcohaszing, this project is up for adoption now. Thanks for you two pull requests. Would you like to take over this project? I can transfer ownership to you so the current users get redirected. Would you be up for that?

That answer was unexpected :sweat_smile:
I don’t have the intention to actively maintain this package. However, if it makes you feel better, I’ll adopt it and update dependencies every now and then.

Haha, yes I can imagine the surprise. I will approve and merge both of your pull requests and transfer the repository to your account as soon as you have deleted your fork.

I deleted my fork.
Could you also invite me as maintainer for the npm package? My npm username is also remcohaszing.


re:Amaze Integration Pack

This PR introduces the basic skeleton for the re:Amaze SaaS KB/Ticket Tracker tool. Specifically focusing on getting search values from the KB at this time.

Yep, other than the pagination and CPU cycles this thing is going to take, lgtm.

Well, look at this. re:Amaze already helped us out and updated docs. There is a query param. :)
Much simpler search, and no more overhead with at least search. Pagination may be an issue, but let's save that for another day.

Well, look at this. re:Amaze already helped us out and updated docs. There is a query param. :)

nice!


Fixes #1536: Removed unnecessary check for n >= 0

Took a look at the failing CI and reported

https://github.com/skupperproject/skupper-router/issues/1538

superseded by

https://github.com/skupperproject/skupper-router/pull/1539


feat(status-page): add amount of nodes currently running

Describe the feature request
Since geth tends to limit the amount of peers to 16, grafana can't display the amount of nodes live accurately.
Perhaps the status page can display this information, if possible? Would be cool to see
Edit: extended the feature request with proposers and provers

[ ] Keep track of all nodes
[ ] Keep track of proposers
[ ] Keep track of provers

Describe alternatives you've considered
Description of the alternatives you've considered here.
Additional context
These stats should show the amount of currently running nodes/proposers/provers.

I think the approach should be very similar to L1 ethereum, however, it seems not a very simple job, looks like we need to implement and maintain a network crawler to show this number: https://ethereum.stackexchange.com/questions/198/how-many-nodes-are-there-on-the-ethereum-network

This is not something we should do for now.


switch to readr::write_lines for consistent LF line endings

cat in create_task_makefile was writing different line endings depending on whether it was run from a Mac or a Windows machine, so I switched to readr::write_lines. (I've done this in other functions in the past; just missed this one.)
Current mismatches between machines will need to be rectified by having the windows users rebuild their task remake files with scmake(..., force=TRUE). My hope+intent is that there will be absolutely no changes to the .yml task files produced by Macs, but we should be vigilant for a while because there might be some. I had to remove a final newline character to get it to stay the same on the file I used to test this PR. I haven't tested on a task makefile that lacks a combiner function, which is the case I think most likely to break. (I actually think it won't break, but it still seems like the weak point).

Tested in the lake-temperature-model-prep and this PR resolved unnecessary rebuilds.


reconsider SystemSwitch and StoreSwitch naming

"switch" in this case is more a reflection of the implementation details, not what the user expects, and it's IMO confusing
maybe SystemCaller and StoreCaller? or SystemContext and StoreContext?
I also wonder if it's feasible gas-wise to recommend always using SystemSwitch to call other systems instead of recommending it based on a particular context, so we have a consistent path/entry point to call systems from other systems without world callback issues

hoping that when we move folks to use non-root systems, we won't really need this anymore (at least in user land)
this mostly shows up when you use mostly root systems

going to close for now since we can't come up with a better name and we think this problem will disappear once we move to non-root namespaces as the default path


Incorrect default value for python-preference in docs/reference/settings.md

According to  https://github.com/astral-sh/uv/pull/5637 , the default value in the document should be changed to "only-managed" because the managed behavior requires --preview. However, if the document is intended for post-stabilization behavior (without --preview), it should also be changed to "managed" instead of using a removed value.
I'm not sure which one should be changed to so I won't create a PR for it
https://github.com/astral-sh/uv/blob/257007ccaf0912a41dfe91b534527a7b1f54e19a/docs/reference/settings.md?plain=1#L646
https://github.com/astral-sh/uv/blob/257007ccaf0912a41dfe91b534527a7b1f54e19a/crates/uv-python/src/discovery.rs#L61-L69

Apologies, this changed recently. PR welcome. We can include both the stable and preview value in the default field.


ES6 parsing issues

These two code blocks should render the same tree
// works as expected
const a = () => {
  return b()
}

// does not work as expected
const a = () => b()

Hey, thanks, it's really good description, so was easy to figure out where wrong code logic.
Fixed:
const a = () => b();
const c = () => { d(); }

Actually, babylon parser I use for AST building doesn't handle such lines as 'ReturnStatement', so I needed to add that as 'post-build' modifier to transform all arrow functions.


GCP-ServiceName

service.description. service is a struct datatype, need to extract the description field from service.
Available in both standard and detailed datasets


python310Packages.aioswitcher: 3.2.2 -> 3.3.0

Diff: https://github.com/TomerFi/aioswitcher/compare/refs/tags/3.2.2...3.3.0
Changelog: https://github.com/TomerFi/aioswitcher/releases/tag/3.3.0
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

5 packages built:

home-assistant-component-tests.switcher_kis
python310Packages.aioswitcher
python310Packages.aioswitcher.dist
python311Packages.aioswitcher
python311Packages.aioswitcher.dist

Thank you!

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

5 packages built:

home-assistant-component-tests.switcher_kis
python310Packages.aioswitcher
python310Packages.aioswitcher.dist
python311Packages.aioswitcher
python311Packages.aioswitcher.dist


chore: coercify decimals expects

@BobdenOs , the tests are indeed testing a bit too much, I don't think there's a need to test all properties. We could certainly remove some of those in the $select clause. It's only important that the $select clause is 1) taken into account and 2) properly handles draft properties. "Normal" properties don't need to be check extensively.
@sjvans, your PR is fine for me, alternatively you can just skip testing those fields, up to you.


fix:[CORE-769]/rename_policyaction_to_policy_in_notification

Description
Rename ‘Policyaction’ to ‘Policy’
CORE-769
Fixes # (issue)
CORE-769
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Chore (no code changes)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also
list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[x] My code follows the style guidelines of this project
[x] My commit message/PR follows the contribution guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Other information:
List any documentation updates that are needed for the Wiki

Can we please make sure that the rest of the names are also singles and not plural.
Example:
Violations -> Violation


Issue 77:	[1,2,3] should default to an ArrayList instead of an unmodifiable list

"
Reported by rogerpack2005, Jun 3, 2011
At least I think it should.
http://groups.google.com/group/mirah/browse_thread/thread/4e0c2d32ea2a79e0
"
http://code.google.com/p/mirah/issues/detail?id=77

https://gist.github.com/1299294 code locations


[Bug]: SQL plan cannot be disabled

ODC version
ODC424
OB version
independent
What happened?
SQL plan cannot be disabled
What did you expect to happen?
can be disabled
How can we reproduce it (as minimally and precisely as possible)?
be disabled
Anything else we need to know?
No response
Cloud
No response

It seems a front-end bug:

Duplicate cases https://github.com/oceanbase/odc/issues/1692


Add more clear API call examples

In the swagger documentation, there exists a "try it out" option for the code, which enabled one to input values to test the response. It may (or may not) be useful to include a full example of what the url looks like outside of the "try it out" example. Or that could be redundant and overkill. Think it over.

I'm not sure what you mean by "full example", I don't think. Do you mean the url with the params?

Personally, I think that at least one (1) example would be helpful—this could be someone's first or second API call. Showing them what a call looks like that has at least two args and auth attached would be great.

Personally, I think that at least one (1) example would be helpful—this could be someone's first or second API call. Showing them what a call looks like that has at least two args and auth attached would be great.

@josh-chamberlain In that case, it'd probably be more prudent to include that one example in the getting started guide described in #420 -- after all, who knows what the first endpoint they call could be?

Yes, exactly! I was talking with @joshuagraber , and it was a little unclear, initially how to construct them. Providing an example of the full URL might be of use. Although that does increase the risk of duplicating information.

@maxachis I think part of my confusion was just in reading the Swagger docs. I didn't know whether "param" meant route param, query param, etc. Now that I know how to read them, they're easier to parse.
I agree with @josh-chamberlain though that one or two examples would be helpful. Maybe we can think about a "Getting started" guide post-v2 (if we don't have one already), that provides links to the web app for conveniently signing up and getting an API key, a few examples of API calls in curl, Py, node, etc.

@joshuagraber As a matter of fact, we have been talking about a getting started guide in #420 !


Codecov migration to marketplace app

Hi, Tom from Codecov here.
We noticed that you are using Codecov with fairly high frequency, and we’re so excited to see that! However, because you are not using our app, you may have experienced issues with uploading reports or viewing coverage information. This is due to rate-limiting issues from GitHub.
In order to prevent any future outages, we ask that you move over to our GitHub app integration.
The process is extremely simple and shouldn’t require more than a few clicks, and you should not expect any downtime. By moving to our app, you will no longer need an admin or separate account to manage the relationship with GitHub as the team bot.
Let me know if you have any questions, or if I can help at all with this process.

@brammool I tried re-configuring, but apparently this must be done by the repo owner.

I did follow the link and clicked on buttons.  Did I miss something?

There seems to be there as an githup app now at least. @thomasrockhu can you confirm, it is setup correctly now? Thanks!

Looks good to me on our side! Thanks everyone!


Accessibility Audit - Carbon Website: Components - Overview

This epic is tied to a larger "release" that is meant to track the progress of the Accessibility Audit for the Carbon Website. We will audit all of the pages of the carbon website based on AVT 1, AVT 2, & AVT3 - which can be found here.

AVT 1: will audit the site against the IBM Accessibility Checker - browser extension

AVT 2: will audit the site against accessible keyboard interactions

AVT 3: will audit the site against screen readers

Legend:

🌶 fully audited - on all three AVT levels

:one: 🔍 AVT 1 audited
:two: 🔍 AVT 2 audited
:three: 🔍 AVT 3 audited

:boom: issues and documentation - on all three AVT levels are complete

:one: 🚨 AVT 1 issues submitted
:two: 🚨 AVT 2 issues submitted
:three: 🚨 AVT 3 issues submitted

:sparkles: tickets are triaged

Current status of this page:

Components - Overview - 38 violations:

1⃣ 🔍 AVT 1 audited & 🚨 AVT 1 issues submitted

Closing due to inactivity. Will reopen if/when ready to be worked on again.


UploadPackage.cshtml's ValidationSummary not showing VerifyPackage errors

Regression from redesign.
#4763 logs exceptions as traces, so we can see what happened.
This issue is to fix the validation summary so the user sees validation errors again. I think the summary is working for upload, but not verify.

@chenriksson does this issue suggest that ANY issue with the verify package form doesn't show up?
Is there a quick repro for this that would help me fix this quickly?

Repro:

Upload package with Id {X} and Title {Y} as User {A}
Upload package with Id {Y} as User {B}

During the Verify step, make sure the package Title is also set to {Y}

Submit the upload

Expected:
User should see validation error "The ID of your package, '{Y}', is similar to the title of an existing package, which can cause confusion with our users. Please modify the ID of your package and try uploading again." (see issue #809)
Actual:
User just sees error "An unexpected error occurred. Contact support for assistance."

Upon investigation, VerifyPackage errors are shown--the scenario you've given me is a specific error case that we are not catching and returning a message for.

Deployed on 2017.11.30 - please verify in PROD!

@scottbommarito , please verify and close

Verified in prod.


Files from other project may not be modified or at least a warnning message ~

I'm currently working on my go project which was created and managed by go mod, but i think it may be the same with others like 'php composer'.
Problem is:
I import a thirdparty lib and use it somewhere in my project, then go mod to download and cache the code in cache dir. When Command + click to goto defination of an interface which belongs to that lib, i noticed that i just can edit that file. As i expected i may not edit that file or at least some message may show to warn me that you are editing a file that not belongs to your current project, its dangerous.

well, like how it works in phpstorm(vendor dir for composer), i still think it's much better if i could get be warned when i edit a file that not belongs to the current project(the thirdparty lib source code in vendor dir as i think does not belongs to the current porject, at least it lies in my .gitignore).
Actually, i dont think this issue is really much about system level permission control.  it's about project level file access control. i would never modify a file in a lib that npm installed, what i should do is to PR my modify on github, when the lib dev team accept and PR merged, i go back to my project and just npm update.


[QUESTION] How to manipulate File AccessControl?

In .NET Core, DirectoryInfo and FileInfo no longer has a SetAccessControl method.  This logic was moved into https://www.nuget.org/packages/System.IO.FileSystem.AccessControl/ .
While I can access this package easily enough through binary cmdlets, what is the right way to load this dll in PowershellCore / Powershell 6+?
As an example, I want to port Boe Prox's Set-Owner function to PowerShell Core: https://github.com/proxb/PowerShell_Scripts/blob/master/Set-Owner.ps1

You could use Add-Type -AssemblyName

@iSazonov Thanks, that worked!


Consider /jQuery.UI.Interactions.Sortable for NuGet dependency

I noticed that jQuery.UI has a NuGet package for just the sortable portion of the library.  Since your great KO extension is focused just on the sortable feature of jQueryUI, I wonder if this would be a lightweight alternative for a dependency, rather than jQuery.UI.Combined.
I'm not sure if you'd have to produce two NuGet packages to handle both cases (combined vs. just sortable).

This would be very helpful. We're using Bootstrap and there is some overlap with jQuery UI so I don't want to include the full UI.Combined library. Also, many of the jQUery UI components look dated.

The sortable Nuget package does not appear to be updated since 2011. I am going to stick with the combined package for now, but am happy to revisit it in the future.


Adding or editing one array item in array element also triggers valuchange on other array element(s)

We have multiple array element as property of single form group. Whenever you add/edit item on arrayfield1 it will trigger "valuechange" on arrayfield2. This does not happen when you delete field from arrayfield1.
See below example
https://stackblitz.com/edit/angular-rcxblq?file=src%2Fapp%2Fapp.component.ts
When you click on "Add another news" it will trigger valuechange on "investments" field. This is a issue  for custom array elements as it triggers re-executing of whatever code we have with valuechange(in our case re-rendering of grid).
This does also happen with our environment which is
Angular: 9.1.11
ngx-formly: 5.8.0
Angular API works as expected, please find with above specific use case.
https://stackblitz.com/edit/github-uzjfch?file=src%2Fapp%2Faddformgroups%2Faddformgroups.component.ts

for a workaround use distinctUntilChanged:
this.form.get('investments').valueChanges.pipe(
+ distinctUntilChanged(),
  tap(value => ...),
)

Thanks for responding back.
I have tried to add distinctUntilChanged() however it does not filter out duplicate emits. May be it has new array instance?
https://stackblitz.com/edit/angular-rcxblq?file=src%2Fapp%2Fapp.component.ts
Just to add, this happens with all fields event though field is not an array.

ok thanks, I'm going to fix it then!

This issue has been fixed and released as part of v5.9.0 release.
Please let us know, in case you are still encountering a similar issue/problem.
Thank you!

As always Awesome, thanks for the quick update!


BLE Pair feature

can you please add a pin pairing feature in the library? Actually, I want to pair the BLE devices in-app not from the Bluetooth setting.

What kind of device you wanted to pair? Usually you don't pair BLE devices, just connect.

@shruti-techindustan when you ask device to pair and try to connect, the box to input pin will appear.

With most ble devices you don't need to pair. Scan and then connect. The Bluetooth ones are different story. They aren't supported by flutter_blue

I agree with you, but I'm using a BLE device that needs to pair: https://shop.accu-chek.com/eShop/accu-chek-guide-meter-M005_us.html?cgid=Meters-Shop#start=1

Pairing process is usually handled by the OS of the phone. During the pairing/bonding, OS will show a prompt with a pin input.
Device can request the phone to initiate pairing, but if it does not, then as soon as you will try to access a Characteristic that requires encrypted link or MITM protection, then the phone will request pairing/bonding and you should get the system level prompt.

In My use case also BLE pairing is required. Like to provide the access of ANCS (Apple notification center service) of my iOS device (where I am running flutter app with flutter_blue lib) to other device ( say a smart watch).

Pairing process is usually handled by the OS of the phone. During the pairing/bonding, OS will show a prompt with a pin input.
Device can request the phone to initiate pairing, but if it does not, then as soon as you will try to access a Characteristic that requires encrypted link or MITM protection, then the phone will request pairing/bonding and you should get the system level prompt.

Can we wrap the bond request and bond consent of OS to this flutter lib, so that flutter app will use that wrapper to listen OS specific callbacks for bonding/pairing

Can we wrap the bond request and bond consent of OS to this flutter lib, so that flutter app will use that wrapper to listen OS specific callbacks for bonding/pairing

As far as I know, this is not possible with iOS. Not sure about Android.

@manoelsrs did you have any success in reading data from Accu-Chek device ?

I have tried to read accu-check guide. Actually, Flutter Blue, Android, the device requires us to choose the wireless > pair device option in the glucose device.. only then,  the device name iis listed in the available ble devices, with connect button.
I could read Charactertics as well With read button.. While I read, I am able to get the device name, manufacturer name , version name etc. I.e. this is achieved after printing String.fromCharcodes.
However, glucose value reads, Numbers are displayed but, when I convert,  I see an encrypted data?.
I am not sure, if that is the Glucose level data,
Any thoughts and guidance.
Thanks in advance.
Deva
Secondly, I am not able to get the reference information for splitting these number to fields or to read the required data.

Not sure where to look for the specs on glucose meters. You can pick at the Nordic code at:
https://github.com/NordicSemiconductor/Android-BLE-Library/blob/master/ble-common/src/main/java/no/nordicsemi/android/ble/common/data/cgm/CGMSpecificOpsControlPointData.java

Thank you.

This is how I read the value. Source attached.
SensorPage.dart.txt

Thank yo Mr.Sudheer
On Sun, Jun 13, 2021 at 2:27 PM sudheer-palaparambil <
@.***> wrote:

This is how I read the value. Source attached.
SensorPage.dart.txt
https://github.com/pauldemarco/flutter_blue/files/6643580/SensorPage.dart.txt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pauldemarco/flutter_blue/issues/638#issuecomment-860177328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEEKT7MJSP2TZBPDTRVRADTSRXJPANCNFSM4PERX2WA
.

Lack of BLE pairing is a real show stopper for secure BLE communication. In addition many applications would benefit from bonding.
Without pairing and bonding the use of flutter_blue is very limited and I would even claim the attractiveness of flutter for my company becomes questionable.

Were you able to figure it out ? @devaski @sudheer-palaparambil ?
I tried with @sudheer-palaparambil code, but, that doesn't seem to work for me.

In Android one can subscribe to bond state change (BluetoothDevice.ACTION_BOND_STATE_CHANGED) and once you enter the PIN or accept the pairing request the state changes to BluetoothDevice.BOND_BONDED. This is how we determine a BLE device is paired before starting to write/access secure characteristics. I see none of the flutter BLE plugins currently support listening to bond state change. Unless I haven't looked enough?

Dear Kiran
flutter_blue code work, however the BLE device Glucose test device i used
seems to be having their encryption. So beyond identifying the device, data
could not be read.
https://github.com/pauldemarco/flutter_blue/issues/638#issuecomment-858131233
Regards
Devaski
On Wed, Mar 23, 2022 at 2:51 PM Kiran Ruth R @.***>
wrote:

Were you able to figure it out ? @devaski https://github.com/devaski
@sudheer-palaparambil https://github.com/sudheer-palaparambil ?
I tried with @sudheer-palaparambil
https://github.com/sudheer-palaparambil code, but, that doesn't seem to
work for me.
—
Reply to this email directly, view it on GitHub
https://github.com/pauldemarco/flutter_blue/issues/638#issuecomment-1076135607,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEEKT4RYVOPPDHPQUJJZWDVBLPANANCNFSM4PERX2WA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I am using flutter blue plus pluggin After the selection of bluetooth name when we have to pair bluetooth we have to enter the passkey.. What is the process of this passkey and how it generates the passkey and how it paired is there any Api to call

@padma-araksha  any solution with the Flutter Blue plus Plugin. I encounter the same problem without knowing how to proceed!

List value = await d.read();
With this read function directly it calls the passkey function
On Mon, Jul 17, 2023 at 10:07 PM Aymen Fayadhi @.***>
wrote:

@padma-araksha https://github.com/padma-araksha any solution with the
Flutter Blue plus Plugin. I encounter the same problem without knowing how
to proceed!
—
Reply to this email directly, view it on GitHub
https://github.com/pauldemarco/flutter_blue/issues/638#issuecomment-1638491542,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7UEW57KG3VNJACTGW7EG7DXQVS4VANCNFSM4PERX2WA
.
You are receiving this because you were mentioned.Message ID:
@.***>

List value = await d.read(); With this read function directly it calls the passkey function
…
On Mon, Jul 17, 2023 at 10:07 PM Aymen Fayadhi @.> wrote: @padma-araksha https://github.com/padma-araksha any solution with the Flutter Blue plus Plugin. I encounter the same problem without knowing how to proceed! — Reply to this email directly, view it on GitHub <#638 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7UEW57KG3VNJACTGW7EG7DXQVS4VANCNFSM4PERX2WA . You are receiving this because you were mentioned.Message ID: @.>

What do you mean by d.read()? Speciffically what is "d"?

Hi Team, Any luck on connecting with Accu Chek Guide?
Anyone able to get the data from device?

**devaski ** c

@devaski  Can you please share the code how you are able to get the encrypted data, it doesnt seem to be working for me.

It has been some time
Let me check the backups and update you. Thanks DG
On Wed, 14 Feb, 2024, 2:26 pm Gaurav Yadav, @.***>
wrote:

**devaski http:///devaski ** c
@devaski https://github.com/devaski Can you please share the code how
you are able to get the encrypted data, it doesnt seem to be working for me.
—
Reply to this email directly, view it on GitHub
https://github.com/pauldemarco/flutter_blue/issues/638#issuecomment-1943325202,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEEKT7NWUWKTBCIHXOJQATYTR32DAVCNFSM4PERX2WKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJUGMZTENJSGAZA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks @devaski , Would be a great help, Were you able to decode the readings as well?

The limitation we have connecting OEM devices relates to kind of encryption
issues, or custom specific protocols used by the OEM.
On Wed, Feb 14, 2024 at 4:33 PM Gaurav Yadav @.***>
wrote:

Thanks @devaski https://github.com/devaski , Would be a great help,
Were you able to decode the readings as well?
—
Reply to this email directly, view it on GitHub
https://github.com/pauldemarco/flutter_blue/issues/638#issuecomment-1943537678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEEKTZ7UUZ4B6HYPUONWXDYTSKYZAVCNFSM4PERX2WKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJUGM2TGNZWG44A
.
You are receiving this because you were mentioned.Message ID:
@.***>

Seems like it, can you still share the code that you did, would love to check it out and try to decrypt the readings if possible

Thanks @devaski , Would be a great help, Were you able to decode the readings as well?

You need to get the official specs from the manufacturer, generally it's proprietary info and not available on the internet for everyone. The specs contain all the info you'll need to communicate with the device as well as decode the readings. You can try to contact the manufacturer or your supplier, describe your use case and request for the specs. Easier if your company deals with them and has ordered the devices in question.


Separate "Select All" button/checkbox support

Problem: User wants to use separate checkbox/button to select all items per click
Solution: Library provides an api to add a store/selection reference to be able to select programmatically all items via button, so I can:

Select all items using separate button.
Inside a callback function described in p.1 programmatically select all/partial set of items

Personally, I don't think this function is the goal of this library. It is very trivial to implement your own in your application to select all the items.

Personally, I don't think this function is the goal of this library. It is very trivial to implement your own in your application to select all the items.

Maybe I wasn't clear enough. After selecting all items via Select All button, my code adds class "selected" to selected items, but library doesn't update its internal state according the changes.


New sponsors added

numberly
pretix

@cmaureir I've added the sponsors logos and added some files in gitignore list


netcdf features should be enabled if available

Certain netcdf features are only available on certain versions of netcdf. netcdf-sys should parse the output of nc-config to determine which features are active and conditionally compile bindings for them.

Fixed by #90


[Grid] only check child for Grid container

closes https://github.com/mui/material-ui/issues/43635
This is a temporary fix, which might not cover an edge case if the consumer use client component as a child of Grid container.
However, this fix should work for normal use cases because a Grid container should always have Grid item.

[x] I have followed (at least) the PR section of the contributing guide.

Thanks for taking this @siriwatknp.
The solution doesn't work for this case: https://mui.com/material-ui/react-grid2/#inheriting-columns. For that use case to work, a grid item must forward its parent column and spacing values, which won't work if we check for the container prop.
What do you think about something like this?:
function isGridComponent(element) {
  try {
    // For server components `muiName` is avaialble in element.type._payload.value.muiName
    // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45
    // eslint-disable-next-line no-underscore-dangle
    return element.type.muiName === 'Grid' || element.type?._payload?.value?.muiName === 'Grid';
  } catch {
    // Covers for the case in which the parent is a server component and the child is a client component
    // https://github.com/mui/material-ui/issues/43635
    return false
  };
}

Would this work? It would fail silently, but maybe we can add a callout on the docs about this case.
We should also catch only this specific error and not others.

The solution doesn't work for this case: https://mui.com/material-ui/react-grid2/#inheriting-columns.

I don't understand why it would not work. The logic I added is to scoped the check to Grid container. In the demo you provide, all the grid still receive the unstable_* props.
Argos does not show any difference, so it should be the same right?

What do you think about something like this?:

You proposal works! I will go with your proposal.


yaml format

Starting with some GIT workflow methodology: the best way to adress this would be:

create on your machine a new branch from your master (like fix_yaml)
work on it, to address what I comment here
push the branch on this repo.
open the branch on the github interface, and create a Pull Request, and assign it to me
I will receive automatically an email, and I can this way look at the code your adjusted just for solving that issue.
we can iterate on this
Once I accept the change, I will merge it on the master branch
Locally you can checkout the master branch, pull to recover the changes just added to master, and remove the local branch fox_yaml, as it is now embedded into master branch.

If any step is not clear, I can help with it. Now the bug :)

I don't remember if you work on linux or windows.
Under linux, yo could do:
sudo apt-get install yamllint

and then from your root:
yamllint tests -d relaxed

You could see the yaml files are not well structured. I place below the trace that command provides.
The main error I see is about the vector structure:
Looking at [fpe/pi_FPE_ap.yaml(https://github.com/nickkluft/udbenchmark_PIs/blob/master/tests/data/output/fpe/pi_FPE_ap.yaml#L2)
type: 'vector'
values:
0.13004
0.15935
0.18911
0.20668

You have two options to write a vector with yaml:
# option 1 : all in a single line
type: 'vector'
values: [0.13004, 0.15935, 0.18911, 0.20668]

#option 2: one item per line
type: 'vector'
values:
  - 0.13004
  - 0.15935
  - 0.18911
  - 0.20668

Here is the trace that yamllint gives on your test folder:
yamllint tests -d relaxed                                             130 ↵
tests/data/input/subject_04_cond_23_run_01_gaitEvents.yaml
  1:1016    warning  too few spaces after comma  (commas)
  1:81      warning  line too long (1025 > 80 characters)  (line-length)
  2:1009    warning  too few spaces after comma  (commas)
  2:81      warning  line too long (1018 > 80 characters)  (line-length)
  3:1005    warning  too few spaces after comma  (commas)
  3:81      warning  line too long (1014 > 80 characters)  (line-length)
  4:1010    warning  too few spaces after comma  (commas)
  4:81      warning  line too long (1019 > 80 characters)  (line-length)

tests/data/output/fpe/pi_r_MOS_ml.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  95:8      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpe/pi_FPE_ml.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  186:8     error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpe/pi_l_MOS_ap.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  94:9      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpe/pi_FPE_ap.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  186:8     error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpe/pi_l_MOS_ml.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  94:8      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpe/pi_r_MOS_ap.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  95:9      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpm/pi_l_FPM.yaml
  2:15      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/fpm/pi_r_FPM.yaml
  2:15      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/spattemp/pi_stridetime.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  184:8     error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/spattemp/pi_l_steplength.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  81:8      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/spattemp/pi_r_steplength.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  82:8      error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/spattemp/pi_stepwidth.yaml
  2:8       error    trailing spaces  (trailing-spaces)
  4:1       error    syntax error: could not find expected ':'
  161:8     error    no new line character at the end of file  (new-line-at-end-of-file)

tests/data/output/lde/pi_LDE.yaml
  2:15      error    no new line character at the end of file  (new-line-at-end-of-file)

╭─anthony@PRT0962AL ~/code/eurobench/udbenchmark/udbenchmark ‹master*›
╰─$                                                                                1 ↵

This was adressed by #13


Create a timeline

Add a list of all your activities, achievements, work experience. Add as much info as you can remember. In case you don't have working experience tell about your pet-projects or student projects. Don't be shy :)

I add little bit info


Overflow Exception when using secondaryVerifier  with Encryption

When supplying a secondaryVerifier  there is an overflow exception with an Array.Slice prototype extension. May affect all versions.

This is now fixed.


Modernize the installation procedure

Background
I guess many of us are thinking about how we could modernize/generalize the installation procedure of the codes. As an example it would be nice to have a system independent compilation configuration instead of compiler and library specific environment files as it is set up now.
I thought we could have such a discussion in this issue.
Collected thoughts and ideas
cmake
Switch to cmake in favour of make (edit: actually, as pointed out by @jagot below, cmake should be thought of more like a Makefile generator) to have a single platform and compiler independent configuration file instead of pre-sourcing compiler specific env files to set env flags. I believe both @mortenpi and @jagot have implemented this at some point? The question is how complicated we want to make things, maybe learning git/github is enough for the developers at the moment. But we should keep this in mind.
The GRASP env variable
@mortenpi suggested that, in the present scheme with the system dependent environment files, we could switch the export   GRASP="${PWD}" variable to
export GRASP="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

in order to support sourcing of the env files from a directory different from the GRASP root dir (see here for details). Not sure if this is too complicated for the general user to understand. Let us know what you think, or if you have a simpler solution.

Re CMake, :+1:, of note is that it does not replace make, it replaces the hand-coded Makefiles. I did this for my repository of ATSP2k.
A good thing is that we don't need to assume a lot about the user's platform, such as which implementation of BLAS/LAPACK to use, etc.
CMake-generated Makefiles tend to be faster as well.
Another option (CMake is not perfect) could be Meson, which I have never used myself though.

You might also look into the role of the $MPI_TMP environment variable.  In ATSP it is my recollection that temporary files were sent to this directory, but in GRASP $MPI_TMP is not used at compiled time, only at run-time when the environment variable is not set and so the program switches to the default /scratch/$USER which is fine for me.   When I have really long jobs, I never do more than one MPI run at a time, but there are times when I would like to run more than one MPI run and then I need to use the disks option.  Or else, I need to learn how to export $MPI_TMP  in the script just before running the MPI job.

I have this version of GRASP ported completely over to CMake (https://github.com/mortenpi/grasp). The complete set of commands to compile and install it looks like:
./configure.sh
cd build/
make -j8 && make install

The dependencies between the libraries are set up correctly, so parallel builds work too. And you have access to CTest which makes it easy to set up a suite of unit and integration tests. I could bump it a bit in my TODO list to make a PR for this if there's interest.
Meson would be awesome, but as it is relatively new, it's not readily available in many distros/clusters in my experience. So it would introduce dependencies that many users would have to install manually (Meson and Ninja). But, as long as there is someone to maintain it, we could have parallel CMake and Meson build files.

GRASP env: Not sure if this is too complicated for the general user to understand.

For what it's worth, the oneliner is indeed non-trivial, but but no-one has to touch that, ever. And a few lines of comments should avoid any confusion it might cause.

I agree.  The comment might explain why the complexity is needed.


Prometheus continuously re-discovers all existing targets.

What did you do?
Setup Prometheus with Docker Swarm Service Discovery using both Swarm basic filters and the workaround/solution provided by Brian Brazil in issue https://github.com/prometheus/prometheus/issues/8073 to ensure that the targets aren't constantly re-discovered
  - job_name: 'alertmanager'
    dockerswarm_sd_configs:
      - host: http://proxy_swarm-socket:9090
        role: tasks
        port: 80
        filters:
          - name: desired-state
            values: ["running"]
          - name: label
            values: ["prometheus-job=alertmanager"]
    # Use static port above, to avoid re-discovery - see #8073
    relabel_configs:
      - source_labels: [__address__]
        regex: '(.*):80'
        target_label: __address__
        replacement: "${1}:9093"

What did you expect to see?
Services not being continuously rediscovered.
What did you see instead? Under which circumstances?
Services being continuously rediscovered, leading to an extremely high network load; snippet from the Caddy container (swarm api proxy):
{"level":"info","ts":1638891728.1137774,"logger":"http.log.access.log0","msg":"handled request","request":{"remote_addr":"<IP_ADDRESS>:42320","proto":"HTTP/1.1","method":"GET","host":"prometheus_swarm-api:9090","uri":"/v1.40/tasks?filters=%7B%22desired-state%22%3A%7B%22running%22%3Atrue%7D%2C%22label%22%3A%7B%22prometheus-job%3Dalertmanager%22%3Atrue%7D%7D","headers":{"User-Agent":["Prometheus/2.31.0"]}},"common_log":"<IP_ADDRESS> - - [07/Dec/2021:15:42:08 +0000] \"GET /v1.40/tasks?filters=%7B%22desired-state%22%3A%7B%22running%22%3Atrue%7D%2C%22label%22%3A%7B%22prometheus-job%3Dalertmanager%22%3Atrue%7D%7D HTTP/1.1\" 200 6293","user_id":"","duration":0.523735961,"size":6293,"status":200,"resp_headers":{"Api-Version":["1.40"],"Content-Type":["application/json"],"Docker-Experimental":["true"],"Ostype":["linux"],"Date":["Tue, 07 Dec 2021 15:42:08 GMT"],"Server":["Caddy","Docker/19.03.15 (linux)"]}}
{"level":"info","ts":1638891753.5051885,"logger":"http.log.access.log0","msg":"handled request","request":{"remote_addr":"<IP_ADDRESS>:55914","proto":"HTTP/1.1","method":"GET","host":"prometheus_swarm-api:9090","uri":"/v1.40/tasks?filters=%7B%22desired-state%22%3A%7B%22running%22%3Atrue%7D%2C%22label%22%3A%7B%22prometheus-job%3Dalertmanager%22%3Atrue%7D%7D","headers":{"User-Agent":["Prometheus/2.31.0"]}},"common_log":"<IP_ADDRESS> - - [07/Dec/2021:15:42:33 +0000] \"GET /v1.40/tasks?filters=%7B%22desired-state%22%3A%7B%22running%22%3Atrue%7D%2C%22label%22%3A%7B%22prometheus-job%3Dalertmanager%22%3Atrue%7D%7D HTTP/1.1\" 200 6293","user_id":"","duration":0.341778595,"size":6293,"status":200,"resp_headers":{"Api-Version":["1.40"],"Server":["Caddy","Docker/19.03.15 (linux)"],"Content-Type":["application/json"],"Docker-Experimental":["true"],"Ostype":["linux"],"Date":["Tue, 07 Dec 2021 15:42:33 GMT"]}}
{"level":"info","ts":1638891787.7132037,"logger":"http.log.access.log0","msg":"handled request","request":{"remote_addr":"<IP_ADDRESS>:42320","proto":"HTTP/1.1","method":"GET","host":"prometheus_swarm-api:9090","uri":"/v1.40/tasks?filters=%7B%22desired-state%22%3A%7B%22running%22%3Atrue%7D%2C%22label%22%3A%7B%22prometheus-job%3Dalertmanager%22%3Atrue%7D%7D","headers":{"User-Agent":["Prometheus/2.31.0"]}},"common_log":"<IP_ADDRESS> - - [07/Dec/2021:15:43:07 +0000] \"GET /v1.40/tasks?filters=%7B%22desired-state%22%3A%7B%22running%22%3Atrue%7D%2C%22label%22%3A%7B%22prometheus-job%3Dalertmanager%22%3Atrue%7D%7D HTTP/1.1\" 200 6293","user_id":"","duration":0.122917304,"size":6293,"status":200,"resp_headers":{"Server":["Caddy","Docker/19.03.15 (linux)"],"Content-Type":["application/json"],"Docker-Experimental":["true"],"Ostype":["linux"],"Date":["Tue, 07 Dec 2021 15:43:07 GMT"],"Api-Version":["1.40"]}}

The example here has a 'small' response, in reality we're dealing with responses as big as "size":2995782" on the same interval as above causing unnecessary network pressure.
Environment

Prometheus version:
2.32.0-rc0, same problem exist in previous versions.

Service are discovered on the basis of the "refresh_interval", which you seem to use the default value of 30s.