Minor updates

@anthonychu,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/sandbox, working directory: W:\3pq2-s, target branch: 101functions, target branch commit: 56afcc71d4d28a67f08fde2f13a0acb4b35f2bae, source branch: antchu-update-template, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sandbox/snippets/101functions/storage/azure-table-storage.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix internal project links

Closing #553

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

Coverage data is based on head (b1b0302) compared to base (35a5dda).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #558   +/-   ##
=======================================
  Coverage   32.84%   32.84%
=======================================
  Files          76       76
  Lines        2128     2128
=======================================
  Hits          699      699
  Misses       1429     1429

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

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


Limit size of PrivateData blob

There's a limit to how much data Switch PrivateData blob can contain. Not documented; however, it's a String so probably 255 or 1024 bytes. Check file size and truncate or error if larger than this limit.

Dwight, did some testing today and wasn't able to reproduce this. Got to 10,000 characters within a PD key and it seems to handle it fine.
`function jobArrived( s : Switch, job : Job )
{
var blob = '';
var loops = 0;
var max_loops = 10000;
var pd_key = "test";
do {
   blob += "1";
   job.setPrivateData(pd_key, blob);
   loops++;

} while (job.getPrivateData(pd_key) === blob && loops < max_loops);

s.log(2, "PD value length " + job.getPrivateData(pd_key).length );
s.log(2, "done, looped " + loops );

}`

OK, I didn't know if there was a limit. Just figured it was a string


Fix filtering issue

Adding filterMethod parameter to colDef() for the Region variable in the reactable table. This specifies the filter should be an exact match. Currently I have just added it to the Region variable.
@EllaKaye do you think the same argument should also be added to the Theme variable, just to be defensive for future additions to Theme?
Closes #37

Thank you @EllaKaye! Yeah I thought that would be better, but just thought I'd check. I have added it with the commit above. I will leave merging to you :)


Feature Request: Entire folder as tar.gz and binary endpoints without…

Hi all,
We added these additional features and thought we would give back to the community if you guys are interested.

We use LOTS of docker images, most are based on alpine linux and only come with busybox version of wget.  This version does not allow us to pass content-type headers.  We write scripts that go directly to configserver to pull down files during application startup, so we added direct endpoints for binary files.  We also had issues pulling down camel XML files (that we did not want placeholders resolved by configserver) because there is no way to pass the content-type header from a spring configuration @ImportResource("URL")

Some of our apps we need download an entire configuration folder with nested folders, and expand that in our docker container before the app starts, so we added an endpoint for downloading an entire folder off the config server and returning it as a tar.gz file.  (binary or resolve placeholders).  This save us alot of time because each file request updates the svn/git repo, now we can grab 100 files in a single request.  (It was really slow with svn)

example URLs:
binary:
http://localhost:8888/binary/app/default/master/subdir/test.txt
tar.gz (binary)
http://localhost:8888/binarytargz/app/default/master/subdir
tar.gz (resolved placeholders)
http://localhost:8888/targz/app/default/master/subdir
These are kinda special use cases so let me know what you think?  (if you guys like it i'll write some UTs)

Hmm. Not sure this is a direction we want to go. At this point, the lines between a configuration server and a object storage system (AWS S3 or GCP Storage) are starting a blur.

I think there could be a more elegant way than separate paths, maybe the accept header and a maybe a parameter for the 3rd.

Codecov Report

Merging #734 into master will decrease coverage by 1.69%.
The diff coverage is 7.81%.

@@            Coverage Diff            @@
##           master     #734     +/-   ##
=========================================
- Coverage   74.59%   72.89%   -1.7%
=========================================
  Files          72       72
  Lines        2456     2520     +64
  Branches      356      368     +12
=========================================
+ Hits         1832     1837      +5
- Misses        470      528     +58
- Partials      154      155      +1

Impacted Files
Coverage Δ

...oud/config/server/resource/ResourceController.java
30.33% <0%> (-54.04%)
:arrow_down:

...k/cloud/config/server/ConfigServerApplication.java
62.5% <100%> (+37.5%)
:arrow_up:

...fig/server/resource/GenericResourceRepository.java
75.67% <33.33%> (-3.74%)
:arrow_down:

Continue to review full report at Codecov.

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

Sorry for the delay. The team agrees that it feels like we're headed down the object/blob storage API. You should be able to add this as a @Controller in config server. If we're missing hooks to make this possible let us know.

No prob.  I will close it.

Sorry, I meant to hit close and didn't ;-)


Clean up messy new names for Albertsons pediatric booster locations

This is way not ideal, but there are now a whole mess of locations from Albertsons without store numbers in the address. The best I could think to do without massive change here is a bunch of overrides, but I have a feeling we’re going to see more of these, and will have to come up with something fancier.

Fixes https://sentry.io/organizations/usdr/issues/2829716008

Going ahead and merging this to clean up things that are actively breaking.


Added optional callback for connect()

Although connect() is a sync operation, it kind of pairs with bind().  Therefore it's nice to be able to pass a callback to either if desired, to do something once the operation is complete.  This adds an optional callback to connect(), leaving the current functionality in place if no callback is provided.  Partially deals with issue #298.

I appreciate contributions, but this is silly. This doesn't make connect behave any more asynchronously than it already does. connect() is not a synchronous I/O operation. It's asynchronous, because ZMQ implements it that way. Even if we wanted it to be synchronous, there would be no way to achieve that. However, ZMQ does not provide us with a callback mechanism for connect to say when we have established a connection (because of the way connections work in ZMQ, please do read up on that), so having a callback argument simply doesn't make any sense.
Again, contributions are always very welcome, but this goes against the philosophy of both Node (synchronous callback for what looks to be async) and ZMQ (connections are virtual).

@jez9999 For you reference, I hook up "connect" event to indicate completion of connect.
var sck = zmq.socket('req');
sck.on('connect', function (fd, ep) {
console.log("connected.");
});
sck.monitor();
sck.connect('tcp://<IP_ADDRESS>:1234');

Yup, you can use monitoring for this. And that's completely independent from the connect() call itself.

If the whole point is that ZMQ doesn't tell you when you've established a connection, what does the connect event mean?

The connect event will tell you (iirc) when a TCP connection has been established.
The ZMQ connection however does not represent a TCP connection. It's a virtual connection that is always there. You can send a message before a TCP connection even exists, and when disconnected. It's part of the ZMQ philosophy that you don't manage physical connections yourself, you leave that to ZMQ. To emphasize that further, keep in mind that connect() is as old as ZMQ is, but monitoring events is much more recent.

Well spoken.


unlist lagon runtime

https://twitter.com/tomlienard/status/1735314666753012110
@QuiiBz does that seem good for you or prefer to wait longer if there are active projects could get broken?

What do you think of waiting until the official offline date (1st March of 2024)?

Best luck!


Fix #3063: Make save button consistent in organization form

Short description

This PR updates the "Save" button in the organization form to display "Update" when editing an organization and "Create" when adding a new one for consistency across the CMS.
Proposed changes

Update organization form to show "Update" or "Create" based on whether the organization is new or being edited.

Side effects

No side effects

Resolved issues

Fixes: #3063

Pull Request Review Guidelines

Please squash your changes before merging

@devhadvani Could you rebase, resolve the conflicts and squash everything into one single commit? Then we will merge your changes

@devhadvani  I notice that the tests related to translations still fail. As this is a common problem for us, but at the same time really not that critical and the file can just be regenerated in a clean form from the bits of existing translation and the reconciled source code, we make a script for that.
Try running tools/resolve_translation_conflicts.sh and manually squash your commits into a single one again. Thank you for your effort!

Oh no, I was just about to merge it, why did you close it? :rofl:

Or did you notice anything against merging this PR last minute? @devhadvani

no, i was just thinking to make new pr @PeterNerlich

@PeterNerlich you forgot to squash

no, i was just thinking to make new pr

I was surprised that I was able to reopen this PR just like that, I recently encountered the problem where this was not possible. Apparently it is allowed if the between repositories?

you forgot to squash

Oh dang, I didn't look at the number of commits. We have a bit of a weird convention regarding that here – The convenient Squash & Merge button is disabled, we want only merge commits on develop so it does not end up being a separate history from any feature branch being merged. At the same time, we value a clean history with, for most PRs, only one commit. So we always manually rebase onto develop, squashing our commits down into a single one, and do so again when a script in the pipeline fails after all :sweat_smile: until we finally merge


Alps 1806 hotspot anchors

Ability to add a set of offset values for hotspots.

3D hotspots now support the use of offset values (x, y and z) into the Geometry object in world units.
Offset values are applied from the central position point of the hotspot.
Warning: if the offset is applied through api after the object creation, the offset is added to the previous one and doesn't use anymore the central position point of the hotspot.
"offset": {   x: 0,   y: 0,   z: 0 }

DOM hotspots now support the use of offset values (x, y) into the dom object in pixels.
Offset values are always applied from the central position point of the hotspot.
"offset": {   x: 0,   y: 0 }

As there is no sample for that addon it can be tested with the internal project /dev/projects/hotspots-offsets/

 All committers have signed the CLA.


Trim custom adapter output before tracing to avoid extra newline

Tiny tweak to tracing, makes custom adapters not add newlines everywhere when GIT_TRACE=1

Pending a successful build, 👍

Bah, those annoying ephemeral test failures...


Franz will not start with grsec

Issue description
When trying to start Franz, it prints the following into the system log:
Nov 18 22:10:09 nixus kernel: grsec: denied RWX mmap of <anonymous mapping> by /nix/store/4lqxlyz6r9xj9az0iapm3zwvzai4g1la-franz-4.0.4/share/franz/Franz[Franz:3991] uid/euid:1000/1000 gid/egid:100/100, parent /nix/store/jq0zgpz3cwjk14n5k60zcmxdl4rq8w6b-zsh-5.2/bin/zsh[zsh:3988] uid/euid:1000/1000 gid/egid:100/100

There is no output whatsoever on the command line and the application does not return to the prompt either.
Steps to reproduce

Activate grsecurity NixOS module
Use grsec_nixos kernel
Install Franz
Open Terminal
Issue Franz

Technical details

System: 17.03.git.775a729 (Gorilla)
Nix version: nix-env (Nix) 1.11.4
Nixpkgs version: "17.03pre95730.ba73dbb"

/cc @joachifm

It most likely needs paxmark m on the relevant binary. Ideally, you'd patch or change the build to prevent it from triggering the PaX exception but that is often difficult.

To elaborate, pretty much all programs that rely on executing code generated at runtime are at risk for triggering a PaX exception, unless carefully coded.


Gamer OS missing some font?

Did you guys had a plan to updating some font to work correctly on Gamer OS? some font on steam are missing. I tried to fixing the by installing this with tty terminal : https://aur.archlinux.org/packages/all-repository-fonts/ but it didnt work.
So, maybe in the next update you guys want to add them.
Cheers.

What fonts are missing?

Like steam free emojis, most of them are missing, or blank like this 👩🌾 : https://steamcommunity.com/sharedfiles/filedetails/?id=929573621
https://steamcommunity.com/sharedfiles/filedetails/?id=757854761
Is that possible to fix that?

@hawari21 is this issue still relevant for you on newer versions? If so, please comment and we will reopen the issue and look for missing fonts.


Bump org.apache.maven.plugins:maven-plugin-plugin from 3.10.2 to 3.13.0

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

Checklist

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

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

Project coverage is 70.18%. Comparing base (f03823e) to head (ab0e957).
Report is 43 commits behind head on 3.2.

Additional details and impacted files
@@            Coverage Diff             @@
##              3.2   #14174      +/-   ##
==========================================
- Coverage   70.41%   70.18%   -0.24%
==========================================
  Files        1607     1607
  Lines       70094    70148      +54
  Branches    10102    10112      +10
==========================================
- Hits        49360    49232     -128
- Misses      16088    16271     +183
+ Partials     4646     4645       -1

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


GUACAMOLE-1298: Correct mismatched dependencies from migration to Jersey 2.x.

Since migrating to Jersey 2.x, a mismatch between Jackson versions has resulted in some Jackson annotations being ignored. This is due to a difference in package name between the Jackson versions. From the perspective of the newer Jackson, the classes with the older annotations are simply unannotated.
This change updates the annotations where needed, and removes use of those annotations in extensions that should not make any assumptions regarding the JSON serialization implementation.
But wait! What about:

With the core issue here being a version mismatch for a common dependency, part of the resolution had to be updating dependencies to use the same common versions. This resulted in a refactor of all pom.xml files to leverage a common, shared set of dependencies.
But wait! That still doesn't quite account for:

With a great many dependencies having to be updated, the various referenced licenses needed to be updated, as well. This includes the numerous copies of the "guice-3.0" dependency and license. Rather than manually update each of these, I instead:

Created a script and build process for automatically generating LICENSE and NOTICE based on actual runtime dependencies as reported by Maven.
Removed duplicated references to the Apache License, which we really only need one of.
Added licenses for dependencies that were missing license documentation.
Added/updated NOTICE files where information was missing.

From here on, the amount of duplicated pom.xml content is reduced, updating license information should be much easier, and the build will outright fail if we are missing license info.
It also should fix the issue reported on the mailing list regarding TOTP no longer presenting a QR code.

That's a lot of changes.
;-)

Currently seeing this failure during build:
[INFO] --- exec-maven-plugin:3.0.0:exec (generate-license-files) @ guacamole-auth-json ---
Processing runtime dependencies to produce LICENSE and NOTICE. Output will be within "/home/cotyww.com/nick_couchman/guacamole/guacamole-client/extensions/guacamole-auth-json/target/licenses".
ERROR: Missing license README in src/licenses/bundled/jaxb-api
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:982)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:929)
    at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:457)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

Can you do a git clean -xfd . from the main guacamole-client directory to make sure there aren't any stale directories handing around?
There shouldn't be a src/licenses/bundled/ within guacamole-auth-json any longer, and the dependency on jaxb-api has been removed.

Ah, okay, that worked. Looks good...merge time...


Sigverify wraps each PacketBatch with Arc

Problem

Currently SigVerify stage passes Arc<(Vec<PacketBatch>, Option<SigverifyTracerPacketStats>)> to banking_trace/banking_stage.
We want to support zero-copy for new transaction type
If we Arc::clone the current message type, the worst-case overhead per packet (assuming only one packet per message is kept) is very large
Wrapping each PacketBatch in an Arc reduces this worst-case overhead considerably

Summary of Changes

Wrap each PacketBatch in an Arc before sending to BankingStage

Fixes #

@alessandrod would be nice to profile this to know the overhead on the additional Arc-(wrapping/copying) of PacketBatch that we're doing.
I think should be relatively minor since:

heap allocation is quite small (40 [PacketBatch] + 16 [Arc strong&weak] = 56 bytes)
copy is small (40 bytes)

Do we have any existing bencher or anything that will help understand the improvement from not copying? Or any performance data you've collected?

I didn't include these as standard benches since we don't plan to do it; but I can make a few lines changes to compare the transaction-view benches w/ and w/o copying.
See below for details - between 0-81% loss of throughput by copying the slice to a Vec<u8>.
Probably slightly different results if we cloned a Packet directly, since it will always copy the full 1232 bytes, but on the stack.

Description of Changes for Benchmark
Normal benchmark code.

Results are somewhat surprising to me. I would have naively expected performance improvement to be correlated with size of transactions (e.g. packed transfers improve more than simple transfers). Any idea why that's not the case?

Results are somewhat surprising to me. I would have naively expected performance improvement to be correlated with size of transactions (e.g. packed transfers improve more than simple transfers). Any idea why that's not the case?

Small transactions are (now) pretty damn fast. Any overhead from copying (or in this case reaching out to allocator to get Vec) is large in comparison to the parsing speed.
When we get to larger transactions, parsing does become fairly expensive so the relative impact of the overhead from allocating/copying is lower.
If we do no allocation, copy only tx-size into pre-allocated buffer, seeing minimally sized txs still ~20% slower than Arc-clone approach; which is more inline with my original expectation.
Hadn't stated previously, but we could probably do pretty well with copying data into pre-allocated buffers.
BUT it requires us to do some odd things around our transaction container, for buffer space re-use, and it makes the buffering of transactions more complicated than a simple map we can insert into.

Leaving this up for now, but likely we do not need this.
We do not actually need to make this change since:

@alessandrod is refactoring networking to use Bytes and plans to make Packet wrap Bytes internally (or rather be generic I think?)
that lets each packet be very cheaply clonable
becomes nicer if we refactor gpu sigverify to isolate PinnedVec. gonna try to knock this out myself


Support dual MPU9250, change to dmp based fusion from mahony.

Calibration code from #32 : fixed memory leakage, etc...
Support multi MPUs.
Using dmp like MPU6050 with magnetic calibration based on direction cosine matrix.
Magnetic calibration can be tick-skipped, so it has close to 100 TPS.
Issue : Have to wait for reaching absolute rotation. Need initializing code to be added.
Issue2 : How to invoke calibration? I used "Turn on while flipped back, then flip again" to invoke calibration.

Nice work! I tried to make a corrective quaternion to use with DMP fusion, but my results were not successful (I tried the code from here, but maybe that's not enough https://github.com/sslobodyan/MPU-9250DMP/blob/master/test.ino#L289). Is it actually better?
I'd also recommend to check my latest PR on MPU-9250 support. It uses continuous measurement mode that could help you to avoid skipping ticks for mag reading https://github.com/SlimeVR/SlimeVR-Tracker-ESP/pull/53.

Yeah if you can pull #53 here it would be nice, because i can't test #53 myself

Yeah if you can pull #53 here it would be nice, because i can't test #53 myself

Tested #53, not working... replied there.

okay i'll leave it to you two @Boronare @deiteris for now, i don't have 9250 anyway and am busy with other PRs :D hmu when you think it's ready to merge. You don't have to merge #53... but that would mean i won't be able to merge one of these :D

@Eirenliel I think it's ready to merge.

Thanks! Will do when I deal with some stuff IRL

@Boronare I think magneto value is wrong in DMP packet.
File Here: ../lib/mpu9250/MPU9250MotionApps.cpp
// setup AK8963 (0x0C) as Slave 0 in read mode DEBUG_PRINTLN(F("Setting up AK8963 read slave 0...")); I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_ADDR, MPU9250_RA_MAG_ADDRESS|0x80); I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_REG,  MPU9250_RA_MAG_XOUT_L); I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_CTRL, 0xDA);
change here like this
// setup AK8963 (0x0C) as Slave 0 in read mode DEBUG_PRINTLN(F("Setting up AK8963 read slave 0...")); I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_ADDR, MPU9250_RA_MAG_ADDRESS|0x80); I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_REG,  MPU9250_RA_MAG_WHOAMI); I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_CTRL, 0xDA);
then we can read xyz value in DMP packet.

I don't know why but MPU9250_RA_MAG_WHOAMI is 0x01
INFO reg is right
And.. your right. magneto value do not use DMP. but passthrough in DMP packet. we can use acc, gyro with DMP and raw mag value. so i think if i use DMP acc, the calibrated gyro, and the mag calibrated using the raw mag of the DMP packet, I can get better quaternion value
oh, if i use MPU9250_RA_MAG_XOUT_L, I always have 0 value in z axis. but i use MPU9250_RA_MAG_WHOAMI (It's mean 0x01), I can read z value.

I suspect that it is related to the MPU9250_RA_I2C_SLV0_CTRL setting. Could you try changing I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_CTRL, 0xDA); to I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_CTRL, 0x97);? It is supposed to read 7 bytes with grouping enabled and bit swap disabled.

Oh,,, I may test it... but my project messed up to support ESP32-C3 RISC-V processor...
That code is from MPU9150s one so, It can be wrong for that. But as I remember, it worked.
Maybe MotionApps do something (byte-swap..) or this code is wrong...
I'll test and comment soon.

um...... my sensor's result is this
1. Axyz -2557   90      8382            Gxyz    1       -1      0               Mxyz    -16641  0       -2833
2. Axyz -4528   320     16112           Gxyz    20      7       -1              Mxyz    410     -67     3
1. Axyz -2557   94      8371            Gxyz    1       -1      0               Mxyz    -16641  0       -2833
2. Axyz -4564   292     16180           Gxyz    14      2       -3              Mxyz    410     -67     3
1. Axyz -2561   92      8382            Gxyz    1       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4552   392     16072           Gxyz    13      2       -3              Mxyz    410     -67     3
1. Axyz -2566   89      8385            Gxyz    0       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4524   288     16068           Gxyz    15      4       0               Mxyz    410     -67     3
1. Axyz -2564   91      8377            Gxyz    0       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4464   264     16056           Gxyz    22      6       0               Mxyz    410     -67     3
1. Axyz -2562   89      8376            Gxyz    0       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4424   304     15848           Gxyz    30      12      2               Mxyz    410     -67     3
1. Axyz -2550   84      8375            Gxyz    1       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4492   404     16080           Gxyz    30      14      1               Mxyz    410     -67     3
1. Axyz -2541   82      8349            Gxyz    1       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4508   372     16100           Gxyz    24      8       3               Mxyz    410     -67     3
1. Axyz -2537   91      8358            Gxyz    1       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4480   380     16004           Gxyz    15      1       2               Mxyz    410     -67     3
1. Axyz -2543   95      8367            Gxyz    1       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4496   340     16092           Gxyz    8       0       1               Mxyz    410     -66     1
1. Axyz -2538   97      8360            Gxyz    0       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4416   232     16072           Gxyz    2       1       0               Mxyz    410     -66     1
1. Axyz -2539   92      8354            Gxyz    0       -2      0               Mxyz    -16897  768     -3601
2. Axyz -4480   332     16076           Gxyz    5       5       -1              Mxyz    410     -66     1
1. Axyz -2534   81      8357            Gxyz    0       -1      0               Mxyz    -16897  768     -3601
2. Axyz -4432   180     15944           Gxyz    3       7       1               Mxyz    410     -66     1
1. Axyz -2529   76      8363            Gxyz    0       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4540   232     16032           Gxyz    -1      21      1               Mxyz    410     -66     1
1. Axyz -2521   64      8347            Gxyz    0       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4416   212     15880           Gxyz    4       31      1               Mxyz    410     -66     1
1. Axyz -2529   63      8342            Gxyz    0       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4464   316     16096           Gxyz    22      45      4               Mxyz    410     -66     1
1. Axyz -2520   52      8328            Gxyz    0       0       0               Mxyz    -16641  256     -3089
2. Axyz -4624   228     16276           Gxyz    22      44      6               Mxyz    410     -66     1
1. Axyz -2521   55      8346            Gxyz    1       0       0               Mxyz    -16641  256     -3089
2. Axyz -4624   232     16188           Gxyz    18      31      1               Mxyz    410     -66     1
1. Axyz -2541   53      8372            Gxyz    1       0       0               Mxyz    -16641  256     -3089
2. Axyz -4564   260     16128           Gxyz    20      19      2               Mxyz    410     -66     1
1. Axyz -2555   47      8391            Gxyz    0       0       0               Mxyz    -16641  256     -3089
2. Axyz -4604   276     16088           Gxyz    12      13      1               Mxyz    410     -66     1
1. Axyz -2560   45      8393            Gxyz    1       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4544   184     15848           Gxyz    8       12      -1              Mxyz    410     -66     1
1. Axyz -2567   49      8386            Gxyz    0       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4568   292     16060           Gxyz    10      18      -4              Mxyz    410     -65     0
1. Axyz -2564   44      8356            Gxyz    0       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4476   208     15956           Gxyz    11      21      -1              Mxyz    410     -65     0
1. Axyz -2560   51      8355            Gxyz    0       -1      0               Mxyz    -16641  256     -3089
2. Axyz -4628   228     16132           Gxyz    17      22      -1              Mxyz    410     -65     0

is the code of the DMP you suggested.
is getMostion9() function

when i use I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_CTRL, 0xDA); that result is same. but sometimes I have wrong value of getMotion9() fuction.
by the way, my sensor with DMP acc scale is 4G and gryo scale is 1000(not 2000). however when I  fix gyro scale to 875 that i have better quternion value.

The values of getMotion9() seem to be fine if this 410 value is not static, and changes properly. This function was changed to work with raw values supplied by the SLV_0 sensor that's our magnetometer (https://github.com/SlimeVR/SlimeVR-Tracker-ESP/pull/55/files#diff-a15dc9eeae3da47d5be8869ea5d8e22935fa90e13d73dce1ec93ff413264596dR1771).

is the code of the DMP you suggested.

Okay, we probably have a small misunderstanding here. We do not read magnetometer data from DMP packet, since we don't know how to put magnetometer data into a DMP packet. What we do here, is just setting up a magnetometer as SLV_0 and then read the magnetometer data directly from the EXT_SENS_DATA registers in the getMotion9() function.

when i use I2Cdev::writeByte(devAddr, MPU9250_RA_I2C_SLV0_CTRL, 0xDA); that result is same. but sometimes I have wrong value of getMotion9() fuction.

I think it's not just sometimes, since this result must be consistent.

by the way, my sensor with DMP acc scale is 4G and gryo scale is 1000(not 2000). however when I fix gyro scale to 875 that i have better quternion value.

How or where exactly? 🤔 MPU doesn't have 875 gyro scale. If you say you have an improvement, you might need to recalibrate your sensor with the current initialization settings.

@LETS-BEE How does it show if you rotate the sensor? Does it show same value?
Not like other sensors, magnetometer is not calibrated. It have to calculate bias then subtract from raw value.

@deiteris

I think it's not just sometimes, since this result must be consistent.
it's right. but when I enabled DMP, I have wrong mag data.
so, I replug in mpu that I have correct data with disabled DMP.

@Boronare

How does it show if you rotate the sensor? Does it show same value?

yes. If i rotate the sensor, it show same value
And.... here is my test code using DMP packets.
mpu.dmpGetAccel(acc, fifoBuffer);
mpu.dmpGetGyro(gyro, fifoBuffer);
mpu.dmpGetMag(mag, fifoBuffer);

float Axyz[3];
Axyz[0] = (float)acc[0] * (4.f / 32768.f);
Axyz[1] = (float)acc[1] * (4.f / 32768.f);
Axyz[2] = (float)acc[2] * (4.f / 32768.f);

float Gxyz[3];
Gxyz[0] = (float)gyro[0] * (875.f / 32768.f);// * (PI / 180.0);
Gxyz[1] = (float)gyro[1] * (875.f / 32768.f);// * (PI / 180.0);
Gxyz[2] = (float)gyro[2] * (875.f / 32768.f);// * (PI / 180.0);
//Gxyz[0] = (float)gyro[0] * (1000.f / 32768.f);// * (PI / 180.0);
// Gxyz[1] = (float)gyro[1] * (1000.f / 32768.f);// * (PI / 180.0);
// Gxyz[2] = (float)gyro[2] * (1000.f / 32768.f);// * (PI / 180.0);

// (4912.f / 8190.f) 0.6 | (4912.f / 32760.f) 0.15
float Mxyz[3];
Mxyz[0] = (float)mag[0] * 0.15 * magadj[0];
Mxyz[1] = (float)mag[1] * 0.15 * magadj[1];
Mxyz[2] = (float)mag[2] * 0.15 * magadj[2];

I tested mahony filter without mag data. scale value 875 is my empirical value.
and i get same value that i test this another mpu9250 sensors with arduino uno.

Please update it to the latest firmware changes

Oh,,, there were lots of changes...
It may take a while.
I have to think about how to handle mag calibration data saved without isSecond param, or something else...

By the way, I may touch server side to make 'invoke calibration' btn.
'Turn on while flipped back' is not intuitive.
Or... is it already there? Like... sending message to single tracker via utp.

Yeah it's needed to be added

If you're worried about saving, i am planning a per-sensor configuration storage in firmware, but i didn't get to it yet...

@Eirenliel Done.


Update bug_report.md

Tips

Thanks very much for contributing to Apache DolphinScheduler.
Please review https://dolphinscheduler.apache.org/en-us/community/index.html before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds checkstyle plugin.)
Brief change log
(for example:)

Add maven-checkstyle-plugin to root pom.xml

Verify this pull request
(Please pick either of the following options)
This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added dolphinscheduler-dao tests for end-to-end.
Added CronUtilsTest to verify the change.
Manually verified the change by testing locally.

Codecov Report

Merging #4252 (1cc82c5) into dev (6f72def) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #4252      +/-   ##
============================================
- Coverage     43.18%   43.16%   -0.02%
+ Complexity     3152     3150       -2
============================================
  Files           464      464
  Lines         21607    21607
  Branches       2610     2610
============================================
- Hits           9331     9327       -4
- Misses        11378    11380       +2
- Partials        898      900       +2

Impacted Files
Coverage Δ
Complexity Δ

...e/dolphinscheduler/remote/NettyRemotingClient.java
50.00% <0.00%> (-2.78%)
9.00% <0.00%> (-2.00%)

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 6f72def...1cc82c5. Read the comment docs.


Replacement of peptide at the end of sequence on base (C) rises unnessessury error message

Steps to Reproduce

Go to Macromolecules mode - Sequence mode
Load from file: Replacement of peptide at the end on preset w_out phosphate works wrong.zip
Select last monomer (in view mode)

Go to Library - RNA tab - Bases section
Click on C base

Actual behavior
System shows error message: It is impossible to merge fragments. Attachment point to establish bonds are not available.

and replaces A peptide with C base (shown as @ on the sequence mode canvas ) (this is correct)
Expected behavior
No error message appears.
A peptide replaced with C base (shown as @ on the sequence mode canvas )

As per requirement:

If the user selects any number of monomers in view mode, and clicks on the monomer card in the library, all selected monomer on the canvas are replaced by chosen monomer from the library each

Versions

Ketcher Version 2.24.0-rc.1 Build at 2024-08-06; 19:17:47
Indigo Toolkit Version 1.23.0-rc.1.0-g85f89b8f5-wasm32-wasm-clang-19.0.0
Windows 10 Pro
Chrome Version 127.0.6533.100 (Official Build) (64-bit)

Related issue - https://github.com/epam/ketcher/issues/4878

Fixed.

Ketcher Version 2.24.0-rc.2 Build at 2024-08-14; 19:00:14
Indigo Toolkit Version 1.23.0-rc.2.0-g6a2a7526a-wasm32-wasm-clang-19.0.0
Chrome Version 127.0.6533.100 (Official Build) (64-bit)
Win10


Install plugins in containers at runtime

Currently we have built docker images. However, rsserpent alone isn't of any practical use. We need to find a way to mount a requirements.txt into the container's file system, and install these required plugins at runtime.
Another possible approach is to let users build their own image based on the rsserpent image. This approach is technically easier to implement, but requires users to build their own image (which could be a serious problem for non-programmer users).

Suprisingly, using pip (instead of poetry) to install deps results in a ~5x smaller docker image (~300MB -> ~60MB), see 407fb03. However, this will require users exporting poetry.lock to requirements.txt before building docker images.
I think ~60MB image size is good enough, so I remove docker-slim things from the workflow.
/cc @EurusEurus in case he/she is interested.

Well, now we can install plugins in containers at runtime.
Suppose you have a a list of rsserpent plugins in /path/to/some/directory/requirements.txt, you can run
docker run -d -p 8000:8000 -v /path/to/some/directory:/app/runtime queensferry/rsserpent:master

The docker-entrypoint.sh will check if there is any /app/runtime/requirements.txt and install them with pip install -r, then run uvicorn rsserpent:app --host <IP_ADDRESS> to start RSSerpent.

Suprisingly, using pip (instead of poetry) to install deps results in a ~5x smaller docker image (~300MB -> ~60MB), see 407fb03. However, this will require users exporting poetry.lock to requirements.txt before building docker images.
I think ~60MB image size is good enough, so I remove docker-slim things from the workflow.
/cc @EurusEurus in case he/she is interested.

SGTM Simple and convenient is the first choice.


Problem in reproduction (CoNLL)

Hi. First of all, thank you for your great project!
I just run your code with CoNLL dataset.
In the closed issues, you said that we should just change the iteration (1->100) in your demo.train.config file.
However, in your COLING 2018 paper, it states that it used 100-d glove word embedding for CCNN+WLSTM+CRF.
Is it right that we also have to change your demo config file as below?
word_emb_dir=glove
word_emb_dim=100
and also, I get 90.09 F-1 score on conll 2003 NER with 100d glove dataset.
Could you tell me what was the "minimum" score for CCNN+WLSTM+CRF..?
Thanks!

Of course, you need to change the embedding dir as well as the pretrained word embeddings dir in the configuration file. In my experience, the lowest score would around 90.9~91.0, the highest score would be 91.3~91.4, based on different random seeds.
As you only got the 90.09, you may check if you used the right tag scheme (BIOES > BIO). Or you can share me with your running log, then I can give you more specific suggestion.

Here is the decoding log..!
I'm trying with different random seed currently.
However, my max was 90.26..!
Is there anything I have to change..?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Seed num: 42
MODEL: decode
data/conllbio.test
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DATA SUMMARY START:
I/O:
Start   Sequence   Laebling   task...
Tag          scheme: BIO
Split         token:  |||
MAX SENTENCE LENGTH: 250
MAX   WORD   LENGTH: -1
Number   normalized: True
Word  alphabet size: 25306
Char  alphabet size: 78
Label alphabet size: 10
Word embedding  dir: ./glove.6B.100d.txt
Char embedding  dir: None
Word embedding size: 100
Char embedding size: 30
Norm   word     emb: False
Norm   char     emb: False
Train  file directory: data/conllbio.train
Dev    file directory: data/conllbio.devel
Test   file directory: data/conllbio.test
Raw    file directory: data/conllbio.test
Dset   file directory: conll/conll-2best.dset
Model  file directory: conll/conll-model2
Loadmodel   directory: conll/conll-2best.model
Decode file directory: conll/conll-2best.test.out
Train instance number: 14986
Dev   instance number: 3465
Test  instance number: 3683
Raw   instance number: 0
FEATURE num: 0
++++++++++++++++++++++++++++++++++++++++
Model Network:
Model        use_crf: True
Model word extractor: LSTM
Model       use_char: True
Model char extractor: CNN
Model char_hidden_dim: 50
++++++++++++++++++++++++++++++++++++++++
Training:
Optimizer: SGD
Iteration: 100
BatchSize: 10
Average  batch   loss: False
++++++++++++++++++++++++++++++++++++++++
Hyperparameters:
Hyper              lr: 0.015
Hyper        lr_decay: 0.05
Hyper         HP_clip: None
Hyper        momentum: 0.0
Hyper              l2: 1e-08
Hyper      hidden_dim: 200
Hyper         dropout: 0.5
Hyper      lstm_layer: 1
Hyper          bilstm: True
Hyper             GPU: True
DATA SUMMARY END.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nbest: 1
Load Model from file:  conll/conll-model2
build sequence labeling network...
use_char:  True
char feature extractor:  CNN
word feature extractor:  LSTM
use crf:  True
build word sequence feature extractor: LSTM...
build word representation...
build char sequence feature extractor: CNN ...
build CRF...
Decode raw data, nbest: 1 ...
Right token =  45739  All token =  46665  acc =  0.9801564341583628
raw: time:15.72s, speed:235.73st/s; acc: 0.9802, p: 0.9007, r: 0.9010, f: 0.9009

As I said, please turn the tag scheme from BIO to BIOES which will give better performance.

You can use my script below to convert the tag scheme between BIO and BIOES.
https://github.com/jiesutd/NCRFpp#data-format

Thanks!! I could get results!!
Thank you for your kind reply!!

Congratulations and thank you for sharing the results.


replace '\' with '/' in __dirname and __filename

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

[x ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
I use webpack for server bundle.My webpack config is:
module.exports = {
    entry: path.resolve(__dirname, './server/app.js'),

    output: {
        path: path.resolve(__dirname, "./"),
        filename: 'server.js',
        libraryTarget: 'commonjs2'
    },

    devtools: 'cheap-module-source-map',

    target: 'node',

    node: {
        __filename: true,
        __dirname: true
    },

    resolve: {
        extensions: ['', '.js', '.jsx'],
        modulesDirectories: [
            // 'client',
            'node_modules',
        ],
    },

    externals: Object.keys(packageJson.dependencies),

    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /node_modules|jce/,
                loader: 'babel-loader',
                query: {
                    presets: [
                        'react'
                    ],
                    plugins: [
                        "transform-es2015-modules-commonjs",
                        "transform-async-to-generator",
                        "transform-runtime"
                    ]
                },
            }, {
                test: /\.json$/,
                loader: 'json-loader',
            },
        ],
    },
    plugins: [
        new webpack.DefinePlugin({"process.env": {NODE_ENV: '"production"'}}),
        new webpack.optimize.DedupePlugin(),
        new webpack.IgnorePlugin(/(\.(css|less)$)|zepto/)
    ],
};

I compile it on WINDOWS.
The output file contains:
/* WEBPACK VAR INJECTION */}.call(exports, "server\\libs"))

But my code run in LINUX platform, when I use require('path').join('server\libs' + '/../../a/b),
it behaves fine in WINDOWS, which outputs:
'a\b'
But in LINUX it outputs:
'../a/b',
which is not what I expect
What is the new behavior?
use require('path').join('server/libs' + '/../../a/b) fix my ploblem.
I regard that Webpack should provide the functionality of cross-platform LINUX WINDOWS e.g. for slashes. If we could use '/' instead of '' both platforms would work fine.
Does this PR introduce a breaking change?

[ ] Yes
[ ] No

If this PR contains a breaking change, please describe the following...

Impact:
Migration path for existing applications:
Github Issue(s) this is regarding:

Other information:

Could you paste a code snippet where you are using __dirname/__filename in your code?

    let assetsPath = path.join(__dirname+ '/../../Test/webpack-assets.json');     const assets = fs.readFileSync(assetsPath, 'utf-8');
This is my origin code.It runs fine in WINDOWS, but break in LINUX.
This is my current solution:
    let assetsPath = path.join(__dirname+ '/../../Test/webpack-assets.json');     const assets = fs.readFileSync(assetsPath, 'utf-8');

This code is in your config build, isn't it?

This is my business code in app

This PR doesn't make sense.


JIT: Add more cooperative group APIs

Blocked by #6620. PR description to be updated.
This PR expands the cooperative group support (#6620). 4 more APIs are added:

cg.sync()
cg.memcpy_async()
cg.wait()
cg.wait_prior()

In order to utilize the optimization for certain alignments, I also added an extra argument in

cg.memcpy_async()
shared_memory()

to statically declare the arguments' alignment (in bytes).

/test mini

/test mini

@asi1024 This is ready for review, but I can't access Jenkins so I don't know what's the error there...

Jenkins failure looks unrelated to this PR.

/test mini

LGTM! Thanks!


Add ADR035: offer Amazon S3 for form submissions

Rendered view
PR Checklist

[x] If you are proposing a new decision record document, used the right template for that
- (ADR, decision-record, engagement, research)
[x] Set yourself as the Assignee
[x] Tag anyone you would like to review, or @forms-design or @forms-devs
[x] Fill in the template below

What
A new ADR to allow form submissions to be sent to Amazon S3.
How to review

Semantic: Do you agree with the changes?
Syntactic: Spelling, grammar, etc.

Who can review
Anyone, but in particular those who worked on the Amazon S3 spike.

I worry about what happens if the team managing the S3 bucket accidentally changes the bucket access or configuration in a way that stops us being able to upload documents to it... what will happen to form submissions if the S3 upload doesn't work?

@lfdebrux there's a section on this in the spike doc:

To start with we can replicate the current behaviour with email submissions via Notify, where an error message is shown to the form submitter and they are obliged to resubmit.
User research has also suggested that some users would like to receive an email notification that submission failed. This would be basic to start with and the call to action would just be to contact the GOV.UK Forms team. This implies we might want to allow configuration of a support email, to which submission failure notifications would be sent.
In future we could look at temporarily storing submissions so that they can be processed asynchronously. This would provide robustness against submission failures for all submission types (e.g. Notify and SES).
This would allow retries for failed submissions, and would retain failed submission data for a time to allow inspection and replaying submission. This would also allow form fillers to continue submitting forms, even if the submission pipeline isn’t working.

@james-sheppard-gov-uk do you think it's worth incorporating any of that information in here?

Thanks for your comments @lfdebrux and @DavidBiddle - I've made a few additions, please could you take another look?


Expose generateTestBootstrap() as public API in test harness

This will allow external tools that wrap our test harness to share the
code that generates the test bootstrap.
This change exposed an issue whereby the LocalGoldenFileComparator
was being too strict in its URI handling, so this changes relaxes
that constraint as well (and adds associated tests).


SIGSEGV when getting protected function from sol::state

build system
ubuntu 20.04
clang-12 with c++20
using Clion 2022.2.1
lua related
sol-3.2.2 with luajit-2.1
what I did
sol::protected_function foo = lua_state["bar"];
lua_state = std::move(new_state);
foo = lua_state["bar"]; //SIGSEGV here

expected behavior
no segfault
full script to reproduce
https://gist.github.com/skywalkerytx/87e46500fc2ceb2fa58eef99e203f4af

Any update here? Experiencing the same in (3.2.3).


Support returned secrets in encrypted form

In certain cases, the DID Registrar returns private keys and other secrets to a client (see didState.secret).
Should we support that in an encrypted form?
See https://github.com/decentralized-identity/did-registration/pull/6#pullrequestreview-706385937

What about the following statement:
For backwards compatibility, DID Registrar supports a "secret mode", where the private keys are created by the DID Registrar driver and are returned to the user. For security reasons, this approach is NOT RECOMMENDED. If the secret client mode is used, the private key MUST be encrypted.
The HTTP response header MUST contain
Cache-Control=no-store
Pragma=no-cache


Adding contribution.md file

By adding file
Wanted to do the following changes :-
How to contribute (fix bugs, add features)
Steps for submitting changes
Project setup instructions
Rules for code style
Code of conduct for respectful behavior
Enhance the project structure
Add the help and support section
Add the pull request section
Add issue report process section

Assign this work to me


Miss contributing instructions

Add guide for developers, contributors and users looking for help.
Add CONTRIBUTING.md to inform community how to contribute (see here for more info)
Make coding standards clear in README.md or CONTRIBUTING.md i.e., linting, naming conventions etc.
include a code of conduct
Specify what level of support (if any) you offer to users/devs

Done with commit 036e23d403ae520d98b4f9274829b0a67978942c


Last aggregated timestamp

Display last aggregated at timestamp on  projects/edit so project owners know when the aggregtor last ran.
This was originally discussed here #819
Also discussed a variety of ways to make the aggregator more robust (e.g. separate delayed jobs) and better error catching

On staging for testing. I just plopped in the date in the aggregation block. Easy to move it around or change the style if needed

Cool - looks fine - seems like maybe it shouldn't be in a field that looks editable but i don't have strong feelings about the styling.
But as for functionality, I  went to http://staging.inaturalist.org/projects/woodpecker-week-jan-10-16/edit and the 'last aggregated at' field was populated. Then I altered some project settings (changed some observation rules) and resaved and the last aggregated at field is cleared (which makes sense) but its been about 20 min and its still blank - any ideas if its actually aggregating?

the aggregator doesn't run on Staging. You'd have to run it for that project in a console. We do reset the last_aggregated at since we'll want to force aggregation after various changes, so I can see how that would be confusing. We'd need an additional field to both keep track of when the aggregator actually last ran, and some indicator of when it needs to run again

got it thanks - I'll run it from console to simulate the aggregator

I ran the aggregator in console and the field responded properly so seems to be working

it does look like altering the times is not reseting the last_aggregated field (and so I assume not forcing aggregation?) - it should do since these times are essentially project rules right?

pretty sure this is fixed now. I changed the display of the time on the edit page so it doesn't look editable, and it also only shows when the aggregation box is checked. The last_aggregated_at should also be reset when the start and end times change


--confidence High arg not working with DevSkim analyze

Describe the bug
When using the --confidence High arg for Powershell files, Medium confidence errors still show.
To Reproduce
Steps to reproduce the behavior:

Create a Powershell file that will trigger both High and Medium DevSkim confidence errors.
Run DevSkim analyze with  --confidence High. This repros with both Text and Sarif outputs.
DevSkim still flags a Medium confidence error in the output

Expected behavior
Only High confidence rules should be flagged.
Screenshots
If applicable, add screenshots to help explain your problem.
Versions(please complete the following information):

OS: Windows 11
Devskim Version 1.0.44+10b85ce690

I am working on a PR that will resolve this (https://github.com/microsoft/DevSkim/pull/672), however, while DevSkim does have a Confidence field at the Rule level, I recommend that you instead use the Confidence field at the pattern level instead. See: https://github.com/microsoft/ApplicationInspector/wiki/3.2-Pattern-Object-Schema
Since each rule can have multiple patterns, which each could be different fidelity, it makes more sense to use confidence at the pattern level.


Records operators don't type check check argument arity correctly

Looks like we don't have the right arity checks in place for the record operators. Here are some examples:
>>> r
{ a: 1 }
>>> r.field("a", 1)
static analysis error: error: [QNT000] Expected 3 arguments, got 2

>>> {a: 1}.fieldNames()
Set("a")
>>> {a: 1}.fieldNames(1, 2, 3)
Set()
>>> {a: 1}.with("a", 2, 4, 5, 6)
static analysis error: error: [QNT000] Expected 6 arguments, got 3

>>> Tup(1, 2).item(1, 2, 3)
static analysis error: error: [QNT000] Expected 4 arguments, got 2

This is because the constraints that guard correct operator signatures are not applied if we use a "specialConstraint": https://github.com/informalsystems/quint/blob/123a237513bbc92d7b629566a5573f3b076f66ab/quint/src/types/constraintGenerator.ts#L156-L171
I have a fix for this in mind and would like to pick up the issue as a way to ease into work on the type system for #539, assuming no objection from @bugarela.

No objection at all! We actually have an issue for that already: https://github.com/informalsystems/quint/issues/169, I think this one is a sub-issue for that. Perhaps your solution can also address other operators with multiple arity :smile:

This is a duplicate of #169.


Anchor links look terrible with dropcaps & list items

looks fine with dropcaps now! Still not ideal with lists, but less of a big deal

Yeah, it’s just not aligned with the rest of the anchor :'(


[pkg] remove deprecated serve target

Codecov Report

Merging #133 into master will decrease coverage by 5.42%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #133      +/-   ##
==========================================
- Coverage   93.58%   88.16%   -5.43%
==========================================
  Files          17       19       +2
  Lines         374      397      +23
  Branches       55       55
==========================================
  Hits          350      350
- Misses         14       37      +23
  Partials       10       10

Impacted Files
Coverage Δ

src/App.vue
0% <0%> (ø)

src/example.ts
0% <0%> (ø)

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 3c70030...b263540. Read the comment docs.


modify script to work with new backend

@zebulasampedro made modifications for the script to work with the new backend. added support for websockets, and the Ajax fallback.

@zebulasampedro a code review?


Analyse imports

The imports should be analysed to make sure we aren't importing unnecessary much. Imports with just a few methods should hide the rest (just to make it clearer what is imported). Seem reasonable?

Sounds good.
I think it would be good to make imports explicitly when dealing with external libraries and implicitly when dealing with our own code base.
In general i think we should be more aware of our coding style. Very often we follow the official style guide by intuition, which is good.
We could adopt some guidelines from Johan Tibells style guide. He looks like a guy who has his Haskell together.


[2.9.0] Module breaks in server context (SSR)

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Using the latest package @supabase/supbabase-js with solid-start, following error is thrown when running the application:
file:///vault/dev/work/xxxxx/dist/server.js:124124
? WebSocket
^

ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and '/vault/dev/work/xxxxxx/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.

The code at line 124124 in the dist file:
const WebSocketVariant = NATIVE_WEBSOCKET_AVAILABLE
    ? WebSocket
    : require('ws');

This seems to be related to this commit. Downgrading the realtime-js package to 2.8.4 fixes the issue.
Expected behavior
The package should work in server context.
System information

OS: Linux
Browser (if applies) N/A
Version of supabase-js: 2.39.0

Version of realtime-js: 2.9.0

Version of Node.js: 20.9.0

Additional context
My package.json type is set to module.

The offending line is here: https://github.com/supabase/realtime-js/commit/57d9b65b7107e7f6f301703430968545c4a82141#diff-f5a6b192eb9d6c05f61c33d8629b814ad893fbfb729bfa7af9b226e5c87d2e85R66
It contains require which ends up as ESM module https://www.unpkg.com/browse/<EMAIL_ADDRESS>This causes an issue because if the node loads ESM and then sees require it falls with the above error.
The correct fix is to use dynamic import('ws') in that location and let the bundler downlevel it to require for CJS.

The correct fix is to use dynamic import('ws') in that location and let the bundler downlevel it to require for CJS.

@mhevery can you look at this PR and give me your thoughts? we were discussing this internally and was worried about importing there, waiting for promise to resolve, while the imported ws module default is set when instantiating the class.
PR: https://github.com/supabase/realtime-js/pull/267

We were also running into this when deploying to cloudflare and had to fix to the older version.
The PR above indeed seems to potentially introduce async issues.
Couldn't you use isomorphic-ws to differentiate the import at bundling time?

https://github.com/supabase/realtime-js/pull/267#pullrequestreview-1774095369

@r0skar @ksjogo give this fix a try and see if it fixes your issue: https://github.com/supabase/realtime-js/releases/tag/v2.9.1.


Failed to work on Viewset that doesn't have pagination_class

DRF OpenAPI version: v1.0.0
Python version: 3.6.2
Operating System: Mac 10.13.1

Description
drf-openapi doesn't work on Viewset with pagination_class=None and Viewset that doesn't have pageniation_class
What I Did
# Settings.py

REST_FRAMEWORK = {
    'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.URLPathVersioning',
    'DEFAULT_PAGINATION_CLASS': None,
    'PAGE_SIZE': None
}

The following error occurs:
Exception Type: TypeError at /v1.0/schema/
Exception Value: issubclass() arg 1 must be a class

Possible Solution
Add the following codes in entities.py may solve this issue:
    def get_paginator_serializer(self, view, child_serializer_class):
        ...

        if not (hasattr(view, 'pagination_class')) or view.pagination_class is None:
            return BaseFakeListSerializer

        pager = view.pagination_class

        ...

Thanks. This should be fixed now in 1.1.0


Build docker container which just runs devimint dev-fed

This could be consumed by external git repos like https://github.com/fedimint/ui

Closing in favor of https://github.com/fedimint/fedimint/issues/3061


[Feature]: More in depth search function?

Describe the feature
Is there a way to get the search function "deeper" into an item such as the text for its use?
Describe the implementation
An example would be the item Curio of Abundant Happiness it's one of a myriad of "legacy" items that are used for Legion Champions. In adibags if I search "champion" the item is highlighted; however, in BetterBags the item is not highlighted. I am uncertain to what level BetterBags search goes(if it extends beyond title/item type) and realize the deeper the search has to go the more resources it would consume/the longer it would take.
Would it be possible to make a function to search deeper into items?

oh that's interesting -- that should show up. this might be a bug. i'll take a look at this.

oh that's interesting -- that should show up. this might be a bug. i'll take a look at this.

It also doesn't work when searching for "follower" from the Draenor Garrison items (example https://www.wowhead.com/item=114808/fortified-armor-enhancement ) if that helps narrowing down the troubleshooting process

Closed to make a bug report


W deser always

Fixes #XXXX.

Description

Fixed the bug ...
Renamed the class ...
Added a forbidden-apis entry ...

Release note

Key changed/added classes in this PR

MyFoo
OurBar
TheirBaz

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

I just wanted to see if any tests fail if a conditional is altered in relation with this comment
sorry @somu-imply  for the noise; I wanted to open a PR against my own repo to just get a glimpse if any tests are failing.

let me just close this

No problem! Thanks for clarifying. In such a case what I do is to put a [Do not Merge] as the PR title.


directly binding v-model to a property of options

Hi, when the options are an array of objects, for example:
options = [
{name: 'a', label: 'Apple'},
{name: 'b', label: 'banana'}
]

Is there a way to directly bind the v-model to the key value ( 'name' in this case), instead of binding to the object ?

Need this feature too

This is not possible.

This issue is a little bit old, so I'm going to close it.
As @shentao mentioned, this is not possible, however you can most probably achieve the desired effect by binding v-model to the option object itself (say v-model="selectedOption") and then create a computed value that would extract the desired property from the bound option:
computed: {
  selectedOptionName () {
    return this.selectedOption.name // or whatever you want really
  }
}

If you meant something else, feel free to open another issue with hopefully better description of what you would like to achieve.


Remoting: Win 10 to RHEL 7 | PS 7.0.3

I had an issue with remoting and found two similar issues:
https://github.com/PowerShell/PowerShell/issues/12635 and https://github.com/PowerShell/PowerShell/issues/12654
Those are only with PSSession. i had what appears the same on Invoke-Command
Both Error out on Exit with
OpenError: [pingui] Closing the remote server shell instance failed with the following error message : <SOAP-ENV:Fault xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope">SOAP-ENV:CodeSOAP-ENV:ValueSOAP-ENV:Receiver</SOAP-ENV:Value>SOAP-ENV:SubcodeSOAP-ENV:Valuewsman:InternalError</SOAP-ENV:Value></SOAP-ENV:Subcode></SOAP-ENV:Code>SOAP-ENV:Reason<SOAP-ENV:Text xml:lang="en-US"/></SOAP-ENV:Reason></SOAP-ENV:Fault> For more information, see the about_Remote_Troubleshooting Help topic.
This prevents the return on Invoke-Command that is needed for the script i am trying to write for automation
Reproduction Steps :: PSSession
$psso = New-PSSessionOption -SkipCACheck -SkipRevocationCheck -SkipCNCheck # this is done for lab env. will not be needed in actual env
$cred = Get-Credential
Enter-PSSession -ComputerName pingui -Credential $cred -Authentication basic -UseSSL -SessionOption $psso
pgrep -f /app/pingidentity/pingaccess/jdk/current/bin/java | wc -l
Exit-PSSession
Reproduction Steps :: Invoke-Command
$findPA = "pgrep -f /app/pingidentity/pingaccess/jdk/current/bin/java | wc -l"
$psso = New-PSSessionOption -SkipCACheck -SkipRevocationCheck -SkipCNCheck # this is done for lab env. will not be needed in actual env
$cred = Get-Credential
$pa1 = Invoke-Command -ComputerName pingui -Credential $cred -Authentication basic -UseSSL -SessionOption $psso -ScriptBlock { $findPA }
Example Output:
PS C:\temp\EYSAFEPISCT> $pa1 = Invoke-Command -ComputerName pingui -Credential $cred -Authentication basic -UseSSL -SessionOption $psso -ScriptBlock { $findPA }
OpenError: [pingui] Closing the remote server shell instance failed with the following error message : <SOAP-ENV:Fault xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope">SOAP-ENV:CodeSOAP-ENV:ValueSOAP-ENV:Receiver</SOAP-ENV:Value>SOAP-ENV:SubcodeSOAP-ENV:Valuewsman:InternalError</SOAP-ENV:Value></SOAP-ENV:Subcode></SOAP-ENV:Code>SOAP-ENV:Reason<SOAP-ENV:Text xml:lang="en-US"/></SOAP-ENV:Reason></SOAP-ENV:Fault> For more information, see the about_Remote_Troubleshooting Help topic.
PS C:\temp\EYSAFEPISCT>
I'm not sure what else is needed. please let me know.
Win 10 PS:
PS C:\temp\EYSAFEPISCT> $psversiontable
Name                           Value

PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0
PS C:\temp\EYSAFEPISCT>
RHEL PS:
<EMAIL_ADDRESS>/app/pingidentity/pingaccess/panode]
$ rpm -qa | grep -i psrp
omi-psrp-server-1.4.2-2.x86_64
<EMAIL_ADDRESS>/app/pingidentity/pingaccess/panode]
$ rpm -qa | grep -i power
powershell-7.0.3-1.rhel.7.x86_64
<EMAIL_ADDRESS>/app/pingidentity/pingaccess/panode]
$
hopefully there is an issue with what i did as suggested by oneof the previous. otherwise i hope this helps find the issue and resolve it from those whom are more familiar with powershell

If you are targeting a Linux host you should really be using SSH as the transport. The OMI components seem to be deprecated and not really that stable so you will get a much better experience by using SSH which is much more stable on the Linux platforms.

Hi Jordan,
In searching google i have not found instructions on setting windows to use SSH, just the Linux to have powershell 7.0.3 and the psrp package. Do you have instructions to get windows to use SSH? I will try searching again, but i suspect that this may be a problem for a number due to lack of proper documentation.
Thank you in advance,
Josh

Yep you effective need to do

Install PowerShell 6+ on Windows to enable SSH transport as a client
Install OpenSSH as a client on Windows using that link you shared, the server bits are only required on the Windows host if you want to do Linux -> Windows
Set up OpenSSH as a server on the Linux host
Add the pwsh subsystem into the sshd_config on the Linux host

# Requires root to edit /etc/ssh/sshd_config
echo "Subsystem powershell $(which pwsh) -sshs -NoLogo" >> /etc/ssh/sshd_config

If you are trying to do some automation for this you also want to set up key based authentication and not use passwords but there are plenty of guides on how to do that for SSH and it's not strictly related to PowerShell. When connecting using the -HostName and not the -ComputerName parameter for Invoke-Command/Enter-PSSession as that will use SSH and not WinRM.

Jordan,
thank you. adding Open SSH to my Win 10 and adding the sshd config update. I'll start with testing username/password but probably will go to key based.
I'll also report back if this is successful so that those whom come after me will know. Hopefully i caan give a quick step by step what i did. not sure i wrote enough but will try.
-Josh

Hi Jordan, and anyone who finds this and is looking for PS Remoting Windows to Linux Help.
It is working for me now.
First get your PowerShell Installed:
WIndows: Use the msi right for you. i suggest the latest stable release of PowerShell 64 bit.
For LInx, this may assist: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7
I used RedHat as i need to for work. the commands:
Register the Microsoft RedHat repository
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Install PowerShell
sudo yum install -y powershell
Verification:
Start PowerShell
pwsh
If you can login as root, backup the /etc/ssh/sshd_config
then i echo'd in a variation of Jordan's command:
echo "# For PowerShell" >> /etc/ssh/sshd_config
echo "Subsystem powershell $(which pwsh) -sshs -NoLogo" >> /etc/ssh/sshd_config
Next i checked for OpenSSH in Windows: Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
as i needed the client and server, but only really need the client as my use is Win to Lin: Add-WindowsCapability -Online -Name OpenSSH.Client~~~~<IP_ADDRESS>
then i used the invoke and enter with the hostname versions. note: most of what i had is based on winRM and thus the commands look more like
Enter-PSSession -HostName pingui.lab.ey -UserName a1234567-3
pgrep -f /app/pingidentity/pingaccess/jdk/current/bin/java | wc -l
Exit
and
$paFind = Invoke-Command -HostName pingui.lab.ey -UserName a1234567-3 -ScriptBlock { pgrep -f /app/pingidentity/pingaccess/jdk/current/bin/java | wc -l }
@jborean93 thank you again for the assist!
-Josh


Deploy hopannotation1-export

[x] Source hopannotation1 archives from sandbox, staging, or public archives.
[x] Adjust existing cron job to do hopannotation1 export.
[x] Run export process.
[x] Make sure the GCS transfer job is enabled (add ndt/hopannotation1 prefix to job configuration)
[x] Allow synthetic hopannotation1 export parsing to complete.
[x] Rerun annotation export e2e.
[x] Run query to verify dates under mlab-staging.raw_ndt.hopannotation1.
[x] Repeat all steps in production.

Verification in staging.
select date, count(*) as total
from `mlab-staging.raw_ndt.hopannotation1`
where date > date('2019-03-28')
group by date
order by date

Verification in prod.
select date, count(*) as total
from `mlab-oti.raw_ndt.hopannotation1`
where date > date('2019-03-28')
group by date
order by date

@stephen-soltesz LGTY?

Nice!


Failure on client->getService()?

Hi
I have a BLE device (Spark Control - a BLE pedal to control a guitar amp) which seems to fail on getService in NimBLE.
I have many other devices where this works perfectly. It is just this one!!
It works with standard Arduino BLE, though.
Also an iPhone running LightBlue can connect and talk to the device.
Please see my code and the Debug log.
The code has conditional #ifdef checking for NIM  to use NimBLE, and not defined for normal BLE.
This is for an M5 Stick C but a A-Z Delivery ESP32 WROOM does the same thing.
There are two SERVICE options because the pedal device can expose either - neither work with NimBLE
Using NimBLE 1.3.6 (although no version seems to work)
Any ideas?
#include <M5StickC.h>

#define NIM

#ifdef NIM
#include "NimBLEDevice.h"
#else
#include "BLEDevice.h"
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
#endif

#define SERVICE     "7bdb8dc0-6c95-11e3-981f-0800200c9a66"
#define CHAR        "362f71a0-6c96-11e3-981f-0800200c9a66"

//#define SERVICE     "03b80e5a-ede8-4b33-a751-6ce34ec4c700"
//#define CHAR        "7772e5db-3868-4112-a1a9-f2669d106bf3"

// BLE
BLEAdvertisedDevice device;
BLEClient *pClient_bb;
BLERemoteService *pService_bb;
BLERemoteCharacteristic *pReceiver_bb;
BLERemoteDescriptor* p2902;
const uint8_t notifyOn[] = {0x1, 0x0};

void notifyCB_bb(BLERemoteCharacteristic* pRemoteCharacteristic, uint8_t* pData, size_t length, bool isNotify){
  int i;

  Serial.print("Spark Control: ");
  for (i = 0; i < length; i++) {
    Serial.print(pData[i], HEX);
    Serial.print(" ");
  }
  Serial.println();
}

// Callbacks for client events
class ClientCallbacks : public BLEClientCallbacks {
  void onConnect(BLEClient* pClient) {
    ;
  }

  void onDisconnect(BLEClient* pClient) {
    ;
  }
};

bool connected_bb;

void setup() {
  int i;

  // put your setup code here, to run once:
  M5.begin();

  M5.Lcd.setRotation(-1);
  M5.Lcd.setTextColor(WHITE);
  M5.Lcd.setTextSize(2);
  M5.Lcd.setCursor(0, 0);
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.println("Spark Control");
  Serial.println("Started");

  connected_bb = false;
  BLEDevice::init("");

  while (!connected_bb) {

    BLEScan *pScan = BLEDevice::getScan();
    BLEScanResults results = pScan->start(4);

    BLEUUID BBserviceUuid(SERVICE); // service for LPD8

    for(i = 0; i < results.getCount() && !connected_bb; i++) {
      device = results.getDevice(i);
      if (device.isAdvertisingService(BBserviceUuid)) {
        Serial.print("Found Spark Control - trying to connect....");
        pClient_bb = BLEDevice::createClient();
        pClient_bb->setClientCallbacks(new ClientCallbacks());
        if(pClient_bb->connect(&device)) {
#ifndef NIM
          pClient_bb->setMTU(517);
#endif
          connected_bb = true;
          Serial.println("connected");
        }
      }
    }

    Serial.println();

    // Get the services

    if (connected_bb) {
      Serial.println(">>> CONNECTED");
      pService_bb = pClient_bb->getService(BBserviceUuid);
      if (pService_bb != nullptr) {
        Serial.println(">>>GOT SERVICE");
        pReceiver_bb = pService_bb->getCharacteristic(CHAR);
        if (pReceiver_bb && pReceiver_bb->canNotify()) {
          Serial.println(">>>GOT CAN NOTIFY");
#ifdef NIM
          if (!pReceiver_bb->subscribe(true, notifyCB_bb, true)) {
            Serial.println("NimBLE subscribe failed");
          }
#else
          pReceiver_bb->registerForNotify(notifyCB_bb);
          p2902 = pReceiver_bb->getDescriptor(BLEUUID((uint16_t)0x2902));
          if(p2902 != nullptr)
            p2902->writeValue((uint8_t*)notifyOn, 2, true);
          else
            Serial.println("2902 no descriptor");
#endif
        }
      }
    Serial.println("Connected to Spark Control");
    }
  }
}

void loop() {
  M5.update();
}

Log
OK
[  1011][W][Wire.cpp:204] begin(): Bus already started in Master Mode.
Started
I NimBLEDevice: "BLE Host Task Started"
I NimBLEDevice: "NimBle host synced."
D NimBLEScan: ">> start(duration=4)"
D NimBLEScan: "<< start()"
I NimBLEScan: "New advertiser: 72:cb:40:d4:fe:9f"
I NimBLEScan: "New advertiser: 4c:50:8b:c2:37:07"
I NimBLEScan: "New advertiser: 67:47:cc:96:d3:44"
I NimBLEScan: "New advertiser: db:ab:7f:e0:2f:5c"
I NimBLEScan: "Updated advertiser: 4c:50:8b:c2:37:07"

<REMOVED LOTS OF SIMILAR LINES>

I NimBLEScan: "Updated advertiser: db:ab:7f:e0:2f:5c"
I NimBLEScan: "Updated advertiser: db:ab:7f:e0:2f:5c"
I NimBLEScan: "Updated advertiser: 4c:50:8b:c2:37:07"
D NimBLEScan: "discovery complete; reason=0"
Found Spark Control - trying to connect....D NimBLEClient: ">> connect(db:ab:7f:e0:2f:5c)"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connected event"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
I NimBLEClient: "Connection established"
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
D NimBLEClient: "<< connect()"
connected

>>> CONNECTED
D NimBLEClient: ">> getService: uuid: 7bdb8dc0-6c95-11e3-981f-0800200c9a66"
D NimBLEClient: ">> retrieveServices"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClientCallbacks: "onConnParamsUpdateRequest: default"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."

<SHORT PAUSE HERE - 3 seconds>

D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClientCallbacks: "onConnParamsUpdateRequest: default"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."

<LONG PAUSE HERE - 25 seconds>

D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 8, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClientCallbacks: "onConnParamsUpdateRequest: default"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."
D NimBLEClient: "Service Discovered >> status: 13 handle: -1"
E NimBLEClient: "characteristicDiscCB() rc=13 "
D NimBLEClient: "<< << Service Discovered"
E NimBLEClient: "Could not retrieve services"
D NimBLEClient: "<< getService: not found"
Connected to Spark Control
D NimBLEClient: "Got Client event "
I NimBLEClient: "disconnect; reason=534, "

Is this the complete log, nothing edited after Found Spark Control - trying to connect? I'm not familiar with the M5 calls so I don't know what M5.update() does in the loop, but the log suggests the device is looping on the connection parameter updates and I have no idea why that would occur. You might want to try rejecting connection parameter update in the callback.
It also appears that the device is forcefully disconnecting at the end of the log, very strange. I don't have many suggestions for you at this time but I'll think about it and update if I come up with anything.

Hi - the only edits are in <  > braces, where I removed a lot of the 'advertiser' lines plus to note the two pauses.
I added in the callback and made it return false:
    void onConnect(NimBLEClient* pClient) {
        Serial.println("Connected");
        /** After connection we should change the parameters if we don't need fast response times.
         *  These settings are 150ms interval, 0 latency, 450ms timout.
         *  Timeout should be a multiple of the interval, minimum is 100ms.
         *  I find a multiple of 3-5 * the interval works best for quick response/reconnect.
         *  Min interval: 120 * 1.25ms = 150, Max interval: 120 * 1.25ms = 150, 0 latency, 60 * 10ms = 600ms timeout
         */
        pClient->updateConnParams(120,120,0,60);
    };

    void onDisconnect(NimBLEClient* pClient) {
        Serial.print(pClient->getPeerAddress().toString().c_str());
        Serial.println(" Disconnected - Starting scan");
        //BLEScan *pScan = BLEDevice::getScan();
    };

    /** Called when the peripheral requests a change to the connection parameters.
     *  Return true to accept and apply them or false to reject and keep
     *  the currently used parameters. Default will return true.
     */
    bool onConnParamsUpdateRequest(NimBLEClient* pClient, const ble_gap_upd_params* params) {
        if(params->itvl_min < 24) { /** 1.25ms units */
            return false;
        } else if(params->itvl_max > 40) { /** 1.25ms units */
            return false;
        } else if(params->latency > 2) { /** Number of intervals allowed to skip */
            return false;
        } else if(params->supervision_timeout > 100) { /** 10ms units */
            return false;
        }

//        return true;
        return false;
    };
};

But the log remains the same - it pauses in the same two places and fails at the end.
I'll run it on the raw ESP32 and produce that log too

Strange, I wonder what would happen if you called pClient->discoverAttributes() before the call the get the service?
Other than that it seems the device isn't getting the response it wants from the connection parameter update and requests it multiple times. I'm not sure why this would happen.

The latest release should fix this error. Please try it and let me know.

The same, I'm afraid (using 1.3.7). Thank you for trying!
I have added in pClient->discoverAttributes() like this:
      Serial.println(">>> CONNECTED");
      pClient->discoverAttributes();
      Serial.println(">>> ATTRIBUTES DISCOVERED");
      pService = pClient->getService(BBserviceUuid);

And get the same outcome - more info on the log though.
>>> CONNECTED
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
D NimBLEClient: ">> retrieveServices"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Service Discovered >> status: 13 handle: -1"
E NimBLEClient: "characteristicDiscCB() rc=13 "
D NimBLEClient: "<< << Service Discovered"
E NimBLEClient: "Could not retrieve services"
E NimBLEClient: "Error: Failed to get services"
>>> ATTRIBUTES DISCOVERED
D NimBLEClient: ">> getService: uuid: 7bdb8dc0-6c95-11e3-981f-0800200c9a66"
D NimBLEClient: ">> retrieveServices"
D NimBLEClient: "Service Discovered >> status: 7 handle: -1"
E NimBLEClient: "characteristicDiscCB() rc=7 "
D NimBLEClient: "<< << Service Discovered"
E NimBLEClient: "Could not retrieve services"
D NimBLEClient: "Got Client event "
D NimBLEClient: "<< getService: not found"
I NimBLEClient: "disconnect; reason=534, "

Interesting, could you try removing the code to get the services and just loop while connected and see what the logs show? Also try this while accepting the peer connection parameters.

Hi
In summary - not getting services allows the connection to stay and it loops on client event / requesting peer parameters, having getting attributes ends in a disconnect  after a get client event.
Does that help?
With no getting services but getting attributes and rejecting peer parameters I get:
D NimBLEScan: "discovery complete; reason=0"
Found Spark Control - trying to connect....D NimBLEClient: ">> connect(db:ab:7f:e0:2f:5c)"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connected event"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
I NimBLEClient: "Connection established"
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
Connected
D NimBLEClient: "<< connect()"
connected

>>> CONNECTED
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
D NimBLEClient: ">> retrieveServices"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Service Discovered >> status: 13 handle: -1"
E NimBLEClient: "characteristicDiscCB() rc=13 "
D NimBLEClient: "<< << Service Discovered"
E NimBLEClient: "Could not retrieve services"
E NimBLEClient: "Error: Failed to get services"
>>> ATTRIBUTES DISCOVERED
Done setup
D NimBLEClient: "Got Client event "
I NimBLEClient: "disconnect; reason=534, "
db:ab:7f:e0:2f:5cDisconnected

A long pause before ATTRIBUTES DISCOVERED.
With no getting services but getting attributes and accepting peer parameters I get:
D NimBLEScan: "discovery complete; reason=0"
Found Spark Control - trying to connect....D NimBLEClient: ">> connect(db:ab:7f:e0:2f:5c)"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connected event"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
I NimBLEClient: "Connection established"
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
Connected
D NimBLEClient: "<< connect()"
connected
Scanning again...
>>> CONNECTED
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
D NimBLEClient: ">> retrieveServices"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 8, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."
D NimBLEClient: "Service Discovered >> status: 13 handle: -1"
E NimBLEClient: "characteristicDiscCB() rc=13 "
D NimBLEClient: "<< << Service Discovered"
E NimBLEClient: "Could not retrieve services"
E NimBLEClient: "Error: Failed to get services"
>>> ATTRIBUTES DISCOVERED
Done setup
D NimBLEClient: "Got Client event "
I NimBLEClient: "disconnect; reason=534, "
db:ab:7f:e0:2f:5cDisconnected

And with no getting services or attributes and rejecting  peer parameters I get:
D NimBLEScan: "discovery complete; reason=0"
Found Spark Control - trying to connect....D NimBLEClient: ">> connect(db:ab:7f:e0:2f:5c)"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connected event"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
I NimBLEClient: "Connection established"
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
Connected
D NimBLEClient: "<< connect()"
connected
Scanning again...
>>> CONNECTED
Done setup
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 8, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 8, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 8, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Rejected peer params"

And with no getting services or attributes and accepting peer parameters I get:
D NimBLEScan: "discovery complete; reason=0"
Found Spark Control - trying to connect....D NimBLEClient: ">> connect(db:ab:7f:e0:2f:5c)"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connected event"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
I NimBLEClient: "Connection established"
D NimBLEClient: ">> deleteServices"
D NimBLEClient: "<< deleteServices"
Connected
D NimBLEClient: "<< connect()"
connected
Scanning again...
>>> CONNECTED
Done setup
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "mtu update event; conn_handle=0 mtu=247"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."
D NimBLEClient: "Got Client event "
D NimBLEClient: "Peer requesting to update connection parameters"
D NimBLEClient: "MinInterval: 12, MaxInterval: 12, Latency: 2, Timeout: 200"
D NimBLEClient: "Accepted peer params"
D NimBLEClient: "Got Client event "
I NimBLEClient: "Connection parameters updated."

Perfect, thanks! That's the data I was hoping to see. Looks like something isn't communicating the peer parameter response, not sure why that would happen but I'll look into it.

Was there ever any resolution on this? I get a core dump when calling c->getService() though calling c->getServices(true) works fine. Both after a successful connect(). A bit surprised to be running into something that seems so basic. This is on an esp32.

I have not been able to reproduce this, I believe it requires certain conditions that I haven't had time to investigate.

I have a similar problem with Alpicool K25 Fridge. Standard Arduino BLE works fine while NimBLE client->getService(addr) fails.
I'm using ESP32-WROOM-32D with NimBLE 1.4.1.

It seems that if I force client->getServices(true); before client->getService(service); it works..

Closing this as resolved since there is a valid workaround for this device.


\mathit should switch to document font

While I find that somewhat counterintuitive, \mathit and similar commands switch to to the document font in LaTeX. Should they do the same for unicode-math?

This problem has basically been resolved by the recent commits; I wouldn't try testing until an official v0.8 release is out though.


language

Impossible to translate the plugin.
there must be something missing.

Hi @madvik - translations are currently not supported. In version 6, there were some translatable strings, but not for most of the UI generated by JavaScript.
Whilst possible to implement and may come in the future, there's still a lot lacking in core functionality and core documentation in English.
These days, it may be argued that those requiring translation have many browser extensions possible to translate the UI and documentation.
I try to keep language in the UI and docs simple and free of idioms to aid non-native English users.
This was a decision by me on an area of compromise, not to belittle the amazing work many do to translate WordPress plugins and documentation.


Eviction of workflow due to too advanced state fails query

User hits the check located here during a direct query, which fails the query.
JavaSDK probably should handle the query with a full replay when this happens instead of failing a workflow task.
Additional context:

We should try to reproduce this situation when it's possible. This check was added as a guard that should never happen if Server never loses progress after responding OK to completion of a workflow task. One theory is that query may be issued and sent DURING workflow task processing by the worker, in that case, it will arrive with outdated eventIds.
If users actually hit this line, we should cover this behavior with unit tests.

Another manifestation of this problem:
Due to the way how we currently define "isReplaying" state inside state machines, if a workflow task (even not a real one, but a direct query one) carries an outdated previousStartedWorkflowTaskId that doesn't match an actual state of the server history, during replay we will go through "EXECUTE" route instead of "REPLAY" path of state machines, while we are actually replaying and immediately applying events from the server history. It leads to internal state machine exceptions.

Another manifestation of this problem:
Due to the way how we currently define "isReplaying" state inside state machines, if a workflow task (even not a real one, but a direct query one) carries an outdated previousStartedWorkflowTaskId that doesn't match an actual state of the server history, during replay we will go through "EXECUTE" route instead of "REPLAY" path of state machines, while we are actually replaying and immediately applying events from the server history. It leads to internal state machine exceptions.


Organization's public map endpoint not rendering correctly

Fixes #5757
NOTE: When this goes live, explicitly add a smoke test for this scenario (sharing a private visualization with a private table to another user and that user should be able to see it)

@juanignaciosl CR please (yes, it was THIS)

retest this please

This looks really weird, but if you've checked it, :clap: and :+1:

Yup, tested at staging directly and works, I'll check again properly deploying the branch


Request for Documentation: Test; Please Ignore

Mattermost user joram from https://community-release.mattermost.com has requested the following be documented:
This is a test message for documenting

See the original post here.
This issue was generated from Mattermost using the Doc Up plugin.

Closing as this was a test


insey

IMPORTANT - BEFORE CREATING YOUR ISSUE PLEASE READ THE FOLLOWING:

Please state the version of this library you are using when you create the issue.
Are you using the latest version of JTAppleCalendar? Latest version is currently 7.0.0
Is your question already answered in the tutorials and guides —> https://patchthecode.github.io/

Like this project? Consider supporting by leaving a star rating. :)
Thanks,
Jay

I closed it because no question was asked.
I assume this was created by accident? :)

Yes, it was an accident :)
You have done great work here btw!

Thanks :)