Getting a gesture library error

Apparently this a bug in the Flutter framework, because it isn't referring to any of my files
======== Exception caught by gestures library ======================================================
The following _TypeError was thrown while handling a pointer data packet:
Null check operator used on a null value
When the exception was thrown, this was the stack:
#0      RenderViewportBase.hitTestChildren (package:flutter/src/rendering/viewport.dart:733:26)
#1      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2479:11)
#2      RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)
#3      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2479:11)
#4      RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3634:31)
#5      RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)
#6      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2479:11)
#7      RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)
#8      RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:190:19)
#9      RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)
#10     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:190:19)
#11     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)
#12     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:190:19)
#13     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)
#14     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2479:11)
#15     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:137:19)

Hi @ctemkar
When opening an issue, please try to provide all or some of the information indicated in the template so that we can address this issue properly (See appropriate template here)
Regarding the issue, it could be caused by implementation that leads to framework error as above. You should narrow down the issue by removing the usage of 3rd party plugins/packages one by one, unrelated/unaffected pages, and isolating the affected page into a single main.dart file that can be run independently. If the issue's still reproducible, please provide that main.dart file so that we can verify the issue properly. Thanks!


Observable.for

In RxJS 4, there's a great guide for people hoping to transition from async.js to RxJS. These rely on Observable.for, which appears to not be included in RxJS5 (unless I'm mistaken).

Dear @rgbkrk, this may be the blind leading the blind but I will have a go.
Definely have a look at reactivex.io operator list if you haven't already seen it. It is very helpful but slightly out of date in one or two operators.
For this example I believe that you can use from() to pull in the Array, and promises with flatMap().
var fsp  = require('fs-promise'),
    RxJS = requie('rxjs');

RxJS.Observable.from(['file1.txt', 'file2.txt', 'file3.txt'])
  .flatMap(fsp.statSync)
  .forEach(function () {
    // do something
  })

Ha, that's ok. Still no from, that's ok though as fromArray works with
What I ended up noticing last night was that I could use bindNodeCallback to create an observable:
const Rx = require('rxjs/Rx')
const Observable = Rx.Observable

function kernelSpecs(cb) {
  const kd = expectedKernelDirs()
  return Observable.fromArray(kd)
                   .flatMap(x => stat(x))
                   // other ops
}

I'm likely breaking this code up a bit differently, though the fromArray certainly works.

D'oh. I feel like a dolt. You used from, not for. Sorry about that @bholloway and thank you for chiming in. :smile:

Glad I could help.
The team here has given me so much help its good to pay some back.

@rgbkrk thanks for reminding me we need to implement Observable.for. Re-opening this issue to track progress @blesh

@trxcllnt ... Observable.for is the same as Observable.from. We chose from to meet the spec. Why do we need both?

@blesh for enumerates the items in the list, runs them through a selector, and concatMaps whatever the selector returns. Sure it can be done with from(sources).concatMap(sourceItemToObservable) but it's already public API used in a lot of existing docs, it'd be strange to leave it out.

so... it's a static concatMap? Can we call it Observable.concatMap? I'd hate for people to trip over for/from.

... I guess I never used for in that manner, or maybe I never used it. I'm pretty minimalist with my operator and creation function usage.

The other option is to translate the async module examples over to RxJS 5 to help people write idiomatic RxJS. I'm not sure if what I have is the best option right now and I wanted to stop myself from polluting your issues with my "how do I do this with RxJS 5" questions.

so... it's a static concatMap? Can we call it Observable.concatMap? I'd hate for people to trip over for/from.

I mean, for is terse, but it doesn't accurately describe what it's doing does it? of/for/from are all so similar-ish to me, where static concatMap seems more straight forward.
attn @trxcllnt @mattpodwysocki

Closing this issue as stale.


add funding file

Description

I added a FUNDING.yml file to activate OSS activities.
My GitHub Sponsors Link
Compatibility

None
Caveats

None

Thanks 😆

:tada: This PR is included in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Airaki - homebrew] fails to load

i get this nice message

https://gbhh.avivace.com/game/airaki

thanks to emudev discord, i was told that the game relies on handling DMA bus conflicts (i am just doing a single memcpy) and something about the apu being ticked by the internal timer.
The source for the game is also here https://github.com/furrtek/Airaki


str_slug() and the Hungarian language

Laravel Version: 5.2.41 upwards

Description:
The problem with the Hungarian diacritics that they get transformed wrongly during the slug generation.
Ö,Ő gets transformed to OE and ÜŰ gets transformed to UE, while these should be o and u respectively.
This was introduced in ee8dde1e013960ea65887c3c55e8555cc38a2033 with the charsArray() protected function.

Please submit bug reports to the stringy library. We always used them in the first place, so that change to the chars array would have happened anyway, we just removed the dependency on them, and now directly copy the small part of the codebase we need.

If some one is looking for a "quick" solution, voku/Stringy's methods can be used as a replacement.
$stringy = Stringy\Stringy::create('fö fü fófőfúféfáfű');
echo $stringy->toAscii()->dasherize(); // will result in: fo-fu-fofofufefafu

@blackfyre Please send a PR to danielstjules/Stringy, then everyone can get this fix, including Laravel, rather than just fixing this on your own app.

@GrahamCampbell This is an on-going problem since the 2nd of January, 2016, please see danielstjules/Stringy#116 for the details.

We need to encourage them to fix it then, for the benefit of everyone.:)

It doesn't seem like anyone has actually PRed a fix to stringy, unless I missed it?

Actually, in Daniel's last comment, he said, that he'll do something in the holidays :smile:

Daniel released a new version of danielstjules/Stringy](https://github.com/danielstjules/Stringy/releases).

I've synced with the new version, check #18974 this shouldn't be a problem anymore on 5.5. 👍


Error occurred at OcilibNumberTranslateValue: OCI-22060: argument [2] is an invalid or uninitialized number

Hello,
I think I found a bug in obilib 4.7.4.
This error does not occur with version 4.5.1 of ocilib.
Attached is the SQL script and the C++ code.
Kind regards
OcilibTest1.sql
create table TestTable (nr number, kg_id number);
CREATE OR REPLACE PACKAGE TestPackage IS
type mf_verlauf_rec is record
(
nr number,
kg_id number
);
FUNCTION GetCurrentItem( nr_ number, item_ OUT TestPackage.mf_verlauf_rec) return number;
END;
/
CREATE OR REPLACE PACKAGE BODY TestPackage IS
function GetCurrentItem( nr_ number, item_ OUT TestPackage.mf_verlauf_rec) return number
is
dataset TestTable%rowtype;
begin
item_.nr := dataset.NR;
item_.kg_id := dataset.KG_ID;
    return item_.nr;
end;

END;
/
// OcilibTest1.cpp
/*
Error occurred at OcilibNumberTranslateValue: OCI-22060: Argument [2] ist eine ung³ltige oder nicht initialisierte Zahl
*/
#include "ocilib.hpp"
#include
#include
int main(int argc, char** argv)
{
if (argc < 4)
return EXIT_FAILURE;
const otext *usr = argv[1];
const otext *pwd = argv[2];
const otext *db = argv[3];

try
{
    ocilib::Environment::Initialize();
    ocilib::Connection connection(db, usr, pwd);
    ocilib::Statement statement(connection);

    int64_t verlauf_nr = 9453;
    int64_t kg_id = 0;  // 1743482
    int64_t ret = 0;
    const ocilib::ostring cmd =
        R"(

declare
iItem TestPackage.mf_verlauf_rec;
begin
:ret := TestPackage.GetCurrentItem(:verlauf_nr, iItem);
:kg_id := iItem.KG_ID;
end;
)";
    statement.Prepare(cmd);
    statement.Bind("verlauf_nr", verlauf_nr, ocilib::BindInfo::In);
    statement.Bind("kg_id", kg_id, ocilib::BindInfo::Out);
    statement.Bind("ret", ret, ocilib::BindInfo::Out);
    statement.ExecutePrepared();
    int x = 0;
}
catch (ocilib::Exception e)
{
    std::cout << e.what() << std::endl;
    return EXIT_FAILURE;
}

return EXIT_SUCCESS;

}

Hi,
It seems indeed to be a regression.
I will investigate this asap.
Best regards,
Vincent

Hello,
many thanks for the quick response
The error message is identical to that from issue #86.
But there must be another reason.
I tested the scripts from issue #86 and they work correctly.
Greetings from Germany

Hello,
i investigated the error further and found the following.
The error only occurs if the variable kg_id in the C++ code has the type int64_t or uint64_t,
no error occurs with int32_t or double.
The error is triggered by the OCI function OCINumberToInt, file number.c in line 162.
As far as I can see the parameters are correct.
Kind regards

Hi,
Do have the issue if you declare kg_id  as ocilib::BindInfo::InOut ?
Regards,
vincent

I tried supplied code (had to modify the package function body which is invalid to assign random values to the record members).
It runs fine on my windows box.

Can you provide a valid PL/SQL definition (as I had modified it an possibly changed the execution context) ?
What compiler and platform are you using ?
Regards,
Vincent

Hello,
I am using Visual Studio 2019 and 2022 on Windows 10 with Oracle 12.
The error only occurs if the record in the package is not initialized.
I made the following change, so it works now.
file: statement.c
function: static boolean OcilibStatementBindUpdate
    else if (OCI_NUM_BIGINT & bnd->subtype)
    {
        OCINumber *src_number = OCI_BIND_GET_BUFFER(src, OCINumber, index);
        big_int   *dst_bint   = OCI_BIND_GET_SCALAR(dst, big_int, index);
        // akh 01.06.2022
        // Don't call OcilibNumberTranslateValue with null values
        const OCIInd *ind_ptr = bnd->buffer.inds;
        const int is_null = (ind_ptr ? *ind_ptr == OCI_IND_NULL : 0);

        if (dst_bint)
        {
            if (is_null)
                memset(dst_bint, 0, sizeof(big_int));
            else
                CHECK(OcilibNumberTranslateValue(bnd->stmt->con, src_number,
                                             OCI_NUM_NUMBER, dst_bint, bnd->subtype))
        }
    }

Kind regards
Andreas741

Hi,
Do you have a valid PL/SQL declaration and C++ code  I can use to test ?
In the meanwhile, I will apply some change apply bind value change only if it is not null.
Thanks :)
Vincent

Hello,
I use the code from my 1st post.
I can build and run the package with no errors.
What's wrong with the package?
Kind regards
Andrew741

Hi,
I had to modify the syntax but succeed in the end to reproduce the issue.
I committed a fix and test case for it in v4.7.5 branch
Thanks you !
Regards,
Vincent


finish main.py workflow for two new 'nature of contents' concept schemes

@dkreisstomkins the error with main.py was caused by incorrect data in the RDF/XML for new concept scheme 'books: nature of contents' - see details of changes which resolved the error.
My best understanding without revisiting main.py code or stylesheets is that the incorrect dct:hasFormat values in the RDF/XML -- pointing to a directory and files which don't exist, caused the main.py transformation error. In any case making the change (link to commit just above) resolved the error and allowed me to run main.py successfully for books_nature_of_contents/.
I believe that if you make similar edits to continuing_nature_of_contents/continuing_nature_of_contents.rdf (see L97-100), you'll be able to run main.py successfully and then we can make the pull request.
My understanding, to confirm with @cspayne if possible:
main.py works ✔ in both of the following scenarios:

A new resource (RDF/XML serialization) is processed using main.py and includes no dct:hasFormat triples
An updated resource (RDF/XML serialization) is processed using main.py and includes accurate dct:hasFormat triples (filepath/filenames point to the other serializations of the resource, which will be overwritten by main.py processing to reflect updates in RDF/XML)

main.py does not work ❌ in the following scenario:

An updated resource (RDF/XML serialization) is processed using main.py and includes incorrect dct:hasFormat triples (filepath/filenames do not point to the current location of other serializations of the resource)

⚡ action items

[ ] @dkreisstomkins makes corrections to continuing_nature_of_contents.rdf as were made for books_nature_of_contents.rdf (see details of changes which resolved the error)
[ ] @dkreisstomkins commits these changes
[ ] @dkreisstomkins runs main.py for continuing_nature_of_contents
[ ] If successful, @dkreisstomkins commits serializations for continuing_nature_of_contens
[ ] At next meeting @dkreisstomkins and @briesenberg07 walk through pull request for books_nature_of_contents and continuing_nature_of_contents

@dkreisstomkins the other thing is to make sure you know that I've made two commits to the divide_somes branch and you need to pull before you tackle the action items above (I'm sure you would've anyway but wanted to be extra sure!) TY!

main.py works ✔ in both of the following scenarios:

A new resource (RDF/XML serialization) is processed using main.py and includes no dct:hasFormat triples

An updated resource (RDF/XML serialization) is processed using main.py and includes accurate dct:hasFormat triples (filepath/filenames point to the other serializations of the resource, which will be overwritten by main.py processing to reflect updates in RDF/XML)

main.py does not work ❌ in the following scenario:

An updated resource (RDF/XML serialization) is processed using main.py and includes incorrect dct:hasFormat triples (filepath/filenames do not point to the current location of other serializations of the resource)

That's correct! I never implemented a function to delete incorrect dct:hasFormat triples...do we want one? It would be fairly simple to do.

Thank you @cspayne !

a function to delete incorrect dct:hasFormat triples

Would this compare the file path input from the terminal with the filepath in dct:hasFormat triples to remove/replace incorrect dct:hasFormat triples?

@briesenberg07

Would this compare the file path input from the terminal with the filepath in dct:hasFormat triples to remove/replace incorrect dct:hasFormat triples?

It would likely be the simplest to delete all dct:hasFormat triples before the correct ones are added, which is easy to do with rdflib.

We are deciding not to make any changes to main.py/serialize.py at this time. So the important things to remember when processing RDF/XML with main.py are:
📢  Cannot pass incorrect dct:hasFormat paths to main.py!!
YOU CAN:

Pass RDF/XML will correct dct:hasFormat triples
Pass RDF/XML with no dct:hasFormat triples


Ansible - napalm_install_config - with config

Description of Issue/Question
When using with napalm-ansible (napalm_install_config), the config input gets parsed as a string.
https://github.com/napalm-automation-community/napalm-panos/blob/develop/napalm_panos/panos.py#L228
This line splits the string by the spaces (rather than splitlines), so the command ends up being something like ['delete', 'device-group' ...] rather than ['delete device-group'].
Why is this code needed?
Looking at EOS, they do splitlines rather than split:
https://github.com/napalm-automation/napalm/blob/develop/napalm/eos/eos.py#L244
Did you follow the steps from https://github.com/napalm-automation/napalm#faq

[ ] Yes
[X] No

Setup
napalm-panos version
(Paste verbatim output from pip freeze | grep napalm-panos between quotes below)
napalm-panos==0.5.2

PanOS version
(Paste verbatim output from show system info between quotes below)
n/a

Steps to Reproduce the Issue
Run an ansible playbook against Panos using the napalm_install_config and config option (rather than config file). For example:

napalm_install_config:
hostname: x
username: x
password: x
dev_os: 'panos'
config: 'delete device-group'

The returned diff is nothing as the code runs the delete command followed by device-group.
Error Traceback
(Paste the complete traceback of the exception between quotes below)
n/a

Honestly, I think it is just a miss, it looks like normally would send the file, but in your case you are doing that, so likely just a mis-type.

So could we just change that entire if statement to just:
if isinstance(config, str):
config = config.splitlines()
Get rid of the 'if file_config' check?

I think it should be ```
if isinstance(config, str):
if file_config:
config = config.splitlines()
else:
config = str(config).splitlines()

Fixed in https://github.com/napalm-automation-community/napalm-panos/pull/73


Discord invite expired

The Discord invite in CONTRIBUTING.md has expired.
Output of bower -v && npm -v && node -v:
1.8.8
6.14.5
v14.2.0

Additional environment details (proxy, private registry, etc.):
Discord desktop client
Steps to reproduce the issue:

Open Discord
Add a server
Paste invite

Describe the results you received:
Recieved message:

(The invite is invalid or has expired)

Describe the results you expected:
Joining the Bower Discord

we discontinued discord server because no one was using it, I'll remove reference


Case mismatch error when opening a project

Issue description
Since 7.x, I've been getting this error in regards to the new naming convention from "x_2D" to "x_2d". I followed the steps provided in the link when I updated but now, it's telling me that it wont find the old files.
 But I also did a clean reinstall at one point and still have this. Using 7.2.1.

Steps to reproduce
Including the phantom_camera folder from the project. Let me know if anything else is needed.
(Optional) Minimal reproduction project
phantom_camera.zip

This is a computer-by-computer / project-by-project issue, annoyingly, and so the addon version you shared works fine for.

It's generally due to a Godot caching thing where it stores the class names reference but isn't too keen on updating them.
Have you tried using either an IDE, or another type editor, and looked through any instances of the uppercased class name variants? Specifically, within hidden files both in the project itself and the parent directory.

Have you tried using either an IDE, or another type editor, and looked through any instances of the uppercased class name variants? Specifically, within hidden files both in the project itself and the parent directory.

I've only done it manually and with Godot but I just tried it with VSC and found some cases of it. I changed it, reloaded but I'm still getting the error. Maybe it's better to just make a new project and import everything fresh. It doesn't appear in a fresh project so what you say seems like it's the case.

You could.
But if you're not running into any issues with it, and it's just logging the warning output, then you could also keep working in your current project. There's a chance that Godot might update the cached file name with the new one at some point — though, obviously, that's not a guarantee.

I see. I've contemplated doing it regardless due to issues with other addons and stuff so this is a good excuse to do it.
I appreciate the quick help and thanks for making this plugin by the way! I'm closing this issue since this is more of a Godot issue rather than an issue with PCam.


AriaRequestEvent and CommandEvent No Longer Included in Lib.Dom

TypeScript Version:  2.3.1-insiders.20170413
Bug
It looks like AriaRequestEvent and CommandEvent are no longer defined in the TypeScript 2.3 lib.dom typings definitions. We use these types one or two places in the VSCode codebase. Is this expected?

This is an intentional breaking change. AriaRequestEvent and CommandEvent were IE-specific definitions and not part of the spec. If you still need them you can include the definitions locally in your project:
interface AriaRequestEventInit extends EventInit {
    attributeName?: string;
    attributeValue?: string;
}
interface AriaRequestEvent extends Event {
    readonly attributeName: string;
    attributeValue: string | null;
}

declare var AriaRequestEvent: {
    prototype: AriaRequestEvent;
    new(type: string, eventInitDict?: AriaRequestEventInit): AriaRequestEvent;
}

interface CommandEventInit extends EventInit {
    commandName?: string;
    detail?: string;
}

interface CommandEvent extends Event {
    readonly commandName: string;
    readonly detail: string | null;
}

declare var CommandEvent: {
    prototype: CommandEvent;
    new(type: string, eventInitDict?: CommandEventInit): CommandEvent;
}


[feat] Added ellipsis when label exceeded min-width

Mostly inspired by this issue/comment.
https://github.com/hrsh7th/nvim-cmp/issues/980#issuecomment-1121773499

nice, thanks!


[Android] Compile Error -  FontFamilyFont

Hello, please help me, which is the problem
:react-native-braintree-xplat:processReleaseResources
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:font
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontStyle
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontWeight
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex
ERROR: In <declare-styleable> GradientColor, unable to find attribute android:endX
ERROR: In <declare-styleable> GradientColor, unable to find attribute android:endY
ERROR: In <declare-styleable> GradientColor, unable to find attribute android:startX
ERROR: In <declare-styleable> GradientColor, unable to find attribute android:startY
ERROR: In <declare-styleable> GradientColorItem, unable to find attribute android:offset

:react-native-braintree-xplat:processReleaseResources FAILED

my configuration
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 23
targetSdkVersion = 26
supportLibVersion = "24.2.1"

@martin-badin Did you find the solution for this?

I don't know, but it works now :).


Server mod doesn't work ?

Hi
I installed the server mod and it works but when I use the max_players command it doesn't work on my server it doesn't let me go over 20 at all. I tried max_players 30;   max_players 30 and max_players = 30 none of them make any difference and I know it goes to 30 from other servers. Any info ?

post your config

also do you get a "ServerMod version 1.5" in the title or something similiar?

Yes it says server mod 1.4
GAME SETTINGS:
minimum_MTF_time_to_spawn = 200;
maximum_MTF_time_to_spawn = 300;
ci_respawn_percent = 35;
ci_on_start_percent = 10;
team_respawn_queue =<PHONE_NUMBER>4414041340;
server_forced_class = -1; (-1 = random)
map_seed = -1; (-1 = random)
intercom_cooldown = 100;
intercom_max_speech_time = 20;
auto_round_restart_time = 10;
friendly_fire = false;
max_players 30;
SCP106_HP 1500;
///////////////////////////////////
THESE SETTINGS REQUIRES THE GAME TO RESTART:
server_ip = <IP_ADDRESS>;
server_name = [US] a good old rub | No Lag | No FF | $full_player_count $warhead_detonated  ;
ban_database_folder = [appdata]/SCP Secret Laboratory/Bans;
administrator_password = 19073169;
port_queue = 7777,7778,7779,7780,7781,7782,7783,7784;
serverinfo_pastebin_id = 7wV681fT;

max_players = 30;

Yeah, fixed the problem thanks :)


[tests-only] Implement .drone.env

to store the CORE_BRANCH and CORE_COMMITID for tests, the same way as is done in https://github.com/owncloud/ocis/blob/master/.drone.env
The disadvantage of having the commit-id embedded in .drone.star is that a .drone.star in the PR branch gets used from the PR branch and if there are other, later, changes to .drone.star in master they do not take effect in drone CI. This can lead to confusion about exactly what pipelines ran with what settings in CI.
Having .drone.env means that .drone.star can be much less modified.

https://drone.cernbox.cern.ch/cs3org/reva/960/5/6
+ git checkout $CORE_COMMITID
Note: switching to '60444e34b52b7c22ea817375947c9b60e42cd7da'.

Looks good - it switches to the correct commit id that is specified in .drone.env

This needs #1559 merged first. Then I will rebase...

@ishank011 IMO CI will pass now. Please review.


Refactor Vec<Option<_>>

Changes
(Internal) Refactors Vec<Option<_>> to work better with inner types, particularly delegates and primitives.
Checklist

[ ] An issue to be fixed by this PR is listed above.
[x] New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.
[x] The code generator is run and the code is formatted (via just precommit).
[ ] If this PR adds/changes features, documentations (in the ./book folder) are updated.
[ ] CI is passing.

Remark for PR creator

Justfile is a task runner for the command line interface that allows you to run shell commands from a file named justfile in your project directory. You can use Justfile after installing it. Note that commands written in justfile of this repository are expected to be run in bash, not cmd or powershell. Running just ... commands in cmd or powershell will produce errors as the syntax is not compatible. On Windows, you can use git bash if you have Git installed.
If fzyzcjy does not reply for a few days, maybe he just did not see it, so please ping him.

Looks great! Feel free to ping me after the PR is ready for review

@fzyzcjy All tests are passing except for some timed-outs, should be good for review now

(Will merge after CI is green!)


Code assumes the use of 'with', should make this clear in the examples

The 'with' construct in Python calls the enter and exit methods. The library assumes that, to a point that things only work using with: ...

Hello @jbemmel ,
Thanks a lot for your comment. To be honest, I'm not sure I can follow up. Please, provide the details (e.g., code snippet and what exactly is not working or working not correctly).
Thanks,
Anton

self.__stub is assigned in enter, see https://github.com/akarneliuk/pygnmi/blob/master/pygnmi/client.py#L102
Without 'with', this method is not called, and the code fails because '__stub' is not assigned.
It's the implicit calls to 'enter' and 'exit' that make or break the client code.
For the same reason, the library enforces a pattern of short-lived connections. One cannot connect() to the server at startup, and then keep a gNMI connection open for a long time; the exit call from 'with' closes the connection.
It can be a design choice (I don't particularly like it personally, but that's just me). However, it should be documented - it's not obvious, especially for people who are just getting started with Python

Hello @jbemmel ,
Yeah, you are correct. It was an idea to create it using with ... as ... context manager, as I prefer such construction myself. However, there is nothing about about using connect method. I think, we can add that relatively quickly.
Best,
Anton

Hi Anton, hi jbemmel,
basically jbemmel is right, that pygnmi uses 'with' construct, which has some limitations is you want to use long-lived connections ... however it is also possible to decompose the with method and use enter .
here the code sequence, I am using:
            try:
                host = (self.hostname, self.port)
                if self.path_cert:
                    self.gc = gNMIclient(
                        target=host,
                        debug=True,
                        username=self.username,
                        path_cert=self.path_cert,
                        gnmi_timeout=self.gnmi_timeout,
                        insecure=self.insecure)
                    self.gc.__enter__()
                else:
                    self.gc = gNMIclient(
                        target=host,
                        debug=True,
                        username=self.username,
                        password=self.password,
                        gnmi_timeout=self.gnmi_timeout,
                        insecure=self.insecure)
                    self.gc.__enter__()

and for disconnect:
 def disconnect(self):
    try:
        self.gc.close()
        self.logger.info('del %s', self.gc)
        del self.gc
        self.logger.info('disconnect succeeded')
    except Exception as exc:
        self.logger.error('disconnect error: %s', exc)

works well on my side for integrating pygnmi in an umbrella test tool ....

Hi Stefan,
Yes, you can call the implied 'with' methods of enter and exit
manually, and implement long-lived connections that way.
However, in my opinion that's still very much non-intuitive, and makes too
many assumptions about the implementation (like calling enter without
corresponding exit being ok)
The "__" in the method names intends to mark them as private methods, not
to be called directly (I believe)
I think a better option is to implement connect() and disconnect() - or
close() - in pygnmi, and then have enter and exit call those
methods.
The current code simply replicates the code in enter and connect(),
which is suboptimal - but it basically follows this idea
Regards,
Jeroen
On Sat, Jul 10, 2021 at 5:39 AM Stefan Lieberth @.***>
wrote:

Hi Anton, hi jbemmel,
basically jbemmel is right, that pygnmi uses 'with' construct, which has
some limitations is you want to use long-lived connections ... however it
is also possible to decompose the with method and use enter .
here the code sequence, I am using:
        try:
            host = (self.hostname, self.port)
            if self.path_cert:
                self.gc = gNMIclient(
                    target=host,
                    debug=True,
                    username=self.username,
                    path_cert=self.path_cert,
                    gnmi_timeout=self.gnmi_timeout,
                    insecure=self.insecure)
                self.gc.__enter__()
            else:
                self.gc = gNMIclient(
                    target=host,
                    debug=True,
                    username=self.username,
                    password=self.password,
                    gnmi_timeout=self.gnmi_timeout,
                    insecure=self.insecure)
                self.gc.__enter__()

and for disconnect:
def disconnect(self):
try:
self.gc.close()
self.logger.info('del %s', self.gc)
del self.gc
self.logger.info('disconnect succeeded')
except Exception as exc:
self.logger.error('disconnect error: %s', exc)
works well on my side for integrating pygnmi in an umbrella test tool ....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/akarneliuk/pygnmi/issues/18#issuecomment-877615667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPQAC4EN4OJQVC5ID7HFJLTXAPPBANCNFSM466HAWKQ
.

Hi Jereon,
Basically, I agree with you view that "a better option is to implement
connect() and disconnect() - or close() - in pygnmi, and then have
enter and exit call those methods"  ... however ... for my
application, I found a working solution, using the existing code ...
I leave it to Anton to decide on a change ... from my side I could
contribute to that change for code structuring and testing.
regards Stefan
Am 10.07.21 um 19:21 schrieb J vanBemmel:

Hi Stefan,
Yes, you can call the implied 'with' methods of enter and exit
manually, and implement long-lived connections that way.
However, in my opinion that's still very much non-intuitive, and makes too
many assumptions about the implementation (like calling enter without
corresponding exit being ok)
The "__" in the method names intends to mark them as private methods, not
to be called directly (I believe)
I think a better option is to implement connect() and disconnect() - or
close() - in pygnmi, and then have enter and exit call those
methods.
The current code simply replicates the code in enter and connect(),
which is suboptimal - but it basically follows this idea
Regards,
Jeroen
On Sat, Jul 10, 2021 at 5:39 AM Stefan Lieberth @.***>
wrote:

Hi Anton, hi jbemmel,
basically jbemmel is right, that pygnmi uses 'with' construct, which has
some limitations is you want to use long-lived connections ...
however it
is also possible to decompose the with method and use enter .
here the code sequence, I am using:
try:
host = (self.hostname, self.port)
if self.path_cert:
self.gc = gNMIclient(
target=host,
debug=True,
username=self.username,
path_cert=self.path_cert,
gnmi_timeout=self.gnmi_timeout,
insecure=self.insecure)
self.gc.enter()
else:
self.gc = gNMIclient(
target=host,
debug=True,
username=self.username,
password=self.password,
gnmi_timeout=self.gnmi_timeout,
insecure=self.insecure)
self.gc.enter()
and for disconnect:
def disconnect(self):
try:
self.gc.close()
self.logger.info('del %s', self.gc)
del self.gc
self.logger.info('disconnect succeeded')
except Exception as exc:
self.logger.error('disconnect error: %s', exc)
works well on my side for integrating pygnmi in an umbrella test
tool ....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/akarneliuk/pygnmi/issues/18#issuecomment-877615667,
or unsubscribe

https://github.com/notifications/unsubscribe-auth/AAPQAC4EN4OJQVC5ID7HFJLTXAPPBANCNFSM466HAWKQ

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/akarneliuk/pygnmi/issues/18#issuecomment-877672060,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCRBDFPAMUPJSPKUF5GANLTXB6Q3ANCNFSM466HAWKQ.

Hey @jbemmel , @slieberth ,
I've scrolled over some implementations of different libraries and figured out that return self.*** is quite an often implementation of the __enter__ method. So I think, it would make sense to simplify that we use return self.connect().
@slieberth , if you could do that, that would be just amazing from you.
Thanks,
Anton

Hello folks,
That is now implemented in 0.5.3, so I'm closing the issue.
Best,
Anton


I tried this in 5, 9, 10, 11 versions of Godot.

Hm. You have another frame in your screenshot, not anim1.png one. You should check picture that filtered.

...Already solved this problem. I just deleted animations and made new with already reimported sprites.

So is the problem solved then ?

Hm. You have another frame in your screenshot, not anim1.png one. You should check picture that filtered.

Well, I tried to reimport all sprites. But it looks like in 3.1 you need at start reimport sprites, and only then make animations

So is the problem solved then ?

Yes, solved.

Closing then.


Serious performance issues

@Moosems:

As mentioned previously the CodeView widget can be quite slow and upon further testing there are some serious performance issues to be addressed. The code below makes a very slow CodeView widget after inserting 100 long lines of highlightable chars. To truly understand how slow it goes you must scroll around. Test code used:

from tkinter import Tk, Text, Scrollbar
from chlorophyll import CodeView
import time
time_reg = []
time_CodeView = []
def perform_test(msg, master, text_widget):
    start_time = time.time()
    for i in range(len((current_text := text_widget.get("1.0", "end").splitlines()))):
        for j in range(len(current_text[i])): text_widget.see(f"{i+1}.{j}")
    for i in range(1000): master.geometry(f"{i+1}x{i+1}")
    end_time = time.time()
    print(f"Time taken for {msg} to scroll down and resize: {(total_time := end_time-start_time)}")
    if msg == "Text": time_reg.append(total_time)
    else: time_CodeView.append(total_time)
    master.destroy()

def testRegText():
    root = Tk()
    text = Text(root, wrap="none")
    text.grid(row=0, column=0)
    xscrollbar = Scrollbar(root, orient="horizontal", command=text.xview)
    xscrollbar.grid(row=1, column=0, sticky="ew")
    text.config(xscrollcommand=xscrollbar.set)
    yscrollbar = Scrollbar(root, orient="vertical", command=text.yview)
    yscrollbar.grid(row=0, column=1, sticky="ns")
    text.config(yscrollcommand=yscrollbar.set)
    text.insert("1.0", "| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |\n"*200)
    root.after(1000, lambda: perform_test("Text", root, text))
    root.mainloop()

def testCodeView():
    root = Tk()
    text = CodeView(root, wrap="none")
    text.pack()
    text.insert("1.0", "| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |\n"*200)
    root.after(1000, lambda: perform_test("CodeView", root, text))
    root.mainloop()

testRegText()
testCodeView()
test_count = 5
for i in range(test_count):
    print(f"Test {i+1} of {test_count}")
    testRegText()
    testCodeView()

print("Average time taken for Text to scroll down and resize:", sum(time_reg)/len(time_reg))
print("Average time taken for CodeView to scroll down and resize:", sum(time_CodeView)/len(time_CodeView))

Output:

Time taken for Text to scroll down and resize: 3.411916971206665
Time taken for CodeView to scroll down and resize: 82.07269406318665
Test 1 of 5
Time taken for Text to scroll down and resize: 3.085193157196045
Time taken for CodeView to scroll down and resize: 82.81531071662903
Test 2 of 5
Time taken for Text to scroll down and resize: 3.0634210109710693
Time taken for CodeView to scroll down and resize: 81.8645350933075
Test 3 of 5
Time taken for Text to scroll down and resize: 3.0675089359283447
Time taken for CodeView to scroll down and resize: 82.0897867679596
Test 4 of 5
Time taken for Text to scroll down and resize: 3.0569241046905518
Time taken for CodeView to scroll down and resize: 81.81994986534119
Test 5 of 5
Time taken for Text to scroll down and resize: 3.06306791305542
Time taken for CodeView to scroll down and resize: 81.95325803756714
Average time taken for Text to scroll down and resize: 3.124672015508016
Average time taken for CodeView to scroll down and resize: 82.132455301284794

@rdbende:

Apparently, if you don't have a space between the |-s, they're about the same in time. Hmmm...

@Moosems:

Hmmm

Changing it out with other chars does change speed though. I think that this is something important to look into

Far better results for me:
Time taken for Text to scroll down and resize: 0.5080173015594482
Time taken for CodeView to scroll down and resize: 9.920884847640991
Test 1 of 5
Time taken for Text to scroll down and resize: 0.5013024806976318
Time taken for CodeView to scroll down and resize: 9.0430326461792
Test 2 of 5
Time taken for Text to scroll down and resize: 0.5166349411010742
Time taken for CodeView to scroll down and resize: 8.503015518188477
Test 3 of 5
Time taken for Text to scroll down and resize: 0.4846668243408203
Time taken for CodeView to scroll down and resize: 8.886438608169556
Test 4 of 5
Time taken for Text to scroll down and resize: 0.5025997161865234
Time taken for CodeView to scroll down and resize: 9.270618677139282
Test 5 of 5
Time taken for Text to scroll down and resize: 0.5011169910430908
Time taken for CodeView to scroll down and resize: 8.964476108551025
Average time taken for Text to scroll down and resize: 0.5023897091547648
Average time taken for CodeView to scroll down and resize: 9.098077734311422

I'm particular;y interested in how the changing of chars changes speed. I doubt its anything to do with tabs or graphics but likely more due to OS.

If I set the lexer in CodeView to be TextLexer, then they produce about the same results.
The problem is that chlorophyll highlights every | character as a Python pipe operator, and thus there are 19000 tags produced. The text tags in Tk are very slow.

I'm particularly interested in how the changing of chars changes speed. I doubt it's anything to do with tabs or graphics but likely more due to OS.

It depends on their meaning in the language the CodeView uses. The bar in this case means an operator in the default language (Python) of CodeView

Which is why I also proposed a while back the view only tags

But I'm still not sure whether constantly removing and re-adding the tags doesn't introduce another performance issues.

I think that may be something for me to test and if it doesn't yield any successes then it can be ditched

But I'm still not sure whether constantly removing and re-adding the tags doesn't introduce another performance issues.

Well it would only be one line at a time and even then you can only fit so many tags into one line so unless it's s VERY dense line it should be faster. And if it is very dense, wouldn't it be faster only to highlight those in view? The only issue is if you want to make a peer widget later for a minimap, it wouldn't have the highlighting. It would make sense to only highlight what's in view for it though and you're likely not reading the code from the minimap or checking the highlighting from there and it also makes the viewable area pop out more. @rdbende Would we like to give it a try? If it's slower it can be removed. It might also fix the docstring issue in #10 by getting the tokens for all lines and only highlighting stuff in view.

Yes, we could give it a try, but even though I know, the slowness kinda annoying, this isn't a priority for me right now.

Yeah I get it. I kinda assume that if I'm making anything for chlorophyll or tklinenums that I'm on my own and any help I get is to be greatly appreciative of.

that I'm on my own and any help I get is to be greatly appreciative of.

Yeah, sorry bout that

No no no, don't apologize. You've been super helpful with everything and I'm really glad you've spent time to work with me on this. It means a lot.

Hello, I have modified the highlight area function in codeview.py, making it smaller and improving performance a little. I have tested it in a python file with 1500 lines of code.
def highlight_area(self, start_line: int | None = None, end_line: int | None = None) -> None:
        if start_line is None or end_line is None:
            return

        # Remove all existing syntax tags
        for tag in self.tag_names(index=None):
            if tag.startswith("Token"):
                self.tag_remove(tag, "1.0", "end")

        # Highlight all text again
        self.highlight_all()

Here is the time it took to insert and highlight all the text
Insert time: 0.10043692588806152

I'm not sure why this would be any faster than the existing solution. Your code is basically just a slower wrapper for the highlight_all method, as it removes all relevant tags, and then calls highlight_all which will remove every tag and re-highlight everything.


locate and updatedb

mlocate/locate is not working. I tried running sudo updatedb, which made an mlocate.db, but a normal user gets permission denied.
locate: can not open```/var/lib/mlocate/mlocate.db': Permission denied
Isn't a non-privileged Ubuntu user supposed to be able to use locate? Or maybe the sticky bit isn't working?
I suppose it is moot anyway, since normally locate relies on a cron job to update the database. So maybe locate shouldn't be part of the default "bash on windows" install, unless you get cron working?
I'm stuck at 14328.

{ ~ }  » updatedb                                                                                ~ 127
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

I get this error, on 14342

We are not targeting cron jobs for the Anniversary edition (list of high-pri features here).  Unfortunately this means that locate will have some issues.
To raise visibility, I would suggest voting on cron (and background support in general) over on our User Voice page.  We are looking at that page to help prioritize future releases.

I submitted a feedback for this issue, VOTE up this issue by clicking [here].(https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/14455623-cannot-use-command-locate-on-bash-to-find-dire)

Just to clarify, the original problem cited was not "cron can't run updatedb", but "permission denied" when an unprivileged user went to access a previously-created db. (updatedb can be run by something other than cron). sudo locate works, so the database was created successfully (without cron) and is ready to be used, just not by unprivileged users as it should have been.
In other words, the problem cited has more to do with permissions on unprivileged access than on background jobs, though we all want background jobs too. So please don't dismiss this item as "just another wish for crontab". Rather, classify it as "another case where an unprivileged user is blocked from accessing something that is normally accessible in linux". Whether that is because a sticky bit permission isn't working, or the updatedb command did something odd, or /etc/updatedb.conf needs tweaking on first install, or for an entirely different reason, I didn't investigate closely.
If this is going to be described as "run bash and usermode linux binaries", GNU locate, as one of those binaries, should work. It's just a simple program that accesses a database.

@rodrymbo Thanks for the clarification.  It would be useful to have a series of repro steps that we can follow to investigate what is going wrong with the scenario you describe above.

I don't have it installed at the moment, but if I recall correctly, it was something like (running as an unprivileged user):
sudo updatedb
then
locate updatedb.conf
The result was
locate: can not open/var/lib/mlocate/mlocate.db: Permission denied

This works now (not sure since when). Try sudo updatedb.
You can (should?) also add /mnt to the PRUNEPATHS variable in /etc/updatedb.conf to exclude bash from indexing files outside of the Ubuntu file space.

I can confirm that updating the locate DB by hand as root allows a non-privileged user to use the locate DB later.  16.04.1 on 14986, all updated from Anniversary Update.

On regular linux, updatedb is run as a cron job by root (e.g. mlocate.cron in cron.daily). Most people don't notice that it is there. There probably are not enough changes that it needs to be run daily in WSL, but it could be set up that way.
Updatedb can search the Windows paths (/mnt) as well as the bash environment, depending on how one organizes things and what one searches for. Adding /mnt or sub-paths to PRUNEPATHS can customize things, to be sure, but some of us might find it useful to let it index at least some parts of our Windows paths.
The original problem was that unprivileged users couldn't run locate or mlocate, but it seems that they can now. So I suppose we should close this.

Create a task for
program: bash.exe
arguments: -c "sudo updatedb"
and add
ALL ALL=NOPASSWD: /usr/bin/updatedb*
to /etc/sudoers (still needs sudo for WLS)

running sudo updatedb taking too much time, any ideas?

How long is it taking, and how many small files do you have in Windows?  (Since DrvFs is known to be slow right now, and updatedb will presumably scan those files too unless you've told it not to.)

On Ubuntu18.04/WSL, this error recurred.
$ sudo updatedb
$ locate abc
locate: can not open `/var/lib/mlocate/mlocate.db': Permission denied
I found difference between 18.04 and 16.04 shown below.
<18.04>
$ ls -la /usr/bin/mlocate
-rwxr-sr-x 1 root messagebus 43088 Mar  2 01:07 /usr/bin/mlocate*
<16.04>
$ ls -la /usr/bin/mlocate
-rwxr-sr-x 1 root mlocate 39520 Nov 18  2014 /usr/bin/mlocate*
And my workaround is to change owner of /usr/bin/mlocate.
$ sudo chgrp mlocate /usr/bin/mlocate
$ sudo chmod g+s /usr/bin/mlocate

Same problem, solved in a different way. Rather having a +s on mlocate (which I'm told isn't a good idea), I compared against a Linux machine I had (which was locate/findutils rather than mlocate) and noticed that the .db file was 644 there, and 640 on Ubuntu18.04/WSL.
my workaround was execute this:
sudo chmod 644 /var/lib/mlocate/mlocate.db


Daisy build: Add pre-release tests

Following this PR, the daisy artifacts will be published to the following locations:

Container image:

Every build is tagged with the commit's SHA
If the tests pass, then the release and latest tags are applied to the build

Windows, Linux, and OSX binaries:

If tests pass, upload to gs://compute-image-tools/{latest,release}/{linux,windows,darwin}

This is consistent with the legacy cloud build configuration that used to build daisy.
The following tests are added in this PR:

Run all workflows in compute-daisy/daisy_integration_tests using the daisy test runner.
Run one workflow with the staged container

cc @hopkiw @adjackura

/hold

/unhold


Question: offsetting / seeding noise2D.glsl .

I am using the noise2D.glsl , and it is working nicely ( thank you ) .
Wondering how I can offset (or seed) the noise2D.glsl to make it different every time I generate with it ? . ( The easier the better - just using it to export a still noise image - so not too worried about performance ) .
I was looking at the other thread and did not really figure anything out from it - so figured asking again might not hurt.
Thank you for sharing & taking the time to release this.

Never mind - figured it out . thank you .


PostHog Ad Bank

Created some copy that we can use for ads across our different channels. Needs review to ensure messaging alignment.

@shehuphd happy for me to merge this PR?

@piemets sure


Tests flaky in Appveyor CI

We are seeing flakyness in Appveyor when running the guide tests. Seems consistently this problem:
Installing<EMAIL_ADDRESS>npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\projects\\donejs\\node_modules\\npm\\bin\\npm-cli.js" "install"<EMAIL_ADDRESS>"--loglevel" "error"
npm ERR! node v7.7.2
npm ERR! npm  v3.10.10
npm ERR! error:0906D06C:PEM routines:PEM_read_bio:no start line
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

Though the problem doesn't happen 100% of the time, when it does happen it is the above error.

This could be SSL related. Here's an issue on npm: https://github.com/npm/npm/issues/8803

Also related: https://github.com/npm/npm/issues/10897

We could try adding npm set registry http://registry.npmjs.org/ to the Appveyor config, this will make it use plain http.

This was fixed by https://github.com/donejs/donejs/pull/858/commits/c4f8c5c3d86ca21933f0c522f0ea0a2941e33efb


bs-platform: 6.2.1 -> 7.0.1

Introduce buckeScriptPackages which makes version 6 still available
via buckleScriptPackages.bs-platform-6.
BuckleScript compiler is very picky about versions and performs checks
of versions before compilations therefore it's probably a good idea
to support at least few major versions of compiler.
Additional notes (not part of commit message):

Anouncment of release is few weeks old now.
I'm trying to follow the naming convetions from package sets I'm most familiar with like nodePackages, haskellPackages and elmPackages.
So far I'm thinking about supporting somewhere around 3 last major releases with one default bs-platform which is now the latest.
~Build of 6 and 7 is practically identical - I'm not abstracting this just yet because it might not be future proof.~

Checklist

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@jonringer @FRidh sorry for ping but since you two reviewed the last PR and this has no other reviewers for 2 weeks it would be great if you can review this.

rebased

@GrahamcOfBorg build bs-platform

Seems there is build failure on ARM. I think we might want to restrict this to intel though I'm not sure if bs suppose to support ARM or not.

@GrahamcOfBorg build buckeScriptPackages.bs-platform-6

@yorickvP may I ask you to try to build buckeScriptPackages.bs-platform-6 aarch64? It seems I'm not trusted user. Previous ARM build passed so I would like to confirm that this issue is specific to 7.0.1.

@GrahamcOfBorg build buckeScriptPackages.bs-platform-6

Hey @turboMaCk, thanks for doing this work! It's really exciting to have BuckleScript in nixpkgs in a way that leverages the other packages of the nix ecosystem.
One thing I'm wondering but I'm unsure how to accomplish it is: it would be awesome if we could override the src for the BuckleScript derivation in a way that would cause the OCaml one to be overridden too.
Right now, the way the derivation is written, I don't think it's possible to override BuckleScript and OCaml in tandem.

For the record, and expanding a little on the above, I'm suggesting something like:
stdenv.mkDerivation rec {
  pname = "bs-platform";
  version = "7.0.2-dev.1";

  src = fetchFromGitHub {
    owner = "BuckleScript";
    repo = "bucklescript";
    rev = "f976d41902d88684ae8449bfb2af80bae7d80406";
    sha256 = "16lxpdlrn7dzqdh5srr78fg5yg2g2k8qf8hd2j1wc6bvd4k31a2q";
    fetchSubmodules = true;
  };

  patchPhase =
    let
      ocaml = import ./ocaml.nix {
        bs-version = version;
        version = ocaml-version;
        inherit stdenv;
        # This sees `src` which can be overridden with `overrideAttrs`
        src = "${src}/ocaml";
      };
    in
    "  ...  ";
}

@anmonteiro we can for sure do that. That's being said we still need to do something about aarch64. There is another thing I wonder if we would be able to resolve and that is usage of bs in projects within node_packages https://github.com/turboMaCk/bs-platform.nix#nix-shell

@anmonteiro check the new diff. Now there is an abstraction over the build of BS platform which is reused between 6xx and 7xx version. I originally didin't want to do it because a lot of assumptions about the build has to be made and I feel we might expect there will be some significant changes between current builds and builds for future versions. Anyway in light of making it possible to override the compiler version I think it makes sense to provide this abstraction. It's defined as buckeScriptPackages.lib.buildBsPlatform

@Turbomack thanks! That’s exactly what I suggested, so I’m happy indeed.
Something else I wonder now is if we need to maintain several versions of bs-platform inside nixpkgs. Given the current derivation, folks who want to downgrade / upgrade can probably just override the src, or call buildBsPlatform themselves.

@anmonteiro this PR is actually not removing version 6, it just adds 7.0.1 and makes it default. the default version is accessible as bs-platform attribute, all versions (now 6.2.1 and 7.0.1) are available within buckleScriptPackages.*

Yeah I’m suggesting we don’t maintain several versions.

@anmonteiro sorry I missunderstood your comment for some unexplainable reason, thanks for clarification.
@jonringer I will do that in case there is new PR though fixing aarch is main blocker for this PR and I'm not sure how to proceed with it myself.

Tried to cross-compile this to aarch64 to investigate the build failure but I got nowhere and I probably don't really know what I'm doing.

you could always comment:
  badPlatforms = lib.platforms.aarch; # should be able to work, however, lack hardware necessary to ensure successful build

The intent of marking as bad is just to have the evaluation reflect the build results.

@jonringer I'm not sure what that would accomplish. Are you suggesting (as per your previous comment too) that we should just mark this derivation as not buildable in aarch64?

@jonringer previous version (6.2.1) builds on arch and as far as we can tell this one should build as well so there is either some issue with build definition or in upstream.

@GrahamcOfBorg build bs-platform

Updates

As recommended by @bobzhang we're now using BS' fork of ninja
As it seems difficult to fix and debug aarch build failure it's now blacklisted
After some consideration I've decided to for now just simply update existing bs-platform attribute.

Details
ARM removal
I have no idea why the aarch64 build fails or how to debug it. I've opened issue. The only suggestion so far is that build runs out of memory.
No buckleScriptPackages.bs-platform-6
After giving it a bit more thought I think we should stick to simple variant of supporting of just a single version of bs-platform as part of nixpkgs. Users who need more control can use this project. I believe we need to understand the usecases more before we commit to maintaining more builds in nixpkgs.

I think  I've finally managed to blacklist aarch the right way. In case someone will find it helpful nix-env -qa bs-platform --json -f . was helpful for debugging.

sorry, the correct aarch platform is aarch64:
nix-repl> lib.platforms.aarch64
[ "aarch64-linux" "aarch64-darwin" "aarch64-none" ]

but I think this is fine as aarch64-darwin is something like a tier 3 platform

np... lets do it the right way

based on @anmonteiro 's approval. Merging


diagnostic: prod unsupported OS users to file PRs.

They may not but it's nice to be a bit more explicit.
CC @DomT4

makes sense to me

:+1:


Better handling of Ctrl+C

VXLAN should fail RegisterNetwork call as
outer code does the retrying. This causes
SIGINT to be properly processed.

@MohdAhmad PTAL

LGTM


[LOW] Wrong SS58 prefix used in vault log

Description
The vault logs uses prefix 42 instead of whichever chain it is connected to e.g. 2092 for kintsugi.
Tested against: kintsugi main net, vault is successfully integrated to the network though, so this is logging defect only.
Steps to recreate

Run setup for kintsugi mode and start vault as normal

⚠  Account format used is not for kintsugi

Apr 27 18:29:10 timbo-ubun2 systemd[1]: Started Vault servicing issue and redeem requests for Kintsugi.
Apr 27 18:29:10 timbo-ubun2 vault[7384]: Apr 27 18:29:10.824  INFO vault: Starting Prometheus exporter at http://<IP_ADDRESS>:9615
Apr 27 18:29:10 timbo-ubun2 vault[7384]: Apr 27 18:29:10.824  INFO service: Version: 1.9.6
Apr 27 18:29:10 timbo-ubun2 vault[7384]: Apr 27 18:29:10.824  INFO service: AccountId: 5CFUfGrWKPdTJQ5bM4co11cYijfHXnp96PBtYj3K2dk2KSpd

I think this may have been resolved by this PR, please verify on the latest release.

Verified to be fixed in prod


Fix: Typos corrected in comments and variables

Why is this change needed?
This PR focuses on correcting typographical errors in variable names, comments, and documentation across several files to ensure clarity, accuracy, and a better developer experience.
Key Changes:

Fixed spelling errors in variable names, comments, and logs:

Updated "recieving" to "receiving" in multiple files.
Corrected "recieved" to "received" in log statements.
Fixed typo in "collectionAddres" → "collectionAddress" in premint-client.ts.
Added clear descriptions for the sparkValue function in typedData.ts.

Detailed Summary:

IERC20Z.sol:

Corrected comment typo:

recieving → receiving.

ZoraTimedSaleStrategyMarketTest.t.sol:

Fixed typo in a log statement:

"recieved eth" → "received eth".

typedData.ts:

Added a detailed description for the sparkValue function to explain its purpose and return value.

premint-client.ts:

Fixed typo in a key property:

"collectionAddres" → "collectionAddress".

SponsoredSparksSpender.sol:

Corrected a comment typo:

recieving → receiving.

How has it been tested?

Verified the updates in comments and variable names for accuracy.
Reviewed log statements and documentation for improved clarity and consistency.
Confirmed that no functional changes were introduced during the typo fixes.

What tests did you add/modify to account for these changes?
The changes were tested by manually reviewing the updated files to ensure:

Typographical errors were corrected properly.
No unintended modifications were made.
All updated comments and logs convey the intended information accurately.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New module / feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I added a changeset to account for this change.

Reviewer Checklist:

[x] My review includes a synopsis of the changes and potential issues.
[x] The code style is enforced.
[x] There are no risky / concerning changes / additions to the PR.

Hey @oveddan @iainnash can you check?


Map stuck in zoom mode while rendering marker cluster

Description:

Map freezes in "zoom mode" which seems to occur randomly when using marker clustering inside an Ionic App.
Map becomes unresponsieve except for zooming in and out with one finger.
I've reproduced this issue using both:

MarkerClustererPlus for Google Maps V3 version 2.1.1 [November 4, 2013]
MarkerClustererPlus for Google Maps V3 version 2.1.2 [May 28, 2014]

Occurs only on iPhone device
Can reproduce using google docs API page as well, see below.
Refer to this Stack Overflow post of someone else experiencing same issue

Steps to reproduce:
On an iPhone using safari:

go to https://developers.google.com/maps/documentation/javascript/marker-clustering
Zoom down into a cluster so that it just shows the red markers.
Pinch out and immediately double click where the new marker cluster icon should appear.
The map will be stuck in zoom mode.
Refer to video of demonstration:

Unsuccessful Work arounds

tried disabling double click on map
tried disabling double click on marker cluster

Also getting this problem.

+1

I think the problem is even simpler than described - if you just tap and hold a clustered icon for a few seconds it then causes the problem. It only does this on icons that have the + and not the other ones too. I'm looking into this now, see if I can figure anything out.

The problem is only with marker clusters that have the + icon and the problem occurs when they are forced to reload (by for example moving the map or zooming in/out) and the user clicks and holds the marker before the markers have finished reloading. If you do the same operation but allow the reloading to finish (you see the icons flash briefly) then there is no problem.
In the code the markers with the + get set a overlay div which is then used to style the icon, etc, and I believe the problem is with this div. Does anyone know why it was done as a div and got any ideas why it might be causing a problem? I'm leaning towards rewriting it so it doesn't use a div but might limit functionality.

any news on this problem?

Unfortunately not much.  I'm using this inside an Ionic app and from what I've heard, switching to the Cordova google maps plugin seems to fix the issue.

+1

Getting the same problem on Ionic (v1), happens on Android too.

+1
Did someone find a solution to this problem?

@Yeltarev Ended up disabling the click event on the cluster marker and letting the user double tap the map if they want to zoom in on the area. Kind of defeats the point but at least it keeps things clustered. I can dig out the code if you want.

@dfibuch If you can dig out the code, please do

@dfibuch I tried to set option zoomOnClick: false in MarkerClusterer but it did not help me

@Yeltarev Sorry, was trying to debug stuff. Here it is:
In markerclusterer.js in the method ClusterIcon.prototype.createCss add this line:
style.push("pointer-events: none;");
This should prevent any clicks on the icons.

@dfibuch Unfortunately, this also did not help. In my case, the problem does not arise when clicking on cluster, but when I try to change the zoom using gestures. This does not happen every time, but it does happen.

@Yeltarev Hmmm, in that case I'm out of ideas. This fixed the problem for me and haven't seen it happen again since.

Hi,
anyone find the solution on this issue?

I found that this issue occurs on iOS when the instance of  google.maps.Marker is created with the optimized parameter set to false.
If you are using MarkerWithLabel for V3 this parameter is always set to false and apparently doesn't support optimized rendering.

The latest version of MarkerClustererPlus is 2.1.9, so I recommend using that version and see if there's any difference in behaviour.


Use scipy.interpolate in message_ix.tools.add_year

About 500 of the ~1000 lines in tools.add_year are devoted to two functions, interpolate_1d() and interpolate_2d(), and one utility function, intpol() to do interpolation.
These can likely be slimmed down, and maybe made more performant, by fully using lower-level methods in pandas and scipy, e.g. scipy.interpolate.griddata().

@vruijven @francescolovat as discussed today.

@khaeru thanks for noticing this. Indeed there should be more compact and concise ways of doing this. A small part of the code being long is to cover some corner cases. But in general the process can be made simpler.


Updated display message of cargo metadata --help

Resolved Issue #8928

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

@bors: r+
Thanks!

@bors: r+
Thanks!

:pushpin: Commit 172e7fb084a102d47e50ac0ca3923b5445aa9cad has been approved by alexcrichton

:pushpin: Commit 172e7fb084a102d47e50ac0ca3923b5445aa9cad has been approved by alexcrichton

:hourglass: Testing commit 172e7fb084a102d47e50ac0ca3923b5445aa9cad with merge 6bdf17855c18f425a56c06a7ace19e5cd5b22c92...

:hourglass: Testing commit 172e7fb084a102d47e50ac0ca3923b5445aa9cad with merge 6bdf17855c18f425a56c06a7ace19e5cd5b22c92...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing 6bdf17855c18f425a56c06a7ace19e5cd5b22c92 to master...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing 6bdf17855c18f425a56c06a7ace19e5cd5b22c92 to master...


fix(react): add 'observer', etc. to params-list

Hi,
When using one of observer, observeParents, observeSlideChildren, one will get this error and Swiper will ignore those params and pass them over to the root 'div' resulting in these errors:
(reproducible by adding the params to the demo App.js)
react-dom.development.js:88 Warning: Received `true` for a non-boolean attribute `observer`.

If you want to write it to the DOM, pass a string instead: observer="true" or observer={value.toString()}.
    in div (created by Swiper)
react-dom.development.js:88 Warning: React does not recognize the `observeParents` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `observeparents` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
    in div (created by Swiper)
react-dom.development.js:88 Warning: React does not recognize the `observeSlideChildren` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `observeslidechildren` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
    in div (created by Swiper)

(there isn't any existing issue)
This was rendering the Mutation Observer completely unavailable in React as far as I can see.

Merged, thanks!


raises matcher not in latest version

I believe the raises matcher (mentioned in the README) isn't included in version 1.6 (ie the latest version available in pypi). Would it be possible to push a new release?

I've just released 0.1.7 which should have the raises matcher.


Fix infinite loop problem

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[ ] ✨ Feature
[x] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
Fixing the bug noticed during the weekly demo
Related Tickets & Documents
N/A
Added to documentation?

[ ] 📜 readme
[x] 🙅 no documentation needed

[optional] What gif best describes this PR or how it makes you feel?

I’m going to go ahead and merge so I can get this running for an experiment


docs: Fix link for Bundle Size link in English locale

Summary
Even for the English locale, the link points to the Chinese documentation. This fixes the link back.
Checklist

[x] Tests updated (or not required).
[x] Documentation updated (or not required).

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


communication release

https://github.com/Azure/sdk-release-request/issues/3933

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-communication


Integrate Seata and ShardingSphere

ShardingSphere is an open-source ecosystem consisted of a set of distributed database middleware solutions, including 2 independent products, Sharding-JDBC, Sharding-Proxy.
They all provide functions of data sharding, distributed transaction and database orchestration, applicable in a variety of situations such as Java isomorphism, heterogeneous language and cloud native.
ShardingSphere are very glad to integrate Seata as a kind of distributed transaction implementation.
It has already create issue to discuss more details, we can discuss how to integration them better.

Lock forward to it.

Great work!!!Look forward

hi, all
we have implemented SeataATShardingTransactionManager in this way.

you can get more details from our example.
During integration, I have found some issues that need to be done in seata side.

binding xid when creating ConnectionProxy
this can avoid to passing thread local context in multi-threads scenario.
for shardingsphere, we also create connection & statement in main thread, execute statement in   multi-thread.
reset initialized flag  & instance when destroy RpcClient.
batch remove undo_log SQL is wrong
it have been resolved in develop branch.
consider about adding a SPI for SQL-Recovery to avoid parsing SQL twice between Seata and ShardingSphere.

I prefer to contribute PRs that.

integrate seata and shardingsphere seems just need to config datasource wrapper by io.seata.rm.datasource.DataSourceProxy in sharding's config file, and it's flexible to change Distributed Transaction Framework

@wuzunqian ShardingSphere have provided transaction api for integrating other transaction, transaction type can changed dynamically in runtime, also you can config DataSourceProxy directly in your application.

I am interested in this issue. What it the status of it?

This issue is finished, and ShardingSphere has already provide a example. Please try to use in your application if somebody interested.
FYI: https://github.com/apache/incubator-shardingsphere-example/tree/dev/sharding-jdbc-example/transaction-example/transaction-base-seata-raw-jdbc-example
I will close this issue if test enough.

Once https://github.com/apache/shardingsphere/pull/32095 is merged, the Seata AT mode integration failure between multiple ShardingSphere JDBC DataSources in multiple microservices should be resolved, but the integration test for the corresponding PR is temporarily outside the master branch. I think the integration test needs to wait for https://github.com/apache/incubator-seata/issues/6614 to be resolved.


Add support for refinerycms-core 4.0

Note: Specs will not fail after the release of refinerycms-settings for 4.0

@parndt it's ready to be merged and released

@bricesanchez @parndt Hey guys, just wondering if there's a reason why this was never released?

I think @parndt forgot to release it :D

🤦♂


Changing status of workitem in Planner from Open to Closed raises error - TypeError: Cannot read property 'type' of undefined

Seeing this on work items - regardless of whether they are associated with an iteration or not:

NavigationError {id: 73, url: "/ldimaggi%252540redhat.com/april27test001/plan?ite…tion%20-%20Parent%20of%20all%20other%20iterations", error: TypeError: Cannot read property 'type' of undefined
    at ContextService.buildContext (https://prod…}
main.3803d41….bundle.js:1 Typeahead Dropdown values changed.
main.3803d41….bundle.js:1 Typeahead Dropdown values changed.
main.3803d41….bundle.js:1 Typeahead Dropdown values changed.
main.3803d41….bundle.js:1 Typeahead Dropdown values changed.
patternfly.css:2 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'type' of undefined
TypeError: Cannot read property 'type' of undefined
    at ContextService.buildContext (main.3803d41….bundle.js:1)
    at MapSubscriber.project (main.3803d41….bundle.js:1)
    at MapSubscriber._next (patternfly.css:2)
    at MapSubscriber.Subscriber.next (patternfly.css:2)
    at SwitchMapSubscriber.notifyNext (patternfly.css:2)
    at InnerSubscriber._next (patternfly.css:2)
    at InnerSubscriber.Subscriber.next (patternfly.css:2)
    at CatchSubscriber.OuterSubscriber.notifyNext (patternfly.css:2)
    at InnerSubscriber._next (patternfly.css:2)
    at InnerSubscriber.Subscriber.next (patternfly.css:2)
    at Object.subscribeToResult (patternfly.css:2)
    at CatchSubscriber.error (patternfly.css:2)
    at MapSubscriber.Subscriber._error (patternfly.css:2)
    at MapSubscriber.Subscriber.error (patternfly.css:2)
    at CatchSubscriber.OuterSubscriber.notifyError (patternfly.css:2)
    at ContextService.buildContext (main.3803d41….bundle.js:1)
    at MapSubscriber.project (main.3803d41….bundle.js:1)
    at MapSubscriber._next (patternfly.css:2)
    at MapSubscriber.Subscriber.next (patternfly.css:2)
    at SwitchMapSubscriber.notifyNext (patternfly.css:2)
    at InnerSubscriber._next (patternfly.css:2)
    at InnerSubscriber.Subscriber.next (patternfly.css:2)
    at CatchSubscriber.OuterSubscriber.notifyNext (patternfly.css:2)
    at InnerSubscriber._next (patternfly.css:2)
    at InnerSubscriber.Subscriber.next (patternfly.css:2)
    at Object.subscribeToResult (patternfly.css:2)
    at CatchSubscriber.error (patternfly.css:2)
    at MapSubscriber.Subscriber._error (patternfly.css:2)
    at MapSubscriber.Subscriber.error (patternfly.css:2)
    at CatchSubscriber.OuterSubscriber.notifyError (patternfly.css:2)
    at resolvePromise (polyfills.f49acb8….bundle.js:1) [angular]
    at resolvePromise (polyfills.f49acb8….bundle.js:1) [angular]
    at /_assets/lib/polyfills.f49acb8aeb061f0c40eb.bundle.js:1:56091 [angular]
    at Object.onInvokeTask (patternfly.css:2) [angular]
    at ZoneDelegate.invokeTask (polyfills.f49acb8….bundle.js:1) [angular]
    at Zone.runTask (polyfills.f49acb8….bundle.js:1) [<root> => angular]
    at drainMicroTaskQueue (polyfills.f49acb8….bundle.js:1) [<root>]
    at XMLHttpRequest.ZoneTask.invoke (polyfills.f49acb8….bundle.js:1) [<root>]

@ldimaggi I can not reproduce that on prod-preview. I played around with it, put items in various iterations, the started iteration etc, but never got that error when changing states. Can you elaborate on what you did?

Closing as non reproducible.


Modal-view-component

Description
Created Modal View Component ,Modal will shown up when we hover over an element that is attached with Modal.
Fixes # (issue)
#42
How to test?
To test it please run "npm run storybook" and hover over a small box having text "hover over here".
Checklist

[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 ] This PR is ready to be merged and not breaking any other functionality

Looks good @qamarfj.


Determine the type from error message.

I get the erros
"could not find to_json() method in T's namespace"
"could not find from_json() method in T's namespace"
but I do not know for which type the methods are not found. How do I get this information?

I assume you're using Visual Studio, which doesn't show a stack trace after the static_assert. I have to add that for 3.0.
Meanwhile you can modify json.hpp yourself:

// Somewhere in nlohmann::detail
struct from_json_fn {
static void call(T arg) {
  arg.show_me_the_type();
}
};

Do the same inside to_json_fn and that should help you to debug.

Hi. Yes i use Visual studio. Ok thanks for the information.
Do I have to add this
static void call(T arg) {
arg.show_me_the_type();
}
inside "struct from_json_fn"
or just the arg.show_me_the_type(); to the existing call?

Sorry I was on my phone, so hard to be explicit. You have to add it to the existing call, the one with the static_assert.

Sorry.
this one:
    template<typename BasicJsonType, typename T>
    void call(const BasicJsonType&, T&, priority_tag<0>) const noexcept
    {
        static_assert(sizeof(BasicJsonType) == 0,
                      "could not find from_json() method in T's namespace");
    }

where to find the arg?

You have to add it:
void call(const BasicJsonType&, T& arg, priority_tag<0>) const noexcept

Oh... I missed this :-)
ok.. now I get an error, 'show_me_the_type' is not a member of 'MyTpeToSerialize'.
Is this the trick?

Yes it is. I have this in my TODO list, it will be done in 3.0 by default.

Hm ok.  But I do not understand why arg.show_me_the_type(); is only called if the static_assert is false.

In fact, this call overload is only called if you forgot to add a from/to_json method.
That's why the static_assert in this overload does a sizeof(T) == 0 check, that will always fail, this can be seen as the "failure" overload.

Ok. Thanks for the Explanation.

@theodelrieu Thanks a lot for taking care of this issue!


Fix go vet error

Not sure why CI passed this:
https://ci.keyba.se/job/kbfs/job/PR-1562/2/execution/node/123/log/
@jzila any ideas? Are we running an old go version on CI?

jzila says we're running 1.9.2 on CI; we're running vet with macOS only, and it seems the problem is only with macOS. But go 1.10.2 on macOS seems to work fine, so maybe we'll just wait for that update.


altering all map component directives to be in namespace ac

as per #3

Awesome! This is very important..  Thanks!


POST /v2/auth returned a different owner address than it was signed with.

As reported by iOS logging feature, on May 31st, there was 1 auth request that was registering wrong owner.
Please check the signature recovery.
Expected response
"(extension in MultisigWalletImplementations):MultisigWalletDomainModel.AuthRequest.AuthResponseItem(owner: "0x55b22Fe5CdBaD9da61a46792cb8F8B68710f719A", pushToken: "e2BXHhyMb2o:APA91bFRH-NJUNLGHL6Vm29FoZ_EDpgZu0bdHrmJMFFjEqMsdyN3dy02GeFiENghXtVh4H5wSg7YU5jFIe11_TXYJUY6shZ7Z-W7B6NXIcS2quuCVSG_tLTljFBVfdRQoaYheZshpHQ0", client: "ios", buildNumber: 2, versionName: "1.2.0", bundle: "io.gnosis.safe")"

Actual response
"(extension in MultisigWalletImplementations):MultisigWalletDomainModel.AuthRequest.AuthResponseItem(owner: "0xbA37cB8ddf1FeAaf0859687A3671d5500B7cA74F", pushToken: "e2BXHhyMb2o:APA91bFRH-NJUNLGHL6Vm29FoZ_EDpgZu0bdHrmJMFFjEqMsdyN3dy02GeFiENghXtVh4H5wSg7YU5jFIe11_TXYJUY6shZ7Z-W7B6NXIcS2quuCVSG_tLTljFBVfdRQoaYheZshpHQ0", client: "ios", buildNumber: 2, versionName: "1.2.0", bundle: "io.gnosis.safe")"

Basically, the device owner address is 0x55b22Fe5CdBaD9da61a46792cb8F8B68710f719A, but it was registered on the backend with 0xbA37cB8ddf1FeAaf0859687A3671d5500B7cA74F. The consequence is that device won't get notifications if the registered address is not the owner of the safe.
Reference:
https://fabric.io/gnosis/ios/apps/io.gnosis.safe/issues/5cef3621f8b88c296343f6cd?utm_medium=service_hooks-github&utm_source=issue_impact

This is related with the notification service, but talking to Dima it seems it might be a bug in the app. If it happens again we will reopen the issue.


Footer Enhancement: A new design for footer

The footer is not that eye-catching. I want to enhance the footer design like this👇🏻.

Kindly assign this to me under GSSOC'23 contributor

i want to make a designer footer.


Add EventMouseLeave

This event should fire when mouse goes outside the window boundary

[ ] Windows
[ ] X11
[ ] macOS

See https://github.com/HumbleUI/JWM/issues/227 and https://github.com/HumbleUI/HumbleUI/issues/27 for context

I can try to help with the windows part of the issue, just got it to compile.

Ok, I implemented it for windows and could push a branch for pull request if you permit

I'll take this for Mac and X11