Fields specified multiple times overwrite each other

I did something dumb, but it turns out this poked at some unexpected behavior. 😃
Given this Task spec:
  - name: git
    taskRef:
      name: git-clone
    params:
    - name: url
      value: "https://github.com/tektoncd/pipeline"
    - name: revision
      value: "master"
    workspaces:
    - name: output
      workspace: source
    params:

(params is specified 2x by mistake)
Expected Behavior
Pipeline controller rejects the config with an error.
Actual Behavior
Pipeline controller accepts the config, overwriting the first params field with the second empty params field, resulting in:
  - name: git
    taskRef:
      kind: Task
      name: git-clone
    workspaces:
    - name: output
      workspace: source

This was particularly confusing because it looked like the params field was ignored.
Steps to Reproduce the Problem
See example config above.
Additional Info

Kubernetes version:
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.9",
GitCommit:"2e808b7cb054ee242b68e62455323aa783991f03", GitTreeState:"clean",
BuildDate:"2020-01-18T23:33:14Z", GoVersion:"go1.12.12", Compiler:"gc",
Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15+", GitVersion:"v1.15.11-gke.3",
GitCommit:"71631703d37fb1b4b333abd427deae839aeb2032", GitTreeState:"clean",
BuildDate:"2020-03-24T18:54:48Z", GoVersion:"go1.12.17b4", Compiler:"gc",
Platform:"linux/amd64"}

Tekton Pipeline version: v0.12.1

Not sure if there is anything we can actually do about this - this seems like it might be a property of how k8s handles CRDs by default, but figured I'd file an issue so we can look into it just in case.

this seems like it might be a property of how k8s handles CRDs by default, but figured I'd file an issue so we can look into it just in case.

Huh, that's strange...I wonder if there are any k8s issues for this behavior?
/kind bug

Seems k8s issue: https://github.com/kubernetes/kubernetes/issues/89303

Nice find @vincent-pli! And https://github.com/kubernetes/kubernetes/issues/14791 looks to be the underlying open issue.
Going ahead and closing- I don't think there's any work we can do here at the moment without an upstream change.
/triage duplicate
/close


Algorithm Implementations in C++ Using Class: FCFS, SJF, and Round Robin

Is your feature request related to a problem? Please describe.
This outlines the creation of a GitHub repository aimed at providing C++ implementations of three fundamental scheduling algorithms: First-Come, First-Served (FCFS), Shortest Job First (SJF), and Round Robin. These algorithms play a crucial role in operating system design and provide a solid foundation for understanding scheduling concepts. By organizing the implementations into classes, the repository will promote code reusability, modularity, and ease of understanding for developers and students.
Describe the solution you'd like
The algorithms will be implemented as classes in C++, utilizing object-oriented programming principles to encapsulate relevant data and operations. Each class will have appropriate member functions and variables to represent the scheduling algorithm's logic. The classes will be designed to be reusable, customizable, and easily integrated into other projects.
Describe alternatives you've considered

Please raise issue to solve one algorithm per issue


[SIP-20] Proposal for Implementing Chart Level Custom Calculations

Currently at Spotx we are working on adding chart level custom calculations (aka custom formulas). The purpose of this SIP is to gauge the interest in the feature and whether we should push it upstream
Motivation
A subset of Superset users at SpotX has requested the ability to make chart level calculations.
By chart level we mean in contrast to postagg calculations that are already supported to an extent by Druid. While postaggs are fine for some purposes, they add overhead to the druid cluster and are created via JSON that general users don’t have access to. The users also might be interested in creating one off calculations that do not warrant creating a dedicated postagg field or calculations that involve if/then statements
Proposed Change
While researching possible solutions, we came across formulas.py library https://pypi.org/project/formulas/
which implements an interpreter for Excel style formulas.
As an example of how this works, during chart creation we select clicks impressions as metrics,  add an excel like formula ( example =SUM(clicks/impressions*100) ). Once the results are sent from druid and pandas creates a df, we can perform the requested calculation and append a new column to the df.
New or Changed Public Interfaces
The proposed changes are the following:

Integrate formulas.py library into Superset
Implement formula validation endpoint
Expose Custom Formulas React Component in the chart creation page where users are able to select predefined formulas or enter a new custom formula
Add new custom_formulas table
Add new link under the Manage tab in order to allow custom formulas to be added on an individual datasource basis

New dependencies
Formulas.py PyPI package has been actively maintained since Feb 2017 https://pypi.org/project/formulas/#history
The library is currently under EUPL text (1.1 & 1.2) license and its compatible with the Apache License https://joinup.ec.europa.eu/collection/eupl/eupl-compatible-open-source-licences
Migration Plan and Compatibility
The feature will require a database migration (new table will be added)
Some screenshots:

I would love to see this added.

I'm not sure if https://github.com/vinci1it2000/formulas is the right choice (though I haven't done any research). It has limited traction. On the license side, we'd also have to make sure that the ASF is ok with it as I don't see it on the approved license list https://apache.org/legal/resolved.html#category-a . I'd hate for the next person to push an Apache release to have to deal with clearing that.
Implementation-wise, I agree this should be backend code as the dataframe is probably the right place to apply this (as opposed to viz-specific code), though I think we have code doing similar things on the frontend for "Annotations" as formulas (I think it's using math.js?).
As to where this should be defined: could this be a metric parameter instead? By that I mean your metric definition may [optionally] be a formula and/or reference other metrics?

This would be very useful and frankly powerful for my team of users!

Thanks for the feedback @mistercrunch!
We are going to take a look into your suggestions. Closing this for now

I asked the owner of formulas to see if he could change the license: This is his response (https://github.com/vinci1it2000/formulas/issues/33):
Unfortunately, I cannot change the license. But you have two options:
The Apache license is one of the upstream compatible licenses of the EUPL. Hence, the "derivative work" has to be redistributed under the EUPL.
If you don't want to use the EUPL, you can use the functionality of formulas as it is (i.e., without merging the source code), following the example of chapter 5.6 of the EUPL guidelines. Therefore, if you need extra functionalities, you can propose those through pull requests with the changes and/or the features that you want to integrate into formulas.

I don't see why we should block on this, since we're not merging the formulas library into superset, we're just using the library. Am I reading this wrong ?

Since this issue is closed due to inactivity, we'll also consider the SIP/proposal process closed as well. If you want to rekindle this proposal, please re-open this Issue, and send a new [DISCUSS] thread to the dev@ mailing list. Thank you!


algoliasearch v5 not building in a typescript project

Steps to reproduce:

Create a typescript project (preferably a firebase cloud function project)
Add algoliasearch with below commandnpm install algoliasearch@5

Build the project using tsc command
See below error> tsc

node_modules/algoliasearch/dist/algoliasearch/builds/node.d.ts:2:48 - error TS2307: Cannot find module '@algolia/client-abtesting/src/abtestingClient' or its corresponding type declarations.

2 import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient';
                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

node_modules/algoliasearch/dist/algoliasearch/builds/node.d.ts:4:48 - error TS2307: Cannot find module '@algolia/client-analytics/src/analyticsClient' or its corresponding type declarations.

4 import type { Region as AnalyticsRegion } from '@algolia/client-analytics/src/analyticsClient';
                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

node_modules/algoliasearch/dist/algoliasearch/builds/node.d.ts:7:54 - error TS2307: Cannot find module '@algolia/client-personalization/src/personalizationClient' or its corresponding type declarations.

7 import type { Region as PersonalizationRegion } from '@algolia/client-personalization/src/personalizationClient';
                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 3 errors in the same file, starting at: node_modules/algoliasearch/dist/algoliasearch/builds/node.d.ts:2

Things Already Tried

Updating/installing packages using npm install and npm update
Deleting node_modules dir and reinstalling npm pacages
Clearing all caches and reinstalling and building project

Hey @OutdatedGuy thanks for trying out the v5 client
I've not been able to reproduce the error, it compiles correctly on my side.
However from the error you shared, it seems like the peer dependencies of algoliasearch are not installed. If they do not resolve automatically for you, it might be an exports issue on our side.
Was it working with v4? You can also try to install them manually (@algolia/client-personalization and so on), or use the umd bundled file which contains them, usually for the browser env import {algoliasearch} from "algoliasearch/dist/algoliasearch.umd.js"

@shortcuts

Was it working with v4?

Yes. On v4 it was working flawlessly but since v5 I cannot build my project :(

You can also try to install them manually (@algolia/client-personalization and so on)

I installed the dependencies mentioned in the error logs with:
npm install @algolia/client-personalization @algolia/client-analytics @algolia/client-abtesting;

but still the same error occurs.

Hi,
we've encountered the same error, and we were able to work around it by modifying<EMAIL_ADDRESS>from this:
import type { AbtestingClient } from '@algolia/client-abtesting';
import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient';
import type { AnalyticsClient } from '@algolia/client-analytics';
import type { Region as AnalyticsRegion } from '@algolia/client-analytics/src/analyticsClient';
import type { ClientOptions } from '@algolia/client-common';
import type { PersonalizationClient } from '@algolia/client-personalization';
import type { Region as PersonalizationRegion } from '@algolia/client-personalization/src/personalizationClient';
import type { RecommendClient } from '@algolia/recommend';
import type { InitClientOptions, InitClientRegion, GenerateSecuredApiKeyOptions, GetSecuredApiKeyRemainingValidityOptions } from './models';
export * from './models';
export declare const apiClientVersion = "5.1.1";

to this:
import type { AbtestingClient } from '@algolia/client-abtesting';
import type { Region as AbtestingRegion } from '@algolia/client-abtesting/dist/src/abtestingClient';
import type { AnalyticsClient } from '@algolia/client-analytics';
import type { Region as AnalyticsRegion } from '@algolia/client-analytics/dist/src/analyticsClient';
import type { ClientOptions } from '@algolia/client-common';
import type { PersonalizationClient } from '@algolia/client-personalization';
import type { Region as PersonalizationRegion } from '@algolia/client-personalization/dist/src/personalizationClient';
import type { RecommendClient } from '@algolia/recommend';
import type { InitClientOptions, InitClientRegion, GenerateSecuredApiKeyOptions, GetSecuredApiKeyRemainingValidityOptions } from './models';
export * from './models';
export declare const apiClientVersion = "5.1.1";

since the import path does not match the folder structure

I have also managed to reproduce this using  version "5.1.1".

Some additional info if it matters, I'm on a Windows machine.

Hey there, thanks for providing more context to the issue!
Could you please let me know if the latest version fixes the issue on your side?

@shortcuts I tried with the latest version (5.2.1) but having the same issue. So I looked into the error file and saw imports whose paths don't exist (@algolia/client-abtesting/src/abtestingClient). So I just updated code to import from base package and it worked.
Basically:
- import type { AbtestingClient } from '@algolia/client-abtesting';
- import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient';
+ import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting';

@shortcuts I tried with the latest version (5.2.1) but having the same issue. So I looked into the error file and saw imports whose paths don't exist (@algolia/client-abtesting/src/abtestingClient). So I just updated code to import from base package and it worked.
Basically:
- import type { AbtestingClient } from '@algolia/client-abtesting';
- import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient';
+ import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting';

Can you re-open the issue?

Hey, thanks for testing it! it was fixed in 5.2.2, could you retry please?

Hi, I tried 5.2.2 and it worked. Thanks.

Lets goooo enjoy!! Thanks you

Encountering the same issue with<EMAIL_ADDRESS>../../node_modules/@algolia/client-common/src/transporter/helpers.ts(12,5): error TS2322: Type 'TData | undefined' is not assignable to type 'TData'.
  'TData' could be instantiated with an arbitrary type which could be unrelated to 'TData | undefined'.
../../node_modules/@algolia/client-common/src/transporter/helpers.ts(13,5): error TS2322: Type 'TData | undefined' is not assignable to type 'TData'.
  'TData' could be instantiated with an arbitrary type which could be unrelated to 'TData | undefined'.
../../node_modules/@algolia/client-common/src/transporter/helpers.ts(72,5): error TS2322: Type 'string | undefined' is not assignable to type 'string'.
  Type 'undefined' is not assignable to type 'string'.
husky - pre-commit hook exited with code 1 (error)

It seems TypeScript (5.5.4 but also tried with 5.6.2 (latest)) doesn't respect the package.json exports field and still reads<EMAIL_ADDRESS>and its subtree from src/ instead of the dist/ files.
Removing<EMAIL_ADDRESS>solves the issue

Same problem as above here

Im using ^5.7.0

hey @Mandy9943 @valeriangalliat it seems related to https://github.com/algolia/algoliasearch-client-javascript/issues/1561, which should be fixed with https://github.com/algolia/api-clients-automation/pull/3966

I think I am getting the same (or a similar) error:
No matching export in<EMAIL_ADDRESS>for import "Status"
I can see that all the dependencies of algoliasearch (V 5.9.1) are installed.

Not sure how to fix or what to try. Open to suggestions. (Please let me know if I should create a new issue for this).

@5.7.0

I'm also facing the same issue.


Question: Can I republish library with some changes?

Hi, I used your code from your library to create mine with minor modifications and published it under a different name (@aintts/linked-list). I have added links to this repository, kept the license as it was, and listed you as the author.
Changes:

Created a project from scratch using tsdx.
Rewrote all the code to Typescript.
Rewrote tests using Jest.
Added observer pattern (in test mode).

If you don't want me to republish the library, please let me know - I will remove it immediately.

The code here is open source, that means you are allowed to create a fork, given that you keep the license info (which you did).
I do suggest adding the current year and your own name too, though:
Copyright (c) 2021 Your Name<EMAIL_ADDRESS>Copyright (c) 2014 Titus Wormer<EMAIL_ADDRESS>


nginx reaload configuration permissions

OS type
Linux/macOS
Describe the bug
After brining all containers up, access nginx service
docker-compose exec nginx bash (linux)
mutagen-compose exec nginx bash (mac) as alternative
This fails, and this worked before:
nginx -t
nginx -s reload
"Why would you need that?"
We are using external configuration file where we set CSP, and allow acceess to some xml feeds. Then we use this on nginx service:
`NGINX_SERVER_EXTRA_CONF_FILEPATH: /etc/nginx/locations.conf`

along with mounting this file to
volumes:
      - ./locations.conf:/etc/nginx/locations.conf:cached

I am cetain this has worked with previous versions, where I could just update locations.conf file, and then reload nginx.
if this was done on purpose, some security concern, then I will have to do stop/up nginx container to reload config.

run sudo nginx -s reload

Awesome! I know sudo prompted password on nginx before. This works now! Thanks!


Update mdoc, sbt-mdoc to 2.3.2

Updates

org.scalameta:mdoc
org.scalameta:sbt-mdoc

from 2.3.1 to 2.3.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.3.1).
You might want to review and update them manually.
.github/workflows/publish-site.yml

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta" } ]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

@mergifyio update


Problem with verible-verilog-ls attaching in neovim

I have neovim setup with few other language LSP's working, I installed the verible through nvim-lsp-install, installation looks OK, executable files added where needed.
The server was configured properly after lspconfig.
However, opening basic .sv file says that no LSP is present, the :LspInfo shows output as in attached pic below:
https://i.imgur.com/95iCRSw.jpg
any ideas why it is not working? I am just opening basic .sv file inside folder where there is nothing else.

this is the output

I believe it's because it fails to detect your project's root directory as it only looks for git repositories. Run 'git init' or try faking it with 'mkdir .git'.

only touch .vim also wokrs

According to the documentation it should fall back to the current working directory, which doesn't seem to be happening. I've encountered the same issue and while running git init solved it, that doesn't seem like it should be necessary.


where is mujoco-defaults

Describe the bug
what is mujoco-defaults value ? where this Syntactic sugar come from ?
Humanoid-v3:   <<: *mujoco-defaults   n_timesteps: !!float 2e6
Code example
rl-baselines3-zoo/hyperparams/sac.yml
System Info
not about

From here:
https://github.com/DLR-RM/rl-baselines3-zoo/blob/a520d52739d18953e1290189be377c794a3da5bf/hyperparams/sac.yml#L193
This line allows to store HalfCheetah-v3 parameters under the name mujoco-defaults.
This line
https://github.com/DLR-RM/rl-baselines3-zoo/blob/a520d52739d18953e1290189be377c794a3da5bf/hyperparams/sac.yml#L208
allows to use the parameters that are stored under the name of mujoco-defaults.
Though, you can read
Humanoid-v3:
  policy: 'MlpPolicy'
  learning_starts: 10000
  n_timesteps: !!float 2e6

From the above comments I still don't know where to find the mujoco-defaults parameters...

When the parameters are not overriden, it means that they are using the defaults from SB3.
For SAC, they are here: https://github.com/DLR-RM/stable-baselines3/blob/69b94dd6a8f93cf0b9d2201dcae9c146b8a9c75d/stable_baselines3/sac/sac.py#L83

For SAC, the mujoco-defaults params are
https://github.com/DLR-RM/rl-baselines3-zoo/blob/a520d52739d18953e1290189be377c794a3da5bf/hyperparams/sac.yml#L193-L196


Pseudoinstruction examples don't work for RV64

The examples shown for the LA and LI insructions only work for RV32.
For RV64, any address at an offset of > +/-2GB won't work with the example shown.
The LI case has the same issue, as does the absolute addressing example (though the LI example does mention it is for an RV32i)

Note that LI does work for arbitrary 64-bit constants in RV64; it expands into a potentially long and inefficient shift-and-add sequence.
It's certainly true that LA doesn't work for arbitrary 64-bit addresses (unless using PIC).

My title was misleading. It is entirely correct that LI and LA can work with either architecture.
What doesn't work are the example in the text, which don't mention that the RV64 versions may (or may not) take more actual instructions than the text indicates. Use of these pseudo instructions may cause failure of architectural tests that trap, depending on their exact aliignment, because of this uncertainty.
I am only asking that the text clarify the conditions under which the will or won't work, and the conditions under which the example shown will and won't work.


feat: added update event

This PR adds an update:dsData event which emits the filtered data every time it gets updated.
Fixes #106 and #95

Currently, if I am not wrong, "update:dsData" is called also on dataset sorting.
However data returned are not sorted as displayed on UI.
Does it make sense to you to fix this? I mean: data returned by "update:dsData" should reflect what you are seeing in the table.

It would also be interesting also to export the functions defined in "helpers".
This could help in redefining custom components reusing existing logic: DatasetSearch, for instance, which uses debounce.

Thanks @arcadeJHS, I think it makes sense to return the sorted data. I'll check about the possibility of exporting the helpers.

I think there's not much point in exporting the helpers, there are utility libraries (e.g lodash) that provide a better alternative.


Improve export-db experience

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
Everytime I need to get a SQL dump with ddev, I remember it being problematic, and always forget why until I crash my system running the command.
Instead of outputting gigs of Gz output to stdout, can we have it create a file by default perhaps with a progress bar?
Describe your solution
Here's one example command that works outside of ddev to give us a nice progress bar and to dump to a file.
mysqldump  | pv --progress --size 100m > dumpfile.sql
Describe alternatives
We could add an are you sure y/n before starting the dump. We could also update the help text to warn folks to direct it to a file before running it.
Additional context
No response

ddev export-db -h gives you a bunch of different examples, easy to look at every time you need it.

I'll just stick to mysqldump to pv I guess.

It's super easy to create your own custom command as well that does what you want. https://ddev.readthedocs.io/en/latest/users/extend/custom-commands/


Grid view shows extra zero decimals

The results viewer shows extra zero decimals while in grid view, for instance on float8 type:

No issue in text view:

For reference, the psql request:

Here are my number settings:

DBeaver 5.0.2, PostgreSQL database

You can just turn off "Use data type scale for fraction digits" option.

Thanks, that works as expected.


About packet's timestamp issues

It seems that the Timestamp of a packet is only the sequence number of the packet. Is it possible to get the packet's REAL times(for example, CMTime in ios) for different scenes?

Yes.
MPPGraph.h has an API method:
- (BOOL)sendPixelBuffer:(CVPixelBufferRef)pixelBuffer
             intoStream:(const std::string&)inputName
             packetType:(MPPPacketType)packetType
              timestamp:(const mediapipe::Timestamp&)timestamp;

You can use this to send packets at a specific timestamp.
For example, presently in the app for edgedetectiongpu, we have
- (void)processVideoFrame:(CVPixelBufferRef)imageBuffer
                timestamp:(CMTime)timestamp
               fromSource:(MPPInputSource*)source {
  if (source != _cameraSource) {
    NSLog(@"Unknown source: %@", source);
    return;
  }
  [self.mediapipeGraph sendPixelBuffer:imageBuffer
                            intoStream:kInputStream
                            packetType:MPPPacketTypePixelBuffer];
}

there, we can use the specific timestamp, i.e. (CMTime)timestamp that is provided as an input to the method, and replace the sendPixelBuffer call with:
[self.mediapipeGraph sendPixelBuffer:imageBuffer
                            intoStream:kInputStream
                            packetType:MPPPacketTypePixelBuffer
                            timestamp:timestamp];

Thanks for your quick reply.
But it does not work properly.
error messages:
"Domain=GoogleUtilStatusErrorDomain Code=3 "Graph has errors:  ; Packet timestamp mismatch on a calculator receiving from stream "input_video". Current minimum expected timestamp is<PHONE_NUMBER>45 but received<PHONE_NUMBER>44. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment."

Can you share the code you are using? Which calculator is this and what does the graph look like?
Also, can you share the .mm file you are using?

@eknight7
it works.
Sorry for the wrong info.

No problem, glad to hear it works for you!

Hey @eknight7, is it possible to get the real timestamp number for AutoFlip as well. I'd like to know when scenes change in realValue seconds.


application.proxyPath doesn't "work correctly"?

In the reference documentation, we have:

application.proxyPath (string: "")
If you want jingo to work "behind" another website (for example in a /wiki directory of an already existing intranet), you need to configure it to be aware of that situation so that it can write all the outbound URLs accordingly. Use this option to pass it the name of the directory that you've configured in your proxy_pass option in nginx or apache. See also an nginx example in the /etc directory of the jingo source distribution.
Please note that jingo won't work correctly if this option is activated.

What does it mean that jingo won't work correctly with this option? Why have it if it doesn't work correctly?

Hi @jandrieu
I think I wrote that (silly) note as a disclaimer to avoid having to deal with weird and complex setups that people may put in place (I am the only maintainer/developer of the project and I need to keep things as simple as possible). I think that over time I haven't received any issues about it and we now also have a couple of a pages in this wiki (https://github.com/claudioc/jingo/wiki) explaining more in details how to setup a reverse proxy with Jingo.
Thanks! (I will flag this as a bug and remove the note with the next release)


Added keyboard scan input event

Objective

I wanted to have controls independent from keyboard layout and found that bevy doesn't have a proper implementation for that

Solution

I created a ScanCode enum with two hundreds scan codes and updated keyboard_input_system to include and update ResMut<Input<ScanCode>>

also i added num_enum dependency

Is there a need for the enum? Couldn't we just pass around the raw u32?

Is there a need for the enum?

I don't know, this is the most obvious approach for me

Couldn't we just pass around the raw u32 wrapped in a newtype?

Maybe, but i'm very new to rust, like, i'm two weeks into it for now

Maybe, but i'm very new to rust, like, i'm two weeks into it for now

No worries, glad you're contributing already. It's a great way to learn! 😄
I’d say we could replace the enum with struct ScanCode(u32) or something like that. It's easier for others to use and reason with imo

Ok, thanks!
This way there's no need in adding new dependencies, and looks so much cleaner!

bors r+


Multiple Virtual Desktop enhancement [Feature Request]

W10 adding multiple virtual desktop support was great, but it's very basic. PowerToys seems like the ideal place to level up the feature set to multiple desktops.
Some simple tools/features off the top that I think would be welcome:

Rearranging desktop order
Rename desktop titles
Shortcut (keyboard accessible?) to send windows to a desktop

Not sure if this would be a separate tool or maybe an addition/expansion to FancyZones.

Reorder is now in Build 21337 of Windows Insider.  rename is already in.

https://blogs.windows.com/windows-insider/2021/03/17/announcing-windows-10-insider-preview-build-21337/

also 1 ask per please :)

Reorder is now in Build 21337 of Windows Insider. rename is already in.

https://blogs.windows.com/windows-insider/2021/03/17/announcing-windows-10-insider-preview-build-21337/

Oh awesome! I wasn't aware, thank you for sharing!

also 1 ask per please :)

Sorry about that--I just want to make sure I understand the format correctly. My initial request was more of a branch of tools and the list was discrete functions. Should each function be it's own feature request?

One idea / concept. Most of the time they are independent sections of work which is why.


Addons won't load

Please attach a copy of config.yaml or config.ini to the issue.
Describe the bug
After I updated my game, my previous arcdps cause my game to crash, so I uninstall everything. And when I tried downloading it back again, it doesnt prompt out the interface.

 I have done a fresh uninstall/install of GW2 and AddOn Loader. Left Alt+Left Shift+t does nothing but generate this in my log:
[INFO] core | Addon loader v1.0 (v1.1 r33) initialized
[INFO] core | Loading addons from "./addons" path
[INFO] core | Loading arcdps
[INFO] core | Loaded d3d9_wrapper v2.0 r21
[INFO] core | Loaded arcdps v1.0 r522
[INFO] core | Loading d3d9_wrapper
[INFO] core | Done loading addons
[INFO] d3d9_wrapper | Loading system dxgi
[WARN] core | Init called twice without proper unload. If your addon is not working, make sure you handle this situation!
[INFO] d3d9_wrapper | Loading system dxgi
[WARN] core | Init called twice without proper unload. If your addon is not working, make sure you handle this situation!
[INFO] d3d9_wrapper | Loading system dxgi
(those last two lines repeat 9 times)
I don't see config.ini or config.yaml files in my GW2 folder or subfolders.
There is a debug folder that contains this:
[0320/185522.050:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is
[0320/192236.289:WARNING:spdy_session.cc(3541)] Received HEADERS for invalid stream 5
[0320/192429.481:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is
[0320/192833.146:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is
I'm running on an ASUS TUFDash-15 with Windows 11. Nvidia GEFORCE Experience is installed, but Overlay is turned off. GW2 files are loaded into "Program Files," NOT "Program Files (X86).
Thanks in Advance for any help!

is this still working? no addon loads


Remove requirement to add a NodePath for every vertex in SoftBody3D - cannot select objects: crashes inspector.

Should be tracked on Godot Engine org.


Fields firstName and lastName are not present in the datapackage.json file

They're properly set inside the data package, but not in a standalone file

Newly added fields, were absent for some datasets. At this point they are set correctly.


No download info given for 'dssp' and its source directory

Hello! My attempt of building dssp locally ended badly on the third step, explained in your "Building" instruction. Full log:
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.local
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3091 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:58 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

'/opt/homebrew/Cellar/cmake/3.26.3/bin/cmake' '-E' 'env' '/usr/bin/git' 'pull'
Already up to date.
CMake Error at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3131 (message):
  No download info given for 'dssp' and its source directory:

   /Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp

  is not an existing non-empty directory.  Please specify one of:

   * SOURCE_DIR with an existing non-empty directory
   * DOWNLOAD_COMMAND
   * URL
   * GIT_REPOSITORY
   * SVN_REPOSITORY
   * HG_REPOSITORY
   * CVS_REPOSITORY and CVS_MODULE
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:99 (ExternalProject_Add)

-- Configuring incomplete, errors occurred!

After investigating the ./dssp/build/dssp directory, I noted it to be empty.
I need your help. Could you show me, what am I doing wrong, please? Thank you!

Curious error. Could you please try to move your code to a directory where there is no space in the path?

Curious error. Could you please try to move your code to a directory where there is no space in the path?

I've tried to do so, an nothing changed :(
The error remained the same as explained in my previous comment, with different source directory path given.

Could you please remove the build directory and run the command again but now with --debug-output appended? And share the result here?

Done. The output was just as following (with commands provided):
$ rm -r build
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.local --debug-output
Running with debug output on.
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00100
   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeDetermineCompilerId.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Detecting CXX compiler ABI info
   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeDetermineCompilerABI.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Detecting CXX compiler ABI info - done
   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeDetermineCompilerABI.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
   Called from: [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Detecting CXX compile features
   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Detecting CXX compile features - done
   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3091 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:58 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Found Git: /usr/bin/git (found version "2.39.3 (Apple Git-145)")
   Called from: [4]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/FindPackageMessage.cmake
                [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/FindGit.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
'/opt/homebrew/Cellar/cmake/3.26.3/bin/cmake' '-E' 'env' '/usr/bin/git' 'clone' 'file:///Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/' '/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp' '-b' 'trunk'
Cloning into '/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp'...
fatal: Remote branch trunk not found in upstream origin
CMake Error at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3131 (message):
  No download info given for 'dssp' and its source directory:

   /Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp

  is not an existing non-empty directory.  Please specify one of:

   * SOURCE_DIR with an existing non-empty directory
   * DOWNLOAD_COMMAND
   * URL
   * GIT_REPOSITORY
   * SVN_REPOSITORY
   * HG_REPOSITORY
   * CVS_REPOSITORY and CVS_MODULE
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:99 (ExternalProject_Add)

   Called from: [3]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake
                [2]	/opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake
                [1]	/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/CMakeLists.txt
-- Configuring incomplete, errors occurred!

OK, found it. And I must apologise, I made the classic error of typing in some instructions without testing them myself.
Apparently the git checkout step does not fetch all info required. You will have to run git fetch first before running cmake.
I'll update the readme for this.
Thanks for reporting this problem

Thank you very much!

I'm sorry, I've had a moment to check your solution just now. Adding git fetch command doesn't literally changed anything, the error keeps the same, as in my first message. Could you help me? My commands:
$ git clone https://github.com/PDB-REDO/dssp.git -b dssp-builder
Cloning into 'dssp'...
remote: Enumerating objects: 1398, done.
remote: Counting objects: 100% (143/143), done.
remote: Compressing objects: 100% (84/84), done.
remote: Total 1398 (delta 89), reused 100 (delta 59), pack-reused 1255
Receiving objects: 100% (1398/1398), 1.34 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (872/872), done.
$ cd dssp
$ git fetch
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.local
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3091 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:58 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Git: /usr/bin/git (found version "2.39.3 (Apple Git-145)")
'/opt/homebrew/Cellar/cmake/3.26.3/bin/cmake' '-E' 'env' '/usr/bin/git' 'clone' 'file:///Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/' '/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp' '-b' 'trunk'
Cloning into '/Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp'...
fatal: Remote branch trunk not found in upstream origin
CMake Error at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3131 (message):
  No download info given for 'dssp' and its source directory:

   /Users/lewis/Documents/Информация/Мое/Учеба/Университет/Курсовая 4-й курс/server/dssp/build/dssp

  is not an existing non-empty directory.  Please specify one of:

   * SOURCE_DIR with an existing non-empty directory
   * DOWNLOAD_COMMAND
   * URL
   * GIT_REPOSITORY
   * SVN_REPOSITORY
   * HG_REPOSITORY
   * CVS_REPOSITORY and CVS_MODULE
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:99 (ExternalProject_Add)

-- Configuring incomplete, errors occurred!

./dssp/build/dssp directory remains empty.

Did you try working in a directory without spaces and Cyrillic characters?

Sure. It ended likewise:
$ git clone https://github.com/PDB-REDO/dssp.git -b dssp-builder
Cloning into 'dssp'...
remote: Enumerating objects: 1398, done.
remote: Counting objects: 100% (143/143), done.
remote: Compressing objects: 100% (84/84), done.
remote: Total 1398 (delta 89), reused 100 (delta 59), pack-reused 1255
Receiving objects: 100% (1398/1398), 1.34 MiB | 509.00 KiB/s, done.
Resolving deltas: 100% (872/872), done.
$ cd dssp
$ git fetch
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.local
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3091 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:58 (ExternalProject_Add)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Git: /usr/bin/git (found version "2.39.3 (Apple Git-145)")
'/opt/homebrew/Cellar/cmake/3.26.3/bin/cmake' '-E' 'env' '/usr/bin/git' 'clone' 'file:///Users/lewis/Desktop/dssp/' '/Users/lewis/Desktop/dssp/build/dssp' '-b' 'trunk'
Cloning into '/Users/lewis/Desktop/dssp/build/dssp'...
fatal: Remote branch trunk not found in upstream origin
CMake Error at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:3131 (message):
  No download info given for 'dssp' and its source directory:

   /Users/lewis/Desktop/dssp/build/dssp

  is not an existing non-empty directory.  Please specify one of:

   * SOURCE_DIR with an existing non-empty directory
   * DOWNLOAD_COMMAND
   * URL
   * GIT_REPOSITORY
   * SVN_REPOSITORY
   * HG_REPOSITORY
   * CVS_REPOSITORY and CVS_MODULE
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/ExternalProject.cmake:4208 (_ep_add_download_command)
  CMakeLists.txt:99 (ExternalProject_Add)

-- Configuring incomplete, errors occurred!

That's strange, I tried it and it worked for me.
OK, then there is only one solution: replace
git fetch

with
git checkout trunk
git checkout dssp-builder

On a git checkout step it started to work fine. But a new error occurred on a cmake --build build step. See attached files.
stderr.txt
stdout.txt
How can I handle it?

If you have an hour, I'll fix the make process. This is not going to work.
(problem is that the download of zlib failed since the file no longer exists at the remote site)

Thank you very much for your help. I'll be awaiting.

I'm very sorry, but I had to give up trying to get dssp-builder up and running again. It's too much work for now.
So you will have to fall back to installing the requirements first, i.e. you have to install zilb, libmcfp and libcifpp by hand first. See the updated readme.

Hello! Are there any progressions? I had no luck to install requirements for DSSP successfully. I need your algorithm implementation in my work :(

Like I commented last week, the dssp-builder trick no longer works. You will have to build and install the requirements manually as stated in the new README. Or you can download a pre built executable from the release page:
https://github.com/PDB-REDO/dssp/releases/tag/v4.4.0

Understood. Have you any, maybe, docker things with executable version of DSSP?

There is a tool called pdb-redo-builder that uses docker to create linux executables that can run on older Linux versions. You can find it here: https://github.com/PDB-REDO/pdb-redo-builder
The executable we have for download at the release page, is that really not working for you?

I'm using Mac with M1, and I don't really know how to use these executables :(

Could you reach out to us by email to explain for what you need DSSP and how often? Perhaps we can help you with a different DSSP solution that doesn't require local software.


Under Win10, docker ... molecule destroy fail

Issue Type

Bug report

Molecule and Ansible details
image from docker on 2019-06-04
Molecule installation method (one of):

Docker

Ansible installation method (one of):

Docker

Detail any linters or test runners used:
Desired Behavior
Under Windows 10, I use the command:
docker run --privileged -v %cd%:/tmp -w /tmp -it --rm quay.io/ansible/molecule molecule destroy
(I am inside a ansible role folder)
It fails with the message:

TASK [Wait for instance(s) deletion to complete] *******************************
failed: [localhost] (item=None) => {"attempts": 1, "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}

Actual Behaviour
I would expect "destroy" to work.
log: log.log
Thanks for your support !

Can you do export MOLECULE_NO_LOG=False and MOLECULE_DEBUG=True and give us the output? This will show all the logging.


Part 2 fixes

Hi Tracy,
When you have a gap could you please review my changes.
Thank you.

Updated -take a look and make sure I got it right.


Fix issue with Record arrays

Record arrays were not being parsed correctly. Record array types should now generate correctly

@sebastianwessel  might be worth another release as it is a bug fix?

Yes, will release a new version in a few hours


User Menu incorrectly handling bottom sheet state when open is manually provided

Describe the bug
Bottom sheet does not open whenever the open @Input is provided manually.
What is the expected behavior?
UserMenu should be smart enough to update state onChanges, instead of only managing state internally.
What are the steps to reproduce?

Checkout this branch: https://github.com/pxblue/angular-design-patterns/tree/feature/account-menu
Open http://localhost:4200/account-menu/in-an-app-bar
Attempt to open the chip example.  This example manages the open state outside of the UserMenu component.

Environment

Windows, Chrome
Anything else to add?
Discovered in https://github.com/pxblue/angular-design-patterns/pull/139

Fixed in #346


Use NSISO8601DateFormatter when available

On macOS 10.12 and iOS 10, Foundation has an NSISO8601DateFormatter class built in. It'd be cool if ISO8601DateFormatter wrapped that implementation when it's available, as an aid to clients who'd like to move toward that implementation.
Ingredients:

Don't delete the existing implementation—clients supporting older OS versions will still need it.
Ensure calls to ISO8601DateFormatter methods reach NSISO8601DateFormatter implementations when available. There are many ways you could achieve this: Return an NSISO8601DateFormatter from alloc; have a class cluster; return the result of the NSISO8601DateFormatter implementation at the start of each ISO8601DateFormatter implementation—up to you.
NSISO8601DateFormatter property and method names may differ from those in ISO8601DateFormatter. Add methods with NSISO8601DateFormatter's names to ISO8601DateFormatter that call either the method of the same name on an actual NSISO8601DateFormatter (if possible) or the equivalent method in the ISO8601DateFormatter.

As a parser, NSISO8601DateFormatter is actually pretty different from boredzo/ISO8601DateFormatter.  It's basically just some ISO-8601-specific presets for their date parser.  That is, I can take any valid ISO-8601 string and pass it to boredzo/ISO8601DateFormatter and get a Date object out of it.  In order to pass an ISO-8601 string to NSISO8601DateFormatter, I have to first tell the parser exactly which variant of ISO-8601 to expect.
That's not workable for my program, so I'll be sticking with boredzo/ISO8601DateFormatter.
It may be feasible to replace the formatting half of ISO8601DateFormatter with the NS implementation.


Update index.md with Aravind Ramaraju info

Added Aravind Ramaraju to the Product Team Department page (as a part of the onboarding tasks to improve the Handbook)

Consider adding yourself to the team map as well!

https://github.com/sourcegraph/handbook/blob/dcf4bd0e1d97e88aa817c9e4b0d8d0237391442e/content/team/locations.md?plain=1#L8


Int4(llama-2-chat-7b) converted model generates response in German language

Describe the bug

Install all the pip dependencies for latest 254-llmchatbot notebook
Follow the steps to convert "llama-2-chat-7b" model to int4 format with default configuration.
Select device as "CPU"
Select model to run "INT4"
Run step to Load and compile the model
Set max_new_token=500 and run ov_model.generate with prompt "Describe Intel in 100 words or less"

Expected behavior
Output should be produced in English. However we are getting output in German language.

Is there any issue with converting llama-2-chat-7b model into int4 format with OpenVino ?
Is the issue with latest openvino==2023.3.0 or nncf==2.9.0.dev0+84b46f58 ?

Screenshots
Screenshot 1

Screenshot 2

Screenshot 3

Installation instructions (Please mark the checkbox)

[x] I followed the installation guide at https://github.com/openvinotoolkit/openvino_notebooks#-installation-guide to install the notebooks.

Additional context
I tried playing around with model_compression_params but it didn't help to resolve this issue.
"llama-2-chat-7b": {
    "mode": nncf.CompressWeightsMode.INT4_SYM,
    "group_size": 128,
    "ratio": 0.8,
},

"llama-2-chat-7b": {
    "mode": nncf.CompressWeightsMode.INT4_ASYM,
    "group_size": 128,
    "ratio": 0.8,
},

"llama-2-chat-7b": {
    "mode": nncf.CompressWeightsMode.INT4_SYM,
    "group_size": 64,
    "ratio": 0.8,
},

"llama-2-chat-7b": {
    "mode": nncf.CompressWeightsMode.INT4_SYM,
    "group_size": 64,
    "ratio": 0.6,
},

Hi @bhardwaj-nakul Since this model is for propose of chat, could you help to try adding a system prompt before the question, and see if the issue happen again?

@andreyanufr, can you please take a look and provide an advice on what kind of weight compression configuration should lead to accurate results?

@bhardwaj-nakul could you please try to run data aware compression:
`from functools import partial
import numpy as np
from nncf import compress_weights, Dataset
from nncf.parameters import CompressWeightsMode, SensitivityMetric
from transformers import AutoTokenizer
from transformers import AutoConfig
from compress_qwen_awq import OVQwenModel
from optimum.intel.openvino import OVModelForCausalLM
from datasets import load_dataset
def transform_func(item, tokenizer, input_shapes):
text = item['text']
tokens = tokenizer(text)

res = {'input_ids': np.expand_dims(np.array(tokens['input_ids']), 0),
       'attention_mask': np.expand_dims(np.array(tokens['attention_mask']), 0)}

if 'position_ids' in input_shapes:
    position_ids = np.cumsum(res['attention_mask'], axis=1) - 1
    position_ids[res['attention_mask'] == 0] = 1
    res['position_ids'] = position_ids

for name, shape in input_shapes.items():
    if name in res:
        continue
    res[name] = np.zeros(shape)

return res

def get_input_shapes(model, batch_size = 1):
inputs = {}
for val in model.model.inputs:
    name = val.any_name
    shape = list(val.partial_shape.get_min_shape())
    shape[0] = batch_size
    inputs[name] = shape

return inputs

def compress(model, tokenizer, mode = CompressWeightsMode.INT4_SYM,
group_size=128, ratio = 0.8,
sm = SensitivityMetric.MAX_ACTIVATION_VARIANCE):
dataset = load_dataset('wikitext', 'wikitext-2-v1', split='train')
dataset = dataset.filter(lambda example: len(example["text"]) > 80)
input_shapes = get_input_shapes(model)
nncf_dataset = Dataset(dataset, partial(transform_func, tokenizer=tokenizer, input_shapes=input_shapes))

model.model = compress_weights(model.model, mode=mode,
                               group_size=group_size,
                               ratio=ratio,
                               dataset=nncf_dataset,
                               sensitivity_metric=sm)

return model`

@bhardwaj-nakul could you please try the example suggested?

I tried the provided script. I'm getting below error

The input model to this script is supposed to be FP16 IR model right ? I tried with this itself.


Rework QoL chapter

screenshot for reference
the toms quest has a comment inside it, intentionally at that weird place, will be moved later

Closing due to quest rework


Implements autogate framework.

Test Plan

Tests in our internal repo
Verified that workerd runs via bazel run @workerd//src/workerd/server:workerd -- --help

Just a drive-by comment, but I got really confused by the term Autogate.  I thought it had to do with the Input and Output gates (src/workerd/io/io-gate.h) on Durable Objects (https://blog.cloudflare.com/durable-objects-easy-fast-correct-choose-three/).
If the name can be changed, might FeatureGate be better?  (Kubernetes and Firefox seem to use this term.)
Or "FeatureFlag" if we want to get away from gate to remove any confusion with I/O gates.

@justin-mp I think it may be a little too late to change the name by now. That being said I also don't think FeatureGate fits, the autogates can and should be used for any code change, not necessarily new features. The "auto" refers to the gate states being made available automatically everywhere in workerd.


Property SentryError doesnt exist

Getting this error when trying to setup Repack,
My webpack.config file

import { createRequire } from 'node:module';
import path from 'node:path';
import TerserPlugin from 'terser-webpack-plugin';
import * as Repack from '@callstack/repack';

const dirname = Repack.getDirname(import.meta.url);
const { resolve } = createRequire(import.meta.url);

export default (env) => {
  const {
    mode = 'development',
    context = dirname,
    entry = './index.js',
    platform = process.env.PLATFORM,
    minimize = mode === 'production',
    devServer = undefined,
    bundleFilename = undefined,
    sourceMapFilename = undefined,
    assetsPath = undefined,
    reactNativePath = resolve('react-native')
  } = env;

  if (!platform) {
    throw new Error('Missing platform');
  }

  process.env.BABEL_ENV = mode;

  const alias = {

  };

  return {
    mode,
    devtool: false,
    context,
    entry: [
      ...Repack.getInitializationEntries(reactNativePath, {
        hmr: devServer && devServer.hmr
      }),
      entry
    ],
    resolve: {
      ...Repack.getResolveOptions(platform),
      alias
    },
    output: {
      clean: true,
      hashFunction: 'xxhash64',
      path: path.join(dirname, 'build/generated', platform),
      filename: 'index.bundle',
      chunkFilename: '[name].chunk.bundle',
      publicPath: Repack.getPublicPath({ platform, devServer })
    },
    optimization: {
      minimize,
      minimizer: [
        new TerserPlugin({
          test: /\.(js)?bundle(\?.*)?$/i,
          extractComments: false,
          terserOptions: {
            format: {
              comments: false
            }
          }
        })
      ],
      chunkIds: 'named'
    },
    module: {
      rules: [
        {
          test: /\.[jt]sx?$/,
          include: [
            /node_modules(.*[/\\])+react\//,
            /node_modules(.*[/\\])+react-native/,
            /node_modules(.*[/\\])+@react-native/,
            /node_modules(.*[/\\])+react-freeze/,
            /node_modules(.*[/\\])+rn-gzip/,
            /node_modules(.*[/\\])+rn-fetch-blob/,
            /node_modules(.*[/\\])+@react-navigation/,
            /node_modules(.*[/\\])+@react-native-community/,
            /node_modules(.*[/\\])+expo/,
            /node_modules(.*[/\\])+pretty-format/,
            /node_modules(.*[/\\])+metro/,
            /node_modules(.*[/\\])+abort-controller/,
            /node_modules(.*[/\\])+@callstack/,
            /node_modules(.*[/\\])+@callstack(.*[/\\])+repack/
          ],
          use: 'babel-loader'
        },
        {
          test: /\.[jt]sx?$/,
          exclude: /node_modules/,
          use: {
            loader: 'babel-loader',
            options: {
              /** Add React Refresh transform only when HMR is enabled. */
              plugins: devServer && devServer.hmr ? ['module:react-refresh/babel'] : undefined
            }
          }
        },
        {
          test: Repack.getAssetExtensionsRegExp(Repack.ASSET_EXTENSIONS),
          use: {
            loader: '@callstack/repack/assets-loader',
            options: {
              platform,
              devServerEnabled: Boolean(devServer),
              /**
               * Defines which assets are scalable - which assets can have
               * scale suffixes: `@1x`, `@2x` and so on.
               * By default all images are scalable.
               */
              scalableAssetExtensions: Repack.SCALABLE_ASSETS
            }
          }
        }
      ]
    },
    plugins: [
      new Repack.RepackPlugin({
        context,
        mode,
        platform,
        devServer,
        output: {
          bundleFilename,
          sourceMapFilename,
          assetsPath
        }
      })
    ]
  };
};

This is the file that its getting error from Sentry Package
Object.defineProperty(exports, '__esModule', { value: true });

/** An error emitted by Sentry SDKs and related utilities. */
class SentryError extends Error {
  /** Display name of this error instance. */

   constructor( message, logLevel = 'warn') {
    super(message);this.message = message;
    this.name = new.target.prototype.constructor.name;
    // This sets the prototype to be `Error`, not `SentryError`. It's unclear why we do this, but commenting this line
    // out causes various (seemingly totally unrelated) playwright tests consistently time out. FYI, this makes
    // instances of `SentryError` fail `obj instanceof SentryError` checks.
    Object.setPrototypeOf(this, new.target.prototype);
    this.logLevel = logLevel;
  }
}

exports.SentryError = SentryError;
//# sourceMappingURL=error.js.map

Versions used in package.json:
   "@callstack/repack": "^3.7.0",
    "terser-webpack-plugin": "^5.3.10",
    "typescript": "^4.9.5",
    "webpack": "^5.91.0"
     "@sentry/react-native": "5.19.3",

Hi @varunraghu3112,
have you tried including sentry packages in transformation rules for node_modules?

@jbroma this is sorted after adding sentry inside
rules: [
....
'/node_modules(.*[/\])+@sentry/'
]
Thannks

Glad it worked! I've edited your last comment to make it more clear for others in the future if they happen to have the same issue. Closing as it's resolved now.


Upgrade dragen workflows to use latest versions of multiqc (and multiqc-interop)

Changes summary
Pipelines using dragen 3.9.3 or above or bclconvert 3.7.5 or above have been upgraded to use the multiqc 1.14.0 tool instead.
Workflows that used a 'requirements override' within a workflow step to override the docker container have had this component removed.
Multiqc interop for bclconvert has also been upgraded to 1.14.0 with interop version also upgraded to 1.2.0
TODO

[x] Wait for #202
[x] Wait for #185
[x] Wait for #230
[x] Wait for #231
[ ] Compare outputs of multiqc versions for validation samples.

Having a small hiccup creating the workflow-submission template https://github.com/umccr/cwl-ica-cli/issues/116

Also, we are still left with comparison of outputs.

Also, we are still left with comparison of outputs.

Yep, making the workflow templates first to then add in multiqc v1.14 in the overrides section, will then have something to compare in terms of outputs.  From running cwltool locally, I'm confident that we're good to go, but want to run it across all types of validation samples first to make sure.

Comparisons
Transcriptome
Compared  "wfr.485aaf32336540ee839a929473708fff" to "wfr.c81618e523ab4f5599d9ca2304475e7a"
Qualimap segment missing from original.
GC Content also added in General Stats
transcriptome_multiqc.zip

Somatic
Compared  "wfr.25f2c89ce8954d038fdbf268d7cc70c9" (old) to "wfr.7994e0cc70584f8b816ee6260c19e06c" (new)

GC Content % added in General Stats

= 20X Coverage metric in General Stats has been removed

Contamination value removed since NA in General Stats

Alignment
Compared "wfr.49f11128fa464351819b338532685678" (old) to "wfr.f48d8b47e4bc4a2fb37da891e6c48a54" (new)

GC Content % added in General Stats

>= 20X Coverage metric in General Stats has been removed

Contamination value removed since NA in General Stats

wgs_alignment_multiqc.zip

CTTSO
No old multiqc to compare to, new workflow is "wfr.96641cb36a034cf3a683ca97c6483373"
Is essentially an alignment report since multiqc takes in input from align-collapse-fusion-caller step.
cttso_multiqc.zip

BCLConvert
Compared "wfr.8ac723c7b5d34a07a0d0c38352f71b86" (old) to "wfr.e4da73b8be9a4e6eb59c456ae2d78728" (new)

Merged interop qc and bclconvert into one multiqc file
Dragen report also added into new report (if FPGA instance is used)
New interop version appears to use Mb over Gb for yields which is peculiar.

Looking at the somatic comparisons - did you just re-run MultiQC or the whole pipeline? If the former I'm confused why unmapped reads doubled in the new version (and coverage dropped by 3x); mapping metrics is missing the 'Raw Depth' entry.
Overall good to go though!

Looking at the somatic comparisons - did you just re-run MultiQC or the whole pipeline? If the former I'm confused why unmapped reads doubled in the new version (and coverage dropped by 3x); mapping metrics is missing the 'Raw Depth' entry.

Not quite comparing apples with apples on this one.
New version uses dragen 4.0.3 but with the same reference as the old run so that could account for the changes, this was moreso testing that multiqc 1.14 was compatbile with dragen 4.0.3 rather than comparing the changes between dragen 3.9.3 and dragen 4.0.3

Reviewed Dragen-transcriptome multiQC reports. Both look comparable. The only difference I have noted is in one of the plots from Dragen-FastQC outputs. Per-Position Quality Score Ranges (The range of quality value across each base position in each sample or read) in old one is missing from new one. Probably Dragen-v4 no longer produces this output which makes sense, as I don't think the plot is useful or adding anything to existing information.

(The range of quality value across each base position in each sample or read) in old one is missing from new one

Looks like it's still there - just denoted as 1/2 rather than <sample_name>_read1 or <sample_name>_read2


Enabled Metrics causes the cluster to crash

What happened?
Description
We're seeing the following error shortly after updating the values.yaml file to enable metrics, followed by a helm update. The cluster runs for less than 1 min then proceeds to crash
20s         Warning   Unhealthy           pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7                Readiness probe failed: Get "http://10.129.xxx.xxx:13133/": dial tcp 10.129.xxx.xxx:13133: connect: connection refused
19s         Warning   Unhealthy           pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7                Readiness probe failed: HTTP probe failed with statuscode: 503
37s         Warning   BackOff             pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7                Back-off restarting failed container
4m22s       Normal    Killing             pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverhqjx8                Stopping container otel-collector
-bash-4.2$ oc logs ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7
Error from server: Get "https://30.11x.xx.xxx:10250/containerLogs/splunk-otel/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7/otel-collector": remote error: tls: internal error
-bash-4.2$
Steps to Reproduce

Update  metricsEnabled value to be true, we were expecting to see metrics log. everything runs normal for less than 1 min before crashing
metricsEnabled: true

as soon as we revert the to be metricsEnabled value to be false, everything works as normal again
metricsEnabled: false
Expected Result
see metrics logs from cluster in splunk
Actual Result
cluster crash
Chart version
Environment information
Environment
ocp on premise
Chart configuration
below is our values.yaml
agent:
  config:
    processors:
      filter/exclude_all_telemetry_data_from_namespace:
        logs:
          exclude:
            match_type: regexp
            resource_attributes:
            - key: k8s.namespace.name
              value: ^(datadog)$
        metrics:
          exclude:
            match_type: regexp
            resource_attributes:
            - key: k8s.namespace.name
              value: ^(datadog)$
        traces:
          span:
          - attributes["k8s.namespace.name"] != "datadog"
    service:
      pipelines:
        logs:
          processors:
          - filter/exclude_all_telemetry_data_from_namespace
  resources:
    limits:
      cpu: 1
      memory: 2Gi
cloudProvider: ""
clusterName: onprem-sbx-env
distribution: openshift
environment: sandbox
logsEngine: otel
clusterReceiver:
  k8sObjects:
    - name: pods
      mode: pull
      interval: 5m
    - name: namespaces
      mode: pull
      interval: 5m
    - name: nodes
      mode: pull
      interval: 5m
    - name: events
      mode: watch
      group: events.k8s.io
logsCollection:
  containers:
    excludePaths: ["/var/log/pods/datadog_datadog-*/*/*.log"]
    excludeAgentLogs: false
    multilineConfigs:
    - namespaceName:
        value: splunk-otel
      podName:
        value: ocp4-onprem-sbx-splunk-otel-*
        useRegexp: true
      firstEntryRegex: ^([\r\n]+)*\d{4}\-\d{2}\-[0-9T]{3,5}\:\d{2}\:\d{2}\.[0-9Z]{4}.*

  extraFileLogs:
    filelog/audit-log:
      include: [/var/log/kube-apiserver/audit.log]
      start_at: beginning
      include_file_path: true
      include_file_name: false
      resource:
        com.splunk.source: /var/log/kube-apiserver/audit.log
        host.name: 'EXPR(env("K8S_NODE_NAME"))'
        com.splunk.sourcetype: kube:apiserver-audit
    filelog/oauth-audit:
      include: [/var/log/oauth-apiserver/audit.log]
      start_at: beginning
      include_file_path: true
      include_file_name: false
      resource:
        com.splunk.source: /var/log/oauth-apiserver/audit.log
        host.name: 'EXPR(env("K8S_NODE_NAME"))'
        com.splunk.sourcetype: kube:apiserver-audit
    filelog/openshift-audit:
      include: [/var/log/openshift-apiserver/audit.log]
      start_at: beginning
      include_file_path: true
      include_file_name: false
      resource:
        com.splunk.source: /var/log/openshift-apiserver/audit.log
        host.name: 'EXPR(env("K8S_NODE_NAME"))'
        com.splunk.sourcetype: kube:apiserver-audit
splunkPlatform:
  disableCompression: false
  endpoint: https://HEC-VIP/services/collector/event
  idleConnTimeout: 30s
  index: SCKL_CAAS_auto
  insecureSkipVerify: true
  logsEnabled: true
  maxConnections: 200
  metricsEnabled: true
  metricsIndex: metric_index
  retryOnFailure:
    enabled: true
    initialInterval: 30s
    maxElapsedTime: 600s
    maxInterval: 60s
  timeout: 60s
  token: xxxx-xxx-xxx-xxx-xxxxxxxxxxxx
  tracesEnabled: false

Log output
20s         Warning   Unhealthy           pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7                Readiness probe failed: Get "http://10.129.xxx.xxx:13133/": dial tcp 10.129.xxx.xxx:13133: connect: connection refused
19s         Warning   Unhealthy           pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7                Readiness probe failed: HTTP probe failed with statuscode: 503
37s         Warning   BackOff             pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7                Back-off restarting failed container
4m22s       Normal    Killing             pod/ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverhqjx8                Stopping container otel-collector
Additional context

@xxPhuNguyenxx thanks for your report. I don't believe we have enough information and your environment may have a configuration issue that's preventing you from providing helpful logs (maybe oc adm certficate approve?). I believe opening a support case will provide more through assistance than we can provide in a github issue.

@rmfitzpatrick  what info do you need that's missing? Also, i'll put in a support case now for it

I believe your oc logs ocp4-onprem-sbx-splunk-otel-collector-k8s-cluster-receiverbb9k7 invocation is failing to show the actual collector logs that would be required to show any startup issues the health check extension's failed probes suggest are occurring.

fyi ive in ticket 3357968

@xxPhuNguyenxx This error is reproducible on my end and the issue here in my case was limited resources allocated.
I see you have increased the resources for agents.
I would suggest the same for clusterReceiver.
You can do like following in values.yaml:
clusterReceiver:
  resources:
    limits:
      cpu: 2
      memory: 4Gi

Also, please monitor the logs of the cluster receiver while it’s running. Attach the logs if it behaves weirdly.
You can also see why it was killed by doing:
kubectl describe pod POD_NAME and examining Last State field.

@VihasMakwana  thanks for the info. we're currently using the setting that you've applied and it seems to be working as expected. we're monitoring it for next couple of days to see if there are anymore restarts or crashes as well.

@xxPhuNguyenxx any updated on this?

Let's continue the discussion on the support case 3357968.


Add a helper command to delete stored provenance by package id

Please have a look at the individual commit messages for the details.

This helps to work around https://github.com/oss-review-toolkit/ort/issues/8311.


[Serverless] Fix flaky integration tests and make them more easily maintainable.

What does this PR do?

This pull request aims to make our integration tests more maintainable and flexible.
First, it takes all the regex replacements from the run.sh script and puts them into a new python script file. This allows us to more easily do things like, sort logs based on message, for example. It's also easier to run it locally with test data to work out any changes quickly before running the whole test suite.
Secondly, it re-enables all integration tests currently marked "skip". Some of them now pass 🎉  but some are still failing. For the latter, I've opted to have the python script output a semi-useful json message and saved this to the snapshots. You'll notice these snapshots were already empty to begin with. Now, if anything changes in one of these tests, we'll actually be running them for real real and therefore can get altered to any useful changes.
Lastly, I've cleaned up and reordered some of the snapshots. I've left comments in the code to explain these in more detail.
Motivation

Our serverless integration tests fail A LOT, and rarely for any reason that we actually care about. It's a huge waste of time to have to keep clicking "rerun job" over and over again.
Additional Notes

Possible Drawbacks / Trade-offs

Sadly, not everyone likes python. But I assume everyone at least likes it better than bash.
Describe how to test/QA your changes

Run the integration tests as part of normal CI.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

I am currently running the integration tests locally in a loop to check for any other flaky errors. I am not yet seeing any.


TX2 bootloader update issue

Hi,
I'm porting a TX2 image from warrior to dunfell-l4t-r32.4.3 after a recent shipment of D02 modules not compatible with prior jetpack revision.
The booloader update succeeds
nv_update_engine -i
Nvidia A/B-Redundancy Update tool Version 1.2
current slot 0
Start updating slot 1
Tegra User Block Device: /dev/disk/by-partlabel
Tegra Boot Block Device: /dev/mmcblk0boot0
HEADER: MAGIC NVIDIA__BLOB__V2
HEX_VALUE 131072
BLOB_SIZE 42891591
HEADER_SIZE 40
NUMBER_OF_ELEMENTS 49
HEADER_TYPE 0
UNCOMP_SIZE 42891591
MB1_RATCHET_LV 98
MTS_RATCHET_LV 112
ROLLBACK_FUSE_LV 109
config COMPATIBLE_SPEC not found in /etc/nv_boot_control.conf
Device TN Spec: 3310-D01-1000-B.0-1-0-astro-tx2-mmcblk0p1
config COMPATIBLE_SPEC not found in /etc/nv_boot_control.conf
Device TN Spec: 3310-D01-1000-B.0-1-0-astro-tx2-mmcblk0p1
Device is fused board.
ENTRY_TABLE:
PART  POS  LEN  VER TNSPEC TYPE UPDATABLE
bpmp-fw  5920  533904  2    1  1
sce-fw  539824  125568  2    1  1
cpu-bootloader  665392  285216  2    1  1
mb2  950608  117568  2    0  1
spe-fw  1068176  95984  2    0  1
secure-os  1164160  366400  2    1  1
adsp-fw  1530560  108208  2    1  1
BMP  1638768  75973  2    1  1
mb1  1714741  99664  2    2  1
mts-bootpack  1814405  2082144  2    1  1
mts-preboot  3896549  63104  2    0  1
sc7  3959653  23632  2    1  1
bpmp-fw-dtb  3983285  605120  2  3310-B00-1000--1-0-astro-tx2-mmcblk0p1  1  0
bpmp-fw-dtb  4588405  605120  2  3310-B02-1000--1-0-astro-tx2-mmcblk0p1  1  0
bpmp-fw-dtb  5193525  605120  2  3310-C04-1000--1-0-astro-tx2-mmcblk0p1  1  0
bpmp-fw-dtb  5798645  605120  2  3310-D00-1000--1-0-astro-tx2-mmcblk0p1  1  0
bpmp-fw-dtb  6403765  605120  2  3310-D01-1000--1-0-astro-tx2-mmcblk0p1  1  1
bpmp-fw-dtb  7008885  605120  2  3310-D02-1000--1-0-astro-tx2-mmcblk0p1  1  0
bootloader-dtb  7614005  240576  2  3310-B00-1000--1-0-astro-tx2-mmcblk0p1  1  0
bootloader-dtb  7854581  240576  2  3310-B02-1000--1-0-astro-tx2-mmcblk0p1  1  0
bootloader-dtb  8095157  240576  2  3310-C04-1000--1-0-astro-tx2-mmcblk0p1  1  0
bootloader-dtb  8335733  240576  2  3310-D00-1000--1-0-astro-tx2-mmcblk0p1  1  0
bootloader-dtb  8576309  240576  2  3310-D01-1000--1-0-astro-tx2-mmcblk0p1  1  1
bootloader-dtb  8816885  240576  2  3310-D02-1000--1-0-astro-tx2-mmcblk0p1  1  0
VER  9057461  102  2  3310-B00-1000--1-0-astro-tx2-mmcblk0p1  0  0
VER  9057563  102  2  3310-B02-1000--1-0-astro-tx2-mmcblk0p1  0  0
VER  9057665  102  2  3310-C04-1000--1-0-astro-tx2-mmcblk0p1  0  0
VER  9057767  101  2  3310-D00-1000--1-0-astro-tx2-mmcblk0p1  0  0
VER  9057868  102  2  3310-D01-1000--1-0-astro-tx2-mmcblk0p1  0  1
VER  9057970  101  2  3310-D02-1000--1-0-astro-tx2-mmcblk0p1  0  0
BCT  9058071  3584  2  3310-B00-1000--1-0-astro-tx2-mmcblk0p1  2  0
BCT  9061655  3584  2  3310-B02-1000--1-0-astro-tx2-mmcblk0p1  2  0
BCT  9065239  3584  2  3310-C04-1000--1-0-astro-tx2-mmcblk0p1  2  0
BCT  9068823  3584  2  3310-D00-1000--1-0-astro-tx2-mmcblk0p1  2  0
BCT  9072407  3584  2  3310-D01-1000--1-0-astro-tx2-mmcblk0p1  2  1
BCT  9075991  3584  2  3310-D02-1000--1-0-astro-tx2-mmcblk0p1  2  0
MB1_BCT  9079575  50096  2  3310-B00-1000--1-0-astro-tx2-mmcblk0p1  0  0
MB1_BCT  9129671  50096  2  3310-B02-1000--1-0-astro-tx2-mmcblk0p1  0  0
MB1_BCT  9179767  50096  2  3310-C04-1000--1-0-astro-tx2-mmcblk0p1  0  0
MB1_BCT  9229863  50096  2  3310-D00-1000--1-0-astro-tx2-mmcblk0p1  0  0
MB1_BCT  9279959  50096  2  3310-D01-1000--1-0-astro-tx2-mmcblk0p1  0  1
MB1_BCT  9330055  50096  2  3310-D02-1000--1-0-astro-tx2-mmcblk0p1  0  0
kernel  9380151  32067984  2    1  1
kernel-dtb  41448135  240576  2  3310-B00-1000--1-0-astro-tx2-mmcblk0p1  1  0
kernel-dtb  41688711  240576  2  3310-B02-1000--1-0-astro-tx2-mmcblk0p1  1  0
kernel-dtb  41929287  240576  2  3310-C04-1000--1-0-astro-tx2-mmcblk0p1  1  0
kernel-dtb  42169863  240576  2  3310-D00-1000--1-0-astro-tx2-mmcblk0p1  1  0
kernel-dtb  42410439  240576  2  3310-D01-1000--1-0-astro-tx2-mmcblk0p1  1  1
kernel-dtb  42651015  240576  2  3310-D02-1000--1-0-astro-tx2-mmcblk0p1  1  0
Saving Entry table to /opt/ota_package/entry_table
Writing 533904 bytes to /dev/disk/by-partlabel/bpmp-fw_b for bpmp-fw
Writing 125568 bytes to /dev/disk/by-partlabel/sce-fw_b for sce-fw
Writing 285216 bytes to /dev/disk/by-partlabel/cpu-bootloader_b for cpu-bootloader
mb2 write: slot = 1 offset = 1276928 bytes = 117568
spe-fw write: slot = 1 offset = 883712 bytes = 95984
Writing 366400 bytes to /dev/disk/by-partlabel/secure-os_b for secure-os
Writing 108208 bytes to /dev/disk/by-partlabel/adsp-fw_b for adsp-fw
Writing 75973 bytes to /dev/disk/by-partlabel/BMP_b for BMP
Writing 2082144 bytes to /dev/disk/by-partlabel/mts-bootpack_b for mts-bootpack
mts-preboot write: slot = 1 offset = 1801216 bytes = 63104
Writing 23632 bytes to /dev/disk/by-partlabel/sc7_b for sc7
Writing 605120 bytes to /dev/disk/by-partlabel/bpmp-fw-dtb_b for bpmp-fw-dtb
Writing 240576 bytes to /dev/disk/by-partlabel/bootloader-dtb_b for bootloader-dtb
VER write: slot = 1 offset = 8257536 bytes = 102
MB1_BCT write: slot = 1 offset = 622592 bytes = 50096
Writing 32067984 bytes to /dev/disk/by-partlabel/kernel_b for kernel
Writing 240576 bytes to /dev/disk/by-partlabel/kernel-dtb_b for kernel-dtb
mb1 write: slot = 0 offset = 32768 bytes = 99664
BCT slot = 0 write: offset = 3584 bytes = 3584
BCT slot = 0 write: offset = 0 bytes = 3584
Update Rollback partitions
Writing 533904 bytes to /dev/disk/by-partlabel/bpmp-fw for bpmp-fw
Writing 125568 bytes to /dev/disk/by-partlabel/sce-fw for sce-fw
Writing 285216 bytes to /dev/disk/by-partlabel/cpu-bootloader for cpu-bootloader
mb2 write: slot = 0 offset = 1014784 bytes = 117568
spe-fw write: slot = 0 offset = 752640 bytes = 95984
Writing 366400 bytes to /dev/disk/by-partlabel/secure-os for secure-os
Writing 108208 bytes to /dev/disk/by-partlabel/adsp-fw for adsp-fw
Writing 75973 bytes to /dev/disk/by-partlabel/BMP for BMP
Writing 2082144 bytes to /dev/disk/by-partlabel/mts-bootpack for mts-bootpack
mts-preboot write: slot = 0 offset = 1539072 bytes = 63104
Writing 23632 bytes to /dev/disk/by-partlabel/sc7 for sc7
Writing 605120 bytes to /dev/disk/by-partlabel/bpmp-fw-dtb for bpmp-fw-dtb
Writing 240576 bytes to /dev/disk/by-partlabel/bootloader-dtb for bootloader-dtb
VER write: slot = 0 offset = 8323072 bytes = 102
MB1_BCT write: slot = 0 offset = 557056 bytes = 50096
Writing 32067984 bytes to /dev/disk/by-partlabel/kernel for kernel
Writing 240576 bytes to /dev/disk/by-partlabel/kernel-dtb for kernel-dtb
Update successful
Setting slot 1 as active boot slot
Rebooting system....<IP_ADDRESS>.<IP_ADDRESS>.2.1

The board boots to the correct next slot.
nvbootctrl dump-slots-info
magic:0x43424e00,             version: 3             features: 3             num_slots: 2
slot: 0,             priority: 0,             suffix: _a,             retry_count: 0,             boot_successful: 0
slot: 1,             priority: 15,             suffix: _b,             retry_count: 7,             boot_successful: 1

But the verification at the next boot fails:
nv_update_engine -v
Nvidia A/B-Redundancy Update tool Version 1.2
verifying update
The current slot 0 is marked as boot successful
SM: S22
Previous update on slot 1 failed

I've had a similar issue in the past. There I was missing the entry_table file in /opt/ota_package from APP to APP_b partition.
This is not the case now and entry_table is copied and present.
If I delete entry_table from the new partition I get the same error so it seems unrelated.
I'm not getting much from strace
strace nv_update_engine -v
execve("/usr/sbin/nv_update_engine", ["nv_update_engine", "-v"], 0x7feffd0318 /* 16 vars */) = 0
brk(NULL)                               = 0x2dbeb000
brk(0x2dbebf60)                         = 0x2dbebf60
uname({sysname="Linux", nodename="localhost", ...}) = 0
readlinkat(AT_FDCWD, "/proc/self/exe", "/usr/sbin/nv_update_engine", 4096) = 26
brk(0x2dc0cf60)                         = 0x2dc0cf60
brk(0x2dc0d000)                         = 0x2dc0d000
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0
write(1, "Nvidia A/B-Redundancy Update too"..., 46Nvidia A/B-Redundancy Update tool Version 1.2
) = 46
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 1636, SEEK_SET)                = 1636
read(3, "\0\0\3\0\276\17\0\0\0\20\0\0", 12) = 12
close(3)                                = 0
write(1, "verifying update\n", 17verifying update
)      = 17
openat(AT_FDCWD, "/proc/cmdline", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "console=ttyS0,115200 console=tty"..., 1024) = 424
read(3, "", 1024)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 2063360, SEEK_SET)             = 2063360
lseek(3, 2063360, SEEK_SET)             = 2063360
read(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
close(3)                                = 0
write(1, "The current slot 0 is marked as "..., 48The current slot 0 is marked as boot successful
) = 48
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 2063360, SEEK_SET)             = 2063360
lseek(3, 2063360, SEEK_SET)             = 2063360
read(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
close(3)                                = 0
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 2063360, SEEK_SET)             = 2063360
lseek(3, 2063360, SEEK_SET)             = 2063360
read(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
close(3)                                = 0
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 2063360, SEEK_SET)             = 2063360
lseek(3, 2063360, SEEK_SET)             = 2063360
read(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
close(3)                                = 0
write(1, "SM: S22\n", 8SM: S22
)                = 8
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 2063360, SEEK_SET)             = 2063360
lseek(3, 2063360, SEEK_SET)             = 2063360
read(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
close(3)                                = 0
openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
read(3, "TNSPEC 3310-D01-1000-B.0-1-0-ast"..., 1024) = 146
close(3)                                = 0
openat(AT_FDCWD, "/dev/mmcblk0boot0", O_RDWR) = 3
lseek(3, 2063360, SEEK_SET)             = 2063360
faccessat(AT_FDCWD, "/sys/block/mmcblk0boot0/force_ro", F_OK) = 0
openat(AT_FDCWD, "/sys/block/mmcblk0boot0/force_ro", O_RDWR) = 4
write(4, "0", 1)                        = 1
close(4)                                = 0
write(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
lseek(3, 2067456, SEEK_SET)             = 2067456
write(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
faccessat(AT_FDCWD, "/sys/block/mmcblk0boot0/force_ro", F_OK) = 0
openat(AT_FDCWD, "/sys/block/mmcblk0boot0/force_ro", O_RDWR) = 4
write(4, "1", 1)                        = 1
close(4)                                = 0
lseek(3, 2063360, SEEK_SET)             = 2063360
read(3, "\0NBC\3\3\2\0\17_a\7\1\0_b\0\0\246\337\326\262", 22) = 22
close(3)                                = 0
write(1, "Previous update on slot 1 failed"..., 33Previous update on slot 1 failed
) = 33
exit_group(0)                           = ?
+++ exited with 0 +++

The kernel cmd has the correct slot info ... boot.slot_suffix=_b ...
/etc/nv_boot_control.conf looks ok to me
cat /etc/nv_boot_control.conf
TNSPEC 3310-D01-1000-B.0-1-0-astro-tx2-mmcblk0p1
TEGRA_CHIPID 0x18
TEGRA_OTA_BOOT_DEVICE /dev/mmcblk0boot0
TEGRA_OTA_GPT_DEVICE /dev/mmcblk0boot1

The bootloader update works with Xavier based machines on the same branch.
Any hint where to look next?
Thanks,

What version of the BSP was on your A partition vs what was being installed on B?  If they are different, then the next question:
Do you chroot into the newly-installed (B) partition to run nv-update-engine, or were using the one in the A partition?  I know I've run into issues with cross-overs (trying to install a BUP from a later BSP using the tools/config from an older BSP version) not working, which is why I took the chroot path for the Mender (and other) integration.  Doing that should also eliminate the need to copy the entry_table file over, too, since it should end up in the B partition's filesystem.

For this test I'm re-deploying the same bootloader payload. So the BSP is the same.
On slot A I nv_update_engine_install --install no-reboot, mount the B partition, copy the entry_table, reboot to slot B and run nv_update_engine_install --verify
The entry_table looks fine to me too:
bpmp-fw,5920,533904,2,,1,1
sce-fw,539824,125568,2,,1,1
cpu-bootloader,665392,285216,2,,1,1
mb2,950608,117568,2,,0,1
spe-fw,1068176,95984,2,,0,1
secure-os,1164160,366400,2,,1,1
adsp-fw,1530560,108208,2,,1,1
BMP,1638768,75973,2,,1,1
mb1,1714741,99664,2,,2,1
mts-bootpack,1814405,2082144,2,,1,1
mts-preboot,3896549,63104,2,,0,1
sc7,3959653,23632,2,,1,1
bpmp-fw-dtb,6403765,605120,2,3310-D01-1000--1-0-astro-tx2-mmcblk0p1,1,1
bootloader-dtb,8576309,240576,2,3310-D01-1000--1-0-astro-tx2-mmcblk0p1,1,1
VER,9057869,101,2,3310-D01-1000--1-0-astro-tx2-mmcblk0p1,0,1
BCT,9072408,3584,2,3310-D01-1000--1-0-astro-tx2-mmcblk0p1,2,1
MB1_BCT,9279960,50096,2,3310-D01-1000--1-0-astro-tx2-mmcblk0p1,0,1
kernel,9380152,32067984,2,,1,1
kernel-dtb,42410440,240576,2,3310-D01-1000--1-0-astro-tx2-mmcblk0p1,1,1

chroot sounds like a good idea. I'll give this a try.

I'm actually getting the same problem with tegra-demo-distro.
I did the following:
git clone https://github.com/OE4T/tegra-demo-distro.git
cd tegra-demo-distro
git checkout dunfell-l4t-r32.4.3
git submodule update --init

Changed demo-image-base.bb as:
DESCRIPTION = "Tegra demo base image"

require demo-image-common.inc

IMAGE_INSTALL_append = "\
    tegra-redundant-boot \
    tegra-bup-payload \
"

Build and flash
. ./setup-env --machine jetson-tx2
bitbake `demo-image-base
cd tmp/deploy/images/jetson-tx2/
mkdir demo-image-base && cd demo-image-base
tar -xvzf ../demo-image-base-jetson-tx2.tegraflash.tar.gz
# boot TX2 devkit to flashing mode
sudo ./doflash.sh

After the first boot
$ nv_update_engine --enable-ab
$ nvbootctrl dump-slots-info
magic:0x43424e00,             version: 3             features: 3             num_slots: 2
slot: 0,             priority: 15,             suffix: _a,             retry_count: 7,             boot_successful: 1
slot: 1,             priority: 14,             suffix: _b,             retry_count: 7,             boot_successful: 1

$ nv_update_engine --install

# after reboot
$ nvbootctrl dump-slots-info
magic:0x43424e00,             version: 3             features: 3             num_slots: 2
slot: 0,             priority: 0,             suffix: _a,             retry_count: 0,             boot_successful: 0
slot: 1,             priority: 15,             suffix: _b,             retry_count: 7,             boot_successful: 1

$ ls -la /opt/ota_package/
total 12664
drwxr-xr-x    2 root     root          4096 Sep 20 10:47 .
drwxr-xr-x    4 root     root          4096 Mar  9  2018 ..
-rw-r--r--    1 root     root      13008176 Mar  9  2018 bl_update_payload
-rw-r--r--    1 root     root           796 Sep 20 10:47 entry_table

$ cat /opt/ota_package/entry_table
bpmp-fw,5920,533904,2,,1,1
sce-fw,539824,125568,2,,1,1
cpu-bootloader,665392,287232,2,,1,1
mb2,952624,117568,2,,0,1
spe-fw,1070192,95984,2,,0,1
secure-os,1166176,366400,2,,1,1
adsp-fw,1532576,108208,2,,1,1
BMP,1640784,70988,2,,1,1
mb1,1711772,99664,2,,2,1
mts-bootpack,1811436,2082144,2,,1,1
mts-preboot,3893580,63104,2,,0,1
sc7,3956684,23632,2,,1,1
bpmp-fw-dtb,6400796,605120,2,3310-D01-1000--1-0-jetson-tx2-mmcblk0p1,1,1
bootloader-dtb,9098268,371808,2,3310-D01-1000--1-0-jetson-tx2-mmcblk0p1,1,1
VER,9842292,102,2,3310-D01-1000--1-0-jetson-tx2-mmcblk0p1,0,1
BCT,9856832,3584,2,3310-D01-1000--1-0-jetson-tx2-mmcblk0p1,2,1
MB1_BCT,10064384,50096,2,3310-D01-1000--1-0-jetson-tx2-mmcblk0p1,0,1
kernel,10164576,612752,2,,1,1
kernel-dtb,12264560,371808,2,3310-D01-1000--1-0-jetson-tx2-mmcblk0p1,1,1

$ nv_update_engine --verify
Nvidia A/B-Redundancy Update tool Version 1.2
verifying update
The current slot 1 is marked as boot successful
SM: S22
Previous update on slot 0 failed

Any chance someone could try this?
Thanks

I tested this with both the demo distro and with stock L4T R32.4.3 and yes, the verification fails on reboot. Looks like nv_update_engine (actually, nv_bootloader_payload_updater, which is called on by nv_update_engine) has a bug in it in R32.4.3 where it doesn't account for the fact that the partition offsets in the partition table at the end of /dev/mmcblk0boot1 are based on treating the two eMMC boot partitions as a single device. So when it seeks to the start of the VER or VER_b partition, which is located in the boot1 device, it gets an EINVAL error from the kernel (because it's seeking on the boot0 device to an offset greater than the size of that device), which it doesn't check before reading/writing. On the verification pass, it then reads whatever garbage happens to be at its current position (because the seek failed) so the comparision fails.
This appears to be fixed in R32.4.4, and it doesn't really affect stock L4T R32.4.3 because they do bootloader updates only to update to R32.4.4 - so after it reboots, it's running the fixed version of the tools and everything checks out OK.
We don't see this with the Mender-enabled demo distro because we disable the nv_update_verifier service - each rootfs is tightly coupled to the bootloader contents associated with the boot slot (since the bootloader contents has stuff like firmware, device tree, and maybe the kernel as well, depending on your setup), so with a full dual-rootfs A/B setup, you don't really want the verifier (which copies the current bootslot contents back to the other slot).

Thanks for the explanation!
The dunfell-l4t-r32.5.0 branch works for me for TX2. Checking with Xavier now.
I found nv_update_engine issues in gatesgarth branch. nv_update_engine -i fails saying eks partition isn't found. Looking at the system traces, it tries to mount eks_b partition which is missing from the stock flash layout.
I added it, the install went through successfully but the next boot hangs. I have not stored encryption keys myself. Out of curiousity, has there been a need for a _b partition for the keys?

I found nv_update_engine issues in gatesgarth branch. nv_update_engine -i fails saying eks partition isn't found.

Yeah, I saw that, too, and pushed 9c0bf75a3a1827215ead20503b1e372137f48e3d to fix it.

Out of curiousity, has there been a need for a _b partition for the keys?

It provides a way to add/update/rotate keys to go with an updated TOS, if you need to.


Resolve issue with Python errors being silenced in Scheme tests

Add missing output.on() so useful Python error messages are printed.

LGTM.


Simple Install

Can i just require any file and work with the library?

It's no requirement. You can do all the work that Composer does manually, but if you want it easy, I recommend Composer.

I will read about composer. I never used it.


Date mask

Hi.
I want to input date like as '2015/02' and i created mask is 'yyyy/mm' but it is not working.
I try with masks are 'y/m' or 'mm/yyyy', it worked but with mask is 'y/m' i can't input years > 2099, i've set:  {yearrange: { minyear: 1900, maxyear: 2299}

@violin0631 ,
Try with Inputmask 5.0.0


Is imported types supported?

Is code like this supported?
/** @typedef {import('bunyan-adaptor').BunyanLite} BunyanLite */

Seems like it was complaining quite a bit when I tried.

No I don't think this is supported.

There seems to be a bit of chatter going on about type imports in JSDoc, but no solid canonical path at the moment unfortunately.
https://github.com/jsdoc/jsdoc/issues/1537
https://github.com/Microsoft/TypeScript/issues/22160

It looks like this is the TS team's official solution to this problem, but the JSDoc folks show no signs of implementing it on their end.  Does it make sense for tsd-jsdoc to support this or do you have to wait for official JSDoc support?  Supporting doc-import would allow workaround for all sorts of other unsupported constructs, by moving the type definition out of JS completely.  (See this example)

This is another example of why I think we should do #102