Wrong contact select with ICE.

Hello!
I test sip.js demo phone with my Freeswitch server.
When I call to sip.js phone, Freeswitch send BYE, because can't send media to 192.0.2.xxx IP address.
Log here:
https://gist.github.com/nnovikov/3a878ad2eed40e204f6a

The log does not indicate that FS cannot send media to 192 address. You need the FS logs to see why it is sending BYE. Either way this is a FreeSWITCH issue and not an issue with SIP.js. Please take a look at our FreeSWITCH Guide and if you have any further questions about it, follow up with FreeSWITCH or on our mailing list. Thanks.

Freeswitch can't send media because host dosn't have route to <IP_ADDRESS>/24 subnet. In log you can look at 'Reason: Q.850;cause=27;text="DESTINATION_OUT_OF_ORDER"' string in BYE message

Freeswitch will determine that it cannot route to that candidate and move on to another candidate in the ICE process. Please follow up on our mailing list with a gist of Freeswitch logs for further help.

It`d be interesting to understand the point generating an invalid/reserved address such as the one above and send it through in the SDP.
To me it only seems to be confusing and causing debugging headaches.
It all comes from SIP.Utils.getRandomTestNetIP(), so Its SIP.js and its doing it on purpose. It`s not FreeSWITCH.
Would it not make more sense just refusing to send an INVITE if there are issues determining the current IP?
RFC5735 and RFC6890 seem to state clearly that 192.0.2.x is reserved for example code and documentation, so it shouldn`t be used at all by SIP.js, right?

The code actually has a good explanation of why we're doing this.  From Hacks.js:
hasIncompatibleCLineWithSomeSIPEndpoints: function(sdp) {
  /*
   * Firefox appears to be following https://tools.ietf.org/html/rfc5245#section-<IP_ADDRESS>
   * and using a c line IP address of <IP_ADDRESS>. This is completely valid, however it is
   * causing some endpoints (such as FreeSWITCH) to interpret the SDP as being on hold
   * https://freeswitch.org/jira/browse/FS-6955. To get around this issue we pull the
   * replace the c line with <IP_ADDRESS> which SIP clients do not interpret as old.
   * This makes the other endpoint believe that the call is not on hold and audio flows
   * because ICE determines the media pathway (not the cline).
   */
  return sdp.replace(/(0\.0\.0\.0)/gmi, SIP.Utils.getRandomTestNetIP());
}

This was added at some point a while back.  Firefox has long since fixed the issue, and so the hack can be removed.
It's interesting that it is causing problems.  Keeping up with SDP standards is relatively difficult, and so I didn't actually know the details of ice-mismatch.  We certainly had fewer problems with the test IP address than with <IP_ADDRESS>.  I suppose that's because running into an ice-mismatch in the SDP answer results in an undefined scenario per RFC 5245.
I also suspect we would have run into more issues if JavaScript WebRTC endpoints (i.e., all browsers) weren't forced to ignore the c= line altogether.  From JSEP draft 12, Section 5.6.1:

The "c=" line MUST be checked for syntax but its value is not
used.  This supersedes the guidance in [RFC5245], Section 6.1, to
use "ice-mismatch" to indicate mismatches between "c=" and the
candidate lines; because JSEP always uses ICE, "ice-mismatch" is
not useful in this context.

Anyways, we should remove the hack and then I think everything will be hunky-dory.

I removed this and tested, Firefox only inserts <IP_ADDRESS> in it's o-line, which is insignficant, so the hack was safely removed.


Containerfile.nocache won't build w/ podman system reset command

STEP 11/11: RUN podman system reset --force 2>/dev/null
Error: building at STEP "RUN podman system reset --force 2>/dev/null": while running runtime: exit status 125
Looking at the containerfile I'm not sure we need this line. It fails for me regardless of ARCH=aarch64 or x86_64. It seems to work when I drop it. I'm testing with make FROM=registry.redhat.io/rhel9-beta/rhel-bootc:9.4 CONTAINERFILE=Containerfile.nocache bootc with the summarizer app

already fixed.


MiniEngine crash on the Nvidia Optimus platform

Hi
Function failed when D3D12CreateDevice(...) method take NULL as it first parameter,after  D3D12CreateDevice(...) method finished i found that output pointer (ID3D12Device device) still NULL,
It seems like that device initialization works incorrectly on the multi gpu platforms.
Explicit enumerate available gpu and take them as first parameter sequentially to initialize device with D3D12CreateDevice(...) works correctly on my laptop.
ps: It can enumerate three device(intel hd 4000,nv gt645m,and microsoft base renderer) on my laptop,and every device can accomplish it works.
Graphics card version: gt645m
Nvidia driver version:353.62
sdk version: 10.0.10240.0 with IDE :vs 2015
Is Driver problems? Or i missed some command line / options that can change device?
In GraphicsCore.cpp:

The problem is that DX12 will pick the primary display adapter (the Intel HD 4000) when you pass in nullptr to D3D12CreateDevice, but that adapter doesn't support DX12.
So you either need to do EnumAdapters and test the adapters for DX12 support (as you have done here), or go to the NVidia control panel and specify that you always want MiniEngine to run with the NVidia GPU - which will "hide" the Intel adapter.
I'll need to talk to James and have him update MiniEngine to use EnumAdapters.  We did that for the other samples, but this one hasn't been updated yet.

Thanks

Thanks your explanation :)
I have been reviewed  relating issue about multi-gpu platform.


Typo and TODO changes

No code changed here. Just fixed a typo and made a TODO a bit nicer.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Replaced by #1286


feat(parameters): Allow Updating and Setting Parameters and Secrets

Issue number: 2826
Summary
Roughing this in still, not ready.
Adding the ability to set/put parameters
Adding the ability to put/update secrets
Changes
Adding the ability to put_parameter in SSM Parameter Store.  Boto3 uses the terminology of put but at the moment using set in PowerTools.  (this can be changed).
User experience

Please share what the user experience looks like before and after this change

Checklist
If your change doesn't seem to apply, please leave them unchecked.

[ ] Meet tenets criteria
[ ] I have performed a self-review of this change
[ ] Changes have been tested
[ ] Changes are documented
[ ] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

@heitorlessa @aradyaron @leandrodamascena
Wondering if I can get a temperature check on this PR so far?

@sthulb would you be able to do a quick pass on UX?
I can look into it tomorrow afternoon (Boston time this week).
Hey @stephenbawks Leandro, Ruben and I are on events this week (delays) so we appreciate the nudge

One thing I just ran into and wondering what others think, but if the Secrets Manager Secret does NOT exist, the current code is throwing this error:
aws_lambda_powertools.utilities.parameters.exceptions.SetParameterError: An error occurred (ResourceNotFoundException) when calling the PutSecretValue operation: Secrets Manager can't find the specified secret.

So I am wondering if the secret does not exist should be create it? Or should we default to the secret existing before someone can write a value to it?
The current behavior when using set_parameter is that it will create the parameter if it does not exist.  Wondering if should make the behavior the same for set_secret to match that or not?

One thing I just ran into and wondering what others think, but if the Secrets Manager Secret does NOT exist, the current code is throwing this error:
aws_lambda_powertools.utilities.parameters.exceptions.SetParameterError: An error occurred (ResourceNotFoundException) when calling the PutSecretValue operation: Secrets Manager can't find the specified secret.

So I am wondering if the secret does not exist should be create it? Or should we default to the secret existing before someone can write a value to it?
The current behavior when using set_parameter is that it will create the parameter if it does not exist. Wondering if should make the behavior the same for set_secret to match that or not?
@leandrodamascena @aradyaron

IMHO, I think that catching this error and trying to create the secret is the wanted behavior.
That said, secrets have additional configurations upon creation, meaning that implementing your creation will NOT include all the options.
It feels like a boolean for 'create if not exist' shuold be added.
@leandrodamascena, @stephenbawks  What do you think about adding it as a config to the Secrets provider, like I suggested here https://github.com/aws-powertools/powertools-lambda-python/issues/3040#issuecomment-1729989108

Looks really nice, suggested some error handling additions

One follow up I just noticed is that I did add the create_not_exists bool and wondering if that should need to be specified before it will do the actual create or should we just default to create first unless specified?

Looks really nice, suggested some error handling additions

One follow up I just noticed is that I did add the create_not_exists bool and wondering if that should need to be specified before it will do the actual create or should we just default to create first unless specified?
@aradyaron @leandrodamascena

Yeah I agree, I think it should be called ‘create’ and default to True

Hello everyone! Giving a heads-up here, thanks for working on this. I couldn't review it due to some exceptional issues. I will work this weekend to review it and make some comments/changes.
Thank you so much for continuing to work on this PR and bringing this utility, I'm sure we will merge this very soon.

Hi @stephenbawks! After some time, I'll work on this PR again and will merge it soon!
@roger-zhangg worked on making some changes on his branch https://github.com/roger-zhangg/aws-lambda-powertools-python/tree/setparams. Tomorrow I will create a patch for this branch and apply it here to discuss the changes with you @stephenbawks!
Thanks for your patience.

Rebasing to confirm latest CI checks before review

hey @stephenbawks when you get a chance, could you look into why tests are failing - feature flags use Parameters Providers under the hood hence why they're failing too :)
I can look into it next week if you're unable (day-to-day work etc.)

Updating the fork to force CI to kick in to understand why tests are failing ;)

Did a quick look through from tests back to implementation. I'm gonna through pending conversations to re-learn context I missed here, before I make progress.
I'll edit tasks below as I learn new or break existing ones. This should give a better sense of progress for anyone watching.
Tasks

I'll edit as I learn new or break existing tasks

[ ] BaseProvider

[ ] Implement set
[ ] Correct _set as it is missing params, param extension & override

[ ] Failing tests need to be reconstructed (intent, naming)
[ ] set_parameter

[ ] Rename path argument to name to allow future growth (imagine setting multiple params at once)
[ ] Doc string update (it's partly reusing get_parameter)
[ ] Revisit whether boto put_parameter accepts sane defaults "" over None to the same effect (reduce CPU cycles)
[ ]
[x] Init SSMProvider if not in cache
[x] Delegate to provider's _set

[ ] Tests

[ ] Revisit test_ssm_provider_set
[ ] Revisit test_ssm_provider_set_default_config

[ ] Re-learn requirements/UX

[x] Param/Secret overwrite
[ ] Re-read pending conversations

[ ] Documentation

Lowest priority

[ ] Consider whether Enum provides a more natural ergonomics (those w/o mypy, using Console)

Unrelated

Maybe introduce the concept of provider argument to higher level fn to ease testing

What did we decide on requirements?

[x] Overwrite
[ ] Cache immediately?
[x] Higher level function
[ ] Anything else?

Codecov Report
Attention: Patch coverage is 62.74510% with 19 lines in your changes are missing coverage. Please review.

Project coverage is 96.10%. Comparing base (e14e768) to head (44710ba).
Report is 206 commits behind head on develop.

Files
Patch %
Lines

..._lambda_powertools/utilities/parameters/secrets.py
30.00%
14 Missing :warning:

aws_lambda_powertools/utilities/parameters/ssm.py
68.75%
4 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2858      +/-   ##
===========================================
- Coverage    96.38%   96.10%   -0.28%
===========================================
  Files          214      215       +1
  Lines        10030    10320     +290
  Branches      1846      882     -964
===========================================
+ Hits          9667     9918     +251
- Misses         259      291      +32
- Partials       104      111       +7

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

Hey everyone! I've made some changes based on @heitorlessa's list/feedback, and now we're nearly done—just a few final touches left to complete the secrets stuff.

[ ] set_secret

[x] Learn about current implementation
[x] Think whether we can have a better name for client_request_token (it'll be important if we support any provider)
[x] Think about creating a better return contract

Example: what would people do with the returned Secret ID if it's the same as the secret name?

[x] Raise a specific Secret exception, not Parameter
[ ] Refactor the method to update or create
[ ] Review the logic

This PR is now ready for the final reviews before merging! Huge thanks to @stephenbawks and @heitorlessa for all their hard work and contributions!
Following some additional information about itens I've addressed:

Think whether we can have a better name for client_request_token (it'll be important if we support any provider)

We are working exclusively with AWS on this provider, if we have to extend to another provider from BaseProvider, we can think of another name for this provider, but I think client_request_token makes a lot of sense to be 100% following the SDK.

Think about creating a better return contract

Yes, it makes sense to return the dict that comes from the SDK so that the customer can choose what information he wants to use. For this, I created SetSecretResponse to help with the IDE's typing hit
Please let me know if you have any questions.

Starting reviewing now


Bug IndexOutOfBoundsException

http://crashes.to/s/fe219d540c5

Codecov Report

Merging #79 into master will decrease coverage by 0.74%.
The diff coverage is 23.07%.

@@             Coverage Diff              @@
##             master      #79      +/-   ##
============================================
- Coverage     88.92%   88.17%   -0.75%
  Complexity      403      403
============================================
  Files            24       24
  Lines          1147     1159      +12
  Branches        201      201
============================================
+ Hits           1020     1022       +2
- Misses           59       69      +10
  Partials         68       68

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com/wayfair/brickkit/BrickDataManager.java
83.87% <23.07%> (-1.94%)
124 <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 45ec20e...3e5ae3c. Read the comment docs.


[tokenizer] Add encodeDual support for huggingface tokenizer

support question answering encoding
remove redunant tokenToString() api

Change-Id: I514b85147e59adc552c616d278c91c5a9037cf56
Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #1826 (b4da829) into master (bb5073f) will decrease coverage by 2.48%.
The diff coverage is 64.94%.

@@             Coverage Diff              @@
##             master    #1826      +/-   ##
============================================
- Coverage     72.08%   69.60%   -2.49%
- Complexity     5126     5499     +373
============================================
  Files           473      524      +51
  Lines         21970    24346    +2376
  Branches       2351     2652     +301
============================================
+ Hits          15838    16945    +1107
- Misses         4925     6090    +1165
- Partials       1207     1311     +104

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...rc/main/java/ai/djl/modality/cv/MultiBoxPrior.java
76.00% <ø> (ø)

...rc/main/java/ai/djl/modality/cv/output/Joints.java
71.42% <ø> (ø)

.../main/java/ai/djl/modality/cv/output/Landmark.java
100.00% <ø> (ø)

...main/java/ai/djl/modality/cv/output/Rectangle.java
72.41% <0.00%> (ø)

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <0.00%> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../cv/translator/SemanticSegmentationTranslator.java
0.00% <0.00%> (ø)

.../cv/translator/StyleTransferTranslatorFactory.java
40.00% <ø> (ø)

... and 418 more

Continue to review full report at Codecov.

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


Switch from manual buffer reading and highlighting to netrw preview

Describe the problem you're having
I've noticed that sometimes, triptych can lag significantly when previewing a large file or nested directory, to the point of requiring me to restart my terminal. It happens somewhat sporadically, but often enough that I remember what's causing it. I've looked at netrw, because it also has a preview feature which applies syntax highlighting, and I noticed that it doesn't cause any lag when I preview a file.
Proposed solution(s)
I was thinking that the backend for triptych's previewer could become netrw, rather than manually reading and applying syntax highlighting, with the ui being a float with netrw's contents. This would also be more accurate, as netrw's previewer also applies syntax highlighting by the LSP, and not just treesitter. However, I recognize that this would be a rather large refactor, and I'm not familiar with netrw and any possible API to make use of it.
Additional context
To see previews in netrw, you simply type "p" on the file you want to preview. Note that it will get mad at you if you try to preview a directory, so that functionality could probably remain handled by triptych.

As far as I can tell, the preview feature in netrw just opens the file in a new split. It's literally the same as doing :vsplit ./path/to/file.  So there isn't anything to leverage from netrw in that respect.
The reason Triptych has a more convoluted way of showing the preview is to avoid (for performance reasons) triggering any autocommands which normally occur when opening a file in vim. So instead Triptych does this:

Clear the preview buffer
Read the raw lines from the file in question into the preview buffer (here)
Use plenary to detect the filetype (here)
Use the filetype to apply treesitter syntax highlighting (here)

There is definitely room for improvement though. Some things that come to mind:

Only reading up to a certain number of lines for the preview, instead of the whole file
Disabling syntax highlighting for very large files
Disabling directory preview when the directory contains a huge number of files (similar to how the file preview is disabled when the file size is very large)
Adding a timeout to all preview operations (file or directory). That way it will give up after X seconds, instead of hanging and forcing you to restart the terminal.

A lot of the above could be configurable as well.
Can you give me a bit more information about what kinds of files and directories are causing you problems? For files: the size in kb, and number of lines. For directories: the size and number of files contained. And anything else you think might be relevant

Here's one of my projects where this occurs. If I open the project by typing nvim in cwd, then open triptych, it opens up the preview of the assets folder with only a singular large pdf inside it, and there will immediately be lag. This shouldn't occur, as the file contents are not being previewed, just the names of the contents of the directory. Navigating down through the lib directory will also cause lag, even though the actual amount of files seems not that high. Navigating into the lib directory will also cause lag to occur again, and previewing the nested macosx64 directory can also cause the lag to occur again.
One wrinkle I've seen with this, after some further experimenting, is that either neovim, plenary, or my terminal emulator seems to perform some sort of caching of the files after it's read them. Thus, in subsequent openings of the same directory, even between terminal instances, lag seems to be greatly reduced. However, this caching should be removed after a set amount of time(a week?), and the lag will begin again. Unfortunately, I didn't think to record the lag the first time, as I didn't notice this caching immediately.
Here are some specific specs on the repo:
pwd:
1.4K Feb  6 12:11 .gitignore
525B Feb 15 13:19 Makefile
 79B Feb  5 10:45 README.md
128B Feb 16 10:26 assets
480B Feb 16 10:26 bin
864B Feb 16 10:26 lib
320B Mar  6 08:11 src

assets:
651K Feb  5 10:45 OfficialOMRSampleDoc.pdf
160B Feb 27 12:31 output

lib:
858K Feb  5 10:45 bridj-0.6.2.jar
998K Feb 15 12:31 core.jar
338K Feb  5 10:45 gluegen-rt.jar
508K Feb  5 10:45 gst1-java-core-0.9.1.jar
782K Feb  5 10:45 gstreamer-java.jar
104K Feb 13 11:08 javapoet-1.13.0.jar
1.0M Feb  5 10:45 jna.jar
3.2M Feb  5 10:45 jogl-all.jar
 77K Feb  8 13:06 json-20240205.jar
1.6M Feb 13 13:37 kotlin-stdlib-1.9.22.jar
194K Feb 14 19:37 kotlin-stdlib-common-1.7.10.jar
 19K Feb 14 18:46 kotlin-stdlib-jdk8-1.7.10.jar
3.1K Feb 16 10:26 macosx64
 10M Feb  5 10:45 pdfbox-app-1.8.1.jar
 50K Feb 13 11:08 pkl-codegen-java-0.25.2.jar
6.6K Feb 13 11:08 pkl-commons-0.25.2.jar
385K Feb 14 10:13 pkl-config-java-all-0.25.2-javadoc.jar
 10M Feb 14 10:11 pkl-config-java-all-0.25.2.jar
4.4M Feb 14 10:19 pkl-core-0.25.2-javadoc.jar
2.9M Feb 13 11:09 pkl-core-0.25.2.jar
 25K Feb  5 10:45 slf4j-api-1.7.2.jar
4.0K Feb  5 10:45 slf4j-nop-1.7.2.jar
 26K Feb  5 10:45 video.jar
399K Feb  5 10:45 webcam-capture-0.3.10.jar

why the fuck is .DS_Store 10kb

Just to keep you updated - I am working on a fairly large change that will make directory and file reading completely async. Of course this won't speed up how quickly/slowly files and directories are read, but it should prevent any slowness from locking up the UI , and thereby improve the performance "feel"

@theKnightsOfRohan I think this is ready now. There's branch async if you want to try it out.

Thanks! I've been using it for a couple days, and it seems to work great for files. However, I have been noticing some lag when moving to hover over a directory which contains nested directories, and there is still some startup lag when opening triptych for the first time in a neovim session. It's not too noticeable though, and is definitely a lot faster than before. Thanks for your work!


[BUG] Html Editor Not working on Android

Not able to type anything when click on editor and when I am applying any style on getting initialize issue, please provide solution

For me it helped to use these dependency overrides:
dependency_overrides:
  flutter_inappwebview_android:
    git:
      url: https://github.com/holzgeist/flutter_inappwebview
      path: flutter_inappwebview_android
      ref: d89b1d32638b49dfc58c4b7c84153be0c269d057
  flutter_inappwebview_ios:
    git:
      url: https://github.com/andychucs/flutter_inappwebview
      path: flutter_inappwebview_ios
      ref: master
  webview_flutter_android: 3.16.1

The iOS one is to make it build with XCode 16, the other 2 are to fix Android build

@ygoncharenkofwd Thank you it works for me


Usage with non-root user

I want to use this with non-root user. But it didn't work.
I have to be root to use this. How can I work with this package with non-root user?
I'm running composer install with sudo like that sudo -u myuser composer install

@mavci You can change $COMPOSER_HOME.
https://getcomposer.org/doc/03-cli.md#composer-home
$ echo 'export COMPOSER_HOME=/path/to/your/writable/directory' > ~/.bashrc
$ composer global require 'hirak/prestissimo'

Thanks it's worked.


Last note of tuplet dropped

From<EMAIL_ADDRESS>on August 08, 2014 18:34:51
The last note of m. 101 (beginning on line 37137 in the attached MusicXML file) is not output, leading to a warning message that the tuplet beginning 2 notes earlier (@xml:id="d1e45104" / m. 101, staff 10) could not be resolved.
Assigning this to Johannes since he wrote the code for handling tuplets. :-)
Attachment: mov_02_1_timewise.xml
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=198

This issue was moved to music-encoding/encoding-tools#10


buildkit: fix retry logic

Issue #, if available:
Description of changes:
I incorrectly changed this script to not retry when running locally, but since prow uses buildctl directly I disabled retry in prow and then saw a failure in a postsubmit.  This fixes the logic to retry if in builder base at all.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jaxesn
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jaxesn]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[#12] Autodoc, autorelease

:rotating_light: Autodoc upload probably needs some set-up on the repo admin side, since using login credentials with $GITHUB_TOKEN apparently doesn't work.
I also didn't actually test autorelease, because I would have no way of amending the damage if anything goes horribly wrong. There's a chance that it also requires some admin-side set-up.
Description
Problem: We have the ability to produce autodocs as well as an utility
binary to originate the contract. We should set up CI to build and
(pre-)release all this.
Solution: Do that.
Related issue(s)

Resolves #12
:white_check_mark: Checklist for your Pull Request

Related changes (conditional)

Tests

[ ] If I added new functionality, I added tests covering it.
[ ] If I fixed a bug, I added a regression test to prevent the bug from
silently reappearing again.

Documentation

[ ] I checked whether I should update the docs and did so if necessary:

README
Haddock

Stylistic guide (mandatory)

[x] My commits comply with the policy used in Serokell.
[x] My code complies with the style guide.

Autodoc upload probably needs some set-up on the repo admin side

indeed, working on it

I also didn't actually test autorelease, because I would have no way of amending the damage if anything goes horribly wrong. There's a chance that it also requires some admin-side set-up.

True, AFAIK serokell-bot needs access to this repo (also for the autodoc stuff).
As for amending test runs, I should be able to fix any one that has gone wrong if necessary (and don't see anything odd in this PR), so don't worry about that :slightly_smiling_face:

The serokell-bot has been invited to the repo and AFAIK that should be all that's needed here.
Can you check if the autodoc and autorelease work as intended now?

Unfortunately, no. We need to authenticate with GitHub as serokell-bot, which means we need to get the password into the buildkite's pipeline somehow. The script assumes it's in the GITHUB_TOKEN environment variable. A quick test confirmed it's empty. Setting that in pipeline.yml is very bad for obvious reasons (even if I knew the token), and a cursory look at buildkite's docs suggests something's being done on the agents via environment hooks. I have to admit, the details are very fuzzy.

Note also the autodoc upload script uses serokell:$GITHUB_TOKEN as login:password. I've borrowed this script from tzbtc almost wholesale.

Also of note, actually, autodoc committer on tzbtc isn't serokell-bot.

Nice to see that the marter run went without hiccups and that the autorelease is there :+1:


Add Github Username

I added my Github username.

Looks better than before, but you are missing a -
;)

I´ll change it.


Fix websocket timeout

API promise results in websocket timeouts when substrate node is stopped while client-example (/procaptcha) is still running and connected

I believe this was due to brave shields


JFrog CLI dotnet test is adding an invalid argument

Describe the bug
When running the jf dotnet test command, it is adding a --configfile argument that is not valid and causing a failure. Using the dotnet sdk 6.0 version.
Current behavior
Output:
jf dotnet test --build-name santhosh --build-number 1.0.0 test.csproj
00:29:17 [🔵Info] Running dotnet...
MSBUILD : error MSB1001: Unknown switch.
Full command line: '/usr/share/dotnet/sdk/6.0.404/MSBuild.dll -maxcpucount -verbosity:m -restore -target:VSTest -nodereuse:false -nologo test.csproj --configfile /tmp/jfrog.cli.temp.-1673051357-1391855775/jfrog.cli.nuget.1635713996 -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,/usr/share/dotnet/sdk/6.0.404/dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,/usr/share/dotnet/sdk/6.0.404/dotnet.dll'
Switches appended by response files:
Switch: --configfile
For switch syntax, type "MSBuild -help"
00:29:18 [🚨Error] exit status 1
Reproduction steps

Install dotnet 6.0 version using the below commands on debian 11:
apt install wget
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0

Install latest version of JFrog CLI i.e 2.32.0 using below command:
curl -fL https://install-cli.jfrog.io | sh

Add the configuration using jf config add:
Choose a server ID:
JFrog Platform URL: https://.jfrog.io/
JFrog username: test
JFrog password or API key:
Is the Artifactory reverse proxy configured to accept a client certificate? (y/n) [n]? n

Configure  jfrog CLI with dotnet using "jf  dotnet-config" command:
Resolve dependencies from Artifactory? (y/n) [y]? y
Set Artifactory server ID:
Set repository for dependencies resolution (press Tab for options): test-nuget
Use NuGet V2 Protocol? (y/n) [n]? n
23:55:32 [🔵Info] dotnet build config successfully created.

Run jf dotnet --build-name build-name --build-number 1.0.0 test  test.csproj command:
01:01:05 [🔵Info] Running dotnet...
MSBUILD : error MSB1001: Unknown switch.
Full command line: '/usr/share/dotnet/sdk/6.0.404/MSBuild.dll -maxcpucount -verbosity:m -restore -target:VSTest -nodereuse:false -nologo test.csproj --configfile /tmp/jfrog.cli.temp.-1673053265-235866294/jfrog.cli.nuget.3465337966 -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,/usr/share/dotnet/sdk/6.0.404/dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,/usr/share/dotnet/sdk/6.0.404/dotnet.dll'
Switches appended by response files:
Switch: --configfile

For switch syntax, type "MSBuild -help"
01:01:06 [🚨Error] exit status 1
The test.csproj file contains
<Project Sdk="Microsoft.NET.Sdk.Web">   <PropertyGroup>     <TargetFramework>netcoreapp3.1</TargetFramework>     <IsPackable>true</IsPackable>   </PropertyGroup>   <ItemGroup>     <None Remove="log4net" />   </ItemGroup>   <ItemGroup>  <PackageReference Include="log4net" Version="2.0.8" />   </ItemGroup> </Project>
If we run jf dotnet --build-name build-name --build-number 1.0.0 restore  test.csproj it is working without any issues:
01:01:15 [🔵Info] Running dotnet...
Determining projects to restore...
Restored /home/name/project-examples-master/nuget-example/test.csproj (in 477 ms).
01:01:17 [🔵Info] dotnet finished successfully.
So the issue is seen only with jf dotnet test command.
When we don't use jfrog CLI, we are not seeing any issues:
dotnet test test.csproj
Determining projects to restore...
Restored /home/name/project-examples-master/nuget-example/test.csproj (in 4.42 sec).
Expected behavior
The jf dotnet test command should run with the passed arguments, not to rewrite it to msbuild with everything after it.
JFrog CLI version
2.32.0
Operating system type and version
debian 11
JFrog Artifactory version
No response
JFrog Xray version
No response

Any update on this?

This bug is not unique to jfrog-cli, but also affects the Jenkins Artifactory Plugin. It can be recreated in a scripted Jenkins pipeline in a similar fashion as described by @santhoshjfrog . It seems to be an issue with the JFrog build-info layer. The argument is declared here:
https://github.com/jfrog/build-info/blob/67cefb286471634b88e104efe2543ad088010471/build-info-extractor-nuget/src/main/java/org/jfrog/build/extractor/nuget/drivers/ToolchainDriverBase.java#L22
And gets injected here:
https://github.com/jfrog/build-info/blob/642ee6a81fbce07cdc1ca954ca7686ff6495bd48/build-info-extractor-nuget/src/main/java/org/jfrog/build/extractor/nuget/extractor/NugetRun.java#L190-L200
So far I have used a commandline comment as a workaround for the issue. In Jenkins, running on a Windows-agent, meaning that the CLI shell will be bat I can add a &REM at the end of the arguments I pass to the command. For example
rtBuild.run buildInfo: buildInfo, args: 'test &REM'

This comments out the injected arguments when they get passed to MSBuild. I assume adding a # would achieve a similar result with a Unix-shell. It is not in any way elegant, but it is effective as a temporary workaround.

Hi @santhoshjfrog , @edwardcookemacu , @PM-JoakimGustavsson ,
A fix for this issue was introduced in https://github.com/jfrog/jfrog-cli-core/pull/712 and is included in version 2.36.0 of JFrog CLI.
Note that now a preceding restore is expected prior to a dotnet test command. The no-restore flag will be added to the command to avoid unintentional restore from a registry that is not the server configured in JFrog CLI's configuration.
We'd appreciate your feedback for the solution, thanks!


Create deployment script for pushing contracts to Ropsten

Right now I am manually doing this with a one-off script that uses ethers and a hard-coded Infura provider with my personal API key and MetaMask account. We ought to have a slightly more robust solution so deploying is easy and anyone can do it.
Bonus:

Auto-verify source code on Etherscan after

cc @Alonski

I thought I created an issue for this


How to return list of dict

Hello,
I have an issue I want to return a list of dict but I got this error ValueError: Protocol message Struct has no "_id" field.
Here is my service
class GetUserChat(generics.GenericService):
    @grpc_action(
        request=[
            {"name": "user_id", "type": "string"},
            {"name": "device_id", "type": "string"},
        ],
        response=[{"name": "results", "type": "google.protobuf.Struct", "cardinality": "repeated"}]
    )
    async def get_user_chat(self, request, context):
        query = {
            "userId": request.user_id,
            "deviceId": request.device_id
        }
        cursor = Mongo('document').find_many('chats', query)
        response = []
        for document in cursor:
            response.append(document)
        return ai_pb2.GetUserChatget_user_chatResponse(
            results=response
        )

The expected return
[
{
	"message": "hi",
	"_id": "1234",
	"device_id": "2345",
	"_id": "64352c1b175f1af34f301154"
},
{
	"message": "hi",
	"user_id": "1234",
	"device_id": "2345",
	"convo_id": "64352c1b175f1af34f301154"
}]

Hello @adomigold
It seem it is more a grpc/protobuf issue than a django-socio-grpc one.
I link you to some ressource to help you bu I close this issue.
https://stackoverflow.com/questions/56303736/how-do-you-create-a-protobuf-struct-from-a-python-dict


docs: Fix the validation with asterisk example

Description
See #8079
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

@ping-yee I will fix the docs in #8129
Review, please.

@kenjis Ok. Looks Good and I close this.


fix: docs islands not hydrated on safari 12

Safari 12 is definitely a bit ancient, but supporting it isn't much effort.
Fixes https://github.com/denoland/fresh/issues/1834

marvinhagemeister
Safari Ios 12 is definitely a bit ancient, but supporting it isn't much effort.

Sorry, I cannot agree with that. We have around 5000 restaurants in the EU, with around 20 iPads in every restaurant. Of course, those iPads are not completely new. We use the latest Complex VueJs3-APP without any problems. Apps are installed in a Native app manner.
The Deno simple example doesn't work at all. I like the idea and technology of DENO.FRESH; it is the best I've seen in the last few years. And I want to have any possibility to offer this technology to my customers. The polyfill idea is good, and I hope it's enough for my goals.

Sounds like you have a unique userbase. Nothing wrong with that. The changes in this PR address this issue and make it possible to use Fresh in these scenarios too. I'm not sure why you're not happy with that. Is there anything more you'd like us to do?

No, it all ok, i want only to mark "Safari 12Ios is a bit ancient but still in use".


Add content for ballerina vector package

Purpose
Add content for ballerina vector package

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Feature Request] Spotify

can we get a spotify playlist feature pls

https://github.com/jagrosh/MusicBot/wiki/Playlists#-spotify
https://github.com/jagrosh/MusicBot/wiki/Things-That-Won't-Be-Added#spotify


Does Sapien provide an interface for computing Forward Kinematics?

I hope this message finds you well.
I am currently working with Sapien for robotic simulations, and I am interested in calculating the forward kinematics (FK) of a robotic arm within the environment. However, I couldn't find any direct reference in the documentation regarding an interface for performing FK calculations.
Could you kindly confirm whether Sapien provides a built-in interface or method to compute forward kinematics? If such functionality exists, would you be able to share any relevant documentation or example code to help me integrate this into my project?
Thank you very much for your time and assistance. I look forward to your response.

First, forward kinematics is always part of the simulator and articulation.set_qpos(qpos) has already computed FK and  link.pose now contains the result. For example, you can create 2 scenes and use one for computing IK.
However, if solving FK using the simulator sounds like cheating or maybe you want higher accuracy, SAPIEN bundles with Pinocchio. You can compute FK by.
model = articulation.create_pinocchio_model()
model.compute_forward_kinematics(qpos)
model.get_link_pose(link_index)

Thank you for your response! The issue has been resolved, and I will go ahead and close this issue. If anything else comes up, I’ll reach out. Thanks again for your help!


[Procedure Parameter aligning request] codeunit 5610 "Calculate Depreciation" - Calculate

Describe the request
Hi,
we realized a missmatch between different localization versions of the procedure "Calculate" of codeunit "Calculate Depreciation".
Code from W1 version:
    procedure Calculate(var DeprAmount: Decimal; var Custom1Amount: Decimal; var NumberOfDays: Integer; var Custom1NumberOfDays: Integer; FANo: Code[20]; DeprBookCode: Code[10]; UntilDate: Date; EntryAmounts: array[4] of Decimal; DateFromProjection: Date; DaysInPeriod: Integer)
Code from IT version:
    procedure Calculate(var DeprAmount: Decimal; var Custom1Amount: Decimal; var NumberOfDays: Integer; var Custom1NumberOfDays: Integer; FANo: Code[20]; DeprBookCode: Code[10]; UntilDate: Date; EntryAmounts: array[4] of Decimal; DateFromProjection: Date; DaysInPeriod: Integer; UseCustom1: Boolean; UseCustom2: Boolean; var Custom2Amount: Decimal; ForcedPercent1: Decimal; ForcedPercent2: Decimal)
Because this function is used from our solution and we want to use in the same way for all countries, we would like to ask if it's possible to align this functions within in a new one containing all parameters, obsoleting the old one in the W1 or create a function overlay to call it with different parameters in the specific localization (Italy in this case).
Thanks and regards
Additional context
We want to bring our solution in more and more markets and want to use the same code for all countries without having different localizations for only parameter missmatches.
It could be possible in other ways technically but we would say it makes more sense to have the same functionality in here for all versions.
Internal work item: AB#495833

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 18472.


bower install prefix-free

bower not-cached    https://github.com/LeaVerou/prefixfree.git#*
bower resolve       https://github.com/LeaVerou/prefixfree.git#*
bower not-cached    git://github.com/LeaVerou/prefixfree.git#*
bower resolve       git://github.com/LeaVerou/prefixfree.git#*
bower not-cached    git://github.com/theshock/atomjs.git#*
bower resolve       git://github.com/theshock/atomjs.git#*
bower checkout      bower#master
bower resolved      git://github.com/theshock/atomjs.git#958a68a761
bower ENORESTARGET  Tag/branch master does not exist
Additional error details:
No tags found in git://github.com/LeaVerou/prefixfree.git
Available branches: gh-pages

Prefix-free is added to: http://sindresorhus.com/bower-components but doesn't seem to work anymore?

+1

+1


Removed extra quotation mark from button sideframe template

Backport of #6364
Fixes #6353

Coverage remained the same at 82.794% when pulling 2a00bd52216b713900cac1644cdf97050c0bc8fb on bugfix/remove-extra-quoteation-mark-from-button-sideframe-backport-3.4.x into e3558436df6bb1b04bed00a05ab8acc5fbe7fdcd on release/3.4.x.


Removed sensors, so they can be put in separate crate

Fixes #27

Prior to merging this, the code that has been deleted should first be moved to a new repo. Is this something that we want to create in rust-embedded? Or something that would maybe make sense in someone's personal github area? I don't know that it makes much sense in rust-embedded. Are these libraries something that you want to keep maintaining @posborne?

I'm fine with maintaining them to some degree.  Since individual drivers are pretty small, I wonder if it might make sense to have a single repo with several drivers (possibly not just i2c drivers).  Each driver would still be its own crate.
I feel this might help with driver maintainability/etc. as we get some scale and infrastructure reuse.  Thoughts?

I agree that putting drivers in single repo is fine if they are small. Especially, if each of them will be separate crate. rust-embedded/rust-device-drivers sounds good to me.

I also agree for a separate crate.
What about traits management? Do we need a dedicated repo to handle them all as well (out of i2c)?

What about traits management? Do we need a dedicated repo to handle them all as well (out of i2c)?

I don't know on a final location as of yet, but we have been tossing around a few ideas for sync/async traits for doing I2C and other interfacing here: https://github.com/rust-embedded/rfcs/issues/19

Thanks!

I'm going to close this as it is a little out of date now that we have a more clear path forward for defining things on top of the embedded-hal traits.  I still think there might be a place for an umbrella project that maintains multiple sensor crates in a single repository but it probably shouldn't be this repository as it is very tightly coupled to Linux and, ideally, device drivers would have minimal dependencies and be able to work on a no-std environment to support a wide variety of host operating environments.


Wrong value for has_undefined_data from channel info

I've just tested with file example2.opd from the test files:
In [12]: r = open_topography('../data/missing/example2.opd')

In [13]: t.has_undefined_data
Out[13]: False

In [14]: t=r.topography()

In [15]: t.has_undefined_data
Out[15]: True

Shouldn't the channel info return None?

Ah sorry, I've have a typo here. It's working fine.


Event clean-up

[x] "Change" events are only emitted sporadically.  We should move these to the Crdt base class so they are emitted on every message delivery.
[x] Some events reference the new state, but this state may have changed again by the time the event is delivered, in case there is a bulk operation with multiple sub-operations.  We should either cancel the old event, or make sure values stay up-to-date.
[ ] It seems possible for bulk operations to create redundant sub-events, which may slow down the user's code (e.g. if it redraw the GUI in response to each message).  We should investigate if this is really a problem, and if so, find solutions.
[ ] Take new events as a type parameter to ResetWrapClass, instead of having to separately use makeEventAdder.

3rd task: I don't think this is a problem.  The place where this might hurt us most is bulk text insertions/deletions, but (except as noted with TODOs) those do the batching themselves.  Anyway, CPU usage is generally not a concern right now, since operations are going much faster than users can type.
4th task: this class is removed.


Split soci into 3 packages: soci, ztoc and compression

Is your feature request related to a problem? Please describe.
To separate different concepts package soci needs to be split into 3 packages:

soci
ztoc
compression

Describe the solution you'd like
Create respective folders and split soci package into those 3.
Describe alternatives you've considered
See #103 for the reference on design doc.
Additional context
N/A

Closed?

Yes. Closing it.


Minor Bug Fixes

Fixed deck bug which included the title card to the deck, which it now ignores
deleted duplicate files
updated /hourwork/readme.txt to be readme.md and also updated the file's contents

LGTM!! Thanks for updating this Kyle!:)


open /config.json: permission denied error in v1.17.0

I just updated to v1.17.0 and encountered a problem.
Portainer was no longer able to start because of insufficient access rights to "/config.json" which seems to be a new file.
I'm using a non standard configuration where portainer runs as a different user and not root, resulting in no write access to "/" inside the container.
I solved it by additionally mapping an externally created (empty) "config.json" into the container.
Is there a need for this special location being directly in the rootfs, or could it simply be put in to temp of the established data directory?
docker-compose file
version: '3'

services:
  app:
    image: portainer/portainer
    container_name: portainer
    user: "1008:1008"
    ports:
      - "9000:9000"
    volumes:
      - "./data:/data"
      - "./config.json:/config.json"
      - "/var/run/docker.sock:/var/run/docker.sock"
    restart: unless-stopped
    command:
      - "--data=/data"
      - "--host=unix:///var/run/docker.sock"

Technical details:

Portainer version: 1.17.0
Docker version (managed by Portainer):  18.04.0-ce
Platform (windows/linux): linux

Yes, this file is required to be able to use stacks with the agent setup. We'll try to relocate it to the Portainer data folder to see if it solves the problem.

@tripplet keen to give a try with portainer/portainer:pr1898 ?

@deviantony
Just tested portainer/portainer:pr1898 with the - "./config.json:/config.json" line remove from my compose file and works fine.
Thanks a lot for the quick issue handling.

Thanks for the feedback, still awaiting a bit of feedback from #1533


client.py - get_historical_klines(end_str) - Line 873 Bug

Describe the bug

client.py file
===> def get_historical_klines(self, symbol, interval, start_str, end_str=None, limit=500):
===> Line 873 = BUG
return self._historical_klines(symbol, interval, start_str, end_str=None, limit=500, spot=True)

To Reproduce
end_str=None will fetch everything up to now.
Expected behavior
Should allow other configurations on end_str date input of function.
Environment (please complete the following information):

Python version: [3.9]
Virtual Env: [virtualenv]
OS: [Mac]
python-binance version 1.0.1

This is fixed in v1.0.2


[SMALLFIX] Add size in HashSet init

What changes are proposed in this pull request?
Specify size in HashSet init to avoid resizing

Failed test is a known flake:
Error: 2.587 [ERROR] alluxio.client.fs.concurrent.ConcurrentFileInStreamIntegrationTest.FileInStreamConcurrency
Error: 2.588 [ERROR]   Run 1: ConcurrentFileInStreamIntegrationTest.FileInStreamConcurrency:69 Failed with exception(s) [java.lang.RuntimeException: java.io.IOException: Failed to connect to remote block worker: GrpcServerAddress{HostName=d0221cb70bb1, SocketAddress=d0221cb70bb1/<IP_ADDRESS>:32985}, java.lang.RuntimeException: java.io.IOException: Failed to connect to remote block worker: GrpcServerAddress{HostName=d0221cb70bb1, SocketAddress=d0221cb70bb1/<IP_ADDRESS>:32985}, java.lang.RuntimeException: java.io.IOException: Failed to connect to remote block worker: GrpcServerAddress{HostName=d0221cb70bb1, SocketAddress=d0221cb70bb1/<IP_ADDRESS>:32985},

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.7 please


sm3_mb: Add asimd version .

Most available CPUs do not support sm3 .
Add NEON(ASIMD) version for them.

@gbtucker , please review it

@gbtucker , the patches arm updated .
This PR includes all sm3 patches . Please review .


[GRID]: changing the gutter behaviour so that the container size d…

Trying to fixes the limitation of the current gutter behaviour
Related to https://github.com/callemall/material-ui/issues/7549 and https://github.com/callemall/material-ui/issues/7466
Breaking change
cc @kgregory

[ ] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

hmm something is not working, closing


Update MapView doc

Reference: #8203
Changes made:

Added a MapView example to the intro section
Added more details to prop explanations
Added more info to an exported type, even if it's not used anywhere I can see
Removed mention of ios platform in props. Left an android one in there as I didn't want to touch code.

Test plan (required)
Ran the website locally and checked: http://localhost:8079/react-native/docs/mapview.html

By analyzing the blame information on this pull request, we identified @nicklockwood and @benhoyt to be potential reviewers.

In general, I am good with this. I am wondering, though, if there is something we can do to make it more clear that this is iOS only.

Having that one Android prop in there is really strange -- but I am using the "nothing to see here" philosophy on that :)

@JoelMarcey I made the iOS support clear as the first line.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


Specifying specific class with "include '**/MyTest.class' " no longer works

I've looked at the code, and it seems as though the robolectric-gradle-plugin lets the Android plugin handle everything since v1.0.1. So I tried -Dtest.single=MyTest, but that didn't work either. Does this just need to be forwarded maybe?
Anyway my workflow relied on this, so if this functionality would be re-added, that would be great.

I found out that the way this all works has changed, and it now goes through the new Android Unit Testing feature. So for anybody looking here; the syntax for running one test on the command line is now:
./gradlew test -DtestDebug.single=<NameOfTestClass>

(Source here)


build-scaleway-ubuntu1604-x64-2 out of space

@dinogun, this seems to be due to docker images which are taking up about 33Gb. Is this expected? If so we need to do some additional capacity planning on that box as it's currently filling up the root filesystem

@sxa555 While the docker job uses a lot of space ... it should be a temporary surge and it cleans up several times during the run to ensure we dont run into out of space issues. However will check to see if something new is pushing it beyond the limit.

It's still looking to be at 100% on that filesystem - any obvious sign of why?

I've moved /var/lib/docker to /home/docker/var-lib-docker and symlinked it back to the old location (I tried adding an extra filesystems but they didn't allow that to work with the machine type that we have). That shoudl alleviate the immediate issue, but we do need to understand and resolve the issue of why we have so much seemingly being left around between runs. I'll leave this open for now until we have that understood.

Have raised a PR to fix this in the docker scripts.


[ENH] Add Embedding Function - Universal Sentence Encoder

Description of changes
Summarize the changes made by this PR.

New functionality

Added USE Embedding Function

Test plan
How are these changes tested?

[x] Tests pass locally with pytest for python

@atroyn  I have created a PR for the same: https://github.com/chroma-core/docs/pull/219

@atroyn @beggers Kindly review the changes requested.

@csbasil happy to land this once requested changes are made to the docs: https://github.com/chroma-core/docs/pull/219

@atroyn I have made requested docs changes. Kindly have a look

Our underlying impl has changed and so this PR is not landable as is.
That being said - we'd still like to add this functionality and that is now tracked in this issue.


monorepo route error: .plugins[0] must be a string, object, function

Summary:
I tried to integrate with pnpm workspace, but I encountered a route error message. I have searched a lot of information but did not get a solution. I hope to get help, thank you.
› Opening on iOS...
› Opening exp+obytesapp://expo-development-client/?url=http%3A%2F%2F<IP_ADDRESS>%3A8081 on iPhone 15 Pro Max
› Press ? │ show all commands
tailwindcss(ios) rebuilding... done
iOS Bundling failed 262ms (../../node_modules/expo-router/entry.js)
error: ../../node_modules/expo-router/entry.js: .plugins[0] must be a string, object, function

Steps to reproduce:
1、pnpm i
2、cd apps/mobile/
3、pnpm ios
Expected behavior:
normal
Demo
https://github.com/isnolan/expo-monorepo-example/tree/obytes

There is context here：
https://github.com/expo/expo/discussions/26642


vcs-sidecar image reference is embedded in the code

 Issue by bacongobbler
2017-07-06 23:08:01

Right now acid embeds the vcs-sidecar image reference directly in the source code. Because I don't have the right credentials to pull this image, I need to build and push out my own vcs-sidecar image, modify the source code and then re-deploy acid. This doesn't bode well for a developer experience.
Would it be possible to somehow embed the vcs-sidecar process within acid? That way we don't have to reference and rely upon a separate docker image for all github push events.

Comment by technosophos
2017-07-07 20:58:44

We can probably set this in the chart and suck it out of an env var.

Comment by technosophos
2017-07-07 21:57:26

I started down the path of making this a global config option, only to realize that the most likely scenario is that this would be overridden per-project.
So right now, it's shaping up like this:
$ helm install acid-project --set vcsSidecar=myImage:myTag


Release Steps / Documents Required Changes

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/492
Originally created by @valexieva on 2019-03-18 16:10:17

[x] add 'Navigate to your meltano git project' as the first step in the release process
[x] add 'Prepend issue number to changes in the log' (agreed upon in Slack + have note in retro agenda)
[x] git branch -D release-next: possibly remove and combine with git checkout -B release-next origin/master to just overwrite the branch
[x] remove default echo for make file of release process
update the template to help the user make a better commit message We're considering this a fluke until it arises again as the message should be auto generated

View 9 previous comments from the original issue on GitLab


realm_reactivation: Migrate old Confirmations to the new data format.

cf74d7d1401c829cf412f313fa3c4e82ea8af0fc changed what .content_object on
these Confirmations is, but old Confirmations still need to be migrated
to that to make sense.
Tested manually by dev environment by making the old-style Confirmation objects, migrating and verifying they now have appropriate RealmReactivationStatus objects.
As mentioned by @timabbott  in https://github.com/zulip/zulip/pull/22584#issuecomment-1196117776 old Confirmations haven't been properly addressed

One minor note is that I think after we merge this, any existing realm reactivation links will be expired? That seems fine, since they're rarely issued, and we can manually avoid a race while deploying this.

They didn't get expired, they became malformed in a sense, because now the code expects confirmation.content_object to be RealmReactivationStatus, while those old Confirmations still have it set to  a Realm. So we need this somewhat fiddly migration to change the .content_object on them to make them make sense again. We don't know which confirmation links have been used or not, but yeah, it seems fine to just revoke them by default since they're so rare.

Merged, thanks for catching this @mateuszmandera!


How about unmanaged C++ code references?

Hi,
do I miss something? I have a mixed C# and C++ solution in VS2022.
I expected to find references to the projects in THIRD-PARTY-LICENSES.txt files in Nuget packages.

Are unmanaged dependencies, be it from Nugets or direct assembly references, listed at all?
Regards,
Thomas

Hi, @devinfluencer!
The third-party notice file you're looking at is pulled directly from skiasharp.nativeassets.win<IP_ADDRESS>.nupkg. The content of that file is determined entirely by the SkiaSharp team, so you might try asking this question at their issues list.
When building the SBOM, we know about the packages (in this case SkiaSharp.NariveAssets.Win32) and about the files on the disk, but we don't know about how those packages were made--for that we'd rely on the SBOM from the respective packages. In this specific case, if SkiaSharp uses a specific static library, we'd ideally capture that fact in the packages section of the SBOM produced when building SkiaSharp.
When all of the pieces are in place (and some may not yet be), you end up with a chain of SBOMs. If an exploit is discovered in version X of library Y, then you walk backwards from your SBOM to all contributing SBOM's (including transitive dependencies) to see if any of them use that version of that library. There's definitely an opportunity for tooling improvement in that space, but at this point we're still creating the building blocks.
Since no further action is needed from our team, I'll close out this issue. If you have other SBOM-related issues, please feel free to open a new issue.
Thanks for your interest in SBOM!


Feature request: recursive move

Hi,
would it be possible to implement a recursive move feature?
With a recursive move one could for example move a "directory" type object to a new location within a container. Additionally, the recursive move would also transfer all objects from lower levels of the directory's pseudo-hierarchy.
Thanks for considering.
Best,
Milica

I have done some basic testing with these directory level operations and everything seems to be alright. @markomi : Could you test these and let us know if you encounter any issues?
p.s. Since you seem to be a regular user of this tool, you might be interested in #16


Not able to consume API using postman

Hi, I have installed Kong, registered an example API to test and assigned an Auth Plugin. From the server I can consume the endpoint using curl, with:
curl -i -X GET --url http://My.public.I.P:8000 --header 'Host:api.demo.com' --header 'X-AUTH:12345
And that is working fine, however, then from my local machine I tried to consume the API using Postman, basically this is what I am sending:
GET / HTTP/1.1
Host: api.demo.com
X-AUTH: 12345
X-Host-Override: api.demo.com   (I added this one just to test)
Cache-Control: no-cache
Postman-Token: e0d01f28-b6ec-da42-bd6b-dda09bd0221f

and in the URL I set: My.Public.I.P:8000/ but now I am getting:

{
  "message": "no API found with those values"
}

So, why if essentially is the same request?

@sredXNY please try to reserve Github issues for actual bugs and problems running Kong, not just support. Please use the Kong mailing list or
Gitter for user support, development questions, feature requests, etc.*
For now, what is the result of retrieving the /apis route of the admin API (port 8001)?

@p0pr0ck5 Ok, I get it!
This is what I get:

{
   "data":[
      {
         "http_if_terminated":true,
         "id":"f09528f1-4469-462e-a5ea-05da9126e24c",
         "upstream_read_timeout":60000,
         "preserve_host":false,
         "created_at":1493732112000,
         "upstream_connect_timeout":60000,
         "upstream_url":"http:\/\/httpbin.org",
         "strip_uri":true,
         "https_only":false,
         "name":"example-api",
         "retries":5,
         "upstream_send_timeout":60000,
         "hosts":[
            "example.com"
         ]
      },
      {
         "http_if_terminated":true,
         "id":"768f2475-f502-4d08-897b-02d24e77c3b9",
         "upstream_read_timeout":60000,
         "preserve_host":false,
         "created_at":1493737511000,
         "upstream_connect_timeout":60000,
         "upstream_url":"http:\/\/www.mockbin.org\/request",
         "strip_uri":true,
         "https_only":false,
         "name":"mockbin",
         "retries":5,
         "upstream_send_timeout":60000,
         "hosts":[
            "api.demo.com"
         ]
      }
   ],
   "total":2
}

X-Host-Override has been removed - @thibaultcha can extend on it. Previous conversation at https://github.com/Mashape/kong/issues/2365.
You will have to use a Host header.

@thefosk yes, however without X-Host-Override header I am getting the same result. I get the correct response using curl but no when I use postman. This is how I am requesting with Postman http://prntscr.com/f564gq
And this is how I have defined the endpoint in Kong, using Kong Dashboard: http://prntscr.com/f565jv

Do you see this behavior only with Postman, or can you reproduce the results with a command line curl request as well?

@sredXNY any update based on the above?

@p0pr0ck5 no, I got still the same. I tried with Postman and command line curl, with curl work great but no with Postman. I will try with javascript

If curl is working, this sounds like a problem with postman? I don't see any issue with kong here.

@p0pr0ck5 yes, correct. But I don't see which is the difference in the request. I will close this issue as is more related to a Postman issue than Kong

i added this in upstream url -- http://localhost:1111/student/:student_id
then in urIs i added /student/:student_id
when i run this http://localhost:8000/student/123  its showing no API found with those values

please someone help me

@kumarinstor Hi,
Please do not post to closed issues nor cross post to multiple ones, thank you.
Also, the issues are reserved for bugs, please post to our Discourse forum for questions.
To answer it, please spend some time reading the documentation related to proxying.


Select multiple library directories

Currently, adding directories to scan has to be done one at a time. Would it be possible to allow selecting multiple directories at the same time?

well it works fine with WalkDir

diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 15d1001..f67793e 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -1907,6 +1907,7 @@ dependencies = [
  "tauri-build",
  "thiserror",
  "tokio",
+ "walkdir",
 ]

 [[package]]
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 041accb..d6ab5f3 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -31,6 +31,7 @@ data-encoding = "2.4.0"
 kira = "0.8.7"
 symphonia = { version = "0.5.2", features = ["all"] }
 regex = "1.10.4"
+walkdir = "2"

 [features]
 # by default Tauri runs in production mode
diff --git a/src-tauri/src/fs_track.rs b/src-tauri/src/fs_track.rs
index 9d776a6..e5de178 100644
--- a/src-tauri/src/fs_track.rs
+++ b/src-tauri/src/fs_track.rs
@@ -13,6 +13,7 @@ use thiserror::Error;
 use std::time::Instant;
 use crate::db;
 use tauri::Manager;
+use walkdir::WalkDir;

 #[derive(Serialize, Deserialize, Clone, Debug)]
 pub struct FsTrack {
@@ -199,19 +200,25 @@ pub fn load_tracks_from_directories(directories: &Vec<String>, conn: &mut Connec
   let mut files_scanned: usize = 0;
   for directory in directories.iter() {
     let mut entry_batch: Vec<DirEntry> = vec![];
-    let globwalker = glob(format!("{}/**/*.{{mp3,m4a,flac,ogg,opus,wav,MP3,M4A,FLAC,OGG,OPUS,WAV}}", directory))?;
-    for item in globwalker {
-      let entry = item?;
-      entry_batch.push(entry);
-      if entry_batch.len() == 100 {
-        let tracks = load_tracks_from_entry_batch(&entry_batch)?;
-
-        db::add_tracks(&tracks, conn)?;
-        files_scanned += entry_batch.len();
-        app_handle.emit_all("initialize-progress", ScanProgress { progress: None, files_scanned, files_count: Some(files_count) }).unwrap();
-        entry_batch.clear();
+    for entry in WalkDir::new(directory).follow_links(true).into_iter().filter_map(Result::ok) {
+      if let Some(extension) = entry.path().extension() {
+          match extension.to_str().unwrap_or("").to_lowercase().as_str() {
+              "mp3" | "m4a" | "flac" | "ogg" | "opus" | "wav" => {
+                  entry_batch.push(entry);
+              },
+              _ => {}
+          }
       }
+    if entry_batch.len() == 100 {
+      let tracks = load_tracks_from_entry_batch(&entry_batch)?;
+
+      db::add_tracks(&tracks, conn)?;
+      files_scanned += entry_batch.len();
+      app_handle.emit_all("initialize-progress", ScanProgress { progress: None, files_scanned, files_count: Some(files_count) }).unwrap();
+      entry_batch.clear();
     }
+  }
+
     let tracks = load_tracks_from_entry_batch(&entry_batch)?;
     db::add_tracks(&tracks, conn)?;
     files_scanned += entry_batch.len();
@@ -222,11 +229,25 @@ pub fn load_tracks_from_directories(directories: &Vec<String>, conn: &mut Connec
   Ok(())
 }

+
 pub fn count_files_from_directories(directories: &Vec<String>) -> Result<usize> {
   let mut files_count = 0;
+
   for directory in directories.iter() {
-    let files_in_dir = glob(format!("{}/**/*.{{mp3,m4a,flac,ogg,opus,wav,MP3,M4A,FLAC,OGG,OPUS,WAV}}", directory))?;
-    files_count += files_in_dir.into_iter().count();
+      println!("Scanning directory: {}", directory);
+
+      for entry in WalkDir::new(directory).follow_links(true).into_iter().filter_map(Result::ok) {
+          let path = entry.path();
+
+          if let Some(extension) = path.extension() {
+              match extension.to_str().unwrap_or("").to_lowercase().as_str() {
+                  "mp3" | "m4a" | "flac" | "ogg" | "opus" | "wav" => {
+                      files_count += 1;
+                  },
+                  _ => {}
+              }
+          }
+      }
   }

   Ok(files_count)

It would, yes. My music is already in folders that way (well, without the symlinks). I don't want to load my entire music library at once though.

@p0lygun Overall it looks good, but I need some more time to test and review, and to compare performance and pros/cons between walkdir and globwalk crates. Would you like to create a PR for this?


swapmonitor Dispatcher

Description
Currently there is a swapactiveworkspaces dispatcher that swaps workspaces between monitors. Is it possible to swap all workspaces between monitors, effectively swapping the monitors?

script?

as above. jq makes this easy


example gradlew rest doesn't work

running against a local installation with username and password, the gradle tasks completes with no errors, and it doesn't work.
This is to create the seed job from your job-dsl-gradle-examples repository
Example:
$ ./gradlew rest -Dpattern="jobs/seed.groovy" -DbaseUrl="http://<IP_ADDRESS>:8080" -Dusername=admin -Dpassword=admin
:compileJava NO-SOURCE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:rest

BUILD SUCCESSFUL

Total time: 1.552 secs

...and nothing happened in the Jenkins installation as well!

Hi @aris-vlasakakis-ck. It should be -Dpattern="src/jobs/seed.groovy"


Mac 12.4, M1, No GPU, run grounding_dino_demo, error:Failed to load custom C++ ops

hi all, i am new in the dp learning, but i am obsessed with this tech, so i try to run the project on my laptop, but i got some problems which i can't solve, please help me, think you for any information you give.
question:
i run follow demo on my macbook, but i got error like this:
command
python grounding_dino_demo.py \
>   --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
>   --grounded_checkpoint groundingdino_swint_ogc.pth \
>   --input_image assets/demo1.jpg \
>   --output_dir "outputs" \
>   --box_threshold 0.3 \
>   --text_threshold 0.25 \
>   --text_prompt "bear" \
>   --device "cuda"

error
/Users//test/aigc/gsa/Grounded-Segment-Anything/GroundingDINO/groundingdino/models/GroundingDINO/ms_deform_attn.py:31: UserWarning: Failed to load custom C++ ops. Running on CPU mode Only!
  warnings.warn("Failed to load custom C++ ops. Running on CPU mode Only!")
/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at /Users/runner/work/_temp/anaconda/conda-bld/pytorch_1678455016227/work/aten/src/ATen/native/TensorShape.cpp:3484.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
final text_encoder_type: bert-base-uncased
Downloading (…)okenizer_config.json: 100%|███| 28.0/28.0 [00:00<00:00, 4.73kB/s]
Downloading (…)lve/main/config.json: 100%|██████| 570/570 [00:00<00:00, 131kB/s]
Downloading (…)solve/main/vocab.txt: 100%|████| 232k/232k [00:00<00:00, 438kB/s]
Downloading (…)/main/tokenizer.json: 100%|████| 466k/466k [00:01<00:00, 425kB/s]
Downloading pytorch_model.bin: 100%|█████████| 440M/440M [03:14<00:00, 2.27MB/s]
Some weights of the model checkpoint at bert-base-uncased were not used when initializing BertModel: ['cls.predictions.transform.LayerNorm.bias', 'cls.predictions.bias', 'cls.predictions.decoder.weight', 'cls.predictions.transform.dense.bias', 'cls.seq_relationship.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.seq_relationship.bias']
- This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
_IncompatibleKeys(missing_keys=[], unexpected_keys=['label_enc.weight'])
Traceback (most recent call last):
  File "grounding_dino_demo.py", line 158, in <module>
    boxes_filt, pred_phrases = get_grounding_output(
  File "grounding_dino_demo.py", line 87, in get_grounding_output
    model = model.to(device)
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1145, in to
    return self._apply(convert)
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/nn/modules/module.py", line 797, in _apply
    module._apply(fn)
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/nn/modules/module.py", line 797, in _apply
    module._apply(fn)
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/nn/modules/module.py", line 797, in _apply
    module._apply(fn)
  [Previous line repeated 3 more times]
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/nn/modules/module.py", line 820, in _apply
    param_applied = fn(param)
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1143, in convert
    return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking)
  File "/Users//miniconda3/envs/gsa/lib/python3.8/site-packages/torch/cuda/__init__.py", line 239, in _lazy_init
    raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled

my env

python=3.8
conda=23.1.0
is any body meet the same problem, or any body can give me some help, information about these?

Hello, I'm curious about your PyTorch version, maybe you should install pytorch with GPU support at this time I think~, we will try to update a CPU version for the users

If your device don't have GPU, you should just put --device='cpu'

Hello, I'm curious about your PyTorch version, maybe you should install pytorch with GPU support at this time I think~, we will try to update a CPU version for the users

think you for your reply, and this my torch version and how i get version info,

by the way, i install pytorch by following commands:
conda install pytorch torchvision -c pytorch

i think it will be the latest version of pytorch
then, i take notice of you mentioned "we will try to update a CPU version for the users",
can i refers to the problem i met is caused by the absence of GPU on my laptop?

If your device doesn't have GPU, you should just put --device 'cpu'

think you for your help, i try to use device option with cpu, and i got the same output !  so amazing !
for other people meet same problem, can try to run command like theses:
python grounding_dino_demo.py \
>   --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
>   --grounded_checkpoint groundingdino_swint_ogc.pth \
>   --input_image assets/demo1.jpg \
>   --output_dir "outputs" \
>   --box_threshold 0.3 \
>   --text_threshold 0.25 \
>   --text_prompt "bear" \
>   --device "cpu"

and you will get some wanings, but don't care, you can get grounding_dino_output.jpg in your ./output directory.

The inference time on time on cpu is not good. Is there any to improve inference time on the M1 Macbook machine?

If your device doesn't have GPU, you should just put --device 'cpu'

think you for your help, i try to use device option with cpu, and i got the same output ! so amazing !
for other people meet same problem, can try to run command like theses:
python grounding_dino_demo.py \
>   --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
>   --grounded_checkpoint groundingdino_swint_ogc.pth \
>   --input_image assets/demo1.jpg \
>   --output_dir "outputs" \
>   --box_threshold 0.3 \
>   --text_threshold 0.25 \
>   --text_prompt "bear" \
>   --device "cpu"

and you will get some wanings, but don't care, you can get grounding_dino_output.jpg in your ./output directory.

Hi, I'm trying to run the model with --device "cpu" and still getting this error:
UserWarning: Failed to load custom C++ ops. Running on CPU mode Only!
  warnings.warn("Failed to load custom C++ ops. Running on CPU mode Only!")

Process finished with exit code 0

The model does not actually run (exit code 0).
I'm using Mac M1 and running the model independently through Pycharm.


OETH Collateral Swaps

Changes
See the following issue for the specifications

Add collateral swap function to Vault #1539
off-chain component that interacts with the 1Inch API and the Vault #1540

Notion resources

Solution analysis
Design decisions

Significant contract changes

[x] New Swapper1InchV5 contract that implements the ISwapper interface.
[x] swapCollateral function added to the VaultCore
[x] setSwapper, setOracleSlippage and setSwapAllowedUndervalue added to VaultAdmin.
[x] New Vault view functions swapper and allowedSwapUndervalue.
[x]  The vault's assets mapping to Assets has been repacked. It was taking up 2 slots as the decimals was type uint256. Adding the new allowedSwapSlippageBps property would mean 3 slots would be used for each asset. The decimals has been retyped to a unit8 which means all fields now fit in one slot. That means all the assets in the vault need their decimals recached as the decimals location has moved. It also means the deployment of the the new OETHVaultCore and OETHVaultAdmin contracts need to override the storage safety check.
[x] Merge Vault gas savings https://github.com/OriginProtocol/origin-dollar/pull/1578 and https://github.com/OriginProtocol/origin-dollar/pull/1613
[x] nonReentrantView removed from Governable
[x] Removed SafeMath from InitializableAbstractStrategy
[x] Removed SafeMath and StableMath from VaultStorage

Other significant changes

[x] The ethereum-waffle dependency has been upgraded so the withNamedArgs chai matcher can be used for event testing.
[x] Added a logger for unit and fork tests. See ./utils/logger.js
[x] axios added as a dependency to call the 1Inch swap API.

Review
If you made a contract change, make sure to complete the checklist below before merging it in master.
Refer to our documentation for more details about contract security best practices.
Contract change checklist:

[ ] Code reviewed by 2 reviewers.
[ ] Copy & paste code review security checklist below this checklist.
[x] Unit tests pass
[x] Slither tests pass with no warning
[ ] Echidna tests pass if PR includes changes to OUSD contract (not automated, run manually on local)

Dependent change requests

[x] https://github.com/OriginProtocol/origin-dollar/pull/1637
[x] https://github.com/OriginProtocol/origin-dollar/pull/1633

Deployment
1Inch Swapper

[x] 065 deployment script executed
the Swapper1InchV5 contract was deployed to 0xcD0fcF8a31Bc78ec07752e9CCD3960E936D18366

OETH Vaults

[x]  Rebase master to nicka/collateral-swaps
[ ] Contract deployment

[ ] Propose governance changes to the OETH Governor contract for the 66 deployment script.
[ ] Raise separate Governor txs to queue and execute the proposal
[ ] 5 of the Governor multisig signers sign the Governor txs
[ ] Execute the queue proposal tx
[ ] After 24 hours, execute the execute proposal tx

[ ] Commit deployment artifacts and add block number to contracts/deployments/mainnet/.migrations.json
[ ] Merge to master
[ ] GitBook updates

[ ] OETH Registry docs updated with new Swapper contract and updated vault implementation contract addresses
[ ] Governance docs updated to include swapCollateral and pauseRebase as functions that the Strategist can execute.
[ ] Remove reallocate as a function that the Strategist can execute.

[ ] Swapper contract added to Immunefi bounty program
[ ] Resubmit OETH Vault contract for Dune decoding of new functions and events

Post deployment

[ ] Change PR https://github.com/OriginProtocol/origin-dollar/pull/1631 to merge back to master

@DanielVF I've pushed the change to move the internal _postSwapChecks logic back into swapCollateral.
The swapper contract is in a separate deploy script as we have already deployed it to mainnet. 0xcD0fcF8a31Bc78ec07752e9CCD3960E936D18366
This was done to make the development of the off-chain swap component easier.
Shall we deploy a new swapper contract with a comment that we know dust assets can be left in the swapper contract?


Send out invitations to previous attendees

I used the CRM data from libp2p day in Istanbul last fall to populate a mail merge inviting past attendees to attending libp2p Day at ETHDenver. I included a link to the event page and also asked if they would consider speaking at the event.
I set out about 250 emails to past attendees and the new registrants for the event.


Visual Studio 2015 constexpr status

Visual Studio 2015 added support for constexpr, but the implementation seems too buggy to get it working with Better Enums without a bunch of workarounds. Progress is in the branch vs2015-constexpr. Internal compiler errors can be seen here – search for "error" in the log.

They STILL don't have this right in 2015??? I've lost all patience for visual studio.

In some days or weeks I will go through the remaining problems Better Enums has with VS2015 constexpr and try to resolve as many as possible, resulting in some combination of bug reports to Microsoft and either a new release, or advancing the vs2015 branch.

I think it's great that you can work around the problems. My frustration however is that MSVC isn't keeping up with OSS toolchains like Clang and GCC, when MSVC has the backing of a multi-billion dollar corporation as well as Herb Sutter to lead it in the right direction. Logically it just doesn't make sense. But then again, this has always been MSVC's legacy.

Note - I've been using the latest update 2, and it stiiill has problems like that it likes to crash with internal compiler errors if you do anything like for example try to use the constexpr versions of the stringizing stuff (i.e. BETTER_ENUMS__CXX11_FULL_CONSTEXPR_TRIM_STRINGS_ARRAYS) (which I've been discovering as was using in some of my own code).

Ah, good to know. Thanks. I was planning to look at this again in the coming weeks. Is compilation on MSVC working without constexpr to_string now, though?

yeah betterenums is working fine for me on MSVC (using i think the totally non constexpr variant) - it was actually only when i was using that code in some of my own stuff, and had directly used the full_constexpr versions of the macros, that i hit msvc compiler internal errors ...

tho actually ... one issue I do have with VS, is it doesn't seem to allow having #ifdefs inside a ENUM(...), i.e. if one wants to disable certain values from being in the enum according to some define(s). Don't know if this is a known issue?

(whereas this works fine on like clang)

One thing one might need to consider is, that switch inside constexpr functions is not supported in VS2015 Update 3 yet, i.e. "Extended constexpr (N3652)". Thus, the "mapping" working draft feature is not supported by MSVC.

If I define BETTER_ENUMS_HAVE_CONSTEXPR Everything seems to compile successfully with VS2017.

It works with for me with VS2017 as well. Could you add a check if _MSC_VER is greater xxx and define BETTER_ENUMS_HAVE_CONSTEXPR?

VS2017 constexpr detection was added in #47. Would you mind trying the enum.h directly from the repo, if you haven't already?

Directly from the repository does work. I think we downloaded a release version, maybe you should update the current release.
Best,
Michael

Yes, I'll make a new one shortly, and update the link.


Problem when device orientation changes

I've uploaded two images when the device orientation changes. The gradient does not work as it is expected.

@Amol07 The reason for this has to do with the way Chameleon generates a gradientColor. Every gradientColor is backed by a CAGradientLayer. Unfortunately what you are experiencing, is to be expected, since CALayer does not support layout managers on iOS, meaning it is up to you to calculate the frame changes yourself.
Side Note: My goal is to find a way for Chameleon to eventually handle all of this for you, but until then here's a quick solution for gradientColor and orientation changes if you're on iOS 8 and above.
Simply create a method where you update all of your objects background colors, which you plan on using a gradientColor for. This method will allow us to simplify our gradientColor code so we can set/update this from anywhere, anytime with one line of code.
- (void) {

    self.view.backgroundColor = GradientColor(UIGradientStyleLeftToRight,
                                              self.view.frame,
                                              (@[FlatYellow, FlatRed]));

    self.innerView.backgroundColor = GradientColor(UIGradientStyleLeftToRight,
                                                   self.innerView.frame,
                                                   (@[FlatSkyBlue, FlatPurpleDark]));
}

Now, here's where the magic comes in. In order for the gradient color to reflect the new frame changes, we will need to know when an orientation transition is taking place. This is easy. If you're on iOS 8 simply do the following:
- (void)viewWillTransitionToSize:(CGSize)size
       withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {

    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {

    } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {

        //This will update the frame of every view with a gradient color
        [self updateGradientColors];
    }];

    [super viewWillTransitionToSize:size withTransitionCoordinator: coordinator];
}

If you take a close look, you'll notice that on completion of the transition, we are calling our updateGradientColors method, which will use the new frames to reset the gradientColors. Now transitions will not be 100% smooth during rotation (unfortunately), but upon completion they should reflect the new frame changes.

@ViccAlexander DLConstraintLayout ?

@bre7 Interesting. I'll definitely look into it, thanks!


Smart spacing on the dif symbol

Description
Currently, the dif symbol appears to simply have fixed spacing before the upright d character whenever it is preceded by anything. It would be nice if certain preceding characters would collapse the spacing, such as (dif x) rendering without a space before dif. I am assuming this should be relatively simple since it already omits the spacing when preceded by nothing, as in `dif/(dif x).
Use Case
The syntax integral_S f(x) mu (dif x) is common in measure and probability theory and it would be nice to render the symbol without an awkward space after the parenthesis. Additionally, physics and differential topology both frequently treat differentials as normal objects and thus would run into similar issues, though I haven't done much of either since switching to Typst.

For an example in differential geometry, we have expressions like $\phi^* (\mathrm{d}x)$ denoting the pullback of differential forms.

The same applies to Lebesgue-integrals in measure theory.
$integral_A f(x) mu(dif x)$

I've been putting up with it for a long time… Before #2950 is merged and released, we have the following workarounds.
#repr(math.dif) unravels the magic:
[(
  h(amount: 0.16666666666666666em, weak: true),
  math-style(body: [d], italic: false),
)]

So upright(d) just works.
Besides, the physica package offers a dedicated dd(…).
#import "@preview/physica:0.9.0": dd

$ integral abs(dd(z)) $

Fixed by #2950 unless I'm mistaken.


Added Scroll-Up Button for Improved Navigation on the About Page

As a contributor to GirlScript Summer of Code 2024, I noticed the absence of a scroll-up button on the Start Writing page, which made navigation challenging, especially on longer posts. To enhance user experience and streamline content creation, I implemented a scroll-up button, allowing users to quickly return to the top of the page. This feature improves accessibility and usability, making the page more intuitive and user-friendly.
View Bug

Please assign me this issue @Tejashri-Taral


Label metrics by routingClass in addition to source

What does this PR do?
Add a label to devworkspace specific metrics based on routingClass, e.g.
devworkspace_started_total{routingclass="basic",source="Che"}

This allows a roundabout way of filtering metrics based on tooling, since routingClasses are associated with specific tools (e.g. web-terminal for WTO, che for DWCO).
It also replaces the empty source label with "unknown" if the annotation is not applied.
What issues does this PR fix or reference?
N/A
Is it tested? How?
Easiest way:

make run
start a devworkspace or two
curl -s localhost:8080/metrics | grep '^dev'

PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v7-devworkspaces-operator-e2e, v7-devworkspace-happy-path to trigger)

[ ] v7-devworkspaces-operator-e2e: DevWorkspace e2e test
[ ] v7-devworkspace-happy-path: DevWorkspace e2e test

/test v7-devworkspaces-operator-e2e, v7-devworkspace-happy-path

Happy-path is failing with error
E0811 22:27:35.804519       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.20.6/tools/cache/reflector.go:167: Failed to watch *v1.Event: failed to list *v1.Event: events is forbidden: User "system:serviceaccount:devworkspace-controller:devworkspace-controller-serviceaccount" cannot list resource "events" in API group "" at the cluster scope
``
I've no idea what's going on there (works when testing locally in minikube). Merging this PR to get it off my backlog and the issue seems unrelated.


added differential drive pid

added a base pid in controllers and made a new folder 'examples' which contains the implementation of the controller on turtlebot and omnibase

For naming, can you follow the naming covention used in the OmniPID controller

Also could you write a test for this controller like we have for omniPID which instantiates and calls the move bot fn as well as the contraint fn

Once you make the changes and fix the lint error, I'll merge. No need to change the target branch. We can keep it restructure only for now. After your PR i'll merge

Resolved #26


Client-Side Validation not working

System Details

FluentValidation version: 8.0.100
Web Framework version (eg ASP.NET Core 2.1, MVC 5, WebApi 2. Delete if not applicable): MVC 5

Issue Description
I have a partial view which is loaded through ajax. The partial view has an Ajax.BeginForm as follows:
@using (Ajax.BeginForm("SubmitTravelStoryAjax", "TravelStories", null, new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
OnFailure = "ShowErrorOnPostTravelStory",
OnSuccess = "ShowSuccessOnPostTravelStory",
LoadingElementId = "divPreLoader"
},
new
{
id = "formPostStory",
enctype = "multipart/form-data"
}))
{
@Html.ValidationSummary(true)
                        @Html.AntiForgeryToken()
                        @Html.HiddenFor(model => model.ContentId)

                            @umbraco.library.GetDictionaryItem("Members.TravelStories.NewStoryTitle")

                                    @foreach (var story in Model.StoryTitleCollection)
                                    {

                                            <a<EMAIL_ADDRESS><EMAIL_ADDRESS>

                                    }

                                    @Html.EditorFor(model => model.StoryTitleCollection, new { htmlAttributes = new { @class = "form-control" } })

                            <input class="btn btn-primary btn-fullwidth" value="@umbraco.library.GetDictionaryItem("ButtonSave")" type="submit" id="btnSaveStory" />

                    }

As you can see within the form is a  tabs with two tabs, one for each language supported by the site and a  TabContent which contains the Editor for the List class. The code for the editor is the following:
@model Umbraco.Models.SurfaceModels.Content.StoryTitle

    @Html.HiddenFor(model => model.CultureCode)
    @Html.TextBoxFor(model => model.Title, new { @placeholder = umbraco.library.GetDictionaryItem("Members.TravelStories.NewStoryTitle"), @class = "form-control" })
    @Html.ValidationMessageFor(model => model.Title, "", new { @class = "text-danger" })

As you can see also inside the editor is a TextBoxFor for the Title property and a ValidationMessageFor for the title also.
I had create a validator for my model as follows:
public class TravelStoryViewModelValidator : AbstractValidator
{
public TravelStoryViewModelValidator()
{
CascadeMode = CascadeMode.StopOnFirstFailure;
RuleForEach(list => list.StoryTitleCollection)
.SetValidator(new TitleIsRequiredValidator())
.WithLocalizedMessage(typeof(Resources.ClientValidationMessages), "TravelStory_TitleIsRequired");
}
}
What i want to do? I want to validate the title as required depending on client language. If the UI culture is EN then i want the EN title to be Required, if the language is EL i want the EL title to be required. Because of that and following a lot documentation from the net i wrote the TitleIsRequiredValidator as follows:
internal interface ITitleIsRequiredValidator { }
public class TitleIsRequiredValidator : PropertyValidator, ITitleIsRequiredValidator
{
    public TitleIsRequiredValidator()
        : base("TravelStory_TitleIsRequired", typeof(Resources.ClientValidationMessages))
    {
    }

    protected override bool IsValid(PropertyValidatorContext context)
    {
        if (context.ParentContext.InstanceToValidate.GetType().IsAssignableFrom(typeof(StoryTitle)))
        {
            // Instance of the class which contains property which must be validated
            var model = context.ParentContext.InstanceToValidate as StoryTitle;
            var storyTitle = context.PropertyValue as string;

            if (model.CultureCode.ToLower() == System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToLower())
            {
                return true;
            }
            else
            {
                return !string.IsNullOrEmpty(storyTitle);
            }
        }

        return true;
    }
}

public class TitleIsRequiredValidatorAdaptor : FluentValidationPropertyValidator
{
    private const string ValidationType = "TitleRequired";

    public TitleIsRequiredValidatorAdaptor(ModelMetadata metadata, ControllerContext controllerContext, PropertyRule rule, IPropertyValidator validator)
        : base(metadata, controllerContext, rule, validator)
    {
    }

    public override IEnumerable<ModelClientValidationRule> GetClientValidationRules()
    {
        if (!ShouldGenerateClientSideRules()) yield break;

        var validator = Validator as ITitleIsRequiredValidator;

        var formatter = new MessageFormatter().AppendPropertyName(Rule.PropertyName);
        string message = formatter.BuildMessage(Validator.Options.ErrorMessageSource.GetString(null));

        yield return new ModelClientValidationRule
        {
            ValidationType = ValidationType,
            ErrorMessage = message
        };
    }
}

And because this is a complex validation is getting fired only when the submit button is pressed and validated server side. I need the validation to work also as client side. Can you please help me what else to do in order to enable that feature also?
I also add the validation in global.asax as follows:
FluentValidationModelValidatorProvider.Configure(provider => {
provider.Add(typeof(Models.Validators.TitleIsRequiredValidator), (metadata, context, rule, validator) => new Models.Validators.TitleIsRequiredValidatorAdaptor(metadata, context, rule, validator));
});
What else is missing in order to get fired and validate client-side as expected?
Thanks a lot

Hi there. FluentValidation does not provide client-side validation directly. Client-side validation is done by jQuey Validate. Out of the box MVC provides several adapters that generate metadata from serverside rules that can be used by jquery.Validate on the client. FluentValidatoon makes use of these, which is why you get clientside validation for simple rules (such as NotNull/Length etc)
For anything more complex you will need to write the clientside jQuery Logic yourself. Your adapter class needs to return a custom ModeClientValidationRule (this is part of MVC not FluentValidaion) that will generate the metadata attributes that will be inserted into the html element. You will then need to write the appropriate javadcript for jquery.validate to handle these attributes. Note that none of this process is related specifically to FluentValidation, so I can’t really help you further with this - you’ll need to read the MVC documentation on creating custom clientside rules, as well as look at the jquery.validate documentation on how to plug in the custom JavaScript.

Thanks for the reply. On this issue which will probably do my job you are talking about ChildCollectionValidatorAdaptor. Can you please explain or give an example of ChildCollectionValidatorAdaptor.
Thanks

I'm not sure what you're asking...ChildCollectionValidatorAdapter is how RuleForEach is implemented internally...it's not related to client-side validation at all.

Because i tried a lot with javascript coding and it does not work i saw that issue. Probably with the solution you mention in that issue using nestedrules  i could add a rule for that is supported client-side each property of my objects within the list, and it might work. For example
RuleFor(list => list.StoryTitleCollection)
.NestedRules(v => {
v.RuleFor(storyTitle => storyTitle.Title)
.NotEmpty()
.When(storyTitle => storyTitle.CultureCode.ToLower().Equals(System.Threading.Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName.ToLower()))
.WithLocalizedMessage(typeof(Resources.ClientValidationMessages), "TravelStory_TitleIsRequired");
});

No that won’t help you.
That rule can not be executed on the clientside - it’s too complex. NestedRules like this can’t be converted to clientside rules, and neither can rules with conditions (using When). This can only be executed on the server.
Only a small number of rules can be represented on the client side - the documentation is clear on this (see the clientside validation section on https://fluentvalidation.net/aspnet). Nothing custom or with conditions can be automatically converted to client-side rules.
As I said before, you’ll need to write custom JavaScript for this if you want to validate client side.

OK. That is clear.

Thanks a lot.