feat direct control navbar-menu

Closes #
📝 Description
add direct control state navbar-menu open/close for 2 or more navbarmenu in navbar
⛳ Current behavior (updates)

Please describe the current behavior that you are modifying

🚀 New behavior

Please describe the behavior or changes this PR adds

💣 Is this a breaking change (Yes/No):

📝 Additional Information

Summary by CodeRabbit

New Features

Added control over the navbar menu's open state with the new isOpen property.

Closing - inactivity.


docs(fix) Update 2.28.0 rel notes

https://armory.slab.com/posts/2022-07-21-potential-rel-note-additions-for-2-28-0-5avzmk4d has a list of a few items that needed to be updated.

Resolves GitHub issue:

Resolves Jira: [JIRAPROJECT-123]

The title of this Pull Request needs to be changed to match the format:
<type>(<scope>): <subject>

See more details here: https://www.spinnaker.io/community/contributing/submitting/#commit-message-conventions
Some common examples are:
feat(armory.io): add docs.armory.io
fix(parser): grammar and spelling
style(loadingPage): made it super pretty!
refactor(helpMessages): changed order to make more sense

The title of this Pull Request needs to be changed to match the format:
<type>(<scope>): <subject>

See more details here: https://www.spinnaker.io/community/contributing/submitting/#commit-message-conventions
Some common examples are:
feat(armory.io): add docs.armory.io
fix(parser): grammar and spelling
style(loadingPage): made it super pretty!
refactor(helpMessages): changed order to make more sense

The title of this Pull Request needs to be changed to match the format:
<type>(<scope>): <subject>

See more details here: https://www.spinnaker.io/community/contributing/submitting/#commit-message-conventions
Some common examples are:
feat(armory.io): add docs.armory.io
fix(parser): grammar and spelling
style(loadingPage): made it super pretty!
refactor(helpMessages): changed order to make more sense


Fix overloaded jar in CSRF and wss based methods

Patches an oversight from #376 which presumed all jar passed through http().
getGeneralToken() relies on getHash() which expects { session: 'COOKIE' }, thus breaking overloaded string jars in all CSRF based methods. Likewise, onNotification() manually populates the header, and also needed the conversion.
This fixes those cases, and does not introduce breaking changes.

Test on this PR is bugged. I have run locally & had no issues.
Force merging to get around this bug


Automated install script

Added by @durbanpoison: Closes #5

It just occurred to me that the user of this script will need a private way to obtain the script. The goal of this project is to ensure that a user's IP address is not exposed to any Zcash services. However by downloading this script before Tor is installed, they would be exposing their IP address to a Zcash-related service (this repo).
So maybe what we should do is have the Tor installation done manually, then doing everything else via script (including downloading the script over Tor). What do you think?

Oh good point.
Easiest thing to do would have the user access this script through the Tor browser. But that seems clunky.
It might make sense to have a README that tells the user to install Tor curl command, then install the script. But then it becomes a cumbersome two step process rather than one step.
Let me sleep on it and I'll think of something.

It might make sense to have a README that tells the user to install Tor curl command, then install the script. But then it becomes a cumbersome two step process rather than one step.

Ok. If it has to be two steps then so be it. In this house we prefer security over convenience.

Alright, I think I've figured it out.
sudo apt-get install tor
service tor start
curl --socks5-hostname localhost:9050 $LINK_TO_SCRIPT > zcash-tor-install.sh
sudo ./zcash-tor-install.sh

If you run the above, downloading the script will happen through tor. Slightly more clunky but more secure by your requirements.

That satisfies my requirements, thank you @Thenerdstation. I am going to solicit another set of eyes for review. If the review goes well and the script gets merged then I will pay out the bounty. Will follow up shortly after the review.

Whenever you feel comfortable
zcdEX6k9rCbgyopfwwx23mF6tnot5dpMpxLBtt59QWq93voBq4kJjj1dhiCyG7Vjtw4fAzmDRHAGf8usiMr8S9xAYSsFdPL

Any updates on getting this reviewed by another person?

Thanks for the review @ConnorFoody. And thanks for your patience @Thenerdstation. I have one more person on the review and they said they would find time this week to do it.
Once this PR gets merged I will be happy to give 0.05 ZEC as a bounty for reviewing to @ConnorFoody - just leave a z-address as a comment here and I'll add it to the payout.

Thanks @Thenerdstation. Two requests:

Can you please add a docs.md file to this PR with instructions for using the script (how to download, install, run privately, etc) as well as a "layman friendly" rundown of what the script is doing?

The second review I asked for came in. It's from @jfeldis, engineer at Bitseed. Please read his comments when you have a moment and let me know if you plan to make any changes based on this review. If this advice is sound it may influence changes in the manual "line by line" guide currently in the README as well.

I took a look at your setup for Tor.  My experience is with Bitcoin core, but I think zcash is based on bitcoin core, so hopefully my comments apply to zcash as well.
I have been told that one must be cautious about using a proxy to route traffic over tor via port 9150.  DNS lookups may not route via the proxy (DNS leaks) and some applications may not completely respect the proxy settings. IPv6 could also leak traffic.   You might consider using UFW to close all incoming and outgoing ports except what Tor needs.  Even with that, any open port can still leak.  Tor browser is specifically design not to leak, so for setup, it might be safer to use Tor browser on another machine inside the same NAT to download files, and then transfer to the bitseed inside the NAT.
While routing zcash to port 9150 will work, I know that bitcoin core has specifically moved to using cookie authentication between bitcoind and tor, allowing bitcoin to directly set up a hidden service at startup.  I think this is considered more secure than using port 9150.  Why not use the built-in direct authentication with Tor? (assuming zcash has ported this from bitcoin)
By restricting zcash to only 8 outgoing connections, most of which you are adding manually, I worry that the node's connections may be rather static, making it easier to triangulate on which transactions are coming from your node.  If you have dozens of changing peers, I would think tx originating from your node may be harder to identify.  In addition, by supporting more peer connections, the zcash tor network will be stronger and more secure.
I am not an Tor expert, so please just take this as my 2 cents

@ConnorFoody @jfeldis thank you both for your reviews! Please share a Zcash z-address in a comment here if you would each like to claim a bounty of 0.05 ZEC for the reviews.

Alright, my changes from his review.

I have been told that one must be cautious about using a proxy to route traffic over tor via port 9150. DNS lookups may not route via the proxy (DNS leaks)

This is a big deal. There are 3 things that run through tor: curl, zcashd, and the apt-get install.
I went through and verified that every curl call used '--socks5-hostname' and not just '--socks5' as that will force curl to do DNS lookup through tor.
I had to add dnsseed=0 for the zcash.conf. This turns off DNS lookup. We can't connect to any nodes we haven't added, but better safe than sorry.
For apt-get, I couldn't confirm on DNS lookup, but I added torsocks to be doubly sure. We force zcash to be from an onion service, so it should be fine, but the added torsocks should at least help.

You might consider using UFW to close all incoming and outgoing ports except what Tor needs. Even with that, any open port can still leak. Tor browser is specifically design not to leak, so for setup, it might be safer to use Tor browser on another machine inside the same NAT to download files, and then transfer to the bitseed inside the NAT.

This feels excessive, especially since we don't know what else the user is doing on the system. The goal of these scripts is to make sure the users IP never touches anything zcash related, not necessarily fully anonymize the entire system.

While routing zcash to port 9150 will work, I know that bitcoin core has specifically moved to using cookie authentication between bitcoind and tor, allowing bitcoin to directly set up a hidden service at startup. I think this is considered more secure than using port 9150. Why not use the built-in direct authentication with Tor? (assuming zcash has ported this from bitcoin)

This does exist and is described here. It seems like the cookie stuff is just for setting up your own service, which we don't do here (but should add later!)

By restricting zcash to only 8 outgoing connections, most of which you are adding manually, I worry that the node's connections may be rather static, making it easier to triangulate on which transactions are coming from your node. If you have dozens of changing peers, I would think tx originating from your node may be harder to identify. In addition, by supporting more peer connections, the zcash tor network will be stronger and more secure.

This is a super good point. Modified maxconnections to be 100. Though during my testing it never got above 8 connections. Not sure why...

@Thenerdstation This is looking very good, thank you. One thing missing from the documentation: how to download the scripts and navigate to the directory where the scripts are located so that when the user enters the run commands they are executed properly. Please add these instructions and I will consider this task done.

Done! I've tried to make it as user friendly as possible.

@Thenerdstation Thank you for those additions. I ran a test on my local machine. The "fancy" way returned this response to the command torsocks wget...
 torsocks wget https://github.com/durbanpoison/zcash-tor/archive/master.zip
--2018-06-16 xx:xx:xx--  https://github.com/durbanpoison/zcash-tor/archive/master.zip
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/durbanpoison/zcash-tor/zip/master [following]
--2018-06-16 xx:xx:xx--  https://codeload.github.com/durbanpoison/zcash-tor/zip/master
Resolving codeload.github.com (codeload.github.com)... <IP_ADDRESS>
Connecting to codeload.github.com (codeload.github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘master.zip’
I don't see any obvious indicators that the download is going through Tor but I'm also not familiar with how Torsocks looks in the terminal. Could you confirm for me that the download is going through Tor with the torsocks command?

Thanks @Thenerdstation. Your PR has been merged and the bounty has been paid! I put a little extra on top too, as thanks for your patience during the review.
I was able to get everything working on my local machine, but ran into trouble when working on my remote machine (Bitseed).
I received an error message after entering this command:
$ torsocks wget -qO- https://check.torproject.org/ | grep -E "Congratulations|Sorry"
[Jun 18 xx:xx:xx] WARNING torsocks[2299]: [connect] Connection to a local address are denied since it might be a TCP DNS query to a local DNS server. Rejecting it for safety reasons. (in tsocks_connect() at connect.c:186
I could not proceed further than this on remote machine.
I found a bug report on the Tor website that seems related:
https://trac.torproject.org/projects/tor/ticket/13184
But am unsure how to actually make it work.
Do you have any ideas?


Correction for the use of dpi_ratio

The commit is meant to fix #55
This turns a multiplication into a division in the use of the dpi_ratio

Thank you!


docs: Added quickstart guide

If applied, this commit adds a new quickstart guide covering multiple languages and also adds a link to it in the navigation menu.
Closes #4354
Signed-off-by: Vikram Vaswani<EMAIL_ADDRESS>

LGTM! so far. Shall we add a mermaid graph somewhere after the initial hello-world snippet to clarify what's happening under de hood? WDYT?

@vikram-dagger I was thinking about this and I'm not entirely sure if we should make all the quickstart in a single page. Particularly since it's more difficult to track it from the analytics perspective since it's hard to know how much time users spend on each section and what the user flow is. WDYT about making each section a separate page?


Implement floating label for TextField

Add the right MDL class to the TextField when the floatingLabel prop is passed.

Didn't see that the prop floating-loading is actually working...

Thanks for updating :)


Support To Compare Text

Current version 0.4a can compare only numbers. To compare texts should be supported.

Closed Dec 14, 2015 at 10:57 PM


PKG_VERSION not set during test

Just saw that this failed
    - test "$(cppcheck --version)" == "Cppcheck $PKG_VERSION"

fixed by #943


inadyn: 2.3 -> 2.3.1

Semi-automatic update. These checks were done:

built on NixOS
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn -h got 0 exit code
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn --help got 0 exit code
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn help got 0 exit code
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn -V and found version 2.3.1
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn -v and found version 2.3.1
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn --version and found version 2.3.1
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn -h and found version 2.3.1
ran /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin/inadyn --help and found version 2.3.1
found 2.3.1 with grep in /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1
found 2.3.1 in filename of file in /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1

cc @viric

Success on x86_64-linux (full log)
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1
shrinking /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/sbin/inadyn
gzipping man pages under /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/sbin
patching script interpreter paths in /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1
checking for references to /tmp/nix-build-inadyn-2.3.1.drv-0 in /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1...
moving /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/sbin/* to /nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1/bin
/nix/store/zl5vf4sncl2rbf1n2h52fg86rc53q3q3-inadyn-2.3.1

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘inadyn-2.3.1’ in /Users/graham/nix-borg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/tools/networking/inadyn/default.nix:23 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1
shrinking /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1/sbin/inadyn
gzipping man pages under /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1/share/man/
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1/sbin
patching script interpreter paths in /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1
checking for references to /build in /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1...
moving /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1/sbin/* to /nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1/bin
/nix/store/iil69yk3alwk95r8b1cc4irm98p9314v-inadyn-2.3.1


Redshift test driver stopped working

Which version and edition of Flyway are you using?
9.19.1
I am in the process of upgrading from 6.3.3 to 9.19.1
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
9.19.1 is the latest as of today
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API
Which database are you using? (Type & version)
Postgres 13.9 simulation of Redshift
Which operating system are you using?
osx
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
I am upgrading Flyway from version 6.3.3 to 9.19.1 .  We use a Redshift fake driver from https://github.com/opt-tech/redshift-fake-driver for our integration tests. It is capable of accessing Postgres to simulate Redshift. The JDBC url is "jdbc:postgresqlredshift://localhost:5432/foo" .
In version 6.3.3 of Flyway, this worked, but in version 9.19.1 of Flyway, I am getting an error
Caused by: org.flywaydb.core.api.FlywayException: No database found to handle jdbc:postgresqlredshift://localhost:5432/foo
at org.flywaydb.core.internal.database.DatabaseTypeRegister.getDatabaseTypeForUrl(DatabaseTypeRegister.java:54)
at org.flywaydb.core.internal.jdbc.DriverDataSource.(DriverDataSource.java:109)
at org.flywaydb.core.internal.jdbc.DriverDataSource.(DriverDataSource.java:89)
at org.flywaydb.core.api.configuration.ClassicConfiguration.configure(ClassicConfiguration.java:1711)
at org.flywaydb.core.api.configuration.ClassicConfiguration.configure(ClassicConfiguration.java:1400)
at org.flywaydb.core.api.configuration.FluentConfiguration.configuration(FluentConfiguration.java:947)
What did you expect to see?
I expected a successful connection
What did you see instead?
The error above

In the time between 6.3.3 and 9.19.1 Flyway has had to become more specific in how it detects which database it is connecting to for parsing and processing functionality as well as supporting derivative databases. In this case, 6.3.3's logic of anything which says its postgres is postgres can no longer be applied. Since postgres and redshift syntax are different, Flyway must know what it is parsing and the JDBC url of jdbc:postgreqlsredshift: is not supported since it is not a JDBC url used by any supported database type.
A suggestion would be to see if redshift-fake-driver would accept jdbc:redshift://localhost:5432/foo and allow pointing at your local postgresql database. This would allow Flyway to parse your scripts as Redshift and use the redshift-fake-driver to connect to your local database.

Hi @JasonLuo-Redgate , I see this issue is marked as "Completed" . Does flyway support jdbc:postgreqlsredshift: again? thanks!


Failing Unit Test with different Text Values [Language Problem]

Hello,
via the automated Test run in our System, the following Methods of LCL_TEST of ZCL_LOGGER fail:

can_log_batch_msgs
can_og_chained_exceptions

It's obviously that some kind of language conflict exists here, the system language is German (D), but the Logger Class is executing the Tests in English. By changing the sy-langu to German during Debugger Session, the Tests will pass.
Below are the Error Messages:

Code where the false Text Components are set:

By switching Logon Language to English, tests also pass but it would be nice to stay in German Environnement for that.
My question is now what do I have to do to resolve this issue? On the first try I didn't found the Text Elements to translate them...

The problem is actually in the BAL message reader. ABAP Unit tests run in the text environment language of the original language of the object being tested, so SY-LANGU is set to 'E' by the unit test framework. But when generating the texts it uses MESSAGE ... INTO which will always log in the original logon language. You can see this by debugging here:

both languages are 'E' when logged on in German.
https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abenlanguage_settings.htm
It is theoretically possible to override this using SET LOCALE LANGUAGE at the start of the unit test. You can add these two lines at the beginning of class_setup to pass tests in German:

But I would not recommend this as a solution because it may cause issues on systems with other logon languages and additional complexity of languages that may or may not be installed. Tests should rather be isolated from any language dependency.


Test functorch transform behavior on BatchNorm and other weird in-place operations

Most in-place operations look the same: the first argument is mutable and no other arguments are mutable.
F.batch_norm is an exception to that rule: it has multiple mutable arguments. We should check that our transforms work correctly on it.

Hi @zou3519 , is this error related to the current issue? It seems all models with batchnorm can't be used for jacobian calculation.
import torch
import torch.nn as nn
import functorch
from torch.nn.utils import _stateless
import functools

model = nn.Sequential(nn.Linear(3, 4), nn.BatchNorm1d(4), nn.Linear(4, 5), nn.Softmax(dim=-1))
_input = torch.randn(32, 3)
weight = model[0].weight.clone()
weight.requires_grad_()

def func(param: torch.Tensor, _input: torch.Tensor = None):
    _output: torch.Tensor = _stateless.functional_call(
        model, {'0.weight': param}, _input)
    return _output  # (N, C)

jac: torch.Tensor = functorch.jacrev(functools.partial(func, _input=_input))(weight)

Traceback (most recent call last):
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 33, in <module>
    jac: torch.Tensor = functorch.jacrev(functools.partial(func, _input=_input))(weight)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 441, in wrapper_fn
    vjp_out = vjp(f_wrapper, *primals, has_aux=has_aux)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 270, in vjp
    primals_out = func(*diff_primals)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 624, in f_wrapper
    return f(*replaced_args)
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 28, in func
    _output: torch.Tensor = _stateless.functional_call(
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\utils\stateless.py", line 141, in functional_call
    out = module(args, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\container.py", line 139, in forward
    input = module(input)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\batchnorm.py", line 148, in forward
    self.num_batches_tracked.add_(1)  # type: ignore[has-type]
RuntimeError: During a grad (vjp, jvp, grad, etc) transform, the function provided attempted to call in-place operation (aten::add_.Tensor) that would mutate a captured Tensor. This is not supported; please rewrite the function being transformed to explicitly accept the mutated Tensor(s) as inputs.

Additionally, even if I set the model.eval() to avoid previous issue, I still can't apply vmap onto it.

def vmap_func(_input: torch.Tensor):
    return functorch.jacrev(functools.partial(func, _input=_input.unsqueeze(0)))(weight)

jac = functorch.vmap(vmap_func)(_input)

Traceback (most recent call last):
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 41, in <module>
    jac = functorch.vmap(vmap_func)(_input)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\vmap.py", line 365, in wrapped
    batched_outputs = func(*batched_inputs, **kwargs)
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 38, in vmap_func
    return functorch.jacrev(functools.partial(func, _input=_input.unsqueeze(0)))(weight)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 441, in wrapper_fn
    vjp_out = vjp(f_wrapper, *primals, has_aux=has_aux)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 270, in vjp
    primals_out = func(*diff_primals)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 624, in f_wrapper
    return f(*replaced_args)
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 31, in func
    _output: torch.Tensor = _stateless.functional_call(
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\utils\stateless.py", line 141, in functional_call
    out = module(args, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\container.py", line 139, in forward
    input = module(input)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\batchnorm.py", line 168, in forward
    return F.batch_norm(
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\functional.py", line 2438, in batch_norm
    return torch.batch_norm(
RuntimeError: Batch norm got a batched tensor as input while the running_mean or running_var, which will be updated in place, were not batched.
If you are using a module and do not need eval mode, please set `track_running_stats` to be False.If you are using a prebuilt module and do not need eval mode, please see the functorch website for resources on how to patch your module to work with vmap

cc @samdow if there's more you want to say about batchnorm.

It seems all models with batchnorm can't be used for jacobian calculation.

The error message is complaining that the buffers to batch_norm are not being passed into the function func that is being transformed (func only accepts param and _input). Please rewrite func to also accept and use the buffers.

Additionally, even if I set the model.eval() to avoid previous issue, I still can't apply vmap onto it.

Setting the model to eval() works for me:
import torch
import torch.nn as nn
import functorch
from torch.nn.utils import _stateless
import functools

model = nn.Sequential(nn.Linear(3, 4), nn.BatchNorm1d(4), nn.Linear(4, 5), nn.Softmax(dim=-
1))
model.eval()

_input = torch.randn(32, 3)
weight = model[0].weight.clone()
weight.requires_grad_()

def func(param: torch.Tensor, _input: torch.Tensor = None):
    _output: torch.Tensor = _stateless.functional_call(
        model, {'0.weight': param}, _input)
    return _output  # (N, C)

jac: torch.Tensor = functorch.jacrev(functools.partial(func, _input=_input))(weight)

def vmap_func(_input: torch.Tensor):
    return functorch.jacrev(functools.partial(func, _input=_input.unsqueeze(0)))(weight)

jac = functorch.vmap(vmap_func)(_input)

Btw, @ain-soph -- I noticed you're using stateless.functional_call rather than functorch.make_functional_with_buffers. We're trying to figure out how to consolidate those two APIs, given that they do almost the same thing. Is there one that you prefer over the other?

@zou3519 Thanks for you kind explanation.

Btw, @ain-soph -- I noticed you're using stateless.functional_call rather than functorch.make_functional_with_buffers. We're trying to figure out how to consolidate those two APIs, given that they do almost the same thing. Is there one that you prefer over the other?

Personally, I prefer stateless.functional_call because they allow me to do a dict match, while make_functional requires me to match by list index for params. When there is a huge model and I only want to modify one layer weight, it'll be difficult to use make_functional.
However, stateless.functional_call has a big problem because it can't use nn.DataParallel to utilize multiple GPUs. I don't know if there is any solution yet because it requires the input module as nn.Module.

@zou3519 And I just checked the previously mentioned vmap snippet in release v0.2.0, it still raises the issue I posted.
Not quite sure if it's get solved in master though.

@samdow I’m currently calculating NTK matrix for each input, and making average over the batch. Then I use the largest rig value divided by the smallest one of The averaged NTK matrix as a score function to optimize model (arch) parameters.
This is somewhat motivated by the TENAS paper.
I’ll provide a minimal snippet here.

I use a trick to disable track_running_stats for all batchnorm modules. However, applying vmap is still problematic.
for a in model.modules():
    if isinstance(a, nn.modules.batchnorm._BatchNorm):
        if a.track_running_stats:
            a.track_running_stats = False
            a.register_buffer("running_mean", None)
            a.register_buffer("running_var", None)
            a.register_buffer("num_batches_tracked", None)

The snippet becomes now
import torch
import torch.nn as nn
import functorch
from torch.nn.utils import _stateless
import functools

model = nn.Sequential(nn.Linear(3, 4), nn.BatchNorm1d(4), nn.Linear(4, 5), nn.Softmax(dim=-
1))
model.eval()

for a in model.modules():
    if isinstance(a, nn.modules.batchnorm._BatchNorm):
        if a.track_running_stats:
            a.track_running_stats = False
            a.register_buffer("running_mean", None)
            a.register_buffer("running_var", None)
            a.register_buffer("num_batches_tracked", None)

_input = torch.randn(32, 3)
weight = model[0].weight.clone()
weight.requires_grad_()

def func(param: torch.Tensor, _input: torch.Tensor = None):
    _output: torch.Tensor = _stateless.functional_call(
        model, {'0.weight': param}, _input)
    return _output  # (N, C)

jac: torch.Tensor = functorch.jacrev(functools.partial(func, _input=_input))(weight)

def vmap_func(_input: torch.Tensor):
    return functorch.jacrev(functools.partial(func, _input=_input.unsqueeze(0)))(weight)

jac = functorch.vmap(vmap_func)(_input)

It still raise the error even though model.eval() is called previously. I guess it's the _stateless.functional_call that makes those layers self.training==True again.
Traceback (most recent call last):
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 37, in <module>
    jac = functorch.vmap(vmap_func)(_input)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\vmap.py", line 365, in wrapped
    batched_outputs = func(*batched_inputs, **kwargs)
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 34, in vmap_func
    return functorch.jacrev(functools.partial(func, _input=_input.unsqueeze(0)))(weight)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 441, in wrapper_fn
    vjp_out = vjp(f_wrapper, *primals, has_aux=has_aux)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 270, in vjp
    primals_out = func(*diff_primals)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\functorch\_src\eager_transforms.py", line 624, in f_wrapper
    return f(*replaced_args)
  File "C:\Users\ain-s\OneDrive\workspace\trojanzoo\test.py", line 25, in func
    _output: torch.Tensor = _stateless.functional_call(
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\utils\stateless.py", line 141, in functional_call
    out = module(args, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\container.py", line 139, in forward
    input = module(input)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\modules\batchnorm.py", line 168, in forward
    return F.batch_norm(
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\functional.py", line 2436, in batch_norm
    _verify_batch_size(input.size())
  File "C:\Users\ain-s\miniconda3\lib\site-packages\torch\nn\functional.py", line 2404, in _verify_batch_size
    raise ValueError("Expected more than 1 value per channel when training, got input size {}".format(size))
ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 4])

@ain-soph, setting the model to eval should work on master https://gist.github.com/zou3519/f581a5de3bbd4721a49923752973c938 . You're correct that it doesn't work on 0.2.0 or earlier releases.


🐞 CLI args not parsed when secret env is not defined

What is the issue?
I have a module, where using credentials is optional, e.g.
import dagger
from dagger import function, object_type

@object_type
class Test:
    username: str | None = None
    token: dagger.Secret | None = None

    name: str | None = None

    @function
    def call(self) -> str:
        return f"Hello, {self.name}!"

However, when token is missing, it seems that the CLI is stopping parsing the other arguments:
$ dagger call -m test --token=env:MY_TOKEN --name "World" call
Hello, None!

Dagger version
dagger v0.11.1 (registry.dagger.io/engine) darwin/arm64
Steps to reproduce
See above.
Log output
No response

That's an interesting find, thanks for reporting! 🤔

This was fixed in v0.11.5. Expected output:
$ dagger call -m test --token=env:MY_TOKEN --name "World" call

Error: failed to get value for argument "token": secret env var not found: "MY_..."
Run 'dagger call --help' for usage.


pybind11.h not found when installing using pip

I'm trying to install python bindings on Ubuntu 16.04 machine:
$ pip3 install pybind11 nmslib
Collecting nmslib
  Using cached https://files.pythonhosted.org/packages/de/eb/28b2060bb1750426c5618e3ad6ce830ac3cfd56cb3eccfb799e52d6064db/nmslib-1.7.2.tar.gz
Requirement already satisfied: pybind11>=2.0 in /homes/alexandrov/.virtualenvs/pytorch/lib/python3.5/site-packages (from nmslib) (2.2.2)
Requirement already satisfied: numpy in /homes/alexandrov/.virtualenvs/pytorch/lib/python3.5/site-packages (from nmslib) (1.14.2)
Building wheels for collected packages: nmslib
  Running setup.py bdist_wheel for nmslib ... error
  Complete output from command /homes/alexandrov/.virtualenvs/pytorch/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-0y71oxa4/nmslib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-916r1rr9 --python-tag cp35:
  running bdist_wheel
  running build
  running build_ext
  creating tmp
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.5m -I/homes/alexandrov/.virtualenvs/pytorch/include/python3.5m -c /tmp/tmpwekdswov.cpp -o tmp/tmpwekdswov.o -std=c++14
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.5m -I/homes/alexandrov/.virtualenvs/pytorch/include/python3.5m -c /tmp/tmpyyphh022.cpp -o tmp/tmpyyphh022.o -fvisibility=hidden
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  building 'nmslib' extension
  creating build
  creating build/temp.linux-x86_64-3.5
  creating build/temp.linux-x86_64-3.5/nmslib
  creating build/temp.linux-x86_64-3.5/nmslib/similarity_search
  creating build/temp.linux-x86_64-3.5/nmslib/similarity_search/src
  creating build/temp.linux-x86_64-3.5/nmslib/similarity_search/src/method
  creating build/temp.linux-x86_64-3.5/nmslib/similarity_search/src/space
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I./nmslib/similarity_search/include -Iinclude -Iinclude -I/homes/alexandrov/.virtualenvs/pytorch/lib/python3.5/site-packages/numpy/core/include -I/usr/include/python3.5m -I/homes/alexandrov/.virtualenvs/pytorch/include/python3.5m -c nmslib.cc -o build/temp.linux-x86_64-3.5/nmslib.o -O3 -march=native -fopenmp -DVERSION_INFO="1.7.2" -std=c++14 -fvisibility=hidden
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  nmslib.cc:16:31: fatal error: pybind11/pybind11.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Clearly,  pybind11 headers were not installed on my machine. This library is not packaged for apt-get (at least not for Ubuntu 16.04), so I needed to manually install from source.
Would be nice if nmslib install script took care of this.

Interesting. I have an ubuntu 16.04 lts machine, and I've successfully installed nmslib using pip when pybind11 wasn't already installed.
'pip install nmslib' should install pybind11 if it isn't already installed - but in your case it looks like it pip thinks it was installed already (Requirement already satisfied: pybind11>=2.0).
What does python -c 'import pybind11; print(pybind11.get_include()) print out?  Based off the compile flags I'm guessing that it's not returning the fully qualified path =(

This might be related to this issue: https://github.com/pybind/pybind11/issues/1344

Sorry what I posted was a bit misleading. Initially when I tried pip3 install nmslib it failed importing pybind11. Thus I explicitly installed pip3 install pybind11 and then repeated nmslib installation. So in the description I wrote $ pip3 install pybind11 nmslib just to make it clear that the Python package pybind11 is available and this should not be a problem.
$ python -c 'import pybind11; print(pybind11.get_include())'
include

@benfred this is the issue I mentioned before. There seems to be a bug in python setup tools: it ignores requirements specs.

hmm - so there might be two separate problems there (not installing pybind11 as part of the install, and not getting the correct path from pybind11 once it is installed).
I think I've managed to replicate the problem here. It seems like the issue is with pybind11 and pip10 . With that combination the 'pybind11.get_include' returns just 'include' instead of the fully qualified path:

@taketwo as a short term fix, trying going 'pip install pip==9.0.3' and then installing nmslib - longer term I think we will have to wait for a patched version of pybind11
@searchivarius I'll see if I can replicate this with the install_requires being ignored

Thanks guys for your quick reaction. I installed pybind11 manually to /usr/local, so for now I'm fine. Just wanted to flag this issue for the record.
May I squeeze in a small offtopic question? (Did not find a support forum or mailing list.) I have a relatively small cloud of 3D points (between 1K and 4K) and I need to repeat a lot of single nearest neighbor lookups as fast as possible (approximate results are okay). Which parameters (build/search time) are most relevant for me, what's your expert opinion?

@taketwo it's hard to tell without looking at the data. However, for such a small collection, it can be hard to beat bruteforce search. How fast should be fast? How large are you vectors (dim)?

@searchivarius My vectors have only 3 dimensions (points in Euclidean space), they are sampled from surfaces of object models. Ideally I'd like to keep each query around or under 1us, though I don't know how realistic is this.

Hi @taketwo , I played with randomly generated 3d data. Your real data is likely to have lower retrieval times. I don't get 1us, but for 5K records I can get 700K queries per second on my 4-core laptops. Here is the command line that I used to test it:
release/experiment -s l2 -i ~/TextCollect/VectorSpaces/unif5K_3d.txt -m hnsw -c M=30,efConstruction=10000,post=2  -t ef=4  -Q 1000 -b 1 -k 10 --threadTestQty 4

Construction parameters are :
M=30,efConstruction=10000,post=2
Query parameters are:
ef=4
Recall@10 was 98%

Thanks @searchivarius, this is already quite reasonable. Perhaps I could bring the query time further down by exploring the parameter space around your suggestions.

@taketwo yes, your results can certainly vary: random uniform data is a notoriously difficult even for lower dimensions. I would be curious to learn about your results. Thanks!

@searchivarius M=30 is way to many for d=3. Probably M=3..6  would be much better choice

@yurymalkov it wasn't in my test.

I created a test set with actual data that I need to process (1K records and 1M queries). I'm using the knnQueryBatch function in the python interface and %timeit for benchmarking. As I wrote before, I only need to find a single nearest neighbor for each query point.
With your suggested parameters it takes 2.1s.
I tried to vary every option (separately) and was able to bring it down to 1.2s with:

M = 2
ef = 1
rest are the same

This all is done with a single core, because in my application I will need to repeat such batch queries against many different indices, thus I will be parallelizing on that level. But for the record, increasing the number of threads, I see only marginal improvement. With 4 threads and best parameter set it takes 1.1s.

Thanks for the update!
Do u use knnquerybatch?
Yes small M may work fast although accuracy can be compromised.
On Wed, Apr 25, 2018, 5:47 PM Sergey Alexandrov<EMAIL_ADDRESS>wrote:

I created a test set with actual data that I need to process (1K records
and 1M queries). I'm using the knnQueryBatch function in the python
interface and %timeit for benchmarking. As I wrote before, I only need to
find a single nearest neighbor for each query point.
With your suggested parameters it takes 2.1s.
I tried to vary every option (separately) and was able to bring it down to
1.2s with:

M = 2
ef = 1
rest are the same

This all is done with a single core, because in my application I will need
to repeat such batch queries against many different indices, thus I will be
parallelizing on that level. But for the record, increasing the number of
threads, I see only marginal improvement. With 4 threads and best parameter
set it takes 1.1s.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nmslib/nmslib/issues/307#issuecomment-384444955, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAyZMlmTyoWgY42L0TYfIy7ZVzdX4Qiuks5tsO79gaJpZM4TihpD
.

sorry I missed u mentioned knnquerybatch.
but do u actually have multiple cores?

Yes, my workstation has "Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz" and lscpu reports it has 12 CPUs with 2 threads on each.

@taketwo hmmm this is strange. Did you try to explicitly set num_threads to say 6?

Yes, I'm passing num_threads explicitly to the query function. Benchmarked all numbers from 1 to 12, with timeit set to repeat run 50 times. Here are the results:

num_threads
time (ms)

1
1144.315

2
1019.341

3
974.499

4
1038.168

5
1028.630

6
1024.223

7
1031.905

8
1046.275

9
1046.863

10
1051.944

11
1053.538

12
1047.510

There seem to be a sweet spot at 3 threads which I did not notice yesterday because I only tried some even numbers.

@taketwo something is wrong :-( this is nearly perfectly parallelizable

In the meantime I gave a try to a different ANN library which is designed specifically for low-dimensional spaces (libnabo), and it is dramatically faster, 26 ms for the same query. So I think for now I'll stick with that one. Thanks for your support!

@taketwo as a short term fix, trying going 'pip install pip==9.0.3' and then installing nmslib - longer term I think we will have to wait for a patched version of pybind11
@searchivarius I'll see if I can replicate this with the install_requires being ignored

I have similar issues when in stalling nmslib in Google Colab.
Collecting nmslib
Using cached https://files.pythonhosted.org/packages/e1/95/1f7c90d682b79398c5ee3f9296be8d2640fa41de24226bcf5473c801ada6/nmslib-<IP_ADDRESS>.tar.gz
Requirement already satisfied: pybind11>=2.0 in /usr/local/lib/python3.6/dist-packages (from nmslib) (2.2.4)
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from nmslib) (1.14.6)
Building wheels for collected packages: nmslib
Running setup.py bdist_wheel for nmslib ...
I got stuck here. I tried to use pip 9.0.3 version and have same issues. How can I solve this problem?


Unable to copy text from the text document from a chrome browser

Describe the bug
I'm unable to copy text from the text document from a browser visualization. I've tested this on both Chrome and Firefox browsers on an Ubuntu 22.04 and Ubuntu 20.04 systems and on a Chrome browser on a Macbook M1 Pro.
The only time I was able to copy text using Ctrl-C/Cmd-C was when I launched the rerun local app instance.
Also it would be really great if right click worked to copy text. It seems like right click is disabled on all windows/tabs currently.
To Reproduce

Create a TextDocumentView and log any text to it.
Serve the app on a Chrome/Firefox browser
Try to copy text using Ctrl-C/Cmd-C

Rerun version
0.17.0

cmd+c works fine for me both in 0.19 and 0.17, but right click menu is missing indeed
I used
https://rerun.io/viewer/version/0.17.0?url=https%3A%2F%2Fapp.rerun.io%2Fversion%2F0.19.0%2Fexamples%2Fdna.rrd
and
https://rerun.io/viewer/version/0.19.0?url=https%3A%2F%2Fapp.rerun.io%2Fversion%2F0.19.0%2Fexamples%2Fdna.rrd
respectively


[SPARK-46849][SQL][FOLLOWUP] Add dedicated class to keep column definition instead of StructField in Create/ReplaceTable command

What changes were proposed in this pull request?

This is a follow-up of https://github.com/apache/spark/pull/44876 to refactor the code and make it cleaner. The idea is to add a dedicated class for column definition instead of StructField in Create/ReplaceTable command. This is more flexible and cleaner than adding an additional default column expression in CreateTable command.
Why are the changes needed?

Code refactor, and makes it easier to fully eliminate the need of a fake analyzer for default value handling in the future. We should make similar code changes to ALTER TABLE command and v1 CREATE TABLE command.
Does this PR introduce any user-facing change?

no
How was this patch tested?

existing tests
Was this patch authored or co-authored using generative AI tooling?

no

cc @dtenedor @dongjoon-hyun

thanks for the review, merging to master!


fixadjust conjunct's nullable info in LogicalExternalRelation

Proposed changes
pick from master https://github.com/apache/doris/pull/41014

run buildall


Blob input stream fix

Resolves #13811

@ashokmor No those will be removed before this is merged. I'm just trying to figure out what's going on with some tests that are failing, and that's typically our first step when we see failures in the ci pipeline that we can't reproduce locally.

Thank you @rickle-msft  for solving quickly.
May I know in release of this lib issue is fixed? (Where to track release and issue?)

@ashokmor Sure thing!
This fix was just released yesterday in 12.8.0. Typically once a fix gets merged into master, it'll go out as a part of whatever monthly release comes immediately after


What's the point in giving .src() ?

Why does this plugin require src files to test when they are already specified in the karma conf -- that's the whole point of the conf. Just wondered the logic behind this...
gulpfile.js
return gulp.src(testFiles)
    .pipe(karma({
      configFile: 'karma.conf.js',
      action: 'run'
    }))

karma.conf.js
module.exports = function (config) {
  config.set({
    // base path, that will be used to resolve files and exclude
    basePath: '',

    frameworks: ['mocha', 'chai'],

    // list of files / patterns to load in the browser
    files: [
      'node_modules/jquery/dist/jquery.js',
      'jquery.my-lib.js',
      'test/*.js'
    ],

@garygreen it was done that way so it would be a valid gulp plugin (accepts a stream of files and does something with them). I also built gulp-karma to work around problems in Karma itself that are fixed now.
Now that Karma is in better shape, gulp-karma isn't really necessary any longer. I would suggest you use Karma directly: https://github.com/karma-runner/gulp-karma


typedef improvement: return same type as provided

Currently, the following smippet
const p1: GeoJSON.Point = { type: 'Point', coordinates: [18.984375, 57.32652122521709] }
const p2: GeoJSON.Point = parse(p1)

produces error
Type 'GeoJSON' is not assignable to type 'Point'.
  Type 'MultiPoint' is not assignable to type 'Point'.
    Types of property 'type' are incompatible.
      Type '"MultiPoint"' is not assignable to type '"Point"'.

because of GeoJSON return type.
The function should return specific GeoJSON subtype it is provided, so I suggest to change typedef to something like
export declare function parse<T extends GeoJSON>(t: T, precision?: number, extraPrecision?: number, options?: Partial<OptionsInterface>): T;

to avoid unnecessary type guards and coercion.

sorry was related to ts repo https://github.com/logue/geojson-precision


Mysql solder error

On add a mod. I have the  option  (donator url) Im not use this because is only to technic official.
But on add my modpack I receive one mysql error "not found donatelink...."
And on add a modpack as the same error with other tables (background_url, logo_url, icon_url)
Im create the tables and works but this error should be fixed

This is related to #378
You cannot use shared webhosting

FWIW, I'm using solder on GoDaddy and it's working flawlessly, including the composer/artisan bits required to setup/upgrade. I recently migrated from the default sqlite3 database to mysql and then did an upgrade <IP_ADDRESS>, all without issues.

@Rhodizzle you are extremely lucky then.
The majority of shared webhosting cannot be used.
I must point out that officially solder does not support shared webhosting due to several security options being forced by wehbhosts which interferes with how solder operates.
If you have managed hosting - such as DreamHosts VPS Hosting you can use solder as you can configure the VPS to how you see fit.  Only reason why I suggest it is because of cost, and its very simple and easy to setup a .phprc file to outline your needs.

@GenPage please close due to inactivity


Let's find a helper-maintainer for this project

Dear users and maintainers of this package and everybody who came here,
We have quite a backlog of GH issues, some of them untriaged for a few years. Documentation PR's pending since May. Also, there are bigger challenges such as coverage on Node 16+.
Let's kindly encourage Isaac Z. Schlueter to organize somebody to help him maintain this program.
For example, Sindre Sorhus, the creator of ava, the nemesis of tap, got Mark Wubben on board. They both are featured in a nice table at the bottom of the readme.
Same here, we need to find a person who would proactively take care of this repo — to personally guarantee to:

triage any issues within 24 hours,
review any PR's within a week,
coordinate the feature roadmap, tempting us with future goodies, and
engage the existing and prospective users of tap on social media

If a helper-maintainer person starts to slack off, we would also agree on a complaints procedure, where, worst case, they'd risk being banished to the "Former" bullet list at the bottom of the readme and Mr. Schlueter would organize a search for another helper-maintainer.
Thumb up if you agree.

Not sure about this. Isaac seems like a pretty busy guy but the outstanding issues/prs on this repo aren't amazingly important.
Almost all the outstanding PRs are documentation typos, for one.
That, and node-tap seems like a relatively finished project. It doesn't really seem to need much more in terms of features.
That said, if there was enough demand I think a community fork would be significantly preferable.

If anyone wants to help out, I'm always open to contributors.  Otherwise, like most of my OSS projects, it'll be updated whenever my attention cycles back to it, usually in furious bursts once every 6-12 months or so.


exclude ember-try packages from npm publish

The current published version includes these files which brings the package size to 127 megabytes

Is there anything more needed for this PR? Its causing my team a bit of trouble since its inflating our docker images.


Charger error message in web interface does not identify which one

Is your feature request related to a problem? Please describe.
I have two chargers configured. When one has a problem the console identifies it correctly as lp-1 or lp-2 but the web interface only shows "charger: not available", "charge total import: not available" and "charge meter: not available"
Describe the solution you'd like
Include the name of the loading point in error message
Describe alternatives you've considered
Check error message at console
Additional context
[lp-2  ] ERROR 2023/08/04 22:04:58 charge meter: not available
[lp-1  ] INFO 2023/08/04 22:04:58 car disconnected
[lp-2  ] ERROR 2023/08/04 22:05:08 charge meter: not available
[lp-2  ] ERROR 2023/08/04 22:05:08 charge total import: not available
[lp-2  ] ERROR 2023/08/04 22:05:09 charger: not available
[lp-2  ] ERROR 2023/08/04 22:05:18 charge meter: not available
[lp-2  ] ERROR 2023/08/04 22:05:28 charge meter: not available
[lp-2  ] ERROR 2023/08/04 22:05:28 charge total import: not available
[lp-2  ] ERROR 2023/08/04 22:05:28 charger: not available
[lp-2  ] ERROR 2023/08/04 22:05:38 charge meter: not available

Seems we should start looking into this


Tracking issue for making xkeysym the source of truth for X11 keyboard symbols

It was suggested to make this crate serve as a "source of truth" for keyboard symbols across the Rust GUI ecosystem (between X11 and Wayland). This issue serves as a tracking issue for all PRs/issues I file to do this.
Repositories to file PRs against

xkbcommon (cc @rtbo), see rust-x-bindings/xkbcommon-rs#43
smithay-client-toolkit (cc @i509VCB), see Smithay/client-toolkit#378
xkbcommon-dl (cc @kchibisov), rust-windowing/xkbcommon-dl#8
rust-xkb (cc @meh), PR not filed yet

I'll file draft PRs at first to make sure the interface checks out in all cases. Once I'm sure that we have the API that we want, I'll release xkeysym version 1.0.0 and mark all of these as ready.
Other matters
It was discussed that this repository should be moved to be under either @Smithay or @rust-windowing. Not sure what the organization admins' thoughts on that are. Done! It's been moved to @rust-windowing
I'll also ping @psychon and @eduardosm, since you've both expressed interest in unifying the X11 ecosystem (re as-raw-xcb-connection).

There is also https://gtk-rs.org/gtk3-rs/stable/latest/docs/gdk/keys/struct.Key.html, but since GTK is X11 and Wayland, I am not sure they'd want to switch.

Does GTK use X11 keysyms? If it does it's tempting to at least try

Gtk-rs binds to the GDK keysyms.
(code generation using gir)


what does this mean？ ERROR pinging Field Server field.carriota.com:- LOCAL Client error message: ECONNRESET

I have installed the iri full-node and field in my OS, and the iri and field run successfully. However, the field debug information as follow:
10:40:15.440    FIELD        Field Client      v.0.1.6
10:40:15.444    FIELD        Field ID:         02d6*************************************** (do NOT share online!)
10:40:15.445    FIELD        Public ID:        02d6936f97640741
10:40:15.445    FIELD        Field Server(s):  field.carriota.com
10:40:15.445    FIELD        Donations:        ENABLED
10:40:15.445    FIELD        Donations:        Seed for dynamic IOTA address generation: ERJ*****
10:40:15.445    FIELD        IRI:              Public access through the Field is ENABLED
10:40:15.445    FIELD        IRI:              PoW (attachToTangle) jobs are ENABLED
10:40:15.495    FIELD        IRI online!
10:40:17.052    FIELD        ERROR pinging Field Server field.carriota.com:
10:40:36.919    FIELD        ERROR pinging Field Server field.carriota.com:
10:41:18.450    FIELD        ERROR pinging Field Server field.carriota.com:
10:41:18.450    FIELD        - LOCAL Client error message: ECONNRESET
10:42:02.816    FIELD        ERROR pinging Field Server field.carriota.com:
10:42:21.109    FIELD        ERROR pinging Field Server field.carriota.com:
10:42:21.110    FIELD        - LOCAL Client error message: ECONNRESET
10:42:41.659    FIELD        ERROR pinging Field Server field.carriota.com:
10:42:41.660    FIELD        - LOCAL Client error message: ECONNRESET

and the IRI debug information:
Logging - property 'logging-level' set to: [INFO]
06/19 10:39:30.228 [main] WARN  com.iota.iri.IRI$IRILauncher - No neighbor has been specified. Server starting nodeless.
06/19 10:39:30.231 [main] INFO  com.iota.iri.IRI$IRILauncher - Welcome to IRI Testnet <IP_ADDRESS>
06/19 10:39:31.960 [main] INFO  com.iota.iri.IRI$IRILauncher - You have set the debug flag. To enable debug output, you need to uncomment the DEBUG appender in the source tree at iri/src/main/resources/logback.xml and re-package iri.jar
06/19 10:39:32.072 [main] INFO  c.i.i.s.r.RocksDBPersistenceProvider - Initializing Database Backend...
06/19 10:39:32.125 [main] INFO  c.i.i.s.r.RocksDBPersistenceProvider - RocksDB persistence provider initialized.
06/19 10:39:32.127 [Latest Milestone Tracker] INFO  com.iota.iri.Milestone - Waiting for Ledger Validator initialization...
06/19 10:39:32.128 [Solid Milestone Tracker] INFO  com.iota.iri.Milestone - Initializing Ledger Validator...
06/19 10:39:32.129 [Solid Milestone Tracker] INFO  com.iota.iri.Milestone - Tracker started.
06/19 10:39:32.138 [main] INFO  com.iota.iri.network.UDPReceiver - UDP replicator is accepting connections on udp port 14600
06/19 10:39:32.139 [UDP receiving thread] INFO  com.iota.iri.network.UDPReceiver - Spawning Receiver Thread
06/19 10:39:32.140 [UDP receiving thread] INFO  com.iota.iri.network.UDPReceiver - Receiver thread processed/dropped ratio: 0/0
06/19 10:39:32.143 [main] INFO  c.i.i.network.replicator.Replicator - Started ReplicatorSourcePool
06/19 10:39:32.149 [Thread-2] INFO  c.i.i.n.r.ReplicatorSourcePool - TCP replicator is accepting connections on tcp port 15600
06/19 10:39:32.150 [pool-3-thread-1] INFO  com.iota.iri.network.Node - Spawning Broadcaster Thread
06/19 10:39:32.151 [pool-3-thread-2] INFO  com.iota.iri.network.Node - Spawning Tips Requester Thread
06/19 10:39:32.152 [pool-3-thread-2] INFO  com.iota.iri.network.Node - toProcess = 0 , toBroadcast = 0 , toRequest = 0 , toReply = 0 / totalTransactions = 0
06/19 10:39:32.155 [pool-3-thread-3] INFO  com.iota.iri.network.Node - Spawning Neighbor DNS Refresher Thread
06/19 10:39:32.155 [pool-3-thread-3] INFO  com.iota.iri.network.Node - Checking Neighbors' Ip...
06/19 10:39:32.156 [pool-3-thread-4] INFO  com.iota.iri.network.Node - Spawning Process Received Data Thread
06/19 10:39:32.160 [pool-3-thread-5] INFO  com.iota.iri.network.Node - Spawning Reply To Request Thread
06/19 10:39:32.187 [main] INFO  org.xnio - XNIO version 3.3.6.Final
06/19 10:39:32.204 [main] INFO  org.xnio.nio - XNIO NIO Implementation Version 3.3.6.Final
06/19 10:39:32.416 [main] INFO  com.iota.iri.IRI$IRILauncher - IOTA Node initialised correctly.
06/19 10:39:33.127 [Latest Milestone Tracker] INFO  com.iota.iri.Milestone - Tracker started.
06/19 10:39:47.153 [pool-3-thread-2] INFO  com.iota.iri.network.Node - toProcess = 0 , toBroadcast = 0 , toRequest = 0 , toReply = 0 / totalTransactions = 0
06/19 10:39:57.154 [pool-3-thread-2] INFO  com.iota.iri.network.Node - toProcess = 0 , toBroadcast = 0 , toRequest = 0 , toReply = 0 / totalTransactions = 0
06/19 10:40:12.155 [pool-3-thread-2] INFO  com.iota.iri.network.Node - toProcess = 0 , toBroadcast = 0 , toRequest = 0 , toReply = 0 / totalTransactions = 0
06/19 10:40:22.158 [pool-3-thread-2] INFO  com.iota.iri.network.Node - toProcess = 0 , toBroadcast = 0 , toRequest = 0 , toReply = 0 / totalTransactions = 0

I can find my node in field.carriota.com and in my os I can ping the field.carriota.com successfully:
~# ping field.carriota.com
PING field.carriota.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from static.<IP_ADDRESS>.clients.your-server.de (<IP_ADDRESS>): icmp_seq=1 ttl=49 time=265 ms
64 bytes from static.<IP_ADDRESS>.clients.your-server.de (<IP_ADDRESS>): icmp_seq=2 ttl=49 time=264 ms
64 bytes from static.<IP_ADDRESS>.clients.your-server.de (<IP_ADDRESS>): icmp_seq=3 ttl=49 time=269 ms
64 bytes from static.<IP_ADDRESS>.clients.your-server.de (<IP_ADDRESS>): icmp_seq=4 ttl=49 time=280 ms
^C
--- field.carriota.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 264.406/270.027/280.284/6.212 ms

So what’s the problem about
"10:40:17.052    FIELD        ERROR pinging Field Server field.carriota.com:"
and how to solve this problem?
Or can I ignore the error?
OS : Ubuntu 16.04 x86_64
IRI:<IP_ADDRESS>

getting the same error


Not Found Pages

Hi guys,
I configure application with docker-compose.yml of project... Do connections, migrates... But i cant access pages ;( someone can give me a tip or a path to solve this?
postgres_container | 2021-08-17 21:58:26.135 UTC [74] LOG:  database system was shut down at 2021-08-17 21:58:26 UTC
postgres_container | 2021-08-17 21:58:26.142 UTC [1] LOG:  database system is ready to accept connections
web_1  |
web_1  | 51 static files copied to '/app/static', 142 post-processed.
web_1  | Operations to perform:
web_1  |   Apply all migrations: accounts, auth, cases, common, contacts, contenttypes, django_ses, emails, events, invoices, leads, opportunity, planner, sessions, tasks, teams
web_1  | Running migrations:
web_1  |   Applying accounts.0001_initial... OK
web_1  |   Applying cases.0001_initial... OK
...
web_1  |   Applying teams.0004_teams_company... OK
web_1  |   Applying teams.0005_remove_teams_company... OK
web_1  | [18/Aug/2021 03:29:00] "GET / HTTP/1.1" 302 0
web_1  | [18/Aug/2021 03:29:01] "GET /app/ HTTP/1.1" 404 179
web_1  | [18/Aug/2021 03:29:02] "GET /favicon.ico HTTP/1.1" 404 179
web_1  | [18/Aug/2021 03:29:03] "GET / HTTP/1.1" 302 0
web_1  | [18/Aug/2021 03:29:04] "GET /app/ HTTP/1.1" 404 179

root@abcdefg:/app# cat server.log | sort | uniq
Not Found: /app/
Not Found: /auth/login/
Not Found: /blog/admin
Not Found: /dashboard/
Not Found: /emails/
Not Found: /favicon.ico
Not Found: /leads/
Not Found: /login
Not Found: /login/
Not Found: /profile

I try other routes like in common/urls.py, but same problem.

https://github.com/MicroPyramid/Django-CRM/issues/453
root route seems missing....


imv (the image viewer) is not following the center window rule

Hyprland Version
Hyprland, built from branch  at commit b08b72358ad549fd066e5be0fc3aa4c9df367607 dirty (). Tag: v0.27.2  flags: (if any)
Bug or Regression?
Bug
Description
I use imv as the image viewer. I wanted to make it float at the center of the display but it is not following the center window rule.
I also checked the move [x] [y] rule but it seems to work as expected.
I also tried swayimg but it's every instance has different class, so I can't define window rule.
How to reproduce
windowrulev2 = float, class:^(imv)$
windowrulev2 = size 900 600, class:^(imv)$
windowrulev2 = center, class:^(imv)$

Crash reports, logs, images, videos
No response

(imv is looking for main dev)
setting size using compositor seems to break imv (likely https://todo.sr.ht/~exec64/imv/47), so simply use the imv config file
doing this makes the window have the intended size and the center window rule now works as well
this being said, there doesn't seem to be much that can be done on Hyprland's side

like?

I'm working on it dw
it happens when size rules are set before the center rule

it happens when size rules are set after the center rule

It fixed my issue but it is a workaround should be mentioned on wiki or be fixed.

fixed 901236a5356a3f249af7d55e5db69889e50256b8

Thanx


Ability to Hide and Display Sections on a page by Role

This enhancement has been implemented and integrated.


Not possible to disable git ls-tree for submodules

See original issue on GitLab
In GitLab by [Gitlab user @nanonyme] on Dec 5, 2018, 18:35
It's not possible to disable git ls-tree through configurations for submodules. Setting checkout false makes Buildstream still connect to possible flaky remote servers leading to CI failures. We noticed this through https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/130206659

In GitLab by [Gitlab user @nanonyme] on Dec 5, 2018, 19:07
I would suggest that https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/plugins/sources/git.py#L724 this loop would skip checking ref and creating GitMirror either with checkout or a new configuration parameter. Preferably checkout if there's no strong reason to use a new one.

In GitLab by [Gitlab user @tristanvb] on Dec 10, 2018, 09:18
This is actually fixed in master last week as a side effect of implementing !996, in commit ee7fc47fcb4a06398fb7460621df1257c1f0b4ed.
I will backport the part of this patch which avoids downloading of submodules which are set to not be checked out to the bst-1.2 branch this week.

In GitLab by [Gitlab user @tristanvb] on Dec 10, 2018, 10:00
mentioned in commit 839ef77400635bac930344d1f5f3ba3cbb682139

In GitLab by [Gitlab user @tristanvb] on Dec 10, 2018, 10:02
mentioned in merge request !1001

In GitLab by [Gitlab user @tristanvb] on Dec 10, 2018, 10:45
This is now fixed in the bst-1.2 branch by !1001, we will roll out an update with this fix over the week...

In GitLab by [Gitlab user @tristanvb] on Dec 10, 2018, 10:45
closed


Remove JSON Endpoint

Closes #355

@brittainhard I did a global search for "START YEAR" (case insensitive). I think there are more places to change. It looks like there are hard coded "2016"s in there, but the desire was to make everything based on a global environment variable, as shown here:
https://github.com/OpenSourcePolicyCenter/webapp-public/blob/a37f4e50854d2b393e72e36405cd1c26ceae18bf/webapp/apps/taxbrain/helpers.py#L18
Let's change the default value to '2017' in the absence of any specified start year at that line.

@talumbau this should be fixed in #442

Oops you are right. The above comment was fro #442.

ok this one looks good. merging.


Reorganize components into pages and components

Using the Browser Router functionality with React, both my pages and my components are stored in one big components folder. It would help improve maintainability and readability to separate these.
TODO - Move any .js components + CSS files into ../Pages. Keep All others in the current folder

Fixed with commit 26e3125a7b2cc34e8b347ae9c0cc5e507a957d09


CSS files with cross-origin don't fetch

Sites that load CSS files with cross-origin don't render in Scepter.
Or any other <link>, for that matter.

I've found a fix 👀
https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/preload#cors-enabled_fetches

Will fix in next update.


Something wrong with the decoder result of Walkthrough example

I trained the model on two Tesla M60s, each of which is 8G. I did not modify any hyper-parameter. The loss seems not change after 50000 steps.
INFO:tensorflow:Saving checkpoints for 54877 into /data/t2t/t2t_train/wmt_ende_tokens_32k/transformer-transformer_base/model.ckpt.
INFO:tensorflow:global_step/sec: 0.858429
INFO:tensorflow:loss = 1.96779, step = 54901 (116.492 sec)
INFO:tensorflow:global_step/sec: 0.876813
INFO:tensorflow:loss = 1.96174, step = 55001 (114.049 sec)
INFO:tensorflow:global_step/sec: 0.864947
INFO:tensorflow:loss = 1.98628, step = 55101 (115.614 sec)
INFO:tensorflow:global_step/sec: 0.860629
INFO:tensorflow:loss = 2.26156, step = 55201 (116.195 sec)
INFO:tensorflow:global_step/sec: 0.864128
INFO:tensorflow:loss = 1.98318, step = 55301 (115.723 sec)
INFO:tensorflow:Saving checkpoints for 55396 into /data/t2t/t2t_train/wmt_ende_tokens_32k/transformer-transformer_base/model.ckpt.
INFO:tensorflow:global_step/sec: 0.852946
INFO:tensorflow:loss = 2.30657, step = 55401 (117.241 sec)
INFO:tensorflow:global_step/sec: 0.870939
INFO:tensorflow:loss = 2.11571, step = 55501 (114.819 sec)
INFO:tensorflow:global_step/sec: 0.86979
INFO:tensorflow:loss = 1.99461, step = 55601 (114.970 sec)
INFO:tensorflow:global_step/sec: 0.86269
INFO:tensorflow:loss = 2.01496, step = 55701 (115.916 sec)
INFO:tensorflow:global_step/sec: 0.869183
INFO:tensorflow:loss = 1.98261, step = 55801 (115.051 sec)
INFO:tensorflow:global_step/sec: 0.862935
INFO:tensorflow:loss = 1.88075, step = 55901 (115.883 sec)
INFO:tensorflow:Saving checkpoints for 55915 into /data/t2t/t2t_train/wmt_ende_tokens_32k/transformer-transformer_base/model.ckpt.
INFO:tensorflow:global_step/sec: 0.855085
INFO:tensorflow:loss = 1.9415, step = 56001 (116.948 sec)
INFO:tensorflow:global_step/sec: 0.86353
INFO:tensorflow:loss = 2.26614, step = 56101 (115.804 sec)
INFO:tensorflow:global_step/sec: 0.871136
INFO:tensorflow:loss = 2.14308, step = 56201 (114.793 sec)
INFO:tensorflow:global_step/sec: 0.860752
INFO:tensorflow:loss = 1.96734, step = 56301 (116.178 sec)
INFO:tensorflow:global_step/sec: 0.871609
INFO:tensorflow:loss = 1.98928, step = 56401 (114.730 sec)

However, the decoder result does not make any sense. Anyone knows the reason?
INFO:tensorflow:Inference results INPUT: Goodbye world
INFO:tensorflow:Inference results OUTPUT: Esconnectentareaconnectentkannconnectent
INFO:tensorflow:Inference results INPUT: Hello world
INFO:tensorflow:Inference results OUTPUT: Esconnectentareaconnectentkannconnectent

Can you just run the trainer with --train_step=0 --eval_steps=10 and paste the results of the eval and example decodes? That'll help us see where the problem might be. Thanks!

@lukaszkaiser As your suggestion,
INFO:tensorflow:Saving dict for global step 64734: global_step = 64734, loss = 10.4774,
metrics-wmt_ende_tokens_32k/accuracy = 6.01287e-05,
metrics-wmt_ende_tokens_32k/accuracy_per_sequence = 0.0,
metrics-wmt_ende_tokens_32k/accuracy_top5 = 0.0144008,
metrics-wmt_ende_tokens_32k/bleu_score = 0.309825,
metrics-wmt_ende_tokens_32k/neg_log_perplexity = -11.7884,
metrics/accuracy = 6.01287e-05,
metrics/accuracy_per_sequence = 0.0,
metrics/accuracy_top5 = 0.0144008,
metrics/bleu_score = 0.309825,
metrics/neg_log_perplexity = -11.7884

It looks like your training exploded and never got anywhere. Try transformer_base_single_gpu instead of transformer_base -- it has more warmup steps, so it shouldn't explode.

...and a smaller --batch_size might also help, try 4096 or 2048. On my 8GB GeForce 1080 GTX I need to run transformer_base_single_gpu with batch size of max 4096.

@lukaszkaiser   @lovecambi  Just re-generate the training sample.  I encounter some similar problems and fix by doing this.

Thanks, all. It does work.

Thanks, I'm happy that it works now!

@lovecambi i am getting the same problem on a different dataset, can you please tell me what you tried that got it working, i ran transformer_base_single_gpu for 50000 iterations and i got similar results on inference, did running transformer_big_single_gpu for all 250000 iterations work for you ?

@viig99 I also set the --hparams='batch_size=2048'. Can you try it?

I am using the transformer_big_single_gpu with batch_size 1024 and this is what my loss and accuracy looks like

the loss seems to be fluctuating in the region of 6.70 - 7.50, and the accuracy doesn't seem to be improving much, it has run for around 70000 iterations till now, is this expected and should i run it till 250000 ? thanks for the help guys.

The graph you pasted is how it always looks when the training explodes in the first phase. It's not learning, waiting longer won't help. You need to (a) lower your learning rate and maybe (b) increase warmup steps. Try a learning rate that's 3x or 5x smaller and let me know, you should see the difference by 20k steps.

@lukaszkaiser thank you for the quick reply, i tried a 10x slower learning rate and bumped up the warmup steps to 20k this is the graph that i got around 25k steps,

i am still getting some fluctuations is this expected and does it smooth over longer steps, or would it better to lower the learning rate further until i get a smoother curve ?

It looks like you're fine for now. Let your model train a bit now (another 20-40k steps) and you'll see how it goes. It might be training slow now with the low learning rate, but you'll have a baseline and you can try higher ones later. Let me know how your loss looks later in the training.

@lukaszkaiser as per you suggestion after another 60k steps the accuracy and neg log perplexity are improving slowly, loss function seems to be fluctuating a lot but but very slowly going down.

Ok, so maybe it's time to try with a 3x larger learning rate this time to speed things up.

@lukaszkaiser i tried the problem with a 3x larger learning rate and the accuracy started decreasing after around 40k iterations, also i let the above learning learning run for 250k iterations and my accuracy was around 0.14, on inference for all examples i got just one symbol in the end sequence following by eos and pad's, any idea what could be going here ?

Looks like your model is still not training too well. I guess the easiest thing would be to add your dataset (or a small version) to tensor2tensor, so we could also take a look.


VINCI - Liquidity Providers with the respective stake on all DEX on Harmony

Description:
Get all Liquidity Providers with the respective stake from DEX:

Viperswap  - pair https://info.viper.exchange/pair/0xca3680580e01bd12cc86818fff62eda2d255677c
Also all LP in the farming contract:  0xe112217c21661623a90bc64f5cbe644906d9e923
SushiSwap pair (VINCI/WONE)
MochiSwap (VINCI/WONE)
LootSwap (VINCI/WONE)
OpenSwap (VINCI/WONE)
SeeSwap  (VINCI/ONEs)

Context
To proceed with the VINCI tokennomics distribution accordingly, is necessary to distribute 411058 VNL (locked VINCI) to the liquidity providers. for that is needed all LP (weekly) information past & present.
Acceptance Criteria
-Track all information with subgraphs, and the daVinci team will get the external consumption as JSON.
Reward
$1000 in ONE + $1000 in VNL (VINCI Locked)
Total $2000 Value

Hi, can I work on this bounty? I'm seeing there is a solution submitted but the link is broken.

@BrunoMarshall @LeoHChen you can view my submission after accepting the invitation.

Hi @pmlambert, thank you,
I will check the submission

@pmlambert we are having error 404 Not Found

@BrunoMarshall Sorry, there was an issue on my end. Can you try again?

@BrunoMarshall I'd really appreciate the last extra push for this one right now.

Thank you @pmlambert, i´m checking

It's a very simple model:

Each time VINCI is received by an account, it gets amount * (end - current) points
When an account withdraws VINCI, it loses amount * (end - current) points

Then you can just divide total points by the account's points to get the time-weighed holdings of the account. I didn't implement the calculation part but I can easily do that and just provide you the output JSON if you'd like.
@BrunoMarshall

@BrunoMarshall did you get the chance to review this?

@LeoHChen this has been done for almost 2 months can you please pay me for the work done I don't mind refining it a bit for you after that...

Sorry for the delay @pmlambert, the team was overloaded with work.
@kuyawa can you please give me the green light to close this bounty, thank you

Where is the code? Where is the JSON output?

@kuyawa on gitcoin you can find the link @BrunoMarshall
Both of you should know to use @pmlambert so I get notified

If I knew where to find the link I wouldn't have to ask, please share it here


Image filter support (ex: Tone Curve)

I have seen the excellent default library called CIFilter in iOS.
Do you have any plans to support equivalent function ?

Can you please add a link to CIFilter to make it more clear what the feature request is about?

Thanks for your reply.
I'm sorry about that. It would be happy if you check links below:
https://developer.apple.com/documentation/coreimage/cifilter
https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html#//apple_ref/doc/uid/TP30001185

@Hixie

Related to (and possibly a dupe of) https://github.com/flutter/flutter/issues/13489 orhttps://github.com/flutter/flutter/issues/16296.

Closing in favor of https://github.com/flutter/flutter/issues/16296 .
This can generally be done with fragment shaders, and we're planning to add APIs to make this easier in the future.


Add grammar-based sampling (for webui, llamacpp, and koboldcpp)

Closes #273

Adds koboldcpp and llama.cpp backend support
Adds grammar-based sampling support for koboldcpp, llama.cpp, and webui backends
Adds basic grammar (json.gbnf) and MemGPT-specific grammar (json_func_calls_with_inner_thoughts.gbnf)

Thank you @Drake-AI!

If you are using a backend that supports grammars, will run airoboros wrapper w/ grammar by default

Adds grammar-based sampling to prevent JSON-related parsing errors when using local LLMs, see llama.cpp.
Example
Starting the server (llama.cpp on MacOS):
llama.cpp % ./server -m ~/models/TheBloke/dolphin-2.2.1-mistral-7B-GGUF/dolphin-2.2.1-mistral-7b.Q6_K.gguf -c 8000

Starting the server (koboldcpp on MacOS):
koboldcpp % ./koboldcpp.py ~/models/TheBloke/dolphin-2.2.1-mistral-7B-GGUF/dolphin-2.2.1-mistral-7b.Q6_K.gguf --contextsize 8192

Specifying a wrapper with a grammar:
python main.py --model airoboros-l2-70b-2.1-grammar --first

I'm working on a grammar to avoid errors, it is in progress but it looks like this, includes names of functions, names and types of params:
root ::= Function
Function ::= SendMessage | PauseHeartbeats
SendMessage ::= "{"   ws   ""function":"   ws   ""send_message","   ws   ""params":"   ws   SendMessageParams   "}"
PauseHeartbeats ::= "{"   ws   ""function":"   ws   ""pause_heartbeats","   ws   ""params":"   ws   PauseHeartbeatsParams   "}"
SendMessageParams ::= "{}" | "{"   ws   Message   (","   ws   Message)*   ws   "}"
PauseHeartbeatsParams ::= "{}" | "{"   ws   Minutes   (","   ws   Minutes)*   ws   "}"
Message ::= ""inner_thoughts":"   ws   string | ""message":"   ws   string | ""request_heartbeat":"   ws   boolean
Minutes ::= ""minutes":"   ws   number
string ::= """   ([^"])   """
boolean ::= "true" | "false"
ws ::= [ \t\n]
number ::= [0-9]+   "."?   [0-9]*
With this should be possible to use any model without finetuning.

It is working now with all the basic functions, easy to expand to extra functions. Feel free to use it or adapt to your needs.
root ::= Function
Function ::= SendMessage | PauseHeartbeats | CoreMemoryAppend | CoreMemoryReplace | ConversationSearch | ConversationSearchDate | ArchivalMemoryInsert | ArchivalMemorySearch
SendMessage ::= "{"   ws   ""function":"   ws   ""send_message","   ws   ""params":"   ws   SendMessageParams   "}"
PauseHeartbeats ::= "{"   ws   ""function":"   ws   ""pause_heartbeats","   ws   ""params":"   ws   PauseHeartbeatsParams   "}"
CoreMemoryAppend ::= "{"   ws   ""function":"   ws   ""core_memory_append","   ws   ""params":"   ws   CoreMemoryAppendParams   "}"
CoreMemoryReplace ::= "{"   ws   ""function":"   ws   ""core_memory_replace","   ws   ""params":"   ws   CoreMemoryReplaceParams   "}"
ConversationSearch  ::= "{"   ws   ""function":"   ws   ""conversation_search","   ws   ""params":"   ws   ConversationSearchParams   "}"
ConversationSearchDate  ::= "{"   ws   ""function":"   ws   ""conversation_search_date","   ws   ""params":"   ws   ConversationSearchDateParams   "}"
ArchivalMemoryInsert  ::= "{"   ws   ""function":"   ws   ""archival_memory_insert","   ws   ""params":"   ws   ArchivalMemoryInsertParams   "}"
ArchivalMemorySearch  ::= "{"   ws   ""function":"   ws   ""archival_memory_search","   ws   ""params":"   ws   ArchivalMemorySearchParams   "}"
SendMessageParams ::= "{"   ws   InnerThoughtsParam   ","   ws   ""message":"   ws   string   ws   "}"
PauseHeartbeatsParams ::= "{"   ws   InnerThoughtsParam   ","      ws   ""minutes":"   ws   number   ws   "}"
CoreMemoryAppendParams ::= "{"   ws   InnerThoughtsParam   ","      ws   ""name":"   ws   namestring   ","   ws   ""content":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}"
CoreMemoryReplaceParams ::= "{"   ws   InnerThoughtsParam   ","      ws   ""name":"   ws   namestring   ","   ws   ""old_content":"   ws   string   ","   ws   ""new_content":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ConversationSearchParams ::= "{"   ws   InnerThoughtsParam   ","      ws   ""query":"   ws   string   ws   ","   ws   ""page":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ConversationSearchDateParams ::= "{"   ws   InnerThoughtsParam   ","      ws   ""start_date":"   ws   string   ws   ","      ws   ""end_date":"   ws   string   ws   ","   ws   ""page":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ArchivalMemoryInsertParams ::= "{"   ws   InnerThoughtsParam    ","   ws   ""content":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ArchivalMemorySearchParams ::= "{"   ws   InnerThoughtsParam   ","  ws   ""query":"   ws   string   ws   ","   ws   ""page":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}"
InnerThoughtsParam ::= ""inner_thoughts":"   ws   string
RequestHeartbeatParam ::= ""request_heartbeat":"   ws   boolean
namestring ::= ""human"" | ""persona""
string ::= """   ([^"[]{}])   """
boolean ::= "true" | "false"
ws ::= [ \t\n]
number ::= [0-9]+

This is really awesome, thank you @Drake-AI ! I'll merge it into this PR as an additional grammar file.
Out of curiosity @Drake-AI while testing this what backend are you using? llama.cpp? web UI?

This is really awesome, thank you @Drake-AI ! I'll merge it into this PR as an additional grammar file.
Out of curiosity @Drake-AI while testing this what backend are you using? llama.cpp? web UI?

koboldcpp which is a fork of llamacpp, should work with both.

This is really awesome, thank you @Drake-AI ! I'll merge it into this PR as an additional grammar file.
Out of curiosity @Drake-AI while testing this what backend are you using? llama.cpp? web UI?

koboldcpp which is a fork of llamacpp, should work with both.

awesome, I guess I should probably also add "official" support for kobold with a catch for BACKEND_TYPE=kobold, though if it's a fork of llama.cpp I wouldn't be surprised if BACKEND_TYPE=llamacpp works for it

No, it needs this variables:
"stop_sequence": [
    "\nUSER:",
    "\nASSISTANT:",
    "\nFUNCTION RETURN:",
    # '\n' +
    # '</s>',
    # '<|',
    # '\n#',
    # '\n\n\n',
],
"max_content_length": 4096,
"max_length": 512,

And you can send all parameters like temperature and all of that via api.

I found a bug in my grammar, please change it before merge to this new version:
root ::= Function Function ::= SendMessage | PauseHeartbeats | CoreMemoryAppend | CoreMemoryReplace | ConversationSearch | ConversationSearchDate | ArchivalMemoryInsert | ArchivalMemorySearch SendMessage ::= "{"   ws   "\"function\":"   ws   "\"send_message\","   ws   "\"params\":"   ws   SendMessageParams   "}" PauseHeartbeats ::= "{"   ws   "\"function\":"   ws   "\"pause_heartbeats\","   ws   "\"params\":"   ws   PauseHeartbeatsParams   "}" CoreMemoryAppend ::= "{"   ws   "\"function\":"   ws   "\"core_memory_append\","   ws   "\"params\":"   ws   CoreMemoryAppendParams   "}" CoreMemoryReplace ::= "{"   ws   "\"function\":"   ws   "\"core_memory_replace\","   ws   "\"params\":"   ws   CoreMemoryReplaceParams   "}" ConversationSearch  ::= "{"   ws   "\"function\":"   ws   "\"conversation_search\","   ws   "\"params\":"   ws   ConversationSearchParams   "}" ConversationSearchDate  ::= "{"   ws   "\"function\":"   ws   "\"conversation_search_date\","   ws   "\"params\":"   ws   ConversationSearchDateParams   "}" ArchivalMemoryInsert  ::= "{"   ws   "\"function\":"   ws   "\"archival_memory_insert\","   ws   "\"params\":"   ws   ArchivalMemoryInsertParams   "}" ArchivalMemorySearch  ::= "{"   ws   "\"function\":"   ws   "\"archival_memory_search\","   ws   "\"params\":"   ws   ArchivalMemorySearchParams   "}" SendMessageParams ::= "{"   ws   InnerThoughtsParam   ","   ws   "\"message\":"   ws   string   ws   "}" PauseHeartbeatsParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"minutes\":"   ws   number   ws   "}" CoreMemoryAppendParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"name\":"   ws   namestring   ","   ws   "\"content\":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}" CoreMemoryReplaceParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"name\":"   ws   namestring   ","   ws   "\"old_content\":"   ws   string   ","   ws   "\"new_content\":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}" ConversationSearchParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"query\":"   ws   string   ws   ","   ws   "\"page\":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}" ConversationSearchDateParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"start_date\":"   ws   string   ws   ","      ws   "\"end_date\":"   ws   string   ws   ","   ws   "\"page\":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}" ArchivalMemoryInsertParams ::= "{"   ws   InnerThoughtsParam    ","   ws   "\"content\":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}" ArchivalMemorySearchParams ::= "{"   ws   InnerThoughtsParam   ","  ws   "\"query\":"   ws   string   ws   ","   ws   "\"page\":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}" InnerThoughtsParam ::= "\"inner_thoughts\":"   ws   string RequestHeartbeatParam ::= "\"request_heartbeat\":"   ws   boolean namestring ::= "\"human\"" | "\"persona\"" string ::= "\""   ([^"\[\]{}]*)   "\"" boolean ::= "true" | "false" ws ::= "" number ::= [0-9]+

I found a bug in my grammar, please change it before merge to this new version:
root ::= Function
Function ::= SendMessage | PauseHeartbeats | CoreMemoryAppend | CoreMemoryReplace | ConversationSearch | ConversationSearchDate | ArchivalMemoryInsert | ArchivalMemorySearch
SendMessage ::= "{"   ws   "\"function\":"   ws   "\"send_message\","   ws   "\"params\":"   ws   SendMessageParams   "}"
PauseHeartbeats ::= "{"   ws   "\"function\":"   ws   "\"pause_heartbeats\","   ws   "\"params\":"   ws   PauseHeartbeatsParams   "}"
CoreMemoryAppend ::= "{"   ws   "\"function\":"   ws   "\"core_memory_append\","   ws   "\"params\":"   ws   CoreMemoryAppendParams   "}"
CoreMemoryReplace ::= "{"   ws   "\"function\":"   ws   "\"core_memory_replace\","   ws   "\"params\":"   ws   CoreMemoryReplaceParams   "}"
ConversationSearch  ::= "{"   ws   "\"function\":"   ws   "\"conversation_search\","   ws   "\"params\":"   ws   ConversationSearchParams   "}"
ConversationSearchDate  ::= "{"   ws   "\"function\":"   ws   "\"conversation_search_date\","   ws   "\"params\":"   ws   ConversationSearchDateParams   "}"
ArchivalMemoryInsert  ::= "{"   ws   "\"function\":"   ws   "\"archival_memory_insert\","   ws   "\"params\":"   ws   ArchivalMemoryInsertParams   "}"
ArchivalMemorySearch  ::= "{"   ws   "\"function\":"   ws   "\"archival_memory_search\","   ws   "\"params\":"   ws   ArchivalMemorySearchParams   "}"
SendMessageParams ::= "{"   ws   InnerThoughtsParam   ","   ws   "\"message\":"   ws   string   ws   "}"
PauseHeartbeatsParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"minutes\":"   ws   number   ws   "}"
CoreMemoryAppendParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"name\":"   ws   namestring   ","   ws   "\"content\":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}"
CoreMemoryReplaceParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"name\":"   ws   namestring   ","   ws   "\"old_content\":"   ws   string   ","   ws   "\"new_content\":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ConversationSearchParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"query\":"   ws   string   ws   ","   ws   "\"page\":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ConversationSearchDateParams ::= "{"   ws   InnerThoughtsParam   ","      ws   "\"start_date\":"   ws   string   ws   ","      ws   "\"end_date\":"   ws   string   ws   ","   ws   "\"page\":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ArchivalMemoryInsertParams ::= "{"   ws   InnerThoughtsParam    ","   ws   "\"content\":"   ws   string   ws   ","   ws   RequestHeartbeatParam   ws   "}"
ArchivalMemorySearchParams ::= "{"   ws   InnerThoughtsParam   ","  ws   "\"query\":"   ws   string   ws   ","   ws   "\"page\":"   ws   number   ws   ","   ws   RequestHeartbeatParam   ws   "}"
InnerThoughtsParam ::= "\"inner_thoughts\":"   ws   string
RequestHeartbeatParam ::= "\"request_heartbeat\":"   ws   boolean
namestring ::= "\"human\"" | "\"persona\""
string ::= "\""   ([^"\[\]{}]*)   "\""
boolean ::= "true" | "false"
ws ::= ""
number ::= [0-9]+

updated, thank you for the patch! also I added kobold support, though i haven't tested it yet

Tested on kobold.cpp, seems to be working:
MemGPT % python main.py --model airoboros-l2-70b-2.1-grammar --first

Pending extra review from @vivi will merge

Thanks for your help @Drake-AI! Will merge this in and add you as a co-author.


Question about ability of download files with delta sharing

Hi All, ask here see if delta sharing support of files downloading from user end?
We have customers wants to get some data from us. The current way is we save data to S3 or google drive and share with customer, so customer can basically go ahead to download data in UI. I wonder if using delta sharing, we can achieve similar things, or even better with encryption or access control?

Hi @jiweicao-outreach , what kind of files are your sharing?
Sharing arbitrary files is in our road map, and pre-signed urls supports download files. https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html

@linzhou-db we also have this use case where we are looking at how to share non-delta files. This could be different types of binaries such as jpegs, pcap and other sensor data types.

@JoachimZetterman Thanks for explaining your use case.
What makes you want to use delta sharing for this purpose instead of other ways(email) of sharing?

Hello @linzhou-db . Is binary data sharing on the roadmap? Any reference link if you could share? :)


Dark mode

Fixes #175
Added : Dark Mode functionality for all pages.
Added : from any page , you can toggle the dark mode.

@Apurv7777 leave this issue; someone other will work on this issue;

It's not looks good to me

I request you to merge this and let other solve that issue. The primary code for toggling dark mode on all pages is working perfectly. @mdazfar2

There would be no one that satisfy's you completely. The project never ends fixing. Some changes are resolved here. Some changes would be resolved in next PR's by me. I guaranteed you. But, firstly , start building dark mode atleast. @mdazfar2

There would be no one that satisfy's you completely. The project never ends fixing. Some changes are resolved here. Some changes would be resolved in next PR's by me. I guaranteed you. But, firstly , start building dark mode atleast. @mdazfar2

@Apurv7777 Please don't think wrong you are a part of our team, I will discuss with someone and let you know


[Bug]: Precheck on gcc is different on mac compared with linux

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Environment

Version or commit-id: e.g. v0.1.0
OS type: e.g. MacOS 13
Other info: e.g. n.a.

Issue Description
on mac, gcc -v or gcc --version will print clang version
xxx-macbookpro:matrixorigin.io.cn nandeng$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/4.2.1
Apple clang version 13.0.0 (clang-13<IP_ADDRESS>)
Target: arm64-apple-darwin21.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
nandeng-macbookpro:matrixorigin.io.cn nandeng$ which gcc
/usr/bin/gcc
xxx-macbookpro:matrixorigin.io.cn nandeng$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/4.2.1
Apple clang version 13.0.0 (clang-13<IP_ADDRESS>)
Target: arm64-apple-darwin21.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

while on linux, gcc -v or gcc --version will print gcc version
[root@VM-0-17-centos VM-0-17-centos]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
[root@VM-0-17-centos VM-0-17-centos]# gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

mo_ctl needs to judge if,

current os = mac, check clang and it's version ≥ 13.0
current os = linux, check gcc and it's version ≥ 8.5.0

Steps to Reproduce
gcc --version
Additional information
none

fixed
xx@xx xx % mo_ctl precheck
2023-07-24_19:13:51.N    [INFO]    Precheck on pre-requisite: go
2023-07-24_19:13:51.N    [INFO]    Ok. go is installed
2023-07-24_19:13:51.N    [INFO]    Version check on go. Current: 1.20.1, required: 1.20
2023-07-24_19:13:51.N    [INFO]    Ok. go version is greater than or equal to required
2023-07-24_19:13:51.N    [INFO]    Precheck on pre-requisite: gcc
2023-07-24_19:13:51.N    [INFO]    Ok. gcc is installed
2023-07-24_19:13:51.N    [INFO]    Version check on gcc. Current: 14.0.3, required: 13.0
2023-07-24_19:13:51.N    [INFO]    Ok. gcc version is greater than or equal to required
2023-07-24_19:13:51.N    [INFO]    Precheck on pre-requisite: git
2023-07-24_19:13:51.N    [INFO]    Ok. git is installed
2023-07-24_19:13:51.N    [INFO]    Precheck on pre-requisite: mysql
2023-07-24_19:13:51.N    [INFO]    Ok. mysql is installed
2023-07-24_19:13:51.N    [INFO]    All pre-requisites are ok


Terminal issue

Type: Bug
print("hello world")
this is the code I wrote in python . The problem is when I start the programm the terminal wouldn't do anything unless I start a debugging . same goes for editing my code for example changing text ... It wouldn't update .
if I write print("hi world") it will still output hello world.
I don't know if that's normal cause I'm still new to this but it's annoying
please help.
VS Code version: Code 1.74.3 (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T16:59:02.252Z)
OS version: Windows_NT x64 10.0.19044
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz (4 x 3193)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
7.98GB (1.55GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

isort
ms-
2022.8.0

python
ms-
2022.20.2

vscode-pylance
ms-
2023.1.30

jupyter
ms-
2022.11.1003412109

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.14

vscode-jupyter-cell-tags
ms-
0.1.6

vscode-jupyter-slideshow
ms-
0.1.5

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
pyindex848cf:30577861
nodejswelcome1cf:30587006
282f8724:30602487
pyind779:30647091
89544117:30613380
vscup:30628656

This is probably an issue with your program/system configuration, but if you think it's an issue with the python extension, please file an issue with much more detail on the python extension repo