Terminal text invisible when running Codespaces on Safari 15.0

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:
Version: 1.60.2
Commit: 7f6ab5485bbc008386c4386d08766667e155244e
Date: 2021-09-22T11:58:31.782Z (1 day ago)
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
OS Version: macOS 11.5.2

Steps to Reproduce:

Visit any Codespaces
Start typing in terminal

Can you provide a Gif not a picture showing the issue?

Sure, here it is:
https://media.giphy.com/media/mrhMgWOV9AnkRnrmKX/giphy.gif?cid=790b7611b01cff118a30e66d5190790b0a5cc0d2a8ca0a11&rid=giphy.gif&ct=g

For clarity, in the above example that I provided to @rongxin-liu, I am typing in the (invisible) terminal
cd <enter>
code newtext.txt <enter>

and the file then opens in the editor.

As a workaround, you can set GPU Acceleration (terminal.integrated.gpuAcceleration) to off:

Just ran into this today. Thank you for the work around.

Confirming this is fixed in Codespaces now. Thanks!

Thank you, it fixed it on Windows/Firefox


Add an explicit RAT license check exclusion for github related templates.

Description
Add an explicit exclusion for github related templates. Currently the mvn build depends on .gitignore to exclude the file w/o license (see debug msg below). However, in cases like release, .gitignore will not be put into the src directory. That will cause license check failure.

[INFO] Will parse SCM ignores for exclusions...
[INFO] Parsing exclusions from /Users/tingchen/tmp/incubator-pinot/.gitignore

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes
If you have tagged this as either backward-incompat or release-notes,
you MUST add text here that you would like to see appear in release notes of the
next release.
If you have a series of commits adding or enabling a feature, then
add this section only in final commit that marks the feature completed.
Refer to earlier release notes to see examples of text
Documentation
If you have introduced a new feature or configuration, please add it to the documentation as well.
See https://docs.pinot.apache.org/developers/developers-and-contributors/update-document

Codecov Report

Merging #5936 into master will decrease coverage by 22.72%.
The diff coverage is 48.81%.

@@             Coverage Diff             @@
##           master    #5936       +/-   ##
===========================================
- Coverage   66.44%   43.72%   -22.73%
===========================================
  Files        1075     1184      +109
  Lines       54773    62044     +7271
  Branches     8168     9479     +1311
===========================================
- Hits        36396    27129     -9267
- Misses      15700    32484    +16784
+ Partials     2677     2431      -246

Flag
Coverage Δ

#integration
43.72% <48.81%> (?)

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

Impacted Files
Coverage Δ

...ot/broker/broker/AllowAllAccessControlFactory.java
100.00% <ø> (ø)

.../helix/BrokerUserDefinedMessageHandlerFactory.java
52.83% <0.00%> (-13.84%)
:arrow_down:

...ava/org/apache/pinot/client/AbstractResultSet.java
26.66% <0.00%> (-30.48%)
:arrow_down:

.../main/java/org/apache/pinot/client/Connection.java
22.22% <0.00%> (-26.62%)
:arrow_down:

.../org/apache/pinot/client/ResultTableResultSet.java
24.00% <0.00%> (-10.29%)
:arrow_down:

.../org/apache/pinot/common/lineage/LineageEntry.java
0.00% <0.00%> (ø)

...apache/pinot/common/lineage/LineageEntryState.java
0.00% <0.00%> (ø)

...rg/apache/pinot/common/lineage/SegmentLineage.java
0.00% <0.00%> (ø)

...ache/pinot/common/lineage/SegmentLineageUtils.java
0.00% <0.00%> (ø)

...ot/common/messages/RoutingTableRebuildMessage.java
0.00% <ø> (ø)

... and 1103 more

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 e4ea9fc...5729ff4. Read the comment docs.


(today) https://huggingface.co/stabilityai/stable-diffusion-xl-1.0-tensorrt

8/24/2023 released today:
https://huggingface.co/stabilityai/stable-diffusion-xl-1.0-tensorrt
I don't know if this release relates to this extension or not, but I'm sharing it in case it does.

Last time I tried to run TensorRT on dev branch of automatic1111, I got some gradio error for deforum and it wouldn't work. Looks like something changed in auto's gradio implementation or something. I haven't looked into it though, since that is just a dev branch that supports the TensorRT extension anyway. I know a lot of people are using ComfyUI for the new stability stuff, running on diffusers. I was kind of waiting to see if auto implemented it somehow.


Wormhole restrictions

Take into consideration the size of the wormhole when computing a path.

Size restriction is working starting with d84522f ^^

Fixed small bug where smallest wormholes would be ignored: 27aef00bbeeaa431c07f357ece2d9e1e7c10837a


Dynamic headers for API client

Is your feature request related to a problem? Please describe.
I'm working on a custom re-implementation of Nexrender server and as part of this re-implementation I would like to use alternative method of authorization using the Authorization header.
Describe the solution you'd like
It would be great to be able to pass a header object on API client creation (that will be sent on every request to the server) and also be able to modify this header object throughout the lifetime of the client object as well. This may also be used by downstream packages such as Nexrender workers.
Describe alternatives you've considered
The internal implementation of createClient may need to be reworked but it very likely can be done in a fully backwards compatible way. I may start work on this in the near future.
Additional context
The re-implementation of Nexrender server I'm talking about.

That sounds like a good idea!
Also, I very much support the serverless use case, I think at some point, I even modified the existing server to work on vercel to some extent.

I'm just kinda obsessed with Cloudflare workers recently :stuck_out_tongue:
I'll have a look at adding dynamic headers when I get a bit of time.


 The problem is that they all get stuck on the same cell and their raging auras will overlap creating a very unpleasant thick red spot.
The solution is to not allow more than like 2 zombies on the same cell.

Fixed in 1.8.5


add export and import method for yamlfile and Dockerfile - [closed]

In GitLab by @sokril on Nov 3, 2017, 02:44
Merges exim -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:07
closed


[DIST] Add common evaluation metrics.

This patch introduces common evaluation metrics such as auc and accuracy

 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.


Add TrackingComposite

Closes #481

Codecov Report

Merging #484 into master will decrease coverage by 0.05%.
The diff coverage is 90.16%.

@@            Coverage Diff             @@
##           master     #484      +/-   ##
==========================================
- Coverage   93.17%   93.12%   -0.06%
==========================================
  Files          47       48       +1
  Lines        3167     3228      +61
==========================================
+ Hits         2951     3006      +55
- Misses        216      222       +6

Impacted Files
Coverage Δ

dimod/reference/composites/__init__.py
100% <100%> (ø)
:arrow_up:

dimod/reference/composites/tracking.py
90% <90%> (ø)

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 cc1e27e...777a41a. Read the comment docs.

whats the behavior when its sprinkled between composites? should there be a test for it?

The information is tracked on the composite object. So they don't interact with each other.

It does make things a bit awkward for nested composites, for instance
>>> sampler = RoofDualityComposite(TruncateComposite(TrackingComposite(ExactSolver())))

the inputs would need to be accessed with
>>> sampler.child.child.input

or, of course you can do
>>> tracking_sampler = TrackingComposite(ExactSolver())
>>> sampler = RoofDualityComposite(TruncateComposite(tracking_sampler))
>>> tracking_sampler.input

yeah... so then why are we doing a composite for tracking instead of a sampler object? I thought the idea was to be able to nest

Because you still can access the nested objects, and because one is often interested in what happened between two composites.

I feel like we are in agreement here. I just think that there should be a test for what
>>> tracking_sampler = TrackingComposite(ExactSolver())
>>> sampler = RoofDualityComposite(TruncateComposite(tracking_sampler))
>>> tracking_sampler.input

and this use case should be in docs


Unable to update Saved Queries

Bug description
Description
Users can save queries from the SQL Lab for future reference or reusability. However, accessing the saved queries from the list creates a new saved query upon saving the changes rather than updating the existing saved query
How to reproduce the bug

Run a query in the SQL Lab.
Save the query.
Close the query tab.
Access the saved query from the SQL > Saved Queries menu.
Perform some changes and save.

Expected results
The query will have an update or save as new option. User should see a Save As modal that allows them to update their current query (see screenshots below)
Actual results
The query can only be saved as a new saved query.
Other Details
Query can be updated as long as the query tab is not closed. Any tabs that are opened later will show the incorrect modal without the Save as New / Update options.
Screenshots/recordings
What the user currently sees when trying to save a query:

Save modal should look like the below when editing your existing query:

Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

When you try to save a new query initially, it displays the first screenshot. When you save and make changes, you see the second screenshot.

🎉 Preset Bounty Available: $150 USD 🎉
To claim this bounty, please carefully follow the steps below.

📋 Steps to Participate

Review Guidelines:
Read through the Preset Bounty Program Contribution Guide for complete details on bounty requirements.

Show Your Interest:
Complete the Preset Bounty Program Survey and comment this issue to express your interest.

Join the Slack Channel:
After completing the survey, you’ll receive an invitation to the dedicated Apache Superset Slack channel.

Get Assigned:
To officially start, ensure a Bounty Program Manager has assigned you to this issue.

Submit Your Solution:
When ready, submit your solution with the Fixes #{issue_number} notation in your Pull Request description.

Claim Your Bounty:
Sign up at GitPay.me and submit your solution via: https://gitpay.me/#/task/1012

💡 Additional Notes

Only developers assigned by a Bounty Program Manager should start working on this issue to win the bounty.
Be sure to follow the guide closely to avoid any delays in payment. Please, allow a few days after your PR has been merged for the bounty to be released.

Good luck, and happy coding! 🎉

I'd like to work on this issue

I'd like to work on this issue

This issue is already assigned for now

@geido can I work on this issue as it has been more than 2 weeks and no response from the assigned contributer.


Qubit mapping of circuits on real device can be inconsistent

Measurement noise mitigation is supported when the circuits are mapped to the same qubits. A problem has been recently reported by two users on the public Qiskit Slack #aqua channel in the last couple of days. Here is one

Hi, has anyone run into a similar error before? I have only changed the number of orbitals that I want to freeze in my VQE calculation and that immediately resulted in this error. What’s also puzzling is that it only happens on some devices, but not others.
qiskit.aqua.aqua_error.AquaError: 'The used qubit index are different. ([7, 1, 0, 6, 3, 2]) vs ([0, 2, 7, 5, 1, 6]).\nCurrently, we only support all circuits using the same set of qubits regardless qubit order.'

In discussion with @kdk he offered the following

I remember this coming up a little while ago, and the explanation I think is that the routing passes (that introduce swap gates to compensate for finite 2q gate connectivity) will not always map final measurements to the same set of qubits.
There are possible workarounds, involving either not running the routing pass (by providing an already routed circuit) or by running the routing pass (with a fixed initial_layout) under a handful of seeds until you find a set that give only one final layout.

Clearly we want to be able to use measurement noise mitigation so this needs some solution that a user of VQE can easily setup so it just works. This may also require functionality change in other areas to facilitate this but I raised it here since this is the level the issue is seen at.

Why is it not possible just to run the missing cal data and do meas mitigation on the new set?

Why is it not possible just to run the missing cal data and do meas mitigation on the new set?

I was capturing the issue in summarizing the Slack messages as it seemed a problem that needed addressing. I investigated it a little, as you can see above, before raising this originally on Aqua. I do not believe it has been looked at any further - I transferred the issue over, as I think its still valid, and since it would have to be addressed here now.

I was capturing the issue in summarizing the Slack messages as it seemed a problem that needed addressing. I investigated it a little, as you can see above, before raising this originally on Aqua. I do not believe it has been looked at any further - I transferred the issue over, as I think its still valid, and since it would have to be addressed here now.

https://github.com/Qiskit/qiskit-ignis/pull/551#issuecomment-768625947 reports a bug in Ignis, do you think it could be related:

If mit_pattern is [[1, 3], [0], [2, 4]] and the noisy qubit is qubit 0, then the TensoredFilter.apply() would mitigate the error on qubit 1 using the calibration matrix of qubit 0, which seems to be unexpected behavior.

https://github.com/Qiskit/qiskit-ignis/pull/551#issuecomment-768625947 reports a bug in Ignis, do you think it could be related:

If mit_pattern is [[1, 3], [0], [2, 4]] and the noisy qubit is qubit 0, then the TensoredFilter.apply() would mitigate the error on qubit 1 using the calibration matrix of qubit 0, which seems to be unexpected behavior.

@yaelbh I think its more to do with the logic we have in QuantumInstance, that does measurement mitigation on behalf on the algorithms when the user enables the mitigation, that it did not expect to have to deal with different qubit mappings over the set of circuits it's running - the circuits for VQE, where it was observed/reported above, are pretty much all just the anstaz with the basis change gates appended to do measurement. But I guess that is enough delta that the mappings can end up different.

@yaelbh I think its more to do with the logic we have in QuantumInstance, that does measurement mitigation on behalf on the algorithms when the user enables the mitigation, that it did not expect to have to deal with different qubit mappings over the set of circuits it's running - the circuits for VQE, where it was observed/reported above, are pretty much all just the anstaz with the basis change gates appended to do measurement. But I guess that is enough delta that the mappings can end up different.

I believe this to be obsoleted by the move of qiskit.algorithms to use primitives.  Steve, could you check, and close it if so?

Steve, could you check, and close it if so?

Indeed the algorithms have all been redone/migrated to use primitives which themselves now can provide mitigation, such as the with Qiskit IBM Runtime primitives and their resilience_level setting.
QuantumInstance, and the algorithms using/use of it is all now deprecated. This issue can be closed as not planned.


Connection Error in Building

I'm new begininger in Carla, and follow the building process, I get this error, how to fix it ?

Hey would you please provide detailed info about your problem such as in which step did this happen, and how could we reproduce it?
Looks like you are running into a network trouble though...

@Gatsby23 is this issue still bothering you or should we just close it?

@Gatsby23 is this issue still bothering you or should we just close it?

OK, I can build this it now, I close the issue.


How use model(saved by tf1.14.0) in the tf1.5.0?

Hi,  tensorflow team:
I have a model saved by tensorflow-1.14.0. In my case, I must use this model in a tensorflow-1.5.0 environment. Is there any ways to convert the high-tensorflow-version model (pb file or ckpt) to a low-tensorflow-version model?
Looking  forward to your repply

This is not Build/Installation or Bug/Performance issue. Please post this kind of support questions at Stackoverflow. There is a big community to support and learn from your questions. GitHub is mainly for addressing bugs in installation and performance. Thanks!


build: repair the build of ArgumentParser with CMake

The changes in #335 introduced a new library but failed to actually
build the library and update the dependency structure.  Update the build
system to build and install the new target.

Replace this paragraph with a description of your changes and rationale. Provide links to an existing issue or external references/discussions, if appropriate.
Checklist

[ ] I've added at least one test that validates that my change is working, if appropriate
[ ] I've followed the code style of the rest of the project
[ ] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary

CC: @rauhul @nate-chandler

@swift-ci please test


⚠ Samsung has degraded performance

In 67d16c4, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2629 ms

Resolved: Samsung performance has improved in 834789e.


Remove unnecessary files

The OpenRobertaUSB repo still contained several files that may have only been needed for NXT. Every file should be checked whether it is needed to run the previously supported Ev3Lejos and Arduino based robots.

[x] Remove files
[ ] Check if rndis driver is necessary

[ ] on Windows 10
[ ] on Windows 7

[x] Check if libusb0.dll is necessary

[x] on Windows 10
[x] on Windows 7

[ ] Test Ev3

[x] Linux
[x] Windows 10
[ ] Windows 7
[x] OSX

[ ] Test Arduino

[x] Linux
[x] Windows 10
[ ] Windows 7
[x] OSX

libusb0.dll is necessary for Win7 and Win10 otherwise avrdude won't run.

The RNDIS driver is necessary on Win7, for Win10 it does not seem to be necessary. In the future the driver could only be installed if specified or Win7 is detected.


ID reference prefixed

Entering this in a less file:
clip-path: ~"url(#myClip)";
Results in:
clip-path: url(https://example.com/wp-content/themes/theme/assets/css/#myClip);
It is interpreting the ID reference as a file, which it isn't.
Can this be fixed/changed please?

See clip-path documentation, where the URL content can be like image.svg#symbolId or #svgId (when inlined in the page).

Imported issue to https://phabricator.wikimedia.org/T331649.
Patch submitted for review at https://gerrit.wikimedia.org/r/c/mediawiki/libs/less.php/+/896143.

From T331649#8684640:

Less_Environment: Treat url(#myid) as absolute URL
Commit: 2c271e6a7ffaec177fc92bfd41a17811f40d7d71
Reviewed-on: https://gerrit.wikimedia.org/r/c/mediawiki/libs/less.php/+/896143


Added transform and transformAsync overrides that accept an Executor

These methods are useful when working with immediate futures and other completed futures.
I also wanted to add some tests, but cannot get past the lint errors. Every time I make the slightest change to ApiFuturesTest.java, I get:
The following files are not formatted properly:

/Users/hkj/Projects/firebase-admin-java/api-common-java/src/test/java/com/google/api/core/ApiFuturesTest.java
:verifyGoogleJavaFormat FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':verifyGoogleJavaFormat'.
> Problems: formatting style violations

Not helpful :(

Codecov Report

Merging #38 into master will decrease coverage by 0.87%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master      #38      +/-   ##
============================================
- Coverage     59.23%   58.36%   -0.88%
  Complexity      138      138
============================================
  Files            15       15
  Lines           601      610       +9
  Branches         91       91
============================================
  Hits            356      356
- Misses          223      232       +9
  Partials         22       22

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/com/google/api/core/ApiFutures.java
75.51% <0%> (-16.99%)
11 <0> (ø)

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 1a1abec...81a78b9. Read the comment docs.


💡 [REQUEST] - TokenBender/starcoder2_15B_OCI

Model introduction
The model is created by TokenBender and is a SFT on starcoder2, used for code generation purposes.
Model URL
TokenBender/starcoder2_15B_OCI
Data type
bfloat16
Additional instructions (Optional)
No response
Author
Yes
Security

[X] I confirm that the model is safe to run which does not contain any malicious code or content.

Integrity

[X] I confirm that the model comes from unique and original work and does not contain any plagiarism.

HE+:

MBPP+:


Flutter 2.0.3 issues scrolling and appdrawer not working

After upgrade from 2.0.2 to 2.0.3 I faced a problem, no more scroll both in list view and singlechildscroll and app drawer stopped responding .

@kizinho
Can you provide a complete minimal reproducible code sample along with steps as when do you face the issue that you mentioned ?

Hi @kizinho
Can you please provide your flutter doctor -v and flutter run --verbose logs, and a minimal complete reproducible code sample?
Thank you

I had the same problem.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Seems to trigger language servers

I have not yet tried to provide a minimal example, sorry. When I open the jump list I often get errors about e.g., the Go language server failing to start because go is not executable. At first, this made no sense to me, since it happened in folders where Go was nowhere to be seen.
But now I'm wondering if this plugin somehow visits (for a lack of a better word) files in the jump list and if that activates the LSP. The reason I suspect that this is the case is because my (global) jump list does include plenty of Go files.  Basically all buffers in the jumplist are loaded automatically bypassing the option 'lazy_load_buffers' and this might trigger LSPs somehow even though there is no autocommand for BufLoad (only BufAdd). You might want to check if this happens even when executing the native :jumps command.
However, bufload() is called in order to retrieve the line content of each jump otherwise a blank line would be shown. This is the route I took because vim itself already adds all the buffers in the buffer list as soon as you execute :jumps or call getjumplist() (you can verify with :ls! after :jumps). So I decided to load them anyway.
To fix this I could simply respect the option lazy_load_buffers that's already available and do the same that I do for marks and maybe even add a mapping to load the buffers manually directly from the jumplist window.

As a workaround I decided to make the jump list respect the lazy_load_buffers option. Now files are not automatically loaded in memory. To do that, set lazy_load_buffers to false.
You could also try starting every session with a clean jump list by executing :clearjumps at the VimEnter event.
I also added few mappings to load buffers selectively directly from the jump list window.
At last, I added a new option jumps.autoload_filter and I think this one might help your case if you decide to keep lazy loading off. By default it basically prevents files outside the current working directory from being loaded but only when lazy_load_buffers is set to false.

Thanks for the quick reply. I don't think I can follow most of your explanations, but I haven't looked at the source and don't know much about the native jump list either.
Calling :jumps doesn't trigger this behavior, it only shows paths and not contents after all.
I wonder how e.g., various fuzzy finders can use some "native Neovim previewer" (whatever that means) to show me file contents without triggering anything other than syntax highlighting.
I don't know if with your proposed changes the jump list from this plugin would stop showing source file contents. E.g., fzf-lua also has a jump list integration that shows you the source location plus the content at that location.

I wonder how e.g., various fuzzy finders can use some "native Neovim previewer" (whatever that means) to show me file contents without triggering anything other than syntax highlighting.

I think by reading the files directly with lua and not having to load the file in the vim buffer list first. Once I get more proficient in lua I might add a preview mode which seems to be particularly useful for the jumplist.

@cideM Added a preview window for both mark and jump lists, check it out!


how to change drawer icon?

i want to change drawer icon ( hamburger icon).. how can i do that.?

https://github.com/madcyph3r/AdvancedMaterialDrawer/blob/master/example/src/main/java/de/madcyph3r/example/example/functionally/actionBarButtonsActivity/FragmentActionBarButtons.java
see here. this is an example, to change it


Express future?

what's wrong with the express framework, why is it rarely updated, has express been neglected?

well, that makes sense too. But if what you say is true why Express version 5 is still an alpha version even though 5 years have passed, wouldn't that make no sense for an alpha version?

Hi @agus7fauzi are you looking for a specific feature from there? As for the status, there is a specific thread about that, with a list, links, checkboxes on state and more. There is no need to reiterate all the information again here. You're welcome to use the alpha and provide feedback (good or bad). You're also welcome to help out on the remaining issues. Ultimately we want a stable release without known issues. Just taking the existing version and just releasing it with known issues will result in a subpar experience compared to 4. The goal of this project is to release well tested and stable releases.

@dougwilson We all know that express 5 development has stalled in alpha limbo for years because you haven't found a way to properly handle async/await, there are several articles out there about that, if you are willing to open your eyes and just tell it how it is. The "mature project" story is just that, a story.

Hi @lorand-horvath I have no idea what you are talking aboit regarding async await. A lot of folks, not just me, have worked to add that support to the current express 5 release. If you are saying that even the current express 5 release does not have proper async/await, than that seems like a large miss to me. Can you elaborate on what thr async/await issues are in the current express 5 version? I would love to make sure they are addressed properly, but without specifics I really don't know what exactly you are referring to regarding "you haven't found a way to properly handle async/await".

Hi @dougwilson - long time v5 release follower here.
I frankly believe that this kind of comments may come from trolling, yes, but they also arise from a concerning lack of communication with the community. I know it's not, but express feels dead to many people. And we only have ourselves to blame for that. Just to give an example, the "specific thread" you mention about the 5.x release (which can be found here, BTW) is not only over half a decade old, but it's also not very visible. And, even after reading it, it's still not entirely clear what needs to be done, who is working on what and what is preventing the release. It doesn't help that it ends with a message promising a "new years resolution" to get express 5 out of alpha and write a blog post announcing it... from Jan 2020.
I want to help. Could you point me to a specific task that I may contribute to?

The todo list is the last comment on that thread, linking to open PRs. Is that not specific enough? What exactly are you looking for? I can help guide you instead of working on the code if that is what you would like. Perhaps a working session over Zoom may help? I can always do that outside of working hours if you want to hit me up over email to schedule something.

The todo list is the last comment on that thread, linking to open PRs. Is that not specific enough?

I'm afraid it's not. Most of the linked PRs are years old, incomplete and hard to track (unless you are the implementor or have been following the specific issue). From reading the comments in many of them, it's also confusing why they haven't been merged so far or why progress stopped. Just take the top one, for instance, from 2018. It wraps up with you saying it will "land in the very next release" - but that never happened. It is finished? Does it need work?
I really appreciate you offering to mentor me, but it'd great if we could start by identifying one clear thing people (myself included) could contribute to.

Hi @nfantone apologies for that, I realized that after I already applied to you. How about this one: help get tests added to this PR so we can get it merged into 5.x and released? #4321 . Many people have asked for an updated path-to-regexp and right now the latest 5.x release still has the same old 0.1.x path-to-regexp and it desperately needs to be updated in the 5.x line, from both a maintenance point of view and it has been a very popular ask.

You got it. Taking a look at it right now.
Is the target branch still right? I noticed we have 5.0 and a 5.x branches. Also, is there someone I could contact with regards to this specific issue?

the target branch still right? I noticed we have 5.0 and a 5.x branches.

Yea, it is correct. The contribution guide details what the difference between the branches are.

Also, is there someone I could contact with regards to this specific issue?

What specific issue are you referring to?

The one you suggested taking a look at: https://github.com/expressjs/express/pull/4321

Ah, sorry. That is a pull request, not an issue, so I was confused, sorry. Usually I would say for any PR, the best contact is the author of the PR. I'm not sure how long it would take to get a response since that one has not been around for a while. The back up would be myself or just don't ask any specific person and ask whatever you need clarification on in that thread and see who answers.

@dougwilson You're welcome to take a look: https://github.com/expressjs/express/pull/4752


AWS Textract - document by S3 multi region access point

I am using Textract with files in S3, this code works when i use bucket name.
But recently i  switched to MRAP.
After changing bucket name to MRAP ARN, i get error on start detection:

Amazon.Textract.Model.InvalidParameterException: 'Request has invalid parameters'

var res = await client.StartDocumentTextDetectionAsync(
               new StartDocumentTextDetectionRequest
               {
                   DocumentLocation = new DocumentLocation
                   {
                       S3Object = new S3Object
                       {
                           Bucket = MRAP-ARN,
                           Name = path,
                       },
                   },
                   NotificationChannel = new NotificationChannel
                   {
                       SNSTopicArn = sns,
                       RoleArn = role,
                   },
               });

Any advice on this? Maybe there is workaround?

Hi @ildar-shamilov-clearscale,
Good morning.
Thanks for opening guidance issues. Looking at the API for Textract: S3Object, the Bucket parameter of S3Object needs to be a valid bucket name and accepts the [0-9A-Za-z\.\-_]* pattern. Whereas, Multi-Region Access Point ARNs use the format arn:aws:s3::<account-id>:accesspoint/<MRAP_alias> as per Making requests using a Multi-Region Access Point. So it appears that you cannot use MRAP ARN for Bucket parameter, hence the service API is throwing InvalidParameterException. I'm unsure if there is a workaround at this time, there is no mention of MRAP support in AWS Textract documentation.
Thanks,
Ashish


Permission update for mobile-distro resolvers

I still had some resources marked as base-agnostic. Now base-related permissions are enforced in the resolvers.

 2.0 Update permission enforcement for mobile-distro resolvers

 2.0 Update permission enforcement for mobile-distro resolvers


Unnecessary Key

Call on
https://github.com/UCSD/now-mobile/blob/dev/app/views/Home.js#L254
The key value is unnecessary. Additionally, it's set randomly per call, which means that react will replace the card per draw.

I was getting a warning from react native that these items needed unique keys, so I put that in. It was for android and I don't believe Charles was seeing it on iOS. If we can take it out without the warning reappearing I'd be all for that.

Which is fine, but your keys should stay the same per render call. React uses the key to compare application state.
I'd suggest something like:
key='weather'

That does sound much better than what I put in. Could you try putting that in and testing if you have time? I can get to it later today if not. Thanks!


Mnemonic Wallet - Implementation

What kind of PR is this?:

/kind feature

This PR implementation of the wallet setup screens.
The discord should focus on the functional UX and UI correctness. For major UI changes, please create tickets for iterative purposes.
We need a good understanding of how the font looks on the different platforms. I mainly develop on iOS, without referencing Android.
@izzycsy @thedoublejay to gather functional changes, narrative/copy, implementing e2e tests on the playground.

Wallets Onboarding
2 screens condensed into one, we want to introduce an extremely simple UX. Setting up multiple wallets is internally complex to implement and cognitively heavy for users to understand. Irrelevant for many users as people don't usually need multiple wallets. When we are to enable multiple wallets, mnemonic wallets are hierarchy deterministic by design. You only need one seed to do it. We don't need a complex process.

cuts down on the number of screens for onboarding
remove the need to name a wallet
[ ] we need onboarding material for this, why and what are they doing. Currently, this is the first onboarding screen.

Design
iOS
Android

Create Mnemonic Wallet
I am not a fan of the current "create new wallet" design. There are numerous issues with it:

It has a zig-zag reading pattern and therefore writing pattern (1-6 > | > / > 7-12 | and ...). If the user forgets which pattern it is written funds could not be recovered.

The current implementation follows a simple linear, top to bottom design.

There is a very tight and unpredictable horizontal space with 2 horizontals.

If the system-level font size is too big. it will start to clip words.
If the phone size is too small it will start to clips words.

Additionally:

I removed the re-generate again, we can re-implement it somewhere.
[ ] we need a better onboarding copy for this.

Design
iOS
Android

Create Mnemonic Wallet Verification

Every single mnemonic word MUST be verified, 1 wrong word is as good as gone.
3 prompt option is not good, I am opting for the hardest option, having the user type out everything.
[ ] we can and should improve this UX, please create a ticket for this.

Design
iOS
Android

Restore Mnemonic Wallet

this is done in the format to reduce implementation complexity
[ ] we need to add a proper copy for this.

Design
iOS
Android

Which issue(s) does this PR fixes?:

Fixes #52
Fixes #49
Additional comments?:

nice work @fuxingloh , we can continue from here

nice work @fuxingloh , we can continue from here

Thanks :)

Regarding mnemonic seed, have we considered Metamask / Solanium’s way of creating & importing the seed?
For both, if I remember correctly; to create & restore:

wallet seed is entered in 1 input field, 24 words separated using space
create / enter password

When existing user logs back in, enter password.
They applied this to both webapp & mobile app.


Odd and even weeks

I can't find any way to use schedule for odd and even based events. Sorry if its already integrated and I am just dumm :) .

Schedule does indeed not support odd and even based events. This is quite a specific thing that doesn't fit that well in the library itself. The best way you can achieve this is by scheduling a job to run every week and check the week number in the job function.

"L" stands for odd and "S" stands for even.

Schedule does indeed not support odd and even based events. This is quite a specific thing that doesn't fit that well in the library itself. The best way you can achieve this is by scheduling a job to run every week and check the week number in the job function.

Thanks, I thought about that solution, but I wanted to check if it can be solved better way.


Comparison to empty set returns false for set with no bits set.

"Eq" is true only if the number of bits in the underlying representation is the same. Comparing a bitset against
FixedBitSet::new() is not necessarily true for the empty set.

Maybe define "is_empty()"

I see how this could be unintuitive. is_empty already exists.
This is the second time someone has raised this issue ( #44 )  so I'll update the docs to make this behavior clear.

Thanks.
I'll use .is_empty().
As for equality, I think it should be either logical set equality, or not defined at all. Equality of the underlying representation is not what one expects.

Thanks.
I'll use .is_empty().
As for equality, I think it should be either logical set equality, or not defined at all. Equality of the underlying representation is not what one expects.

clarification: is_empty already exists but doesn't do what you want. To compare the number of 1s are equal you can use xs.ones().eq(ys.ones())
The number of 0s isn't part of the underlying implementation. Its already exposed via other methods. There is more discussion on this in #44.

clarification: is_empty already exists but doesn't do what you want. To compare the number of 1s are equal you can use xs.ones().eq(ys.ones())
The number of 0s isn't part of the underlying implementation. Its already exposed via other methods. There is more discussion on this in #44.

clarification: is_empty already exists but doesn't do what you want.
No, it sure doesn't.
pub fn is_empty(&self) -> bool {
        self.len() == 0
}

That's "is any storage allocated", not "are there any entries".
The documentation does not say that. It needs to be made much, much clearer that "bitset" doesn't work like set theory, so that people are warned away from using it.

clarification: is_empty already exists but doesn't do what you want.
No, it sure doesn't.
pub fn is_empty(&self) -> bool {
        self.len() == 0
}

That's "is any storage allocated", not "are there any entries".
The documentation does not say that. It needs to be made much, much clearer that "bitset" doesn't work like set theory, so that people are warned away from using it.

FixedBitSet is a simple fixed size set of bits that each can be enabled (1 / true) or disabled (0 / false) is clear imo. Bitsets in general are not synonymous with sets of non-negative integers.
Suggestions welcome, snark not appreciated 🤷

FixedBitSet is a simple fixed size set of bits that each can be enabled (1 / true) or disabled (0 / false) is clear imo. Bitsets in general are not synonymous with sets of non-negative integers.
Suggestions welcome, snark not appreciated 🤷


Proposal: Sending uma price data cross-chain to Kaia using layer zero

Description

Deliverable: A smart contract
What it does?
It sends UMA Optimistic Oracle price data cross chain to Kaia using layer zero
Why proposal?
This helps to ensure that developers on Kaiachain can work with optimistic oracle price data.
This ensures additional security when interacting with external price data.
This improves the kaia chain ecosystem by ensuring that further projects can send cross chain data from uma to kaia leveraging the code as a template.

Bounty track

Developer tool

Approved. Cross-chain is always a big topic. Glad you have picked it up


Expand basic example to have both CC library and CUDA library

Can you expand the basic example to have both CC library and CUDA library?

Sorry for the delayed reply. I am not sure what you (or presumably for new users) are confusing about, could you please elaborate a bit on why that is important. Also, contributions are welcomed.

In Bazel there are now 2 types of libraries, CC and CUDA. However, in a CUDA program, there are 3 types of code: 1) code that runs on the CPU that has nothing to do with GPUs, 2) code that runs on the CPU that sets up and manages the launching of GPU kernels (which needs cuda_runtime.h, and 3) code that runs on the GPU. How do these 3 types of code get mapped to the 2 types of bazel libraries?

there are 3 types of code

You might misunderstanding it a little bit. There is actually 2 languages involved, cuda and cpp, and cuda is a superset of cpp, so

pure cpp
cpp mixed with cuda, but still cuda anyway
pure cuda.

So cc rules should be used to handle cpp language and cuda rules should be used to handle cuda langauge.
For the second point, it is a purely code organization thing. I'd suggest you put the launcher (a cpp function that calls a cuda kernel with <<<>>> configuration) definition in cuda and only expose the declaration to pure cpp.


Not compatible with Python 3.9 pip3

The version of setuptools required in requirements.txt is not compatible with pip3 that comes with Python 3.9. The general issue is discussed here:
https://stackoverflow.com/questions/65640476/pip3-on-python3-9-fails-on-htmlparser-object-has-no-attribute-unescape
It might be worth seeing whether the setuptools version can be pushed up and enable using Python 3.9. In any case, it would be useful to mention the required Python version in the readme.

Thanks for bringing this to our attention! I'll investigate soon.

@dstrohmaier: I believe I've resolved this by bumping the setuptools version (see here). Fixing this unmasked a compatibility issue between NetworkX and Python 3.9, which I also fixed. I'm closing this out, but do reopen it if the issue persists.


add expired headers to CSS and JS files

Hi,
how is it possible to add expired headers to CSS and JS files? Maybe a section inside of FAQ would be great for users of NUXT
Cheers

Hi,
You add expired headers with .htaccess file in your static directory.
Source

Hi @alexchopin .htaccess is an Apache configuration file as far as I know. It would not work inside of the npm world, am I mistaken? I just don't know where and how to add them, I deploy with now and I think some middleware is in need of doing that. As NUXT is doing most of the configuration I thought there it would be possible to add the header caches

@dohomi you should use nuxt programmatically with your express server to add these headers logic, it will be easier 👍

OK I'll try to do that. Maybe if you could at a setup inside of the FAQsection it would be great. I think its a common task for people to add the expired headers to gain better results on PageSpeed or YSlow

Hi @dohomi
Finally, the expired headers will be added directly on production (nuxt start), it will be possible when we will generate unique filename on build time for better caching.
One of the goal of nuxt.js is to also create blazing-fast and PWA so we will have a perfect score on PageSpeed by default ⚡

you guys make an incredible job here!


Requirement TypeError Preventing Communication with Database

I've seen a few cases of CoursePlan not saving changes made by the user as a result of an Uncaught TypeError. When this happens, we get an error on loading the page and when the user makes and changes to their semester plan (adding or removing or changing courses): Uncaught TypeError: Cannot read properties of undefined (reading 'allowCourseDoubleCounting'). My account on production has this issue, rendering CoursePlan unusable because any changes made locally are not saved. I see this as a high priority bug.
https://user-images.githubusercontent.com/47431797/160299491-5555e107-358f-436f-9817-831c3db3d6ef.mov
I think I was able to reproduce this by manually changing data in Firestore. I’ve figured out that this error can happen when an illegal requirement is in the a user’s data for user-overridden-fulfillment-choices . An illegal requirement means both something that obviously doesn’t exist (gibberish text) and sometimes means a valid requirement that is under the wrong course. A difficulty in assessing if this is the actual cause of the bug on production the course ID is different for each course varies from user to user, so it's hard to tell if the data for my account "makes sense" and should be legal. It is definitely possible that my process of manually changing the data is actually never able to happen for a regular user and that the bug came from somewhere else. It would be helpful if we could figure out what courses correspond to course ID for my bugged account and determine if any data could possibly cause an issue and then look through the code to see how illegal data could get into the Firestore.
Nevertheless, the error I got when reproducing this on dev is the same as the error on prod, so I will explore the possibility that this is infcat the cause. For my dev account, course 77 for me is PHYS 1110, and thus shouldn’t be able to have a acknowledgedCheckerWarningOptIn for Major-CS-Computer Science Core, but there are no errors in the console:

However, if Major-CS-Computer Science Core is added for PE 1571 (Course 75), we get the error:
https://user-images.githubusercontent.com/47431797/160299131-99e8a947-9def-45b7-8eab-2898ed0c7748.mov
I haven’t extensively tested this with the optOut field but I’ve noticed that there are also some requirements that don’t cause an error (such as College-EN-Mathematics for Course 76 for me — ANTHR 1101 — is a class that shouldn’t have anything to do with math). I don’t know too much about how this overridden data is being used, and I don't think this issue has anything to do with what major the user selected because this data seems to stay around after a user changes its major without causing issues. I assume we just need to add a check somewhere that the requirement is actually valid to fix this. It would be very helpful to figure out why only some requirements cause an error when it seems like a lot more should. Ideally, we could also figure out how we are getting illegal requirements, because like I said, it’s possible that this data is actually not the issue and it’s not possible to get bad data here just by usual interaction. If there’s any way to figure out what courses correspond to course IDs (now that those classes are deleted from the semester schedule and are not in the user-semesters collection), that could help us get a sense of whether anything actually went wrong there.

After @willespencer deleted the data for course 59 (CS 4820) in user-overridden-fulfillment-choices, the problem was resolved on prod. I am confident that the issue comes from user-overridden-fulfillment-choices. Course 59 previously had Major-EP-Major-approved Elective(s).
On dev, I switched to the Engineering Physics major, and tried to bind CS 4820 to the EP Major Approved electives, and this resulted in a (slightly different) TypeError. This actually happens for any class, not just CS 4820. The screnshot belows shows that Algo is not mapped to a requirement because I removed the CS major from my account and my account broke as I tried to assign Algo to the Major-approved Elective(s).

This error is not the same as the original one with 'allowCourseDoubleCounting', but it is similar. I'm not entirely sure if I added CS 4820 using the drop-down or added it to my schedule. It should be noted that there are other weird occurrences with this adding process, such as CS 2112 initially being an option to add but not being an option upon refresh.

Just switched my major & minors and got this on dev firebase.

Previously: CS + ORIE majors, Applied Math minor
Now: CS major, ORIE minor
Firebase: dev (https://console.firebase.google.com/project/cornelldti-courseplan-dev/firestore/data/~2Fuser-semesters)


[Proof] More code cleanup

Motivation
See individual commits.
Have you read the Contributing Guidelines on pull requests?
Y.
Test Plan
CI.
Related PRs
None.

@bors-libra delegate+

:v: @wqfish can now approve this pull request

:pushpin: Commit ee5b586 has been approved by lightmark

@bors-libra r=lightmark

:hourglass: Testing commit ee5b586e89129868fce1570c349b5df5a6972918 with merge fcee536a6c9014e40e126e8caa5f572926a34822...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: lightmark
Pushing fcee536a6c9014e40e126e8caa5f572926a34822 to master...


Save transaction  even when post_message() fails

Currently if post_message() fails, we just return the error and don't store the transaction with the message https://github.com/iotaledger/wallet.rs/blob/6d390e54f96e96cb79bba7c100fbdf6fb386910f/src/account/sync/mod.rs#L2235
But it could still happen that a message got created and the node just returned an error, then we could have a conflicting transaction
We should store the message in any case and retry it during syncing

Should probably be done in both main and shimmer branches.

Shimmer is already done


How to data to view on POST?

Hi gents and ladies,
I'd like to add data to the story view when a user upvotes or downvotes. I'd like to know how one could implement this? Rather than discuss if it's suitable for this project.
Thanks,
Collin

Could be interesting. What sort of data did you want to add here? At present we just +/- the points and that is presented with the story. Do you mean data on who voted?

Closing as haven't heard back, but please reopen if you would like to request this with more detail.


Add PoignArt donations automatically to our db

We should write a job to periodically check PoignArt subgraph and for every withdrawal we need to create a donation in our db
https://hackmd.io/pQpfEtW7T4u93D6Q7O3-yQ
We should use this query
{
  withdrawals(where: {recipient:$unchainAddress}) {
    recipient {
      id
    }
    amount
    transaction {
      id
      timestamp
      blockNumber
    }
  }
}

$unchainAddress : 0x10E1439455BD2624878b243819E31CfEE9eb721C ( @laurenluz  gave me this) and this is the walletAddress of https://giveth.io/project/unchain-fund
PS: the transfers are just ETH so we should not be concerned about erc20 tokens
we should consider these:

[x] Donations should have verified status
[x] We should get Eth price in that tx from https://givback.develop.giveth.io/api-docs/#/default/get_givPrice and fill the value for those donations
[x] Cronjob interval time should be in config
[ ] In the end we should see the donations in https://givback.develop.giveth.io/api-docs/#/default/get_eligible_donations

@MoeNick This is also ready the cronjob is running in staging with the poignArt and it added the two test donations to our server

on staging they are visible on my project
https://giveth-dapps-v2.vercel.app/project/ok-title

But as you can see the donor is empty because this is a contract doing the donations and we fetch from their subgraph.
What should we show in the donor? We added a donationType='poignArt'
I didn't feel setting it as anonymous was right.

@CarlosQ96  Thanks man for finishing it


terraform: invalid database_flags for CloudSQL

TL;DR
Hello 👋
I'm getting
google_sql_database_instance.db-inst: Creating...

Error: Error, failed to create instance en-utwrv: googleapi: Error 400: Value requested is not valid., invalidFlagValue

because of the db flag max_connections
If I delete it
-    database_flags {
-      name  = "max_connections"
-      value = "100000"
-    }

I can proceed to create the db.
Since max_connections are BETA and this resource is not using google-beta provider, can that be the cause of the error?
Expected behavior
I expected the db to be provisiones without any errors.
Observed behavior
I got the above-mentioned error
Additional information
I'm trying to run the CloudSQL in europe-west1 if that makes any difference.
Thanks!

This error is because the instance size you chose can't accommodate that many connections. We could make the max_connections a variable, or we could document the restriction.

https://cloud.google.com/sql/docs/quotas#postgresql

Aha! Thanks!
It'd be great if that was a documented variable. The error message is not super helpful here.

Combination of region changed and db-inst (standard one) is not workable. The err logs:
Error: Error, failed to create instance en-hrebk: googleapi: Error 400: Value requested is not valid., invalidFlagValue
on database.tf line 22, in resource "google_sql_database_instance" "db-inst":
22: resource "google_sql_database_instance" "db-inst" {


Editor: Right sidebar gets priority when resizing

Godot version
6e390fa9abf2101f8772c4ef6694471153105636
System information
Fedora Silverblue 36, Ryzen 2400G
Issue description
The right sidebar gets priority over the main content when resizing the window, and the initial size barely makes a difference:
Screencast from 25-08-22 05:40:20.webm
Doesn't happen with the left sidebar, and it must have been a very recent change, AFAIK my last build from 1-2 days ago did not have this problem. #64800 may be related @KoBeWi
Steps to reproduce

Resize window? =)

Minimal reproduction project
No response

It may be better to calculate the offset relative to the side of the child control without expand enabled. Currently it seems to be calculated from the left by default.

@Rindbee If you have an idea for a fix, feel free to open PR. Otherwise the SplitContainer changes are going to be reverted :/


Add Pprof profiling hooks to debugging server

Package pprof serves via its HTTP server runtime profiling data
in the format expected by the pprof visualization tool.
By registering pprof http endpoints, we can hook go tool pprof <http addr>
to OSM to get all sorts of profiling information at runtime.
Profiling example use:
scripts/port-forward-osm-debug.sh &
go tool pprof http://localhost:9091/debug/pprof/heap

New Functionality       [X]
Control Plane              [X]
Debugging                   [X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?
No

Profiling example for OSM boot (2min sampling)

@eduser25 oops there are conflicts.


operators hive-operator (1.2.3666-420863a)

Update Hive community operator channel(s) [['alpha']] to 1.2.3666-420863a

/merge possible

/merge possible

/merge possible


TST: Improve test coverage by skipping fewer tests

Many of the common tests are skipped because of lines such as:
if config_cls not in (LoraConfig, IA3Config):
    return

These lines were often added before we had more PEFT methods like OFT, LoHa, etc. However, these new methods should also pass the common tests. Therefore, I relaxed many of these conditions so that they would not skip the new methods.
Note:
There were a handful of test cases that failed. I added TODO comments for those, as it was unclear to me why they failed. As investigating this could take some time, I chose not to fix those cases in this PR.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


make_sentence.py renamed to make_sentece.cpp

The code was in C++ format, but the file was saved as python file (i.e .py) so renamed as C++ extension (i.e .cpp).

the goal here was to convert it to python.
it was kind of TODO for me when this was just a private project.


find a payments partner

Gittip Gratipay is technically a "third-party payment aggregator," which means it is a third party collecting money on behalf of someone else. Credit card companies are down on this:

There are a few reasons why TPPA's are considered higher risk in the credit card processing industry: 1) The merchant has reduced control over the quality and delivery of the product being sold, and 2) The merchant is being trusted to pay the third party for the money they've collected on their behalf. 3) The business that owns the merchant account is responsible for all transactions charged by that account even though a majority percentage is passed onto a third party

But of course TPPA's exist: PayPal, Etsy, Kickstarter, Flattr, etc. Somehow there has to be a way to "get it right." The above link concludes: "That is not to say that merchant accounts cannot get approved for TPP processing, it is just more difficult and the underwriting conditions will more likely include a reserve and other similar safeguards. " Do you have experience with this?
Here's Stripe's position:

Stripe can only transfer to one bank account; we don't support transferring to many different users or splitting transaction proceeds among different people. Marketplaces on Stripe work in one of two ways:
One option is to have the marketplace's users (so the merchants on top of the marketplace) each set up their own Stripe account. This can be done entirely online. Then you, as the marketplace owner, will need to collect the users' API keys and make transactions on their behalf with their API keys. Stripe will then transfer directly to these users' bank accounts. If you want to collect a fee on the transactions, you can charge your users with your API key using Stripe.
The other way marketplaces use Stripe is by simply collecting all their users' payments. In this scenario, Stripe will transfer to the marketplace owner's bank account. You will then need to transfer to your users using programmatic ACH transfers (most business bank accounts allow you to set this up). The caveat in this scenario is that it needs to be very clear to any consumers that they are paying you, the marketplace, when making the transaction. Additionally, in this scenario, you will be liable for any chargebacks or disputes.

Option one is Stripe Platform, and it doesn't work for us because of the high per-transaction cost of moving 8 cents at a time over the credit card network (see #58). Dwolla is basically Stripe Platform without the credit card network middleman, so adding Dwolla support (#65) would definitely mitigate the risk that we're kaiboshed by (Stripe because of) the credit card companies.
Option two sounds like what we're trying to do, so the low-hanging fruit here is to make it "very clear to any consumers that they are paying you, the marketplace, when making the transaction."

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/317993-find-a-payments-partner?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

Reopening in view of Balanced shutting down. :-(

Talking with Stripe is #3245
Talking with Braintree is #3287.

Another option is to partner directly with a bank. We don't get the nice APIs of Stripe or Braintree, but it may be the only way to find someone who will work with our use case. I've started building a relationship with Citizens here in town, and that's where I'd start: #3288.

Whichever route we go on this, I have to imagine that cleaning up our act is a prerequisite. Cleaning up our act means:

tightening up our identity requirements (#3289)
properly reimplementing Teams as Payroll (#2569)
cleaning up the site (About pages, and #3220) so it's more obvious what we're doing

I really don't get how Gratipay is connected to banks. Is there a diagram of the structure somewhere?
I'd like to explore an integration with Dwolla.

@techtonik - Dwolla is ticketed as #65 and #726.

I really don't get how Gratipay is connected to banks. Is there a diagram of the structure somewhere?

@techtonik We're connected to banks via an intermediate payments vendor. This has been Balanced, but Balanced is shutting down.

Blech. We can only have one milestone at a time. :-/

I mean, that makes sense, but it means that sprint milestones and non-sprint milestones conflict.

Milestone discussion carried forward in #163.

This is an existential risk for Gratipay. If we don't have a payment processor, then we're effed. We're flipped. My current sense is that Stripe seems likely to reject us, Braintree might accept us, and Citizens is a wildcard (we just don't have enough experience at that level of abstraction; we're used to dealing with start-up-y abstractors instead of banks; but #417 is discouraging here).
If we can't find a credit card/ACH credit  processor by June 11, then we have a couple options:

Lean more heavily on credit card alternatives such as Dwolla and cryptocoins.
Change our model to avoid micropayments (like, maybe we drop the individual tips use case in favor of a b2b large-transaction-size use case?)

How about using Paypal until something more suitable "turns up"?

Diversification is a good thing, and it is too bad that we didn't have this before, so I am for adding multiple inputs and outputs (writing issue already).

My current sense is that Stripe seems likely to reject us

In the short term I don't see a reason why we couldn't use their deprecated US-only API, it's only international payments that are problematic.

In the short term I don't see a reason why we couldn't use their deprecated US-only API, it's only international payouts that are problematic.

If we migrate to Stripe's deprecated API, then we can be certain of facing this same existential crisis again in the future, either when they terminate the API in general, or when they ask us in particular to leave. They deprecated the API for a reason. I don't see that they state their reason, but it's not unlikely that it has to do with precisely the strictures we run afoul of with managed accounts. What's more, the short term could turn out to be very short, given that they've already asked us to leave once (see above, at https://github.com/gratipay/gratipay.com/issues/67#issuecomment-6553374). If this is truly our best option then we are in deep :hankey:.

Diversification is a good thing

Agreed. I've reopened #210.

At this point I'm feeling pretty good about Spreedly (#210). The biggest drawback I see is that they're only payouts, not payins, so they're not a complete solution for us. But for payins they seem to be a good fit for us, since our relationship with gateways is so uncertain. :-(

Review site for merchant services providers:
http://www.merchantmaverick.com/review-category/merchant-accounts/

Alright, so ... Gratipay requires four things: identity verification, payins, escrow, payouts. Here's our current vendor landscape:

identity verification—Balanced
payins—Balanced (credit cards), Coinbase (bitcoin)
escrow—Balanced, New Alliance, Ally, PayPal, Coinbase
payouts—Balanced (U.S. bank accounts), Coinbase (bitcoin), PayPal

With Balanced going away, here's what we need to replace to maintain our current level of service:

identity verification
payins—credit cards

payouts—U.S. bank accounts

Let's start with an ideal scenario:

We find a credit union that's willing to underwrite us as an MSB agent of theirs (#3322). They provide compliance and escrow.
We find a merchant services provider to provide payins (credit card), while probably revaulting our cards at Spreedly (#210) as insurance against future gateway changes.
We convince Trans-Pay that we're good to go (#417), and they provide bank payouts.

What can we realistically get done how fast?

I reached out to someone for a (soft) intro to IAFCU.

WePay (#69) and Braintree (#3287) are the remaining one-stop-shop marketplace offerings. I guess it could be even more ideal to drop one of those in for Balanced.

Even if we go with WePay and/or Braintree, I think we should take two steps to reduce the risk for the next time our gateway stops underwriting us for whatever reason (this is the third time now):

Migrate to Spreedly now.
Improve our compliance story via #3321 #3322 gratipay/inside.gratipay.com#119 and whatever else may come out of https://github.com/gratipay/inside.gratipay.com/issues/119.

If we can't use WePay and/or Braintree then the only option I see is to fast-track 2 and hope for the best with companies like IAFCU and Trans-Pay ... and that seems really risky to me. :-(

If we can't partner with companies that can provide traditional credit card and bank account processing, then option 3 would be to use non-traditional options such as Coinbase and Dwolla.
Scenarios, best to worst:

compliance, payins (credit card), and payouts (bank account) via WePay and/or Braintree
DIY compliance, payins (credit card), and payouts (credit card) via other partnerships
DIY compliance, payins (non-traditional) and payouts (non-traditional) via other partnerships

Dwolla has a partnership with a credit union. Linked from their footer:

Dwolla operates a software platform that sends your payment instructions to our financial institution partner, Veridian Credit Union. Your Dwolla balance, if any, is held in a pooled account at this financial institution. Please note that Dwolla balances are not insured. Dwolla is an agent of its financial institution partner.

https://legal.dwolla.com/about-our-financial-institution-partner/

Another option would be to more radically change our model so we could fit Stripe. Let's talk about that on #3324.

I'm starting to think of this whole process as a chance to clarify our product, refocus on open culture—open-source projects, open products, hackerspaces, cooperatives, etc., shifting the focus from tipping individuals to paying projects, with individuals behind the scenes splitting the money. I have in mind Braintree's advice a few years ago (above at https://github.com/gratipay/gratipay.com/issues/67#issuecomment-6566710):

[N]arrow the focus, i.e., explicitly target open source developers for the first phase of buildout. If and when that is proven stable we can adjust our account to expand further.

We got the green light from Braintree (#3287)!
https://twitter.com/Gratipay/status/588421397606707200

We have a solution from Stripe! From https://github.com/gratipay/gratipay.com/issues/3324#issuecomment-93562216:

You make it clear that this is intended to support actual services, even if they're provided to the community and not to the payer (for example, ongoing open source development). We cannot support people using this to just pay out individuals for arbitrary usage.

This is the intention behind https://github.com/gratipay/inside.gratipay.com/issues/180.

You cap contributions from a single payer to a single receiver at $100/wk (as opposed to the current $1,000 limit for organizations). It doesn't look like anyone currently goes above $100 anyway, correct?

It looks like we only have two tips above $100, so we should be able to dial back to that level without too much trouble. Ironically, Stripe was the one for whom we upped the limit in the first place: https://github.com/gratipay/gratipay.com/issues/1378#issuecomment-44040763. :-)

You remain US-only for recipients for the time being.

Almost half of our payouts are outside the US, so this is going to be a significant obstacle for us. Let's dig in on #3287 to understand better what Braintree offers us here.

As previously stated, funds are paid out directly to bank accounts, no stored balances with redistribution.

Both Braintree and Stripe are requiring this. We're looking at zeroing out our escrow in #1383. It's going to be hard but at this point I think we have to do it, because both Braintree and Stripe are requiring it.

You make it clear that this is intended to support actual services, even if they're provided to the community and not to the payer (for example, ongoing open source development). We cannot support people using this to just pay out individuals for arbitrary usage.

This is the intention behind gratipay/inside.gratipay.com#180.

We don't need that with braintree, they haven't mentioned such a limitation.

they haven't mentioned such a limitation.

That could be because I put down "Sustainable crowdfunding for open-source projects" for "Business Description" on our application. I figured they'd have similar requirements as Stripe in this regard. I have a vague sense that other payments companies want this, too. Maybe I picked this up from Trans-pay? Anyway, we could/should scour the Braintree ToS and ask on #3287 (and/or email) to be sure if we want to try to avoid this requirement.

https://medium.com/gratipay-blog/balancedshutdown-3a9fdb32e9c6
https://twitter.com/Gratipay/status/588825910956130304

That could be because I put down "Sustainable crowdfunding for open-source projects" for "Business Description" on our application. I figured they'd have similar requirements as Stripe in this regard.

Now that I think about it, I was also acting under the influence of their advice from a few years ago (above at https://github.com/gratipay/gratipay.com/issues/67#issuecomment-6566710):

His advice was to narrow the focus, i.e., explicitly target open source developers for the first phase of buildout. If and when that is proven stable we can adjust our account to expand further.

Almost half of our payouts are outside the US, so this is going to be a significant obstacle for us. Let's dig in on #3287 to understand better what Braintree offers us here.

Braintree marketplaces are also US-only for payouts.

Status report:
Stripe (#3324)
Not feeling warm and fuzzy. Patreon works around Stripe's US limitations in the same way we worked around Balanced's (via alternate services, PayPal and Payoneer in their case). Would Stripe let us get away with the same practice? I'm reluctant to trust that they would, but I'm also reluctant to press the point. :-(
Braintree (#3287)
We can't use their Marketplace product because they don't provide true escrow (https://github.com/gratipay/gratipay.com/issues/3287#issuecomment-96666583). We could potentially use a regular merchant account with them in conjunction with a separate ACH provider for payouts (e.g., #3366).
MangoPay (#891)
Nervous because they're small like Balanced was. They do provide true escrow, and they have better international support than Stripe or Braintree, but still not good enough (we couldn't pay @rohitpaulk, e.g.).

I'm currently leaning towards a tier-2 scenario, with Braintree for merchant services and Citizens for ACH. I have intro calls with lawyers starting this afternoon, I'll use those to start exploring what it would mean for us to own our own regulatory compliance.

we couldn't pay @rohitpaulk, e.g.

Unless we could? I can't tell, actually. Is IBAN enough, @rohitpaulk?
https://docs.mangopay.com/api-references/bank-accounts/.

More evidence that what we were doing with Balanced was acceptable, from the MangoPay FAQ:

In order to accept payments via PayPal, you will need to implement PayPal outside of our solution and open a merchant account directly with them.

Unless we could? I can't tell, actually. Is IBAN enough, @rohitpaulk?

Yes, for India. I've been paid through Payoneer before, and IIRC they asked for my IBAN and my bank's SWIFT/BIC code.

IRC

Hi everyone,

Most of you have already migrated, but this email is relevant to everyone. It outlines what you should expect after June 11, the day we stop processing.

On June 12, we are going to clear our vault of all card numbers and almost all bank account numbers [1], and we will not support tokenizing any new cards or banks accounts. Refunds don't need card numbers, and we'll continue to support refunds until October 9. However, our bank requires a bank account number for ACH reversal, so June 11 is the last day you'll be able to perform a reversal.

If you haven't already migrated, I suggest you do so by mid-May to give yourself enough time in case you need to resolve any issues and adequate time to be able to reverse payouts.

Matin

[1] We will keep your marketplaces bank account number to give you the ability to manage your escrow balance by debiting from and crediting to your bank account.

Okay! We have a Braintree account! :dancer:
We also almost have a lawyer to help us with regulatory compliance (https://github.com/gratipay/inside.gratipay.com/issues/193)!
Now all we need is an ACH provider ...

ACH is going to be non-trivial. Starting with two options: Citizens (https://github.com/gratipay/gratipay.com/issues/3366) and OpenACH (https://github.com/gratipay/gratipay.com/issues/3371).

Reached out to IAFCU re: ACH: #3372.

SynapsePay? #3373

Finxera? #3374

We chose an attorney (https://github.com/gratipay/inside.gratipay.com/issues/193), and Citizens is working on pricing for us (which makes it sound like they've decided to underwrite us). I'm hopeful that those two relationships will fully crystallize in a week to ten days. Let's look at a timeline ...

Here's a timeline we can update as we go along: https://gist.github.com/whit537/fe8e098364f20e77fd80.

Here's a timeline we can update as we go along:
https://docs.google.com/spreadsheets/d/1NVi9C0pYkrgh5wNTi0KzlBZCovKACmbHuToFoCa-Ks4/edit?usp=sharing

As we wrap up the design of our new processing infrastructure on this ticket, I've reticketed implementation as #3377.

Balanced requires us to be PCI compliant in order to give us bank accounts and identity info. :wrench:

See #3379 for getting certified by Balanced to receive bank accounts and identity info.

I'm leaning against Spreedly because a) it's expensive, b) we're in a cash crunch, and c) it's another moving part, which is an implementation risk (https://github.com/gratipay/gratipay.com/issues/210#issuecomment-98784291). I think we should go with straight Braintree.

Okay, made the call on #210. No Spreedly, vaulting with Braintree.

Braintree owns Venmo,  and they may have some helpful code such as:
https://github.com/venmo/btnamespace
I also found this: https://github.com/highfidelity/fake_braintree

Dialing back out from #3377: We are now on Braintree. Yay! :dancer:
On the bank payout side, we're stuck. We do have New Alliance for escrow and we do have PayPal for payouts, but we're stuck on ACH. We tried Citizens (#3366) but they rejected us. What should we do?

Options:

Drop ACH payouts. Only support PayPal.
Find a bank that will take us.
Chase one of these wrappers: #3373 #3374 #3491.

Here's a list of banks:
http://files.consumerfinance.gov/f/201503_cfpb_depository-institutions-list.pdf

Looks like Zipmark (#3491) is working out.

Zipmark is getting mired in complication around AML (gratipay/inside.gratipay.com#119, #2449).

Proposal: We drop U.S. bank payouts. PayPal is the only way to get money out of Gratipay. Thoughts?

Escrow shuffled from New Alliance to PayPal. Emptying our Balanced escrow reticketed as https://github.com/gratipay/inside.gratipay.com/issues/266.

Sorry, wrong ticket. :)

The Case for PayPal
Gratipay already uses PayPal. We were running roughly 50% PayPal before the Gratipocalypse, and today we made 20 PayPal payouts, and 6 bank payouts. PayPal's fees are not actually that bad: 2%, capped at $1 for U.S., and $20 for non-U.S. It's simple and ubiquitous. Compared to the red nightmare that #3491 is turning into, MassPay doesn't seem that bad.
Since we already have PayPal implemented, it'd be only a little extra work on our part (just ripping out bank accounts and notifying people, basically), and it would get us out of a lot of AML work. We could work on https://github.com/gratipay/inside.gratipay.com/issues/119 over the next year or so, and then maybe reapproach Transpay (#417; they seem the best-suited to help with global bank payouts). We can take our time and do this right. Not rush and cut corners. We've learned a lot this time around. Now we know what "right" means.

MassPay goes up to 5,000 payouts. Transpay, et al. want to see more scale from us anyway. I got blatantly laughed at by one vendor (https://github.com/gratipay/inside.gratipay.com/issues/259). We've got a lot of product problems to solve and community-building to do, PayPal for payouts would not be our bottleneck. We could grow for a year and then revisit the idea of being "a true payments company."

where is the laughed at part in that link

@tshepang Added to https://github.com/gratipay/inside.gratipay.com/issues/259#issuecomment-113185704 (and link updated in above comment).

@whit537:

PayPal for payouts would not be our bottleneck.

It would be a dealbreaker for me. I refuse to do business with them (observed too many others with spurious 'frozen funds' issues and PP refusing to deal with problems of their own making until sufficient internet rage is directed at them), and do not have an account.
I really do not want my accumulated balance to be refunded to donors simply because I refuse to accept funds through PP.

@webmaven How about Dwolla?

@whit537, never tried them.

@webmaven Dwolla would be sort of a cross between what we've been offering so far with ACH and PayPal: they're U.S.-only like ACH, but they require signing up for an account like PayPal. There is no per-transaction cost (Gratipay would pay a flat monthly fee for features such as next-day transfers).
Mind looking into them? Technically speaking, they're quite parallel to PayPal, so implementation would be fairly straightforward. I think it could complement PayPal nicely for us.

I'll look into them. As long as they don't have stories like these floating around, I'll likely be OK with them:

https://www.google.com/?#q=paypal smashed violin
https://www.google.com/?#q=paypal+frozen+crowdfunding

^^ I don't see how those cases are wrong.
In the first case,

"While we cannot talk about this particular case due to PayPal's privacy policy, we carefully review each case, and in general we may ask a buyer to destroy counterfeit goods if they supply signed evidence from a knowledgeable third party that the goods are indeed counterfeit. The reason why we reserve the option to ask the buyer to destroy the goods is that in many countries, including the US, it is a criminal offense to mail counterfeit goods back to a seller."

In the second case,

We are now in the midst of overhauling our policies in this space. We're talking to the major crowdfunding players that we work with to put in place a permanent solution that avoids unnecessary account limitations. But making this work for all stakeholders—contributors, entrepreneurs, crowdfunding sites and us—is pretty complicated. As soon as I have more to share, I promise to update everyone.
In the meantime, we will ensure that each crowdfunding campaign is reviewed by a senior member of my team before any action is taken. It’s a small, but important step.

Sources I'm finding for @rohitpaulk's quotes:
http://gizmodo.com/5872958/paypal-smashed-some-ladys-antique-violin-and-can-smash-yours-too
https://www.paypal-community.com/t5/PayPal-Forward/PayPal-and-Crowdfunding/ba-p/782560
(P.S. I wish Google ranked original sources higher than derivative content from ad companies ... but I guess they themselves are an ad company. :-/)

Yeah, that September '13 blog post from PayPal is really reassuring. Oh, wait, not really, they are still doing this to people:
http://garethhayes.net/paypal-warning/

OK, it looks like Dwolla passes the smell test. At least, I can't find any horror stories regarding them. So far as I can tell, they only freeze funds when they are told to by law enforcement.
@whit537, can you get statements from them regarding their policies in this area? Do they ever proactively freeze accounts or reverse transactions that 'seem' suspicious to them?

OK, it looks like Dwolla passes the smell test.

@webmaven Cool.

[C]an you get statements from them regarding their policies in this area? Do they ever proactively freeze accounts or reverse transactions that 'seem' suspicious to them?

I'll let you pursue that if you like, perhaps on #726.

Okay! We have new payment partners: Braintree for payins, New Alliance for escrow, and PayPal for payouts. We have survived the Balanced shutdown! With that, may this ticket pass once again into the quietude of history, whenceforth it was called in our hour of need. It has served us well, now may it enjoy a hero's rest.
:horse: :flags: :fallen_leaf:

Inquiry from support: https://gratipay.freshdesk.com/helpdesk/tickets/2766


Too much raw data in connection notification

The Bot app, once started, will send telegram notifications when connections to other Nodes occur. This could be connections you make (outbound) to other nodes, or connections that are being made (inbound) to your nodes from others (which is really the driver for this project).
At the moment you get a verbose list of Node and App keys. This should be revised - to inform you that a connection had occurred (either inbound or outbound)

Fixed in v0.0.2-alpha.
No longer dumps raw data. Provides a simplified count of all client types and the connection directions (inbound, outbound, or unknown (??)).


Refactoring : Improve the vuexOrm model

Is your feature request related to a problem? Please describe.
In order to have better performance and better maintainability, it would be nice to improve the orm model in front app
Describe the solution you'd like
The solution

IMPORTANT : The old and new orm will coexist during the development, and later the old orm will be replaced by this new orm
Tasks

[x] #2113
[x] #2112
[x] #2114
[x] #2115
[x] #2116

Describe alternatives you've considered
N/A
Additional context
This refactoring have impact on :

weak labelling
similarity search

This issue is becoming outdated with the current modifications.


Added necessary permission to access camera

Successfully tested in both physical and emulator devices.

Looks good and I was gonna merge it, but can you describe the bug it has? I noticed the bug label. @k105la


Feature/day014 contribution

Added Day014 folder with a Random Dog Generative API Based React app, providing a feature to fetch and display random dog images using an external API

thanks for the commit and sorry for the delay. Was working on codinn.dev :)


NEF deserialization failure - invalid checksum for NEF files generated by neon (RC1) and ncss (RC2)

I'm using the @cityofzion/neon-core npm package, version 5.0.0-next.8
I cannot deserialize a NEF file generated by the C# compiler.  I get the error NEF deserialization failure - invalid checksum when calling NEF.fromBuffer(...). The error originates from this code in neon-core.
I tried with a NEF generated by neon and with a NEF generated with the new ncss compiler.
I'd like to be able to read a NEF file from disk and deploy it to TestNet using neon-core.

I just tried deploying my contract to RC2 TestNet using next.10.
I get a different error now: RpcDispatcher.execute gets the following RPC error:
{
  "jsonrpc": "2.0",
  "id": 1234,
  "error": {
    "code": -500,
    "message": "Invalid",
    "data": "   at Neo.Plugins.RpcServer.GetRelayResult(VerifyResult reason, UInt256 hash)\n   at Neo.Plugins.RpcServer.SendRawTransaction(JArray _params)\n   at Neo.Plugins.RpcServer.ProcessRequest(HttpContext context, JObject request)"
  }
}

I'm still using the experiemental deployCOntract method found here: https://github.com/CityOfZion/neon-js/blob/next/packages/neon-js/src/experimental/helpers.ts (Let me know if I should no longer be using that!)
This is my contract

Did you also update your wallet to RC2? Addresses have changed so it could very well be that you're trying to deploy from an account without funds.

The issue description of https://github.com/CityOfZion/neon-js/issues/741 makes me believe this issue is resolved. If not, please drop a message and we can reopen


viewer: add # of matches on top of search result

This should help with usability e.g. if n is large, users need to scroll down.

This issue has been addressed in PR #496, which is now under review.


Updated UI of navbar links upon hover

Description:
Updated the UI of navbar links when hovered.
Issue No:
N/A
Type of change
[ :white_check_mark: ] Other (specify): Updated UI
Checklist:
[ :white_check_mark: ] I have made this change from my own.
[  ] I have taken help from some online resources.
[ :white_check_mark: ] My code follows the style guidelines of this project.
[ :white_check_mark: ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ :white_check_mark: ] My changes generate no new warnings.
[ :white_check_mark: ] I have tested the changes thoroughly before submitting this pull request.
[ :white_check_mark: ] I have provided relevant issue numbers and screenshots after making the changes.

@brishtiGitH this updation is not needed as someone did it.


adds viewport meta tag to example

should make it look less tiny on mobile

Thanks for the contribution!


[TFL] Optimize ArgMinMax for float when axis=dims-1.

Fixes #47555.
Benchmark on argmax of 1-D float32 tensor on Pixel 3a android 11:

Size
Reference (min/max/avg microsecs)
Optimized (min/max/avg microsecs)

10
0/63/0.260737
0/49/0.216432

100
1/101/1.17919
0/77/0.271518

1000
9/98/9.80665
0/65/1.07653

10000
95/190/96.2557
8/110/9.63559

100000
952/1102/967.445
88/215/94.8766

/cc @abattery for visibility.

@renjie-liu could you review this performance improvement proposal?

@WindQAQ do you think the current set of test cases for arg min max covers the cases for float when axis=dim - 1? If not, please add some test cases.

@WindQAQ do you think the current set of test cases for arg min max covers the cases for float when axis=dim - 1? If not, please add some test cases.

There is one test, but I can add more. BTW, do you think it's better to put ArgMaxVector to tensor_utils? Though there is no other uses other than in ArgMinMax I think.

do you think it's better to put ArgMaxVector to tensor_utils?

I think we don't need to move them to the tensor_utils as you said.

Generally, LGTM. To make sure the validity of the implementation, could you add some test cases under lite/op_tests for cases when axis = dims - 1?

Resolve the conflict problem in the internal/optimized/legacy_optimized_ops.h. There are two ArgMinMax ops.

Resolve the conflict problem in the internal/optimized/legacy_optimized_ops.h. There are two ArgMinMax declarations from the headers for reference ops and optimized ops.

Should we modify the input arguments to legacy_reference_ops as well? It takes a cmp functor but this PR adds a boolean argument in optimized version.

Legacy ops cannot use optimized version because they accepts a function as argument. I add a function that takes bool as argument, which is the same as the one in reference_ops. Let me know if it's correct. Also port ArgMax for backward compatibility. Reference ops have ArgMax function that is separate from ArgMinMax.

tensorflow/lite/testing:zip_test_arg_min_max is not buildable.

tensorflow/lite/testing:zip_test_arg_min_max is not buildable.

Do you have error msg? Thanks!

tensorflow/lite/testing/generate_examples_report.py, in make_report_table
fp.write("  %s\n" % html.escape(repr(params[p]), quote=True))
KeyError: 'axis'

Let's see if it works 😃

Looks like the PR gets rolled back. Let me know if anything I can help.


Hide git branch output when installing

I have a provisioning script I use to get a new computer setup, or update an existing computer. In this script I run the following line to setup all my bundles:
vim -c "NeoBundleInstall!" -c "qa!"

This works great, but during updates I get the full git log which appears to make me have to view the whole change stack before it'll carry on. Is there a way to do a silent install? For example just show:
[neobundle] (10/18) [=======  ] vim-ruby updated

Instead of the full git log ?

Please update neobundle.

Amazing work. Thanks for such an awesome plugin @Shougu!

Not sure if this commit change it but now when using :Unite neobundle/update when a plugin get updated the short commit message is not longer shown. I think it is useful to see this commit message. Can you please restore the behavior? Thanks

In that case perhaps there's should be a verbose install flag?
By default the message is hidden, but if you really want output you can pass the flag v to show it?

Not sure if this commit change it but now when using :Unite neobundle/update when a plugin get updated the short commit message is not longer shown. I think it is useful to see this commit message. Can you please restore the behavior? Thanks

If you want to see the full log, you can use :NeoBundleLog or :Unite neobundle/log.
:Unite neobundle/update is not the feature for it.

In that case perhaps there's should be a verbose install flag?

No.  It is not needed.

:+1: elegant solution!

I have implemented the feature, because the full log feature is already implemented.

I don't want to see the full log just the short commit message. I find this short message useful to decide whether I want to open the URL with the full commit or not.

Updated.

Thank you. However
i) Now when I press <CR> on -> diff URI nothing happens.
ii) When I use :Unite neobundle/update:all and neobundle is update the update process pauses and gives a message Press Enter to continue (or something like that regarding pressing Enter)

Fix done.

Thank you.

Now unite neobundle/log can show commit messages, for example
|neosnippet| * d657c10 [22 hours ago] Improve indent

But NeoBundleUpdatesLog still not showing them.
Would you add the commit logs to NeoBundleUpdatesLog too?
I'm used to it and think it's very useful.

OK.

Thank you very much!


使用报错问题

在webui_forge中使用时报错：onnxruntime::python::CreateExecutionProviderInstance CUDA_PATH is set but CUDA wasnt able to be loaded. Please install the correct version of CUDA andcuDNN as mentioned in the GPU ，但是在webui111中使用正常，同一台电脑，请问怎么解决？

It's an environment problem. Please make sure you can use CUDA successfully.


Direct Line: How to really use upload function to upload image?

Hi there,
I cannot figure out how to upload image via Direct Line. Is there any comprehensive samples?
Thanks!

hi, if you are using nodejs, take a look at this module.
https://www.npmjs.com/package/directline-api
It is in client.postFileMessage(token, conversationId, formData);.
    // check out form data format
    // https://www.npmjs.com/package/request#multipartform-data-multipart-form-uploads
    directLineAPI.getToken(conf.DIRECT_LINE_SECRET)
        .then(function(token) {
            return directLineAPI.createConversation(token);
        })
        .then(function(result) {
            // console.log('postFileMessage>> ' + JSON.stringify(result));
            return directLineAPI.postFileMessage(result.token, result.conversationId, {
                my_file: fs.createReadStream(__dirname + '/unicycle.jpeg'),
            })
        })
        .then(function(result) {
            t.pass();
            t.end();
        })
        .fail(function(err) {
            t.fail();
            t.end();
        });

Thanks,
I tried by using C# and the upload one returns status of 204, which is expected.
However, it doesn't actually sending Activity to bot framework. Do you have sample to send the message after you do upload?

We have a bug in uploading attachments to v3 bots that we hope to have fixed soon. The C# client should work fine once that bug is fixed.

Thanks dandriscoll. So we cannot upload image for now? Please also fix DirectLine SDK client, as upload method only accept conversationId.

I'm going to close this issue for now, but feel free to open a new issue for further discussion.

@dandriscoll I see a http 500 status code when I try to upload a file using direct line. Is the bug already fixed in v3?

The documentation is a little thin on this (it's in the backlog) but the upload method works just like a regular web upload endpoint. It accepts multipart MIME content.

If you use our Web Chat control, you can observe the requests coming from the browser to the Web Chat service, which talks the same protocol as Direct Line.


use predictable instead of random nonces

Weave's crypto implementation goes through a lot of trouble in order to use random nonces. Alas this is completely unnecessary. It is perfectly ok for nonces to be predictable. The only requirement is that they are only used once per session.
NaCl Security Model:

Distinct messages between the same {sender, receiver} set are required to have distinct nonces. For example, the lexicographically smaller public key can use nonce 1 for its first message to the other key, nonce 3 for its second message, nonce 5 for its third message, etc., while the lexicographically larger public key uses nonce 2 for its first message to the other key, nonce 4 for its second message, nonce 6 for its third message, etc. Nonces are long enough that randomly generated nonces have negligible risk of collision.

So nonces in NaCl are 192 bits in order to permit use of random nonces, but it's fine to use predictable nonces instead.
PyNaCl requirements

A nonce is not considered secret and may be freely transmitted or stored in plaintext alongside the ciphertext. A nonce does not need to be random or unpredictable, nor does the method of generating them need to be secret. A nonce could simply be a counter incremented with each message encrypted, which can be useful in connection-oriented protocols to reject duplicate messages (“replay attacks”). A bidirectional connection could use the same key for both directions, as long as their nonces never overlap (e.g. one direction always sets the high bit to “1”, the other always sets it to “0”).

Also, DTLS MACs employs message sequences numbers as nonces, which are also transmitted in the clear in the envelope. Note that the spec doesn't mention nonces, neither does the main TLS spec on which it builds, but the sequence numbers do evidently serve exactly the same purpose as nonces (in combination with an 'epoch', which caters for cipher suite renegotiation and thus is not relevant to us).

"So it seems that there is no need to generate random nonces"
https://github.com/weaveworks/weave/pull/269

@dpw well remembered (and badly not remembered by me)
I propose that weave nonces consist of 192-65=127 zeroes in the MSB, followed by a direction inidcator bit, followed by the DF bit, and a 63 bit message sequence number. The DF bit and sequence number (64 bits combined) appear in the envelope. The DF bit is present, as in the current implementation, in order to guard against routers messing with the packet headers.
NB: We still need to maintain a sliding window on the receiving side for duplicate detection, since we don't want to have to a bitset that can grow to 2^63 bits.
A 63 bit sequence number, employed to transmit ethernet-frame-sized packets (1522) over 10GigE, wraps after 356 thousand years. And weave isn't capable of transmitting at anywhere near that speed.
With the above change we can dispense with the entire nonce rolling protocol, which complicates weave crypto significantly and causes problems such as #564.

On the subject of random vs predictable nonces

AES-GCM in TLS [...] records have an eight byte, explicit nonce. [...] But TLS already has a suitable, implicit record sequence counter that has always been used to number records. So the explicit nonce is at best a waste of eight bytes per record, and possibly dangerous should anyone attempt to use random values with it.

Fixed by #617.


Fixed setPosition for VoiceChannels

Fixed for other objects in a different pr, just to be consistent xD
Please describe the changes this PR makes and why it should be merged:
Semantic versioning classification:

[x] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

I already did this >.> #1989


Mention GUI to import data for area in docs

Importing data is covered here: https://a-b-street.github.io/docs/tech/map/importing/index.html
Easiest way to get new map data is from the GUI, worth mentioning that.

Fire up A/B Street with
Click on Sandbox, and then click on the change map button shown below.