Guide: Wallets on Flow

Guide: Wallets on Flow
Grant category
Educational material
Description
Documentation with details about the wallets that are available on the Flow ecosystem.
Problem statement
Currently, it is possible to find some information about the existing wallets in the ecosystem. Still, it is difficult to understand the main differences, advantages, or even disadvantages between the options, especially if the developers or users have to enter the website of each wallet to look for its particularities.
In addition, with the arrival of new wallets or updates and new features of existing ones, the scenario is constantly evolving, and users and devs need a lot of time to keep up to date.
Proposed solution
Create a website where the main objective will be:
Learn how to choose the right wallet. We will outline the main features of each wallet and help the user make a more educated decision based on their needs.
Show the wallets available in the ecosystem.
Facilitate the choice of the wallet that the user or developer needs.
To achieve these goals, our professional writers will create a series of articles on every concept the developers and users need to understand about the Flow Wallets.
We made an interactive prototype where you guys can navigate and see our vision for the website.
Figma Design
Qualifications
Our lead writer Daniel has extensive experience with web3 copywriting; here are some of his works and his medium:
https://docs.nested.fi/
https://clubswan.com/blog/
https://danielnyairo.medium.com/
Daniel´s skills will help us with all the subjects we need to cover.
We have been part of the Flow ecosystem /  Emerald City for a while.
Our team has been creating and developing Apps, Dapps, Websites, and other services with a focus on user experience.
We have experience with creative 3D development, and with these skills, we can improve the UX of the website.
Our Contributions:
Emerald Id ( Front-end ). https://id.ecdao.org/
Emerald Gateway ( Front-end ). https://github.com/emerald-dao/emerald-gateway
Emerald Bot ( Front-end ). https://bot.ecdao.org/
Token Minter ( Guide ). https://token-minter-sand.vercel.app/guide/en/welcome
Impact
This website will allow users to find the most suitable wallets for them; they will be able to compare the different products and better understand what they offer.
The user's journey to discover the available wallets and recognize their main differences and particularities will be much easier.
Milestones and funding

Milestone
Deliverables
Timeline
Risks
USD proposal

1 - Final UI/UX design
Interactive Prototype
2 weeks
-
TBD

2 - Development
Functional website
4 weeks
(Need of a professional writers with Web3 knowledge)
TBD

3 - Final tests and Deployment
Production ready website
1 week
-
TBD

Team

Name
Role
Bio
Contact

Felipe Ribeiro
Project Co-Lead
Blockchain and Full-Stack Developer
<EMAIL_ADDRESS>

Alan Dega
Project Co-Lead
Designer and Full-Stack Developer
<EMAIL_ADDRESS>

Daniel (Ong'era) Nyairo
Professional Writer
Web3 Writer
<EMAIL_ADDRESS>

Milestone completion

[x] Final UI/UX design (ongoing)
[x] Development
[ ] Final tests and Deployment

thanks for the proposal @ZERO-PHC!
We reviewed your proposal and have two follow ups:

We noticed you have to writer on your team and the content is not part of the milestones. We believe the content is a critical part of this grant. Do you think you could recruit a professional writer to help with the content? If so, please update the proposal and add it to the milestones
For inspiration, here is another wallet overview that we like: https://www.cryptocompare.com/wallets/#/popular

Hi Alex!
Thanks for the response.

We already updated the proposal and we already recruited a professional writer that we know from Emerald City (She wrote some guides for the Token Minter Bounty).
Thanks. We are going to use that reference in the design.

Would you like us to translate the guides into Spanish and Portuguese?

Thanks! I'll follow up with you via email to discuss TBD items. WRT translations, let's hold off on these for now. we could add them later as well as a follow up

Alright, thanks!

hey @ZERO-PHC! thanks for updating the proposal. this is looking great. this grant was accepted and I'll follow up with you directly about next steps! 🚀

@alxflw Hi Alex, This is Maritza. I'm one of the writers for this proposal. I was recruited by Alan, but haven't heard anything from him since July 5. He stopped responding and communicating out of the blue since then. What's going on with our project?

I got back in communication with Maritza.

Flow wallets website it's live! All community can access it through this link
Want to give suggestions, please fulfill this survey!
Are you a wallet provider? Let's add your wallet to the website, do this through this form!

This grant is complete.


cat /sys/module/kvm_intel/parameters/nested returns Y but kvm-ok returns KVM acceleration can NOT be used

@Clockiscool1234 Make sure you have virtualization enabled in your BIOS

I do have virtualization enabled  tho..

The virtual machine platform needs to be enabled for it to work I’m pretty sure


Fix configuration of cloudwatch and networking integration tests

Validation checks now prevent using maintain_initial_size parameter with
awsbatch scheduler
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1809 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #1809   +/-   ##
========================================
  Coverage    54.46%   54.46%
========================================
  Files           28       28
  Lines         4416     4416
========================================
  Hits          2405     2405
  Misses        2011     2011

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 075f4ff...9dd4f09. Read the comment docs.


Test integration of zarr work on Hedwig website with new neuroglancer version

integration work appears fine - possibly could be optimized with respect to chunk size to help speed.


Support Globalnet EgressIPs at the cluster level

This PR includes support for ClusterGlobalEgressIPs.
Currently, the code is validated manually and using
the unit tests but will be enabled in a future PR
once the other controllers are also implemented.
Fixes issue: https://github.com/submariner-io/submariner/issues/1163
Signed-Off-by: Sridhar Gaddam<EMAIL_ADDRESS>

@sridhargaddam  How about the following for abstracting the IP table rules for pod egress, cluster egress, and ingress:
type Interface interface {
	AddRules(sourceIP, snatIP, globalNetIPTableMark string) error
	RemoveRules(sourceIP, snatIP, globalNetIPTableMark string) error
}

func ForPodEgress() (Interface, error) ...
func ForClusterEgress() (Interface, error) ...
func ForIngress() (Interface, error) ...

I'm assuming common API methods can be defined. globalNetIPTableMark is a constant so I think we can remove it from the API.
Each controller would create its own instance and and it can be  stored in the baseIPAllocationController.  Then perhaps we can define a single method to handle all 3 controllers:
func (c *baseIPAllocationController) allocateIPs(key string, numDesired,  alreadyAllocated string[], conditions *[]metav1.Condition) bool ...
Does this look feasible?

@sridhargaddam How about the following for abstracting the IP table rules for pod egress, cluster egress, and ingress:
...
Does this look feasible?

I pushed https://github.com/submariner-io/submariner/pull/1397. Hopefully this looks reasonable and can at least be a starting point.

@sridhargaddam How about the following for abstracting the IP table rules for pod egress, cluster egress, and ingress:
type Interface interface {
	AddRules(sourceIP, snatIP, globalNetIPTableMark string) error
	RemoveRules(sourceIP, snatIP, globalNetIPTableMark string) error
}

func ForPodEgress() (Interface, error) ...
func ForClusterEgress() (Interface, error) ...
func ForIngress() (Interface, error) ...

I'm assuming common API methods can be defined. globalNetIPTableMark is a constant so I think we can remove it from the API.
Each controller would create its own instance and and it can be stored in the baseIPAllocationController. Then perhaps we can reuse IP allocation code between the controllers.
Does this look feasible?

Should be possible to do this. But IMHO lets first get the basic functionality for datapath working and we can look at this as an optimization once we enable the new controllers.


Menu opens only when clicking the triangle - UI feature request

Based on our usability tests, we noticed that quite many users tried to open the menu by clicking the menu-text.
Is it possible that menu would open also by tapping the menu bar?

Hi, i have the same problem, it is possible to open the sub-menus by clicking the menu-text? i have add the break point data attribute, but i can't click the menu-text. Have you yet a solution for this?
thanks and kind regards

so, this is how I sort of got it working:
This is a Drupal site, so the selectors are the top level menus that I want to click to expand to open the menus.
        $('.menu-mlid-2414 > a, .menu-mlid-2430 > a, .menu-mlid-2438 > a, .menu-mlid-2440 > a', context).on( 'click', function(e){
          e.preventDefault();
          var subMenus = $(this).parents('.flexnav').find('.sub_menu');
          subMenus.each( function() {
            if (!$(this).hasClass('open')) {
              $(this).removeClass('flexnav-show');
              $(this).siblings('.touch-button').removeClass('active');

            }
            else {
              $(this).siblings('.touch-button').addClass('active');
              $(this).addClass('flexnav-show');

            }
          });

The menu opens just fine, but it seems my code fires sometimes before the "open" class is applied.  Randomly, it seems.  This will cause the touch_button to continue pointing down instead of up when the menu is clicked, again randomly.  Sometimes it works just fine.  I am going to try adding a .5s delay.


Bitstreams uploaded in bulk during submission show individual notifications on success/failure

Describe the bug
During submission, users can drag multiple files into the form in order to upload them all at once.
(these uploads are queued client-side).
Currently, each upload shows a separate notification -- this results in groups of 8 notifications being shown for the entire notification countdown. When uploading a large number of files it can take a very long time for these notifications to "run out".
To Reproduce
Steps to reproduce the behavior:

Start a new submission
Drag a large number of files into the form

The uploads will be queued
A whole lot of notifications will pop up continuously
Depending on how many there are it take a very long time for them to stop popping up, even if you complete the submission or navigate away.

Proposed solution
When more than ~4 Bitstreams are being uploaded at once, show a "summary notification" at the end instead
Workaround
If you're stuck in such a notification loop you can refresh the page to get out of it.
Related work
https://github.com/DSpace/DSpace/pull/8485 (noticed while setting up test Items with lots of Bitstreams)

Sounds like this could also be related to https://github.com/DSpace/dspace-angular/issues/2278 ?  It might be possible to solve both tickets by just waiting to show a final "summary notification" instead of implying that you can close the page after the first succeeds.  Pulling this over to the 7.6.x maintenance board


Translation Request: [Russian]

I am able to translate this language

I'm still waiting for your PR. There were at least 2 other people who are willing to help, see #181 and #182.

For those who are looking for Russian translation: https://habr.com/ru/company/mailru/blog/335292/


Use default http.Client instead of creating a new one

This commit follows the default logic I've seen so far: if nil http.Client is passed, use http.DefaultClient instead of creating a new one.
There is the reason for this, according to docs:

The Client's Transport typically has internal state (cached TCP connections), so Clients should be reused instead of created as needed.

Thank you, @dennwc!


Point bug reporters to Linuxbrew first

We want to avoid issues particular to Linuxbrew being sent upstream.
Signed-off-by: Bob W. Hogg<EMAIL_ADDRESS>
[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?

This is the companion PR to Linuxbrew/homebrew-core#1697

Travis is having problems with macOS, but it passed on Linux, so just merging anyways.


npm version issue on Windows?

Just a quick qualification ... I am new to node, npm, github and open source projects in general.
Issue
On Windows i have updated npm to version 2.13.0 but npm-check thinks the latest version is 2.11.3.
On Windows
> npm list -g --depth=0
returns:
C:\Users\Warren\AppData\Roaming\npm
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>...

But:
> npm-check -g
returns:
npm   ?  MINOR UP  Minor update available: https://docs.npmjs.com/
                   npm install --save<EMAIL_ADDRESS>to go from 2.11.3 to 2.13.0

Other Details
The Windows node installer (.msi) installs npm in the same directory as it installs node.
In my case it installed npm 2.11.3 to C:\Program Files\nodejs\node_modules\npm.
I then updated npm using:
npm -g install npm@latest
And it installed npm 2.13.0 to %APP_PATH% which in my case is C:\Users\Warren\AppData\Roaming\npm
So there are two versions of npm on my computer.
This issue is described further here:
https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows
It appears that npm-check is checking (using?) the version installed by the node installer (2.11.3).  While powershell is using the updated version installed via npm itself (2.13.0)
NOTE: I did also test out Option 2 described in the link above and had the same results.

Dylan let me know I can see which directory npm-check uses using this cmd:
>npm config get prefix
My results were:
PS C:\> npm config get prefix
C:\Users\Warren\AppData\Roaming\npm

Interestingly, it pointed to the directory where the latest (2.13.0) was installed.  But npm-check still reports that npm is out of date at version 2.11.3.

I've changed how I find global modules using a package called global-modules - hopefully this fixed the problem, if not please let me know.


GUI support

Hi, how's support for cross platform GUO e.g. swing?

To be honest, I have not thought about GUI yet. My first thought is using Go to call OS APIs. But I don't know if this works.


parsifal: init at 2.2.0

Description of changes
Web application for doing systematic literature reviews. Based on Kitchenham guidelines for systematic reviews in software engineering.

homepage: https://parsif.al/
source: https://github.com/vitorfs/parsifal

Part of https://github.com/NixOS/nixpkgs/issues/164019

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.11 Release Notes (or backporting 22.05 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

it has a pyproject.toml, but it defines no build-system
django project, we have a few, so should be doable
use format "other"
look at paperless-ngx or netbox on how to do it
---@hexa:lossy.network, https://matrix.to/#/!VjfUzaKsXokUdnQcvP:nixos.org/$SwepveINkrnvqACkCwqsZJE4Z6LXiuGIf2CkCk4uskw?via=nixos.org&via=matrix.org&via=nixos.dev

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-in-distress/3604/60


Add ccl::dhashmap to the benchmark results

ccl is a new concurrent collections crate. It would be interesting to see how it stacks up against concache.

A concurrent hashmap benchmark that includes ccl and concache is here: https://gitlab.nebulanet.cc/xacrimon/rs-hm-bench
concache performs much worse (10-100x) than all of the alternatives.

Hi jrmuizel, thanks for bringing this to our attention. Quick question, where do the numbers in INSV and INSV2 come from, are they randomly generated numbers?
Lines found here: https://gitlab.nebulanet.cc/xacrimon/rs-hm-bench/blob/master/benches/hashmap.rs#L13-14

I don't know. Probably best to ask in an issue on that project.

ccl:DHashMap is now added to the benchmarks, thanks for the suggestion!


how to download or access public .cool files included in higlass

higlass is a great tool for Hi-C visualizations. I find it comes with many  Hi-C files for easy visualization. I would like to ask are there approaches to download .cool files or read them directly with API.
Best,
Yanlin

We don't offer the files for download because it has the potential to lead to large data transfer costs. With that said, you can still go on the higlass Slack channel (http://bit.ly/higlass-slack) and ask for the data. Some kind soul may just be willing to send them to you ;-)
What type of API would you like to access them with?

Also worth mentioning that the 4DN data portal has many files available.

Thank you!
I'll try to seek help on the slack channel. An API support direct access to user-specific regions would be great. Something like we access local .cool files with cooler.
Yes, 4DN data portal is a nice place, I've downloaded all datasets. I realized higlass provides more data than 4DN.


[1d] Install dm client inside dotmesh-server(-inner?) container

As a dotmesh dev team, we'd like to be able to easily connect to a dotmesh cluster with dm so we can diagnose broken dotmesh installs - including things like runners, which set dotmesh up so that it's not exposed to the host network.
Currently, to do this on a runner, you need to docker exec into a container attached to the right network, download dm from get.dotmesh.io/unstable/master/Linux/dm, chmod +x it, examine the dotmesh-server-inner container's environment to get the initial admin password, do a dm remote add to get at it... and then you're in. Until the container gets recreated.
However, it wouldn't be too hard to put the dm binary in the dotmesh-server image in root's $PATH, and have require_zfs.sh spit out a working configuration in ~root/.dotmesh/config so we can just exec in and run dm. This would save a fiddly series of steps every time we need to go in and have a look.
ACs

[ ] It's possible to, on a docker install with a dotmesh server running, type (for instance) docker exec -ti dotmesh-server dm list and get back a list of dots.

This is now done!


Fixing the bug in loop_partition.

Bounds check can return interval neg_inf, 0 for conditions such as
(1128 + iter_var8 + 7) < 130. The bound it finds is
(122 - 128)/8. Here iter_var should not be able to take on value 0 since
with that we are already violating the condition. But since bound check
does div, which by default rounds to zero, we get zero.
This diff fixes this for const int bounds when before division it is
knowns that divisor and dividend are constants and if so it does
floordiv, instead of div. This seems ok for condition on iteration
variables, however not clear if it should do floordiv everywhere else.
Originally the generated output is:
produce compute {
for (i0.outer.inner, 0, 16) {
compute[(i0.outer.inner8)] = max(placeholder[(i0.outer.inner8)], 0f)
compute[((i0.outer.inner8) + 1)] = max(placeholder[((i0.outer.inner8) + 1)], 0f)
compute[((i0.outer.inner8) + 2)] = max(placeholder[((i0.outer.inner8) + 2)], 0f)
compute[((i0.outer.inner8) + 3)] = max(placeholder[((i0.outer.inner8) + 3)], 0f)
compute[((i0.outer.inner8) + 4)] = max(placeholder[((i0.outer.inner8) + 4)], 0f)
compute[((i0.outer.inner8) + 5)] = max(placeholder[((i0.outer.inner8) + 5)], 0f)
compute[((i0.outer.inner8) + 6)] = max(placeholder[((i0.outer.inner8) + 6)], 0f)
compute[((i0.outer.inner8) + 7)] = max(placeholder[((i0.outer.inner8) + 7)], 0f)
}
compute[128] = max(placeholder[128], 0f)
compute[129] = max(placeholder[129], 0f)
compute[130] = max(placeholder[130], 0f)
compute[131] = max(placeholder[131], 0f)
compute[132] = max(placeholder[132], 0f)
compute[133] = max(placeholder[133], 0f)
compute[134] = max(placeholder[134], 0f)
compute[135] = max(placeholder[135], 0f)
}
Whereas it should be:
produce compute {
for (i0.outer.inner, 0, 16) {
compute[(i0.outer.inner8)] = max(placeholder[(i0.outer.inner8)], 0f)
compute[((i0.outer.inner8) + 1)] = max(placeholder[((i0.outer.inner8) + 1)], 0f)
compute[((i0.outer.inner8) + 2)] = max(placeholder[((i0.outer.inner8) + 2)], 0f)
compute[((i0.outer.inner8) + 3)] = max(placeholder[((i0.outer.inner8) + 3)], 0f)
compute[((i0.outer.inner8) + 4)] = max(placeholder[((i0.outer.inner8) + 4)], 0f)
compute[((i0.outer.inner8) + 5)] = max(placeholder[((i0.outer.inner8) + 5)], 0f)
compute[((i0.outer.inner8) + 6)] = max(placeholder[((i0.outer.inner8) + 6)], 0f)
compute[((i0.outer.inner8) + 7)] = max(placeholder[((i0.outer.inner8) + 7)], 0f)
}
compute[128] = max(placeholder[128], 0f)
compute[129] = max(placeholder[129], 0f)
}
Thanks for contributing to TVM!   Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers.

(122 - 128)/6

My question is why it will yield 0 instead of -1? Is -6/6 counted as divisible or not?

@yinghai because it rounds towards zero.

-6/6 should be divisible and no rounding, right? I think this part seems suspicious.

@yinghai sorry that was typo. It should be (122-128)/8. It follows from (1128 + iter_var*8 + 7) < 130

Also the condition actually gets converted to interval that ((129-7)-128)/6.

Shouldn't it be something like -5/8?

((129-7) - 128 )/8 gets converted to -6/8. But either way that rounding to zero is a problem.

@yinghai Note sure which code path are you referring to. Can you point? Also I dont think it matter whether condition is returning -ve or +ve. FloorDiv in this case will do the right thing for either side, no?

I'm mostly interested why code did hit this line https://github.com/dmlc/tvm/blob/f3abb3d88f3a1145a4454649b454fe0139f19bc9/src/arithmetic/bound_deducer.cc#L186 given input as x*8 < -5

Probably because of this line https://github.com/dmlc/tvm/blob/f3abb3d88f3a1145a4454649b454fe0139f19bc9/src/arithmetic/bound_deducer.cc#L157.
The condition itself is not x8 < -5. Condition at the point is just expr that is not yet evaluated. Thats why in my changes I need to simplify it first. The check it does is for oeprands type and range of iter var. It seems to me that iter var is proven to be non -ve and the operand_type that is 130 in (128 + iter_var8 + 7) < 130 is positive.

Yeah, could you debug and trace this case and see which branch it is hitting? This might be the right fix.

If given your case it is proven that it is non-neg then that part of the logic is wrong, right?

It makes the assumption that the user of the deduce bound will respect the bounds of x, which I am not sure is holding in this case.


Feature name Microsoft-Hyper-V is unknown.

Enable-WindowsOptionalFeature : Feature name Microsoft-Hyper-V is unknown.
but the Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All works.
Does this mean we have to install some software tool to get Hyper-V

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e70c0069-6174-0591-a6e0-8e46dedae1eb
Version Independent ID: 8a8e8863-9562-211e-fc60-eef9b6a95833
Content: Android Emulator Troubleshooting - Xamarin
Content Source: docs/android/get-started/installation/android-emulator/troubleshooting.md
Product: xamarin
GitHub Login: @conceptdev
Microsoft Alias: crdun

We cover Hyper-V on the hardware acceleration page, and at the end of the troubleshooting section, there is a link to the Windows Hyper-V page. We have no additional information on the underlying Hyper-V technology, but I hope that reference helps.

@pmahend1 is this solved??, please let me know, I am trying to install WSL2 but this error is interrupting me

All I remember is that you need to be on Windows Pro and have CPU that can enable Hyper-V to make it work. It wont work on Windows Home .


Translation: Nepalese

My mother tongue is Nepalese and also I am a fluent English speaker. I graduated with Finance Degree from University in the UK.
I really look forward to pursuing career as a programmer.

@Roshankd1 We'll accept pull requests to add this translation: https://github.com/github/opensource.guide/blob/gh-pages/docs/translations.md


Removing stray .DS_Store files

.DS_Store are ignored, but a few seemed to have snuck (sneaked?) in.

Thanks so much @curtisj44 !


Format files more consistently.

Without going crazy at introducing formatting tools just run some basic formatting on .js and .json files.

I'll self merge this since it's harmless.


[Question] How to compile arm64 CPU  *.so with using mlc_llm.build?

❓ General Questions
I can't find any related option (python3 -m mlc_llm.build --help) to compile model to arm64.
How could I compile the vicuna model to arm64 with using mlc_llm.build?
Step 1:
Follow the step to download vicuna : https://mlc.ai/mlc-llm/docs/compilation/get-vicuna-weight.html
Step 2: Compile model (https://mlc.ai/mlc-llm/docs/compilation/compile_models.html)
$python3 -m mlc_llm.build --model dist/models/vicuna-v1-7b --target "llvm -device=arm_cpu -mtriple=aarch64-linux-gnu" --max-seq-len 768 --quantization q4f16_0

$file dist/vicuna-v1-7b-q4f16_0/vicuna-v1-7b-q4f16_0-cpu.so
dist/vicuna-v1-7b-q4f16_0/vicuna-v1-7b-q4f16_0-cpu.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1cc4fc3796d853da66558e1f35db535c43dd7a5e, with debug_info, not stripped

We are focusing on GPU devices now, CPU is not supported right now


Support Babel 6

React Native 0.16.0-rc uses Babel 6 so this would be nice. I'm not sure how much work that is to do.

Hi @cava23!!
Let me know if this PR https://github.com/APSL/react-native-button/pull/9 works for you and I'll merge it and make a release.

I think it's the best solution right now (take a look at this issue https://github.com/rackt/redux/issues/1033), but keep in mind that the component is written un ES6 style so you should configure your own .babelrc in order to make it working.

Thanks for the PR. Unfortunately, I’m still having trouble. react-native-button pulls in it’s own version of react-native since I guess 0.16.0-rc doesn’t satisfy the dependency. I’m wondering if that’s an npm bug. I’m just going back to 0.15.0 for now. Uhhggg.

On Dec 2, 2015, at 12:50 AM, Álvaro Medina Ballester<EMAIL_ADDRESS>wrote:
I think it's the best solution right now (take a look at this issue rackt/redux#1033 https://github.com/rackt/redux/issues/1033), but keep in mind that the component is written un ES6 style so you should configure your own .babelrc in order to make it working.
—
Reply to this email directly or view it on GitHub https://github.com/APSL/react-native-button/issues/8#issuecomment-161223430.

Changing the last line of Button.js to:
module.exports = Button;
got it working on 0.16.0-rc.

On Dec 2, 2015, at 10:09 AM, Andrew Crowell<EMAIL_ADDRESS>wrote:
Thanks for the PR. Unfortunately, I’m still having trouble. react-native-button pulls in it’s own version of react-native since I guess 0.16.0-rc doesn’t satisfy the dependency. I’m wondering if that’s an npm bug. I’m just going back to 0.15.0 for now. Uhhggg.

On Dec 2, 2015, at 12:50 AM, Álvaro Medina Ballester<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
I think it's the best solution right now (take a look at this issue rackt/redux#1033 https://github.com/rackt/redux/issues/1033), but keep in mind that the component is written un ES6 style so you should configure your own .babelrc in order to make it working.
—
Reply to this email directly or view it on GitHub https://github.com/APSL/react-native-button/issues/8#issuecomment-161223430.

That's strange. I'm going to change the ES6 style and make a release. Once it's done, let me know if it works for you.

@cava23 keep in mind that the PR hasn't been merged yet, so if you want to try it you should install from it's own branch.

Just pushed https://github.com/APSL/react-native-button/releases/tag/v2.3.0. Let me know if it works for you!

That worked! Thanks.

On Dec 3, 2015, at 2:15 AM, Álvaro Medina Ballester<EMAIL_ADDRESS>wrote:
Closed #8 https://github.com/APSL/react-native-button/issues/8.
—
Reply to this email directly or view it on GitHub https://github.com/APSL/react-native-button/issues/8#event-481232545.

btw, this commit https://github.com/facebook/react-native/commit/dff8f53664009f49756c79f5f7c4982eaa39a5c3 https://github.com/facebook/react-native/commit/dff8f53664009f49756c79f5f7c4982eaa39a5c3 fixes the issue with ES6 module export.

On Dec 3, 2015, at 6:23 PM, Andrew Crowell<EMAIL_ADDRESS>wrote:
That worked! Thanks.

On Dec 3, 2015, at 2:15 AM, Álvaro Medina Ballester<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Closed #8 https://github.com/APSL/react-native-button/issues/8.
—
Reply to this email directly or view it on GitHub https://github.com/APSL/react-native-button/issues/8#event-481232545.


Feature Request: Format USB Before Extracting Files

I have a 64 gb usb stick and i cant format it to FAT32 with the explorer or disk management. it would be cool to format the usb drive for you and then initialize the extract process

Hi, I'm not sure I'm willing to bring this into the tool as it would need administration privileges to run. Also I don't know if there are suitable implementation in rust...
Why exactly are you not able to format your USB drive from Windows?

Normally in windows you cannot format in FAT32 a storage device that has over 32 GB Capacity. I tried using tools online but with no result. I ended up making a partition with 32 then formatted it into FAT32 and copied the files. Although I didn't tested it because im skeptical about it. So i haven't tested it yet
Hi, I'm not sure I'm willing to bring this into the tool as it would need administration privileges to run. Also I don't know if there are suitable implementation in rust...
Why exactly are you not able to format your USB drive from Windows?
—
Reply to this email directly,  view it on GitHub , or  unsubscribe .
You are receiving this because you authored the thread. Message ID:  <zeld/psa-update/issues/12/2457662652 @ github . com>

Indeed, from what I read it is not possible to format 64 GB drives using FAT32 with explorer or drive tool. But it seems to be possible using format from command line: format /FS:FAT32 D: where D: is the drive letter. Did you try this?
If it works I can add a word about it in the README.

Il give it a try and come back with a response.
Thanks 👍
Indeed, from what I read it is not possible to format 64 GB drives using FAT32 with explorer or drive tool. But it seems to be possible using  format  from command line:  format /FS:FAT32 D:  where  D:  is the drive letter. Did you try this?
If it works I can add a word about it in the README.
—
Reply to this email directly,  view it on GitHub , or  unsubscribe .
You are receiving this because you authored the thread. Message ID:  <zeld/psa-update/issues/12/2459069003 @ github . com>

Oh i just saw your edit after i tried it. well yeah it failed ofc. but would it be fine if i made a partition and thats all (32 gb)
it should work like normal as far as i know. what do you think?

I think it should be OK to create a 32 GB FAT32 partition on the 64 GB device. Worst case scenario here is that the car does not recognize the device, and will not be able to detect update files.
Alternatively I expect the fat32format to be able to format a 64 GB partition as this is the tool that is used by the official vendor application.

I updated the README with USB drive prerequisites and would be interested by your feedback.
Then, since I'm not planning to bring this feature into the tool as mentioned earlier, I'll close this issue.

the README is great. i will type here if the partition method worked because i will try it in this weekend (although it should work with no problems but just in case) and the you may close this!! Thanks. 😊

It worked!!

Cool, thanks for the update!


Beautify extension not working

I have added /ace/ext-beautify.js" extension to my angular.json and am trying to use the beautify extension. When I try to use it it gives that the function is not present. Here is what I have tried inside my component:
@ViewChild('editor') editor;

let beautify = this.editor.getEditor().require('ace/ext/beautify');
beautify.beautify(this.editor.getEditor().session);
// this.editor.getEditor(...).require is not a function

this.editor.getEditor().beautify(this.editor.getEditor().session);
//this.editor.getEditor(...).beautify is not a function

Any help?

@ganeshkbhat , @itsmeneartou  did you solve this problem?

I am using the ace editor(for showing line numbers and styles) but I am not using the function beautify as of now but I do want to beautify the html in future. I checked my angular.json and it had the following in scripts tag and I remember it did rectified some error which was shown in logs but I don't remember exactly the error.
            "scripts": [               "node_modules/ace-builds/src-min/ace.js",               "node_modules/ace-builds/src-min/mode-python.js",               "node_modules/ace-builds/src-min/theme-chrome.js",               { "bundleName": "mode-html", "input": "node_modules/ace-builds/src-min/mode-html.js" }             ]
and in template I am using ace-editor as follows
        <div class="ace_tooltip"  ace-editor          [(text)]="html"          [mode]="'html'"         class="textBox ace-editor"          [theme]="'eclipse'"         [readOnly]="false"         [autoUpdateContent]="true"         [durationBeforeCallback]="1000"         (textChanged)="onInstructionsChanged($event)"         style="overflow-wrap: break-word;margin: 16px">

Temporary use different option to retrieve well formed XML:
`    private prettifyXml(sourceXml) {
const xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');
const xsltDoc = new DOMParser().parseFromString([
// describes how we want to modify the XML - indent everything
'<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">',
'  <xsl:strip-space elements=""/>',
'  <xsl:template match="para[content-style][not(text())]">', // change to just text() to strip space in text nodes
'    <xsl:value-of select="normalize-space(.)"/>',
'  </xsl:template>',
'  <xsl:template match="node()|@">',
'    xsl:copy<xsl:apply-templates select="node()|@*"/></xsl:copy>',
'  </xsl:template>',
'  <xsl:output indent="yes"/>',
'</xsl:stylesheet>',
].join('\n'), 'application/xml');
    const xsltProcessor = new XSLTProcessor();
    xsltProcessor.importStylesheet(xsltDoc);
    const resultDoc = xsltProcessor.transformToDocument(xmlDoc);
    const resultXml = new XMLSerializer().serializeToString(resultDoc);
    return resultXml;
}`

I get it worked by:
let beautify = window.ace.require('ace/ext/beautify');
beautify.beautify(this.responseXmlEditor.getEditor().session);

for best results over an xml that has xml declaration I first use vkbeautify.xml (https://github.com/vkiryukhin/vkBeautify) and than call ace beautify and results are awesome.
reason to call ace beautify is that vkbeautify doesn't work nicely with xml self closing elements.
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header>

angular.json
{
  "projects": {
    "YourApp": {
        "architect": {
          "build": {
            "options": {
              "scripts": [
                  "node_modules/ace-builds/src-min/ace.js",
                  "node_modules/ace-builds/src-min/ext-beautify.js"
                ]
            }
          }
        }
    }
  }
}

angular template
<ace-editor #editor ...></ace-editor>

angular component
import * as ace from 'ace-builds';

@ViewChild('editor') private editorRef: any = undefined;

let beautify = ace.require("ace/ext/beautify");
beautify.beautify(this.editorRef.getEditor().session);


Suggest and auto fill title and description based on image location

Description (required)
Fixes #259
What changes did you make and why?
Tests performed (required)
Tested on prod Debug
Screenshots showing what changed (optional - for UI changes)

@misaochan If everything works perfectly for you, I will go ahead and add test cases. :)

Codecov Report

Merging #3323 into master will decrease coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #3323      +/-   ##
=========================================
- Coverage     7.5%   7.48%   -0.03%
=========================================
  Files         255     255
  Lines       11206   11238      +32
  Branches      895     897       +2
=========================================
  Hits          841     841
- Misses      10303   10334      +31
- Partials       62      63       +1

Impacted Files
Coverage Δ

.../java/fr/free/nrw/commons/nearby/NearbyPlaces.java
0% <ø> (ø)
:arrow_up:

.../free/nrw/commons/repository/UploadRepository.java
0% <0%> (ø)
:arrow_up:

...upload/mediaDetails/UploadMediaDetailFragment.java
0% <0%> (ø)
:arrow_up:

...mons/upload/mediaDetails/UploadMediaPresenter.java
72.83% <0%> (-11.45%)
:arrow_down:

...nrw/commons/repository/UploadRemoteDataSource.java
0% <0%> (ø)
: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 d26b436...6f90671. Read the comment docs.


[Docs] More tutorials

Tutorials are working out to be a lot better than clunky auto-generate API reference.
Tutorial articles can come in 2 forms:

Explaining how to use neon-js in a specific manner
Explaining how a specific part of NEO works

@snowypowers I'd love to work on doInvoke! Also, invocationtransactions in general, since I had a ton of work done on it with my Neoblog project.

#191 added basic doInvoke guide

@snowypowers NEP-5 tutorial would be nice?

I do think the doInvoke tutorials covers most of it. We can adjust them instead. Unless you have something more in mind?


PyJWT

I may be a bit biased and curious, if you're only using a subset of the spec, why not use PyJWT instead of python-jose?

There was no reason really.  I'd be happy to write a backend for it!

Got it, I'll make sure we actually verify those two other claims that we currently don't, and update our entry on jwt.io. Might not really make much sense to have another backend for it though.
As a side note,  IMO I think another advantage at using PyJWT is that at the moment PyJWT has some more visibility and usage than python-jose, so we tend to get vulnerability reports/issues reported/fixed a bit faster.

Yeah I had gotten the impression that PyJWT is a bit more popular and actively maintained.  Maybe I can just make a backend for PyJWT and have that be the default backend.
By the way, I wanted to mention to you that I considered submitting pull requests to django-rest-framework-jwt to add the features that ended up going into Simple JWT.  But it seemed like I just had too many things I wanted to do differently (e.g. separate access and refresh tokens, separate auth backend that creates dummy user object, etc.).  So I just went ahead and coded up a separate library that worked the way I needed for the particular project I was working on.  Just wanted to let you know what the story was there.

Great! I can send a PR later doing just that if you'd like.
I imagined that was it. To be honest, the project lost a bit of focused some time back, some features were pulled in that really shouldn't have, and too many hooks for extending were introduced, that's why I was hoping for a revamp, but I'm tied up a bit at the moment, and not working recently with any projects needing it. It's a shame really, since we(django-rest-framework) have been pointing users to it. This might eventually just be its successor.

Cool.  Yeah, if you have the time to make a PR feel free.


Bump keepalived role

The keepalived role prior to version 2.6.0 is defect in how it
configured keepalived to execute the VRRP check scripts, leading
to undefined results or in worst case failing keepalived instances.
This change increases the version required for this product to 2.6.0
connects #2037

@alextricity25 It seems like we need to upgrade keepalived due to the concerns voiced at https://review.openstack.org/#/c/449305/ preventing newton from including a functional role. At this point I don't think the community is willing to merge the upstream PR

looks good, will approve after gate passes

@odyssey4me I'm testing this exact version under Newton and it does not break, the upstream comments actually refer to the change inside haproxy-install.yml not in the role by itself.

@odyssey4me @BjoernT Is this something that we still need?

Yes I still want it, we likely will sell more haproxy over F5 soon

@BjoernT It doesn't look like this is actually needed anymore. In OSA the default in newton is to use version 2.6.0: [ https://github.com/openstack/openstack-ansible/commit/d4089f1621a9a075830c916c8cf64253b2821bd1 ]. I think we can close this patch as it stands.

Here's the link into stable/newton https://github.com/openstack/openstack-ansible/blob/stable/newton/ansible-role-requirements.yml#L25-L28 I think we simply need to ensure we're running on the correct stable release and we should be good to go.

master bumped. can you see if it's resolved @BjoernT?

Sha bumped closing this issue.


DeskPi Lite - Please implement PWN fan control service as well as / instead of limited Raspberry Pi OS functionality.

@yoyojacky Hi, it would be very simple for you to implement a PWM fan control service for the Pi4 with respect to the DeskPi Lite case - this case hardware uses direct GPIO header connections for the included PWM capable fan. Like in your bigger DeskPi case software, you could easily change from a /dev/ttyUSB0 to a GPIO PWM fan control service.
For anyone else wanting to implement some form of PWM fan control, please see the included python3 script code below. This will enable: -
< 40'c       - Fan 75%, for a minimum of 60sec
40'c to 45'c - Fan 85%, for a minimum of 120sec
> 45'c       - Fan 100%, for a minimum of 180sec

In everyday use, this script offers good temperatrue control, with the CPU temp rarely reaches > 45'c and general fan noise is very low and still keeps good control via the PWM fan vs standard Raspberry Pi OS PWM fan control via /boot/config.txt or raspi-config.
 #!/usr/bin/python3

import RPi.GPIO as GPIO
import time
import subprocess

GPIO.setmode(GPIO.BCM)
GPIO.setup(14, GPIO.OUT)
pwm = GPIO.PWM(14,100)

print("\nPress Ctrl+C to quit \n")
dc = 0
pwm.start(dc)

try:
    while True:
        temp = subprocess.getoutput("vcgencmd measure_temp|sed 's/[^0-9.]//g'")
        if round(float(temp)) >= 45:
            dc = 100
            pwm.ChangeDutyCycle(dc)
            print("CPU Temp:",float(temp)," Fan duty cycle:",dc)
            time.sleep(180.0)
        if round(float(temp)) >= 40:
            dc = 85
            pwm.ChangeDutyCycle(dc)
            print("CPU Temp:",float(temp)," Fan duty cycle:",dc)
            time.sleep(120.0)
        else:
            dc = 70
            pwm.ChangeDutyCycle(dc)
            print("CPU Temp:",float(temp)," Fan duty cycle:",dc)
            time.sleep(60.00)

except KeyboardInterrupt:
    pwm.stop()
    GPIO.cleanup()
    print("Ctrl + C pressed -- Ending program")

Hi CaptainMidnight,
OK, I will follow up this.


adding browserify transform

Most common use case for tempistry is with a browserify transform, so adding it here.

CLA is valid!


Fixed it all!

Fixed som commits that was'nt staged to develop

Looks good! Double-checked the branch and gave found the animation still needed to be updated after being ignored by git apperantly. I also sorted the prefab directory a bit.


Steps to Reproduce Results from Paper

Hi, thanks for releasing this code! Very cool project. I'm trying to reproduce your results from the upcoming CVPR paper but the experiments as given in the repo don't seem to work. I successfully installed all the requirements (took some modification as the specified tf version is now very old), built the user ops, ran the create.py scripts to generate the datasets and tried to run the main training but then had some issues.

The default experiment cli.py --prod errors out immediately when the assert 'dynamic in eval flow types fails.
I then  tried adding the sota_us and sota_net arguments which lets it actually train but the loss is extremely unstable and errors out afte 1-6k iterations with this:

Invalid argument:  assertion failed: [5] [0.0162323527 0.0989187136 0.164023072...] [inf inf inf...]
         [[{{node our_pillar_model/unsupervised_loss/knn_loss_components_3/get_flow_matches_loss/bw/Assert/AssertGuard/else/_4943/our_pillar_model/unsupervised_loss/knn_loss_components_3/get_flow_matches_loss/bw/Assert/AssertGuard/Assert}}]]

Here's a picture of the loss curve:

Could you please give some instructions on how to correctly set up the experiments? I would really like to include your method in my next submission.
Thanks

Hi @nchodosh,
thanks for your issue.

Our formulation in the README might have been a bit misleading. cli.py --prod is indeed the correct entry point, but we never used it stand-alone. We have a lot of assertions that try to check that all set config values work together, and if they do not, then an assertion is trying to tell you which config values are conflicting and why. We acknowledge, that those might not be super helpful, as they are quite low-level, and you need to have a lot of understanding of the config values, what they do, and why some configurations are not allowed, because they, in one way or the other, do not make sense.

We had to refactor a lot of code to comply with our company policy regarding code publication. This is also the reason why it took us so long (over half a year since publication of the paper) to even bring it out on GitHub. Sadly, at this point, we cannot guarantee that nothing did break during the refactoring, as we only did very superficial testing due to time constraints. And of course changing the TensorFlow and perhaps other package versions might introduce small changes in behavior that cannot be foreseen. As we ourselves do not have the time to try and reproduce your training on our side, we can give no insights from this high level, regarding this very generic bug of occurring infinities. We admit, that during all our trainings including segmentation prediction, we had many stability issues and the trainings were never really stable to begin with (we even have a dedicated source file for helper functions numerical_stability.py), so the curve you are showing does not seem to be way off, although we cannot remember exact scales and shapes of our loss curves. To be clear, with stability we are referring to the loss curve fluctuations which were still present in the final versions. We had during the development phase problems with infinities and nans, but for the final paper publication runs, those did not occur anymore through our efforts in safeguarding against them in specific situations, e.g. all/no points masked, gradient explosion for special values, weight sums of 0 etc. If you can try to pinpoint the source of the first infinity in the training (forward or backward pass), feel free to open a new issue. We feel very confident to discuss specific code segments with you and help you to get the experiment running. Common sources for us where the inference and gradient pass through the Kabsch operator (in this repo called weighted_pc_alignment) and the correct masking of points, as well as normalization and loss computation of segmentation predictions based on the self-supervised signal. Just having the self-supervised flow train using the point-adapted RAFT architecture and KNN signal, without any Kabsch and motion segmentation, produced much more stable trainings.

Thanks for your questions and good luck with your project.

@nchodosh hi, I'm very excited to see you successfully run the experiment, passing in the same parameters as you, but the training video memory will be exceeded, and a warning will be prompted :** [UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape] **, and eventually it will be terminated because the video memory is full. Pls are you having a problem with ** tf.gather() **passing in parameters


AttributeError: 'EasyDict' object has no attribute 'depth'

After I run this command:
python run.py -d options/examples/default_configuration.yml
The results showing below is:
Save result in result/tmp/0/? [y/n]y
Traceback (most recent call last):
File "run.py", line 84, in
vo = DFVO(cfg)
File "/home/qzhou10/Documents/DF-VO/libs/dfvo.py", line 51, in init
self.setup()
File "/home/qzhou10/Documents/DF-VO/libs/dfvo.py", line 68, in setup
self.dataset = Dataset.datasetsself.cfg.dataset
File "/home/qzhou10/Documents/DF-VO/libs/datasets/kitti.py", line 68, in init
super(KittiOdom, self).init(*args, **kwargs)
File "/home/qzhou10/Documents/DF-VO/libs/datasets/kitti.py", line 23, in init
super(KITTI, self).init(*args, **kwargs)
File "/home/qzhou10/Documents/DF-VO/libs/datasets/dataset.py", line 31, in init
self.data_dir = self.get_data_dir()
File "/home/qzhou10/Documents/DF-VO/libs/datasets/kitti.py", line 105, in get_data_dir
data_dir['depth_src'] = self.cfg.depth.depth_src
AttributeError: 'EasyDict' object has no attribute 'depth'
Do you know how to solve this problem?
Thanks a lot.

HI @quanqhow  could you double check your default_configuration.yml and see if depth is there.

I can confirm that depth is there in default_configuration.yml.

@Huangying-Zhan I found that there's a typo in depth part. I have solved this issue, thank you very much.


[microTVM][RVM] Always destroy the VM if all tests pass

Currently base-box-tool 'test' command will skip destroying the test VM
if a single provider is specified (i.e. --provider virtualbox) even if
all release tests pass. This is confusing (no warning is displayed to
the user) and that will leave host resources (like USB devices necessary
to run the test) locked by the VM. So if the user tries to use the same
USB device the program using the device (e.g. openocd) will cryptically
fail.
Moreoever, even if all tests pass and more than one provider is
specified but the option '--skip-build' is set a VM will be left running
without notice.
This commit changes that behavior by:

Always destroying the VM if the release test pass

Always keeping the VM up and running if a test fails

guarantees no resource remains locked by the VM without necessity. A
new flag '--skip-destroy' is introduced in case the user still wants to
keep a VM up and running if the release test pass. 2. guarantees the VM
where the test failed is left running for further inspection of the test
that failed.

Finally, for both 1. and 2. cases a proper message is displayed to the
user to inform if a VM was left running or not and about what actions
the user can take next accordingly to the test result in the VM.
Signed-off-by: Gustavo Romero<EMAIL_ADDRESS>Thanks for contributing to TVM!   Please refer to guideline https://tvm.apache.org/docs/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

@areusch Just as a hint for the context of that issue, that's the one we've discussed a week ago when I was using the RVM to test the Project API and was switching back and forth testing Zephyr on disco board inside the RVM and outside it (on my host) and the tests on the hosts started to fail with mysterious messages, then I found a RVM was left running without notice and locking the USB device. cc @mehrdadh as well. Cheers.

@gromero could you comment on this one?

@mehrdadh @leandron @areusch Pardon, I totally missed the review messages here. Thanks @mehrdadh for poking me on that. I fixed the typo @leandron spotted plus a grammar I found while rereading the changes. Everything hopefully is fine now. Thanks folks!

thanks @gromero !


Disable mouse acceleration feature question

Hello, I recently found this programm and was wondering how this specific feature to disable mouse acceleration works because it doesn't seem to use this command "defaults write -g com.apple.mouse.scaling -integer -1" because its value always stays the same. It would be nice if someone could tell me. Im new to programming and my knowledge about Swift is basically zero so excuse me. Thanks!

You can refer to the code below:
https://github.com/linearmouse/linearmouse/blob/e8bc2cc4a2904f8c709b85ff4ecd946bb5f7774c/Modules/PointerKit/Sources/PointerKit/PointerDevice.swift#L146-L158
When pointerAcceleration of a PointerDevice is set to -1, its pointer acceleration is disabled.
For more information about this feature, please visit https://go.linearmouse.org/disable-pointer-acceleration-and-speed.

I'm not aware of any command that can disable pointer acceleration for a specific pointer device. That's why I need to write an app to do so.
The command you've mentioned actually sets the tracking speed of mouse to -1 in System Settings. I'm not sure what do you mean by it "doesn't seem to do the job for me."

So, Im trying to disable mouse acceleration and people said the the command I mentionned does so but I doesn't really change anything in my case so I was wondering how LinearMouse does it. The code snippet you gave me doesn't really give me any idea. Thanks

In principle, they do similar things, they both set the pointer acceleration to -1. Except that LinearMouse sets the pointer acceleration for a particular device, while the command you mentioned sets the global mouse acceleration. Also, you need to log out for the command to take effect. Maybe you do not have logged out after executing the command?

So I logged out after and checked it it was set to -1 and it was but i could still feel mouse acceleration. Oh and how does LinarMouse achieve turning it off without the user needing to log out first. Thanks

System APIs are more low-level than the provided command-line utilities, so you have more control and flexibility when using them. For example, LinearMouse uses system APIs to read and write to the I/O registry directly.
Of course, you can write a third-party command-line program to read and update the pointer acceleration of pointing devices in the I/O Registry with system APIs, but there is no such built-in utility on macOS.

Thanks


Add Hubot

https://github.com/duxet/awesome-hubot

The list is not very comprehensive. Awesome lists are hard work. Just putting a few links without any context isn't very useful. Put some more work into it. Take a look at some other lists and see how they do it. E.g. https://github.com/sindresorhus/awesome-electron https://github.com/sindresorhus/awesome-npm
Add links to some blog posts, videos, community resources, official docs/website/forum/irc/etc, more scripts.
Try again in a month and I'd be happy to reconsider.

Hi! 👍
The repo was updated: https://github.com/duxet/awesome-hubot
@duxet


Remove the IsValid from the API in lieu of Valid

This noted in the previous release notes that this would be removed from the next validator release.

Correction, this is to be removed for version v1.1.0 NOT v1.0.2


📖  Fix SBOM-Everywhere link

I noticed this link was broken (404) when trying to follow it.
What kind of change does this PR introduce?
Docs Update

[x] PR title follows the guidelines defined in our pull request documentation

What is the current behavior?
404 on clicking the link
What is the new behavior (if this is a feature change)?**
Linking to a valid markdown document.
Which issue(s) this PR fixes
NONE
Special notes for your reviewer
Does this PR introduce a user-facing change?
NONE

The old link seems to resolve fine for me

Whoops, this was an error on my part. My browser was switching tabs to the new link when I pasted in the old link because I already had it open. The current link is definitely broken!
Happy to get this merged in. Can you follow the steps in Updating the docs?


Workflows - Implement workflow id reuse policy

Is your feature request related to a problem? Please describe.

Following the implementation of the workflows in beta, there will be a missing option - the ability to re-use a workflow id according to a policy defined currently with an internal proto.
https://github.com/dapr/go-sdk/pull/487/files/2caa353577990d4689512c2fa52e3dbefe96b37b#r1459651372
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Closing in favour of an earlier issue created: #493


improve 'add node' UI

add input filed for node IP, and generate command like:
wget --content-disposition "http://$MASTER_IP:8761/discovery/agent/haven-agent.py?node=$SELF_IP:2375"
 chmod +x haven-agent.py

where $SELF_IP - the node ip

Added this feature to both 'dev' and 'master' branches.


yapb causes xash3d to crash when removing a bot

Yapb works fine in xash3d until you try to kick a bot or all of them. Error says "NET_SendPacket: bad address type 0"
CS1.3
OS: Windows 10
Xash3D fwgs
yapb-2.9.5395-dev-git341-windows

Hello. Xash3d version?

In Xash3d build 4529 when I kick a bot it disconnects me from the game but in Xash3d FWGS 0.99 game crashes entirely.

Sorry, can't reproduce.
https://drive.entix.io/f/8234b257341b4b7097ab/
Can you dump all the game directory, and send link to<EMAIL_ADDRESS>?

I have a poor internet connection is it okay if I just upload the exe and the dll's that I'm using?

EXE, dlls and cstrike/mp.dll.

here are the cl_dll mp.dll and the xash 4529 build that i'm using!
https://drive.google.com/file/d/1bAYZqffc4grIhwF1IZx-3W6Oaw2Jfiz9/view?usp=drive_open

Well. It's actually not a FWGS fork of Xash3d, it's original Xash3d by Uncle Mike. And it's crashing somewhere inside engine.
Try to use real FWGS fork from here: https://github.com/FWGS/xash3d/releases

I tried to use the updated Xash3d-FWGS engine and the problem is also present. https://github.com/FWGS/xash3d-fwgs/releases

It's not engine that you want.
https://github.com/FWGS/xash3d/releases correct one.
The xash3d-fwgs is currently under development.


portus is using absolute path instead of relative path

Hi
I deployed my portus as a docker container, and deployed another nginx container with configured proxy forward to this portus container.
everything is working great, except there're couple  tag link (to do with account) that's using absolute path instead of relative path. this causes problem since I'm using nginx as proxy forward.
e.g.

the dashboard button on the left side bar has the hyper link
href="/namespaces" (relative url)
the above is fine, since it's a relative url
But the below have problem

the logout button has the hyper link
http://portus/users/sign_out (absolute url)
this wouldn't work because "portus" is actually my docker container hostname, not the physical machine's domain name.
Would it be possible to change all hyper link in portus to relative path instead of using absolute_path, this would allow user to set up portus as a docker container, and have another nginx container to do a proxy forward request to the portus container.

@Shuliyey try to change this in config.yml?

Hi
Sorry, after some investigation I managed to solve the problem using the below nginx configuration
http {
    .....
    server {
        .....
        location / {
	    proxy_set_header Host $http_host;
            proxy_set_header  X-Real-IP         $remote_addr; # pass on real client's IP
            proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Proto $scheme;

thx @guiguan, that helped :+1:

Thanks @Shuliyey for reporting this and thanks @guiguan for helping out.

But I still think using relative path is better than using absolute path. But maybe in this case it's difficult because the link is generated using rails mvc framework

Yeah, I agree.

@Shuliyey @guiguan This is being addressed with #682.

thank you @mssola  :smile:

@Shuliyey merged into both master and v2.0. The next patch-level release (which will be released pretty soon) will include this fix ;)


Fix related nodes

This PR fixes the /get-related route, by letting Neo4J return the paths (which come with all properties) instead of just the relations (which do not have node properties in them), and then getting the start/end nodes by using the start_node and end_node attributes on the relations.

Seems good!


Continuous deployment should happen in script, not after_success

Travis does not report errors occurring in after_success. We should instead be deploying as part of script, where an error will appear as a failed build.

Fixed by ba2e0375eef495cf4a3b487167b2a10a59f6007c


How do I unmap a driver?

How do I unmap a driver?

Just start kdmapper with --free or check the source for further learning


[bug]: New CLI vite installation instructions lead to No Tailwind error

Describe the bug
Follow exact instructions for CLI vite and receive error.
Affected component/components
CLI
How to reproduce
https://ui.shadcn.com/docs/installation/vite
Codesandbox/StackBlitz link
No response
Logs
No response
System Info
✔ Preflight checks.
✔ Verifying framework. Found Vite.
✖ Validating Tailwind CSS.
✔ Validating import alias.

No Tailwind CSS configuration found at **C://.../project**
It is likely you do not have Tailwind CSS installed or have an invalid configuration.
Install Tailwind CSS then try again.
Visit https://tailwindcss.com/docs/guides/vite to get started.

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

Hi, I'm also experiencing the same issue. The workaround is to manually add these to App.css
@tailwind base;
@tailwind components;
@tailwind utilities;

Thank you for all the hardwork.

Hi, I'm also experiencing the same issue. The workaround is to manually add these to App.css
@tailwind base;
@tailwind components;
@tailwind utilities;

Thank you for all the hardwork.

This worked for me, thanks!

PR #4824 should include the full instructions for vite to avoid the cli no tailwind error


Lazysizes NPM package

Question
Stupid question - how can I roll out / deploy without having to call bin/build-storefront.sh every time? Wihtout the all.js file is not containing the lazysizes lib and images are not loaded
We are using a cluster of 3 nodes.

Hi, is there any reason you don't use https://packages.friendsofshopware.com/ ?

@tinect yes, sometimes we need a quick solution, therefor in the first few testing weeks we version it on our private gitlab server.
I guess it is then bc of the missing dist/storefront/js folder - weird that it was not created.

You could use the release-zip 🤔


.ps1 launch problem in scripts/* ES folder

Concerned project
Retrobat
Distribution Version
Retrobat V6
Architecture
Windows 11 pro
Issue description
Hello,
I adapted my python script in ps1 but it doesn't launch at all. On the command line from the /scripts/game-selected folder it launches fine.
For example:
.\run.ps1 "mame" "C:/RetroBat/roms/mame/cotton2.zip" "Cotton 2: Magical Night Dreams"
But from ES/Retrobat onwards, when I change game, I see a split-second window appear and disappear.
Perhaps the way the scripts are launched has changed?
Thanks
Logs and data

Function Load-Config {
    try {
        $configIniFilePath = "C:\RetroBatV6\plugins\MarqueeManager\config.ini"
        Write-Host "Checking for config file at: $configIniFilePath"

        if (-Not (Test-Path $configIniFilePath)) {
            Write-Error "Fichier de configuration non trouvé at $configIniFilePath."
            exit 1
        }

        $iniContent = Get-Content $configIniFilePath -Raw
        $config = @{}
        $currentSection = ""

        foreach ($line in ($iniContent -split "`n")) {
            $trimmedLine = $line.Trim()
            if ($trimmedLine.StartsWith("[") -and $trimmedLine.EndsWith("]")) {
                $currentSection = $trimmedLine.Substring(1, $trimmedLine.Length - 2)
                $config[$currentSection] = @{}
            } elseif ($trimmedLine -match '^\s*(\S+)\s*=\s*(.*)') {
                $key, $value = $matches[1], $matches[2]
                $config[$currentSection][$key] = $value
            }
        }

        Write-Host "Successfully loaded config from $configIniFilePath"
        return $config
    }
    catch {
        Write-Error "Error loading configuration file: $_"
        exit 1
    }
}

Function Send-Event {
    param ($event, $params, $serverUrl, $currentTime)
    try {
        # Construct the query string with params
        $queryParts = foreach ($key in $params.Keys) {
            "$key=$([System.Uri]::EscapeDataString($params[$key]))"
        }

        # Add timestamp at the end
        $queryParts += "timestamp=$currentTime"
        $query = $queryParts -join "&"

        # Construct the full URI
        $fullUri = "${serverUrl}?event=$event&$query"
        Write-Host "Requesting URI: $fullUri"  # For debugging

        $response = Invoke-WebRequest -Uri $fullUri -UseBasicParsing

        # Uncomment to see the response text
        # Write-Host $response.Content
    }
    catch {
        Write-Host "Erreur lors de l'envoi de l'événement : $_"
    }
}

Function Get-CurrentDirectoryEvent {
    $currentDirEvent = Split-Path (Get-Location) -Leaf
    Write-Host "Current Directory Event: $currentDirEvent"  # For debugging
    return $currentDirEvent
}

$epochStart = [datetime]"1970-01-01T00:00:00Z"
$current_time = (New-TimeSpan -Start $epochStart -End ([datetime]::UtcNow)).TotalSeconds
$config = Load-Config

$configHost = $config['Settings']['host']
$configPort = $config['Settings']['port']

if (-not $configHost) { Write-Host "Host value not found in configuration." }
if (-not $configPort) { Write-Host "Port value not found in configuration." }

$server_url = "http://${configHost}:${configPort}"
Write-Host "Host URL: $server_url"

$event = Get-CurrentDirectoryEvent
Write-Host "Event: $event"  # For debugging

# Use $args directly to get the arguments passed to the script
$params = @{}
for ($i = 0; $i -lt $args.Count; $i++) {
    $params["param$($i + 1)"] = $args[$i]
}

Send-Event -event $event -params $params -serverUrl $server_url -currentTime $current_time

Ok, I've just been told that you can't directly launch a ps1 on windows, which doesn't allow execution.
This will open a notepad-type reader by default.
You need to bypass it...

Aynshe helped me understand. I had associated the .ps1 files with my IDE. Sorry about that.
What is certain is that you have to go through an intermediate .bat to authorize the execution of a ps1, so you can't run it directly.
@echo off
powershell -ExecutionPolicy Bypass -File "..\run.ps1" %*

It's ok. Thanks.

Thanks for all the tests. You're absolutely right, .bat are very efficient and I'm going to use them from now on. Unfortunately, you can't attack a URL directly with them, so I'm going to use an intermediate file that I'll listen to.
Thank you for this project, the complexity and power of which I can now appreciate.

"I did not try Python but it would probably be the slowest ( exceeding 1 second )" : for sure, no. very strange assumption.

as a comparison, time to load python on linux is 0.68 seconds.
$ time python3 </dev/null
real	0m0,068s
user	0m0,055s
sys	0m0,014s
$

In fact, Fabricecaruso was talking about a python script compiled for windows with Pyinstaller, and indeed it takes a second or so, a little less to launch. He's got a point there.
It's true that launching python directly from the command line is very fast, but not everyone has python installed on Windows.


Desktop notifications are sent only sporadically

My Setup

Operating System: macOS 10.15.4
App Version: 2.17.9
Installation type: DMG

[X] I have tested with the latest version
[X] I can simulate the issue easily

Description
Since a few weeks, desktop notifications are not realiable anymore on my 3.1.1 (updated today, before it was 3.0.4 which was affected as well). instance with the Electron client (works fine in browser).

On Ubuntu 19.10 and both 2.16 and 2.17.
I don't get notifications or sounds at all. Very frustrating.

I'm getting the same errors on Windows so it seems to be a bug in the client behaviour.
Platform Windows 10.
Client Version: 2.17.7

Same on Windows 10/Client 2.17.9

https://github.com/RocketChat/Rocket.Chat.Electron/blob/3596a26ffb9ddd1ce8ea4fd466372c97ebbefe85/src/preload/notifications.js#L57-L60
Just a guess, but it is referencing a server icon (i.e. default Rocket.Chat icon) on the Test Desktop Notification (which utilizes electron-fetch), and failing because a local path is being returned?

Same problem here.

Same problem here.

Can you guys please try version 2.17.11 which was just released?
The PR https://github.com/RocketChat/Rocket.Chat.Electron/pull/1662 should fix this problem. 😊

Still investigating: seems to work for some users and for some not.
Does this require a server update as well or only the client?
Is it possible all clients talking with each other need to be updated?

Closed by #1662


[libvpx] update to 1.13.1

Library name
libvpx
New version number
1.13.1
Other information that may be useful (release notes, etc...)
libxvpx prior to version 1.13.1 suffers from a buffer overflow vulnerability, see CVE-2023-5217.

@LilyWangLL @basilgello thank you very much!

The issue has been fixed for over a week, and yet the package still seems stuck at 1.12.0:
https://vcpkg.io/en/packages?query=libvpx
How long does it usually take for an update to propagate?

Usually it takes longer than you would want to wait.
Try https://vcpkg.link/


htop: merge both implementations

Things done:

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

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

htop 2.0+ is now cross-platform.
This needs testing on OSX. IOKit might have to be re-introduced.

It would be nice to be able to ping @NixOS/osx-users...

Yes or having OSX builds happening

@jagajaga did you test it on OSX ?

@zimbatm I supposed https://github.com/NixOS/nixpkgs/pull/14065#issuecomment-198817252 meant that you've tested..

Ah sorry, it was a misunderstanding then.


Ignore stat changes on BETA worlds

There should be a config box which we can use to ignore changes / events on BETA worlds such as getting pets, level changes etc

Looks like this can be accomplished by using https://static.runelite.net/api/runelite-api/net/runelite/api/Client.html#getWorldType() and checking if the result contains NOSAVE_MODE. Might be worth adding a toggle for seasonal and tournament worlds also.


[BUG]

Describe the bug
Account always sign out except discord for some reason
Instructions to reproduce
Try to sign in some apps like youtube, Facebook or instagram then close the app and reopen
What version of LiveContainer are you using?
Version 3.1.0-release (main/4cd537e)
Other info
Reddit couldn’t sign in, twitter couldn’t connect to internet without relog in account.This happened after i cleaned up keychain

Fixed, try the latest build.


Does this script work?

Hi...
Does this script work in the new version of xfce?

Yes. I tried it on Linux Mint 21 Xfce

Thank you @snowfluke


[Documentation] User Guide - Adjust Python code examples to be Python 3 compatible

In user guide there are many examples of code that would not run on Python 3.
For example the print 'text' statement, instead of the print('text') function.

Sounds good to me. I don't want the examples to be complicated by adding any Python 2/3 compatibility code, though.

Are you @HelioGuilherme66 working on this?

No, I have not started.

Ok, I can take care of print myself. Have you seen other "Python 2"isms?


Fully adapt autocomplete to RDF

As here: https://github.com/acdh-oeaw/apis-core-rdf/blob/77b1ce33f2a677fc9a67e8a2debe59b3311f5ba4/apis_core/apis_entities/autocomplete3.py#L343

Saranya urgently needs a technical endpoint working for tibschol where users would use oxygen with a look-up function going directly to the autocomplete URL. E.g. http://<IP_ADDRESS>:8000/apis/entities/autocomplete/work/<search-term>/
It's on my todo list for the rdf-refactoring anyway, so I will prioritize this now.

is working.


Considering aliasing pmf, sf, cdf to colloquial terms

Options:

chances, chances_le, chances_ge
p, p_lt, p_le
chances, at_leasts, at_mosts; similar to AnyDice

This will be folded into #60.


Minor suggestion - swap zoom + and zoom - buttons?

On a keyboard, the - key is on the left while the + key is on the right.
Also in some programs, like MS Paint, zoom out is on the left while zoom in is on the right (at least it was on Windows 7... for newer OSes I just install Linux instead).
But your script puts zoom in on the left side while zoom out is on the right side.

Because it doesn't affect the function at all.
If you want to implement the feature, just feel free to PR, swap these lines, and test.
https://github.com/Sean2525/Let-s-panda/blob/99d0a37256d57da06212e00565090802bf265a64/src/main.js#L759-L767

I also just realized that both Firefox and Chrome have zoom out on the left and zoom in in the right.
As for swapping the parts of the code and testing, I can do that quite easily in the copy of the script saved in my browser and report back at some point - it's actually my inexperience with github that's tripping me up with regards on how the heck one makes a pull request.

I finally figured out how to make a pull request and have submitted it here:

https://github.com/Sean2525/Let-s-panda/pull/11

I'm guessing it'll take a bit of time before the script posted to greasyfork gets this update?
Currently, despite greasyfork saying that the newest version of 0.2.9, actually installing the script installs the previous 0.2.8 version.

@NintendoManiac64 Yes, it should take some time to update.


Lockfree group parts

This is a complete rewrite of the scene object group part storage using immutable data structures to provide lock free reads. Reads constitute the majority of accesses to SOG part internals, so this removes locking from a large swath of the codebase that has caused numerous deadlocks in the past.
I have provided lock free reads on both the bulk SOP data within groups when only simple iteration of all parts is necessary as well as lock free reads to both the global and local part IDs.
There may be some loss of consistency with the locks removed, but the majority of impact looks very minimal. My biggest worry is around link and unlink which may require a swap of the whole immutable GroupPartsCollection after the various manipulations have fully completed during these operations to yield a consistent state atomically. Heavy testing is required to determine if this will be an actual issue at runtime.

Reviewed, discussed, looks good as-is.


feat(c/driver/postgresql): Implement GetObjects with table_types argument

Don't think the R failure is related


[$250] mWeb/Safari - Navigation - After inviting a member navigating back takes you back to members page

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

Version Number: 1.4.85-6
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to Workspace > Members
Invite a member
On the members page click the back button on top
Notice you are navigated to the workspace page
Now click the back button found on the workspace page
Notice you are returned to the members page again

Expected Result:
Clicking back takes you to the Workspace list page
Actual Result:
Clicking the back button returns you to the members page again
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/2167582e-951d-414d-aa9d-e7f8f45523c9
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d265064621c334d0
Upwork Job ID:<PHONE_NUMBER>475123074
Last Price Increase: 2024-06-24
Automatic offers:

truph01 | Contributor | 102913998

Issue OwnerCurrent Issue Owner: @Pujan92

Proposal
Please re-state the problem that we are trying to solve in this issue.
Clicking the back button returns you to the members page again
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?

After clicking on "Invite" button in WorkspaceInviteMessagePage, we call:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/pages/workspace/WorkspaceInviteMessagePage.tsx#L117-L118
leads to there are two CentralPaneNavigator in the route stacks.

So when we navigate back, it takes we back to member page.

What alternative solutions did you explore? (Optional)

We can remove:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/pages/workspace/WorkspaceInviteMessagePage.tsx#L118

Proposal
Please re-state the problem that we are trying to solve in this issue.
Clicking the back button returns you to the members page again
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?

After clicking on "Invite" button in WorkspaceInviteMessagePage, we call:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/pages/workspace/WorkspaceInviteMessagePage.tsx#L117-L118
leads to there are two CentralPaneNavigator in the route stacks.

So when we navigate back, it takes we back to member page.

What alternative solutions did you explore? (Optional)

We can update:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/pages/workspace/WorkspaceInviteMessagePage.tsx#L117-L118
to:

        Navigation.dismissModal()

tried on web, can't repro but i think this is just on safari. mobile web as per the desc.

Adding external to investigate!

hey @Pujan92 please explore the proposal above from @truph01 !

Thanks @zanyrenney, I will review the proposal max by tomorrow.

leads to there are two CentralPaneNavigator in the route stacks.

@truph01 Can you plz explain again to help me understand your RCA

When we call Navigation.navigate(ROUTES.WORKSPACE_MEMBERS.getRoute(route.params.policyID)) in:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/pages/workspace/WorkspaceInviteMessagePage.tsx#L117-L118, the action in this:
https://github.com/Expensify/App/blob/5e464eaa3e7614e6f17007e05203e184c275faf2/src/libs/Navigation/linkTo/index.ts#L216 will be:

{
    "type": "PUSH",
    "payload": {
        "name": "FullScreenNavigator",
        "params": {
            "initial": true,
            "screen": "Workspace_Members",
            "params": {
                "policyID": "66A1FB0AB335B7F2"
            },
            "path": "/settings/workspaces/66A1FB0AB335B7F2/members"
        }
    }
}

As you can see, the new FullScreenNavigator is added to the stacks.

Note that, in my proposal, I wrote (my bad):

leads to there are two CentralPaneNavigator in the route stacks.

but it should be:

leads to there are two FullScreenNavigator in the route stacks.

Thanks @truph01, I think we can proceed with @truph01's proposal to dismiss the modal instead of navigating to the members page which leads to pushing the second FullScreenNavigator.
🎀👀🎀 C+ reviewed

@Pujan92 PR https://github.com/Expensify/App/pull/44668 is ready

@zanyrenney can we assign a new internal engineer to review PR as I think @thienlnam is OOO until 8th July?

Merged

Regression Test Steps

Go to Workspace > Members and invite a member
After inviting, you will be landed on the members page
Click back button and it will navigate to the workspace details page
Now again click the back button
Verify that you are navigated to Workspace list page and it doesn't take you to the members page

@zanyrenney Bump for the payment

Thanks @Pujan92

payment summary
paid $250 to @truph01 via Upwork.
@Pujan92 is owed $250 (paid via ND) - please request.

$250 approved for @Pujan92


Synced resources between tenants throws error when inserting new model on tenant

Describe the bug
When using Synced resources between tenants, the method updateResourceInCentralDatabaseAndGetTenants on the listener UpdateSyncedResource trows the following error:
  SQLSTATE[42S22]:
Column not found: 1054 Unknown column 'code' in 'field list' (SQL: insert into
`users` (`name`, `email`,  `password`, `remember_token`, `code`, `global_id`)
values (Hiram Hermann<EMAIL_ADDRESS>secret, fd9ca932-23c3-4e2f-abb6-38bc82cd92c4))

Steps to reproduce
Assuming we want to sync users:

Set up Synced resources between tenants following the documentation
Add some extra columns on the tenant's users migration, for example code
Try to add a NEW user on the tenant that doesn't exist on the central database

Expected behavior
Since the user doesn't exists on the central database the updateResourceInCentralDatabaseAndGetTenants method will try to insert the new user on the central database using all the attributes from the model on the tenant's database, but like the columns from the tenants are not the same the insert can't happen.
Your setup

Laravel version: 8.41.0
stancl/tenancy version:  3.4.4

Does getSyncedAttributeNames() not work?

Does getSyncedAttributeNames() not work?

To make it work I override the method updateResourceInCentralDatabaseAndGetTenants in this specific part:
BEFORE
// If the resource doesn't exist at all in the central DB, we create
// the record with all attributes, not just the synced ones.
$centralModel = $event->model->getCentralModelName()::create($event->model->getAttributes());
event(new SyncedResourceChangedInForeignDatabase($event->model, null));

NOW
// If the resource doesn't exist at all in the central DB, we create
// the record with all attributes, not just the synced ones.
$centralModel = $event->model->getCentralModelName()::create($syncedAttributes);
event(new SyncedResourceChangedInForeignDatabase($event->model, null));

Also I have to add global_id in the fields to be synced.

I have same error :c

I guess there should be more configuration for how synced resources should be created, i.e. whether it should use all attributes, just the synced one, or something else. I'll add this in v4.

@stancl  This is how I solve it,  just exclude the  id when creating to the central model
$attr = collect($event->model->getAttributes())->except(['id'])->toArray()
$centralModel = $event->model->getCentralModelName()::create($attr);
event(new SyncedResourceChangedInForeignDatabase($event->model, null));

Then for temporary solution before the official release, I need to override UpdateSyncedResource.php in my composer.json
"autoload": {
        "exclude-from-classmap": [
            "vendor/stancl/tenancy/src/Listeners/UpdateSyncedResource.php"
        ],
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        },
        "files": [
            "app/Overides/UpdateSyncedResource.php"
        ]
    },

@amjeed-ay you can also make a new listener which extends the original one and override the method on it. then, replace it in the TenanceServiceProvider


[Feature] Feedback to the user when a message content is copied to clipboard

When I copy a message to my clipboard, there is no clear indications that it is done.
Obviously, I can paste it wherever I want.
But I'd find nice to have some notifications anywhere that would say me "message copied to clipboard" then disappears some seconds later.
Version tested : (8a7399b)

Hey, thanks for the suggestion. Definitely will do :)