Reachbility check logic failing

I tried this code:
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0 OR MIT

//! Test relation comparison of fat pointers to slices.
use std::cmp::*;

// Check comparison operators for two different elements.
fn compare_diff<T: Ord + std::marker::Copy>(smaller: T, bigger: T) {
    // Check Ord::cmp().
    assert_eq!(smaller.cmp(&bigger), Ordering::Less);
    assert_eq!(bigger.cmp(&smaller), Ordering::Greater);

    // Check relation operations that should return true.
    assert!(smaller < bigger);
    assert!(smaller <= bigger);

    // Check relation operations that should return false.
    assert!(!(smaller > bigger));
    assert!(!(smaller >= bigger));
    assert!(!(bigger <= smaller));
    assert!(!(bigger < smaller));
    assert!(!(bigger == smaller));

    // Check Ord::{max, min}.
    assert_eq!(smaller.min(bigger), smaller);
    assert_eq!(smaller.max(bigger), bigger);
    assert_eq!(bigger.min(smaller), smaller);
    assert_eq!(bigger.max(smaller), bigger);
}

#[kani::proof]
fn check_thin_ptr() {
    let array = [0u8; 10];
    let first_ptr: *const u8 = &array[0];
    let second_ptr: *const u8 = &array[5];

    unsafe {
        compare_diff(*first_ptr, *second_ptr);
        compare_diff(first_ptr, second_ptr);
    }
}

using the following command line invocation:
kani <testcase>

with Kani commit ID: a6e01f1e307
I expected to see this happen: No crash and all properties should be reachable.

The logic for matching a reachability check with the corresponding property checks if the check ID is a substring of the property description, so it might end up matching against the wrong property. It should check for an exact match of the check ID instead.

This is a small example that reproduces the bug:
fn foo(x: i32) {
    assert!(1 + 1 == 2);
    if x < 9 {
        // unreachable
        assert!(2 + 2 == 4);
    }
}

#[kani::proof]
fn main() {
    assert!(1 + 1 == 2);
    let x = if kani::any() { 33 } else { 57 };
    foo(x);
    assert!(1 + 1 == 2);
    assert!(1 + 1 == 2);
    assert!(1 + 1 == 2);
    assert!(1 + 1 == 2);
    assert!(1 + 1 == 2);
    assert!(1 + 1 == 2);
    assert!(1 + 1 == 2);
    assert!(3 + 3 == 5);
}

The assert!(2 + 2 == 4) is unreachable, and it has the following check ID:
[foo.assertion.2] line 5 [KANI_CHECK_ID_reach_check.225019a5::reach_check_1] assertion failed: 2 + 2 == 4: SUCCESS
[foo.coverage_check.2] line 5 [KANI_REACHABILITY_CHECK] KANI_CHECK_ID_reach_check.225019a5::reach_check_1: SUCCESS

The assert!(3 + 3 == 5) fails and it has the following check ID:
[main.assertion.9] line 21 [KANI_CHECK_ID_reach_check.225019a5::reach_check_10] assertion failed: 3 + 3 == 5: FAILURE
[main.coverage_check.9] line 21 [KANI_REACHABILITY_CHECK] KANI_CHECK_ID_reach_check.225019a5::reach_check_10: FAILURE

The matching logic thus incorrectly matches the assert!(3 + 3 == 5) to the reachability check for assert!(2 + 2 == 4) because the latter's check ID appears in the description of the former.


Needs to specify in README that it depends on jQuery.

Because it makes use of $.ajax call.

Fixed...


#N/A: Use Xenial on TravisCI

This simplifies and reduces the size of .travis.yml.

Looks good, thanks!


Debug message does not properly format

General information:
The debug mode used by default in 3.8.0 does not properly format the websocket-socket_lost_deleting_handle message when a client socket dies.
Project issue is for: Server
Expected result
The server properly formats it's output.
Actual result
The output contains a sole %s.
How to reproduce:

Launch the game using the launcher and play the game.
Manually disconnect by crashing the game.
Observe the console output.

Log files:
Snippet from server-yyyy-mm-dd-xx.log;
[2024-02-05T14:42:42.620Z] info: 	[Client Request] /client/game/bot/generate
[2024-02-05T14:42:44.126Z] info: 	[Client Request] /client/game/bot/generate
[2024-02-05T14:42:46.207Z] info: 	[Client Request] /singleplayer/settings/bot/getBotBehaviours/
[2024-02-05T14:42:56.025Z] debug: 	Profile 65bf0a5c0004c8bc446f8914 took 8.507400000467896ms to save.
[2024-02-05T14:43:00.856Z] debug: 	[WS] Pinging player: 65bf0a5c0004c8bc446f8914
[2024-02-05T14:43:00.857Z] debug: 	[WS] Socket lost, deleting handle, status: %s
[2024-02-05T14:43:16.031Z] debug: 	Profile 65bf0a5c0004c8bc446f8914 took 17.947399999946356ms to save.
[2024-02-05T14:43:36.061Z] debug: 	Profile 65bf0a5c0004c8bc446f8914 took 18.948899999260902ms to save.
[2024-02-05T14:43:42.444Z] info: 	[Client Request] /client/game/bot/generate
[2024-02-05T14:43:56.089Z] debug: 	Profile 65bf0a5c0004c8bc446f8914 took 19.07689999975264ms to save.

Screenshots:
See the added files.

Attachments

message.png (8 KiB)

Originally written by Deadly

If there are no objections, I will target a fix for this minor problem myself.

Originally written by Deadly

Go for it

Originally written by chomp


Updated readme with partial installation steps

I had problems getting this working because the embedded files weren't found so that's why step 8 is empty, but the majority of these steps should get someone started.

Yes please :+1:
I found this package by just adding to my project.json and it wasn't clear how to use it.
Then I found this github project but there was no "getting started" or wiki to be found.


Pre after OrderedBulkOp not getting called

Hi,
given the following operation that basically creates a document if the submitted id does not exist or updates it respectively as a bulk operation, I'm struggling to find the correct @pre<> hook in my model.
async updateOrCreateMany(items: InstanceType<T>[]): Promise<InstanceType<T>[]> {
        const bulk = this._model.collection.initializeOrderedBulkOp();
        for (const item of items) {
            bulk.find({ _id: this.toObjectId(item.id) }).upsert().updateOne(item);
        }
        await bulk.execute();
        return items;
    }

So far I've tried updateMany and update but both are not being called.
Any ideas what hook is being called when you do a bulkoperation?
Thanks in advance.

this._model.collection.initializeOrderedBulkOp();

with this it seems like you are using mongodb native functions, so mongoose hooks, or even models dont hook to there, you must use mongoose models to use hooks

this can be closed as not an issue with typegoose
@Ben305

@Ben305 Bump to close


multi dropdown issues - not closed previous one if i click on another dropdown

I have 6 diff..dropdown and i  need close open one if click on another dropdown. it seems not closing open dropdown.
But if i click outside then it closed all dropdown.
Dropdown option content is overlapping through another dropdown
pease see attached screenshot,

Can you help me to fix quickly.

`<ss-multiselect-dropdown #multiDropDownOne (mousedown)="clickedEvent()"
[settings]="{dynamicTitleMaxItems: 0,  enableSearch: true, checkedStyle: 'fontawesome', showUncheckAll: true, closeOnSelect: true}"
[texts]="{defaultTitle: 'DID', uncheckAll: 'Reset'}" [options]="did"
[(ngModel)]="selectedDid" (ngModelChange)="onSelect()">
    <ss-multiselect-dropdown #multiDropDownTwo
      [settings]="{dynamicTitleMaxItems: 0, checkedStyle: 'fontawesome', showUncheckAll: true, closeOnSelect: true}"
      [texts]="{defaultTitle: 'DEPT NAME',uncheckAll: 'Reset'}" [options]="department_name"
      [(ngModel)]="selectedDeptName" (ngModelChange)="onSelect()"></ss-multiselect-dropdown>

    <ss-multiselect-dropdown #multiDropDownThree
      [settings]="{dynamicTitleMaxItems: 0, checkedStyle: 'fontawesome', showUncheckAll: true, closeOnSelect: true}"
      [texts]="{defaultTitle: 'GL Account', uncheckAll: 'Reset'}"
      [options]="account" [(ngModel)]="selected_GL_ACCOUNT" (ngModelChange)="onSelect()"></ss-multiselect-dropdown>

    <ss-multiselect-dropdown #multiDropDownFour
      [settings]="{dynamicTitleMaxItems: 0, checkedStyle: 'fontawesome', showUncheckAll: true, closeOnSelect: true}"
      [texts]="{defaultTitle: 'Source', uncheckAll: 'Reset'}"
      [options]="trans_src" [(ngModel)]="selected_SOURCE" (ngModelChange)="onSelect()"></ss-multiselect-dropdown>

`

please help to fix this issues quickly.

@mrpatel15 any fix found for this?

please  use outside click directivre

@mrpatel15 @sagarloona4180 Please update node modules and this will work. Works fine now

I have updated my node modules but still this is happening !!
I keep getting e.hasClass() is not a function error on my console.


Add OpenAPI to rollback config. (#2351)

Codecov Report

Merging #2581 into master will decrease coverage by 0.01%.
The diff coverage is 22.22%.

@@             Coverage Diff              @@
##             master    #2581      +/-   ##
============================================
- Coverage     50.17%   50.15%   -0.02%
- Complexity     2045     2046       +1
============================================
  Files           410      410
  Lines         12556    12564       +8
  Branches       1285     1287       +2
============================================
+ Hits           6300     6302       +2
- Misses         5808     5815       +7
+ Partials        448      447       -1

Impacted Files
Coverage Δ
Complexity Δ

...pollo/openapi/v1/controller/ReleaseController.java
10.52% <22.22%> (+0.32%)
1 <1> (ø)
:arrow_down:

.../apollo/internals/RemoteConfigLongPollService.java
80.24% <0%> (+0.61%)
28% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage decreased (-0.03%) to 53.717% when pulling 94dd307c8f0961041ec01f41e0ff0a60fd134f7a on Accelerater:master into 24062ad9b314da0fb44ccb941dcfd3da46a91fb7 on ctripcorp:master.

https://github.com/ctripcorp/apollo/issues/2351

I think, you also need to publish an event to like: com.ctrip.framework.apollo.portal.controller.ReleaseController#rollback---> ConfigPublishEvent?

like:
com.ctrip.framework.apollo.openapi.v1.controller#createRelease
i think openapi don't need add ConfigPublishEvent。


Show app bar in apps page when navigating from memory detail page

Missed in #1398

lgtm @mdmohsin7 🥳


Cleanup deprecated query options

Cleanup the deprecated debug options, and old PQL related query options
Fix the double query parsing in multi-stage engine
Fix the inconsistent behavior when query parsing fails: do not log or emit metric because it is pure user error

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

Project coverage is 46.53%. Comparing base (59551e4) to head (9847b38).
Report is 388 commits behind head on master.

Files
Patch %
Lines

...pache/pinot/common/utils/request/RequestUtils.java
0.00%
3 Missing and 2 partials :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #13040       +/-   ##
=============================================
- Coverage     61.75%   46.53%   -15.22%
- Complexity      207      965      +758
=============================================
  Files          2436     1902      -534
  Lines        133233   100026    -33207
  Branches      20636    16154     -4482
=============================================
- Hits          82274    46551    -35723
- Misses        44911    50079     +5168
+ Partials       6048     3396     -2652

Flag
Coverage Δ

custom-integration1
?

integration
?

integration1
?

integration2
?

java-11
?

java-21
46.53% <0.00%> (-15.09%)
:arrow_down:

skip-bytebuffers-false
46.53% <0.00%> (-15.21%)
:arrow_down:

skip-bytebuffers-true
?

temurin
46.53% <0.00%> (-15.22%)
:arrow_down:

unittests
46.53% <0.00%> (-15.21%)
:arrow_down:

unittests1
46.53% <0.00%> (-0.36%)
:arrow_down:

unittests2
?

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

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

LGTM, but there are multiple tests failing, so I guess we would need to fix something else

LGTM, but there are multiple tests failing, so I guess we would need to fix something else

Find the reason. Currently we only set query option when it is not empty, but the following code assume it is always set. After removing the deprecated options it breaks. Changed the code to always set the query option even if it is empty.


Remove processing blocks from confirm_req

To reduce unnecessary average nodes load.

addditional disable successor confirmation for nodes with disabled voting in config

Can we split this in to 2 commits.  1 to remove process_active and the other to put confirm_block behind the check for vote enabling?
This way if we need to bisect commits to find which created the improvements or which caused an issue they're not together.

Ok


Upgrade to 2018 Edition

Mostly automated change. I left out some of the rustfmt changes, as they impacted some hand-written byte tables.

@seanmonstar Would be happy to! However, I thought that http allows for a squash on merge like tracing does?

Oh we could squash it all into one if you'd rather!

Oh, thanks for taking care of that! I assumed http prefers a squash-and-merge strategy.


crc16 modbus giving wrong result

I tried getting crc for hex string 08000001 using crc16.ChecksumIBM. But instead of 84C3 it is giving me 3226. This is my code:
	data := []byte("08000001")
checksum := crc16.ChecksumIBM(data)
fmt.Println("\n checksum:", checksum)

Replace with checksum := ^crc16.ChecksumIBM(data)
Modbus checksum should be calculated without XOR out. Take a look at Modbus test in this repository.
But still you will not get 0x84C3, because you're building CRC of ASCII chars array.
`	d := []byte("08000001")
c := ^crc16.ChecksumIBM(d)
fmt.Printf("checksum:%X\n", c) // checksum:F365
d = []byte{0x08, 0x00, 0x00, 0x01}
c = ^crc16.ChecksumIBM(d)
fmt.Printf("checksum:%X\n", c) // checksum:84C3

s := "08000001"
d, err = hex.DecodeString(s)
c = ^crc16.ChecksumIBM(d)
fmt.Printf("checksum:%X\n", c) // checksum:84C3

`


Make user identifiers case sensitive

Because user identifiers weren't always as strict on matrix.org (and the spec?) as they are in the spec now, some people have user identifiers with non-lowercase letters. We shouldn't lowercase them and instead mark them as legacy user ids.

The chapter how to handle these old MXIDs is here: https://matrix.org/docs/spec/appendices#historical-user-ids
My MXID is affected by this "bug": @MTRNord:matrix.ffslfl.net (Not the upper case characters of the ID. This is NOT the same user as @mtrnord:matrix.ffslfl.net )


Upgrading to OS 13.0 breaks integration. : Failed to establish a new connection: [Errno 113] Host is unreachable

Description
After upgrading to OS 13.0 on a VMware install the Tapo integration fails to start with error message
Failed setup, will retry: HTTPSConnectionPool(host='192.168.xxx.xxx', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f290522d880>: Failed to establish a new connection: [Errno 113] Host is unreachable'))
The camera is reachable via IP ping from the console.
Reverting to OS 12.4 restores functionality
Reproduction Steps
Update to OS 13.0
On reboot integration won't start
Expected behavior
Integration should start as normal
If applicable, add error logs.
Unable to connect to Tapo: Cameras Control controller: HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f2908daaab0>: Failed to establish a new connection: [Errno 113] Host is unreachable'))
Device Firmware
1.3.14
Integration Version
5.6.1
Using stream component
Yes
Does camera work via official integrations?
N/A
Camera has all attributes filled out in developer tools
No
HASS Environment
Vmware
Search for similar issues
Yes
Additional information
No response

I am running HA OS 13 and all works well. Make sure HA can reach your camera after the update. SSH into it, see if you can ping it, try rebooting etc.


MP-ECDSA

Closes #26

Looks good. @tbraun96 lets rename webb-gadget to gadget-common and move the client.rs implementation there. Which will be reusable between all gadgets.


Syntax not working as documented.

I am using Angular ^6.0.3, rxjs ^6.2.0, and angularfire2 ^5.0.0-rc.10
Followed the documentation about getting mapping in the key as outlined in version-5-upgrade.md:
However having an issue where return items.map(item => items.key); code indicates that:

[ts] Property 'map' does not exist on type '{}'.

and at build time:

ERROR in src/app/navigation.component.ts(40,1): error TS1128: Declaration or statement expected.

Here is the full code to the component.   Is there a syntax error, or is the documentation not clear as to what imports are required?
import { Component } from '@angular/core';
import { Observable}  from 'rxjs';
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { map } from 'rxjs/operators';
import { LogoComponent } from './logo.component';

@Component({
	selector: 'app-navigation',
	templateUrl: './navigation.component.html'
})

export class NavigationComponent {
    items: Observable<any[]>;
    childItems: Observable<any[]>;

    constructor(db: AngularFireDatabase) {
        this.items = this.getNavigation(db);
        this.childItems = this.getNavigation(db);
    }

    getNavigation(db): any {
        let pageList = db.list('/pages', ref => {
            let query = ref.limitToLast(100).orderByChild('sortOrder');
            return query;
        })

        return pageList.snapshotChanges().pipe(
            map(pages =>
                pages.map(p => ({ key: p.key, ...p.payload.val() }))
            )
        ).subscribe(items => {
            return items.map(item => item.key);
        });
    }
}

A) I don't understand the point of your return in subscribe... are you meaning to map that or assign it to a variable instead? Also returning the .subscribe isn't going to do what you expect, it will return the subscription not the observable or value. If you're intent is logging you should use the tap operator.
B) your ultimate error is because you have an extra closing curly brace at the end }

You are correct on the errant } brace.   However in regards to "A)", this is what is documented here: https://github.com/angular/angularfire2/blob/master/docs/version-5-upgrade.md

Updated original request to show my current code, without console.log and the errant } brace.

Figured it out, the db on the function was not typed.   So apparently, had issues.

For anyone who runs into a similar issue...
In addition to removing the errant curly brace that @jamesdaniels  pointed out, I had to:

type the db parameter of the getNavigation function.
remove the subscribe() that was shown in the documentation, but was not necessary in my use case.

Here is my final working code:
`import { Component } from '@angular/core';
import { Observable}  from 'rxjs';
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { map } from 'rxjs/operators';
import { LogoComponent } from './logo.component';
@Component({
selector: 'app-navigation',
templateUrl: './navigation.component.html'
})
export class NavigationComponent {
items: Observable<any[]>;
childItems: Observable<any[]>;
constructor(db: AngularFireDatabase) {
    this.items = this.getNavigation(db);
    this.childItems = this.getNavigation(db);
}

getNavigation(db: AngularFireDatabase): any {
    return db.list('/pages', ref => {
        let query = ref.limitToLast(100).orderByChild('sortOrder');
        return query;
    }).snapshotChanges().pipe(
        map(pages => {
            return pages.map(p => ({ key: p.key, ...p.payload.val() }));
        })
    );
}

}
`

in the spirit of passing it on like @eat-sleep-code, you need to use a return statement in the map function inside the pipe to avoid any undefined errors in your subscribe.
Thanks @eat-sleep-code. You saved my day with this example.
Here's my working code example:
private db : AngularFireDatabase
  this.db.list('team/'+this.ifiAuth.userMeta.teamRef).snapshotChanges().map(actions => {
    return actions.map(a => ({key: a.key, value: a.payload.val()}));
  }).subscribe(
    (items) => {
      console.log('Data with key:', items);
    }
  )


make setuptools_scm work in docker

We need a non-shallow git checkout for setuptools_scm to work. Building with
something like
docker build 'https://github.com/trustlines-network/py-eth-index.git#develop' -t ethindex
will only get us a non-shallow git clone. We try to unshallow by fetching from the public
repo.

Does this break building it locally with docker build . -t ethindex?
This means we make git a dependency right? was that a dependency before or does setup_tools_scm work without git?

Building it locally should work equally well. The difference is only when you locally use a shallow clone. Then running docker will unshallow your clone. if you have a full clone, nothing changes.
setuptools_scm needs to have git installed (when building from a git repository). It probably does not matter, since it's needed for the unshallowing anyway.
If we would build a proper sdist based release, the release would not need to have git installed.

For me the reference to our github https://github.com/trustlines-network/py-eth-index in there seems really weird. If I use a local branch or maybe work on a fork would that not then overwrite what I tried to do and I can not use that docker file anymore? Can we unshallow without the reference to the public repo?

If we switch to not build it like this with docker-compose anymore we would not need that right?

yes, it's only needed when building via a git URL.
It will not hurt if you have a non-shallow git clone.

ok last questions, would it work also with only git fetch --tags --unshallow with out the url of the repo?

I don't know.


Replace Compose Destinations with Safer Navigation Compose

[x] Read CONTRIBUTING.md.

Replace the magic navigation library with a better one: Safer Navigation Compose.
Summary of changes:

Added the required dependencies.
Replaced the navigation implementation.
Purged Compose Destinations leftovers.

Tested changes:
The app is running perfectly.

https://discord.com/channels/1043973552904359966/1043973554468823224/1194282498306347129


Implements logic for actively checkpointing the state of managed subnets.

This PR implements the checkpointing logic where the subnets specified in the config are actively monitored for checkpointing epochs and, for each account that the agent manages in a subnet, a checkpoint is submitted to the subnet actor in the parent subnet.

Current dependencies on/for this PR:

main

PR #60

PR #61   👈

This comment was auto-generated by Graphite.


moodle-dl: 2.3.12 -> 2.3.13

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for moodle-dl is: Moodle downloader that downloads course content fast from Moodle
meta.homepage for moodle-dl is: https://github.com/C0D3D3V/Moodle-Downloader-2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.3.13 with grep in /nix/store/izdrlcqn5l0ilhizdbhrd6k8azic42y8-moodle-dl-2.3.13
found 2.3.13 in filename of file in /nix/store/izdrlcqn5l0ilhizdbhrd6k8azic42y8-moodle-dl-2.3.13

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

moodle-dl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/izdrlcqn5l0ilhizdbhrd6k8azic42y8-moodle-dl-2.3.13 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A moodle-dl https://github.com/r-ryantm/nixpkgs/archive/96f44d4fe6a5d6c08b2a064c69ddee9224f4589b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/96f44d4fe6a5d6c08b2a064c69ddee9224f4589b#moodle-dl

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/izdrlcqn5l0ilhizdbhrd6k8azic42y8-moodle-dl-2.3.13
ls -la /nix/store/izdrlcqn5l0ilhizdbhrd6k8azic42y8-moodle-dl-2.3.13/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 2 packages built:

moodle-dl
moodle-dl.dist

Maintainer pings
cc @kmein for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 362814

aarch64-darwin

:white_check_mark: 2 packages built:

moodle-dl
moodle-dl.dist


customize theme colors?

Following the docs but I'm not understanding how to update things like primary or secondary colors? Is there a more clear example?

these are all done at runtime through CSS vars, or build time through SASS. Please refer to the MDC documentation on how to do this. https://material.io/components/web/docs/theming/

Ah, I see. I was thinking of something like the styled components theming based on the way your docs are written, I could pass in values for specific colors.
https://www.styled-components.com/docs/advanced

From their docs, added this to my style.scss file which I load in App.js. If I try to import material-web-components.scss I get an error loading parent style?
$mdc-theme-primary: #9c27b0;
$mdc-theme-secondary: #76ff03;
$mdc-theme-background: #fff;

@import '~material-components-web/dist/material-components-web.css';

Above loads correctly but does not override theme colors.

in your example you just posted you're loading a CSS file, not an SCSS file. If you don't need to support older browsers, just overrides the CSS vars.
:root {
      --mdc-theme-primary: #ff0000;
}

I had to include the CSS instead of the SCSS becasue it crashes otherwise.
@import '~material-components-web/material-components-web'; causes the following error:
@import "@material/button/mdc-button";
^
      File to import not found or unreadable: @material/button/mdc-button
Parent style sheet: /node_modules/material-components-web/material-components-web.scss
      in /node_modules/material-components-web/material-components-web.scss (line 17, column 1)

Sorry @tehfailsafe, this is likely a problem with your build setup and RMWC doesn't include any styles on its own. Again, you can achieve what you're looking for from just using CSS vars, otherwise you'll have to setup a SASS build system. You might want to move this one over to the official MDC repository.

Yeah, thanks, the css  vars will work.
It's nice to have a thin wrapper for React, but sometimes it creates mysteries for how files are being loaded under the hood. This is the first hiccup I ran into so far with your project though! 👍

Thats great to hear, thanks for the positive feedback!
The docs need a lot of work, the stuff I have up now was just enough to get going. I'll make sure to detail styling in the final version.


A11y_VirtualAgentBots_VirtualAgentHome_ChatDialog_Keyboard: The scroll-able element that appears in the Chat section is not keybaord actionable.

Environment Details:
Browser Version: Microsoft Edge 44.18362.267.0
Windows Version: Windows10
Screen reader: Narrator, NVDA (2019.2)
MAS Violated: MAS 2.1.1
Steps to Reproduce:

Home page should open for Virtual Agent Bots.
Navigate to main content area chat dialog,  the left side of the screen.
Navigate to the "Chat" section and interact with the chat functionality provided.
A scroll-able element will appear then try to access it using a keyboard.

Actual:
When the keyboard user interacts within the Chat section a scroll-able element appears which is not accessible using a keyboard.
Expected:
The scroll-able element in the Chat section should be keyboard accessible so that the keyboard users are able to access it read the previous chat.
User Impact:
If the interactive elements are not keyboard accessible then the keyboard users won't be able to access the element and might miss out on some information.

Thank you the issue. However, we are in the midst of an internal a11y audit to meet WCAG 2.1. The mechanisms to open, track, and address issues uncovered during the audit is a different process. I will close this for now.


Installed but "git: 'hours' is not a git command"

I tried installing this helper. From what I can tell both git-hours:
$ npm list -g | grep git-hours
├─┬<EMAIL_ADDRESS>
and nodegit:
$ npm list -g | grep nodegit
│ └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>
seem installed. However, when I run $ git hours in a git repository root I get this message:

$ git hours
git: 'hours' is not a git command. See 'git --help'.

My npm version is 5.6.0, my node is 9.5.0.

One time somebody I know began a Facebook post with "We only have koi eating otters in Canada . . ."
I was astonished by the idea that koi could eat otters. That seemed absolutely crazy to me and I thought there was no way that could be true. I was right - he just forgot the hyphen in "koi-eating otters"
Anyway, I think you meant git-hours

Hm. All of the documentation reads $ git hours - which is probably where my wrong assumption came from?

Oh, I didn't even realize that. I bet @kimmobrunfeldt has it set like that in his git config or something

Nah, I've since seen other modules for git defined as git-something and they are then available as $ git something — it just was not obvious to me when I tried to establish if the module was installed. I can't say which now $ git hours works for me — could this be to do with the git version?

same for me.

You can turn git hours into a real command by configuring it as a git alias. My guess is that's why it's being recommended to install git-hours globally. For example this would work:
[~] npm i -g git-hours
[~] git config --global alias.hours 'npx git-hours'

However, I never recommend using global installs because it interferes with version switching activities (e.g. via nvm). I would recommend doing something like this instead:
Install git-hours inside your project (as a devDependency)
[~] cd project
[~/project] nvm use 12
[~/project] npm i -D git-hours

Note: This project works for me in Node 12, compiles in 14 but is ridiculously slow, and fails in 16.
Add hours script command to your project
package.json
{
  "scripts": {
    "hours": "npx git-hours"
  }
}

Now you can include npm run hours as part of your project.

Tip: If you're not already adding .nvmrc, .npmrc, and package.json:engines declarations in your projects to let other Developers know which version of Node.js your project should be built and executed with I highly recommend adding this as a new best practice.

After new release 1.5.0, npx git-hours works again! Tested with node 14, macOS. The node version is probably quite specific.

It used to work by default with a space separation, not sure about today. Updated guides to still use the dash version.


What's with create 0.5.1???

It crashes due to incompability. I can't fix it myself because I can't program with Java. I think there are some other people who would like to use the mod again, so how about a life sign from you devs?

And it's not like I don't want to help, I'm willing to help as good as I can, but without knowing Java the only thing I could do is translating the mod into german.

Yeah the dev isnt that great at posting updates. I think you have to go to his Discord to get any news.


Change to onion architecture

it seems like when i test localy i get an error when trying to do dotnet run but it seems fine here


ssc600.xml.j2: create a template for the ABB VMs

The ssc600 SW needs to be configured through a libvirt xml file. It can't be created using the default guest.xml.j2 template from Seapath due to his slight differences. Thus, the ssc600.xml.j2 is created specially for the ssc600 VMs.

the deploy_vms_cluster playbook allows 3 methods to provide the xml file:

either you provide the xml file directly with the xml_path variable
or you provide the template to use
or an xml file named after the VM is provided in the vms_disks_directory folder

https://github.com/seapath/ansible/blob/12b59211dd58ed81160315b48fc441e708ae3013/roles/deploy_vms_cluster/tasks/main.yml#L47
Your problem can easily be solved in the cluster deployment with either providing the file in the vms_disks_directory or via the xml_path variable.
Maybe you should port this behavior to the standalone deployment role.

This will be done in another PR


Highlight active header in Outline pane

Is it possible that, if I am in say header 4.1.3, that header is highlighted in the Outline pane?

Also interesting idea. I'll see what I can do.

Have you been able to have a look at this?

I have just installed the Dynamic toc plug-in with which you can created a ToC at the top of the note - useful when the note is exported.
However, that ToC now has duplicate numbers because your plug-in adds numbers to the headings.

I like your plug-in because the numbers it creates are also shown in the Outline pane.
So, I am not sure whose issue this: the Dynamic toc plug-in's the number headings plug-in's. But since you are considering an alternative outline pane feature I was wondering if somehow the 2 could be combined or merged to allow both features.

@DutchPete It seems like there's a lot of duplication in Obsidian plugins :)
I just finished implementing this feature as well as part of this plugin. I'm still testing to make sure it works in every case, but you can try it out here: https://github.com/onlyafly/number-headings-obsidian/tree/toc

@onlyafly I installed version 1.8.0 but it “Failed to load”.
I looked at the files on the folder and noticed main.js is missing. I load main.js of version 1.7.3, and sure enough the plug-in loaded, but after refreshing Obs nothing showed.
In the subfolder, src I noticed a main.ts, copied that to the parent folder and renamed it to main.js after taking out the old one, but again the plug-in failed to load.

@DutchPete Ah, yes. Fixed now.

@onlyafly Yes, version 1.8.0 now loads without any problems, but ………

it does not show a highlight in the Outline pane, and
the numbering does not work.

So, I put 1.7.3 back.

Hi @onlyafly, I'm the creator of Dynamic ToC. I think @DutchPete's issue can be resolved with CSS as I've mentioned here.
The alternative to CSS would be number-headings-obsidian gets re-architected to use a markdown post-processor with a higher sortOrder so it runs after the Dynamic ToC. But that sounds like a lot of work and would fundamentally change how your plugin has to work. This doesn't sound fair or worthwhile for you.
Here is what it looks like with the CSS I've suggested @DutchPete uses.

@onlyafly The number duplication is actually another issue is now solved with a very simple piece of CSS code - see here.
That still leaves the original topic of this issue *
Highlight active header in Outline pane*.

Thanks, I'll look into this on my side!

Kevin, no news yet I guess?

I can't find a way to do this without changing the basic idea behind the plugin :(

OK, fair enough.


chore(main): release 2.120.0

:robot: I have created a release beep boop
2.120.0 (2024-06-11)
Features

Add default rule for segments (#4095) (c3bf3bf)

Bug Fixes

deps: Migrate MFA code to our codebase and bump djangorestframework (#3988) (e217df7)
Identity overrides tab (#4134) (1a51fd3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Flagsmith/flagsmith/releases/tag/v2.120.0 :sunflower:


New error after update to 2.5 for "not null" query

Bug description
Getting a new Error after updating to 2.5
Missing a required value at `Query.findManyPlay.where.PlayWhereInput.klutchId.StringNullableFilter.not`

How to reproduce
I am seeing this for a fairly simple query:
await prisma.play.findMany({
          where: {
            studyId,
            taskSlug,
            weaponName,
            klutchId: { not: null },
          },
          skip,
          take,
        })

klutchId is a nullable string
Expected behavior
Should execute query as it did when using 2.4
Prisma information

Environment & setup

OS: OSX or in lambda
Database: Postgres
Node.js version: 12
Prisma version:

@prisma/cli          : 2.5.0
Current platform     : darwin
Query Engine         : query-engine 9a670138b1db276001d785a2adcba1584c869d24 (at node_modules/@prisma/cli/query-engine-darwin)
Migration Engine     : migration-engine-cli 9a670138b1db276001d785a2adcba1584c869d24 (at node_modules/@prisma/cli/migration-engine-darwin)
Introspection Engine : introspection-core 9a670138b1db276001d785a2adcba1584c869d24 (at node_modules/@prisma/cli/introspection-engine-darwin)
Format Binary        : prisma-fmt 9a670138b1db276001d785a2adcba1584c869d24 (at node_modules/@prisma/cli/prisma-fmt-darwin)
Studio               : 0.259.0

@pantharshit00 will try to reproduce.
We issued 2 fixes that could already solve your problem, if you want to try change your version to 2.5.1-dev.3 and let us know 😃

I can reproduce this in 2.5.1-dev.3
Here is a minimal reproduction: https://github.com/harshit-test-org/prisma-issue-client-842

This is fixed in 2.5.1-dev.4 and will be part of the 2.5.1 official patch. Thanks for the issue 😃

You can now use the official 2.5.1 patch 🎊

Thanks for the quick fix!


Fix Example in Permissiongrant Managed Resource

Description of your changes
This PR fixes the claimValues example in the PermissionGrant AzureAD provider.

Fixes N/A
I have:

[x] Read and followed Crossplane's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested
Checking Terraform official documentation we can observe there is a mistake in the example:

/test-examples="examples/serviceprincipaldelegated/v1beta1/permissiongrant.yaml"

@jeanduplessis I can showcase a synched object from our work below as well:
(⎈|kind-ymir:default)➜  ymir git:(feat/namespace-comp) ✗ k describe permissiongrant red-79ppw-nctk8
Name:         red-79ppw-nctk8
Namespace:
Labels:       crossplane.io/claim-name=red
              crossplane.io/claim-namespace=heimdall-red-dev
              crossplane.io/composite=red-79ppw
Annotations:  crossplane.io/composition-resource-name: permissionGrantsOAuthClaims
              crossplane.io/external-create-pending: 2024-08-15T15:46:24Z
              crossplane.io/external-create-succeeded: 2024-08-15T15:46:24Z
              crossplane.io/external-name: IRughPzCQEy5CoAuLxtvnSSwg5tA0hBJiRkM2sS2bz4
              meta.upbound.io/example-id: serviceprincipaldelegated/v1beta1/permissiongrant
API Version:  serviceprincipaldelegated.azuread.upbound.io/v1beta1
Kind:         PermissionGrant
Metadata:
  Creation Timestamp:  2024-08-15T15:46:24Z
  Finalizers:
    finalizer.managedresource.crossplane.io
  Generate Name:  red-79ppw-
  Generation:     2
  Owner References:
    API Version:           platform.novonordisk.com/v1alpha1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  XController
    Name:                  red-79ppw-vqsdz
    UID:                   13951c03-124b-43f7-80cb-9a414ff9b0c5
  Resource Version:        128842
  UID:                     a2497e62-0718-46fa-949b-ed0672fde5e2
Spec:
  Deletion Policy:  Delete
  For Provider:
    Claim Values:
      User.Read # Claim is here
    Resource Service Principal Object Id:  9b83b024-d240-4910-8919-0cdac4b66f3e
    Service Principal Object Id:           84a01b21-c2fc-4c40-b90a-802e2f1b6f9d
  Init Provider:
  Management Policies:
    *
  Provider Config Ref:
    Name:  entra
Status:
  At Provider:
    Claim Values:
      User.Read
    Id:                                    IRughPzCQEy5CoAuLxtvnSSwg5tA0hBJiRkM2sS2bz4
    Resource Service Principal Object Id:  9b83b024-d240-4910-8919-0cdac4b66f3e
    Service Principal Object Id:           84a01b21-c2fc-4c40-b90a-802e2f1b6f9d
    User Object Id:
  Conditions:
    Last Transition Time:  2024-08-15T15:46:27Z
    Reason:                Available
    Status:                True
    Type:                  Ready
    Last Transition Time:  2024-08-15T15:46:24Z
    Reason:                ReconcileSuccess
    Status:                True
    Type:                  Synced
    Last Transition Time:  2024-08-15T15:46:25Z
    Reason:                Success
    Status:                True
    Type:                  LastAsyncOperation

Thank you, @jgmartinez and @CasperGN


add documentation for query timeout

I think https://www.arangodb.com/docs/stable/aql/invocation-with-arangosh.html#setting-options is not the best location for options. I think It is a bit too hidden.

I agree. How else can the query option be set? In the query itself, like OPTIONS { timeout: 123 }?
No. It can be only set via the options parameter of _query. Only some operations like INSERT have extra options in AQL.
Does it expect a number in seconds?
yes

will be backported to 3.5.4: https://github.com/arangodb/arangodb/pull/10405/files

Only some operations like INSERT have extra options in AQL.

The FOR operation supports OPTIONS for index hints, but RETURN does not support any OPTIONS. Maybe a good feature request?

Things such as a query timeout shouldn't be specified in per-operation OPTIONS, as there can be multiple operations in the same query.
For example
FOR doc IN view OPTIONS { timeout: 10 }
  UPDATE doc._key WITH { ... } IN collection OPTIONS { timeout: 5 }
  RETURN NEW OPTIONS { timeout: 30 }

So it will really be better to set the timeout outside of per-operation OPTIONS.


Adding SecurityTrails

The API offers 300 queries p.M. for free, which is enough for most smaller projects, they also offer the API for free for researchers etc.
Thank you for taking the time to work o

[x] Your submissions are formatted according to the guidelines in the contributing guide
[x] Your additions are ordered alphabetically
[x] Your submission has a useful description
[x] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks!


ENHANCEMENT Ensure test DB is flushed on either DDL or transaction-disabled tests

Fixes #8182

Note: We'll need to PR to other modules protected $usesTransactions = false; for tests that were failing.

ok, there's still a bug.
SapphireTest::setUpBeforeClass() has this code.
// Build DB if we have objects
        if (static::getExtraDataObjects()) {
            DataObject::reset();
            static::resetDBSchema(true, true);
        }

We need to occasionally do this on setUp() (not always setupBeforeClass) so it needs refactoring.

Yay fixed it.

Postgres is failing for some reason :/

Yeah that's ok. I'll test postgres locally.

Local testing is VERY promising.
Only this test broke in postgres:
Time: 21.31 minutes, Memory: 124.00MB

There was 1 failure:

1) SilverStripe\ORM\Tests\DataListTest::testSortMixedCase
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
     0 => 'Bob'
-    1 => 'bonny'
-    2 => 'jane'
-    3 => 'John'
-    4 => 'sam'
-    5 => 'Steve'
+    1 => 'John'
+    2 => 'Steve'
+    3 => 'bonny'
+    4 => 'jane'
+    5 => 'sam'
     6 => 'steven'
 )

/Users/dmooyman/Sites/ss42test/vendor/silverstripe/framework/tests/php/ORM/DataListTest.php:627
/Users/dmooyman/Sites/ss42test/vendor/phpunit/phpunit/phpunit:52

FAILURES!
Tests: 2149, Assertions: 7858, Failures: 1, Skipped: 14, Incomplete: 2.
Damians-Macbook:ss42test dmooyman$

Wow green.
This story was SO hard to get working properly... sorry in advance @dhensby if the new logic is hard to follow. =(

Do we know how or why we were getting to so many levels of transaction nesting? It seems like we really shouldn't get more than 2 or 3 levels of transactions deep during a test...

A point worth making, but not something I think needs specifically addressing as we've likely covered 99% of usecases, but the commands that cause "implicit commits" aren't necassarily just DDL queries - https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html

I've addressed some of the feedback and made some changes I felt were appropriate

I'm wondering if the nested transaction changes will mean we need to go and update all our DB drivers to match

Ok we lost the 💚  😞

@dhensby the logic on the nesting method was correct before you changed it. It's ment to error if not overridden eg sqlite. Can you revert.

@dhensby the logic on the nesting method was correct before you changed it. It's ment to error if not overridden eg sqlite. Can you revert.

ah, will do

@maxime-rainville did you use "rebase merge" on this PR? I can't find the merge commit anywhere...


Fix MPAS e2e Test Suite

Improvements>

Cover all stages from the mpas event diagram
Introduce waits for all check conditions

Acceptance Criteria:

e2e tests are run for every PR

Also added fixes for the following bugs:

Added "productdescription" in the project role
target was being created in the project namespace, despite the definition in metadata.namespace, but while looking up the target with the selector, it was always looked up in mpas-system namespace. Changed the lookup to use namespace in metadata.namespace.
Added nil check in localization controller

target was being created in the project namespace, despite the definition in metadata.namespace, but while looking up the target with the selector, it was always looked up in mpas-system namespace. Changed the lookup to use namespace in metadata.namespace.

That is incorrect. The test was wrong in that case. The Target object lives in the mpas-system namespace.


Is it possible to start a React loop and continue executing other code?

I need this for tests that do real HTTP requests to the app. Basically, I want to start a React loop in setUp() and execute tests after that. I need tests and the app to share the same DI container and hence I need them both executing in the same process.
Is this even possible?

Potentially you could create a "tick" function: http://php.net/manual/en/function.register-tick-function.php
http://php.net/manual/en/function.register-tick-function.phpThis function will of course block the react loop while it's executing. You can also look into the Threading capabilities of PHP: http://am1.php.net/manual/en/class.thread.php

Fra: Elnur Abdurrakhimov<EMAIL_ADDRESS>Sendt: 19. oktober 2015 17:21
Til: reactphp/react
Emne: [react] Is it possible to start a React loop and continue executing other code? (#339)
I need this for tests that do real HTTP requests to the app. Basically, I want to start a React loop in setUp() and execute tests after that. I need tests and the app to share the same DI container and hence I need them both executing in the same process.
Is this even possible?

Reply to this email directly or view it on GitHubhttps://github.com/reactphp/react/issues/339.

Does the app run on the React event loop?  If not you'll be hard pressed to get them running side-by-side unless you can somehow get your app to call LoopInterface::tick() periodically.
Perhaps registering a PHP tick function as @frodeborli suggests would work, but PHP tick functions will only be executed every  instructions, so if your app is blocking waiting on a connection from the tests you might end up with a "deadlock" scenario, for lack of a better word.
Is there any particular reason you need the same DI container instance (and not just the same DI configuration)?

Is there any particular reason you need the same DI container instance (and not just the same DI configuration)?

I need to assert some state of the container after a HTTP request has been served by the app.

Does the app run on the React event loop?

I'm not sure I understand your question.
Basically, an instance of the container is created for tests themselves. And then another instance is running for the app itself, served by PHP-FPM via nginx. All I want to do is add HTTP serving capabilities to the container used by tests, so that I could make requests to it instead to the actualy instance of the app.
I don't think I understand all this tick stuff. I understand threads though, and maybe they're the solution for this problem. But I have to reconfigure/recompile PHP with ZTS support, etc. I don't want to go there if there's a simpler solution to the problem.
Maybe I'm tackling this problem from the wrong angle. Now that I think of it, it doesn't make much sense to start a React loop in setUp(); it probably makes more sense to start a loop in the container itself. Does this make any sense? If it means anything, I'm using the Symfony framework. Can I add HTTP serving capabilities to it somehow?

I am pretty sure you can have two servers on the same event loop, they just have to listen on two different ports.

I don't need two servers. I just want to add HTTP capabilities to the container.

Do I understand it correctly that $loop->run() is always blocking meaning code execution stops at that method and doesn't go further?

Looks like tick functions are not the solution because they're blocking too. Seems like the only way to do this is threading.

The whole reactphp architecture is based on a loop. You can either start that loop or you can trigger each tick yourself. Means, if you need to setup a event-loop with its http-server etc and then setup your test-suite, then you need to call each tick($timeout = 0) (tick means "handle everything that is in the buffer currently, which would be automatically be done if you call run() as this is nothing more than calling tick() in a while-loop) and then do your assertion after that.

@marcj, sounds promising. Does it mean that I do this example but instead of doing $loop->run() I do $loop->tick() when I need it? Or is it more complex than that?

Finally, I've solved this problem with register_tick_function([$this->loop, 'tick']);.
Thank you all guys for input. Each of you added a piece to complete the puzzle. :+1:
The next problem to solve is SSL support...

Never mind. The problem I run into now is that there are no statements being executed after I launch a browser via Selenium and do an HTTP request to the app. In other words, the browser sits there waiting for its request to get handled, and PHP sits there waiting for Selenium, and React sits there waiting for a tick. Epic fail. :laughing:
Any other ideas on this?

What I think you're looking for is to create a loop at setup.
Then $loop->run() in the test. Kick off Selenium. Then tou need to add a timeout timer to kill the loop after a certain time.
Then depending on how you have your test configured, the test itself may be able to kill the loop upon success, and if the loop hits the timeout, fail the test.
But, yes, starting the loop is blocking. You can't get around that, that's how it works.

Thanks for the discussion so far, I think @dustingraham has got it all right, the key here is to start the loop within your test :+1:
I believe this has been answered and I'm closing this for now, please feel free to come back to this ticket with more details if this problem persists and we can reopen this :+1:


NOJIRA: update tts request url to use HTTPS

@cindyli would you be able to take a look at this?

Merged at 00c55ce875e6df42413c03b8ea2a6e51f404eb3d


Invalid privilege s3:HeadBucket

This privilege does not exist: https://github.com/aws-samples/aws-iam-permissions-guardrails/blob/73aee3463a16d8b4a6cd359bfa8de9cfce25d449/guardrails/s3/SCP-S3-5.json#L49

Thanks. Updated https://github.com/aws-samples/aws-iam-permissions-guardrails/commit/b27d63bf4b7e4ba3c70d9da3f14602c4a2e45fe1


Updating Microsoft account terminology

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/dev-guide/device/payment-request-api.md
:white_check_mark:Succeeded

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


[DNM] add delete files in ranges API for titan

@Connor1996 let's land this before tikv 3.0.2 release?

@yiwu-arbug Yes, but wait a while for delete blobs in range

okay

PTAL @yiwu-arbug @zhangjinpeng1987


Forge-Version request

For compatiblity with some mods I need a forge version please

try ForceGL20
it does the same thing but multiple mod loaders

So the fabric version works? Does this mod work and ForceGL20 not?
If so I'll try and make a forge version


[QA] Diferent avatar on web auth and in world when changing login method

Explorer Alpha build version:
0.3.160-main-251ca6c
Issue Description:

When changing the login method or logging in with another account, the avatar on the web auth is different from the one that appears on the client
Steps to reproduce:

Start a login
Select another login method or change the account
Accept the auth with the login number

Expected behaviour:
The avatar shown in the web for the authorization must be the same on the client.
Current behaviour:
Avatars are different, on the client, it shows the default avatar.
Reproduction rate:

[ ] < 10%
[ ]  < = 25%
[ ]  50%
[ ]  < = 75%
[x]  100%

Severity:

[ ] Cosmetic
[ ] Minor
[ ] Medium
[x] High
[ ] Critical
[ ] Blocker

Priority:

[x] High
[ ] Medium
[ ] Low

Platforms / OS:

[ ] Windows 11
[x] Windows 10
[ ] Mac Sonoma
[ ] Mac (specify the version on Additional Notes)

Evidence:

Additional Notes:

This is likely on the dapps side, @nachomazzara can you help here?


BUG- Score reset in level1.2 after I killed 1 enemy. See comment to reproduce.

Beat Level1.1. Hit next level. Then kill something in 1.2.

@wadek2 Should score ever reset to zero, like if I quit out to main menu after finishing a level?


New PNNs for T2_FR_GRIF_* sites

Impact of the bug
WMAgent
Describe the bug
While draining the old agents, version 2.1.6.x, I noticed that almost all of the agents have jobs pending for T2_FR_GRIF, which has the default number of slots in resource-control and which is also causing jobs to be killed in condor for being pending for too long.
Checking this site/RSEs in CRIC:
http://cms-cric.cern.ch/api/cms/site/query/?json&preset=data-processing
we have a total of 7 mappings of Site Names <--> RSE Names, while submit5 only had 5 of them [1].
How to reproduce it
Change site / rse names after an agent has been deployed.
Expected behavior
Short term, we need to condor qedit jobs in those agents being drained. Here is an example of command:
condor_qedit -const 'JobStatus=?=1 && DESIRED_Sites =?= "T2_FR_GRIF"' DESIRED_Sites "\"T2_FR_GRIF,T2_FR_GRIF_IRFU,T2_FR_GRIF_LLR\""

and also add a new relationship for T2_FR_GRIF_IRFU and T2_FR_GRIF_LLR, something like [2]. With that, we need to restart JobAccountant to make sure it picks up the new changes from the database.
Additional context and error message
[1]
MariaDB [wmagent]> SELECT wmbs_location.site_name, wmbs_pnns.pnn FROM wmbs_location
    ->   INNER JOIN wmbs_location_pnns ON wmbs_location.id = wmbs_location_pnns.location
    ->   INNER JOIN wmbs_pnns ON wmbs_location_pnns.pnn = wmbs_pnns.id
    ->   WHERE wmbs_location.site_name like 'T2_FR_GRIF%';
+-----------------+-----------------+
| site_name       | pnn             |
+-----------------+-----------------+
| T2_FR_GRIF      | T2_FR_GRIF      |
| T2_FR_GRIF_IRFU | T2_FR_GRIF_IRFU |
| T2_FR_GRIF_IRFU | T2_FR_GRIF_LLR  |
| T2_FR_GRIF_LLR  | T2_FR_GRIF_IRFU |
| T2_FR_GRIF_LLR  | T2_FR_GRIF_LLR  |
+-----------------+-----------------+
5 rows in set (0.001 sec)

[2]
INSERT INTO wmbs_location_pnns (location, pnn)
  VALUES(
    (SELECT id from wmbs_location where site_name='T2_FR_GRIF_IRFU'),
    (SELECT id from wmbs_pnns where pnn='T2_FR_GRIF')
  );

then

INSERT INTO wmbs_location_pnns (location, pnn)
  VALUES(
    (SELECT id from wmbs_location where site_name='T2_FR_GRIF_LLR'),
    (SELECT id from wmbs_pnns where pnn='T2_FR_GRIF')
  );

For the record, agents recently deployed with 2.2.0.x already have the correct site/rse map.

Even though it has been fixed in the old agents, I think a permanent fix needs to be made such that we have a component that can continuously check PSN x PNN map and insert new PNNs in the local database, if needed.
Existent PNNs should never be deleted and/or unmapped (in that case, an ERROR log should suffice).


When is r-ryantm updating packages & documentation on the Nix infrastructure

Problem
I couldn't find any documentation on this: when is @r-ryantm (bot) automatically updating packages? Is it for all packages? Only packages having passthru.tests? The only documentation I could find on this is quite imprecise https://ryantm.github.io/nixpkgs-update/r-ryantm/#r-ryantm
This also rises another question: is there a documentation for the NixOs infrastructure more generally? I couldn't find any.
@NixOS/documentation-team
@ryantm
Checklist

[x] checked latest Nixpkgs manual (source) and latest NixOS manual (source)
[x] checked open documentation issues for possible duplicates
[x] checked open documentation pull requests for possible solutions

Note that @r-ryantm is not an "official" part of Nix, so it's really up to the maintainers of the bot to document it properly, and not the Nix documentation team (which you pinged :))

Ok sorry for that, I thought it was at least considered as a nix community project. Also, even ofborg is not officially supported? Anyway I guess it's still interested somewhere (maybe nix.dev if you don't want to put these notes on an official website) to at least list this kind of projects as they do play some role in the ecosystem and people will wonder what they need to do regarding them: I actually created this issue because a first contributor asked me:

Do I need to think to update the program myself, or will a bot automatically help me with this task

and I think we should provide a clear answer as this question will be asked by every new contributor.

It might be a good idea to make the bot official then :thinking:

Oh, if it's possible, that would be great ^^

@tobiasBora, did you find out more? A package I'm maintainer for has a new upstream release, and I wonder if I can rely on the bot to prepare an update for me, or if I need to be proactive.

Relevant maybe: https://discourse.nixos.org/t/how-to-get-r-ryantm-to-update-my-packages-automatically/3883/3


编译失败

[INFO] Flink : Connectors : Clickhouse Parent ............. SUCCESS [  7.019 s]
[INFO] Flink : Connectors : Clickhouse .................... FAILURE [ 11.835 s]
[INFO] Flink : Connectors : SQL : Clickhouse .............. SKIPPED
[INFO] Flink : Connectors : Clickhouse : E2E Tests ........ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  19.104 s
[INFO] Finished at: 2024-03-14T21:11:57+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.github.zentol.japicmp:japicmp-maven-plugin:0.16.0_m325:cmp (default) on project flink-connector-clickhouse: Execution default of goal io.github.zentol.japicmp:japicmp-maven-plugin:0.16.0_m325:cmp failed: version can neither be null, empty nor blank -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command

Hi @jweicai
It's a known compilation issue, remove the plugin in pom.xml as a temporary solution:
        <plugin>
		<!-- activate API compatibility checks -->
		<groupId>io.github.zentol.japicmp</groupId>
		<artifactId>japicmp-maven-plugin</artifactId>
	</plugin>

Thanks, it works


Fix call to setTint that is not available in older API versions

Fixes https://openedx.atlassian.net/browse/MA-1840 and https://openedx.atlassian.net/browse/MA-1583

@BenjiLee Please review?

:+1:

The button is still black :( Did we have a PR that addressed this?

Fixed in this other PR: https://github.com/edx/edx-app-android/pull/489


inject static classnames from folded components

fixes #2232
this allows for interim components that have been folded to still
be targeted

Can confirm fix of #2232


invite: Update expiration time on re-invitation.

fixes #19931

Testing plan:
Resending invitations.
GIFs or screenshots:

@johanehinger the test checks you've added don't validate all the details I'd like to validate. I've pushed an extra commit that attempts to address this; but the test doesn't pass, I think because of some problem with the mocking not applying correctly (as demonstrated by the print statements, we're not actually seeing the configuration link generation code running with the mocked time I selected; if they were, the difference in days would be exactly 10, not the 9.999 rounding down to 9 that we see)

@timabbott After reviewing f204b60 I think that the problem doesn't lie in do_resend_user_invite_email but instead exists in the newly constructed test in test_successful_resend_invitation. The test is failing because of the duration not being the same that is true but, do_resend_user_invite_email produces the new correct expiration date (down to the correct minute). I have been testing this manually during the day to be extra sure that this is the case. I don’t really understand why the newly constructed test is failing but if you are sure that f204b60 is correct I will continue investigate this. However, I’m wondering if you could look over f204b60 again just in case it is wrong?

I'm not 100% sure that the test is correct.  In fact, I think the most likely bug here is that the time mocking isn't working properly: if you look at the output from my print statements, the timestamps should be an exact number of days apart, and I'm seeing them differ in a way where the microseconds have increased, which is consistent with "real time" being used, not "mock time".

@timabbott This is ready for another review. After much back and forth I with help from @isakhagg discovered what was wrong with the test. As theorized there was a rounding error and a mocking error, this now works as intended and all tests pass as well as the correct date being displayed on the frontend. As you can see in this PR I accidently messed up a force push, so if you merge this and squash some commits please observe that @isakhagg is a co-author.

The original was addressed via https://github.com/zulip/zulip/pull/21124.


Remove infer_icu code.

The tests mysteriously started failing over break.  Rather than fix it I just ripped out the code.
Tested via ./run.py data update.  There was no change to data/multiregion-wide-dates.csv

Already have one! https://trello.com/c/r7LsqyyQ/1328-remove-icu-headroom-and-typical-usage-rate-from-api-and-purge-covid-care-map


Error when building MRIQC container locally

Running on Ubuntu 20.04. When directly pulling the docker image from dockerhub, I get no issues and everythin works correctly. Below are the commands I input and the resulting output for checking the version.
docker pull poldracklab/mriqc:0.16.1
docker run -it poldracklab/mriqc:0.16.1 --version

MRIQC v0.16.1

However, when I build locally through the github repo using the following command:
docker build -t git_test/mriqc:0.16.1 https://github.com/poldracklab/mriqc.git#0.16.1
It builds successfully, but when trying to run the container I get hit with an error.
docker run -it git_test/mriqc:0.16.1 --version

Traceback (most recent call last):
File "/usr/local/miniconda/bin/mriqc", line 10, in
sys.exit(main())
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/cli/run.py", line 16, in main
parse_args()
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/cli/parser.py", line 371, in parse_args
parser = _build_parser()
File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/cli/parser.py", line 59, in _build_parser
currentv = Version(config.environment.version)
File "/usr/local/miniconda/lib/python3.7/site-packages/packaging/version.py", line 298, in init
raise InvalidVersion("Invalid version: '{0}'".format(version))
packaging.version.InvalidVersion: Invalid version: ''

Resolved. When building the container from github I didn't realize I needed to add
docker build --build-arg VERSION=0.16.1


Release 2.4.0

Cache questionnaires and standardize Github client access (#432)
Set upper limit of ttl to 28 days otherwise messages are not sent (https://firebase.google.com/docs/cloud-messaging/concept-options#:~:text=On Android and Web%2FJavaScript,attempts to deliver the message)

LGTM, is this ready for release @mpgxvii ?

@yatharthranjan Yes, but I want to include some changes before releasing: https://github.com/RADAR-base/RADAR-Appserver/pull/443


Eliminate sleeps in route_guide_client.py

These have been there for nearly three years and no one ever mentioned them until this week when in come two reports (one Google-internal and one on the public Internet) calling them funny. I always thought they were demonstrations of how the client might do time-consuming work. Apparently they're spurious and not something also implemented in the other languages' implementations of the route guide example. Let's kill them off.
@jtattermusch: do you remember adding them, and if so, for what reason?

I don't remember adding them, to be honest. I think they were there to show that streaming messages can be delivered separately. I don't know about any reason to keep them.


Add input_profile_dir flag to json_profile_merger

What this PR does and why we need it:
This PR introduces a flag for json_profile_merger which allows the specification of a folder for loading json profiles from. This is necessary when the list of json profiles to process is exceedingly large.
New changes / Issues that this PR fixes:
Loading several thousand json profiles via command line arguments can be slightly tricky. Specifying a folder for this can be much easier.
Special notes for reviewer:
N/A
Does this require a change in the script's interface or the BigQuery's table structure?
No.

Thanks for your contribution!


Wallets Migrated to v2 not working with DeepLink and Native Implementation

Describe the bug
While using WalletConnect v2, can't connect to a wallet supposedly migrated to v2 already.
SDK Version

Client: [ANDROID NATIVE KOTLIN]
Version [Core 1.15.0, Sign 2.13.0]

To Reproduce
In an example app I created
Steps to reproduce the behavior:

Initialize CoreClient and SignClient with all the parameters
Use SignClient.connect method and on the Success callback launch the "pairing.uri" to the desired wallet
Wallet opens but no modal to accept connection

Expected behavior
Wallet to open the modal and accept the connection to then sign a message. Tested with [example Wallet v2] (https://react-wallet.walletconnect.com/) and all the process works smoothly. Several wallets "migrated" to v2 does not open the modal to accept the connection they just open reacting to the deeplink, but keeps there without doing nothing
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

Device: [Xiaomi Mi 10 T]
OS: [Android 12]
Browser [Does not apply]
Version [Does not apply]

Additional context
I would like to know if I'm are the one doing something wrong or the wallets are not supporting really v2 as the example wallet https://react-wallet.walletconnect.com/ works without any flaw to connect and sign the message.
CODE used:
In the  Application class
//for v2
        val projectId = "<My project ID>" //Get Project ID at https://cloud.walletconnect.com/
        val relayUrl = "relay.walletconnect.com"
        val serverUrl = "wss://$relayUrl?projectId=${projectId}"
        val connectionType = ConnectionType.AUTOMATIC
        val application = this //Android Application level class
        println("WALLET_CONN -> serverUrl: $serverUrl")
        val appMetaData = Core.Model.AppMetaData(
            name = "WalletIntegration Example",
            description = "Kotlin Requester Implementation",
            url = "<URL here>",
            icons = listOf("https://raw.githubusercontent.com/WalletConnect/walletconnect-assets/master/Icon/Gradient/Icon.png"),
            redirect = "<My redirect>"
        )
        CoreClient.initialize(relayServerUrl = serverUrl, connectionType = connectionType, application = application, metaData = appMetaData) {error ->
            println("WALLET_CONN -> Error initialize Core $error")
        }

        SignClient.initialize(init = Sign.Params.Init(core = CoreClient)) { error ->
            println("WALLET_CONN -> Error initialize Sign $error")
        }

Where connecting
fun signV2() {
        /*Namespace identifier*/
        val namespace: String = "eip155" // reference: https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-2.md#syntax
        /*List of chains that wallet will be requested for*/
        val chains: List<String> = listOf(
            "eip155:42220" // Celo main net
        )
        /*List of methods that wallet will be requested for*/
        val methods: List<String> = listOf(
            "personal_sign" // ATM we only want to sign
        )
        /*List of events that wallet will be requested for*/
        val events: List<String> = listOf(
            "chainChanged",
            "accountChanged"
        ) // Actually all possible events

        val expiry = (System.currentTimeMillis() / 1000) + TimeUnit.SECONDS.convert(7, TimeUnit.DAYS)
        val properties: Map<String, String> = mapOf("sessionExpiry" to "$expiry")

        val namespaces: Map<String, Sign.Model.Namespace.Proposal> = mapOf(
            namespace to Sign.Model.Namespace.Proposal(
                chains,
                methods,
                events)
        )

        val pairing: Core.Model.Pairing = CoreClient.Pairing.create()!!

        val connectParams = Sign.Params.Connect(
            namespaces = namespaces,
            optionalNamespaces = namespaces,
            properties = properties,
            pairing = pairing)

        SignClient.connect(connectParams,
        onSuccess = {
            println("WALLET_CONN -> SignClient success")
            var deeplink = pairing.uri
            println("WALLET_CONN -> link: $deeplink")
            pairingDeeplink = "$deeplink" // Tried with "wc://wc?uri=$deeplink" too but is not working
            _connectionUri.postValue("$pairingDeeplink") // LiveData that triggers to open the link URI, allowing to select the wallet to open
        }, onError = { error ->
            println("WALLET_CONN -> SignClient error: $error")
        })
    }

Hey, @idelburgo-iomob can you list all the wallets that you use to test deep link flow?

Sure!
Tried the following (all of them appear under v2 in the explorer)

TrustWallet: link opens the app but nothing appears
BitKeep: link opens the app, modal to accept connection appears but keeps forever accepting, when closing the app and returning to mine I have the address but cant send the sign method, as when using the sign and opening the link, appears as I have not connection.
Valora: Opens the app, the modal to connect appears, sometimes appear with the buttons and when tapping on connect it keeps forever there (as Bitkeep, but when closing after a while it does not have address or anything), others the modal appears as "Connecting" and after some time a timeout message appears.

Maybe I'm doing something wrong, but as the example wallet is working perfectly I can't see what. Followed documentation and all the examples.

We're aware of that and we're working with them closely to add the correct support for deep link flow ASAP
Thanks for pointing out this

Hi @jakubuid I had the same issue. I try to use Wallet Connect V2 to open the initial session to TrustWallet via deep link Android. But I only link to Trust Wallet and don't appear anything after.
Expect: link opens TrustWallet through Wallet Connect V2 and the confirmation modal appears to accept the connection session
I glad if you can support me. Thank in advance

@jakubuid in 20 days v1 will be shutoff. Is there any estimation of when will this be solved? As I need to fully implement it and test before that date.

Hey all, we work closely with those wallets to add the correct support for deep links, see the following:

Trust - fix should be available this/early next week on play store
BitKeep - is notified working on a date
Valora - working on it too

Yeah, same issue. I've opened this before: https://github.com/WalletConnect/WalletConnectKotlinV2/issues/793
It seems that while wallets support v2, issue in sdk prevented deeplinks from working.
For now im waiting confirmation from WalletConnect team on updated and working wallets, before our team starts any work on integration.

Trust - within the latest update on PlayStore - deep linking flow works

It seems that while wallets support v2, issue in sdk prevented deeplinks from working.
The above is true only for Auth use case -we're planning to release a new sdk version till EOW

Trust - within the latest update on PlayStore - deep linking flow works

It seems that while wallets support v2, issue in sdk prevented deeplinks from working.

The above is true only for Auth use case -we're planning to release a new sdk version till EOW

So this won't work in my case, using Core + Sign SDKs? I need to sign a message and be able to "sendTransaction"

The above is true only for Auth use case -we're planning to release a new sdk version till EOW

So fixed sdk is not out yet?

I tested with my app, and after updating TrustWallet, still happening the same.

TrustWallet - version 7.24.2 - deeplinking flow working with https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/dapp supporting Core + Sign
https://github.com/WalletConnect/WalletConnectKotlinV2/assets/23366251/2fcfa798-44eb-451f-95d0-3c71b5191c6e

As far as I can see it is using Web3Modal SDK. Am I right? Im using Core + Sign. Won't it work with them? Im using [Core 1.15.0, Sign 2.13.0], should I try the next one or this is not the problem?

I have the same case with separate wallets and need help to make WC2 work somehow with some wallets.
For Trust Wallet, the signing process only functions correctly when we send the sign body in the format of ["$msg", "$account"].
And after that signature is not what I expect and what I get from Metamask F.E.
However, for Zerion Wallet, the connection does not work at all, and the modal to accept the connection does not appear. For Spot Wallet, the connection does not work, and the modal to accept the connection appears with an "Authentication failed" error.
https://github.com/WalletConnect/WalletConnectKotlinV2/assets/41128384/afbd6c4e-7210-48c1-a67c-3971652102f8
https://github.com/WalletConnect/WalletConnectKotlinV2/assets/41128384/fa1c8cf2-8383-4529-a9be-0e75fa2808e2
https://github.com/WalletConnect/WalletConnectKotlinV2/assets/41128384/0a785fb2-efbb-48a1-827b-639a0e1bed47
If you already have some wallets which are working on full flow with Kotlin XML (Even if with Compass), please share.

Which SDKs are you using in that example @Shitikyan ?? Is it a native kotlin app?

We are using Android SDK 13(Tiramisu) , and yes it is Kotlin app. Here are the versions of the Wallet Connect packages we are using:
implementation("com.walletconnect:web3wallet:1.8.0")
implementation("com.walletconnect:sign:2.13.0")
implementation("com.walletconnect:android-core:1.15.0")
implementation("com.walletconnect:android-bom:1.10.0")

I have a similar issue and will be thankful for a solution

@Shitikyan I have been checking again and again, and I'm doing almost the same, instead of using the onproposedSequence I'm setting the uri into a viewmodel var (livedata) and opening the link. But still happening the same. Would be great if you could check my code (posted in the original question) very fast and see if you can point out my error, because apparently I have it as you and the example.

For the successful deep linking connection please follow this guide: https://docs.walletconnect.com/2.0/android/guides/mobile-linking
Where you can find Dapp and Wallet sections
Dapp must send a correct uri deep link schema (described in docs) and wallet must register correct intent filter with correct schema to be able to receive a deep link from dapp

@jakubuid Is there a working version example? What I am using I took from Example

Yes, run our example dapp and wallet:

https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/dapp
https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/wallet

I read all the documentation and the example. Managed to test in some other devices, and my implementation is working with Trustwallet (it was correct, found something is happening with my test device). But still wallets not being able to process the requests.
I have found that there is an issue with the model Im using to test: Xiaomi Mi 10 T Lite (Android 12), tested with 3 other devices and its working.
@jakubuid Is it still on the calendar that everyone using v1 will stop working? There are a lot of wallets that haven't migrated or that the migration does not work properly (as you said you were working with them). TrustWallet is the only one I have managed to fully do what I need.

Yes, run our example dapp and wallet:

https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/dapp
https://github.com/WalletConnect/WalletConnectKotlinV2/tree/develop/samples/wallet

Tried to run the example, but after changing the projectId to mine, can't run because the app does not have the google-services.json file. Do you have any Readme about how to make it work?

I see, please use those distribution links to get apps:

https://appdistribution.firebase.dev/i/d2c86e879abd5a86 - wallet
https://appdistribution.firebase.dev/i/e62f87e7d2eb7a21 - dapp

Im sorry to say, with that app its happening the same as with my code referenced here: https://github.com/WalletConnect/WalletConnectKotlinV2/issues/899#issuecomment-1564063682
TrustWallet is working on other devices (as I said before something to happen with my test device), so Im having the same issues pointed in that comment except for Trustwallet that is working now.
I have no problem about this, just pending work to do, but my inquiries are about v1 sunset and what is happening with the wallets, because our users will have no option to work with. So, how can we solve the issue of v1 sunset without wallets working?

@idelburgo-iomob are you referring only to deep linking flow? Can you share your dapp where I can scan a QR code and test the connection with those wallets?
Regarding deep linking flow on native dapp - Trust works well which is already a huge user base - we work with BitKeep to improve it as well - deep linking flow on mobile browsers and a scanning qr code flow are also fine - so users should be able to connect to your dapp

@jakubuid I am using deep linking flow, as I have native app only, the QR is not a good option for me, because the user cant scan a QR with the device if the device is needed to read the QR. (The app is showing the QR and needs the same device to scan it)

@bujoralexandru Android MM is in the release process that supports WalletConnect v2 - we verified that the upcoming release works correctly- we had access to internal builds - the rollout of MM on Android is pretty slow but it's going on

MM should reached 100% rollout by now - so it should be available for you as well - and yes the experience is the same

@jakubuid Nice to hear!
I tried my example application and the connect is working, but when sending the personal_sign it is opening Metamask and not appearing the modal to accept the signing. (This flow I have is working as it is for TrustWallet)
I also tried the app you sent me (WC Dapp) and its crashing when returning from accepting the connection to MetaMask :( Do you have any newer app in which you can do the process? Maybe this one is outdated?

Just to add more info: when sending the personal_sign (working in TrustWallet) it is returning instantly to my app to the onError delegate with the following message:
Error(throwable=kotlinx.coroutines.TimeoutCancellationException: Timed out waiting for 300 ms)

@jakubuid Can you please give timeline when auth integration will work?
Tested it today with latest code for auth.requester and fresh trust wallet, still does not recognize as valid qr code (used deeplink)

@idelburgo-iomob Below there's a video showing a working example with Trust - the same result is for MM
https://github.com/WalletConnect/WalletConnectKotlinV2/assets/23366251/efbe4576-6d70-40ad-b178-7d1554a46578
I'm not able to reproduce your errors - it seems that sth is wrong in your implementation - I'm happy to help but I need more details.
Caused by: java.util.NoSuchElementException: Array contains no element matching the predicate. - this is sample dapp error - we'll investigate it but it's not related to the protocol itself
@Raenar4k the auth integration works on Trust via scanning QR code - there's indeed some problem on deeplinks, will report it to Trust

@jakubuid yes, as I said, I have no problem with Trust, just with MM.
With TrustWallet I can make the same process you are showing. But not with MM.
If my implementation is working smoothly with Trust, shouldn't it be working the same with MM?
Plz, let me know if you solve the crash in the example app so I can test with MM. Is this app working with MM for you?

@jakubuid What you mean about more details? I can share with you whatever you need. I have my example app here in github. Its just a fragment+viewmodel with two buttons to connect and sign when it is connected.

As you can see on the video - MM works fine:
https://github.com/WalletConnect/WalletConnectKotlinV2/assets/23366251/0e9b964b-84a3-4bf4-9f98-81ab9fa37a33
Plz, let me know if you solve the crash in the example app so I can test with MM. Is this app working with MM for you? - please for now clear app's storage it should help
Can you share please your repo then? I'll have a look

After a fresh Install of your example Dapp and Metamask. It has worked!
But my app is giving the same error of Invalid params.
My code is in: https://github.com/idelburgo-iomob/walletConnectIntegrationExample it just connects with Celo right now. if  you want to change the chain just set it in MainViewModel:146 @jakubuid
Let me know if you see something wrong. If you manage to know would be great as it is the only problem I have to finish the migration to v2.

the auth integration works on Trust via scanning QR code - there's indeed some problem on deeplinks, will report it to Trust
@jakubuid
QR code scanning does not work for me either.
This is fresh version from play store + fresh code from wallet connect repo:

https://github.com/WalletConnect/WalletConnectKotlinV2/assets/13849790/f368c7cb-f799-49b2-b42d-f9d656739c63

@jakubuid is there a wallet that support auth.responder demo at this moment? Spot replies that QR code is not valid both on scan and deeplink, MM just does nothing.

@jakubuid

Below there's a video showing a working example with Trust - the same result is for MM

Can confirm that samples.dapp is working, both QR and deeplink! Nice. :)
(Auth.requester does not sadly)

The only problem I have is TrustWallet not working in some devices, at least in my test one, but works on the rest. So I assume is a problem with my specific model


Enable programlisting output that links to actual documentation

Currently, the programlisting is just transformed into a raw .. code-block::.  This is better than nothing, but

Explicitly parsing the programlisting for a given refid is easy (and already partially implemented).
Figuring out how to write the output is the hard part.

Pygments is already setup for Sphinx, need to resolve generating links and highlighting the code.
Make sure users set primary_domain in conf.py.
Allow extension mappings to sphinx lexers (yet another config variable).

Ideally it would be similar to the Python viewcode extension, but it will be a challenge.  This one is quite far off in the future.

hopefully, the resolution could also be used to address
(!) Unabridged API: unexpected kind 'example' (IGNORED)

I'm mainly posting this to subscribe to this issue 😉


Remove UIInputBindButton from default.skin

Cleans up log output so it stops complaining about UIInputBindButton by removing UIInputBindButton from the default.skin file.
Contains
Fixing #2145
Fixes UIInputBindButton being redundant. Detailed in: #2145
How to test
Run the game and look at various log files for it complaining about UIInputBindButton

Can one of the admins please verify this patch?

@GooeyHub ok to test
Thanks! Not sure why the CI didn't trigger the first time.

Hooray Jenkins reported success with all tests good!

Appreciated :-)
Will add to credits etc shortly.

Hey @AWildBeard do you have a forum account yet for an intro and a contributor badge?

@Cervator, Sorry, I had been procrastinating a bit on that. But I do now!


Verifying account ownership in group transaction broken

Function verifyRekeyToAbstractedAccount is used to verify that by the end of a transaction group the account is controlled by the smart contract and should fail if that's not the case. It looks like this check isn't working properly right now, which means flash rekeying isn't guaranteed to work.
Function verifyRekeyToAbstractedAccount looks for a transaction in the group that either rekeys the controlled account back to the app or for a call to arc58_verifyAuthAddr. In either case getAuthAddr is called which returns the expected auth-addr for the abstracted account. Assuming that the controlled account is the app account (this.controlledAddress.value === this.app.address), getAuthAddr returns the zero-address. The problem occurs in the following lines in verifyRekeyToAbstractedAccount:
// The transaction is an explicit rekey back
if (txn.sender === this.controlledAddress.value && txn.rekeyTo === this.getAuthAddr()) {
  rekeyedBack = true;
  break;
}

If the group contains, e.g., a payment from the controlled address to some other address without explicit rekeying, this statement evaluates to true and verifyRekeyToAbstractedAccount succeeds. This is because txn.rekeyTo === Address.zeroAddress since the transaction doesn't contain an explicit rekeying and the default value for that field is the zero-address. As a result, the app thinks it has control over the controlled account, but in fact hasn't.
Function arc58_verifyAuthAddr looks fine:
arc58_verifyAuthAddr(): void {
    assert(this.controlledAddress.value.authAddr === this.getAuthAddr());
}

I think the reason why arc58_verifyAuthAddr is okay is because it looks for an effect (auth-addr is cleared to zero-address), while the first code block looks for an action (rekey field is zero).
One possible solution is to only check for arc58_verifyAuthAddr, but this means we necessarily have to add that transaction to the group, while the other approach doesn't require that.

I think simply changing txn.rekeyTo === this.getAuthAddr() to txn.rekeyTo === this.app.address gives us the desired effect. We check to see if there's a transaction that rekeys back to the the ARC58 app and if so we know the app has control again

Sounds good, I can open a PR for that.


not all keywords are working

as you can see in the script even the examples you guys gave are not working in a proper way.

The script has been pushed online, can you please verify if it's working now?


[@stylexjs/esbuild-plugin] The esbuld-plugin does not embed variables in the TypeScript build.

Describe the issue
When I use variables with the @stylexjs/esbuild-plugin, the plugin does not embed variables defined by stylex.defineVars() into the generated CSS.  It works in the ESM build as expected, but it does not work well in the TypeScript build.  Here is an example:
Built from ESM
:root{--xd1a5w:black;--x1h2un6e:white;}
@media (prefers-color-scheme: dark){:root{--xd1a5w:white;--x1h2un6e:black;}}
.xb26llm:not(#\#){background-color:var(--x1h2un6e)}
.x1bbqryo:not(#\#){color:var(--xd1a5w)}

Built from TypeScript
.x1e8mcya{background-color:var(--x1w3s4ik)}
.x9fir3{color:var(--x5x584n)}

Expected behavior
The @stylexjs/esbuild-plugin embed variabled defined by stylex.defineVars() in the TypeScript build.
Steps to reproduce
I reproduce it by the following versions:

@stylexjs/esbuild-plugin: 0.5.1
@stylexjs/stylex: 0.5.1
esbuild: 0.20.0

Build typescripts by the following configuration

// build.mjs
import esbuild from 'esbuild';
import stylexPlugin from '@stylexjs/esbuild-plugin';
import path from 'path';
import { fileURLToPath } from 'url';

const __dirname = path.dirname(fileURLToPath(import.meta.url));

esbuild.build({
  entryPoints: [`src/index.ts`],
  outdir: `./build`,
  bundle: true,
  plugins: [
    stylexPlugin({
      dev: false,
      generatedCSSFileName: path.resolve(__dirname, `build/stylex.css`),
      stylexImports: ['@stylexjs/stylex'],
      unstable_moduleResolution: {
        type: 'commonJS',
        rootDir: __dirname,
      },
    }),
  ],
})

// src/index.ts
import * as stylex from '@stylexjs/stylex';
import { colors } from './tokens.stylex';

const styles = stylex.create({
  container: {
    color: colors.foreground,
    backgroundColor: colors.background,
  },
});

window.dummy = stylex.props(styles.container);

// src/tokens.stylex.ts
import * as stylex from '@stylexjs/stylex';

const DARK = '@media (prefers-color-scheme: dark)';

export const colors = stylex.defineVars({
  foreground: { default: 'black', [DARK]: 'white' },
  background: { default: 'white', [DARK]: 'black' },
});

Compile and  bundle TypeScript files by node build.mjs
Check a generated CSS in the build directory

The full example project is available here:

https://stackblitz.com/edit/stylexjsesbuild-plugin

Test case
No response
Additional comments
No response

hey, this is a good catch.
esbuild TS loader respects the tsconfig.json file and by default elides imports that are not referenced in the body of the importing module. to avoid this, you will need to set verbatimModuleSyntax option to true in your tsconfig.json file:
{
  "compilerOptions": {
    "verbatimModuleSyntax": true
  }
}

this should definitely be documented or added as a tsconfig extension

For variables, Stylex has an option called treeshakeCompensation that should ensure that the imports for variables are not removed due to tree-shaking. Turning that option on, should fix the issue as well.

@nmn gotchu, will change it 👍


Do not suggest to test Kotlin protected methods

Description
UTBot suggests to generate tests for protected members of Kotlin class, but because they are visible only inside that class itself and its descendants the generated code cannot access such methods and fails at compilation.
To Reproduce

In UTBot settings set Generated test language to Kotlin
Invoke test generation for following class

class Calc {
    protected fun substract(a: Int, b: Int): Int {
        return a - b
    }
}

Expected behavior
UTBot either warn that there is NO methods it can test or create compilable code (if we can and want to access this method through reflection).
Actual behavior
UTBot allows to generate tests for that method and create uncompilable code.
Visual proofs (screenshots, logs, images)

In current implementation we consider protected keyword in terms of Java.
May be we should improve PsiClassHelper.filterTestableMethods. Or suggest some more complicated separation between two protected terms.


RECTIFIED - Inappropriate promt in LCM/HCF/Factors

Related Issuse

In case of entering negative numbers "Enter numbers only" prompt is displayed instead of "Enter positive numbers only"

fix #796
Describe the changes you've made
Added appropriate check over negative numbers to avoid faulty prompt
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.

Screenshots

Original
Updated

original screenshot
updated screenshot

Issue has been resolved

@sairish2001, Kindly look into this. I don't know why one of the checks failed.

@sairish2001, Kindly look into this. I don't know why one of the checks failed.

you have extra line of code , the checks are failing there

@SarthakKeshari I think by mistake you have added these lines of code again because of which again no calculators are working

@sairish2001 please look into this

@abhijeet141 This code was already present. I have just accepted the incoming changes

@SarthakKeshari I think by mistake you have added these lines of code again because of which again no calculators are working

@sairish2001 please look into this

@abhijeet141 This code was already present. I have just accepted the incoming changes

@SarthakKeshari I think by mistake you have added these lines of code again because of which again no calculators are working

@sairish2001 please look into this

but now it is added again in the code


Photography web page

The idea is to create a one-page responsive photography site.
You can create a gallery with a view button so users can go to the images section and slide to view the following images. You can keep different viewing layouts like a grid, list, etc. Add the margin and padding for the page and choose your desired color combination, font style, and image size. For responsiveness quotient, you can use flexbox and media queries.
Update README accordingly.
Tag the issue while  sending a PR.

Hay, I would like to work on it. Please assign it to me


Ukrainian Translation and Intent tests

@NeonDmitry Can you add word_local.dialog and word_public.dialog Ukrainian translations here?