[jenkins-backend] If Jenkins returns 'null' for an action, backend stops working

Expected Behavior
When retrieving Jenkins job, the property "actions" might contain null values. These should be handled gracefully by the plugin, not affecting the functionality.
Actual Behavior
When a jenkins job returns a 'null' value for an action, an error is shown in the server log.
The frontend then just shows the loading animation endlessly.
Steps to Reproduce
My Jenkins (Version 2.303.2) returns "null" as a value in the actions array for some jobs, like this:
    "actions": [
        {
            "_class": "hudson.model.ParametersDefinitionProperty",
            "parameterDefinitions": [
                {
                    "_class": "hudson.model.StringParameterDefinition",
                    "defaultParameterValue": {
                        "_class": "hudson.model.StringParameterValue",
                        "value": "master"
                    },
                    "description": "",
                    "name": "BRANCH",
                    "type": "StringParameterDefinition"
                }
            ]
        },
        {},
        {},
        {},
        null,
        {},
        {},
        {},
        {
            "_class": "hudson.plugins.jobConfigHistory.JobConfigHistoryProjectAction"
        },
        {},
        {},
        {},
        {},
        {
            "_class": "org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction"
        },
        {
            "_class": "org.jenkinsci.plugins.testresultsanalyzer.TestResultsAnalyzerAction"
        },
        {},
        {
            "_class": "com.cloudbees.plugins.credentials.ViewCredentialsAction"
        }
    ],

This leads to the error above.
Context
This behavior leads to no jobs being shown.
The error log:
[1] 2022-03-14T15:08:11.602Z backstage error Cannot read properties of null (reading '_class') type=errorHandler stack=TypeError: Cannot read properties of null (reading '_class')
[1]     at /home/sanders/backstage/backstage/backstage-service/node_modules/@backstage/plugin-jenkins-backend/dist/index.cjs.js:229:63
[1]     at Array.filter (<anonymous>)
[1]     at Function.extractScmDetailsFromJob (/home/sanders/backstage/backstage/backstage-service/node_modules/@backstage/plugin-jenkins-backend/dist/index.cjs.js:229:37)
[1]     at _JenkinsApiImpl.augmentProject (/home/sanders/backstage/backstage/backstage-service/node_modules/@backstage/plugin-jenkins-backend/dist/index.cjs.js:190:40)
[1]     at _JenkinsApiImpl.getProjects (/home/sanders/backstage/backstage/backstage-service/node_modules/@backstage/plugin-jenkins-backend/dist/index.cjs.js:142:30)
[1]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
[1]     at async /home/sanders/backstage/backstage/backstage-service/node_modules/@backstage/plugin-jenkins-backend/dist/index.cjs.js:314:22

Your Environment

Browser Information: all browsers (Chrome, Firefox...)

Output of yarn backstage-cli info:

OS:   Linux 5.13.0-28-generic - linux/x64
node: v16.13.0
yarn: 1.22.17
cli:  0.15.3 (installed)

Dependencies:
  @backstage/app-defaults                               0.2.1
  @backstage/backend-common                             0.13.0
  @backstage/catalog-client                             0.8.0, 0.9.0
  @backstage/catalog-model                              0.12.1, 0.13.0
  @backstage/cli-common                                 0.1.8
  @backstage/cli                                        0.15.3
  @backstage/config-loader                              0.9.7
  @backstage/config                                     0.1.15
  @backstage/core-app-api                               0.6.0
  @backstage/core-components                            0.9.1
  @backstage/core-plugin-api                            0.8.0
  @backstage/errors                                     0.2.2
  @backstage/integration-react                          0.1.25
  @backstage/integration                                0.8.0
  @backstage/plugin-api-docs                            0.8.2
  @backstage/plugin-app-backend                         0.3.29
  @backstage/plugin-auth-backend                        0.12.1
  @backstage/plugin-auth-node                           0.1.5
  @backstage/plugin-catalog-backend-module-bitbucket    0.1.0
  @backstage/plugin-catalog-backend                     0.24.0
  @backstage/plugin-catalog-common                      0.2.2
  @backstage/plugin-catalog-graph                       0.2.14
  @backstage/plugin-catalog-import                      0.8.5
  @backstage/plugin-catalog-react                       0.8.1, 0.9.0
  @backstage/plugin-catalog                             0.10.0
  @backstage/plugin-github-actions                      0.5.2
  @backstage/plugin-jenkins-backend                     0.1.18
  @backstage/plugin-jenkins-common                      0.1.1
  @backstage/plugin-jenkins                             0.7.1
  @backstage/plugin-kubernetes-backend                  0.4.12
  @backstage/plugin-kubernetes-common                   0.2.7
  @backstage/plugin-kubernetes                          0.6.2
  @backstage/plugin-org                                 0.5.2
  @backstage/plugin-permission-common                   0.5.2
  @backstage/plugin-permission-node                     0.5.4
  @backstage/plugin-permission-react                    0.3.3
  @backstage/plugin-proxy-backend                       0.2.23
  @backstage/plugin-scaffolder-backend                  0.18.0
  @backstage/plugin-scaffolder-common                   0.3.0
  @backstage/plugin-scaffolder                          0.15.0
  @backstage/plugin-search-backend-node                 0.5.1
  @backstage/plugin-search-backend                      0.4.7
  @backstage/plugin-search-common                       0.3.1
  @backstage/plugin-search                              0.7.3
  @backstage/plugin-sonarqube                           0.3.2
  @backstage/plugin-tech-insights-backend-module-jsonfc 0.1.13
  @backstage/plugin-tech-insights-backend               0.2.9
  @backstage/plugin-tech-insights-common                0.2.3
  @backstage/plugin-tech-insights-node                  0.2.7
  @backstage/plugin-tech-insights                       0.1.12
  @backstage/plugin-tech-radar                          0.5.9
  @backstage/plugin-techdocs-backend                    0.14.2
  @backstage/plugin-techdocs-node                       0.11.12
  @backstage/plugin-techdocs                            0.15.1
  @backstage/plugin-user-settings                       0.4.1
  @backstage/release-manifests                          0.0.2
  @backstage/search-common                              0.3.1
  @backstage/test-utils                                 0.3.0
  @backstage/theme                                      0.2.15
  @backstage/types                                      0.1.3
  @backstage/version-bridge                             0.1.2

Jenkins backend iterates over the actions array in several places and there's no null check in place, causing the error and disrupting the backend so that no jobs are shown, even if there are other jobs in the same jenkins folder which are not affected.

Here is the diff with the proposed solution:
diff --git a/plugins/jenkins-backend/src/service/jenkinsApi.ts b/plugins/jenkins-backend/src/service/jenkinsApi.ts
index da16bbc553..c42051af84 100644
--- a/plugins/jenkins-backend/src/service/jenkinsApi.ts
+++ b/plugins/jenkins-backend/src/service/jenkinsApi.ts
@@ -14,9 +14,9 @@
  * limitations under the License.
  */

-import type { JenkinsInfo } from './jenkinsInfoProvider';
+import { JenkinsInfo } from './jenkinsInfoProvider';
 import jenkins from 'jenkins';
-import type {
+import {
   BackstageBuild,
   BackstageProject,
   JenkinsBuild,
@@ -211,7 +211,7 @@ export class JenkinsApiImpl {
       build.actions
         .filter(
           (action: any) =>
-            action._class === 'hudson.plugins.git.util.BuildData',
+            action?._class === 'hudson.plugins.git.util.BuildData',
         )
         .map((action: any) => {
           const [first]: any = Object.values(action.buildsByBranchName);
@@ -253,7 +253,7 @@ export class JenkinsApiImpl {
     const scmInfo: ScmDetails | undefined = project.actions
       .filter(
         (action: any) =>
-          action._class === 'jenkins.scm.api.metadata.ObjectMetadataAction',
+          action?._class === 'jenkins.scm.api.metadata.ObjectMetadataAction',
       )
       .map((action: any) => {
         return {
@@ -272,7 +272,7 @@ export class JenkinsApiImpl {
     const author = project.actions
       .filter(
         (action: any) =>
-          action._class ===
+          action?._class ===
           'jenkins.scm.api.metadata.ContributorMetadataAction',
       )
       .map((action: any) => {
@@ -287,7 +287,9 @@ export class JenkinsApiImpl {
     return scmInfo;
   }

-  private getTestReport(build: JenkinsBuild): {
+  private getTestReport(
+    build: JenkinsBuild,
+  ): {
     total: number;
     passed: number;
     skipped: number;
@@ -297,7 +299,7 @@ export class JenkinsApiImpl {
     return build.actions
       .filter(
         (action: any) =>
-          action._class === 'hudson.tasks.junit.TestResultAction',
+          action?._class === 'hudson.tasks.junit.TestResultAction',
       )
       .map((action: any) => {
         return {

An upgrade to Jenkins 2.332.1 didn't solve the problem, either.

Oh wow, that response shape looks terrible, what a mixed bag.
We'd love to get help addressing those null checks - we the maintainers don't have a test bed for jenkins so we'd be running a bit blind in trying to address all places where the problem might crop up. Contributions would be super welcome, and we are happy to review and try to push them through afterwards.

@freben as you see in the diff, I added a simple null pointer check. I even created a changeset on my local machine, including tests. However, I can't seem to create a branch on the repository, hence I can't create a pull request.
Can you help me out here?

@yarodinD you need to fork the repo and then create a pull request towards the backstage.

PR with fix was merged: https://github.com/backstage/backstage/pull/10455


ROX-15337: Bump required OCP version to 4.10+ for the operator

Description
Note: this is upstream change. The downstream change is done separately, the status can be checked in
https://issues.redhat.com/browse/ROX-15337
From my reading of

https://redhat-connect.gitbook.io/certified-operator-guide/ocp-deployment/operator-metadata/bundle-directory/managing-openshift-versions
https://docs.openshift.com/container-platform/4.12/operators/operator_sdk/osdk-working-bundle-images.html

the operator will not be published to OCP operator catalogs that fall outside of range, but it does not seem that OCP with earlier version will reject installing the operator. That's what I'll check when testing manually.
Checklist

[x] Investigated and inspected CI test results
[ ] Unit test and regression tests added - won't do in the scope of this task. Have https://issues.redhat.com/browse/ROX-16277 to implement automated tests. This time will test manually.
[x] Evaluated and added CHANGELOG entry if required

These aren't needed and won't be done:

[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

Testing Performed

Relying on CI.
[x] Tested manually whether OCP 4.8/4.9 does not allow installing the operator.

OCP does not prevent operator from installing (tested manually with v4.8.57). This confirms that the leveraged setting controls only versions of OpenShift catalogs that get the operator published.

Nongroovy e2e tests seem to run against GKE cluster therefore the change here should not cause the observed failure. Merging.


refactor: code separation and better check status

This PR refactor a few codes to split the helper utilities and also change the status posted from success to neutral if no approval is granted for a pull request.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

See the complete overview on Codacy


add faiss test for score threshold

What

Add faiss vector search test for score threshold
Fix failing faiss vector search test; filtering with list value is wrong.

thanks @shibuiwilliam!


PermissionError: [Errno 13] Permission denied: '/home/xxx'

Rally version (get with esrally --version):  the one ship with docker
Invoked command:
version: '3.4'

services:
  rally:
    image: elastic/rally:2.3.1
    command:
      - race
      - --track=geonames
      - --test-mode
      - --pipeline=benchmark-only
      - --target-hosts=es-1.${BASE_DOMAIN}:16661,es-2.${BASE_DOMAIN}:16662,es-3.${BASE_DOMAIN}:16663
      - --challenge=append-no-conflicts
      - --car=8gheap
      - --client-options=use_ssl:true,verify_certs:false,basic_auth_user:'elastic',basic_auth_password:'${ADMIN_PASSWORD}'
    volumes:
      - /home/yuki/rally/rally/rally.ini:/rally/.rally/rally.ini

Configuration file (located in ~/.rally/rally.ini)): the one ship with docker
JVM version: the one ship with docker
OS version: the one ship with docker
Description of the problem including expected versus actual behavior:
After docker-compose up I got:
[INFO] Race id is [47acbf53-f23f-415c-9461-74e093338094]
[ERROR] Cannot race. Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/esrally/actor.py", line 92, in guard
    return f(self, msg, sender)
  File "/usr/local/lib/python3.8/site-packages/esrally/racecontrol.py", line 110, in receiveMsg_Setup
    self.coordinator.setup(sources=msg.sources)
  File "/usr/local/lib/python3.8/site-packages/esrally/racecontrol.py", line 194, in setup
    self.current_track = track.load_track(self.cfg)
  File "/usr/local/lib/python3.8/site-packages/esrally/track/loader.py", line 191, in load_track
    repo = track_repo(cfg)
  File "/usr/local/lib/python3.8/site-packages/esrally/track/loader.py", line 284, in track_repo
    return GitTrackRepository(cfg, fetch, update)
  File "/usr/local/lib/python3.8/site-packages/esrally/track/loader.py", line 320, in __init__
    self.repo = repo_class(remote_url, tracks_dir, repo_name, "tracks", offline, fetch)
  File "/usr/local/lib/python3.8/site-packages/esrally/utils/repo.py", line 43, in __init__
    git.clone(src=self.repo_dir, remote=self.url)
  File "/usr/local/lib/python3.8/site-packages/esrally/utils/git.py", line 52, in clone
    io.ensure_dir(src)
  File "/usr/local/lib/python3.8/site-packages/esrally/utils/io.py", line 231, in ensure_dir
    os.makedirs(directory, mode, exist_ok=True)
  File "/usr/local/lib/python3.8/os.py", line 213, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/local/lib/python3.8/os.py", line 213, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/local/lib/python3.8/os.py", line 213, in makedirs
    makedirs(head, exist_ok=exist_ok)
  [Previous line repeated 1 more time]
  File "/usr/local/lib/python3.8/os.py", line 223, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/home/yuki'

Getting further help:
*********************
* Check the log files in /rally/.rally/logs for errors.
* Read the documentation at https://esrally.readthedocs.io/en/2.3.1/.
* Ask a question on the forum at https://discuss.elastic.co/tags/c/elastic-stack/elasticsearch/rally.
* Raise an issue at https://github.com/elastic/rally/issues and include the log files in /rally/.rally/logs.

-------------------------------
[INFO] FAILURE (took 4 seconds)
-------------------------------

Steps to reproduce:
just run the docker-compose.yml provided above, my user id (yuki) is 1000, and I'll get this error, when I provide custom rally.ini. If I don't provide custom rally.ini with volume mount, everything is fine.
Here is the doc I reference:
https://esrally.readthedocs.io/en/stable/docker.html
Provide logs (if relevant):

Sorry for the noise. I made some mistake in rally.ini which points to my host path.


Include processing options

Include processing options such as

size for binning
loop editing parameters

from an options file.

Possibly also allow changing default processing parameter ranges in the options file (see #31).


Add License at the top of individual files

lit-gpt is being used in other projects, often vendored (individual files taken out and reused).
This is not a bad thing per se, but we need to make sure the license and authorship are clear when this happens.
This PR adds licenses at the top of every file, just like we do for PyTorch Lightning and Fabric.

The idea is that whenever someone wants to use the code in their codebase he/she will have to expand

Copyright Lightning AI. Licensed under the Apache License 2.0, see LICENSE file.

into what @lantiga added before (before reopen this PR)?

Hey @Andrei-Aksionov, other developers will just need to retain this line.
What I added before is a bit wall-of-text-y and we decided to have a fully equivalent one-liner

I agree, previously it was a bit too much of a text.
Just for confirmation, every project that uses code from Lit-GPT has to also have Apache License 2.0 license and that what makes it "a fully equivalent one-liner"?

I would like to unwrap what I've meant.
This part bogs me a bit:

see LICENSE file.

Now it points to a LICENSE file that every repo has and, in the case of this repo, it is Apache License 2.0.
But if anyone copy any file with this line "as is" and the destination repo has a different license, then see LICENSE file will point to a "wrong" license.
Does it make sense?
So perhaps it should be something like:

Copyright Lightning AI. Licensed under the Apache License 2.0, see https://www.apache.org/licenses/LICENSE-2.0.

or a shorter version:

Copyright Lightning AI. Licensed under https://www.apache.org/licenses/LICENSE-2.0.


Editing HTML pages crashes VS

Whenever I type anything into an HTML document inside a node.js project, vs2015 will completely crash.

This doesn't sound like an NTVS issue (we don't modify the behavior for HTML files).

does the issue occur with other project types?
could you share the corresponding error event information from the Windows event log when this issue occurs?

Is anyone else running into this? If we want to fix this, we need to get it into the next VS Update, so we'd very much appreciate any help here.

Closing as we haven't heard back and can't repro.


Add back in length check to fail H2 headers with no name.

Fix I am testing for issue #2051

[approve ci autest]

[approve ci autest]

Cherry-picked to 7.1.x as well.

Just adding a note, that we finally got to run this 24 hours in productions successfully without crash.


Publishable package

This closes #264.
A python mostly-followed best-practice is to name the main folder after your package name. This is what I did here.
I then tried to package it with poetry build, everything runs fine.
The package is usable in another project, which is perfect.
I might have squatted by accident the protostar namespace in version 0.2.0 on TestPypi, let me know if you have issues because of this, we can figure out a solution.

It doesn't hurt to rename src to protostar. However, I am not sure whether we should publish Protostar in this form as the python package.
@MaksymilianDemitraszek  WDYT?

@MaksymilianDemitraszek I changed the base branch back to master because I feel you'll get a lot of conflicts merging development into master otherwise, WDYT?
If that's fine, this is ready for review

@Bernardstanislas yup it's ok, we are getting rid of development branch, leaving only master

I have to keep up with your updates on master haha
Rebasing now, let me know if the base branch is stable so that you can merge this one

Up to date!


Add feature Custom Metrics

 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.


Support checkbox in addition to radio button for multiplechoice answers

Currently, you can only choose one possible solution as the answer, would it be possible to support the selection of multiple choices as the answer?

That would certainly be possible, such a contribution is welcome. I think you could change the MultipleChoice.answer field to be of type number | number[] and change the MultipleChoice view accordingly.


Add method to use HTML template in HTML emails instead of HTML via string

Hi,
I've been using your library because of the attachment integration. I have email-templates stored as files which need execution. I've added a method which parses a HTML template and sets it to the body, it also forces the content-type to text/html, for these cases.
Example:
package email_test

import (
    "log"
    "net/mail"
    "net/smtp"

    "github.com/scorredoira/email"
)

func Example() {
    // compose the message, both NewMessage and NewHTMLMessage work
    m := email.NewMessage("Hi", "")
    m.From = mail.Address{Name: "From", Address<EMAIL_ADDRESS>    m.To =<EMAIL_ADDRESS>
    // parse html template
    if err := m.HTMLTemplate("template.html", map[string]interface{}{"Test":"string"}); err != nil {
        log.Fatal(err)
    }

    // add attachments
    if err := m.Attach("email.go"); err != nil {
        log.Fatal(err)
    }

    // send it
    auth := smtp.PlainAuth(""<EMAIL_ADDRESS>"pwd", "smtp.zoho.com")
    if err := email.Send("smtp.zoho.com:587", auth, m); err != nil {
        log.Fatal(err)
    }
}

I hope you like it. I've also optimized the Tolist() function, it now omits the loops.
Cheers!
Rik

Hi rikvdh,
I think it's better to have the templating system separated from the sending so you can compose what works best for you. For example I use different templating systems depending of the situation like github.com/benbjohnson/ego instead of the default html/template.
Thank you very much anyway!


Fix the bug where deleting HLC realtime table throws ZK exception

When we delete a HLC table, we first remove segments from property store, then drop the table
When removing segments, after we remove the IN_PROGRESS one, controller will automatically assign a new one because table is still alive, which cause ZK failed to remove the parent node.
The fix is that:
Whenever we drop a table (OFFLINE/REALTIME), we should first drop the table from Helix, then clean up the state in property store or disk

Codecov Report

Merging #1672 into master will increase coverage by 0.13%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #1672      +/-   ##
=========================================
+ Coverage   67.87%     68%   +0.13%
=========================================
  Files         829     829
  Lines       40325   40324       -1
  Branches     5306    5307       +1
=========================================
+ Hits        27369   27421      +52
+ Misses      11109   11063      -46
+ Partials     1847    1840       -7

Impacted Files
Coverage Δ

...ntroller/helix/core/PinotHelixResourceManager.java
59.91% <100%> (-0.05%)
:arrow_down:

...e/impl/dictionary/LongOnHeapMutableDictionary.java
88.88% <0%> (-6.67%)
:arrow_down:

...lix/core/realtime/PinotRealtimeSegmentManager.java
71.18% <0%> (-3.96%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
73.33% <0%> (-2.23%)
:arrow_down:

...om/linkedin/pinot/transport/netty/NettyServer.java
81.05% <0%> (-2.11%)
:arrow_down:

...filter/SortedInvertedIndexBasedFilterOperator.java
78.37% <0%> (-1.36%)
:arrow_down:

.../filter/predicate/InPredicateEvaluatorFactory.java
78.35% <0%> (ø)
:arrow_up:

...pby/NoDictionarySingleColumnGroupKeyGenerator.java
91.91% <0%> (ø)
:arrow_up:

...lter/predicate/NotInPredicateEvaluatorFactory.java
81.73% <0%> (ø)
:arrow_up:

...edin/pinot/common/metadata/ZKMetadataProvider.java
73.22% <0%> (ø)
:arrow_up:

... and 14 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 2c88c22...4a396cd. Read the comment docs.

Can you make sure that realtime segments are dropped from the realtime servers when the table is deleted?

@jfim Tested locally, segments get dropped.


Changed mochi version to 2.18.0 in entrypoint.sh

It should take version of ocs from the docker build command. I need to fix that so that it is version independent.


meta: allow base64'ed binary keys with 'b' flag

ie: ms [key] b
if 'k' flag is given and key is binary, returns as binary encoded.
key is stored in raw binary; ie takes up less storage space. Instead of storing a large UUID as a 40+ character string, you can store as a 24byte or whatever value.
TODO:

[x] Add 'b' option to ME for binary keys
[x] adding 'b' to response when 'k' is requested is the right thing to do?
[x] re-audit codebase to ensure binary keys don't leak anywhere. This should've been done a long time ago.
[x] check against proxy branch: the inline decoding of the key might make things more difficult there? but this only happens when the process_m stuff is actually run.
[x] doc/protocol.txt updates
[ ] properly calculate remaining wbuf length in META_KEY()
[ ] handle key length check in _meta_preparse to account for b64 encodings of 250 raw byte keys being longer than 250 bytes.

thinking through if using an ITEM flag is necessary:

it should be impossible to fetch a binary key without first specifying the b flag. you might be able to do it by luck so long as you never hit spaces/newlines though?
all other cases where keys are printed are either URI encoded or similar (check cachedump?)
so printback only needs to be adjusted if the request had b

probably still want to send b back in the response to make clients/proxies easier to code.
still need to audit the codebase for all ITEM_key() calls.

re: proxy, I think it's going to be fine as-is for now. the proxy's hook into the parser will be higher level (ie; process_command()), which is before key encoding/decoding. if it wants to internally call a command on a request it'll have to do it with a copy of the request string regardless since tokenize_command() mangles it.

ME now uses b. it re-encodes the key from the internal memory as an added safety check, since it was doing that before.
just need to do the ITEM_key() audit and docs now.

All done. @smukil - if you wanted to take a look before I merged.

@smukil - going to hold this off for the next release (+ hopefully someone can look at it).
need to make a high level decision on if b64 encoded keys still have a 250 byte wire limit, or if it won't pose any issues to ensure the decoded limit is 250 bytes. IE: clients will need to ensure they check length limit before encoding, but reserve buffer space for larger, etc.
250 byte raw binary key feels like a lot though.

Aiming to get this wrapped up and released this week.

handle key length check in _meta_preparse to account for b64 encodings of 250 raw byte keys being longer than 250 bytes.
I'm assuming you mean "b64 decodings" instead of "encodings".

How should we handle this? Should we reject such keys? Or is it okay to consider them valid since the value stored is still <= 250 ?

A high level question.  I'm assuming not, since I don't see any b64 encoding/decoding in the regular get code path.

Another high level question, how would the LRU metadump dump these keys? I see that the cachedump code skips over them.

I'm assuming you mean "b64 decodings" instead of "encodings".

I meant as 'encoded values being longer than 250 bytes', so decodings would be less than 250, but I think you understood :)

How should we handle this? Should we reject such keys? Or is it okay to consider them valid since the value stored is still <= 250 ?

That's the question! It's simplest to reject encoded keys that end up longer than 250 bytes but it's an artificial limit in key length.

A high level question.  I'm assuming not, since I don't see any b64 encoding/decoding in the regular get code path.

No it's not possible outside of metaget. Technically UTF8 keys always worked, unless the encodings ended up with restricted characters in them :) In any case it's useful here; it's impossible to use metaset to drop in a binary key and then accidentally fetch it using a system that can't display it properly.

If this is the case, we'd need to clearly call it out in the docs that using "ms" with the 'b' flag means it is only retrievable through "mget".

Will add more emphasis to this, yes. This is a meta only feature; the classical ascii commands aren't extensible in this way. I'd have to add a whole new set of commands to support it, which is why I went with meta with positional flags.

Another high level question, how would the LRU metadump dump these keys? I see that the cachedump code skips over them.

metadump URI encodes keys, as I wrote it to support binary keys. Everything internally had been binary clean since the binprot was added, aside from cachedump apparently.
why did I do URI encoding instead of base64 for metadump? - because typical ascii keys would stay human readable and URI encoding is a standard library in just about all modern languages. It was a very user friendly option. Should dump encoding have been a set of options? Yeah, probably. I don't have a time machine and nobody brought it up when I wrote the feature initially :)

Another high level question, how would the LRU metadump dump these keys? I see that the cachedump code skips over them.

metadump URI encodes keys, as I wrote it to support binary keys. Everything internally had been binary clean since the binprot was added, aside from cachedump apparently.

So just to be clear, if we have b64 encoded keys in memory, a metadump will URI encode said keys and print it out?
Also, a secondary patch-unrelated question. How do I run a single test from the test suite? Can I do a "make test " or something?

So just to be clear, if we have b64 encoded keys in memory, a metadump will URI encode said keys and print it out?

ms 44OG44K544OI S2 b
hi
OK
lru_crawler metadump all
key=%E3%83%86%E3%82%B9%E3%83%88 exp=-1 la=1607016606 cas=1 fetch=no cls=1 size=70

URI encoding means all non-URI printable characters get %FF'd.

Also, a secondary patch-unrelated question. How do I run a single test from the test suite? Can I do a "make test " or something?

prove t/lru-crawler.t

looks like I'm going with a non-modifying parser for the proxy code so I might need to re-evaluate how this was written. I want to reuse the meta_preparse function but can't if it's modifying the request string.
shouldn't be too bad but it does need a change.

looks like I'm going with a non-modifying parser for the proxy code so I might need to re-evaluate how this was written. I want to reuse the meta_preparse function but can't if it's modifying the request string.
shouldn't be too bad but it does need a change.

I'll wait for this change too. It looks like it may require intermediate allocations, unless I'm missing something.

I'm assuming you mean "b64 decodings" instead of "encodings".

I meant as 'encoded values being longer than 250 bytes', so decodings would be less than 250, but I think you understood :)

How should we handle this? Should we reject such keys? Or is it okay to consider them valid since the value stored is still <= 250 ?

That's the question! It's simplest to reject encoded keys that end up longer than 250 bytes but it's an artificial limit in key length.

After thinking about it, IMO rejecting such keys would be reasonable.

Think I'm going to take this as-is after double checking the TODO items. I'll feel better about the code if the decoded key only exists in function stack memory, rather than decoding from the tokenized data; but I don't have to fix that now.
I'm trending toward having a const input string. that will require a few other changes due to the tokenizer modifying the string. When that comes around I'll move the decode stage. A few other chunks of redundant meta function header code can be abstracted at the same time.

Out in 1.6.10


Do More Validation of Retrying Failed ADLS Gen2 Transfers

During the ADLS Gen2 bug bash, several members of the platform team had issues retrying failed transfers. We should do some more testing/validation around that experience.

Had the chance to do some retries today. It looks good to me.


Either fix scitype_union or provide another method

Context: https://github.com/alan-turing-institute/MLJBase.jl/issues/111
Desired
X, y = @load_crabs; y = coerce(y, OrderedFactor);
give_the_element_scitype(y) == OrderedFactor{2}

Existing
scitype(y) == AbstractArray{OrderedFactor{2}, 1}
scitype_union(y) == Multiclass{2}

(is the second one a bug?)
Possible implementation
_get_elscitype(st::Type{AbstractArray{T,N}}) where {T,N} = T
elscitype(X::AbstractArray) = scitype(X) |> _get_elscitype

(can be extended easily  to  tables etc)
Result
julia> elscitype(randn(5,5))
Continuous

julia> elscitype([0, 1, missing, 1])
Union{Missing, Count}

julia> elscitype(y)
OrderedFactor{2}

The issue here is y is essentially corrupted. The elements are indeed Multiclass, because that's what the pool of each element says, but the wrapper type (CategoricalArray) - which has its own pool, is saying the type is OrderedFactor. The source of this bug is most likely the new "magic" introduced in CategoricalArrays to automatically construct a CategoricalArray wrapper when a broadcasting operation generates a vector of categorical elements.
I will investigate further.
julia> y[1].pool.ordered
false

julia> y.pool.ordered
true

Okay, I would regard this as a bug in CategoricalArrays:
julia> v=categorical([:x, :y, :x])
3-element CategoricalArray{Symbol,1,UInt32}:
 :x
 :y
 :x

julia> vordered = categorical(v, ordered=true)
3-element CategoricalArray{Symbol,1,UInt32}:
 :x
 :y
 :x

julia> vordered[1].pool.ordered
false

https://github.com/JuliaData/CategoricalArrays.jl/issues/226

Ok no so the merge does NOT fix the issue, example
y = categorical(["up", "down", "up", "down"])
yc = coerce(y, OrderedFactor)
scitype_union(y) # multiclass

I should have tested this more extensively.
It looks like my request for elscitype still holds then...

Ok so it seems that it's the ordered! function that craps itself as noted in https://github.com/JuliaData/CategoricalArrays.jl/issues/226
I've added  an extra hack that forces the pool to  be marked as  ordered... let's hope for something better from CA soon.
With:
julia> y1 = smarket.Direction[1:10];

julia> y2 = coerce(y1, OrderedFactor);

julia> scitype_union(y2)
OrderedFactor{2}

As a side note, I still think a elscitype would be better than scitype_union which goes over all elements, while this may be  warranted in some cases, in general we don't care, we  just  want the type that appears  in scitype so the:
get_elscitype(st::Type{AbstractArray{T,N}}) where {T,N} = T
elscitype(X::AbstractArray) = scitype(X) |> _get_elscitype

that I suggested earlier, I'm opening another PR with that

The "new" issue is resolved by CategoricalArrays 0.7.3:
using RDatasets
y = smarket.Direction
y = coerce(y, OrderedFactor)

julia> scitype(y)
AbstractArray{OrderedFactor{2},1}

julia> scitype_union(y)
OrderedFactor{2}

Closing as resolved.
Will comment on elscitype suggestion at #58.


Can't create new folder to put my annotated genome into

I could create a folder, but couldn't name it.  Nor could I put my genome into an unnamed folder.  I had to put it into Genomes with all my other ones.

I see this problem.  I assume you mean creating a folder from within the "Choose or upload a workspace object" dialog.  Creating a folder from the normal workspace is working fine for me.
When you say put your genome into an unnamed folder, do you mean it wouldn't let you choose the above folder when you were doing annotation or assembly?  Or do you mean you could only create genome groups in the genome groups folder?
Dustin
On Mar 26, 2015, at 5:23 PM, ARWattam wrote:

I could create a folder, but couldn't name it. Nor could I put my genome into an unnamed folder. I had to put it into Genomes with all my other ones.
�
Reply to this email directly or view it on GitHub.

Its when I was trying to put it into a folder for download.  And its when I had uploaded contigs for annotation.
Rebecca
----- Original Message -----
From: "Dustin Machi"<EMAIL_ADDRESS>To: "PATRIC3"<EMAIL_ADDRESS>Cc: "Rebecca Wattam"<EMAIL_ADDRESS>Sent: Thursday, March 26, 2015 5:27:39 PM
Subject: Re: [patric3_website] Can't create new folder to put my annotated genome into (#120)
I see this problem.  I assume you mean creating a folder from within the "Choose or upload a workspace object" dialog.  Creating a folder from the normal workspace is working fine for me.
When you say put your genome into an unnamed folder, do you mean it wouldn't let you choose the above folder when you were doing annotation or assembly?  Or do you mean you could only create genome groups in the genome groups folder?
Dustin
On Mar 26, 2015, at 5:23 PM, ARWattam wrote:

I could create a folder, but couldn't name it. Nor could I put my genome into an unnamed folder. I had to put it into Genomes with all my other ones.
�
Reply to this email directly or view it on GitHub.

Reply to this email directly or view it on GitHub:
https://github.com/PATRIC3/patric3_website/issues/120#issuecomment-86725896

Fixed and pushed to production.


TII-266 - TurnitinOC - improve error message when retrieving reports while connectivity to TII is down

If you disable your internet connection and run the queue job, the 'last_error' column is populated with your turnitin service url's host name (because a java.net.UnknownHostException is thrown, and the exception message is just the host name). The last_error message should be replaced with something more akin to "Failed to retrieve an originality score from Turnitin"

@bbailla2, there's a conflict on this one since I just merged another one of yours, sorry!


Add feature to automatically update numbered list numbers

When creating a numbered list, sometimes I need to add/remove items in the middle of the list.  It would be nice if this extension had a feature in the Command Palette to re-number numbered lists, when ran.

This is already implemented in the preview build 😉. See a GIF first

Download v1.2.0-fix32 here
It should be released yesterday, but I found that vscode has problem showing images in changelog...

v1.3.0 released


fix bug for NW >v0.13. https://github.com/nwjs/nw.js/issues/3571

The launcher fails to boot for version of NodeWebkit above v0.13

@adamhurst Thanks for this BTW!


MessageBird Extension

I am not able to successfully process the sending of an sms through the firebase extension. Attached is the code of my js code to generate the document in the firestore collection, as well as the document created by the extension, where you can see the parameters received and the error. I have talked to messagebird support and they do not handle this error. The problem must be with firebase.
firestoredb.collection('messages').add({ channelId: 'mychannelID', originator : 'Testing', recipients : ['34689454416'], type: 'sms', body : 'This is a test', });

Thanks for the detailed error @paulaegido.
This extension is managed on the official MessageBird repository https://github.com/messagebird/firestore-send-msg/issues.
Could you update the MessageBird repository with this bug? Thanks!

Yeah, looking at the extension code, there's an explicit check that the to field exists in each message document. If you want to send in bulk, you can create one document per recipient, and each document write will trigger a separate handler to send the message.
Perhaps you can also request bulk send within a single document as a feature request on the messagebird repo :)

As stated above, it does seem like a new feature request would need to be added on the MessageBird repository if you would like to send to multiple contacts per request.
A string value will fix the current error message as stated. Examples can also be found in the POSTINSTALL https://github.com/messagebird/firestore-send-msg/blob/master/POSTINSTALL.md
Closing the issue for now.


Aggregation service setup notes, snags & suggestions.

Hello All!
Having spent the past few days on trying to get the AS live, I have been jotting down various questions, suggestions & bugs which I think could be a great addition to the documentation and workflow.
Full architecture diagram
Maybe for those who use terraform in their project this is not required, but we do not use terraform and essentially followed the instructions to get all the resources built. I have since had to traverse the GCP console to try and understand what the scripts created. A high level overview diagram with the main data flows, table names etc would be extremely useful.
Resource naming
Similar to the point above, the terraform scripts are spread over many files so it is not clear exactly what will be created. I think it would be great to have a single file config showing all the names of the resources as they are very obscure in the context of our overall infra, for example prod-jobmd, is a name of a newly created Cloud Spanner instance, which is a pretty unhelpful name. At the very least everything should be prefixed with aggregation-service, or even better allow users to transparently set this as a first step.
Resource costs
It would be good to have an understanding of the cost of the full set up at idle, and maybe have some suggestions for development and staging setups which can minimise costs by using more serverless infra for example.
Cloud Function / Run
I would suggest to drop the use of cloud functions and migrate fully to cloud run, the docs seems to use these interchangeable and although they sort of are (gen2 functions are powered by cloud run), I think this can cause extra confusion. There is also a small typo on the endpoint:
This is the value in the docs
https://<environment>-<region>-frontend-service-<cloud-funtion-id>-uc.a.run.app/v1alpha/createJob

But -uc. was -ew. in my case, so this does not seem to a value which can be hardcoded in the docs in this manner.
Known errors and solutions
Running the jobs stores a nice error in the DB, which is awesome! But even with this nice error it would be great to have a document to show common errors and their solutions. For example my latest error is:
{"errorSummary":{"errorCounts":[{"category":"DECRYPTION_KEY_NOT_FOUND","count":"445","description":"Could not find decryption key on private key endpoint."},{"category":"NUM_REPORTS_WITH_ERRORS","count":"445","description":"Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."}]},"finishedAt":"2024-04-30T13:17:24.233681575Z","returnCode":"REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD","returnMessage":"Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold."}

Which is very clear - but still does not leave me any paths open to try and rectify the issue apart from troubling people over email or in this repo :)
Some missing configuration
This was addressed in https://github.com/privacysandbox/aggregation-service/issues/48 but needs to be added to the repo.
Show data conversion flows
There are quite a few flows in which data must be converted from one format to another, for example some hashed string into a byte array, whilst it is possible to figure this out given some disparate pieces of information available in the repository it would be very useful to have a few examples for various platforms, eg:
-- Convert hashes to domain avro for processing.
CAST(FROM_HEX(SUBSTR(reports.hashed_key, 3)) AS BYTES) AS bucket

I hope you do not mind if I keep updating this issue as I hopeful near completion of getting the service up!
All the best!
D

Hi Dennis,
Thank you for sharing this detailed feedback. We have taken this and shared this internally with our team.

Hi again Dennis,
For resource costs, we are unable to include the specific costs in our documentation as this is managed by the cloud providers and could change. However, what we have documented is sizing guidance on how adtechs can calculate their costs based on the aggregation strategy.

Hi Dennis, to close out some of your other requests:

Cloud Run
This is tracked as a feature request in our backlog. We will reach out if we have more information/questions on your use case.

List of resources created
Since we recommend Terraform for deployment, we also encourage using built-in Terraform commands to list the resources created. You can navigate to the aggregation-service repo, then to each environment folder (terraform/gcp/environments/adtech_setup and terraform/gcp/environments/dev) and use terraform state list to print everything that gets created.

Architecture diagram
We've published a high-level architcture diagram and more information on what cloud resources get created on our Aggregation Service developer site.


Prevent breaking Jinja2 3x changes

Due to https://github.com/pallets/jinja/issues/1496, we cannot use the latest Jinja2 packages inside the operator. The breaking change was introduced in Jinja2's 3x branch, and this change pins the jinja2 dependency to the latest 2x release.

Already integrated into #29


AppConfig: Support CRUD of feature flags

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

Please add @shenmuxiaosen  as reviewer.

It looks a breaking change. It will be better for us to have a meeting to go through all your commands.

@avanigupta Please resolve my comments and make CI agree.

LGTM. Please consider my last suggestion and resolve the conflict.


wip

Signed-off-by: FUJITA Tomonori<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@7525403). Click here to learn what that means.
The diff coverage is 45%.

@@            Coverage Diff            @@
##             master      #69   +/-   ##
=========================================
  Coverage          ?   35.55%
=========================================
  Files             ?       58
  Lines             ?    27654
  Branches          ?        0
=========================================
  Hits              ?     9831
  Misses            ?    16796
  Partials          ?     1027

Impacted Files
Coverage Δ

pkg/server/grpc_server.go
24.63% <ø> (ø)

cmd/gobgp/cmd/common.go
15.21% <ø> (ø)

cmd/gobgp/cmd/neighbor.go
0% <0%> (ø)

pkg/server/server.go
35.49% <50%> (ø)

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 7525403...ea86117. Read the comment docs.


ci: Update ilammy/msvc-dev-cmd to 1.13 from 1.10.

This should remove most of the warnings about using older versions of NodeJS.

Thanks!


Implement OpenPBR's sheen BRDF

Description
This PR adds an implementation of the Zeltner-Burley sheen closure which is the new default in OpenPBR. I've exposed it via a new (optional) mode keyword arg in the existing closure, though it would be easy to switch the interface if needed.
The implementation is based on a fit done by Stephen Hill here: https://blog.selfshadow.com/sheen/ltc_sheen.html
Tests
I've modified the existing sheen render unit tests to use the new closure on half of the sphere so we can keep testing old and new modes.
Checklist:

[x] I have read the contribution guidelines.
[ ] I have updated the documentation, if applicable.
[x] I have ensured that the change is tested somewhere in the testsuite (adding new test cases if necessary).
[x] My code follows the prevailing code style of this project. If I haven't
already run clang-format v17 before submitting, I definitely will look at
the CI test that runs clang-format and fix anything that it highlights as
being nonconforming.

I've made the suggested changes. I also fixed the TangentFrame class so it could be used here and replace the ad-hoc one (which wasn't robust as you pointed out).
This did invalidate all the reference images with small noise differences, but I think its worth the cleanup.

@jstone-lucasfilm Do you have any preference for the keyword argument used to pick the new sheen variant?
As I've implemented it so far, using the new sheen would look like this:
Ci = sheen_bsdf (N, SheenColor, Roughness "mode", 1);

@fpsunflower @shill-lucasfilm I've had a chance to write a pull request for the mode input of sheen_bsdf in MaterialX, and I wanted to post a link here to compare notes between these two implementations:
https://github.com/AcademySoftwareFoundation/MaterialX/pull/1880
Following additional discussion with Stephen, our current thinking is that the two modes should be named conty_kulla and zeltner.  Since the Zeltner paper has three authors (Zeltner, Burley, and Chiang), it seemed incorrect to mention just two of them in the sheen option, so we're instead leaning towards zeltner as a parallel construction to "Zeltner, et al".
Let me know how this sounds to you, and I'm very open to making adjustments based on feedback from this group.

Sounds good to me.

Finally got the testsuite passing. Just needed a handful of extra reference images and had to clamp the roughness to a small value to avoid generating NaNs for the R term.
I will squash and merge since I don't believe there are any outstanding comments.
The two remaining failures also happen in main and are udim related -- I am guessing that is coming from the latest OIIO.


add new term MONDO:0100125 hallucinogen-persisting perception disorder

closes #1508

I wasn't totally sure how to reference the DSM code: DSM-5:292.89(F16.983)

here is a website that describes that code: https://www.theravive.com/therapedia/hallucinogen-persisting-perception-disorder-dsm--5-292.89-(f16.983)

Hi!  I am not able to find the disorder in the MONDO ontology (?).  I looked under perceptual disorders and substance abuse.  Of note, the DSM considers it under substance abuse, this is because the medical history relates this condition to previous substance use.  Thank you


Confusing Hover/warning in settings (multi root)

Windows
Testing #33277

make a new folder mkdir workit
Add a folder setting to hide status bar (status bar hides as expected)
save as a work-space work1
Settings editor has a warning - but the status bar is still hidden
reload window has no additional impact

Expected - no warning as the setting did work.  Or at least better warning text to explain that it is being overridden by the Workspace setting.

@seanmcbreen As explained in the test plan item, we migrate workbench settings from folder settings to workspace settings for smoother transition from folder workspace to multi root workspace.
In your case, setting "workbench.statusbar.visible": false is migrated to Workspace settings. Hence the status bar is not shown and the transition is smooth.
File you see in the above screen shot is Folder settings. There is a bug that the label shows as Workspace Settings - #33485. I think that might have confused you.


Removed duplicated binding

The exact same code that is being removed on this PR is present in the "super" method so this object was being bound to the "change:enabled" event twice. This was causing the dataview to fetch it's data twice when the dataview was re-enabled.
@viddo it's pretty trivial, but just in case I'm missing something... PTAL. thanks!

:shipit:


[BUG] Pre-trained tas-b model won't auto-truncate the doc

What is the bug?
Our pre-trained tas-b model won't accept a doc with a token length exceeding 512
How can one reproduce the bug?
Simply upload our tas-b model (in ONNX form or torch_script form) into OpenSearch cluster and use it to embed a long doc will return you
"type": "m_l_exception",
    "reason": "m_l_exception: Failed to inference TEXT_EMBEDDING model: YdGX4oYBhpgQGXXi9WeO",
    "caused_by": {
      "type": "privileged_action_exception",
      "reason": "privileged_action_exception: null",
      "caused_by": {
        "type": "translate_exception",
        "reason": "translate_exception: ai.djl.engine.EngineException: The following operation failed in the TorchScript interpreter.\nTraceback of TorchScript, serialized code (most recent call last):
File \"code/__torch__/sentence_transformers/SentenceTransformer.py\", line 14, in forward\n    input_ids = input[\"input_ids\"]\n    mask = input[\"attention_mask\"]\n    _2 = (_0).forward(input_ids, mask, )\n          ~~~~~~~~~~~ <--- HERE\n    _3 = {\"input_ids\": input_ids, \"attention_mask\": mask, \"token_embeddings\": _2, \"sentence_embedding\": (_1).forward(_2, )}\n    return _3\n  File \"code/__torch__/sentence_transformers/models/Transformer.py\", line 11, in forward\n    mask: Tensor) -> Tensor:\n    auto_model = self.auto_model\n    _0 = (auto_model).forward(input_ids, mask, )\n          ~~~~~~~~~~~~~~~~~~~ <--- HERE\n    return _0\n  File \"code/__torch__/transformers/models/distilbert/modeling_distilbert.py\", line 13, in forward\n    transformer = self.transformer\n    embeddings = self.embeddings\n    _0 = (transformer).forward((embeddings).forward(input_ids, ), mask, )\n                                ~~~~~~~~~~~~~~~~~~~ <--- HERE\n    return _0\nclass Embeddings(Module):\n  File \"code/__torch__/transformers/models/distilbert/modeling_distilbert.py\", line 38, in forward\n    _3 = (word_embeddings).forward(input_ids, )\n    _4 = (position_embeddings).forward(input, )\n    input0 = torch.add(_3, _4)\n             ~~~~~~~~~ <--- HERE\n    _5 = (dropout).forward((LayerNorm).forward(input0, ), )\n    return _5\n\nTraceback of TorchScript, original code (most recent call last):\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/transformers/models/distilbert/modeling_distilbert.py(130): forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1182): _slow_forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1194): _call_impl\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/transformers/models/distilbert/modeling_distilbert.py(578): forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1182): _slow_forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1194): _call_impl\n/usr/local/lib/python3.9/site-packages/sentence_transformers/models/Transformer.py(66): forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1182): _slow_forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1194): _call_impl\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/container.py(204): forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1182): _slow_forward\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/nn/modules/module.py(1194): _call_impl\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/jit/_trace.py(976): trace_module\n/Users/dhrubo/Library/Python/3.9/lib/python/site-packages/torch/jit/_trace.py(759): trace\n/Volumes/workplace/opensearch-py-ml/src/opensearch-py-ml/opensearch_py_ml/ml_models/sentencetransformermodel.py(778): save_as_pt\n/Volumes/workplace/opensearch-py-ml/src/opensearch-py-ml/test.py(34): <module>
RuntimeError: The size of tensor a (650) must match the size of tensor b (512) at non-singleton dimension 1",

What is the expected behavior?
Ideally the model is supposed to auto-truncate the doc exceeding a certain length.

This issue should create to OpenSearch-py-ml repo, not here.


Support only newer versions of Vim (8+) and NeoVim

As Ubuntu LTS has already move to next version of vim(vim 8) and looking for async performance improvements, I think we can support by now vim 8+ and neovim.

Because of  0dadff61a57537acfbd1654ad32250452afa43de and d52cc948dc56d9230a62444b72c64955b6d0b68e, we can close this issue.


Video Conference Mute Conflicting Shortcut Windows 11

Description of the new feature / enhancement
The default activation shortcut for the Video Conference Mute feature is set to Winkey+N to mute both mic and camera at once.
This default activation shortcut conflicts with the default Winkey+N shortcut in Windows 11, which triggers the notification pane from the taskbar.
The shortcut can be remapped, but may be better off having the default of Winkey+Shift+N to avoid conflicts out of the box.
Scenario when this would be used?
If unchanged then triggering the conference mute may be unexpected behaviour when trying to access the notification pane via the default keyboard shortcut, presenting confusion for some users.
Changing the default so that the shortcuts do not conflict would help to alleviate this.
Supporting information
No response

Duplicate of #14053

Thanks for reporting this. This issue is a duplicate.
I'm linking this issue to #14053 to centralize the discussion thread for tracking.
Thanks for your help to make PowerToys a better piece of software!


[Feature Request] Use a local Flutter version

I didn't find any feature that solve this or an issue that mentions this request. If there is already a feature like this or an issue, feel free to close this ticket.
My goal is to make more contributions to the Flutter repo. Therefore, I have a local copy of the Flutter repo with my own changes. I would love to switch quick between my local Flutter repo and the real versions which I need for my projects.
Something like:
fvm use /Users/nils/Desktop/Projects/flutter-sdk

@nilsreichardt this feature is currently supported, you just have to fork the flutter-sdk version within the FVM cache directory.
https://fvm.app/docs/advanced/custom_version

Ahh, yeah this makes sense to locate them there! Thank you very much!


Introducing contribution guidelines

coverage: 100.0%. remained the same
when pulling 5861b9142ccf3d9a8d6f1a9024174573921c4ae9 on introducing-contribution-guidelines
into ac3789c5a5d4869b8e12d0a77f660e2a420b35dd on master.


Inlined nested function in layer_test

Summary
This piece of code was put in a inner function to be able to apply it on both Sequential and Model. But since Sequential is not tested in layer_test anymore, it's not useful to keep it in an inner function. It's harder to read.
Related Issues
#10660
#11115
PR Overview

[ ] This PR requires new unit tests [y/n] (make sure tests are included)
[ ] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[x] This PR is backwards compatible [y/n]
[ ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

Travis doesn't like me :(

Travis doesn't like me :(

We really need to reduce flakes. Back a couple months ago Travis was very reliable.


Can't see styling when previewing

I can't get any styling when previewing using rake watch or jekyll serve. Followed everything to the letter in the README. What am I missing?
[2016-11-18 06:01:47] ERROR `/scripts/home.js' not found.
[2016-11-18 06:01:47] ERROR `/styles/main.css' not found.
[2016-11-18 06:01:47] ERROR `/scripts/mobile_nav.js' not found.
[2016-11-18 06:01:48] ERROR `/scripts/home.js' not found.
[2016-11-18 06:01:48] ERROR `/scripts/mobile_nav.js' not found.
[2016-11-18 06:01:48] ERROR `/styles/main.css' not found.
[2016-11-18 06:01:48] ERROR `/scripts/home.js' not found.
[2016-11-18 06:01:48] ERROR `/scripts/mobile_nav.js' not found.
[2016-11-18 06:01:48] ERROR `/styles/main.css' not found.
[2016-11-18 06:02:53] ERROR `/styles/main.css' not found.

Looks like site.url is not being picked up from the .yml file

More info, looks like a malformed url, I don't get those errors now in the server, but in the web console:

Can't repro the above screenshot anymore, might have been a one off. Now site.url only returns http://localhost:4000

Jekyll 3.3.0 behaves differently for site.url, sigh:
https://github.com/jekyll/jekyll/issues/5490

Should we force it back to an earlier version?

I'm wondering for dev why don't we just hardcode it to http://phonegap.com, remove the url value. It's not like its going to change right?

Also, based on that information, I just did this:
JEKYLL_ENV=foobar bundle exec jekyll serve --config _config-test.yml and it all now works.
"foobar" can be anything, just not development

I say to fix this add in the docs and rake file for example:
JEKYLL_ENV=local-test bundle exec jekyll serve --config _config-test.yml


not logged in error stalls integration

Describe the bug
I use this integration mainly to set my aircos on/off.
Regularly this integration stops functioning. The log shows a NotLoggedInError.
The LG Thinq app has no problems when connecting with the same credentials.
This is unrecoverable and homassistant has to be restarted. A reset/reload off the integration itself does not work.
Expected behavior
Automatic recovery/retry after failure
Screenshots
Environment details:

Environment (HASSIO, Raspbian, etc): docker
Home Assistant version installed: 2023.4.2
Component version installed: v0.31.6
Last know working version:
LG device type and model with issue: RAC_056905_WW-RAC
LG devices connected (list):

Output of HA logs
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/smartthinq_sensors/wideq/core_async.py:349
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:32:51 (1 occurrences)
Last logged: 10:32:51
[140369613807936]
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 199, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1857, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 216, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 798, in entity_service_call
future.result()  # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 977, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 838, in _handle_entity_call
await result
File "/config/custom_components/smartthinq_sensors/climate.py", line 282, in async_set_hvac_mode
await self._device.power(True)
File "/config/custom_components/smartthinq_sensors/wideq/devices/ac.py", line 704, in power
await self.set(keys[0], keys[1], key=keys[2], value=op_value)
File "/config/custom_components/smartthinq_sensors/wideq/devices/ac.py", line 873, in set
await super().set(
File "/config/custom_components/smartthinq_sensors/wideq/device.py", line 529, in set
await self._set_control(
File "/config/custom_components/smartthinq_sensors/wideq/device.py", line 490, in _set_control
await self._client.session.device_v2_controls(
File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 1183, in device_v2_controls
res = await self.post2(cmd_path, payload)
File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 1020, in post2
return await self._auth.gateway.core.lgedm2_post(
File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 337, in lgedm2_post
return self._manage_lge_result(out, is_api_v2)
File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 349, in _manage_lge_result
raise API2_ERRORScode
custom_components.smartthinq_sensors.wideq.core_exceptions.NotLoggedInError

Additional context

I have the same problem.

me too - I think this is related to those people who said the integration works for a day or so.   Looks to be a time out, so if the integration detects not logged in, can it try to log in again so we don't need to restart @ollo69  ?

I need to investigate more deeply this, but I'm really busy with m job in this period. I'll work on this and others issue / FR as soon as I will have some more additional time.

I also have the same problem. None of my airco units working anymore.
Thanks for looking into this @ollo69. Let me know if we can provide more debug information.

Maybe I found the issue and fixed with last release. Please test and give me your feed-back.

Fine, I close this issue.

I'm on 0.31.8 using HACS inside a container running 2023.4.6 (newer images break my August lock) - just had to restart HA to get control of my aircons via HA.  Will get logs when it next happens

@ollo69 still happens for me on HA 2023.4.6 + 0.31.8 (thinq)
Looks to be the same as @lars-t - what version(s) of everything are you running, @bramstroker ?
2023-06-01 18:40:35.336 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140073489756368] Not logged in.
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 199, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1857, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 216, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 798, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 977, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 838, in _handle_entity_call
    await result
  File "/config/custom_components/smartthinq_sensors/climate.py", line 400, in async_turn_on
    await self._device.power(True)
  File "/config/custom_components/smartthinq_sensors/wideq/devices/ac.py", line 704, in power
    await self.set(keys[0], keys[1], key=keys[2], value=op_value)
  File "/config/custom_components/smartthinq_sensors/wideq/devices/ac.py", line 873, in set
    await super().set(
  File "/config/custom_components/smartthinq_sensors/wideq/device.py", line 528, in set
    await self._set_control(
  File "/config/custom_components/smartthinq_sensors/wideq/device.py", line 479, in _set_control
    await self._client.session.set_device_controls(
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 1160, in set_device_controls
    res = await self.post("rti/rtiControl", payload)
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 1013, in post
    return await self._auth.gateway.core.lgedm2_post(
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 346, in lgedm2_post
    return self._manage_lge_result(out, is_api_v2)
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 372, in _manage_lge_result
    raise API2_ERRORS[code](message)
custom_components.smartthinq_sensors.wideq.core_exceptions.NotLoggedInError: Not logged in.


READ Shape files via shapefile-js

See shapefile-js https://github.com/calvinmetcalf/shapefile-js

[x] read via URL
[x] read local files via File API
TGVE just reads the buffer, passes it to shapefile and if shp is context as instructed in the readme, then parses it to geojson.

Codecov Report

Merging #158 (5b5cc2f) into develop (fab0be6) will decrease coverage by 0.56%.
The diff coverage is 25.71%.

@@             Coverage Diff             @@
##           develop     #158      +/-   ##
===========================================
- Coverage    47.86%   47.30%   -0.57%
===========================================
  Files           45       45
  Lines         2321     2336      +15
  Branches       952      963      +11
===========================================
- Hits          1111     1105       -6
- Misses        1047     1064      +17
- Partials       163      167       +4

Flag
Coverage Δ

unittests
47.30% <25.71%> (-0.57%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/components/DataInput.jsx
28.57% <0.00%> (-6.43%)
:arrow_down:

src/components/settings/settingsUtils.js
88.37% <ø> (ø)

src/home/index.js
46.91% <ø> (ø)

src/utils/utils.js
50.46% <25.00%> (-2.52%)
:arrow_down:

src/home/util.js
56.54% <60.00%> (ø)

src/components/File.jsx
56.75% <80.00%> (+4.12%)
:arrow_up:

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 fab0be6...5b5cc2f. Read the comment docs.


decorator.py: Add max_int_size param to to_non_negative_int().

Add max_int_size parameter to to_non_negative_int() in
decorator.py so it will be able to validate that the integer doesn't
exceed the integer maximum limit.
Fixes #11451

Testing Plan:
GIFs or Screenshots:

Posted one comment; also, this doesn't yet fix #11451 as described (since we don't set a default max size)

@timabbott I think this is ready to be reviewed

This looks great, but I'm going to wait to merge it until after the 2.0 release.

Alright!
On Thu, Feb 28, 2019, 03:13 Tim Abbott<EMAIL_ADDRESS>wrote:

This looks great, but I'm going to wait to merge it until after the 2.0
release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zulip/zulip/pull/11508#issuecomment-468012712, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATYPfU8udMNBWQbn7363yJb-BCVoPglZks5vRubcgaJpZM4ayy7G
.

2.0 just went out, so merged, thanks @refeed!


Layer Offset may not be working correctly

Bevy Tilemap version
0.4.0
Operating system & version
Windows 10
What you did
Tried to offset a tile layer to make tiles appear 3D using z_layers, add_layer, and layer_offset.
What you expected to happen
Two things:

Originally I thought that each subsequent tile layer after the first would be offset by the amount specified in layer_offset, but then I thought ...
Wouldn't the layer_offset just offset all layers as it is only a single value on the Tilemap, therefore the whole map would be offset and not individual layers? - is there a way to offset a single layer? Like on the add_layer function?

What actually happened
Nothing was offset.

Additional information
This was tested on an alteration of your Hex Tile Odd Rows example.
The only alterations being that I changed the hex to a 3d one and used just a single chunk.
As well as the below code.

I'm sorry if I'm getting something obviously wrong here, I've tried reading the doc comments on the function calls but I couldn't find any examples in the repo that used layer_offset.
Thanks for any help you might have,  you've created an excellent extensible plugin here.

Yeah, once 0.5 hit, lots of stuff was rushed out to get the release in on time. I hadn't made any examples to test all the new features yet.

No problem - just an update that's a little more easier to follow than my custom code above.
I edited the random_dungeon example just to include the call to layer_offset.

Which also doesn't offset any layers.

Thanks for the reply and the great work

I've tried to do some debugging on where the z_offset is used in creating the vertices.
The calculation looks like its working fine, the number of indices is also correct.
Tests done on the hex_tile_odd_rows example.

But it will still only display 1 depth of tiles, not the second offset tiles.

Did some more testing.
I thought I might have found it as I wasn't adding the z index to the Tile points, which I tried doing.

I was sure this would fix it but it still isn't displaying, but I am getting a warning about a tile being out of bounds - even with enough layers added.

Hmm, thanks for this. I'm quite a bit behind on my game project and it is a requirement for it. I hope to have it resolved shortly.


Deactiving all host drivers no longer shows custom and show empty "Other" page

Rancher Versions: master 3/1
Steps to Reproduce:

Remove all machine drivers
Go to Add host

Results: Showing empty "Other Page" instead of Add custom host page like it used to.

Version - Wagyu (master 7/25)
Verified fixed


Fetcher: PRA

Mappers dependent on this fetcher:

PreservicaAPIMapper(Mapper)

Some general links to know:

Development contribution process
"CIC all tasks" list view
"CIC current sprint" status view

Specific to this fetcher:

List of collections, by fetcher type: https://registry.cdlib.org/?harvest_type=PRA

Rikolti MVP project board cheat sheet:

Please @ CDL developers liberally, in the comments.
When picking up an "issue," please indicate:

a) Assignees: self assign;
b) Sprint: select the current sprint cycle;
c) Date started: indicate the start date -- see right side fields

CIC developers will likely need to create PRs (and possibly additional issues). When doing so, please also indicate the following:

a) Repository: Rikolti;
b) Milestone: "4 CIC work" (these details are required in order for them to surface in the Rikolti MVP project board); and
c) link the PR to the associated issue.

When requesting review, please:

a) include a comment & @ CDL developers; and
b) Date delivered: indicate the date delivered (field on the right)

Discussed on 3/27 to pause on the Preservica fetcher/mappers. SO types require multiple API requests. CDL to check-in with OPL and Preservica on both PRA (api) and PRE (atom feed) fetchers to potentially streamline operations. Also, an opportunity to investigate an oai option with Preservica.

@lthurston we have an update on this! Short story is that we will only be using the PRA fetcher (and associated API mapper). Let's plan to discuss during our check-in tomorrow. Thanks!

Note that this set now includes collections that were formally part of the PRE fetcher. There are currently 41 published collections.

List of collections (note that 6 collections have errors popping up with our current harvester): https://docs.google.com/spreadsheets/d/1wiRoArPqW3cAbpPdFFKY6I9drt2Vc0-5u2YMIJVZAu4/edit#gid=143717916


Server breaks with a DatabaseValidationError

I have cloned and built the server from source (v 0.9.3). When I run a server, connect to it with tutd, make some changes, :commit and :quit, when running the server again I get a DatabaseValidationError:
Steps to reproduce:
in the source directory:
> stack --stack-yaml stack.ghc8.8.yaml exec -- project-m36-server -n test-db -d test-db --fsync

in a second terminal in the source directory:
> stack --stack-yaml stack.ghc8.8.yaml exec -- tutd -h <IP_ADDRESS> -n test-db
...
TutorialD (master/main): :branch test1
TutorialD (test1/main): a:=relation{i Int}
TutorialD (test1/main): :commit
TutorialD (test1/main): :quit
Goodbye.

once I :quit from tutd, the server exits with this error:
project-m36-server: Network.Socket.recvBuf: end of file (end of file)

after that when I try to run the server again I get this:
Failed to create database connection: DatabaseValidationError [MerkleValidationError 45320b53-4b5c-4db7-8ef7-45dff1ea969a (MerkleHash {_unMerkleHash = "\RS\248\246\230bZ\215{\166{\USV\243\228\150\233\230\146\229\131h\237\189\230p\214\220\253\159\EOT\247O"}) (MerkleHash {_unMerkleHash = "a\SUB\233-\188PL\SO\201\168\b\218\154U\228wy\234\145&\241\\\EMca\aD2\ETX\155D\237"}),MerkleValidationError eb0498b1-9756-4353-a3ed-68f21a862400 (MerkleHash {_unMerkleHash = ""}) (MerkleHash {_unMerkleHash = "\SO\194\161\DC3\205\&0\233g\208:D\233\235\155\232\205M./\220\228\225\226\SI\179\128K\141\136}\SO\215"})]

I'm not sure if I'm doing something wrong or this is just a bug.

Thanks for the report- I will try to reproduce this. As a workaround, does the docker image produce different results? On which operating system are you running this?

Can't use Docker due to sanctions (I live in Iran), I'm Using Archlinux.

Thanks for the update- I'm able to reproduce this and should have a fix shortly.

Hi @farzadbekran , sorry I missed your message on IRC. I'm around today in case you are free to chat.

Hi @agentm , I'll be there in a couple of hours. Let me gather my thoughts and questions. Kinda forgot what I was gonna ask XD


snapraid: 8.1 -> 10.0

Motivation for this change
bump snapraid to the newest version.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Please enable the tests:
diff --git a/pkgs/tools/filesystems/snapraid/default.nix b/pkgs/tools/filesystems/snapraid/default.nix
index fbc359e..3946d6f 100644
--- a/pkgs/tools/filesystems/snapraid/default.nix
+++ b/pkgs/tools/filesystems/snapraid/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1mhs0gl285a5y2bw6k04lrnyg1pp2am7dfcsvg0w4vr5h2ag3p7p";
   };

+  doCheck = true;
+
   meta = {
     homepage = http://www.snapraid.it/;
     description = "A backup program for disk arrays";

@Mic92 i have never seen doCheck to work out of the box for configure/make projects. i am impressed :)


Enhance Formatting API for Bearing and Azimuth angles

@rschili @ColinKerr
I think itwin-core quantity parser is not yet ready to parse these types. So it will likely result in an error when showing or editing them in the user interface.
We should coordinate this with itwin-core Quantity team. Add these to QuantityFormatter.

@rschili @ColinKerr I think itwin-core quantity parser is not yet ready to parse these types. So it will likely result in an error when showing or editing them in the user interface. We should coordinate this with itwin-core Quantity team. Add these to QuantityFormatter.

We are aware. Afaik there is no dedicated itwin-core Quantity team, that task also falls to us. So once the native updates are complete and fully fleshed out, I will go and replicate the same thing in the itwin repo. We will roll out both at the same time.


Update to latest vertx 4.2 version

Hi,
Hum I don't understand why the checks failed, the modification is minor.
Or is it because the pull request is targeted to branch 5.0 ?

I've updated the related dependencies.
Now all the test should work

I don't have windows in order to test. So I just tried to blindly update undertow.
I would very much like if somebody could help me in this task of updating to vertx 4.2

The Undertow upgrade seems fine. I'm not sure when I'll have to chance to look at this, but possibly next week I can.

Thanks a lot @jamezp you are a life savior.
I'm completely puzzled by why the the tests are still failing on windows (but now it is another test).
It even seems to make the test suite block.

Ah, this is an Undertow issue. I probably didn't bring the fix over to the 5.0 branch. I'll try to get it there next week. See https://issues.redhat.com/browse/RESTEASY-3136 for the details.

Thanks a lot, I'm not sure I would have been able to find that.
Let me quickly try to add that to my branch to see if it is enough.

Seems it is now ok, I hope this can be merged.
Obviously I'll prepare another branch to upgrade to vertx4.2 in 6.0 and main branch, if it is the process?

I need to file some JIRA's for these upgrades before anything can be merged. There is an upstream first policy too so I'll need to prepare PR's for main and 6.0 as well. It seems a bit odd to do a minor upgrade in a micro release, but if there are no breaking changes it seems okay.

Ok, thanks
Please tell me if you want me to do something else, like preparing the PR's for main and 6.0.

Hi @turakamou. Is there a reason to jump to 4.2 instead of staying on the 4.1 release? Also why not jump to 4.3? Just trying to understand the reason for the upgrade. Especially since you'd like it in a micro release.

Hi @jamezp
If we look at release dates for both Vertx and Resteasy:
When doing Resteasy 5.0.0.Final, Vertx 4.2.0 was available; so I think it makes sense to use this branch of Vertx for this branch of Resteasy.
For the same reason, I would stay on Vertx 4.2 branch for Resteasy 6.0 branch
However, for Resteasy 6.1, ie main, I would go for Vertx 4.3.0 branch ie Vertx 4.3.1.
And if we were to update older version, I would bump Resteasy 4.7 branch to Vertx 4.1.8
Here are the release dates coming from Maven.
https://mvnrepository.com/artifact/io.vertx/vertx-core
https://mvnrepository.com/artifact/org.jboss.resteasy/resteasy-vertx
Vertx
4.3.0 May, 2022
4.2.0 Oct, 2021
4.1.0 Jun, 2021
4.0.0 Dec, 2020
Resteasy
6.0.0.Final Jan, 2022
5.0.0.Final Nov, 2021
4.7.0.Final Jul, 2021
4.6.0.Final Jan, 2021
4.5.0.Final Feb, 2020

Thank you for the detailed response @turakamou. While normally I wouldn't do a minor upgrade in a macro, I think this makes sense. I'll file some JIRA's.

Thank you for all the work on this @turakamou. I'm replacing this with #3138 as I'd like the JIRA's linked.


Modifying unbind flow to fetch the credentials from ApiServer first

During bind, directorbind resources are created in etcd which contain useful data. These resources can be used to lookup the information during unbind, thus reducing dependency on Bosh.

Pull Request Test Coverage Report for Build 1869

15 of 15 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 88.139%

Totals

Change from base Build 1844:
0.02%

Covered Lines:
8026

Relevant Lines:
8813

💛  - Coveralls


Modify the readme.txt file

Expected Behavior

show help file
Current Behavior

output some problems
Context

I'm a gradle beginner, i download the gradle and configured environment variables, i saw

You can add .gradle init scripts to this directory. Each one is executed at the start of the build.

in the %gradle_home%/init.d/readme.txt file. so i created a file named .gradle.  then i typed gradle --stacktrace --no-dameon help in cmd. The console outputs some problems.  I put them in the attachment error.txt file. I followed this question to find the reason, in the subprojects/core/src/main/java/org/gradle/groovy/scripts/TextResourceScriptSource.java file if the '.gardle' file is no prefix the classNameFromPath(String path)  will throw an exception. so i rename the .gradle file added a prefix just like test.gradle,  and it worked .
So i hope can modify the readme.txt file  just like this

You can add *.gradle init scripts to this directory. Each one is executed at the start of the build.

Steps to Reproduce

Your Environment

Build scan URL:
https://gradle.com/s/ul44savxfkuwm
gradle -version shown as follows:
Gradle 6.8-20201019220035+0000
Build time:   2020-10-19 22:00:35 UTC
Revision:     dc4c1985a8d961349ab1870edbdbbc603705e4a4
Kotlin:       1.4.10
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM:          1.8.0_181 (Oracle Corporation 25.181-b13)
OS:           Windows 10 10.0 amd64
error.txt

Finally, I hope gradle is getting better and better


feat: add support for MongoDB

rewrite database CRUD methods in adapter.go to support both xorm and mongodb
add unit test for adapter.go
TODO: database operations in object package(except application.go) need to be upgraded to use the new CRUD methods

resolve: #922

@wenxuan70 @leo220yuyaodog plz review


Normative: Prefix RangeIterator with Numeric

Rename RangeIteratorPrototype to NumericRangeIteratorPrototype.
Rename RangeIteratorPrototype.inclusive to RangeIteratorPrototype.isInclusiveEnd.

(This is not related to #44 or #45, not affecting the main API shape but do observable)

Why “numeric”? What other kind of range would be implied?
What does “isInclusiveEnd” mean versus “isInclusive”?

Why “numeric”? What other kind of range would be implied?

The Numeric prefix may be worthwhile if plausible future proposals might define

DateRangeIteratorPrototype
StringRangeIteratorPrototype
EnumRangeIteratorPrototype

Are those plausible?

Why “numeric”? What other kind of range would be implied?

If we're going to have String ranges in the future, we won't collide the name.

What does “isInclusiveEnd” mean versus “isInclusive”?

It means, the property only indicates the end is inclusive or not. The start is always inclusive

Are those plausible?

I don't know, but I can conceive of them.

String.range('a', 'z') could theoretically exist.

@devsnek i don't see how, would that include ü, for example?

@ljharb in the event I propose String.range I'll answer that question :)

I'll revert the rename on isInclusiveEnd because I want to match the name in the options bag

To restate: i don't think any non-numeric ranges are viable, and i think the "numeric" prefix is unnecessary.

To restate: i don't think any non-numeric ranges are viable, and i think the "numeric" prefix is unnecessary.

Why not? Why can't we have a "Temporal" range like Temporal.range(day1, day3) in the future?

Temporal.Duration already exists, there’d be no need for it on Temporal itself.


[BUG] - DSBulk does not accept free parameters with native image

Describe the bug
Given : the native image v0.1 (used in Katapod Scenarios), when
astra db dsbulk data-modeling load \
            -url performers.csv \
            -k music_data \
            -t performers \
            -header true \
            -logDir /tmp/logs

Then the following error is triggered:
[ERROR] Found unexpected parameters: [data-modeling, load, -url, /Users/cedricklunven/Downloads/performers.csv, -k, music_data, -t, performers, -header, true, -logDir, /tmp/logs] (ParseArgumentsUnexpectedException)
[ERROR] Try 'astra help db dsbulk data-modeling' to get help

Desktop (please complete the following information):

OS: Any OS
Version 0.1

Additional context

The problem is only reproduced with native image.

The following test is passing
@Test
    public void test() {
        assertSuccessCli("db dsbulk data-modeling load " +
                "-url /Users/cedricklunven/Downloads/performers.csv " +
                "-k music_data " +
                "-t performers " +
                "-header true " +
                "-logDir /tmp/logs");
    }

The following command is passing:
 java -jar ./target/astra-cli-0.1-shaded.jar db dsbulk data-modeling load \
            -url performers.csv \
            -k music_data \
            -t performers \
            -header true \
            -logDir /tmp/logs

Everything happens like the generic list of params is excluded with native compilation
@Arguments(description = "Provide as many dsbulk parameters as you want.")
private List<String> dsbulkArguments;

A couple of leads:

Force initialization of the list
Defined explicit list of parameters, not all 100 params will be available (maybe 10/15) and for the rest a configuration file maybe asked

Iterating on a few solutions but nothing really working, failling back to the 3 commands:
astra db load
astra db unload
astra db count

and fixing scenarios.