🐛 BUG: The TS Server crashes on version 2.1.x when moduleResolution is node16, nodenext or bundler

Describe the Bug
The TS Server crashes on version 2.1.x, I'm not sure if it's the same as #614.
Steps to Reproduce
This bug is easy to replicate.

pnpm create astro@latest
pnpm astro add solid
Add moduleResolution: "Node16" to tsconfig.json.

{
  "extends": "astro/tsconfigs/strict",
  "compilerOptions": {
    "module": "Node16",
    "moduleResolution": "Node16",
    "jsx": "preserve",
    "jsxImportSource": "solid-js"
  }
}

Create a .ts or .tsx file, and restart the VS Code, you'll notice that the TS Server crashed 5 times.

I've tried different versions of the Astro plugin, the bug occurs only if version >= 2.1.1

cc @johnsoncodehk

I'll check it next week.

Author of #614 here. We're using bundler moduleResolution as well. That might just be the cause.

That's weird, I'm using moduleResolution: bundler in all my personal Astro projects and it works 🤔 Could be a TypeScript version or OS thing perhaps?

The issue only occurs for me after I start using content collections. Maybe you're not using them?

I'm experiencing this error too. I am using an npm package that requires "moduleResolution": "nodenext" to support it's typescript defs.

This seems to be a problem that needs to be fixed in TS, here is a quick fix:

Use workspace tsdk
Open node_modules/typescript/lib/tsserver.js, search function getScriptKind and add following code.

function getScriptKind(fileName, host) {
+  if (fileName.endsWith('.astro')) return 4;
  return ensureScriptKind(fileName, host.getScriptKind && host.getScriptKind(fileName));
}


Implementing lenis with React and GSAP

Hello,
I'm trying to setup lenis with React through GSAP. I've created a small component in my project that has scrolling in it and I would like to apply lenis onto it using the example in the docs, but it doesn't seem to do the job, meaning that there is no smooth scrolling. Also tried looking on the internet for a solution but wasn't able to find much. Could anybody please help with this? Thank you!

Can you provide a reproduction link please?

Hello @clementroche,
There you go: https://codesandbox.io/p/sandbox/trusting-elion-hhxycc?file=%2Fsrc%2FApp.js%3A20%2C11

You need to add game-view-content class and orientation: "horizontal" to <ReactLenis> so it allows the horizontal scroll.
Here is the fixed version: https://codesandbox.io/p/sandbox/mystifying-montalcini-qzmfv2?file=%2Fsrc%2FApp.js%3A34%2C16


Add support for cypress

apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb

@gracegeng88 think we should include this in the current run image or should we make a new test image set?

@krsyoung new test image sounds good 👍

Awesome, thanks @gracegeng88!


Cannot use the --pre_load all option with s3 storage

Rasa NLU version: 0.13.1
Operating system (windows, osx, ...): MacOS
Issue:
I cannot load models from s3 on startup. I get the following error when using --pre_load all
botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found

This error actually occurred because no fallback models could be found. I had to add a fallback model for each of the models that I uploaded to s3, following the naming convention.


Add a tutorial about IO

We don't really talk much about the IO part. It would be nice to add a tutorial explaining the way IO works and how to prepare files downloaded from EarthExplorer.

Should include:

How files should be organized
Cropping while loading
Selecting bands to load
Loading the pan band


Is this safe for production on fat objects/arrays?

I've just bombed out of every other option out there, looking to make sure this one is ok before trying it.

I'm not sure what you mean fat objects. If you mean large objects then it should be fine, you can use the mutate option if you don't need to keep around the old version of the doc and it'll be faster (speed in proportion to the number of patch commands)


Update Scalajs 1.0.0-M6

Fixes the 2.13-M5 build for Scalajs:
[warn] 	module not found: org.scala-js#scalajs-library_2.13.0-M5;1.0.0-M3
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn] 	::          UNRESOLVED DEPENDENCIES         ::
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn] 	:: org.scala-js#scalajs-library_2.13.0-M5;1.0.0-M3: not found
[warn] 	:: org.scala-js#scalajs-test-interface_2.13.0-M5;1.0.0-M3: not found
[warn] 	:: org.scala-js#scalajs-compiler_2.13.0-M5;1.0.0-M3: not found
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] 	Note: Unresolved dependencies path:
[warn] 		org.scala-js:scalajs-library_2.13.0-M5:1.0.0-M3
[warn] 		 ((org.scalajs.sbtplugin.ScalaJSPluginInternal.scalaJSProjectBaseSettings)
[warn] 		  ScalaJSPluginInternal.scala#L474)
[warn] 		  +- org.scalacheck:scalacheck_sjs1.0.0-M3_2.13.0-M5:1.14.1-1b6f328-SNAPSHOT
[warn] 		org.scala-js:scalajs-test-interface_2.13.0-M5:1.0.0-M3
[warn] 		 ((org.scalajs.sbtplugin.ScalaJSPluginInternal.scalaJSProjectBaseSettings)
[warn] 		  ScalaJSPluginInternal.scala#L474)
[warn] 		  +- org.scalacheck:scalacheck_sjs1.0.0-M3_2.13.0-M5:1.14.1-1b6f328-SNAPSHOT
[warn] 		org.scala-js:scalajs-compiler_2.13.0-M5:1.0.0-M3 (Defaults.scala#L3320)
[warn] 		  +- org.scalacheck:scalacheck_sjs1.0.0-M3_2.13.0-M5:1.14.1-1b6f328-SNAPSHOT
[error] sbt.librarymanagement.ResolveException: unresolved dependency:
[error]  org.scala-js#scalajs-library_2.13.0-M5;1.0.0-M3: not found
[error] unresolved dependency: org.scala-js#scalajs-test-interface_2.13.0-M5;1.0.0-M3: not found
[error] unresolved dependency: org.scala-js#scalajs-compiler_2.13.0-M5;1.0.0-M3: not found
[error] (js / update) sbt.librarymanagement.ResolveException: unresolved dependency:
[error]   org.scala-js#scalajs-library_2.13.0-M5;1.0.0-M3: not found
[error] unresolved dependency: org.scala-js#scalajs-test-interface_2.13.0-M5;1.0.0-M3: not found
[error] unresolved dependency: org.scala-js#scalajs-compiler_2.13.0-M5;1.0.0-M3: not found

Travis error:
[error] scalacheck/js/src/main/scala/org/scalacheck/Platform.scala:25:17:
[error] object testinterface is not a member of package org.scalajs
[error]     org.scalajs.testinterface.TestUtils.loadModule(name, loader)
[error]                 ^

The notes for 1.0.0.-M6 say,

org.scalajs.testinterface.TestUtils was removed (it was deprecated in 0.6.25); use scala.scalajs.reflect.Reflect or portable-scala-reflect instead.

@sjrd Can you suggest a migration path here?

As the release notes say, use scala.scalajs.reflect.Reflect instead. The API of Reflect is tiny; it's supposed to be straightforward. Do you need any specific guidance?

@sjrd I was going to update to 1.0.0-M6, but there isn't a portable-scala-reflect artifact published for 1.0.0-M6.

Since ScalaCheck already uses a JS-specific Platform.scala for reflective operations, you can directly use scala.scalajs.reflect.Reflect from there, without going through portable-scala-reflect. That will be easier.

Ah, ok.  This is more effort than I expected, then.  I have to task switch, so I'll close to let someone else pick it up.


fix: invalid serialization when multiple licenses added to metadata or a component

Planned fix for #365.
The issue with serialization of Licenses is due to our current implementation which uses LicenseChoice object which can either represent a License or a LicenseExpression.
With the new serialization (introduced in 4.0.0), this type of use case was not catered for.
Possible options to resolve:

Enhance the upstream library to provide support for objects that can be (de-)serialized in different manners
Change the internal object model within cyclonedx-python-lib to avoid the uses of LicenseChoice as is currently implemented

@jkowalleck - any thoughts or suggestions?

already done


⚠ Bofrost.at has degraded performance

In e19a12d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2061 ms

Resolved: Bofrost.at performance has improved in 6a33703.


Will this paper be accepted by any journals this year, or has it not been accepted?

@Bewear777  SparseTrack has not been accepted. The paper is currently under review.


chore(operator): add openebs operator 2.8.0

cstor operator 2.8.0-RC1
jiva operator 2.8.0-RC1
lvm operator 0.4.0-RC1
ndm operator 1.4.0-RC1
openebs-operator 2.8.0-RC1
zfs operator 1.6.0-RC1

Signed-off-by: Akhil Mohan<EMAIL_ADDRESS>

@akhilerm can you update the operator yamls for zfs and lvm from the repo as we have started using 0.4.0 yaml generator.

Done @pawanpraka1


Local storage and cache

Integrate Realm
Cache feed, CoreData?

We need to be able to store the feed, profile, subscriptions, bookmarks all locally. We also need downloading because people can't even open the app without internet.

Basic cache has been completed. Will make new issues for updates to the cache.


My Assignment submission

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
completed the assignment
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
None
How were these changes tested?
In my home directory through step by step
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

It was a great start to the learning


can't see attributes in card

Hi,
Happy that I can see my UPS Hat B on RPi 4 but I can't see any of the attributes.
I've followed the instructions I can see but although I can create a card with the template sensors from the entity attributes, they all show up as unknown, except for a the main UPS entity and a binary sensor which shows as "waveshare_ups_hat_online" and I can't see where I added that...
Am I missing a step?
here's my configuration.yaml entry:
sensor:

platform: waveshare_ups_hat
name: UPS
unique_id: waveshare_ups

template:

sensor:

name: UPS Capacity
state: "{{ state_attr('sensor.waveshare_ups_hat', 'capacity' )}}"
unit_of_measurement: '%'
icon: mdi:battery-unknown
name: UPS PSU Voltage
state: "{{ state_attr('sensor.waveshare_ups_hat', 'psu_voltage' )}}"
unit_of_measurement: 'V'
icon: mdi:lightning-bolt
name: UPS Load Voltage
state: "{{ state_attr('sensor.waveshare_ups_hat', 'load_voltage' )}}"
unit_of_measurement: 'V'
icon: mdi:lightning-bolt
name: UPS Current
state: "{{ state_attr('sensor.waveshare_ups_hat', 'current' )}}"
unit_of_measurement: 'mA'
icon: mdi:current-dc
name: UPS Power
state: "{{ state_attr('sensor.waveshare_ups_hat', 'power' )}}"
unit_of_measurement: 'W'
icon: mdi:power-plug
name: UPS Power Calculated
state: "{{ state_attr('sensor.waveshare_ups_hat', 'power_calculated' )}}"
unit_of_measurement: 'W'
icon: mdi:power-plug
name: UPS Charging
state: "{{ state_attr('sensor.waveshare_ups_hat', 'charging' )}}"
unit_of_measurement: ''
icon: mdi:battery-charging
name: UPS Online
state: "{{ state_attr('sensor.waveshare_ups_hat', 'online' )}}"
unit_of_measurement: ''
icon: mdi:battery-charging-100
name: UPS Low Battery
state: "{{ state_attr('sensor.waveshare_ups_hat', 'low_battery' )}}"
unit_of_measurement: ''
icon: mdi:battery-low

binary_sensor:

platform: waveshare_ups_hat

ok, so this is weeeeird.
It has just started working, in that a card I configured with all of the template states is now showing the attribute parameters instead of "unknown". This after restarting several times.
The only two things that have charged are that I added this to configuration.yaml:
sensor:

platform: waveshare_ups_hat
max_soc: 91

and I added another card with the following in it (but I don't see how adding a card could just make something work...):
type: entities
entities:

entity: sensor.ups
name: UPS Capacity
type: attribute
attribute: capacity
entity: sensor.ups
name: UPS Charging
type: attribute
attribute: charging
entity: sensor.ups
name: UPS Power in Amps
type: attribute
attribute: power


Each sequance invocation is suffer from cold start

Hi there,
I am trying to develop an application by using wskdeploy.
I created a sequence invocation following the example in the project, functions in the sequence invocation are run in custom run-time (that is, python-io:3, modified by original run-time python:3).
When I invoke the sequence repeatedly, I found that the sub-functions are suffered from a cold start.
This affects the execution time of the sequence.
For example, the duration of the sequence is about 3s, but each sub-function does everything at the millisecond level (75ms, 91ms, and etc.).
Why do sequentially run functions suffer from cold starts?
Datetime            Activation ID                    Kind        Start Duration   Status  Entity
2021-08-29 16:47:49 3d16b547bc4e4f0a96b547bc4eaf0a7c python-io:3 cold  75ms       success guest/generate_pagraph:0.0.2
2021-08-29 16:47:49 e581a60959ef417e81a60959ef317ebd python-io:3 cold  91ms       success guest/generate_sentence:0.0.2
2021-08-29 16:47:48 f177744c6b8b4c29b7744c6b8b0c2963 python-io:3 cold  90ms       success guest/generate_word:0.0.2
2021-08-29 16:47:47 25e234c3da144a68a234c3da14ba685d sequence    warm  2.835s     success guest/concat_pagraph:0.0.2
2021-08-29 16:47:42 e4093fa1db5e4e6b893fa1db5e1e6b7a python-io:3 cold  77ms       success guest/generate_pagraph:0.0.2
2021-08-29 16:47:41 5a0b5a05243246558b5a052432c655a4 python-io:3 cold  75ms       success guest/generate_sentence:0.0.2
2021-08-29 16:47:40 b7fe5ad559744a54be5ad55974da5410 python-io:3 cold  92ms       success guest/generate_word:0.0.2
2021-08-29 16:47:39 d646342a55264de886342a55263de86e sequence    warm  3.059s     success guest/concat_pagraph:0.0.2

Thank you

Hi there,
I am trying to develop an application by using wskdeploy.
I created a sequence invocation following the example in the project, functions in the sequence invocation are run in custom run-time (that is, python-io:3, modified by original run-time python:3).
When I invoke the sequence repeatedly, I found that the sub-functions are suffered from a cold start.
This affects the execution time of the sequence.
For example, the duration of the sequence is about 3s, but each sub-function does everything at the millisecond level (75ms, 91ms, and etc.).
Why do sequentially run functions suffer from cold starts?
Datetime            Activation ID                    Kind        Start Duration   Status  Entity
2021-08-29 16:47:49 3d16b547bc4e4f0a96b547bc4eaf0a7c python-io:3 cold  75ms       success guest/generate_pagraph:0.0.2
2021-08-29 16:47:49 e581a60959ef417e81a60959ef317ebd python-io:3 cold  91ms       success guest/generate_sentence:0.0.2
2021-08-29 16:47:48 f177744c6b8b4c29b7744c6b8b0c2963 python-io:3 cold  90ms       success guest/generate_word:0.0.2
2021-08-29 16:47:47 25e234c3da144a68a234c3da14ba685d sequence    warm  2.835s     success guest/concat_pagraph:0.0.2
2021-08-29 16:47:42 e4093fa1db5e4e6b893fa1db5e1e6b7a python-io:3 cold  77ms       success guest/generate_pagraph:0.0.2
2021-08-29 16:47:41 5a0b5a05243246558b5a052432c655a4 python-io:3 cold  75ms       success guest/generate_sentence:0.0.2
2021-08-29 16:47:40 b7fe5ad559744a54be5ad55974da5410 python-io:3 cold  92ms       success guest/generate_word:0.0.2
2021-08-29 16:47:39 d646342a55264de886342a55263de86e sequence    warm  3.059s     success guest/concat_pagraph:0.0.2

Thank you

Hi @GitHubDiom,  Please note that the whisk deploy tool has not control over cold/warm start times of functions; it is simply a deploy/undeploy tool.  I would recommend this issue be moved to the main openwhisk repo. and discussed as a backend issue.  Perhaps it is a problem with co-location of actions in a sequence (scheduling)?


Only execute srv as a process when using -x on the client

Is your feature request related to a problem? Please describe.
We don't need an external process for socket connector, and the SDK should be able to choose which variant of srv connection is established
Describe the solution you'd like
CLI only uses an external process when running with -x
Describe alternatives you've considered
No response
Additional context
No response

The downside of this is that if you kill sshnpd you kill the sessions too

The counter might be that we have process rather than isolates on the srvd. So if we restart srvd we do mot drop sessions.

The counter might be that we have process rather than isolates on the srvd. So if we restart srvd we do mot drop sessions.

This ticket is for client side.
For daemon side, we have not crossed that bridge yet, but I was thinking about the possibility of forking the process to achieve a single binary.


Use decorator on aiohttp route and not on a specific function

Currently, the usage for caching routes is to decorate a function the route is using, though what can be really cool is caching the whole route response.
Using it as a decorator for the route is making the response fail...
I can implement it if you want, should be fairly quick and it's pretty much a requirement for my project :)

What's the failure? Could you post an example traceback? I'm also interested on what would be the changes required for this so feel free to open a quick PR and maybe we can discuss

My traceback is pretty generic, coming from nginx about a closed connection while reading the response header.
The real problem can be understood here: https://docs.aiohttp.org/en/stable/faq.html#how-do-i-make-sure-my-custom-middleware-response-will-behave-correctly
We can't really reuse our cached response, so I think the solution will be to recreate aiohttp responses everytime the cache is called.
I'll do a PR later today/tomorrow, where we can further discuss about the solution :)

Closing as per https://github.com/argaen/aiocache/pull/476 discussion


W2030 - Number expected as String

cfn-lint 0.19.0
W2030 - Number expected as String
The following warning has started to appear in the latest version:
W2030 You must specify a valid allowed value for NAME_OF_THE_PARAMETER
Template example:
  LogsRetentionLength:
    AllowedValues:
      - 1
      - 3
    Default: 1
    Description: The retention length of the logs.
    Type: Number

  LogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      RetentionInDays: !Ref LogsRetentionLength
      LogGroupName: '/name'

Error:
W2030 You must specify a valid allowed value for LogsRetentionLength (1).
Valid values are ['1', '3', '5', '7', '14', '30', '60', '90', '120', '150', '180', '365', '400', '545', '731', '1827', '3653']
W2030 You must specify a valid allowed value for LogsRetentionLength (3).
Valid values are ['1', '3', '5', '7', '14', '30', '60', '90', '120', '150', '180', '365', '400', '545', '731', '1827', '3653']
W2030 You must specify a valid Default value for LogsRetentionLength (1).
Valid values are ['1', '3', '5', '7', '14', '30', '60', '90', '120', '150', '180', '365', '400', '545', '731', '1827', '3653']

Changing the templates as follow fixes the issue but it's incorrect:
  LogsRetentionLength:
    AllowedValues:
      - '1'
      - '3'
    Default: '1'
    Description: The retention length of the logs.
    Type: Number

Looking into this should have something to you shortly.


--fatal-warnings is not listed when requesting --help for flutter run/build/test

When requesting help for the flutter build apk command, the --fatal-warnings flag is not listed.
The same thing applies to flutter run --help & flutter test --help, despite the flag being supported for those modes. (See the description in https://github.com/flutter/flutter/pull/92031, which added the option to the tooling)
Therefor developers won't know that it is supported, nor does the flag have any explanation of what it does.
Steps to Reproduce

Run flutter create bug
Run flutter build apk --help
The option --fatal-warnings is not listed in the help output, despite flutter build apk --fatal-warnings being a valid command.

Expected results
The help section should list an entry for --fatal-warnings, which explains what the flag does. Ideally it also explains exactly what is regarded as a warning. I.e. does it only consider stderr or also other things?
Actual results
--fatal-warnings is not listed in the help section.
Logs

Logs
Example of an app that produces a fatal warning with --fatal-warnings (for reference)
navaronbracke@MacBook-Pro-van-Navaron weforza % flutter build apk --fatal-warnings

💪 Building with sound null safety 💪

Note: /Users/navaronbracke/.pub-cache/hosted/pub.dev/flutter_blue_plus-1.3.1/android/src/main/java/com/boskokg/flutter_blue_plus/FlutterBluePlusPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Running Gradle task 'assembleRelease'...                           79.7s
✓  Built build/app/outputs/flutter-apk/app-release.apk (22.2MB).
Logger received error output during the run, and "--fatal-warnings" is enabled.

Output of running --help:
navaronbracke@MacBook-Pro-van-Navaron weforza % flutter build apk --help
Build an Android APK file from your app.

This command can build debug and release versions of your application. 'debug' builds support debugging and a quick development cycle. 'release' builds don't support debugging and are suitable for deploying to app stores. If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to reduce the APK size. Learn more at:

 * https://developer.android.com/guide/app-bundle
 * https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split

Global options:
-h, --help                  Print this usage information.
-v, --verbose               Noisy logging, including all shell commands executed.
                            If used with "--help", shows hidden options. If used with "flutter doctor", shows additional diagnostic
                            information. (Use "-vv" to force verbose logging in those cases.)
-d, --device-id             Target device id or name (prefixes allowed).
    --version               Reports the version of this tool.
    --suppress-analytics    Suppress analytics reporting when this command runs.

Usage: flutter build apk [arguments]
-h, --help                                              Print this usage information.
    --[no-]tree-shake-icons                             Tree shake icon fonts so that only glyphs used by the application remain.
                                                        (defaults to on)
-t, --target=<path>                                     The main entry-point file of the application, as run on the device.
                                                        If the "--target" option is omitted, but a file name is provided on the command line,
                                                        then that is used instead.
                                                        (defaults to "lib/main.dart")
    --debug                                             Build a debug version of your app.
    --profile                                           Build a version of your app specialized for performance profiling.
    --release                                           Build a release version of your app (default mode).
    --flavor                                            Build a custom app flavor as defined by platform-specific build setup.
                                                        Supports the use of product flavors in Android Gradle scripts, and the use of custom
                                                        Xcode schemes.
    --[no-]pub                                          Whether to run "flutter pub get" before executing this command.
                                                        (defaults to on)
    --build-number                                      An identifier used as an internal version number.
                                                        Each build must have a unique identifier to differentiate it from previous builds.
                                                        It is used to determine whether one build is more recent than another, with higher
                                                        numbers indicating more recent build.
                                                        On Android it is used as "versionCode".
                                                        On Xcode builds it is used as "CFBundleVersion".
                                                        On Windows it is used as the build suffix for the product and file versions.
    --build-name=<x.y.z>                                A "x.y.z" string used as the version number shown to users.
                                                        For each new version of your app, you will provide a version number to differentiate
                                                        it from previous versions.
                                                        On Android it is used as "versionName".
                                                        On Xcode builds it is used as "CFBundleShortVersionString".
                                                        On Windows it is used as the major, minor, and patch parts of the product and file
                                                        versions.
    --split-debug-info=<v1.2.3/>                        In a release build, this flag reduces application size by storing Dart program
                                                        symbols in a separate file on the host rather than in the application. The value of
                                                        the flag should be a directory where program symbol files can be stored for later
                                                        use. These symbol files contain the information needed to symbolize Dart stack
                                                        traces. For an app built with this flag, the "flutter symbolize" command with the
                                                        right program symbol file is required to obtain a human readable stack trace.
                                                        This flag cannot be combined with "--analyze-size".
    --[no-]obfuscate                                    In a release build, this flag removes identifiers and replaces them with randomized
                                                        values for the purposes of source code obfuscation. This flag must always be combined
                                                        with "--split-debug-info" option, the mapping between the values and the original
                                                        identifiers is stored in the symbol map created in the specified directory. For an
                                                        app built with this flag, the "flutter symbolize" command with the right program
                                                        symbol file is required to obtain a human readable stack trace.

                                                        Because all identifiers are renamed, methods like Object.runtimeType, Type.toString,
                                                        Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those
                                                        generated by runtime system) will return obfuscated results. Any code or tests that
                                                        rely on exact names will break.
    --dart-define=<foo=bar>                             Additional key-value pairs that will be available as constants from the
                                                        String.fromEnvironment, bool.fromEnvironment, int.fromEnvironment, and
                                                        double.fromEnvironment constructors.
                                                        Multiple defines can be passed by repeating "--dart-define" multiple times.
    --dart-define-from-file=<use-define-config.json>    The path of a json format file where flutter define a global constant pool. Json
                                                        entry will be available as constants from the String.fromEnvironment,
                                                        bool.fromEnvironment, int.fromEnvironment, and double.fromEnvironment constructors;
                                                        the key and field are json values.
    --[no-]null-assertions                              Perform additional null assertions on the boundaries of migrated and un-migrated
                                                        code. This setting is not currently supported on desktop devices.
    --[no-]analyze-size                                 Whether to produce additional profile information for artifact output size. This flag
                                                        is only supported on "--release" builds. When building for Android, a single ABI must
                                                        be specified at a time with the "--target-platform" flag. When building for iOS, only
                                                        the symbols from the arm64 architecture are used to analyze code size.
                                                        By default, the intermediate output files will be placed in a transient directory in
                                                        the build directory. This can be overridden with the "--code-size-directory" option.
                                                        This flag cannot be combined with "--split-debug-info".
    --code-size-directory                               The location to write code size analysis files. If this is not specified, files are
                                                        written to a temporary directory under the build directory.
-P, --android-project-arg                               Additional arguments specified as key=value that are passed directly to the gradle
                                                        project via the -P flag. These can be accessed in build.gradle via the
                                                        "project.property" API.
    --[no-]multidex                                     When enabled, indicates that the app should be built with multidex support. This flag
                                                        adds the dependencies for multidex when the minimum android sdk is 20 or below. For
                                                        android sdk versions 21 and above, multidex support is native.
                                                        (defaults to on)
    --ignore-deprecation                                Indicates that the app should ignore deprecation warnings and continue to build using
                                                        deprecated APIs. Use of this flag may cause your app to fail to build when deprecated
                                                        APIs are removed.
    --split-per-abi                                     Whether to split the APKs per ABIs. To learn more, see:
                                                        https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split
    --target-platform                                   The target platform for which the app is compiled.
                                                        [android-arm (default), android-arm64 (default), android-x86, android-x64 (default)]
    --[no-]track-widget-creation                        Track widget creation locations. This enables features such as the widget inspector.
                                                        This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT).
                                                        (defaults to on)

Run "flutter help" to see global options.

[✓] Flutter (Channel stable, 3.7.0, on macOS 13.2 22D49 darwin-x64, locale
    en-BE)
    • Flutter version 3.7.0 on channel stable at
      /Users/navaronbracke/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b06b8b2710 (8 days ago), 2023-01-23 16:55:55 -0800
    • Engine revision b24591ed32
    • Dart version 2.19.0
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/navaronbracke/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/navaronbracke/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.2 22D49 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

cc @gspencergoog

It will show if the user requested verbose help text (i.e. flutter help run --verbose) by design because it was assumed this was mostly useful for maintainers. Do you believe this is generally useful to all Flutter developers?

Ah I see, it's under verbose help. That explains a lot.


Fix submodule url regex [JENKINS-46054]

JENKINS-46054 reports that submodules whose URL includes the text .url cannot be cloned or updated into a Jenkins workspace.
The git config output parsing regular expression incorrectly extended across a space character when a space character is not valid in the name of a git remote.
This pair of changes writes tests for the problem and fixes the problem.

This seems correct to me.


map should display according to what you’re viewing

@amyngai - can you elaborate on this one?

The map currently does not center on what you've searched. Eg:

the selected listing should center the corresponding location to the center of the map


ref(deploy): update channel name to spin-deploy

resolves #569

Signed-off-by: Michelle Dhanani<EMAIL_ADDRESS>

spin deploy
Successfully deployed application spin-hello-world version 1.0.0!
Application is running at ==spin-deploy==.spin-hello-world.local.fermyon.link

Verified!


TLS Origination from a Pod with certificates in DestinationRule object.

From your examples, I quote:

The following configuration adds a set of MongoDB instances running on unmanaged VMs to Istio’s registry, so that these services can be treated as any other service in the mesh. The associated DestinationRule is used to initiate mTLS connections to the database instances.

ServiceEntry:
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: external-svc-mongocluster
spec:
  hosts:
  - mymongodb.somedomain # not used
  addresses:
  - <IP_ADDRESS>/24 # VIPs
  ports:
  - number: 27018
    name: mongodb
    protocol: MONGO
  location: MESH_INTERNAL
  resolution: STATIC
  endpoints:
  - address: <IP_ADDRESS>
  - address: <IP_ADDRESS>

and the associated DestinationRule
DestinationRule:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: mtls-mongocluster
spec:
  host: mymongodb.somedomain
  trafficPolicy:
    tls:
      mode: MUTUAL
      clientCertificate: /etc/certs/myclientcert.pem
      privateKey: /etc/certs/client_private_key.pem
      caCertificates: /etc/certs/rootcacerts.pem

It would be nice to have a little bit more info about the scenario, since in other pages the TLS origination is stated to be initiated with tls.mode=SIMPLE parameter.
Now it looks like we are starting TLS. Are there are constrains? What are these certs? I tried using the certs within the proxy of the pod, but I get this error:

[2020-01-14T12:04:17.728Z] "GET / HTTP/1.1" 503 UF,URX "-" "TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER" 0 91 135 - "-" "curl/7.59.0" "48411800-9ddb-9133-a480-4750f29c4416" "my-endpoint.com" "xx.xx.xx.xx:80" outbound|80||my-endpoint.com - xx.xx.xx.xx:80 <IP_ADDRESS>:47424 - default

What are the certs I need to pass to the DestinationRule? I can't create new certs in istio-proxy container since it is  read-only file system.

This is described a bit in https://preliminary.istio.io/latest/docs/tasks/traffic-management/egress/egress-tls-origination/ and https://preliminary.istio.io/latest/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/ and the comment above


VMWare log path not catching all the vmware logs

Hello,
i have the sc4s connector running with our vmaware environment which consists of vsphere, nsx, hoirzon and vsan.
I have noticed that theya re are a number of log types that are appearing in my fallback index - I think these just need to have some additional filters setup so that they can be caught and routed.
Details of the log types below.
==========================

1
This message is coming from my nsx manager

{	[-]
  	 DATE:	 Jun 29 10:54:02.000
  	 HOST:	 nma01af
  	 LEGACY_MSGHDR:	 1
  	 MESSAGE:	 2020-06-29T10:52:50.786+01:00 nma01af.xxx.xxxxxxxxx.xx.xx.xx NSXV 6152 - [nsxv@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Start executing task: task-3308094 and running executor threads 1
  	 PRI:	 <182>
  	 PROGRAM:	 1
  	 RAWMSG:	 <182>Jun 29 10:54:02 <IP_ADDRESS> 1 2020-06-29T10:52:50.786+01:00 nma01af.xxx.xxxxxxxxx.xx.xx.xx NSXV 6152 - [nsxv@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Start executing task: task-3308094 and running executor threads 1
}

If i run the search index="sc4s_default"| spath MESSAGE | search MESSAGE!="* NSXV *"
Then the message from the NSX manager are totally excluded. So the program type is NSXV
==========================

2
This is from my cluster running VSAN

{	[-]
  	 DATE:	 Jun 29 10:56:38.000
  	 HOST:	 vda04af
  	 LEGACY_MSGHDR:<PHONE_NUMBER>.078212,5224e4
  	 MESSAGE:	 vda04af.xxxxxxxxx.xx.xx.xx cmmdsTimeMachineDump: 7-be3e-6e1e-7f7e-5b9ed11defcd,16,30842,59a6a272-e495-0c8b-2fea-246e966a4e78,2,{"capacityUsed": 0, "l2CacheUsed": 0, "l1CacheUsed": 0, "writeConsolidationRatio": 10, "avgReadsPerSecond": 1, "avgWritesPerSecond": 0, "avgThroughPutUsed": 4096, "avgReadServiceTime": 0, "avgReadQueueTime": 0, "avgWriteServiceTime": 0, "avgWriteQueueTime": 0, "avgDiskReadsPerSec": 0, "avgDiskWritesPerSec": 0, "avgSSDReadsPerSec": 0, "avgSSDWritesPerSec": 0, "estTimeToFailure": 0, "numDataComponents": 318, "logicalCapacityUsed": 0, "physDiskCapacityUsed": 0, "pendingWrite": 0, "pendingDelete": 0, "dgPendingWrite": 0, "dgPendingDelete": 0, "dgLogicalCapacityUsed": 0, "dgAvgDataDestageBytesSec": 14720322, "dgAvgZeroDestageBytesSec": 0, "dgAvgResyncReadBytesPerSec": 0, "dgAvgTotalReadBytesPe
  	 PRI:	 <14>
  	 PROGRAM:<PHONE_NUMBER>.078212,5224e4
  	 RAWMSG:	 <14>Jun 29 10:56:38 <IP_ADDRESS><PHONE_NUMBER>.078212,5224e4 vda04af.vda04af.xxxxxxxxx.xx.xx.xx cmmdsTimeMachineDump: 7-be3e-6e1e-7f7e-5b9ed11defcd,16,30842,59a6a272-e495-0c8b-2fea-246e966a4e78,2,{"capacityUsed": 0, "l2CacheUsed": 0, "l1CacheUsed": 0, "writeConsolidationRatio": 10, "avgReadsPerSecond": 1, "avgWritesPerSecond": 0, "avgThroughPutUsed": 4096, "avgReadServiceTime": 0, "avgReadQueueTime": 0, "avgWriteServiceTime": 0, "avgWriteQueueTime": 0, "avgDiskReadsPerSec": 0, "avgDiskWritesPerSec": 0, "avgSSDReadsPerSec": 0, "avgSSDWritesPerSec": 0, "estTimeToFailure": 0, "numDataComponents": 318, "logicalCapacityUsed": 0, "physDiskCapacityUsed": 0, "pendingWrite": 0, "pendingDelete": 0, "dgPendingWrite": 0, "dgPendingDelete": 0, "dgLogicalCapacityUsed": 0, "dgAvgDataDestageBytesSec": 14720322, "dgAvgZeroDestageBytesSec": 0, "dgAvgResyncReadBytesPerSec": 0, "dgAvgTotalReadBytesPe
}

If i run the search  index="sc4s_default" | spath MESSAGE | search MESSAGE!="* cmmdsTimeMachineDump: *"
Then the message from VSAN are totaly excluded. so the program type is cmmdsTimeMachineDump:
==========================

3
This is from my cluster running VSAN

{	[-]
  	 DATE:	 Jun 29 10:56:38.000
  	 HOST:	 vda04af
  	 LEGACY_MSGHDR:<PHONE_NUMBER>.078212,5224e4
  	 MESSAGE:	 vda04af.xxxxxxxxx.xx.xx.xx cmmdsTimeMachineDump: 7-be3e-6e1e-7f7e-5b9ed11defcd,16,30842,59a6a272-e495-0c8b-2fea-246e966a4e78,2,{"capacityUsed": 0, "l2CacheUsed": 0, "l1CacheUsed": 0, "writeConsolidationRatio": 10, "avgReadsPerSecond": 1, "avgWritesPerSecond": 0, "avgThroughPutUsed": 4096, "avgReadServiceTime": 0, "avgReadQueueTime": 0, "avgWriteServiceTime": 0, "avgWriteQueueTime": 0, "avgDiskReadsPerSec": 0, "avgDiskWritesPerSec": 0, "avgSSDReadsPerSec": 0, "avgSSDWritesPerSec": 0, "estTimeToFailure": 0, "numDataComponents": 318, "logicalCapacityUsed": 0, "physDiskCapacityUsed": 0, "pendingWrite": 0, "pendingDelete": 0, "dgPendingWrite": 0, "dgPendingDelete": 0, "dgLogicalCapacityUsed": 0, "dgAvgDataDestageBytesSec": 14720322, "dgAvgZeroDestageBytesSec": 0, "dgAvgResyncReadBytesPerSec": 0, "dgAvgTotalReadBytesPe
  	 PRI:	 <14>
  	 PROGRAM:<PHONE_NUMBER>.078212,5224e4
  	 RAWMSG:	 <14>Jun 29 10:56:38 <IP_ADDRESS><PHONE_NUMBER>.078212,5224e4 vda04af.vda04af.xxxxxxxxx.xx.xx.xx cmmdsTimeMachineDump: 7-be3e-6e1e-7f7e-5b9ed11defcd,16,30842,59a6a272-e495-0c8b-2fea-246e966a4e78,2,{"capacityUsed": 0, "l2CacheUsed": 0, "l1CacheUsed": 0, "writeConsolidationRatio": 10, "avgReadsPerSecond": 1, "avgWritesPerSecond": 0, "avgThroughPutUsed": 4096, "avgReadServiceTime": 0, "avgReadQueueTime": 0, "avgWriteServiceTime": 0, "avgWriteQueueTime": 0, "avgDiskReadsPerSec": 0, "avgDiskWritesPerSec": 0, "avgSSDReadsPerSec": 0, "avgSSDWritesPerSec": 0, "estTimeToFailure": 0, "numDataComponents": 318, "logicalCapacityUsed": 0, "physDiskCapacityUsed": 0, "pendingWrite": 0, "pendingDelete": 0, "dgPendingWrite": 0, "dgPendingDelete": 0, "dgLogicalCapacityUsed": 0, "dgAvgDataDestageBytesSec": 14720322, "dgAvgZeroDestageBytesSec": 0, "dgAvgResyncReadBytesPerSec": 0, "dgAvgTotalReadBytesPe
}

If i run the search  index="sc4s_default" | spath MESSAGE | search MESSAGE!="* cmmdsTimeMachineDump: *"
Then the message from VSAN are totaly excluded. so the program type is cmmdsTimeMachineDump:
==========================

4

{	[-]
  	 DATE:	 Jun 29 11:30:40.000
  	 HOST:	 vda02af
  	 LEGACY_MSGHDR:	 0,
  	 MESSAGE:	 'uuid': '52a340d2-1ed vda02af.xxxxxxxxx.xx.xx.xx VSANMGMTSVC: -4c87-a4f5-43405fa0b83e', 'ssdUuid': '521a4f36-7b48-3582-caec-86e100694012', 'capacity':<PHONE_NUMBER>720, 'disk_health': {'healthReason': 0, 'timestamp':<PHONE_NUMBER>25, 'healthFlags': 0}, 'owner': '59a6ab9f-9f46-3ba5-8355-246e966a5c90', 'isSsd': 0}]
  	 PRI:	 <12>
  	 PROGRAM:	 0,
  	 RAWMSG:	 <12>Jun 29 11:30:40 <IP_ADDRESS> 0, 'uuid': '52a340d2-1ed vda02af.xxxxxxxxx.xx.xx.xx VSANMGMTSVC: -4c87-a4f5-43405fa0b83e', 'ssdUuid': '521a4f36-7b48-3582-caec-86e100694012', 'capacity':<PHONE_NUMBER>720, 'disk_health': {'healthReason': 0, 'timestamp':<PHONE_NUMBER>25, 'healthFlags': 0}, 'owner': '59a6ab9f-9f46-3ba5-8355-246e966a5c90', 'isSsd': 0}]
}

If i run the search  index="sc4s_default" | spath MESSAGE | search MESSAGE!="* VSANMGMTSVC: *"
==========================

5

 {	[-]
  	 DATE:	 Jun 29 11:27:45.000
  	 HOST:	 lma04af
  	 LEGACY_MSGHDR:	 vmfs/volumes/vsan:
  	 MESSAGE:	 520db807c2d27611-5aed8e7d8eeefdec. = 17
  	 PRI:	 <166>
  	 PROGRAM:	 vmfs/volumes/vsan
  	 RAWMSG:	 <166>Jun 29 11:27:45 vmfs/volumes/vsan:520db807c2d27611-5aed8e7d8eeefdec. = 17
}

==========================

6

{	[-]
  	 DATE:	 Jun 29 11:27:45.000
  	 HOST:	 vmfs/volumes.
  	 LEGACY_MSGHDR:	 =
  	 MESSAGE:	 17
  	 PRI:	 <166>
  	 PROGRAM:	 =
  	 RAWMSG:	 <166>Jun 29 11:27:45 vmfs/volumes. = 17
}

I'm happy to provide as much  log detail as you need + do testing
Thanks,
Stephen.

In sub issue number 2 can you decode this for me I belive you are indicating the host with xxxx what is vda04af
vda04af.vda04af.xxxxxxxxx.xx.xx.xx

In sub-issue 5 and 6 there is no hostname we would be forced to use IP or reverse DNS can you confirm there is no way to have the host sent?
<166>Jun 29 11:27:45 vmfs/volumes. = 17

In sub issue number 2 can you decode this for me I belive you are indicating the host with xxxx what is vda04af
vda04af.vda04af.xxxxxxxxx.xx.xx.xx

Hello,
vda04af. xxx is the hostname of the device. I didn't want to disclose my full hostname on a public area so i obfuscated the domain part of it.
so the hostname would be something like vda04af.euridium.co.uk  but it could be any hostname format.
myesxserver.euridium.co.uk for instance.
Make sense?
Stephen.

In sub-issue 5 and 6 there is no hostname we would be forced to use IP or reverse DNS can you confirm there is no way to have the host sent?
<166>Jun 29 11:27:45 vmfs/volumes. = 17

Amazingly, these logs are from a ESXi server directly and are not well formatted - so i have no control over what the logs are or the format it sends.
AS you can see in the RAWMSG section - the log entries do not contain a hostname, but they are definitely from the ESXi server a source.
Unless i choose to write my own log_path for  - anything containing "vmfs/volumes/vsan"  then as you suggest i'd have to use an source IP override.
I thought there may be a clever way to custom define a filter to force it to go on the ESXi path and integrate with the exiting vmware filtering?  Rather than writing a custom log_path - i'm not able to edit your vmware log_path and filters diretly as they are overwritten at update.
Stephen.

I was hoping for better can you re-test with the current image and see what issues remain

Closing lack of feedback, further improvements have been made in later versions will review more data if provided


⚠ Bofrost.de has degraded performance

In 802b9cd, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2179 ms

Resolved: Bofrost.de performance has improved in 8d23e60 after 34 minutes.


Loop and Sleep within the robot function

Hi,
I have tried, to sending a message to rocketchat in a loop 10 times. This works. But if I want to pause the function between the messages, it does not work, because the messages are all sent together until the end of the robot function. How can I get a break in?
My target is, to send a sqlquery all 30 seconds. So I want to practice this case with simple messages, but even that does not work
Best Regards

Any idea in this? We interested to send longer messages as a sequence of smaller messages, with a pause between each message

Is there any code examples you can share to demonstrate what you are trying to do? The more you can share the more I can understand to better offer feedback and ideas.
Hubot runs on node, so you can use the builtin functions like setTimeout for doing something after a delay and setInterval to do something on an interval.

Is there any code examples you can share to demonstrate what you are trying to do?

Closing as stale, but @Buzzele let us now if you have any examples.


fix(region,host): support limit guest nic traffic

What this PR does / why we need it:

Does this PR need to be backport to the previous release branch?:
release/3.10

/hold

/hold cancel


Allow quality settings in "default" layer

Reviewing the options here: https://github.com/adobe-photoshop/generator-assets/wiki/Generate-Image-Assets-Functional-Spec
I do not see a way to specify output quality when using the default generator layer trick.  Generally when doing exports manually, I like to have slightly lower jpeg quality on 2x and 3x images (for example, in the old "save for web" dialog, I'd tend to do 75% for my 1x assets, 60% for my 2x assets and maybe 50% for my 3x assets.
Am I missing a way to do this?

For the example you listed, try naming the layer:
output.jpg-75%, 200% output.jpg-60%, 300% output.jpg-50%


feat: wallet picker

Context

We want to prototype workflows and support users being able to store credentials on wallets outside of PFI client apps.
Native wallet APIs don't exist yet on every platform

There were two options for supporting wallets.
A: HTML DOM wallet picker

Use a remotely hosted website to have a wallet picker in HTML. Visit that website and forward the SIOP params to it, and then from it, to the end wallet.

B: Native wallet picker

B.1: Host a json file of wallets and links to those walles. Ask implementers to GET the JSON file, loop through it and forward the SIOP params to that wallet.
B.2: Provide native SDKs that will do all of the B.1. logic for the user. Render unstyled platform native UI for the wallet picker.

This PR implements B1 first and only. In summary, this PR allows a wallet to pull down a remotely hosted JSON file, loop through the wallets present in it, and forward the SIOP params to that wallet.
TODO: That wallet will then handle issuance, and return control back to DidPay.
Implementation

Created a "service" for Wallet HTTP and Linking API
Add a wallet picker screen
GET JSON file and loop through it
Universal link to TBD Identity Wallet with SIOP forwarded params
Add improvements to support this functionality in the IDVService
Add a feature flag for the wallet picker to allow disabling the workflow

Video
https://github.com/TBD54566975/didpay/assets/3495974/fd613f7c-fe6a-4e2c-b195-6e36e45ec55b

this is really cool!! by "wallet", we're talking about applications meant to store identity credentials?

this is really cool!! by "wallet", we're talking about applications meant to store identity credentials? also, are we assuming that the Web5 Identity Wallet will store both IDV credentials (which direct users to the pre-auth flow) and KCC credentials (which direct users to the auth flow)?

It's a good question. I think so? I'm unsure and prototyping this right now. Has anyone got the sumsub credential yet and stuck it in long term storage yet or is that the next step?

this is really cool!! by "wallet", we're talking about applications meant to store identity credentials? also, are we assuming that the Web5 Identity Wallet will store both IDV credentials (which direct users to the pre-auth flow) and KCC credentials (which direct users to the auth flow)?

It's a good question. I think so? I'm unsure and prototyping this right now. Has anyone got the sumsub credential yet and stuck it in long term storage yet or is that the next step?

not yet, that's the next step!

Someone else will need to merge as I don't have rights to do it


Test configuration

Develop a basic test configuration to serve as a standard worked example.

Solved with the addition of tutorials


Dynamically generating queue functions from Jedis' source code

fixed: #13

Summary by CodeRabbit

New Features

Introduced a submodule for the Jedis library to enhance Redis database interactions.
Added a new section in the README for building the Jedis library from source.
Implemented an allowlist for Redis commands to improve command validation and security.
Added functions for managing message encoding and decoding in the messaging system.

Bug Fixes

Updated message queuing logic to optimize message handling and retrieval.

Documentation

Enhanced documentation with clearer instructions for building and using the Jedis library.

Tests

Added comprehensive unit tests for encoding/decoding functionalities and queue operations.
Refactored test cases to utilize updated methods and improve clarity.

Chores

Updated GitHub Actions workflow to include a step for cloning submodules before installation.

@J0sueTM request review?
there are many conflicts, isn't it better to resolve them before doing the review?

@avelino the review request has been up for a long time now. I'll remove them for now :sweat_smile:

@J0sueTM could it be a good idea to add some hints in order to speed up these reflection sections, as we discussed with @matheusfrancisco on the other day. Maybe we cann add this to the next sprint or whatever you prefer

@Felipe-gsilva Thanks for remembering! That'll be really important.

Maybe we cann add this to the next sprint

It's just a matter of adding the hints in the PR, I will be adding that in the subsequent commits.

@coderabbitai review

I know it's in WIP, but I would like to hear your opinion on the implementation of this PR

@coderabbitai draw the diagram about the package structure, describing all functions (including those generated with macro), I want to have visibility of the whole

We need to update the test runner so it clones the submodules before running the tests

@avelino Thanks for remembering. I indeed didn't update our documentation with the new changes.
Technically nothing got deprecated, but it would be nice to explain in the README how we do that. I think our codemonkey would be a great fit for that :eyes:
@coderabbitai Rewrite our current README.md, by (1) updating the example section, and putting all the new functions in there. Make it a bit dense, explaining how the options are common between them, but also explain the intricacies of each function. The functions I'm talking are specifically the ones in src/com/moclojer/rq/queue.clj, where we define by hand wrappers around the already wrapped jedis functions generated by ->wrap-method. And (2) add a section in the beggining of the file explaining how we generate everything dynamically from the jedis source code. Write that implies that our library has a differential from other ones: being always up to date, and being more secure (in terms of following deprecation notices and design changes) down to the heart.

@coderabbitai Maybe it would be better to include real code examples aside the intricacies of each function

@coderabbitai Add an explanation, intricacies and examples for the pubsub functions in the file src/com/moclojer/rq/pubsub.clj.
Besides that, the generated doc looks great. Thanks robot.

@J0sueTM it's worth writing a blog post about this release of clj-rq in moclojer.com/blog, sharing the project's evolution

of course @avelino https://github.com/moclojer/moclojer.com/issues/11


Implement GAEN V2 API on iOS

Summary | Résumé
Implement the V2 API on iOS. Can build on https://github.com/cds-snc/covid-alert-app/pull/1247 if it is useful. Here are the steps:

[x] switch to the V2 API in plist files
[x] turn on V2 logic by setting EN_API_VERSION=2 in .env
[x] run a 20 minute exposure test so the iOS device has exposure data to return
[ ] successfully call the function detectExposureWithConfiguration and log the result (should be an ENExposureDetectionSummary)
[ ] successfully call the function getExposureWindowsFromSummary by passing in the ENExposureDetectionSummary object, log the resulting ExposureWindow data
[ ] successfully get an exposure on an iOS device using the V2 API (i.e. the You've been exposed screen is displayed)

Note: We may need to set a value for "days since onset of symptoms" for all of the uploaded TemporaryExposureKeys when switching to V2

 Perform an exposure check using the V2 API


SetBiosConfiguration(ctx, biosConfig) & ResetBiosConfiguration(ctx) for dell

What does this PR implement/change/remove?
This PR adds support for setting BIOS configuration values via the redfishwrapper on Dell platforms.    Additionally, the ability to perform a 'factory reset' of the BIOS configuration, also for Dell platforms, is included.
Checklist

[ ] Tests added
[ ] Similar commits squashed

The HW vendor this change applies to (if applicable)
Dell
Description for changelog/release notes
Adds SetBiosConfiguration() and ResetBiosConfiguration() to the dell provider.

Pending addition of ResetBiosConfiguration() functionality, and tests.

Added ResetBiosConfiguration() functionality.      Working up some testing now..

Nice work, mind adding in an example?

There is one, examples/bios exercises GetBiosConfiguration(), SetBiosConfiguration() and ResetBiosConfiguration()


The autoenv plugin doesn't seem to do anything

I have .env files in a bunch of directories, but I always have to source them manually. Am I doing it wrong?
This is my .zshrc:
# Path to your oh-my-zsh installation.
export ZSH=/Users/harris/.oh-my-zsh

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="robbyrussell"

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git, git-prompt, autoenv, virtualenvwrapper, thefuck)

# User configuration

export PATH=$HOME/bin:$PATH                # user scripts
export PATH=/usr/local/bin:$PATH           # homebrew
export PATH=/usr/local/sbin:$PATH          # more homebrew
export PATH=/usr/local/share/npm/bin:$PATH # npm
export PATH="$HOME/.rvm/bin:$PATH"         # rvm

source $ZSH/oh-my-zsh.sh

precmd () {
}

# Display status of last command as a traffic light.
RPROMPT="%(?.%F{green}.%F{red}%? )%{%G•%}%f"

Do you get this message? If not, then there might be something wrong with your autoenv installation...
Or it may be since we removed the custom cd function, before it used autoenv_cd by default (see commit. Since when does that happen?

I do not get that message! Hm.

Can you check if running autoenv_cd  works correctly?

hm: zsh: command not found: autoenv_cd
I'm going to try reinstalling autoenv with homebrew and see if that changes anything. Will report back.

That did not fix it, but it does seem to work if I manually run source $HOME/.autoenv/activate.sh.

You mean autoenv_cd works right? I have no idea why sourcing manually would work but the plugin doesn't. Let me get back at you later

Actually if I run the source line manually, even cd seems to run autoenv.

Ok, that is because autoenv defines a custom cd function. From your home directory, run a new zsh session with tracing enabled (zsh -xv &> tracing.log), then run exit and post the tracing.log file in a gist.

Here it is! https://gist.github.com/harrislapiroff/4962f5206466451d6ec0

OH

Heh, the commas shouldn't be there :grin:

I think the problem was that I was including commas between plugin names. Seems to be solved now.

Ahahaha, yeah. Silly me.

Thanks for your help!

:+1: Cool, you can delete the gist now. Relevant part:
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:67> plugin=git,
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:68> [ -f /Users/harris/.oh-my-zsh/custom/plugins/git,/git,.plugin.zsh ']'
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:70> [ -f /Users/harris/.oh-my-zsh/plugins/git,/git,.plugin.zsh ']'
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:67> plugin=git-prompt,
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:68> [ -f /Users/harris/.oh-my-zsh/custom/plugins/git-prompt,/git-prompt,.plugin.zsh ']'
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:70> [ -f /Users/harris/.oh-my-zsh/plugins/git-prompt,/git-prompt,.plugin.zsh ']'
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:67> plugin=autoenv,
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:68> [ -f /Users/harris/.oh-my-zsh/custom/plugins/autoenv,/autoenv,.plugin.zsh ']'
+/Users/harris/.oh-my-zsh/oh-my-zsh.sh:70> [ -f /Users/harris/.oh-my-zsh/plugins/autoenv,/autoenv,.plugin.zsh ']'


Remove Schema Validation

Pull Request
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

#143  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Oct 1, 3:50 PM EDT: @JackPlowman merged this pull request with Graphite.


tsconfig paths resolution not working in v.1.1.0

Current behavior
Path aliases specified in tsconfig are not resolved, resulting in resolution errors.
Expected behavior
TS path aliases are resolved as in previous versions. The issue is not present in v1.0.4
Issue reproduction repository
https://github.com/kaykayehnn/fork-ts-checker-webpack-plugin-paths-bug
Steps to reproduce the issue
npm install
npm start

Environment

fork-ts-checker-webpack-plugin: ^1.1.0
typescript: ^3.4.4
tslint: none
webpack: ^4.30.0
os: macOS 10.14.4

Is it resolved if you add https://www.npmjs.com/package/tsconfig-paths-webpack-plugin to your setup?
https://github.com/TypeStrong/ts-loader#baseurl--paths-module-resolution

Tried it.  It didn't work.  I think this is a regresssion.

Oh no! Will take a look today, thanks for the repro repo!

Thanks @arcanis! I really appreciate it ❤

To be sure: even in 1.0.4 the plugin is meant to be required, right? I tried downgrading on the repro repo with the same error.

Interesting. I didn't try downgrading to 1.0.4 - just adding in https://www.npmjs.com/package/tsconfig-paths-webpack-plugin - thinking that was the issue.
Given there's 2 thumbs up for this issue I think we are likely to have a regression.
@kaykayehnn it looks like your repro repo might be problematic - can you take a look please? Ideally it should work with 1.0.4 and break with 1.1.0

It seems like there's a design flaw in the TS resolveModuleNames API. The options parameter is required to call ts.resolveModuleName, but it's never passed to host.resolveModuleNames.
The documentation seems to directly pass the options from to createProgram, but that doesn't seem work with createWatchProgram which creates the options itself.
Still hoping to find a workaround, just wanted to share some context 🙂

That's really helpful! The output of this could be us opening an issue with the TypeScript repo and seeing if it's possible that could change. Fingers crossed that isn't necessary but it's worth trying. They are helpful and wonderful people 😁

Yup! In the meantime I opened #260 with a fix.
To people affected by this bug, you can workaround it right now by disabling the incremental API:
new ForkTsCheckerWebpackPlugin({
  useTypescriptIncrementalApi: false,
})

Sorry about the repo, I hadn't added tsconfig-paths-webpack-plugin. Now it should be working with 1.0.4 and throw with 1.1.0


Can't find EA Games on another disk

Describe the bug
So, I have a Game Pass subscription that come with EA Play. I installed Dragon Age Origins throught it on a secondary HDD (Where I put all my games) but Boilr can't find the game.
I think that it is important to say that EA Play are installed in one HD and the games on another one. Also, I pointed the config.toml path to where the games are installed and not where the Launcher is
To Reproduce

Install a EA Play game on another HD
Create a config.toml file and put Origin path as the folder where you installed the game
Open Boilr
Don't see your game listed

Expected behavior
To show the game installed trought EA Play
Screenshots

Desktop (please complete the following information):

OS:  Windows
BoilR Version v.1.7.6
EA Play

Did you try pointing the location with the unix path?
<OrignCompatDirectory>/pfx/dosdevices/d/Origin
I havent' got Origin app installed as of now so can't really check it mysefl.

Do you use the "Origin" client or "EA Desktop" ?
With "EA Desktop" it does not work, I have installed "Origin" and all my games were available on BoilR, even on another disk


tour: Explain slice's semicolon operator's 1st second parameters

Context: https://tour.golang.org/moretypes/8
Crap! I clicked some button too early.  OK, here's what's bugging me.
I would like a short explanation of the 2nd parameter of the slice notation. It is not intuitive to me as an experienced programmer used to 0-based indices. This prints [Paul George] but I'd like a brief explanation on the left side as to why it doesn't display Ringo too.
names := [4]string{
	"John",
	"Paul",
	"George",
	"Ringo",
}
fmt.Println(names)

I believe this is related to , if not a duplicate of, https://github.com/golang/tour/issues/66, https://github.com/golang/tour/issues/67 & https://github.com/golang/tour/issues/68 and therefore this CL is relevant: https://go-review.googlesource.com/c/44930/ which adds the following to the explanation at https://tour.golang.org/moretypes/7:

It has a simple form that specifies a low and high bound:

a[low : high]

The indices low and high select which elements of array a appear in the result.
The result has indices starting at low and length equal to high - low.

What do you think @tomcam?


discard-disable=false seems buggy

Hello,
I'm using the latest docker image and getting strange results with --discard-disabled=false.
Consider the following spec:
-------------------------------- MODULE Test --------------------------------
Init == TRUE
Next == TRUE
Inv == FALSE
=============================================================================

The command $APALACHE_HOME/script/run-docker.sh check --inv=Inv --discard-disabled=false Test.tla reports no errors.
Am I misunderstanding something or is this a bug?

Looks like a bug

Hi @nano-o, thanks for filing this!
Could you tell us if this is currently blocking your work?
We will have limited cycles to investigate during next week, but we'll get to it ASAP!

With --discard-disabled=false, checkInvariantsForPreparedTransition is not called at step 0 (isNext == false):
https://github.com/informalsystems/apalache/blob/44bd91c60e207f44a8ee4804bb9bdcd9639ab70f/tla-bmcmt/src/main/scala/at/forsyte/apalache/tla/bmcmt/SeqModelChecker.scala#L280-L282
Also, mayChangeAssertion is true at step 0 but false on steps >= 1.
--discard-disabled=true is unaffected because it goes into a different code path here:
https://github.com/informalsystems/apalache/blob/44bd91c60e207f44a8ee4804bb9bdcd9639ab70f/tla-bmcmt/src/main/scala/at/forsyte/apalache/tla/bmcmt/SeqModelChecker.scala#L226

@nano-o This should be fixed and included in the next release.
Thanks again for filing this!


[Improvement] TrinoIT should use the latest CI image of Hive

What would you like to be improved?
The gravitino-ci-hive image was updated to 0.1.13:
https://github.com/apache/gravitino/blob/f3b4c3a405fc9229806bcb520fc9c6bba0ab9440/docs/docker-image-details.md?plain=1#L146
But the TrinoIT still using 0.1.12:
https://github.com/apache/gravitino/blob/f3b4c3a405fc9229806bcb520fc9c6bba0ab9440/integration-test/trino-it/docker-compose.yaml#L24
How should we improve?
Let's standardize the hive image version usage

OK


Palloquin patch 2

added setting allowManualDefault
when set to false the user can not select the 'default' or 'empty' setting anymore once set.

Hello Palloquin,
can you just add a class when the allowManualDefault is set to false.
in line ~215, method wrapElement(), you can name the class "candlestick-default-disabled"
And i see an other thing, ~line 115, in switch case 'default', when allowManualDefault is set to false, you have to disable the reset action.
Ex (I do not test)
var candlestick = candlestickLightInitialize($(this), defaults);
if (defaults.allowManualDefault) {
    candlestick.defaultOrganization();
    candlestick.setValue(0);
}

And can you use gulp to minimize the js and add it to commit, thx.
Edouard

Hi Edouard,
Added the steps requested, just not sure how to gulp something..

Palloquin,
You know gulpjs  ?
If you don't, you have to install it and update to load librairies i use
npm install --global gulp-cli
npm update
```

and to launch the minimize

```ssh
gulp
```

if not a success, i will do.
I'm checking your code.

Edouard

Hi, No I don't know glubjs. Nor do I use npm... I just edited the file on the GitHub site without using any local client.
Thanks!

Ok, i will do it.
I will merge it later tonigth.
Thanks for contribution


can't get depth image

Required Info

Camera Model
D435

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Win (10)

Platform
PC

SDK Version
legacy / 2.0

Language
C++/opencv

Issue Description
<Describe your issue / question / feature request / etc..>
`
int main()
{
rs2::colorizer c;
rs2::pipeline pipe;
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_COLOR, 640, 480, RS2_FORMAT_BGR8, 30);
cfg.enable_stream(RS2_STREAM_DEPTH, 640, 480, RS2_FORMAT_Z16, 30);
rs2::pipeline_profile profile = pipe.start(cfg);
auto depth_stream = profile.get_stream(RS2_STREAM_DEPTH).asrs2::video_stream_profile();
auto color_stream = profile.get_stream(RS2_STREAM_COLOR).asrs2::video_stream_profile();
while (true)
{
rs2::frameset frames = pipe.wait_for_frames();
rs2::frame color_frame = frames.get_color_frame();
rs2::frame depth_frame = frames.get_depth_frame();
Mat color(Size(640, 480), CV_8UC3, (void*)color_frame.get_data(), Mat::AUTO_STEP);
Mat depth(Size(640, 480), CV_8UC3, (void*)depth_frame.get_data(), Mat::AUTO_STEP);
//imshow("1", color);
imshow("2", depth);
waitKey(10);
}

return 0;

}`
when I ran codes,I got terrible image ,and seconds later ,program stopped.

@tonyjonyjack , the corrupted image is due to incorrect imshow-ing depth raw data is 16 bit-

Mat depth(Size(640, 480), CV_8UC3, (void*)depth_frame.get_data(), Mat::AUTO_STEP);

The two immediate methods to fix it:

Convert raw depth into colored map, then render it as RGB (#4362). Note that while it is convenient for human presentation, in most cases you will not be able to extract depth from the resulted image.

Treat the depth image in OpenCV as native 16 bit data (#3371)

Mat depth(Size(frame_w, frame_h), CV_16UC1, (void *) depth_frame.get_data(), Mat::AUTO_STEP).

Note that while this method will preserve the actual depth,which makes it desirable for CV/Matlab manipulations it is also makes it hard for human interpretation #4289

@tonyjonyjack , did you manage to rectify the issue accordingly?

@tonyjonyjack Did you get chance to try as ev-mp suggested? Looking forward to your update. Thanks!

@tonyjonyjack Any update from your side? Thanks!

@tonyjonyjack No feedback from your side for weeks. Will close the issue at this point. Please feel free to create new one if you still have issues/questions. Thanks!


Implement admin dashboard link logic

No button for non-admin users:

LGTM

LGTM

do you want to maybe approve it?


[CheryrPick of #31509] Filter out tests for unsupported features for Spark.

Cherry pick of #31509.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @kennknowles


Make a version of serial_solve that doesn't depend on blas.

This would involve the following steps:

have a custom code to invert small matrices (or solve small systems)
write parallel code to solve many matrices at once

The goal would be to have multiple cuda threads perform matrix inversion in GPU memory, without relying on dynamic parallelism.
Performance is not a primary issue here, since the part is not a bottleneck of solution algorithm. However it is important that data remain on the GPU.
References:

some BSD inspiration : https://devtalk.nvidia.com/default/topic/503069/cuda-programming-and-performance/batched-solver-code-available/#entry1296427
https://devtalk.nvidia.com/default/topic/483077/lots-of-small-matrices/

There is one: serial_solve_numba.


importHref missing from Polymer.Element

This isn't listed as one of the "removed APIs".
Is this one of the "sugared utility APIs" described in the README? It seems like a non-trivial amount of code to do it right, and we use it heavily.

In particular, currently used for PRPL pattern, so Shop, PSK, etc.

Per discussions: importHref isn't instance-related, and the core team is trying to remove non-instance related methods from the instance and make them available some other way.
Where this ends up (and whether it comes with polymer-element.html by default or is loaded as part of a separate import) is TBD. For the time being, you can do this:
<!-- load full polymer import, not polymer-element -->
<link rel="import" href="/path/to/polymer/polymer.html">

 ...
Polymer.Base.importHref(url, onLoad, onError, async);

Since it's not an instance method, the onLoad and onError callbacks need to be bound to this to be equivalent to the instance method. However, in ES6 this can be as simple as:
Polymer.Base.importHref('/foo/bar', ()=>this.onLoad(), ()=>this.onError(), true);

cc: @sorvell to see if I got that all right.

We're inclined to move this to Polymer.Utils.importHref. We'll continue to keep the existing instance method in Polymer.LegacyElement (aka what you get when call Polymer({...}).

Resolved via https://github.com/Polymer/polymer/pull/4091


Reqest for Enhancement: Installation of  Qt IFW

First of all, thank you for this project. If you want to add a note to the README, I've tested it successfully with GH actions. :+1:
That said, is there any way to install Qt IFW other than the Qt libraries?

Thank you for utilize. I'd like to add use cases on README.
And good question here. I'd like to extend the tool to support Qt Tools.

I'd like to extend the tool to support Qt Tools.

Do you mean that it doesn't support them yet?
That was my guess actually.

Here is a quite experimental implementation for installation for IFW
https://github.com/miurahr/aqtinstall/tree/topic-tools
Feedback is welcome.

README said Tools installation is not supported yet.

now branch is degraded and lost code. pls wait a re implementation.

https://github.com/miurahr/aqtinstall/tree/topic-tools
command line
python -m aqt tool tools windows 3.1.1 tools_ifw qt.tools.ifw.31

README said Tools installation has not been supported yet.

Yeah, I saw that part and switched to a manual download of the installer + a script to make it run as if it were headless.
I'm no longer using aqtinstall, I'm sorry.

There is no request now for it.


Syntex: moving 2022-09-15-preview version from azure-rest-api-specs-pr/RPSaaSMaster to azure-rest-api-specs/main

ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[x] Other, please clarify - Moving 2022-09-15-preview API version from RPSaaSMaster to main to remove the version from AFEC feature protection

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month. 11/2022
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month. 10/2022
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

Please note:

the first 3 commits are simply cherry-picks from azure-rest-api-spec-pr/RPSaaSMaster branch
the 4th commit removes API versions that we don't want to move from azure-rest-api-specs-pr/RPSaaSMaster to azure-rest-api-specs/main.

Thanks for the detailed explanation, this is helpful for reviewing.

In reply to:<PHONE_NUMBER>

Based on the comment above
Please ensure to respond feedbacks from the ARM API reviewer. When you are ready to continue the ARM API review, please remove ARMChangesRequested
I removed ARMChangesRequested after the PR has been approved, and open-api-workflow-bod added WaitForARMFeedback.  I'm not sure what to do now.


Long keys for MySQL older than 5.7

The table creation process fails on MySQL 5.5.52 with the following error:

Migration V1__Initial_Setup.sql failed
SQL State  : 42000
Error Code : 1071
Message    : Specified key was too long; max key length is 767 bytes
Location   : db/migration/V1__Initial_Setup.sql (/usr/local/bin/file:/usr/local/bin/mojito-webapp-0.57.jar!/db/migration/V1__Initial_Setup.sql)
Line       : 32
Statement  : alter table asset add constraint UK__ASSET__REPOSITORY_ID__PATH unique (repository_id, path)

As fas as I can see, the "asset" table column "path" is 255 characters long, which would already exceed the 767 bytes key limit, since utf8mb4 is 4 bytes per character.
A possible workaround might be turning "innodb_large_prefix" on, but still doesnt' help on my Ubuntu 14.04 and MySQL 5.5.52

@dbek , Mysql doc also mention innodb_file_format could you check this config as well?

innodb_large_prefix is enabled by default in MySQL 5.7.7. This change coincides with the default value change for innodb_file_format, which is set to Barracuda by default in MySQL 5.7.7. Together, these default value changes allow larger index key prefixes to be created when using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED. If either option is set to a non-default value, index key prefixes larger than 767 bytes are silently truncated.

@aurambaj , changed it also in my.cnf, so this query:
select @@innodb_large_prefix, @@innodb_file_format;
now returns
1; Barracuda
Didn't help though, still got the same error. This definitely lies within the MySQL configuration, not an app issue, since I've tried it on MySQL 5.7.9 and it works just fine (btw, these globals have the same values of 1 and Barracuda on a newer version).

@aurambaj , I think a possible solution might be to add ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED to table creation, this actually helps. After setting the innodb_large_prefix=1 and innodb_file_format=Barracuda, of course.

Great that makes sense based on the documentation.

@aurambaj , well, shouldn't it be actually added to source code? :) I can't find another way to fix this for MySQL older than 5.7.

@dbek What do you mean by added to source code?

@aurambaj The database structure is created on first app start, right? And there is no way to specify the use of ROW_FORMAT=DYNAMIC on a table except for its create statement. This should be added as a hint for entities (which might be affected by the 767 byte key limit), or a global hibernate configuration (not sure if hibernate has this fine tuning option, quick searching shows this stackoverflow question, not an elegant solution though).

And yes - MySQL has the 'innodb_default_row_format' global variable, but - only since 5.7 :)

@dbek  hm, I was expecting innodb_default_row_format to be available. I need to do some more digging ( not fan of the Hibernate hack). it might be possible to restrict the part that is indexed via hibernate annotation or change the type but I think there is other tables that would be impacted.

@aurambaj , in fact, I've seen that there is an option to specify the indexed length of a varchar field like so: (repository_id(186), path). Might be an acceptable option as well, if supported by previous MySQL releases.

Won't fix, assuming MySQL 5.7 is a requirement. Possible workaround is to create the schema manually.


Adding method traces can break ruby module constant resolution

Description
module Foobar
  include NewRelic::Agent::MethodTracer
  TESTCONSTANT = "bar"

  def foo
    nil
  end
  #add_method_tracer :foo
end

class Bar
  include NewRelic::Agent::MethodTracer
  include Foobar

  def test
    nil
  end
  add_method_tracer :test
end

[1] pry(main)> Foobar::TESTCONSTANT
=> "bar"
[2] pry(main)> Bar::TESTCONSTANT
=> "bar"

But when the method tracer in Foobar is added the suddendly Bar::TESTCONSTANT is undefined:
module Foobar
  include NewRelic::Agent::MethodTracer
  TESTCONSTANT = "bar"

  def foo
    nil
  end
  add_method_tracer :foo
end

class Bar
  include NewRelic::Agent::MethodTracer
  include Foobar

  def test
    nil
  end
  add_method_tracer :test
end

[1] pry(main)> Foobar::TESTCONSTANT
=> "bar"
[2] pry(main)> Bar::TESTCONSTANT
NameError: uninitialized constant Bar::TESTCONSTANT
from org/jruby/RubyModule.java:3948:in `const_missing'

Expected Behavior
Bar::TESTCONSTANT should still resolve correctly
Your Environment

newrelic_rpm 8.8.0
jruby <IP_ADDRESS> (2.6.8) 2022-03-23 eff48c1ebf OpenJDK 64-Bit Server VM 11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> on 11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> +jit [x86_64-linux]

It  WORKS with ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] but not with above mentioned jruby version
It might be a jruby issue? Not sure though

@Goltergaul Thank you for reporting this issue you are experiencing. I appreciate the reproduction snippet, with that I was able to reproduce the issue. I was able to narrow in on our use of Module#prepend as the cause of the issue. In 8.0.0, we refactored add_method_tracer to use Module#prepend instead of method chaining, and saw that versions of the agent prior to this does not experience the same issue.
I checked all of our supported ruby versions, and can confirm that this issue is only present when using jruby. Using your example, I modified the code to do the most basic version of what the agent is doing when tracing methods (using prepend when add_method_tracer is called), and I was able to reproduce the issue without the ruby agent.  Using the code below, I was able to reproduce the exact same NameError: uninitialized constant Bar::TESTCONSTANT when using jruby.
module PrependTest
  def foo
    nil
  end
end

module Foobar
  prepend PrependTest
  TESTCONSTANT = "bar"
  def foo
    nil
  end
end

class Bar
  include Foobar
  def test
    nil
  end
end

Foobar::TESTCONSTANT
Bar::TESTCONSTANT

This looks like it's a bug in the jruby language unfortunately. I opened an issue in the jruby repo to report this bug to them https://github.com/jruby/jruby/issues/7256
In the meantime, while not ideal because it would be missing out on newer agent features, older versions of the agent < 8.0.0 should be able to use add_method_tracer since it is using the older style of alias_method instead of Module#prepend.
I'm going to go ahead and close this issue because I don't believe there is much we'll be able to do about this bug on the ruby agent team, unfortunately. I'm sorry we don't have a solution for this issue, but please let me know if there is anything I can do to help.

@tannalynn Thank you for your swift help diagnosing the issue. Appreciate it!

Thanks @tannalynn we'll track the jruby issue


Model instantiation without loading from disk

🚀 The feature
So far, the only way to use a model from torchvision is through loading a jit checkpoint from the disk like so:
#include <torch/script.h>

#include <iostream>
#include <memory>

int main(int argc, const char* argv[]) {
  if (argc != 2) {
    std::cerr << "usage: example-app <path-to-exported-script-module>\n";
    return -1;
  }

  // Deserialize the ScriptModule from a file using torch::jit::load().
  std::shared_ptr<torch::jit::script::Module> module = torch::jit::load(argv[1]);

  assert(module != nullptr);
  std::cout << "ok\n";
}

The feature that I would like to propose is to purge away the need to have a precompiled jit file and integrate a methodology in the C++ PyTorch frontend that can easily instantiate any torchvision.models file as easily as in Python. For example:
#include <torch/script.h>

#include <iostream>
#include <memory>

int main(int argc, const char* argv[]) {
  std::shared_ptr<torch::jit::script::Module> module = torch::jit::load(torchvision::models::resnet50);

  assert(module != nullptr);
  std::cout << "ok\n";
}

Motivation, pitch
There shouldn't be any dependencies between the Python frontend and the C++ frontend. Specifically, there are projects that leverage the C++ PyTorch API solely, and in that case, the developers have to invoke every time a Python script before the utilization of their framework just to create an instance of the desired model from torchvision.models to then use their framework. This is a timely process, particularly if there is frequent model change at runtime.
Specific use case:
I am building a framework that is connected with Torch TensorRT and utilizes NVIDIA NVDLAs of Jetson boards. However, every time I query my framework for some workload, I have to first use Python and compile a jit instance to later load in my framework. This creates a huge overhead and since disk operations are most timely, it defeats the whole purpose of using C++ to accelerate the process.

Hello @NicolasHug,
Thank you for your prompt response.

It wouldn't completely address your situation, but is it feasible for you to create the scripted model (in Python) once and for all and just load that one file every time?

This would be a nice solution to my problem. However, my domain primarily evolves around embedded systems, where the workload changes rapidly and frequently. In particular, regarding the case of edge data centers, there are various clients with different needs who post different queries on the edge systems. Therefore, these constrained devices must be capable of quickly serving each client. I opted for torch/TensorRT to boost the performance of my framework. However, there is a huge computational burden and, worse of all, a power burden if I have to read the memory too frequently. Furthermore, due to the variety of available torch models (torchvision alone has more than 70 models), the solution of storing several hundreds of GBs on the embedded devices is not scalable and cannot streamline efficiency. I strongly think that my use case is not an extreme scenario and that torch/TensorRT primarily targets such cases where performance and efficiency are primary challenges.
I also reviewed the pull request referenced. As pointed out, the models there are old and point to a rather old release of torchvision.
Overall, I think that in the case of torch/TensorRT, there is a huge benefit to reinstating and maintaining the CPP models. This is due to the target group that torch/TensorRT attracts, which mostly chases performance, efficiency, and scalability in constrained devices.