Added cloudshell button

Added a 'open in cloudshell' feature into the Readme

This PR can probably be closed without merging since the Cloudshell buttons are already in the separate project folders
gke-to-gke-peering/README.md and gke-to-gke-vpn/README.md


Contribution for an example

Hey,
Since there is no contact info on your profile. I wanted to share a project we built at a hackathon last month using your model.
Thank you very much for uploading the source code. It was a huge help!
Best,
Shahzeb

Hey @s3afroze that's really good to hear. I would really like to know more about your project. You can attach a link here or connect with me on LinkedIn

I am sorry for missing the comment. I have sent you a request on LinkedIn.
Here is a video of the working product:
video_link
Again thank you for writing back : )

Great..!!!


Redefine the default activity request code for using switch statement.

Redefine the default activity request code for using switch statement.
Add a construct function to set customized activity request code.

@tingbob Thanks for the pull request - I'll take a look when I have time.


has_one with NOT NULL column fails on save

So I have two tables, User and UserProfile.
UserProfile has a user_id with null: fase
When creating my user, it fails because user_id is NULL.
This is my code for create in my user controller
...
def create
    user = User.new
    user.build_profile
    @form = UserForm.new(user)

    if @form.validate(params[:user])
      @form.save # ERROR
...

I think the profile is saved before the user so it still has no id.
I have changed the code to this as a workaround (or maybe this is the right way)
...
def create
    user = User.new
    user.build_profile
    @form = UserForm.new(user)

    if @form.validate(params[:user])
      @form.save do |nested|
        user.profile.assign_attributes(nested[:profile])

        user.save!
      end
...

Is this a bug?

Not a bug, but not really Reform's issue since Reform is a form object and not a AR abstraction. This kind of fine-tuning will go into disposable.
Why don't you just do
@form.sync # writes attributes to models
@form.model.user.save
@form.model.save # or whatever order you need.

BTW, your controller looks like you want to give Trailblazer a go!


New Feature for CommandExecute : log the @Execute into CommandLog

Hello
I propose to add a column [Executed] char(1) to the CommandLog table.
This column can then capture if the statement was executed or not, from @Execute variable.
In order to do this a small code change is needed in SP CommandExecute , at line 130 (  IF @LogToTable = 'Y') , add the variable as insert to the CommandLog table.
Many thanks for sharing your great work.
Best Regards
Filip

This is a good idea. Thank you. For now you can look at the data in the CommandLog table like this:
SELECT *
FROM dbo.CommandLog
WHERE EndTime IS NULL -- The command is currently executing or was aborted

SELECT *
FROM dbo.CommandLog
WHERE EndTime IS NOT NULL AND ErrorNumber = 0 -- The command was executed successfully

SELECT *
FROM dbo.CommandLog
WHERE EndTime IS NOT NULL AND ErrorNumber <> 0 -- The command failed

SELECT *
FROM dbo.CommandLog
WHERE EndTime IS NOT NULL AND ErrorNumber IS NULL -- The command was not executed

Ola,
Does ErrorMessage and ErrorNumber columns ever update with actual error msg and number at failures? Error Number is NULL for failed ones but i don't see Error Message - it is always NULL
--// Source:  https://ola.hallengren.com                                                        //--
--// License: https://ola.hallengren.com/license.html                                           //--
--// GitHub:  https://github.com/olahallengren/sql-server-maintenance-solution                  //--
--// Version: 2019-02-10 10:40:47                                                               //--
The error message is logged in the Output file:  For Example
Could not allocate space for object 'sys.sysobjvalues'.'clst' in database '' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup,
Ideally I would like to see a brief error message in the CommandLog but apparently it is not. Is that intended functionality?
Thank You

@CubsRep, could you create a new issue for this?

There is a one open issue already in the backlog #141.. This servers same purpose.

That is actually a different issue (in that case the error is not being logged to the CommandLog at all). I will explain the issue that you are seeing, but it is more easy if you could create a new issue.

Opened new issue #222
Thanks for your time

I'm actually finding this is NOT true.  Those queues don't give you any results for a queue in  the Dec 3, 2022 version.
Example:
EXECUTE dbo.IndexOptimize @Databases = 'ALL_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@LogToTable = 'Y',
@Execute = 'N';
I've change line 285
IF @LogToTable = 'Y'
BEGIN
UPDATE dbo.CommandLog
SET EndTime = @EndTime,
ErrorNumber = CASE WHEN @Execute = 'N' THEN NULL ELSE @Error END,
ErrorMessage = @ErrorMessageOriginal
WHERE ID = @ID
END
to
IF @LogToTable = 'Y'
BEGIN
UPDATE dbo.CommandLog
SET EndTime = @EndTime,
ErrorNumber = CASE WHEN @Execute = 'N' THEN NULL ELSE @Error END,
ErrorMessage = @ErrorMessageOriginal
WHERE ID = @ID
END
I think even though nothing is actually executing the EndTime is being populate and it shouldn't when it come across as @Mode = 2 AND @Execute = 'N'
This testing this solution further


use an external tool like ripgrep to search for tags

Searching for tags is very slow on my system which should actually perform very well. Adding additional exclude glob patterns does not seem to work #69 .
using a tool like ripgrep should significantly increase the performance. It does exclude files and (I guess) some caching.
searching the entire project for a tag like TODO took a <1s while CommentAnchors takes around 15-20s

The performance of workspace anchors has always been disappointing, and is definitely ripe for some improvements. I do plan to resolve these issues when I return to this project in the not too distant future.


add QueryApi context object information

Also, I see that there are two dead links. You can see them under the details of the failing check. They're not on pages we wrote, I think. But we probably want to at least reach out to whoever added it to let them know. Maybe we can update them ourselves if they send us the updated links?

Resolves https://github.com/near/queryapi/issues/233

Also, I see that there are two dead links. You can see them under the details of the failing check. They're not on pages we wrote, I think. But we probably want to at least reach out to whoever added it to let them know. Maybe we can update them ourselves if they send us the updated links?

Since the links are not from this PR, I think we can make another PR to review and fix broken links. I think this shouldn't be a blocker to release this useful queryApi article.


fix: add back view for report reload error

SUMMARY
This pr fixes an issue when the user reloads the reports page and it returns an 404. Issue was because the reports view was mistakenly removed during the 2.0 code migration.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
before
https://user-images.githubusercontent.com/17326228/161628153-cb07023a-7e22-4655-a8e4-f09abe4cbdd0.mov
after
https://user-images.githubusercontent.com/17326228/161638621-d9b011ed-278e-4215-9161-0cfc9a32decb.mov
TESTING INSTRUCTIONS
Go to reports list view and reload the page. Page should not error in 404.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

🏷 preset:2022.13


Added tox support for local testing

This PR adds support for tox to easily test against different python environments easily.
Ref: https://github.com/taskiq-python/taskiq/pull/164#issuecomment-1628952765

Codecov Report

Merging #166 (2b43240) into develop (e66f3aa) will increase coverage by 0.20%.
The diff coverage is 70.76%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #166      +/-   ##
===========================================
+ Coverage    67.62%   67.82%   +0.20%
===========================================
  Files           37       45       +8
  Lines          942     1380     +438
===========================================
+ Hits           637      936     +299
- Misses         305      444     +139

Impacted Files
Coverage Δ

taskiq/abc/middleware.py
100.00% <ø> (ø)

taskiq/abc/result_backend.py
100.00% <ø> (ø)

taskiq/cli/scheduler/run.py
0.00% <0.00%> (ø)

taskiq/cli/watcher.py
0.00% <ø> (ø)

taskiq/cli/worker/log_collector.py
100.00% <ø> (ø)

taskiq/cli/worker/process_manager.py
0.00% <0.00%> (ø)

taskiq/cli/worker/run.py
0.00% <0.00%> (ø)

taskiq/events.py
100.00% <ø> (ø)

taskiq/result/v1.py
0.00% <0.00%> (ø)

taskiq/result_backends/dummy.py
100.00% <ø> (ø)

... and 26 more

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Nuclio functions in cvat network

Motivation and context

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have created a changelog fragment
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

Summary by CodeRabbit
Release Notes

Bug Fixes

Improved error handling to provide clearer and more informative error messages when HTTP errors occur.

Configuration Updates

Enhanced environment variable management for the cvat_server and cvat_grafana services, including new settings for better service initialization.
Updated deployment scripts to reflect new naming conventions for Redis-related environment variables and added platform configuration options for more control during deployment.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 73.92%. Comparing base (d86c816) to head (251f917).
Report is 2 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #8777      +/-   ##
===========================================
- Coverage    73.92%   73.92%   -0.01%
===========================================
  Files          409      409
  Lines        43942    43944       +2
  Branches      3985     3985
===========================================
+ Hits         32483    32484       +1
- Misses       11459    11460       +1

Components
Coverage Δ

cvat-ui
78.34% <ø> (-0.01%)
:arrow_down:

cvat-server
70.13% <ø> (+<0.01%)
:arrow_up:


cli: merge together all jest configs that are found in package.jsons

Bit of an experiment to support simpler config in monorepos. This allows the root package.json in a monorepo to define jest config that is shared by all packages.
It forces test files to be named .test.*, as jest by default also allows .spec.* and __tests__/*, which we don't use.

@freben Actually not needed at all, just felt it was good to be explicit about it as it is already the only thing we support here: https://github.com/spotify/backstage/blob/6d8d75baaed9644a6cf552f63b766064979f3836/packages/cli/config/eslint.js#L86
Jest is built with a lot of backwards compatibility in mind, and I don't think it hurts too much to be a bit opinionated to keep codebases more familiar.


Update TypeScript target to es2018 to fix build error

Set TypeScript target to es2018 in tsconfig.json to ensure compatibility with newer JavaScript features.
The ajv and ajv-keywords packages were addedt to resolve dependency issues related to JSON schema validation.

My node version wasn't correct, once I fixed that no changes are needed.


Use nostd::enable_if_t instead of std::enable_if_t (#2648)

Fixes # (issue)
Changes
Please provide a brief description of the changes here.
For significant contributions please make sure you have completed the following items:

[ ] CHANGELOG.md updated for non-trivial changes
[ ] Unit tests have been added
[ ] Changes in public API reviewed

merge


feat: add a drawing_page function in utils & demo

This PR adds a drawing function in utils/visualization.py, which is called in the demo (samples below).
Any feedback is welcome!
Example of draw_page:

Demo1:

Demo2:

Demo3:

For the font size, it is very hard to find a global rule because for dense texts it is hard to avoid overlapping between words. I can easily augment the font size but it will be hard to separate words for dense blocks.

For the display, I agree but I think displaying the four pics in the same row would be unreadable, do you have any suggestion ?

This is the rendering after refactoring the writing process (fixed-size font):


Enhancement: Could you please consider round robin connection

In case of we have  database replica so that we can round robin connection over many database instance

For me to understand further, can you provide more context on what you would like to attain?

Do you use the embedded repositories (ie: BaseRepository or DbRepository) and would like the library manage that, or do you use your own repository and manage your own connection? The latter part will definitely not a responsibility of the library.
The library is connection driven and it must be the client's responsibility to manage the connection. Any logic on top is not ideal for a framework like this (maybe?), due to the fact that it will abstract some functionalities that will work in your case (but not on the others).
Or, Please add more context to this request.

Let say if  i have 1 master database for write and 3 read only databases.
How can i use DbRepository to connect to all read only database.
 No, this is not a part of the framework. We will not make DB Connection buffering to manage this (or maybe it is something that we can improve moving forward).
One more comment, do you have a diversion layer that manage this automatically for you in between your application and your databases? Something like a request router based on the availability of the databases?

A very specialized scenario :). No, this is not a part of the framework. We will not make DB Connection buffering to manage this (or maybe it is something that we can improve moving forward).
One more comment, do you have a diversion layer that manage this automatically for you in between your application and your databases? Something like a request router based on the availability of the databases?

No. I don't. Last time i was talked to devops team about  new technology like service mesh but the issue is we will lose the benefit from database connection pool .
My idea is instead of passing connection string we should passing new class like IDatabaseResourceManager that will manage the  list of connection string
What do you think?

BTW Let me play around with your very nice lib maybe i will create new PR

Just remember that this library needs to isolate itself from specific use cases like this. I would humbly say that your use case is an additional layer of abstraction to manage such scenario.
IMHO, imagine you have a list of ConnectionStrings and you call the Query method, but suddenly you would like the Query method to query the DB2 instead of DB1. Such call must be abstracted by 2 open-pooled connection as the feature of identifying which DB to connect to is not an ORM specific use-case :)

BTW Let me play around with your very nice lib maybe i will create new PR

Try to see if you can optimize both DbRepository and BaseRepository. There is a possible change. Make sure to run the Regression Tests from time-to-time to slowly guide you while doing the passing changes. Looking forward on it :)


Browse remote

Just thinking ... would it be good to jump to the repositories' remotes directly from RepoZ/grr/grrui?
Like "Browse remote" on RepoZ and the browser opens up navigating to https://github.com/awaescher/RepoZ.
Could be a command in grr, too: grr br RepoZ:
🤔

Version 5.4 was just released 🥳


Fields of h264_reader::nal::slice::SliceHeader are not pub

Hi there!
Is there any reason for most of the fields of the SliceHeader struct being private?

No particular reason for the fields to be private - I wrote the code without actually making use of it in my own projects yet.  Happy to take a PR adding pub to the fields you need.


Try proposal process

We need to figure out gov modules. It would be helpful to try sending proposal, voting and updating in devnet or testnet.
It's crucial to apply upgrades or consensus changes.
Reference: https://www.mintscan.io/cosmos/proposals
cc. @devmasme @0114kek

Thanks, I also succeed proposing and voting using cli. I found some reference for proposing&voting with js
https://cosmos.github.io/cosmjs/latest/stargate/interfaces/GovExtension.html
https://github.com/cosmos/cosmjs/issues/1205


configurable price chenged issue #7216

Issue Reference
#7216

@amit-webkul,
Please check.

@rachana-webkul
It is working fine. Here


path change of server.js file and version change of node.js

i was getting error of not finding module "../lib/cli/parse-server" so i changed and version of node.js too. is this change good as the error of not finding parse-server directory is now resolved but some other is coming.
2016-03-27T11:08:28.713489+00:00 heroku[web.1]: State changed from crashed to starting
2016-03-27T11:08:31.128931+00:00 heroku[web.1]: Starting process with command npm start
2016-03-27T11:08:33.274643+00:00 app[web.1]:
2016-03-27T11:08:33.274664+00:00 app[web.1]: ><EMAIL_ADDRESS>start /app
2016-03-27T11:08:33.274666+00:00 app[web.1]: > node ./bin/parse-server
2016-03-27T11:08:33.274666+00:00 app[web.1]:
2016-03-27T11:08:33.356144+00:00 app[web.1]: /app/src/cli/parse-server.js:1
2016-03-27T11:08:33.356175+00:00 app[web.1]: (function (exports, require, module, __filename, __dirname) { import path from 'path';
2016-03-27T11:08:33.356189+00:00 app[web.1]:                                                               ^^^^^^
2016-03-27T11:08:33.362987+00:00 app[web.1]:
2016-03-27T11:08:33.371787+00:00 app[web.1]: npm ERR! Linux 3.13.0-79-generic
2016-03-27T11:08:33.373981+00:00 app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed.
2016-03-27T11:08:33.374166+00:00 app[web.1]: npm ERR! If you do, this is most likely a problem with the parse-server package,
2016-03-27T11:08:33.374318+00:00 app[web.1]: npm ERR! not with npm itself.
2016-03-27T11:08:33.374467+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2016-03-27T11:08:33.374615+00:00 app[web.1]: npm ERR!     node ./bin/parse-server
2016-03-27T11:08:33.374762+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-03-27T11:08:33.380105+00:00 app[web.1]:
2016-03-27T11:08:33.380347+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-03-27T11:08:34.119687+00:00 heroku[web.1]: Process exited with status 1
2016-03-27T11:08:34.131823+00:00 heroku[web.1]: State changed from starting to crashed
2016-03-27T11:08:33.374615+00:00 app[web.1]: npm ERR!     node ./bin/parse-server
2016-03-27T11:08:33.374762+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-03-27T11:08:33.374918+00:00 app[web.1]: npm ERR!     npm bugs parse-server
2016-03-27T11:08:33.375085+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
2016-03-27T11:08:33.375245+00:00 app[web.1]: npm ERR!     npm owner ls parse-server
2016-03-27T11:08:33.375415+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2016-03-27T11:08:33.380105+00:00 app[web.1]:
2016-03-27T11:08:33.380347+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-03-27T11:08:33.380485+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2016-03-27T11:08:34.131823+00:00 heroku[web.1]: State changed from starting to crashed

Current coverage is 93.02%

Merging #1214 into master will increase coverage by +0.02% as of d0e1836

@@            master   #1214   diff @@
======================================
  Files           83      83
  Stmts         5287    5287
  Branches       967     967
  Methods          0       0
======================================
+ Hit           4917    4918     +1
  Partial         10      10
+ Missed         360     359     -1

Review entire Coverage Diff as of d0e1836

Powered by Codecov. Updated on successful CI builds.

You improperly build/use parse-server follow the instructions


The generated 'operator==' of a struct with an 'IReference' member is sensitive to inclusion/include order

E.g. consider the following:
namespace Component
{
    struct Test
    {
        IReference<Int32> member;
    };
}

Then the generated file winrt/impl/Component.2.h will include an operator== definition that looks something like:
    inline bool operator==(Test const& left, Test const& right) noexcept
    {
        return left.member == right.member;
    }

It seems that the intended functionality is that the above uses the operator== defined for IReference<T>:
    template <typename T>
    bool operator==(IReference<T> const& left, IReference<T> const& right)
    {
        if (get_abi(left) == get_abi(right))
        {
            return true;
        }

        if (!left || !right)
        {
            return false;
        }

        return left.Value() == right.Value();
    }

This works fine, however the issue lies in the fact that the above operator== for IReference<T> is defined in winrt/Windows.Foundation.h. This file is included by neither winrt/Component.h nor winrt/impl/Component.2.h. Both - curiously enough - include winrt/impl/Windows.Foundation.2.h, however the desired function definition is not present in this file.
The end result is that winrt/Windows.Foundation.h must be explicitly included before winrt/Component.h for it to work properly.

Good catch!


Double With

in combination with with other indicators

Hello @bruun365, to which article(s) does your feedback apply? This will help us route it to the correct team/writer. Thanks!

@mypil fixed. See https://github.com/MicrosoftDocs/microsoft-365-docs-pr/pull/2507. I did a global search in repo to find this error.

@markjjo - Thanks for your help to resolve this issue.
@bruun365 - Thank you for submitting feedback. Issue has been fixed.


Create Interstellar-Network.md

Project Abstract
Interstellar is a novel non-custodial peace of mind mobile wallet with a hardware security level. Based on a Substrate blockchain and SubstraTEE/IntegriTEE workers.
We can now provide the same hardware security level as hardware wallets with only a mobile and a blockchain.
For which grant level are you applying?

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $50,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[x] A BTC or Ethereum (DAI/USDT) address for the payment of the milestones is provided inside the application.
[x] I have read and acknowledged the terms and conditions.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted.

 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.

Thank you for your application, @nashjl! We will look into it as soon as possible.

That sounds like an interesting project. I just shared your application internally. But I already have two questions: What are potential attack vectors of your solution? For example what happens if TEEs are exploited? Do you already have any mock-ups or designs for your wallet?

Hi David, thanks for your message.
Potential attack vectors of the solution are mainly banking trojans with overlays capabilities on a rooted device.  You can check this medium article: Are Cryptocurrency Wallets more at risk than ever?
To address potential exploit/flaws in TEE and especially in Trusted User Interface but also because TUI i.e., Hardware Protected Confirmation is not yet available on all devices:
We have designed a transaction validation screen, based on One-Time Garbled Circuit that ensure computation privacy and displays Visual Cryptography share/ frame that is screenshot proof. More importantly this scheme makes the design of a fake UI overly complex and costly for an attacker. So, the scheme can address current state of the art banking trojan threat but not yet a targeted attack. More details in Project overview.
To address the later threat, we are working on a malware detection scheme also based on garbled circuit, but this still is an ongoing research effort.
Mock-ups of the wallet are available on our website   Interstellar and in the Detailed Documentation in the Detailed Project Overview.

That sounds like an interesting project. I just shared your application internally. But I already have two questions: What are potential attack vectors of your solution? For example what happens if TEEs are exploited? Do you already have any mock-ups or designs for your wallet?

Hi @nashjl,
Thanks for your application! This is potentially very interesting.
I want to try out your garbled circuit implementation to assess whether this is a viable stepping stone towards a later integration of TUI (and perhaps mitigation of any security holes it will inevitably exhibit).
Can you share a link? I couldn't find any here.
I tried https://cseweb.ucsd.edu/groups/justgarble/, but its Makefile is severely outdated / underspecified, and I eventually realized it's pointless to get it working if you already have a running version with significant changes catering for the use case described here.

Hi Robert, thanks for your message and interest.
The JustGarble modified version is intricately linked with the rest of our core code in the whole pipeline. This Garble circuit generation part was not meant to be used independently with a cli (e.g., using user-specified file as input) due to the performance optimizations we developed. Consequently, we cannot provide you immediately with a cli based on our library to garble an example logic circuit file outside of our pipeline.
Providing you with the whole package could also be a bit tricky for us now. We cannot easily distribute it as-is because this is licensed under GPL. More importantly, it will also be complex to use as it is poorly documented for now.  Especially knowing that the goal of the Substrate OCW GCF project part is to provide a friendly API and the related documentation to use it.
However, our JustGarble modified library is extremely close to TinyGarble that is also based on JustGarble with both Free XOR and HalfGate enhancements. We even considered using it to replace the JustGarble part that is no more maintained.
So, I would suggest you test TinyGarble as an alternative and we could use it as a reference implementation.
https://github.com/esonghori/TinyGarble. It looks like It compiles fine on Ubuntu.
Does it work for you?

Hi @Lederstrumpf,
As we did not get an answer from you, we assume that what we suggest does not work for you.
We are very motivated by the opportunity to work with Substrate within the W3F/ Polkadot/Kusama ecosystem.
So, we can provide you with our worker code right now if you are still interested in it BUT:

it is licensed under GPL(it will not contaminate the substrate code b/c the OCW will be exposed through an API)
it is not yet fully documented
it was meant to be specific to our pipeline, i.e., it cannot yet use user-given verilog input

Please let us know and we will provide you with a link to our repository that also include the design of our circuits.

hi @nashjl, apologies for the delayed response.

Please let us know and we will provide you with a link to our repository that also include the design of our circuits.

Yes thanks, that will be useful for assessing this application.

it is licensed under GPL(it will not contaminate the substrate code b/c the OCW will be exposed through an API)

Noted - that will be fine then.

Hi @Lederstrumpf,
Following the link https://github.com/Interstellar-Network/lib_server on our repository, feel free to come back to us if you need any kind of assistance.
We are currently working on an accurate simulation of our transaction screen for multiple screen frequencies based on https://www.psychopy.org/ (used for neuroscience/psychophysics research experiments).
The simulation links will be ready and posted in the upcoming days.

hi @nashjl, apologies for the delayed response.

Please let us know and we will provide you with a link to our repository that also include the design of our circuits.

Yes thanks, that will be useful for assessing this application.

it is licensed under GPL(it will not contaminate the substrate code b/c the OCW will be exposed through an API)

Noted - that will be fine then.

Hi @lederstrumpf,
Here is a link on  our Transaction validation screen simulations  based on   PsychoJS library - PsychoPy (github.com)
It works well on chromium-based browsers, chrome, brave, edge but not on firefox.
We also added it in Detailed documentation.
Best wished for 2022 for you and the W3F team !

Hi @lederstrumpf, thanks for your comments and questions.
1/The simulations demonstrate the look and feel of the display for different frequencies. Our garbled circuits are designed to manage:

randomize slicing of the digits, 1/n segments/sub segments per frames, with n > 2
the addition of pixel-based and/or segment-based patterns at a later stage as well as decoy-frames.

2/ Yes, the dynamic interface itself drastically increases the cost of an attack, but such type of fake UI (even if the bad actor succeeds to get enough frames quickly enough) will also require an overly complex synchronization to build and display a dynamic overlay with fake informations while preserving the look and feel the user is familiar with (which makes the attack even more expensive and time consuming)
Following is a potential approach Extract of one of our draft papers/previous research   that leverages both SRAM/DRAM speed difference and iconic memory/visible persistence properties to show that a pixel based visual cryptography with pixel expansion scheme won’t let an attacker acquire more than 4 pixels on 1000 pixels written on the framebuffer for image recognition.
Such approach and others will be combined with the malware detection scheme we are working on to achieve targeted attack protection on top of TUI.
3/At this stage, and without TUI, our solution resists a generic state of the art banking trojan. Because even if one could capture screenshots, it would still need some processing after to ensures the digits recognition; or even possibly a human intervention to read the screen.
Bad actors 'organizations are business oriented and are looking for the best ROI. Consequently, hackers are pragmatic people and focus on the weakest prey when they face unexpected complex issues that are costly to overcome.
We aim at being as pragmatic as the threat actors and update the security based on threat probabilities, considering the overall security of other solutions. The cost/benefits to try to develop an attack would realistically mean hackers would target more profitable preys.
Rather than focusing on an overkill solution for the current threat landscape which would negatively impact the user experience, we prioritize a highly secure scheme with a healthy UX/Security balance.
There will always be research efforts in parallel to match the threat increase when required.
Our strategy is to be the strongest/fastest😅 prey with the easiest solution.

-PS: send us your email to<EMAIL_ADDRESS>to comment the doc.

@nashjl One additional question came up internally: Is Eliot Leleu actually working at parity, because this doesn't seem to be the cae? (see https://www.linkedin.com/in/eliotjfl/) Could you clarify this?

Hi @Noc2, thanks for pointing this out. No, he is not working at Parity. This is due to improper handling, a mishandling in the setting of his profile. I assume he wanted to show that he is working with Parity substrate technology. It is now corrected, and we apologize for the inconvenience.

Thanks for the update. I’m happy to support this application and will mark it as ready for review, so that others take a look at it as well.

Hi @Noc2, thanks a lot for your support!!!!

@nashjl you introduce the project as being a wallet for the ecosystem to reach mass adoption and mention that you're targeting Dapp developers, but it looks like your wallet can only function in combination with its own dedicated chain. Am I missing something? Also, could you expand on MathWallet's MPC approach and why you deem it 'more expensive, cumbersome to use, less flexible and more complex to deploy' than your solution?

Hi @alxs, thanks for making us clarify and articulate our positioning and value proposition with your questions.
Yes, our wallet can only function in combination with its own dedicated chain to expose multi-chain wallet features to users and developers.
We think that a friendly wallet user experience and especially a simple wallet set-up is crucial to support the ecosystem in reaching mass market adoption.
We will target Dapp developers from multiple blockchains by helping them integrate our wallet solution with only a few lines of code. This will help Dapps to onboard non-blockchain people as they don’t have to be familiar with the blockchain tools/wallet set-up processes, nor have any technical knowledge to begin with.
In this respect, we are observing that wallets based on simple login/password/web2 authentication (users are familiar with) like Fortmatic , Portis , Torus etc... are showing a strong traction and growing adoption rate - especially in the DeFi space.
We aim at competing with those solutions with the same type of easy integration for Dapp providers/developers.
In addition, those “friendly wallets” show the following issues that we can address with our solution based on a dedicated substrate based blockchain (potentially; parachain/parathread):

Centralized software: Their privacy and censorship resistance can be challenged because they rely on major player cloud infrastructures like Google, FB, Amazon and especially their Web 2 Auth like OAuth compared to our frictionless and more secure Decentralized Transaction Validation Protocol.

Trust issues: They are operated by private companies the user needs to trust. In addition, their sustainability and future proof can be challenged compared to a blockchain based solution that can rely on a major blockchain like Polkadot.

Security: They are all very weak on the user side. The Web 2 auth can easily be compromised by malwares and even man in the middle attacks. Because they enable users to set-up 2FA like Google Authenticator or others, it significantly complexifies the user experience without a real security enhancement - The Booming Underground Market for Bots That Steal Your 2FA Codes
On the backend side, they usually provide enough security for the private keys with MPC (Torus) or HSM (Fortmatic) but have an increased security surface exposure related to their dependence on proprietary cloud infrastructure compared to a blockchain like ours that uses TEEs and SMPC to mitigate TEE potential flaws (and reciprocally).

We think that we can achieve an even higher ease of use and set-up simplicity as those “friendly wallets” with just the download of an app.
Regarding MathWallet, we compare our solution with their future version that is supposed to use smartcards.
Compared to their current version, we can deliver a higher security level and a friendlier user experience as we don’t even need a password nor backup phrase to remember.
We just wanted to underline that the usage of a smartcard is cumbersome and costly for the user as the concept is similar to a classic hardware wallet like ledger and trezor. Additionally, the deployment is much more complex than the download of an app like ours for a comparable level of security. The usage of TEEs (combined with SMPC at a later stage) also enables better tps performances than MPC.

I still don't follow. If your wallet can only function in combination with its own dedicated chain, how do you expect Dapp developers from multiple blockchains to integrate your wallet solution with only a few lines of code?

Our multi-chain wallet solution will use Off-Chain-Workers to communicate with respective blockchain client’s nodes and their related Dapps, with business logic essentially in Key & Asset management pallets and related data (including Privates keys) in Shamir Secret Sharing distributed database (mentioned in detailed project document).
This is a part of the architecture we did not detail because it is still work in progress and related to the next phase of the project.

We will provide an SDK per blockchain to the Dapp developers.
F(message to sign) -> signed message.

Regarding the latest attack on Crypto.com, this is the perfect illustration :

of the weakness of current (2F)Authentication used by crypto-neobanks, CEXs and no-hardware wallets
that the fraud industry is now focusing on crypto owner accounts and wallets

In addition, it is very likely that wallet owners as well as some other major exchanges are also experiencing such attacks. In our opinion, this issue is underestimated  because wallet owners can’t complain and CEXs prefer to hide such issues up till they are obligated to communicate on it, like Crypto.com recently.
We want to underline that this is exactly the type of attacks we can address in a friendly way with our Transaction Validation Protocol/Trusted Authentication and UI layer on mobile.
This event reinforces our opinion that a stronger authentication and security for the front-end/end-user layer will benefit the overall security and user experience of the Polkadot/Kusama ecosystem.

Thanks for supporting the application! @gautamdhameja

Hi @Noc2,we faced unexpected issues regarding the refactoring of our Garbled Circuit Factory, especially related to the usage of up to date versions of Yosys and ABC (used for Verilog circuit generation, synthesis and optimisation). We are working on managing new logical gate types in our blif circuit parser (used to generate our own circuit format .skcd). This should improve the performance of our circuit generation pipeline.
We anticipate a little delay regarding the first M1 delivery. We are currently targeting March 7.

@nashjl Thanks a lot for the update! A small delay isn’t an issue at all. If it takes longer feel free to create PR and update the application with a new timeline. We only enforce timelines and potentially terminate grants, if we realize teams are no longer working on it and don’t respond to our messages.

@Noc2 Thanks a lot for your feedback and helpfull information

Hi @Noc2 , alomost ready,.we will create the delivery PR before the end of the week.

Sounds good. Thanks for the update.


Mismatch in the time-zone of backup script and the user time zone leads to creation of new daily page earlier then expected

Daily page is created when Roam is opened with a browser where that day has started. That leads for people who are in the later time-zone for daily pages to be created earlier then they expect it.
I think a solution can be the latest (utc+12?) timezone possible for the browser used here

have provisional fix for this in my fork


Extensible asdict ?

One common attrs usage, at least for me, is to define classes that can easily dumped to/loaded from json. As long as we have "simple types", asdict + json.dump/load works well, but it falls down quickly when using recursive structures. E.g.:
# I would usually use validators, but trying to be brief here

@attributes
class Version(object):
    major = attr()
    minor = attr()

@attributes
class Package(object):
    name = attr()
    version = attr() # type of Version

@attributes
class PackagesSet(object):
    packages = attr() # list of Package instances

packages = PackagesSet([
    Package(u"yolo", Version(1, 2)),
    Package(u"yeah", Version(1, 3)),
])

If you do asdict(packages), it will kind of work, but not in a way that is very controllable, because you get Version instances "decomposed":
packages = PackagesSet([
    Package(u"yolo", Version(1, 2)),
    Package(u"yeah", Version(1, 3)),
])

print(asdict(packages))
"""
{'packages': [{'version': {'major': 1, 'minor': 2}, 'name': u'yolo'}, {'version': {'major': 1, 'minor': 3}, 'name': u'yeah'}]}
"""

It would be more natural to have something like:
{"packages": [{"version": "1.2", "name": "yolo"}, "version": "1.3", "name": "yeah"}]}

E.g. by using a strawman asdict "protocol":
@attributes
def Package(object):
    def __attr_asdict__(self):
        return {"name": self.name, "version":  str(self.version)}
    @classmethod
    def __attr_fromdict__(cls, data):
        return cls(data["name"], Version.from_string(data["version"]))

Does that make sense ? Or is that something that is considered out of scope ?

I am also looking for similar support. I have a class for which I'm supporting two properties which I do not want to support while instantiation of the object because I am making them with the combination of other fields. However, I do want them in asdict/astuple. I am working out for now with defaults and init etc... but attr_asdict kind of override support would just give me the required support I wanted to add.
Any suggestion on that?

I'm not so hot on the idea of an asdict protocol (we might need __astuple__ too then). It feels a little too specific.
Instead we should probably focus on singledispatch based solutions. @hynek even has a blog post about it: https://hynek.me/articles/serialization/.
I've started an ambitious library to do exactly that: https://github.com/Tinche/cattrs, but due to various obligations I haven't had enough time to really make it first-class yet.
Here's how your use case would look like with cattrs (master branch, not PyPI):
from attr import attributes, attr
from cattr import Converter

@attributes
class Version(object):
    major = attr()
    minor = attr()

@attributes
class Package(object):
    name = attr()
    version = attr() # type of Version

@attributes
class PackagesSet(object):
    packages = attr() # list of Package instances

packages = PackagesSet([
    Package(u"yolo", Version(1, 2)),
    Package(u"yeah", Version(1, 3)),
])

c = Converter()
c.register_unstructure_hook(Version, lambda v: "{}.{}".format(v.major, v.minor))

c.unstructure(packages)
# {'packages': [{'name': 'yolo', 'version': '1.2'}, {'name': 'yeah', 'version': '1.3'}]}

I plan on picking this up again since it's a common request, maybe put out a new version at the end of the weekend. As I said, I personally think this is the way to go, what do you think?

Yeah no protocols, singledispatch ftw.

I am not so familiar with singledispatch, but not having yet another protocol sounds good to me.


Rewrite buffered IO to use FILE* instead of own read buffer.

It might take a few days before this one is done.

I'd like to tidy up our PR list. Can we close this for now?

Yeah, this one has been staring me in the face for a while.
I expected this to be required to implement IO.popen, but we can probably work around that by using fileno(3). That means we still need this for a few obscure specs to pass, but that might become an unbalanced ratio for effort and profit.
I will close this one, but save the branch so we can always work on it if we ever need this again.
Reading between the lines, I guess I should check on the other 20 in progress PRs too.


DOC-5514 show grants external connection

Addresses: DOC-5514

Added notice of support for EXTERNAL CONNECTION grant target to SHOW GRANTS, with two examples.

Question:

Command output includes column header name for "external connection name", but all other grant targets include some specificity to this value, as shown here. I've used command output verbatim of name, but it looks really confusing in the linked table. Room for a CRDB fix to this column name?

Staging:

show-grants.md

This change is

@rafiss Hi, I hope you don't mind another Richard PR for review, since you helped with the previous one. Thanks much!

@adityamaru @rafiss TYFR!! Created https://github.com/cockroachdb/cockroach/issues/92768 to capture column names mismatch. Thanks!

Thanks Mike.


Review lattice --> DCP mapping

Description of the task:
Lattice has approached us with a list of unmapped fields Lattice --> HCA, as one of the final checks to know if they have missed anything in their approach
This is a public repository so I'm not going to post the file they sent, all wranglers should have had received the email with the title Lattice-to-DCP schema mapping.
We need to review the mapping and come back to lattice with suggestions/feedback/approval.

Acceptance criteria for the task:

[ ] The document has been reviewed thoroughly. Each unmapped lattice field will be checked against the schema to see if we can host it.
[ ] An answer has been written and sent to lattice

@Wkt8 to discuss with Claire

Have decided to close the ticket as lattice have since submitted projects to the DCP. Can revisit this if it is an issue again.


Provide ASGI compatibility through server event

Change server event (listener)
from
@swagger_blueprint.listener("before_server_start")
to
@swagger_blueprint.listener("after_server_start")
More details at
https://sanic.readthedocs.io/en/latest/sanic/deploying.html#running-via-asgi

Codecov Report

Merging #130 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #130   +/-   ##
=======================================
  Coverage   95.54%   95.54%
=======================================
  Files           4        4
  Lines         449      449
  Branches       95       95
=======================================
  Hits          429      429
  Misses          6        6
  Partials       14       14

Impacted Files
Coverage Δ

sanic_openapi/swagger.py
95.08% <100%> (ø)
: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 9dd6c1a...7acdc21. Read the comment docs.


EPS: Only show first 17 EPS channels in JSON renders

Status update @NuclearTea - Per the label, this PR is awaiting testing.

Functions modified to be tested with telecommands:
EPS_struct_system_status_TO_json
EPS_struct_pdu_housekeeping_data_eng_TO_json
EPS_struct_pdu_overcurrent_fault_state_TO_json
EPS_struct_piu_housekeeping_data_eng_TO_json

Tested and all works.


Included layer uuid in search api

Coverage increased (+0.005%) to 99.64% when pulling c0d5ea202963e2c392ad9cddd98c20f4f088a7a0 on JorgeMartinezG:master into 161eb08c9a503e8037556a56d27a8fcbc7fb4a4c on boundlessgeo:master.

Coverage increased (+0.005%) to 99.64% when pulling c0d5ea202963e2c392ad9cddd98c20f4f088a7a0 on JorgeMartinezG:master into 161eb08c9a503e8037556a56d27a8fcbc7fb4a4c on boundlessgeo:master.

Coverage increased (+0.005%) to 99.64% when pulling 1c4e999ae2610e759993e8569ffe51b0c8b2a136 on JorgeMartinezG:master into 161eb08c9a503e8037556a56d27a8fcbc7fb4a4c on boundlessgeo:master.


Mapper casts nulllable property to string when not using constructor property promotion in target class

Problem
I've noticed that nullable properties get cast to empty string ("") instead of being kept as null value when not using constructor property promotion in the target class.
Reproduction
src/Dto/BookDto.php
namespace App\Dto;

class BookDto
{
    public function __construct(
        public string|null $title = null,
    ) {
    }
}

src/Entity/Book.php
namespace App\Entity;

class Book
{
    private string|null $title = null;

    public function __construct(
        private int $id,
    ) {
    }

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getTitle(): ?string
    {
        return $this->title;
    }
}

Run mapper
$book = new \App\Entity\Book(1);
$this->mapper->map(new \App\Dto\BookDto(null), $book);

Result
App\Entity\Book {#2485 ▼
  -id: 1
  -notes: ""
}

Good catch. Should be fixed in https://github.com/rekalogika/mapper/commit/9f905f6f7f72fdab17b8ade87c99220b1d817643#diff-f83e47d2f91e3e2387942cb949109e8c35e2de12bc52d1f5b2980a4cedc81ab0 . Thank you.


Client: Attach tokens to axios in interceptor

https://medium.com/@ryanchenkie_40935/react-authentication-how-to-store-jwt-in-a-cookie-346519310e81

Done in different way, quite better, yaaay!


How to move and resize frame of Barcode

Description of the problem:
The frame is in the center of the screen now, but
I need to move the frame to the top of the screen with a specific margin. And I need to set framing
size like match_parent
It should be like on example https://prnt.sc/reqn02
Which library version are you using? E.g. 3.2.0.
3.6.0
Which phone/tablet are you using, and which Android version does it run? (e.g. Samsung Galaxy S5,
Android 5.0)
Xiaomi mi a1 Android 9

Any help?

You need to import library as a module, then give custom height and width of Frame on Touch (On Drag listener) to change frame sizing.


Quality assesment regarding threestudio re-implementation

Have you guys checked the reimplementation in threestudio https://github.com/threestudio-project/threestudio? Is their code implemented correct? And how does their perform compared to your code? Is it better or worse.
Thanks for the great work again!

Thanks for the kind words! Their reproduction results look great, but I haven't actually run their code yet. I have been busy optimizing our code recently and have made significant improvements in performance and GPU memory usage.


Finalizing SpikeInterface pipeline

Opening as draft while I make a few changes to the notebooks.
Of note here: for the three formats used by the Brody lab, I've made a simple router function for the user to pass either a file or folder path (for the case of neuralynx) specifying raw data locations. This reduces code duplication from having a notebook for each format to a single notebook that infers which RecordingExtractor method to use.
Also, though I don't typically approve of saving rendered notebook data to GitHub, Alessio suggested it might be nice for the cases when the process of running the notebook takes a long time (as it is here, running the full spike sorting on the 250GB SpikeGLX recording), to show the clients what the output should look like after successful run. This is especially relevant for the early pre-processing visualizations and later post-processing steps.

Ready for review - the huge changelog is mostly from all the extractor and RawIO functions that had to be copied over and slightly modified to work, not to mention the pre-rendered notebook as discussed above.

Do not forget to squash before merge

@alejoe91 Good to merge? I'll make the post-meeting modifications on a follow-up PR.


Get data from realtime database based on some array of keys in ionic 3 + firebse

This is my database structure.

Detail:
i have var arr=["0VggPwMNVKMjlo8AWSY7IUjIpR13","Ktf7Y0XLZQXnUSTSfErtjlkj2aq2",...3 more items]
These arr items are the users key in databse
Question
I want to get data, based on arr variable from my database.
Please help??? Thank you in advance.
package.json detail:
I am using ionic 3 framework
"firebase": "^5.7.0",  "ionic-angular": "3.9.2",

I suggest looking at retrieving nested collections.
You could loop through your arr array and append each key to the current path "user/[key]" to receive each document.

I am using real time database not cloud data base. Please provide me ionic 2, 3 code


feat (client): flag to disable FKs on incoming TXs in SQLite

This PR introduces an additional flag that can be enabled when electrifying a SQLite database. When the flag is enabled, the Satellite process disables FK checks on incoming transactions. This flag is useful for performance reasons as skipping FK checks greatly speeds up initial data sync when there is a lot of data.
Note that disabling FK checks can't be done transactionally so we have to disable FKs, apply the TX, and then re-enable FKs. Therefore, it is important that no transactions are ran concurrently (this is ensured by the mutex that our drivers hold).
We assume that Electric exlusively owns the DB connection and thus that nobody executes a concurrent TX directly on the DB connection.

@kevin-dp Do you have some numbers about this performance improvement?
I'm wondering if using  builder.deferOrDisableFKsForTx inside the adapter transaction would be equivalent, same as it's currently done in _applySubscriptionData. It would solve the concurrency issue.

@kevin-dp I think its possible for a non-satellite transaction to happen between dissabling FK checks and the actual satellite transaction, and again possible afterwards, before they are turned on again.
Our adapter mutex is at the transaction level only. Do we not need another mutex, a connection level one, that satellite can hold during what is in effect multiple transactions?

You're right, concurrent TXs could occur between the DAL and the Satellite process which could get badly interleaved.
Here's a summary of a discussion with @samwillis about how our drivers currently use mutexes:

drivers that are sync don't need the mutex in order to implement the interactive transactions safely (better-sqlite3)
our transaction APIs use the callback style so that in sync code there is no promise/await and so no mutex needed for sync drivers
async drivers (wa-sqlite, capacitor, tauri, and others) need the mutex for the transactions

All async drivers are built on top of our generic drivers.
The generic driver coordinates all methods run/query/runInTransaction/transaction through a mutex.
What we are trying to achieve here is to group PRAGMA foreign_keys = OFF, a remote transaction, and PRAGMA foreign_keys = ON inside a SQLite transaction. However, SQLite does not allow the foreign_keys pragma to occur in a transaction. Hence, to guarantee isolation with other TXs we need to manually coordinate through a mutex. I propose to introduce a group(f: (uncoordinatedAdapter: Adapter) => void) method in the adapter interface which can be used to conceptually group several statements that are isolated from other transactions by coordinating through a mutex.
So that the Satellite process could do:
adapter.group((a) => {
  a.run({ sql: `PRAGMA foreign_keys = OFF` })
  ...
  a.run({ sql: `PRAGMA foreign_keys = ON` })
})

We can extend the generic database adapter with the group method which starts by acquiring the lock, then calls the provided function (passing along a version of the adapter that does coordinate through the lock), and then releases the lock.

@kevin-dp Do you have some numbers about this performance improvement?

@samwillis did some initial experiments with disabling FKs and has some numbers about the speedup it can provide.

I'm wondering if using builder.deferOrDisableFKsForTx inside the adapter transaction would be equivalent, same as it's currently done in _applySubscriptionData. It would solve the concurrency issue.

Do you mean to defer/disable FKs inside every TX and thus calling that inside the adapter's transaction method?
The idea is to support a flag that developers can enable to speedup e.g. initial sync of large amounts of data by disabling FKs. If we just defer the foreign key checks to the end of the TX we will not get the speedup we're after.

Do you mean to defer/disable FKs inside every TX and thus calling that inside the adapter's transaction method?

Yes, that's what I meant. I suggested the defer because I thought that a possible performance degradation could be SQLite doing foreign key checks for every INSERT/UPDATE in the Satellite transaction and just deferring all checks to the end would be faster.

I added an implementation of group on the database adapters and used it in the Satellite process to disable FKs for certain transactions when the disableFKs flag is set. There is one weird case which is when we received a remote migration, this calls into the migrator's applyIfNotAlready method which had to be changed to also disable the FKs when running SQLite and when the flag is set.
To be honest, this PR adds quite some additional complexity around the drivers for this optimization. I don't think i like it.

@davidmartos96
The performance issue that this PR is addressing is related to large initial syncs. What we have found is that under some circumstances the time to apply the transaction increases exponentially.
With the linearlite example,  1100 issues + their comments takes under a second (to fully load the app), and has scaled to that point almost linearly. At 1200 it's up to something like 5-10 seconds, and at 1300 it's at over 30. I forget the exact numbers (currently sitting in an airplane awaiting takeoff).
It's directly related to the order of the inserts and if the FK is pointing to a row inserted before or after its own row. I'm suspicious it affects the WASM SQLite specifically, but need to test. I think it's related to doing a full scan for each FK reference, and it may be that there is memory allocations that cause the slow down with WASM.
Deferring FK checks does not solve the problem unfortunately, only turning them off does. However, there is another potential fix, to topologically sort the inserts based on FK, this almost entirely eliminates the slow down, but unfortunately won't solve the problem for circular references.
I'm not sure yet which solution we will go for, maybe both.

@kevin-dp agreed, it's looking quite complex. Maybe we should take a look at the topological sort of the inserts before we make a decision?

@samwillis Thanks for the input!
We would be interested to try to reproduce it in the Dart client. But first we would like to reproduce it with the official client. In the linearlite example we've added this. It creates 1500 issues and 1 comment per issue (using faker to get random values).
After inserting everything and replicating to Postgres, if we reset the local database, the browser console says it synced in around 1.5s. Higher values don't seem to make much difference in the sync time either. We are using the wa-sqlite driver in Linearlite.
What's noticeable is that higher values (3000-5000) will leave the issues list blank for a while, even after the inserts where persisted, but that could be something else, as the sync time stays low.
     <button
        onClick={async () => {
          const total = 1500

          for (let i = 0; i < total; i++) {
            console.log(i, 'out of', total)

            const title = faker.company.name()

            const date = new Date()
            const issue_id = uuidv4()
            db.issue.create({
              data: {
                id: issue_id,
                title: title,
                username: 'testuser',
                priority: Priority.NONE,
                status: Status.BACKLOG,
                description: faker.lorem.paragraphs(3),
                modified: date,
                created: date,
                kanbanorder: generateKeyBetween(null, null),
              },
            })

            db.comment.create({
              data: {
                id: uuidv4(),
                issue_id: issue_id,
                body: faker.lorem.paragraphs(1),
                created_at: new Date(),
                username: 'testuser',
              },
            })
          }
        }}
      >
        INSERT RANDOM
      </button>

@kevin-dp If we are going ahead with this could we maybe name the new grouping method exclusive rather than group?

@kevin-dp If we are going ahead with this could we maybe name the new grouping method exclusive rather than group?

Not a fan of exclusive it doesn't rely describe what it does.
What about groupExclusively ?

Agreed with @samwillis and @msfstef to rename group to runExclusively.


Hybrid - Bank Account - Plaid flow is not pointing to Sandbox environment

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue reported by: Applause - Internal team
Slack conversation (hyperlinked to channel name): #qa
Action Performed:

Navigate to the bank account connect flow
Reach the plaid modal

Expected Result:
Plaid should point to the Sandbox environment to be able to test it.
Actual Result:
Plaid is pointing to the prod environment.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[x] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[x] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

View all open jobs on GitHub

Thanks for this issue, I assume this is because the HybridApp staging environment checker continues to not work.

Oh I'm not sure how I missed this in my queue.

I assume this is because the HybridApp staging environment checker continues to not work.

@AndrewGable it sounds like this is going to be fixed elsewhere, is that right? In which case, is there anything we need to do with this issue?

Bump on the above @AndrewGable

@flaviadefaria I still think #migrate is the best fit for this issue. If you disagree can you please let me know where you think it should go? Roadmap for reference.

We don't need to do anything in this issue, but it's fine to stay open until we fix it.

If this is an issue currently happening in ND then it should go in #retain.


TEAM with Control Tower

Hi,
I have Control Tower for my AWS Organization, and i have delegated Account to manage the IAM and Identity Center (SSO).
I have checked the prerequisites of the solution, and it was mentioned the TEAM account will also be configured as delegated admin for:

IAM Identity Center
CloudTrail Lake
Account management

Since I'm using control tower on the management account (which is Managing Cloudtrail and Account Management) , is it possible to deploy the solution without delegating the Administration of Cloudtrail and Account Management to the TEAM account?
If No, is there any workaround to delegate the CloudTrail Lake and Account management to TEAM account without breaking Control Tower Landing Zone ?
Thanks !

I don't think it's possible to deploy this solution properly without configuring the delegated admins in the TEAM account.
I'm not that familiar with Control Tower. You're managing account management with CT. This is done from within the management account. Is there a delegated admin for account management? If not, you can assign it to the TEAM account (which should be your SSO account then). For CloudTrail you can have up to 3 delegated admins I think.

$ aws organizations list-delegated-administrators --service-principal cloudtrail.amazonaws.com
$ aws organizations list-delegated-administrators --service-principal account.amazonaws.com

I hope I understand your use case correctly.

@muradalm
There is a delegated admin for account management:
$ aws organizations register-delegated-administrator --service-principal account.amazonaws.com --account-id <xx>
Registering a delegated admin doesn't mean that your management account will lose the permissions to manage it.
I don't know about the Control Tower setup, but registering delegated admins would not impact existing setups or your management account. The only thing it does is allowing certain actions related to the designated service from within that delegated account.
Example: first we had no delegated admin for account.amazonaws.com. This meant we were only able to update alternate contacts of other accounts from within our root/management account. Now we registered an account as delegated admin for account.amazonaws.com. Now we can update alternate contacts for other accounts from within the root/management account, but also from within the delegated admin account.

AWS accounts within an organization – For member accounts that are part of an AWS organization, a user in the management account or delegated admin account can centrally update any member account in the organization from the AWS Organizations console, or programmatically via the AWS CLI & SDKs. To learn how to do this, see Update AWS account alternate contacts in your organization.

Doc
Same for CloudTrail. Just registering an additional delegated admin should not impact existing setups normally.
Still, I don't know the details in your organization or with your Control Tower setup, I would recommend to create a test environment/organization to verify if everything works as expected.

@muradalm  check this latest commit out #83 and see if it helps with your use case


Graph

Pull Request Test Coverage Report for Build 73

549 of 584 (94.01%) changed or added relevant lines in 9 files are covered.
8 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.4%) to 93.006%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

autokeras/layers.py
30
31
96.77%

autokeras/bayesian.py
70
74
94.59%

autokeras/search.py
89
94
94.68%

autokeras/net_transformer.py
24
31
77.42%

autokeras/graph.py
266
284
93.66%

Files with Coverage Reduction
New Missed Lines
%

autokeras/net_transformer.py
1
84.91%

autokeras/classifier.py
2
73.49%

autokeras/search.py
5
92.59%

Totals

Change from base Build 62:
0.4%

Covered Lines:
1117

Relevant Lines:
1201

💛  - Coveralls


[TRACKER] inst2dict and dict2inst related issues

Godot version:
3.2+, 4.0
Issue description:
There are quite a bunch of old issues present with inst2dict and dict2inst that it's worth to add a tracker for it. I'm currently working on some of them.
Issues

[ ] inst2dict does not turn classes inside classes to dict #6533.
[x] inst2dict references in exported file non compatible with editor #26188.
[ ] inst2dict does not work with objects having no script on them #30077.
[ ] dict2inst does not work on classes with _init parameters #30572.
[x] inst2dict and dict2inst fail in compiled version of game #31045.
[ ] inst2dict do not serialize object correctly due to calling getter methods #33015.

Fixes
I think it would be best if these fixes could be reviewed in order so that smaller fixes can be rebased on top of bigger ones more easily if deemed satisfactory:

Make inst2dict and dict2inst work recursively #33137.
Fix inst2dict calling to getters to retrieve value #33018.
Make dict2inst to work with arbitrary _init parameters #32534.

They could as well be targeted for 4.0 but see for yourself.
CC @vnen @bojidar-bg.

[?] Fix the accessibility of the online API docs (might be a more general issue).
The https://docs.godotengine.org/en/latest/search.html?q=inst2dict query currently returns only a link to unusable c# hints instead of
<EMAIL_ADDRESS>

Can we add the following:
A class de-serialised with dict2inst fails if the class has moved it's path. A classes ability to be de-serialised should not be linked to it's path. I do get this might require a re-write to the entire gdscript language to force class names.

@capnm I think you could open an issue about this at godot-docs. It fails to search the class ref for some reason. I've stumbled upon this with other keywords if I recall correctly.
@nhold you could open a separate issue and/or proposal to discuss the best way to implement it first. But it feels like this could be solved relatively easy by writing global class name to dictionary along with script path.
Anyways, added to Other issues section because they currently have no home.


ADD CESMAC

Requesting the addition of the institution Centro Universitário CESMAC

@CarlosWGama First stage of verification passed, official domain for Centro Universitário CESMAC is cesmac.edu.br as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@CarlosWGama Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


ebuild-mode: 1.67 -> 1.70

Description of changes

Closes https://github.com/NixOS/nixpkgs/pull/260110
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

I am not sure about the argset/rec refactor. However, I think three bumps should be rebased into one.

I prefer to do this way in order to keep a history for them.
I wanted to ask @alyssais is theey prefer the squashing, however since theey 👍🏿 up, I will not ask.

Last commit should probably be squashed into the first, right?  Given that it didn't use fetchgit until the first commit here.

Hum, I don' t think it is needed, since each commit is buildable.
It is not as if the fetchgit was bugged.

Yeah, but why introduce a change to fetchgit only to immediately change it again in a subsequent commit?

It looks like there was a mistake in the force push just now — the fetchzip change was squashed into the update rather than the refactor, and the update also has some whitespace changes that look like they were meant to be in the refactor commit.  But once that's fixed it LGTM.

Let's squash everything, then.


added checks and fixed small errors

there was a small python version incompatibility with inspect.getargspec.
in the line target_func = partial(subprocess_render_mesh_tiles, image_loader, **kwargs)
the image_loader was passed in as a kwarg like image_loader=image_loader
but then msh_dict was passed in as an arg
so msh_dict as the first arg was interpreted as the value for image_loader and image_loader=image_loader was interpreted as a parameter for image_loader - making two inputs for image_loader for every function call

Bug fixes incorporated in commit #abf8c81


Re-examine re-use of the CPython dev guide

I'm convinced we benefit by re-using the CPython guide, but the idea was to track change by pulling in CPython changes as we go along. In practice, this doesn't happen, and when a backlog has built up, the merge looks scary.
Chapters are files. There are three cases to consider:

A file is the same in Jython as in CPython (yay!).
A file has a small number of differences in Jython's copy from CPython's. One might be able to have a file of the same name and merge the changes.
A file differs a lot. Jython needs its own version entirely. (Include here chapters we drop and chapters we add.)

In practice, 2. is where the problem lies, as it's always more important to make a specific change than keep up.

A problem observed with category 3. is as follows. Where there is a "completely different" version of an existing CPython chapter (e.g. runtests_jy.rst replaces runtests.rst) there remains a lot of cross-referencing under the old name (or labels defined in the original). This leads readers into trouble.
It is better not to have both versions around, and to re-use labels (where they mean the same), or invalidate them (which alerts us to dangling references through an error). Corresponding chapters then have the same file name.


Rock-paper-scissor game :)

Rock-paper-scissors is a hand-based game between two players, in which each player simultaneously forms one of three shapes with an outstretched hand. These shapes are "rock" (a closed fist), "paper" (a flat hand), and "scissors" (a fist with the index and middle fingers extended).
The game has only three possible outcomes:
Rock beats scissors (rock crushes scissors)
Scissors beats paper (scissors cuts paper)
Paper beats rock (paper covers rock)
If both players choose the same shape, the game is a tie.
The game is often played as a best-of-three series, but it can also be played as a single round.
Rock-paper-scissors is a simple game, but it is also a lot of fun. It is a great game to play with friends and family, and it can be enjoyed by people of all ages.
Sources
en.wikipedia.org/wiki/Rock_paper_scissors
apkpure.com/rps-rock-paper-scissors/com.kixes.rps
profile picture
make the intro of the game such that I making that game in python language
View other drafts
Sure, here is a more intro of the game explaining how I'm making it in Python:
I'm making a rock-paper-scissors game in Python. This is a classic two-player game where each player chooses one of three shapes: rock, paper, or scissors. The winner is determined by the following rules:
Rock beats scissors
Scissors beats paper
Paper beats rock
If both players choose the same shape, the game is a tie.
I'm using Python to make this game because it is a popular and versatile language. It is also relatively easy to learn, making it a good choice for beginners.
To make the game, I'll start by importing the random module. This module allows us to generate random numbers, which we'll need to use to determine the computer's choice.
Next, I'll create a function to generate a random choice for the computer. This function will simply return one of the three shapes at random.
Then, I'll create a function to get the player's choice. This function will prompt the player to enter their choice and then return it.
Finally, I'll create a function to determine the winner of the game. This function will take the player's choice and the computer's choice as input and then return the winner.
Once I have all of these functions written, I can put them together to make the game. The game loop will simply prompt the player to enter their choice, generate the computer's choice, and then determine the winner. The game will continue until one player wins three rounds.
Your review and insights are vital as we enhance the repository's utility.
Happy coding :)

Please assign this to me

I would like to work on this issue. Could you please assign me this issue.

Could you please close this issue since the pullrequest for this issue has already been merged. or if there is anything regarding this issue that we need to look into, please let me know .

I have already put pull request for the same last week but it didn't get accepted
Wanted it to get merged :)

I would to like to contribute in this issue
Please assign me this issue :)