Allow +2 more missing N-term residues

Currently Elipovimab sequence is not supported because it misses 8 n-term residues in L chain:
HC: QMQLQESGPGLVKPSETLSLTCSVSGASISDSYWSWIRRSPGKGLEWIGYVHKSGDTNYNPSLKSRVHLSLDTSKNQVSLSLTGVTAADSGKYYCARTLHGRRIYGIVAFNEWFTYFYMDVWGTGTQVTVSS
LC: SDISVAPGETARISCGEKSLGSRAVQWYQHRAGQAPSLIIYNNQDRPSGIPERFSGSPDSRPGTTATLTITSVEAGDEADYYCHIWDSRVPTKWVFGGGTTLTVL
Numbered:
       L9 S
      L10 D
      L11 I
      L12 S
      L13 V
      ...

Would it be safe to allow 8 missing N-term residues - starting from at least IMGT L9?
Example:
from ImmuneBuilder import ABodyBuilder2

ABodyBuilder2().predict({
  'H': 'QMQLQESGPGLVKPSETLSLTCSVSGASISDSYWSWIRRSPGKGLEWIGYVHKSGDTNYNPSLKSRVHLSLDTSKNQVSLSLTGVTAADSGKYYCARTLHGRRIYGIVAFNEWFTYFYMDVWGTGTQVTVSS',
  'L': 'SDISVAPGETARISCGEKSLGSRAVQWYQHRAGQAPSLIIYNNQDRPSGIPERFSGSPDSRPGTTATLTITSVEAGDEADYYCHIWDSRVPTKWVFGGGTTLTVL'
}).save('Elipovimab_predicted.pdb')

Superimposition of predicted structure (pink) with 4fq1 ground truth (green):
Elipovimab_prediction.cif.zip

Hi David,
I agree this does not appear to make a difference for Elipovimab. To be honest, eight residues was a bit arbitrary and I never checked how many residues could be missing before it has an effect on the prediction. I am a bit reluctant to change this value for everyone based on one case (even though it is a therapeutic). To be sure this would not affect other cases would require a level of benchmarking that I do not currently have time for.
The way I currently deal with cases like this is to first predict the missing residues with something like Ablang. You can then either trim the residues you added or leave it as it is. Alternatively, you can use your modified version of the code. It will most likely work fine.
I hope this helps,
Brennan


init.el module help doesn't seem to work

Hi, I am fairly new to doom-emacs and nix-doom-emacs.  To learn about all doom-emacs functionality a fairly common workflow would be:

Open init.el file via SPC f p
Put the cursor over a module (docker, for instance)
Press K to display the module's help

Step 3 doesn't work at all for me, even using the minimal flake.nix. Instead, I get this vertico menu:

Is this expected behavior? Any workaround or method to learn about the functionality of doom-emacs without leaving nix-doom-emacs?
Thank you very much! I love the project 😀

Yeah, this has been broken for a while. See #353 and #316 — we haven't been able to update our Doom version, good luck!

Thank you for the fast response, @ckiee !
I don't mind using an older version of doom-emacs in the meanwhile, since I want to learn to use it first :)
Could you point me to a commit when this functionality worked?
Thanks!

I don't know of one, it was too long ago. hlissner (the upstream maintainer) runs his Doom on NixOS without much of anything special: you can do that too if you want- there's also a shell.nix in there you could try.
(Maybe you'll even learn enough Elisp to try to revive this accursed project)

I appreciate your insight. For the time being, I am gonna stick with running doom-emacs as hlissner does.  I'll keep an eye on this repo, though, in case the situation improves 🤞.
Thank you!


To add pass as keyword for detecting secrets under label pass

Please check if the PR fulfills these requirements

[Y ] Tests for the changes have been added

[ ] Docs have been added / updated

[ ] All CI checks are green

What kind of change does this PR introduce?

This PR updates the keyword list for detecting content under pass keyword as secrets, along with password, passwd and pwd.

What is the current behavior?

Secret password under pass label is not getting detected as secrets

What is the new behavior (if this is a feature change)?
Secret password under pass label will be detected as secrets with the PR change

Does this PR introduce a breaking change?

No.

Other information:

Hi. Please merge master to your branch to re-run CI.


Instructions on adding zig to your path

Set out to learn zig this evening as my first programing language - felt this was very vague. For Go and Rust, there are clear instructions everywhere.
Anyone care to share the secret? Just make a directory called zig or .zig somewhere in your $HOME and then set it as yet another entry in your $PATH?

@linkert yes. the binary looks for the lib/ directory based on its own location in the directory tree, so it's enough to simply add the directory that the binary is in to your path. If lib/ is next to the binary (or in its parent directory, or any ancestor directory), and the binary is in your path, it just works.
For example, I put the contents of the binary archive at $HOME/.local/opt/zig and then also add an entry to my PATH environment variable for $HOME/.local/opt/zig. You could also put the zig binary in $HOME/.local/bin and then the contents of lib/ into $HOME/.local/lib and that would work too. The binary is smart enough to find the lib/ directory whether its right next to the binary, or installed in a normal unixy way.

Closed in https://github.com/Sobeston/ziglearn/commit/12d505396225084e1a428bf5e74ed05ba8394e37


Update AWS S3 doc link

The original AWS S3 documentation, including the virtual host and path information, has been relocated to a new AWS documentation page.
original link
path    https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#path-style-url-ex
vhost   https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#virtual-host-style-url-ex
new link
path    https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access
vhost  https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access

Thanks!


maybe wrong optimizer

https://github.com/facebookresearch/moco/blob/colab-notebook/colab/moco_cifar10_demo.ipynb
def train(net, data_loader, train_optimizer, epoch, args):
net.train()
adjust_learning_rate(optimizer, epoch, args)
adjust_learning_rate is called inside train method and therefore it should make use of the same train_optimizer.
Could this training in the notebook be with wrong results?

来信收到，谢谢！


set default MTU to 1280

Prevents issues in provider's networks where the outer MTU may be less than 1500, causing connectivity issues when the tunnel is active because WireGuard needs 80 bytes and the default MTU is 1420.
Fixes firezone/product#401

Shouldn't the MTU be 1360 to account for the wireguard header?

Shouldn't the MTU be 1360 to account for the wireguard header?

This is the WireGuard interface MTU, so the header will be added to this value. So essentially this allows support for any networks with an "outer" MTU of 1360 and higher.


[BUG] - Why doesn't my code recognize the GPU on Nebari ?

Describe the bug
I purposely named this issue the name of this missing page: https://www.nebari.dev/docs/how-tos/faq#why-doesnt-my-code-recognize-the-gpus-on-nebari   😄
We deployed Nebari 2024.03.03 on AWS and we fired up a GPU server successfully (g4dx.xlarge).
We built an environment following these excellent instructions: https://www.nebari.dev/docs/how-tos/pytorch-best-practices/   (although this page contains the broken link above)
When we conda list the environment, it looks good:
08:38 $ conda activate global-pangeo-ml
(global-pangeo-ml) rsignell:~
08:38 $ conda list cuda
# packages in environment at /home/conda/global/envs/global-pangeo-ml:
#
# Name                    Version                   Build  Channel
cuda-cudart               11.8.89                       0    nvidia
cuda-cupti                11.8.87                       0    nvidia
cuda-libraries            11.8.0                        0    nvidia
cuda-nvrtc                11.8.89                       0    nvidia
cuda-nvtx                 11.8.86                       0    nvidia
cuda-runtime              11.8.0                        0    nvidia
nvidia-cuda-cupti-cu12    12.1.105                 pypi_0    pypi
nvidia-cuda-nvrtc-cu12    12.1.105                 pypi_0    pypi
nvidia-cuda-runtime-cu12  12.1.105                 pypi_0    pypi
pytorch-cuda              11.8                 h7e8668a_5    pytorch

but when we run:
torch.cuda.is_available()

it returns False.
Is it clear what we did wrong?
Or what we should do to debug?
Expected behavior
See above
OS and architecture in which you are running Nebari
Linux
How to Reproduce the problem?
See above
Command output
No response
Versions and dependencies used.
conda 23.3.1
kubernetes 1.29
nebari 2024.03.03
Compute environment
AWS
Integrations
No response
Anything else?
No response

Not sure if this is the answer, but have you tried setting
variables:
  CONDA_OVERRIDE_CUDA: "12.0"

in your environment spec?

We built an environment following these excellent instructions: nebari.dev/docs/how-tos/pytorch-best-practices (although this page contains the broken link above)

I'm not sure if it'll resolve the issue you're seeing, but the correct link is https://www.nebari.dev/docs/faq/#why-doesnt-my-code-recognize-the-gpus-on-nebari

conda-forge will install the CPU version of PyTorch unless you use that env flag listed above. This happens because conda-store builds the env on a non-gpu worker and conda-forge detects that there is no GPU present.

BTW, I opened an issue for the broken link - https://github.com/nebari-dev/nebari-docs/issues/426

I tried to create the simplest possible conda environment for Nebari GPU:
channels:
  - pytorch
  - nvidia
  - conda-forge
dependencies:
  - python=3.11
  - pytorch::pytorch
  - pytorch::pytorch-cuda=11.8
  - numpy
  - ipykernel
variables:
  CONDA_OVERRIDE_CUDA: "12.0"

Alas:

Also this page https://www.nebari.dev/docs/faq/#why-doesnt-my-code-recognize-the-gpus-on-nebari seems to provide conflicting information: one the one hand it suggests using pytorch-gpu, but this seems at odds with the suggestion to follow https://www.nebari.dev/docs/how-tos/pytorch-best-practices/, which  says to use the pytorch installation matrix, which produces:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

Those both need updating, I spent a while getting working environments recently on another project. Let me do a few tests and then update here.

Troubleshooting.
First,  make sure you actually have a GPU instance running with nvidia drivers. You can do this by running nvidia-smi from a terminal

Once you have done this you can install a pytorch environment in one of 3 ways. The key issue here is that the pytorch channel and the conda-forge channel use different naming conventions.

In the pytorch channel: the cpu parts are called pytorch and the gpu version is pytorch-cuda and both ned to be installed.
In the conda-forge channel: the cpu version is called pytorch-cpu and the gpu version is called pytorch-gpu but also if you build the environment on a machine that doesn't have a gpu (like conda-store does), conda-forge tries to be clever and installs the non-gpu version even if you specify pytorch-gpu. pytorch is a metapackage that installs whichever is needed.

Use the pytorch, nvidia, and defaults channel. Do not use conda-forge.

channels:
  - pytorch
  - nvidia
  - defaults
dependencies:
  - python=3.11
  - pytorch
  - pytorch-cuda
  - ipykernel
variables: {}

Use the pytorch, nvidia and conda-forge channels and pin both pytorch and pytorch-cuda to come from the pytorch channel otherwise the environment accidentally gets the cpu only pytorch from conda-forge.

channels:
  - pytorch
  - nvidia
  - conda-forge
dependencies:
  - python=3.11
  - pytorch::pytorch
  - pytorch::pytorch-cuda
  - ipykernel
variables: {}

Only use the conda-forge channel but set CONDA_OVERRIDE_CUDA: "12.0" to force the GPU version.

channels:
  - conda-forge
dependencies:
  - python=3.11
  - pytorch
  - ipykernel
variables:
  CONDA_OVERRIDE_CUDA: "12.0"

I've tested all 3 of these on an AWS deployment with v2024.3.3 and conda-store v2024.3.1
It is possible @rsignell-usgs environment failed because it specified both pytorch:pytorch-cuda=11.8 and  CONDA_OVERRIDE_CUDA: "12.0"
I'm testing that now.

Actually. @rsignell-usgs environment worked as well. Rich can you run nvidia-smi and post the output.
channels:
  - pytorch
  - nvidia
  - conda-forge
dependencies:
  - python=3.11
  - pytorch::pytorch
  - pytorch::pytorch-cuda=11.8
  - numpy
  - ipykernel
variables:
  CONDA_OVERRIDE_CUDA: "12.0"

Here is a redacted aws yaml for the deployment I was on.
amazon_web_services:
  region: us-gov-west-1
  kubernetes_version: '1.26'
  node_groups:
    general:
      instance: m5.2xlarge
      min_nodes: 2
      max_nodes: 5
    user:
      instance: m5.xlarge
      min_nodes: 0
      max_nodes: 50
      single_subnet: false
    worker:
      instance: m5.xlarge
      min_nodes: 0
      max_nodes: 50
      single_subnet: false
    gpu-tesla-g4:
      instance: g4dn.xlarge
      min_nodes: 0
      max_nodes: 5
      single_subnet: false
      gpu: true
    gpu-tesla-g4-4x:
      instance: g4dn.12xlarge
      min_nodes: 0
      max_nodes: 5
      single_subnet: false
      gpu: true
    gpu-tesla-g3-2x:
      instance: g3.8xlarge
      min_nodes: 0
      max_nodes: 5
      single_subnet: false
      gpu: true
profiles:
  jupyterlab:
  - display_name: Micro Instance
    access: yaml
    groups:
    - developer
    - admin
    description: Stable environment with 0.5-1 cpu / 0.5-1 GB ram
    kubespawner_override:
      cpu_limit: 1
      cpu_guarantee: 0.5
      mem_limit: 1G
      mem_guarantee: 0.5G
      node_selector:
        "dedicated": "user"
  - display_name: Small Instance
    description: Stable environment with 1.5-2 cpu / 6-8 GB ram
    default: true
    kubespawner_override:
      cpu_limit: 2
      cpu_guarantee: 1.5
      mem_limit: 8G
      mem_guarantee: 6G
      node_selector:
        "dedicated": "user"
  - display_name: Medium Instance
    description: Stable environment with 3-4 cpu / 12-16 GB ram
    kubespawner_override:
      cpu_limit: 4
      cpu_guarantee: 3
      mem_limit: 16G
      mem_guarantee: 12G
      node_selector:
        "dedicated": "user"
  - display_name: G4 GPU Instance 1x
    access: yaml
    groups:
    - gpu-access
    description: 4 cpu / 16GB RAM / 1 Nvidia T4 GPU (16 GB GPU RAM)
    kubespawner_override:
      image: quay.io/nebari/nebari-jupyterlab-gpu:2024.3.3
      cpu_limit: 4
      cpu_guarantee: 3
      mem_limit: 16G
      mem_guarantee: 10G
      extra_pod_config:
        volumes:
        - name: "dshm"
          emptyDir:
            medium: "Memory"
            sizeLimit: "2Gi"
      extra_container_config:
        volumeMounts:
        - name: "dshm"
          mountPath: "/dev/shm"
      extra_resource_limits:
        nvidia.com/gpu: 1
      node_selector:
        beta.kubernetes.io/instance-type: "g4dn.xlarge"
  - display_name: G4 GPU Instance 4x
    access: yaml
    groups:
    - gpu-access
    description: 48 cpu / 192GB RAM / 4 Nvidia T4 GPU (64 GB GPU RAM)
    kubespawner_override:
      image: quay.io/nebari/nebari-jupyterlab-gpu:2024.3.3
      cpu_limit: 48
      cpu_guarantee: 40
      mem_limit: 192G
      mem_guarantee: 150G
      extra_pod_config:
        volumes:
        - name: "dshm"
          emptyDir:
            medium: "Memory"
            sizeLimit: "2Gi"
      extra_container_config:
        volumeMounts:
        - name: "dshm"
          mountPath: "/dev/shm"
      extra_resource_limits:
        nvidia.com/gpu: 4
      node_selector:
        beta.kubernetes.io/instance-type: "g4dn.12xlarge"
  - display_name: G3 GPU Instance 2x
    access: yaml
    groups:
    - gpu-access
    description: 32 cpu / 244GB RAM / 2 Nvidia Tesla M60 GPU (16 GB GPU RAM)
    kubespawner_override:
      image: quay.io/nebari/nebari-jupyterlab-gpu:2024.3.3
      cpu_limit: 32
      cpu_guarantee: 30
      mem_limit: 244G
      mem_guarantee: 200G
      extra_pod_config:
        volumes:
        - name: "dshm"
          emptyDir:
            medium: "Memory"
            sizeLimit: "2Gi"
      extra_container_config:
        volumeMounts:
        - name: "dshm"
          mountPath: "/dev/shm"
      extra_resource_limits:
        nvidia.com/gpu: 2
      node_selector:
        beta.kubernetes.io/instance-type: "g3.8xlarge"

cc: @pavithraes re: conflicting GPU best practices pages in docs.

@dharhas thanks for this info.   Indeed when I open a terminal and activate our ML environment, when I type
nvidia-smi I get "command not found".   And when I google that it says that if it's not found, I need to install the nebari-utils package on the system.   Shouldn't that be part of the base GPU container?
My config section for that looks like:
  - display_name: G4 GPU Instance 1x
    description: 4 cpu / 16GB RAM / 1 Nvidia T4 GPU (16 GB GPU RAM)
    kubespawner_override:
      image: quay.io/nebari/nebari-jupyterlab-gpu:2024.3.3
      cpu_limit: 4
      cpu_guarantee: 3
      mem_limit: 16G
      mem_guarantee: 10G
      extra_pod_config:
        volumes:
        - name: "dshm"
          emptyDir:
            medium: "Memory"
            sizeLimit: "2Gi"
      extra_container_config:
        volumeMounts:
        - name: "dshm"
          mountPath: "/dev/shm"
      node_selector:
        "dedicated": "gpu-1x-t4"

Hi @rsignell, I will review this today as part of the above issue and follow up once I test those steps.

Thanks @viniciusdc ! I'm hoping to use this on Thursday for my short course!

@rsignell just as a followback, I think I found the issue with the config above. I will test the config that should work now, and paste here for you to test as well

@rsignell I just tested the following on a fresh install in AWS. Let me know if this fixes your problem:

your node selectors need to match the node group name, not the instance type:

      node_selector:
        "dedicated": "gpu-tesla-g4" # based on what your node groups look like from the comments above

(Here's a config file that worked for me for example)
amazon_web_services:
  kubernetes_version: "1.29"
  region: us-east-1
  node_groups:
    ...
    gpu-tesla-g4:
      instance: g4dn.xlarge
      min_nodes: 0
      max_nodes: 5
      single_subnet: false
      gpu: true
profiles:
  jupyterlab:
    ...
    - display_name: G4 GPU Instance 1x
      description: 4 cpu / 16GB RAM / 1 Nvidia T4 GPU (16 GB GPU RAM)
      kubespawner_override:
        image: quay.io/nebari/nebari-jupyterlab-gpu:2024.3.3
        cpu_limit: 4
        cpu_guarantee: 3
        mem_limit: 16G
        mem_guarantee: 10G
        extra_pod_config:
          volumes:
            - name: "dshm"
              emptyDir:
                medium: "Memory"
                sizeLimit: "2Gi"
        extra_container_config:
          volumeMounts:
            - name: "dshm"
              mountPath: "/dev/shm"
        extra_resource_limits:
          nvidia.com/gpu: 1
        node_selector:
          "dedicated": "gpu-tesla-g4"

As Dharhas mentioned above, this is an environment that builds and works:

channels:
  - pytorch
  - nvidia
  - conda-forge
dependencies:
  - python=3.11
  - pytorch::pytorch
  - pytorch::pytorch-cuda
  - ipykernel
variables: {}

I added a recording with a pytorch basic execution example as well:
https://github.com/nebari-dev/nebari/assets/51954708/babe9200-3a6b-4a4b-ab8e-82e284827457

Following back on this, I met with Rich yesterday and we were able to address the GPU spawning issue, two main problems were the culprit here:

One of the profiles needed to correctly look for a node_group that didn't exist, as there was a typo.

To address this, we need to enhance our schema to link and validate such relations

There was a missing gpu: true key in the GPU node group, which was blocking the driver installation daemon to correctly installing the dependencies to connect to the PCIe of the GPU (thus, nvidia-smi was not working)

Same suggestion as above, addressing our schema validators

This is still a mystery to me. It seems that you can request a GPU when the above flag is not passed, but it will not work if the nvidia/gpu : <number-of-gpus> is passed (of course, it does not work in the end, but the profile spawns)
I think this will be fixed once the other previous points are addressed, as this is not an expected behavior or supported scenario anyway.

@rsignell I will keep this issue open until https://github.com/nebari-dev/nebari-docs/issues/427 is addressed

https://github.com/nebari-dev/nebari-docs/pull/471 address the issue with the setup of the conda environments and code execution within the jupyterlab profiles. However, there is still insufficient documentation regarding the nebari administration in correctly setting up the AWS node groups.
Since this has been addressed in the discussion above, and now the problem is docs-wise this issue will track the final work required https://github.com/nebari-dev/nebari-docs/issues/417
Feel free to re-open this if extended discussion is required.


ListSearch Extender FireFox v66+

The AJAX Control Toolkit 17.1.1
(checked the source code for current version and the code is the same)
The installation method

[x] A custom build from the source code

Minimal steps to reproduce the bug
Setup a page List search extender
Open this page in Firefox version 66 or higher
Start typing into the control associated with this list search extender
Actual result
Nothing is added into the search window and no search is triggered
Expected result
Typed characters are added to the search window and search is triggered
Browser(s) used
Firefox - problem since version 66
A site deployment method

[x] IIS

We have encountered an issue related to the List search extender, where the search would not work in Firefox. After quick investigation, we have found that the problems starts to occur in versions 66 or higher.
After checking the source code and small bug-testing, we have found that the issue is located in the file ListSearch.js and more precisely in function called "_isNormalChar". The first if statement in this function is related to the Firefox. If we check the Firefox release notes, we can find that in version 66, there were some changed to the handling of .keyCode and .charCode properties (more on https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/66 - Dom events section).
This changed prevents List search extender from working in Firefox v66 or higher.
We are currently working with a workaround with checking the version of Firefox to be lower that 66 in this if statement to support both newer and older versions of this browser.
Thanks for your time.
Ulderico

Thanks for reporting.

We are currently working with a workaround with checking the version of Firefox to be lower that 66

Would you please share this code? We'll include it in the upstream version.

We added a check to the version of the browser.
if (Sys.Browser.agent == Sys.Browser.Firefox && Sys.Browser.version < 66 && e.rawEvent.keyCode)
The thing is, I'm not 100% sure if adding this does not break this check as a whole in FF. I get what this function tries to achieve, the logic behind it is not 100% clear to me (as I haven't studied it in the detail).

We fixed the issue in the master branch. Check the 'Updating the Project from CI Builds' guide to learn how to update the project before an official AJAX Control Toolkit release is available.


Add Ubuntu 22.04 back to ci

Description
Please include a summary of changes, motivation and context for this PR.
This PR adds back Ubuntu 22.04 to the ci. Seems unlikely that one Ubuntu would be broken, and another ok, but it does happen with some sometimes. This PR allows us to be certain it hasn't happened to xeus-cpp.
Fixes # (issue)
Type of change
Please tick all options which are relevant.

[ ] Bug fix
[x] New feature
[ ] Added/removed dependencies
[ ] Required documentation updates

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

Project coverage is 80.80%. Comparing base (0a3a75e) to head (d354874).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #197   +/-   ##
=======================================
  Coverage   80.80%   80.80%
=======================================
  Files          19       19
  Lines         974      974
  Branches       93       93
=======================================
  Hits          787      787
  Misses        187      187


feat: increase default mempool TTLNumBlocks to 12

Motivation in the Mempool TTL duration section of https://github.com/celestiaorg/celestia-app/issues/3959#issuecomment-2405769487
Description
Modify the default consensus node config for mempools so that:

TTLNumBlocks from 5 to 12 because 12 six second blocks = 72 seconds which is comparable to the existing 75 second TTLDuration.
MaxTxBytes from approx 7.5 MiB to 8 MiB because it's easier to understand and communicate
MaxTxsBytes from approx 37.6 MiB to 40 MiB because it's easier to understand and communicate

Testing
make install && ./scripts/single-node.sh then cat the config
version = "v1"
ttl-duration = "1m15s"
ttl-num-blocks = 12

I would slightly prefer to increase to 8MB which can path the way for increases in the cap when they come (which we will want them to).

This PR doesn't modify MaxTxBytes and IMO that should be discussed separately. Agreed that we may want to change it based on the recently added tx size antehandler.
The motivation for this PR is to update constants based on the decrease of block time from 12 to 6 seconds (https://github.com/celestiaorg/celestia-app/issues/3959#issue-2578922762). Specifically, prior to this change, the mempool would evict transactions that are either 1m 15 seconds old or 6 blocks (i.e. 6 * 11.77 seconds = 70.62 seconds) old. After the block time reduction, transactions will be evicted from the mempool after 6 * 6 seconds = 36 seconds. If we want to retain existing mempool behavior, we should bump the TTLNumBlocks.

Based on what you're saying why not just have a TTL based on time only (rather than num blocks)

We could. I supposed that's a breaking change to end-users but we can consider removing the TTL num blocks feature.


Fast Delete

Summary of the new feature/enhancement

If you want to delete a lot of files (large number of files, not large files) thru File Explorer, right now it is a very slow process, compared to doing the same thru the command line.
Proposed technical implementation details (optional)
I would like to have a power option that enabled me to fast delete a selection of files from Explorer. Pretty much what this provides:
https://www.ghacks.net/2017/07/18/how-to-delete-large-folders-in-windows-super-fast/
Which is pretty much this:
DEL /F/Q/S *.* > NUL
That would be much better than typing the command!

I love this idea

I’d love to take a stab at this one.

@WJK, do you want me to assign it to you?

Yes please.

done and done :)  I'd imagine this would be part of the "File Explorer" section, fyi for enabling / disabling

@kapsiR I immediately ran into problems setting up the UI for this feature. Writing a shell extension according to the spec — that’s easy. Getting it integrated into PowerToys’ settings UI in the many disparate ways that are required — that's hard. The documentation and code here really needs a rewrite. I haven't touched this in months. Sorry about that!

always remember, programming is a team sport, never go it alone

If you want to delete a lot of files (large number of files, not large files) thru File Explorer, right now it is a very slow process, compared to doing the same thru the command line.

The article you linked to states "It may take ten or twenty minutes, or even longer, to delete a large folder using Explorer on Windows devices.".
Recycling items/deleting items to the recycle bin is super slow.  'Perminant' delete is fast.  To perminantly delete, select the files and  press shift and del at the same time.
I've just tested this now on my SSD to make sure i wasn't talking nonsense as i don't think about it anymore.
It took over 5 minutes to copy and paste 6200 files (10GB) to a new directory.  A shift and del perminant delete, deleted all of the files within 20 seconds from when i pressed the buttons on the keyboard to when the dialog box disappeared after it had finished.
Looking at the docs https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/del
It appears that cmd del 'perminantly' deletes files too.
Without doing a speed comparison, i imagine they're both similar in speed.

I did the following test using the PowerToys repo after a full build as test folder to delete:

I used a mechanical SATA drive, after creating the test folders and after rebooting Windows to make sure nothing was in the Windows cache
DEL /F/Q/S *.* > NUL took about 24 seconds, note that it didn't delete the 4,000 folders, only the files.
Shift + Delete from Explorer took about 29 seconds and deleted all the files and folders.
The difference doesn't seem to justify a new PowerToys module with all the work that will require to maintain and support it.
We are a very small team, if something is not a game changer, we should have a conservative approach before adding new functionality.

@wjk did you ever do some speed tests for this?

@crutkas I'm afraid I didn't. Things have gotten rather busy due to my university schedule. I do agree with @enricogior that this tool might well be unnecessary. If you want to close this issue and the associated PR for this reason, I'm perfectly OK with that. Thanks!

@wjk
OK I'll close the PR and the issue, sorry for not having done more research ahead.
Next time we'll try to do a better job, you are always welcomed to contribute to the project.

@enricogior, i just did this on two sets of PT clones after a full compile.
12 gigs with about 75k files
21 seconds <- directly running DEL /F/Q/S . > NUL
51 seconds <- shift delete
Speed wise, this is pretty drastic

@crutkas
you have to test it against the exact same data after a reboot, otherwise you can get very different results.
When I did the test, I did it multiple times and on both SATA harddrives and PCIe SSDs.

this was exact same data.  Base folder was copied to two new dirs on same drive on a SSD not on my c drive.

@crutkas
unless you reboot, part of the data is cached and the results will be affected by that.
Also you cannot do the test "in parallel" since different data location can also affect the results.
Also, different version of Windows might affect the results.
It's tricky to get consistent data.

was not done in parallel.  Did test 1 then test 2.  happy to do multiple tests and average but i think 'real world' is critical.

@crutkas
what I mean, is that the entire test must be serialized, including the data creation:

generate the data in a consistent manner (for example copy it form an external source)
reboot the machine
delete the data with method 1
repeat the test for method 2 starting from step 1.

In other words, the data should be recreated after each test, it should not be created for both tests and then run the tests.


Task - Green dot is not on the same line as the caret

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

Version Number: 9.0.44-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to DM.
Assign a task to yourself.

Expected Result:
The green dot should be on the same line as the caret (production behavior).
Actual Result:
The green dot is not on the same line as the caret.
Workaround:
Unknown
Platforms:

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

Screenshots/Videos
https://github.com/user-attachments/assets/83aeeeec-d82b-40ba-a4eb-62269f2178b0

View all open jobs on GitHub

This PR introduced the issue: https://github.com/Expensify/App/pull/49686, although it fixes worst ones 😄
cc: @bernhardoj @rayane-djouah

Also I don't think it needs to be a blocker, as it is a minor style issue.

PR is up

Proposal
Please re-state the problem that we are trying to solve in this issue.
Task - Green dot is not on the same line as the caret
What is the root cause of that problem?
We are using dynamic styles for surrounding elements, while not for greenDot.
What changes do you think we should make in order to solve the problem?
Option 1.

Move GreenDotIndicator element inside this view, This way We take advantage of styles.mr2 in this view for better spacing between greendot and arrow icon.
https://github.com/Expensify/App/blob/e9d445e4d0b83be53364d36903077ec073139606/src/components/ReportActionItem/TaskPreview.tsx#L103-L129
https://github.com/Expensify/App/blob/e9d445e4d0b83be53364d36903077ec073139606/src/components/ReportActionItem/TaskPreview.tsx#L130-L137

Additionally apply iconWrapperStyle to greenDot indicator icon.

    <Icon
        src={Expensicons.DotIndicator}
        fill={theme.success}
        additionalStyles={iconWrapperStyle}
    />

https://github.com/Expensify/App/blob/e9d445e4d0b83be53364d36903077ec073139606/src/components/ReportActionItem/TaskPreview.tsx#L132-L135
Option 2.
If we don't want to move greenDot inside view as I suggested, then we should remove styles.ml2 style and hence wrapping view for greenDot icon. (We have ml2 for greenDot and mr2 for task title due which task title is shrinking too much without need)

remove this view container and add iconWrapperStyle as additional style to greenDot icon.
https://github.com/Expensify/App/blob/e9d445e4d0b83be53364d36903077ec073139606/src/components/ReportActionItem/TaskPreview.tsx#L131-L136

Just centering greenDot
option 1 (even space on both side)
option 2 (consuming less space from task title)

What alternative solutions did you explore? (Optional)
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Nice, thanks!
This is fixed by https://github.com/Expensify/App/pull/50281


Migrate to Pytroch 1.10 in anticipation of 1.11

@conda-forge/torchani  i changed the build string to make it in line with pytorch's build string.
I don't know if this will cause problems for either of you. I understand the breakage, but hopefully people aren't pinning there too hard.
Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


The confirmation email is not send with the standard devise support

I'am using the gem with the standard devise support. My devise token auth config is this:
DeviseTokenAuth.setup do |config|
  # By default the authorization headers will change after each request. The
  # client is responsible for keeping track of the changing tokens. Change
  # this to false to prevent the Authorization header from changing after
  # each request.
  config.change_headers_on_each_request = false

  # By default, users will need to re-authenticate after 2 weeks. This setting
  # determines how long tokens will remain valid after they are issued.
  # config.token_lifespan = 2.weeks

  # Sets the max number of concurrent devices per user, which is 10 by default.
  # After this limit is reached, the oldest tokens will be removed.
  # config.max_number_of_devices = 10

  # Sometimes it's necessary to make several requests to the API at the same
  # time. In this case, each request in the batch will need to share the same
  # auth token. This setting determines how far apart the requests can be while
  # still using the same auth token.
  # config.batch_request_buffer_throttle = 5.seconds

  # This route will be the prefix for all oauth2 redirect callbacks. For
  # example, using the default '/omniauth', the github oauth2 provider will
  # redirect successful authentications to '/omniauth/github/callback'
  # config.omniauth_prefix = "/omniauth"

  # By default sending current password is not needed for the password update.
  # Uncomment to enforce current_password param to be checked before all
  # attribute updates. Set it to :password if you want it to be checked only if
  # password is updated.
  # config.check_current_password_before_update = :attributes

  # By default we will use callbacks for single omniauth.
  # It depends on fields like email, provider and uid.
  # config.default_callbacks = true

  # Makes it possible to change the headers names
  # config.headers_names = {:'access-token' => 'access-token',
  #                        :'client' => 'client',
  #                        :'expiry' => 'expiry',
  #                        :'uid' => 'uid',
  #                        :'token-type' => 'token-type' }

  # By default, only Bearer Token authentication is implemented out of the box.
  # If, however, you wish to integrate with legacy Devise authentication, you can
  # do so by enabling this flag. NOTE: This feature is highly experimental!
  config.enable_standard_devise_support = true

  # By default this value is expected to be sent by the client so that the API knows
  # where to redirect users after successful email confirmation. If this param is set,
  # the API will redirect to this value when no value is provided by the client.
  config.default_confirm_success_url = ENV.fetch('HOST')
end

I'm mount the devise gem in the default route "/" and the devise token gem in the route "/api/v1/auth/". The user model is this:
class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable, :confirmable,
          :recoverable, :rememberable, :trackable, :validatable,
          :omniauthable
  include DeviseTokenAuth::Concerns::User
end

For some reason, the confirmation email is not sent either by using the browser or by using the devise gem.
I can see the log in the linux console, but the email is not received.
Started POST "/users/confirmation" for <IP_ADDRESS> at 2017-01-18 10:44:42 -0430
Cannot render console from <IP_ADDRESS>! Allowed networks: <IP_ADDRESS>, ::1, <IP_ADDRESS>/<IP_ADDRESS>
Processing by Devise::ConfirmationsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"NFZ9TRBNirx9wUvPTrZ4TJZUUEZvm8VSWTOXGbpL1O1Sv0RZp08gNSWQW139VG8n+zpKoBkr1zSbHuoMN4qVJw=="<EMAIL_ADDRESS>"commit"=>"Resend confirmation instructions"}
  User Load (1.8ms)  SELECT  "users".* FROM "users" WHERE "users"."unconfirmed_email" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["unconfirmed_email"<EMAIL_ADDRESS>["LIMIT", 1]]
  User Load (0.5ms)  SELECT  "users".* FROM "users" WHERE "users"."email" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["email"<EMAIL_ADDRESS>["LIMIT", 1]]
   (0.2ms)  BEGIN
   (0.2ms)  COMMIT
  Rendering devise/mailer/confirmation_instructions.html.slim
  Rendered devise/mailer/confirmation_instructions.html.slim (4.0ms)
Devise::Mailer#confirmation_instructions: processed outbound mail in 103.0ms
Sent mail to<EMAIL_ADDRESS>(21036.9ms)
Date: Wed, 18 Jan 2017 10:44:42 -0430
From<EMAIL_ADDRESS>Reply-To<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
client-config: default
redirect-url: http://localhost:3000

Welcome jjamescaicedo@gmail.com!

You can confirm your account email through the link below:

Confirm my account

Redirected to http://<IP_ADDRESS>:3000/users/sign_in
Completed 302 Found in 21505ms (ActiveRecord: 2.7ms)

Started GET "/users/sign_in" for <IP_ADDRESS> at 2017-01-18 10:45:03 -0430
Cannot render console from <IP_ADDRESS>! Allowed networks: <IP_ADDRESS>, ::1, <IP_ADDRESS>/<IP_ADDRESS>
Processing by Users::SessionsController#new as HTML
  Rendering users/sessions/new.html.slim within layouts/application
  Rendered users/shared/_links.html.slim (4.1ms)
  Rendered users/sessions/new.html.slim within layouts/application (13.0ms)
Completed 200 OK in 46ms (Views: 34.6ms | ActiveRecord: 0.0ms)

When I using just the devise gem the email is received.

Updating:
The email not sent when the user is created, I need click on forgot password button in the login interface for receive the email. The rest is fine.

@eugenio1590 Other people are seeing this behavior, too. Did you come up with a workaround or have a chance to investigate how the problem can be fixed from within devise token auth?

@ethagnawl Until now I have not been able to investigate the problem. And I think the gem is no longer supported. It is not a priority for me the confirmation email. But it would be interesting to solve the problem.

Seems like the other issue has a fix, so closing this for now.

For those who find themselves here, this solution worked for me
class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
          :recoverable, :rememberable, :trackable, :validatable,
          :confirmable

  include DeviseTokenAuth::Concerns::User

  after_create :send_confirmation_email

  private

  def send_confirmation_email
    self.send_confirmation_instructions
  end
end


add listener to what_on service for installations

The service modules seem to be setup to have a URL prefix to point at a service, and then strip that, and pass only the leftovers to the application.
We have the setup that installations, what's on, exhibitions, and events, all which have root urls (/exhibitions) will all be part of the whats_on application.
Alternatives would be:

Edit the modules to accept a list and break the theory of 1 URL per service
Have /whats_on/installations

Neither of which are what we want.
@kenoir ^

Merging in as it's deployed.


[PerfStress] Implement the circular stream utility

Implement a class or function that returns a buffer that seems to be of any size, yet only loops over and over some small finite data. It should feel intuitive to use in JS/TS.
Here's Mike Harder's implementation: https://github.com/mikeharder/azure-sdk-perf/blob/master/net/Azure.Test.PerfStress/CircularStream.cs

Closing this for this same reason: https://github.com/Azure/azure-sdk-for-js/issues/8057#issuecomment-617978932


Minor fixes and suggestions for Intro to SPARK course

Some suggestions and fixes I came up with while reading this material.

Hello @filip-gajowniczek-adacore, the test results are indicating this error:
/home/runner/work/learn/learn/content/courses/intro-to-spark/chapters/04_State_Abstraction.rst:684:Unexpected indentation.

Would you mind correcting it?

Hello @filip-gajowniczek-adacore, the test results are indicating this error:
/home/runner/work/learn/learn/content/courses/intro-to-spark/chapters/04_State_Abstraction.rst:684:Unexpected indentation.

Would you mind correcting it?

Hi Gustavo :),
The error it is flagging isn't mean to be productionized; its an inline comment that I think should be addressed (either with a code change, a GitHub issue, or a disposition that its unnecessary).
So whatever way we decide to address this comment in a follow-up commit  we should keep in mind to resolve this indentation issue.

I agree that, ideally, TODO items should be addressed as soon as possible. However, we might also decide to just integrate those todo items as comments. In fact, we have many todo items in the .rst file. Usually, they have this syntax:
.. todo::

    Description...

In any case, I still prefer to have the tests passing because we might be missing other issues in your changes. Also, it shouldn't be hard to fix them, so it'd be great if you could fix those comments using the syntax I've just mentioned above.

I agree that, ideally, TODO items should be addressed as soon as possible. However, we might also decide to just integrate those todo items as comments. In fact, we have many todo items in the .rst file. Usually, they have this syntax:
.. todo::

    Description...

In any case, I still prefer to have the tests passing because we might be missing other issues in your changes. Also, it shouldn't be hard to fix them, so it'd be great if you could fix those comments using the syntax I've just mentioned above.

Not a problem for me to make the changes :) want to make sure I didn't come off that way.
I am on the same page with you now that these TODOs should be mergeable in case we leave them in and address them at a later date.
Thanks for providing the proper syntax to an .rst newbie like myself, I'll get those fixed up :)

Hey @filip-gajowniczek-adacore, thanks a lot for fixing those issues. The tests are passing now. I've just found a small thing (an empty line missing) that I commented. Apart from it, your corrections to the text look good. I'll ask @yannickmoy to give his opinion on the todo items...

Thanks Filip for the comments! @gusthoff some fixes are needed about how the proof engine is used, as apparently now some proofs are attempted on the examples from previous sections. Probably some directive to reset the state of the cumulative source batch is missing?

Hello @yannickmoy, could you please provide me a list of affected code examples, so I know which ones I should focus on?
Just FYI: we don't use the code aggregator anymore, so resetting cannot be an issue here. Instead, we group code examples into "projects."

@gusthoff that's the 3 comments that @filip-gajowniczek-adacore added with the text "The following code snippet attempts to analyze the previous example and needs to be fixed." I checked that indeed these snippets don't work anymore, for the reason Filip mentions. It's in chapter 3.

@gusthoff that's the 3 comments that @filip-gajowniczek-adacore added with the text "The following code snippet attempts to analyze the previous example and needs to be fixed." I checked that indeed these snippets don't work anymore, for the reason Filip mentions. It's in chapter 3.

Thanks, @yannickmoy, I'll take a look at them.

@filip-gajowniczek-adacore, I've just uploaded a change to this PR that should fix the proof issues that you've identified. Just let me know if they're OK now.

@gusthoff
The changes you made appear to have resolved the issue. The associated TODOs can be removed.
Good stuff :)


[Install issue]: Persistent DB for Chroma deployed as Docker image on Azure and DigitalOcean

What happened?
Hi all! Apologies in advance if I am asking duplicate question, tried to go through the issues and went through documentation multiple time but couldn't find the answer.
I want to use Chroma in production and I successfully deployed it on DO and currently deploying it on Azure. Deployment went smoothly but obviously because I haven't set the persistent db - each time I push the new image, data is gone.
I saw a way how to persist data locally with PersistentClient() but how can I achieve similar result with deployment elsewher where I have to use HTTPClient() to connect to Chroma?
Any help would be highly appreciated 👍
Versions
Chroma v0.4.14, Python v3.10-slim-bookworm
Relevant log output
No response

How are you mounting your volume to DO? If its not the same volume, your data could disappear.

How are you mounting your volume to DO? If its not the same volume, your data could disappear.

Sorry for the late reply, was out! You were right, the volume was different, that fixed the issue 👍


query: Metrics missing when using query component

Thanos, Prometheus and Golang version used
thanos, version 0.2.1 (branch: HEAD, revision: 30e7cbdafd3ef01189f202945c2728fcf37e1cf1)
  build user:       root@79ffcf51ff9b
  build date:       20181227-15:44:56
  go version:       go1.11.4

prometheus, version 2.6.0 (branch: HEAD, revision: dbd1d58c894775c0788470944b818cc724f550fb)
  build user:       root@bf5760470f13
  build date:       20181217-15:14:46
  go version:       go1.11.3

What happened
I recently did setup thanos for long term metric storage. After the first few weeks of running the setup, I tried to zoom out in grafana to see how everything works out. While zooming out to 30 days in grafana, I started to see gaps in the displayed metrics. There is metric data for the selected time range. If I do query prometheus directly, I get the expected results.
What you expected to happen
Getting all existing data when querying via thanos query.
Full logs to relevant components
query.log
Queried via prometheus:

Queried via thanos query:

hi, it seems to be as same as this issue, it has been fixed in this PR.
You try to upgrade the Thanos with the newest master head or wait for the 0.3.0 version, the new version will come soon.

@jojohappy you're right, I just built thanos from the master branch and the problem has gone away. I did miss the referenced bug, sorry for the duplication.


adding ability to apply weight on uniswap tokens

Fixes # .
Changes proposed in this pull request:

@stalker474 Sorry for very late review, are you willing to do this change?

Closing due to inactivity.


Stack rename

Something like kontena stack rename redis old-redis could be useful in some situations.

Perhaps not feasible and so easy after all.


Trigger terraform script once a set of inputs have been provided. Save the config in a new file.

Don't need to maintain a new file as terraform already maintains everything in varaibles.tf and .tfvars file. Will just reuse those files.


ImportFBX Errors

Hi hrmrzizon,
All of the FBX are failed to import like image. Do you know what might be wrong?!

https://github.com/keijiro/CMUMocap
I find it in Acknowledgement.txt
just replace all animation

https://github.com/keijiro/CMUMocap
I find it in Acknowledgement.txt
just replace all animation


UAT->Prod

package.lock is the same as qa/uat. It changed because we pulled in an upstream update that changed some packages: https://github.com/Interaction-Gaming/serverless-image-handler/pull/6/commits/56304c8bc8c60245aa0ad476c40a7376a31c95d9


Pushing Release of v1 on GitHub

Below is a draft that I have been working on pushing the release of the v1 of the website, before #28 is pushed and further changes are implemented in it. I need someone to expand and add the details in the draft, then later on push the release for it.
Please review and recommend changes for the same.
@omi10859 @thisisayush @JoyBhalla @AniVerma17 @akshat0047 @utkarsh2102

Tag: v1.0
Title - PyLadies Delhi Chapter official website v1
Description
What has been done?
Who all did it ?
This will be the release to the commit 97b77c160064a051cb559a5fcd14819297f4f11a
and wouldn't include #29. Refer to #29 for why it wouldn't be included?
Link to where the website is hosted now. ?
What is it about?
What to do in case of bugs?
Reviewed by Pushplata

Pushing a release is a really important task in Open-Source, and makes up for a cool learning task about the project that you have been working on for everyone else to see. Pushing a release for a website, maybe be not worth the effort but is required nonetheless.


Refactor ReimbursementAccountPage's fetchFreePlanVerifiedBankAccount

@nkuoch @MariaHCD @youssef-lr
Details
This replaces the use of fetchFreePlanVerifiedBankAccount
Fixed Issues
$  https://github.com/Expensify/Expensify/issues/226858
Tests
Test a bank account in SETUP

Start the VBBA process. Select plaid (use user_good and pass_good to get past plaid)
Add any fields to the Company Step, the key is to make it past this step
After submission, you should be on the RequestorStep "Personal Information"

Close out of the flow. Back all the way to a chat window
Navigate back to the VBA flow (Settings -> Workspace settings -> Connect Bank Account -> Continue with setup)
Verify that you are shown back to the Requestor Step "Personal information"
Now log out to clear your cache
Log back in
Navigate back to the VBA flow (Settings -> Workspace settings -> Connect Bank Account)
Verify that you are shown back to the Requestor Step "Personal information"

Test Requestor Step without completing Onfido

With the same VBBA setup, fill out the requestor step (Do not use Alberta Charleston from the SO, use a random name)
It should take you to Onfido flow
Don't complete onfido. Exit the flow
Navigate back to the VBA flow (Settings -> Workspace settings -> Connect Bank Account -> Continue with setup)
Verify that you are brought back to the Onfido Step
Log out and log back in
Navigate back to the VBA flow
Verify that you are brought back to the Requestor Step ("Personal information"). And everything is pre-filled

When you click submit, you still have to go through Onfido

Test Beneficial Owners Step

Once onfido is complete, you should be moved to the ACHContract Step or Beneficial Owners Step or "Additional information"

Exit flow
Navigate back to the VBA flow (Settings -> Workspace settings -> Connect Bank Account -> Continue with setup)
Verify that you are still on that step you left off
Log out and log back in
Navigate back to the VBA flow
Verify that you are still on that step

Test VERIFYING state

So long as you did not add Alberta Charleston as the name, the VBBA should be in a VERIFYING state
Verify that you are asked to provide more information:

Click "Yes lets chat"
Navigate back to the VBA flow (Settings -> Workspace settings -> Connect Bank Account -> Continue with setup)
Verify that you are still on that step/need to provide more info
Log out and log back in.
Navigate back to the VBA flow
Verify that you are still on that step

Test PENDING state

At the moment, the SO instructions to add a PENDING VBBA is broken (link).
Add a non validated VBBA using the CLI tools
Get the bank account ID for that VBBA, and then run the query
INSERT INTO nameValuePairs (accountID, name, value, created) VALUES (135, 'expensify_freePlanBankAccountID', 1179395, '2022-10-14 20:41:25'); *replacing the account ID and the bank accountID
Verify that when you navigate to the Connect Bank Account, you end up on the validation step

[ ] Verify that no errors appear in the JS console

PR Review Checklist

PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

[ ] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop
https://recordit.co/fseVdmCoMz
iOS
https://recordit.co/ygknviefmP
Android

Still need to figure out QA and screenshots from every platform, but this can begin initial review I think and testing

I don't know what's up with my VM, I'm getting a CORS error when trying to open the VBBA page. Trying to figure out what's causing this so I can test the PR.

I don't know what's up with my VM, I'm getting a CORS error when trying to open the VBBA page. Trying to figure out what's causing this so I can test the PR.

@youssef-lr Possibly you need to upgrade to PHP8.1?

@MariaHCD I've already did. I think I'll switch to staging to test this while I figure it out.

OK I figured it out, I needed to checkout Chris's Auth and Web-E branches to test this /facepalm. Testing right now.

@ctkochan22 these steps didn't work for me as expected, logging out then back in takes me back to the first step.

Now log out to clear your cache
Log back in
Navigate back to the VBA flow (Settings -> Workspace settings -> Connect Bank Account)
Verify that you are shown back to the Requestor Step "Personal information"

For some reason uploading a screen recording is not working for me here in GH, I will keep trying.

What's left to get this PR merged?

This should be ready to go @MariaHCD @nkuoch
The only issue to note is, as noted in this bug https://github.com/Expensify/Expensify/issues/238317 . When testing and you sign in for the first time, there will be no VBBA and we will not fetch it at any point until we click "Continue Setup". This means, we won't see the option to continue previous setup or start over

Could you also update the Jest unit tests? We're currently using fetchFreePlanVerifiedBankAccount in ReimbursementAccountTest.js

I'm not super familiar with Jest tests. But it seems like it doesn't actually hit an API? If that is the case, is there much to test? We handle so much of it on the php side.

I'm not super familiar with Jest tests. But it seems like it doesn't actually hit an API? If that is the case, is there much to test? We handle so much of it on the php side.

Ah, good point. We're just mocking the API responses in the Jest tests. And since most of the logic is now in the API, we shouldn't need these tests anymore, correct?

@ctkochan22 Could you re-fill the PR author checklist? Perhaps it's outdated which is why the test is failing.

Noticed when testing this that if you log out and then back in again, the forms that you completed before are no longer populated with the data:
https://user-images.githubusercontent.com/12268372/200581796-97522ea1-58c6-4f96-bcc9-23bdb72c45e3.mov

Woah, this is happening because the path here is incorrect.
https://github.com/Expensify/App/blob/4d20ee5ccb7d8772e00cfac9e691a7a0df62d551/src/libs/ReimbursementAccountUtils.js#L26
Was that changed recently?

@youssef-lr Can you test this today please? 🙇

@ckscanlon testing now!

Heads up @youssef-lr, if you run into this error: https://github.com/Expensify/App/pull/11751#issuecomment-1307252840
You can test with the Web-E PR: https://github.com/Expensify/Web-Expensify/pull/35506 and it will work

@ckscanlon after running the query in the last step, this is what I'm seeing, am I missing something? All other tests worked as expected.

@youssef-lr  Is the bank account ending in 9378 the new bank account in the validate state?

@youssef-lr my bad, the test steps were outdated. Please try the last step when you can! And this PR should be ready to go!

I'm not sure why this PR didn't have a C+ assigned

PR Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @youssef-lr in version: 1.2.27-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.2.27-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.2.27-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


0.12 support for terraform-docs

what

Add a hack to support terraform 0.12 with terraform-docs
Use awk to generate variables and outputs suitable for terraform-docs

why

terraform-docs does not yet support HCL2

references

https://github.com/segmentio/terraform-docs/issues/62

Thanks a lot for this solution!
It works for all cases I have, but not when default value looks like this:
variable "database_outbound_acl_rules" {
  description = "Database subnets outbound network ACL rules"
  type        = list(map(string))

  default = [
    {
      rule_number = 100
      rule_action = "allow"
      from_port   = 0
      to_port     = 0
      protocol    = "-1"
      cidr_block  = "<IP_ADDRESS>/0"
    },
  ]
}

Do you know how to improve awk script to handle this?


QA Contact can't be edit with jira issue edit

Describe the bug

when I tried to edit QA Contact for an issue with following command:
jira --debug issue edit ISSUE-1 --custom "QA-Contact"="jishi" --no-input
I got following warning and error:
⠋ Updating an issue...
Some custom fields are not configured and will be ignored. This will fail with error in the future release.
Please make sure that the passed custom fields are valid and configured accordingly in the config file.
Invalid custom fields used in the command: QA-Contact
⠙ Updating an issue...
Error:

customfield_12315948: data was not an object

jira: Received unexpected response '400 Bad Request'.
Please check the parameters you supplied and try again.
Please provide following details

JiraCLI Version:(Version="v1.5.1", GitCommit="", CommitDate="", GoVersion="go1.20.11", Compiler="gc", Platform="linux/amd64")

Are you using Jira cloud or on-premise jira server?on-premise jira server

What operating system are you using? Also mention version.Fedora release 37 (Thirty Seven)

What terminal are you using? Also mention version.xterm-384-1.fc37.src.rpm

To Reproduce
Steps to reproduce the behavior:

jira --debug issue edit ISSUE-1 --custom "QA-Contact"="jishi" --no-input
See error
⠋ Updating an issue...
Some custom fields are not configured and will be ignored. This will fail with error in the future release.
Please make sure that the passed custom fields are valid and configured accordingly in the config file.
Invalid custom fields used in the command: QA-Contact
⠙ Updating an issue...
Error:

customfield_12315948: data was not an object

jira: Received unexpected response '400 Bad Request'.
Please check the parameters you supplied and try again.
Expected behavior
the QA Contact can be modified
Screenshots

Additional context

the QA Contact is configured in the config.yml:
- name: QA Contact
key: customfield_12315948
schema:
datatype: user
- name: Product
key: customfield_12315949
schema:
datatype: option

Hi @linup2011, you'd need to configure the field properly to make it work. Some details are outlined here.


:construction_worker: feat(vscode): Switch build to tsup

Description
Switch from using esbuild to tsup
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #238

PR #239

PR #240   👈

This comment was auto-generated by Graphite.


Dropped element flickering during OnChange synchronization

If onChange param is null react-sortable disable component render, but when use onChange param to set new order in my app state I have problem with a flickering.
It looks like react-sortable component refresh (render) dom structure before onChange state update.
How can I solve this problem?
UPDATE:
The development mode in browser was the reason.

The development mode in browser was the reason.

Hi there, you said you solved this. Would you be able to confirm it worked by closing this issue?

I have the same issue, I didn't try production mode but all that means is that the problem is still there but with less time to flicker. Since my case is quite complex I guess it won't change anything.


Update monorepo package.jsons

Address comments I made in https://github.com/Developer-DAO/web3-ui/pull/26#pullrequestreview-817348782 shortly after the PR was merged 😛 🐌
to: @Dhaiwat10 @crondinini

Great suggestions. Why is the build failing tho? 🤔 I'm gonna try checking out this PR and running stuff locally.

oh lol error Couldn't find package "<EMAIL_ADDRESS>required by "<EMAIL_ADDRESS>on the "npm" registry.

@Dhaiwat10 CI is now green


IAsyncRequestHandler<TRequestType,ReturnType> not mapping in unity

So when I have a Request and IAsyncRequestHandler things work very nicely. However, anytime I add a return type for the Request. For example, Request IAsyncRequestHandler<Request,bool> I get a unity mapping error saying the following:
InnerException	{"The current type, Epiq.OCR.Common.MediatR.IRequestHandler`2[Epiq.Workers.OCR.Application.OCR.OcrProcessorRequest,System.Int32], is an interface and cannot be constructed. Are you missing a type mapping?"}	System.Exception {System.InvalidOperationException}
Here's my Unity Config:
        container.RegisterType<IMediator,` Mediator>();
        container.RegisterTypes(AllClasses.FromLoadedAssemblies());
        container.RegisterTypes(AllClasses.FromAssemblies(typeof(OcrProcessorRequestHandler).Assembly),
            WithMappings.FromAllInterfaces, MediatRSetupHelper.GetRequestName, MediatRSetupHelper.GetLifetimeManager);

        container.RegisterInstance<SingleInstanceFactory>(t => container.Resolve(t));
        container.RegisterInstance<MultiInstanceFactory>(t => container.ResolveAll(t));

I have no idea, I couldn't get Unity to completely work so I removed it from the list of samples.

I have tried with SimpleInjector and still getting the same issue. I think for some reason it's passing MediatR.IRequestHandler2 instead of MediatR.IAsyncRequestHandler2. It's not a unity issue. It's an issue with the AsyncHandler implementation.
The code below always returns the RequestHandler instead of the AsyncRequestHandler:
private static Func<TRequest, CancellationToken, SingleInstanceFactory, RequestHandlerDelegate>
GetHandlerFactory(SingleInstanceFactory factory, ref Collection resolveExceptions)
{
if (GetHandler<IRequestHandler<TRequest, TResponse>>(factory, ref resolveExceptions) != null)
{
return (request, token, fac) => () =>
{
var handler = GetHandler<IRequestHandler<TRequest, TResponse>>(fac);
return Task.FromResult(handler.Handle(request));
};
}
        if (GetHandler<IAsyncRequestHandler<TRequest, TResponse>>(factory, ref resolveExceptions) != null)
        {
            return (request, token, fac) =>
            {
                var handler = GetHandler<IAsyncRequestHandler<TRequest, TResponse>>(fac);
                return () => handler.Handle(request);
            };
        }

        if (GetHandler<ICancellableAsyncRequestHandler<TRequest, TResponse>>(factory, ref resolveExceptions) != null)
        {
            return (request, token, fac) =>
            {
                var handler = GetHandler<ICancellableAsyncRequestHandler<TRequest, TResponse>>(fac);
                return () => handler.Handle(request, token);
            };
        }

        return null;
    }

And here's my code:
public class EnqueueMessageRequest : IRequest
{
public string Key { get; set; }
public string Message { get; set; }
public Dictionary<string, string> Tags { get; set; }
}
public class EnqueueMessageHandler:IAsyncRequestHandler<EnqueueMessageRequest,bool>
{
private readonly IMessageProducer _messageProducer;
private readonly IMediator _mediator;
    public EnqueueMessageHandler(IMessageProducer messageProducer, IMediator mediator)
    {
        _messageProducer = messageProducer;
        _mediator = mediator;
    }

    public async Task<bool> Handle(EnqueueMessageRequest message)
    {
        await _messageProducer.EnqueueMessage(message.Key, message.Message, message.Tags);
        await _mediator.Publish(new StatusUpdateNotification()
        {
            Status = "Queued"
        });
        return true;
    }
}


git Diff is not working

Hii I am using nvim as prequeries and also using a updated Manjaro device .
But Unfortunately the git diff signs are not showing up... I am using the spaceline config in the examples with some tweaks.
can someone help me out ?? :blush:

@arpangreat  you need install git diff plugins one of vim-gitgutter vim-signify gitsigns

Thanks for your help


Shim maplike getStats support.

Description
Shims maplike getStats support in the three browsers, while still being backwards compatible.
Purpose
Firefox 48 adds maplike getStats support, so here is a shim that lets adapter.js users use this right away without worry.
Note: had some trouble testing this in Edge, but trouble seemed unrelated to this patch, so I put this up to see if tests succeed there.

I can test in Edge later @jan-ivar. No automated tests yet.
\o/

LGTM. (FYI ES 6 syntax template literals is fine due to all the affected browser + node js support it, we just need to be careful in adapter-core.js since it has to run in all browsers™)


[Feature] Any plan to support async and streaming?

Is this your first time submitting a feature request?

[X] I have searched the existing issues, and I could not find an existing issue for this feature
[ ] I am requesting a straightforward extension of existing functionality

Describe the feature
We will need async and streaming to integrate canopy into our app, do you have any timeline when those will be supported?
Describe alternatives you've considered
No response
Who will this benefit?
No response
Are you interested in contributing this feature?
No response
Anything else?
No response

Yes, we have plans to add async routes, we are now planning for 2024Q1/2 so we should have better estimates soon
As for streaming, can you elaborate a bit more about it? What are you trying to achieve

Same here, definitely need faster upsert methods. A bulk upload is taking forever.

@usamasaleem1 @hustxx
We agree. This is more complex than looks (the async route for upsert is actually - processing, chunking embedding and upserting) some are IO bounded, some CPU - which is always a challenge to combine
Having said that we will start working on this next week - we will update this issue as we progress 🙏

Yes, we have plans to add async routes, we are now planning for 2024Q1/2 so we should have better estimates soon
As for streaming, can you elaborate a bit more about it? What are you trying to achieve

I think streaming chatbot feature is essential, I did it on my anyscale inference and now I'm trying to move it to canopy, but i couldn't find any documentation about it. as for my anyscale chatbot i follow this docs https://docs.endpoints.anyscale.com/examples/openai-chat-agent/

@Evanrsl Canopy already supports streaming responses. It's fully built into the codebase already. It implements the same interface as the OpenAI chat completion API. If stream=True is passed in the create call, with  Canopy as the base URL instead of the Anyscale (as in your link), you'll still get a streaming response the exact same way.

@scottmx81 Thanks for your explanations, what about the model parameter? just to make sure is my code correct?
    base_url="http://<IP_ADDRESS>:8000/v1/chat/completions",
)```

chat_completion = client.chat.completions.create(
messages = "test message",
model = ???
stream = True
)


Consultation on Trie Tree Maintenance？

Hi, I have noticed that there are also two mode(input and output) in Tree class. Could you please explain why these two modes need to be set, and what operations they correspond to on the Trie tree?

We will release the nodes with the mode tag input after the generation of the current query.  We assume that the benefit of the current query's prompt to the next query is less than the gradually increasing time cost it incurs.

Thank you for your reply. Do you means that you add nodes of the current query prompt before inference in add? Then you remove these node in remove1 or remove2 after the inference done. I am not sure which one corresponds to the release process. Beside, could you explain  the function of stream_put of lookahead_cache? Thanks!

Q1: Yes.
Q2: We remove the nodes of prompts here.
Q3: stream_put is used for putting generated tokens into lookahead_cache as soon as possible rather than the final step(i.e., the put function). We use a buffer in stream_put to accumulate tokens to the length of decoding_length to avoid breaking a branch. stream_put is better than put when a response contains repeated token pieces.

Thank you very much~, I am clearly understand this part now.

Hi guys, I have another questions about Trie tree maintenance.

Why there are two kind of trees _update_trees and _update_input_trees，and what are the funtions difference between them?

I guess you add prompts into _update_input_trees and release it when finished an inference of a prompt. And the inference results will be add into _update_trees and this set will be squeezed and released after its length exceed 1024 in here, do I understand correctly?

Besides, will these release actions will affect (remove nodes or update freqs) the mem? or just affect _update_trees and _update_input_trees?

Thanks~


Fix avx512vbmi swizzle_dyn implementation

With target_features = "avx512vbmi", swizzle_dyn with N = 32 did not set output lanes to 0 when the input index was out of range, because it used _mm256_permutexvar_epi8 (vpermb) which, unlike _mm256_shuffle_epi8 (vpshufb), does not provide that behaviour.
This PR fixes the problem and adds the avx512vbmi implementation for N = 64.

Looks good to me! Thanks! FYI @workingjubilee

Thanks!


ContractCreateFlow() is missing .freezeWithSigner(), .signWithSigner(), and .executeWithSigner() methods

Description
ContractCreateFlow() is missing .freezeWithSigner(), .signWithSigner(), and .executeWithSigner() methods.
I was able to deploy a contract using the methods listed above with the FileCreateTransaction() and ContractCreateTransaction() modules.
The same contract fails to deploy when I try to freeze and execute with the signer using the ContractCreateFlow() module. I get the following error:
TypeError: (intermediate value).setConstructorParameters(...).setBytecode(...).setGas(...).freezeWithSigner is not a function
    at contractDeployFcn (contractDeploy.js:42:1)
    at async contractDeploy (App.jsx:69:1)

Steps to reproduce

open the following gitpod https://gitpod.io/#https://github.com/ed-marquez/hedera-dapp-days/tree/testing
See the code that uses ContractCreateFlow() in: src => components => hedera => contractDeploy.js
Run the application in the browser tab until contract deploy - see error occur.

Additional context
No response
Hedera network
testnet
Version
v2.14.2
Operating system
Windows

Note, ContractCreateFlow is not a transaction, so method such as signWithSigner and freezeWithSigner are not applicable; executeWithSigner does make sense though.

Got it. Thanks for clarifying. That makes sense!
How complex is this to address? Do you think a patch in the next week or two are possible? Asking to see if I can add the fix for this workshop content : )

Yea, I should be able to get this added by next release

Thank you Daniel.


chore: bdd-spring-1584908709 to 0.0.1

chore: Promote bdd-spring-1584908709 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Deploy Checklist: New Expensify 2022-08-30

Release Version: 1.1.94-4
Compare Changes: https://github.com/Expensify/App/compare/production...staging
This release contains changes from the following pull requests:

[ ] https://github.com/Expensify/App/pull/10147
[ ] https://github.com/Expensify/App/pull/10235
[x] https://github.com/Expensify/App/pull/10532
[x] https://github.com/Expensify/App/pull/10581
[x] https://github.com/Expensify/App/pull/10600
[x] https://github.com/Expensify/App/pull/10651
[x] https://github.com/Expensify/App/pull/10655
[x] https://github.com/Expensify/App/pull/10658
[x] https://github.com/Expensify/App/pull/10671

Deployer verifications:

[ ] I checked the App Timing Dashboard and verified this release does not cause a noticeable performance regression.
[ ] I checked Firebase Crashlytics and verified that this release does not introduce any new crashes.

cc @Expensify/applauseleads

Regression is completed
No blockers, but pls double check the PR issues below
PR #https://github.com/Expensify/App/pull/10235 Is failing due to https://github.com/Expensify/App/issues/10703
PR #https://github.com/Expensify/App/pull/10147 is failing due to https://github.com/Expensify/App/issues/10693
Other Issues logged
https://github.com/Expensify/App/issues/10688
https://github.com/Expensify/App/issues/10694
https://github.com/Expensify/App/issues/10697
https://github.com/Expensify/App/issues/10698
https://github.com/Expensify/App/issues/10699
https://github.com/Expensify/App/issues/10701
https://github.com/Expensify/App/issues/10704
https://github.com/Expensify/App/issues/10705

I just closed https://github.com/Expensify/App/issues/10703 out since it's not actually an issue, gonna check https://github.com/Expensify/App/pull/10235 off.

:shipit:


Fix a link check (#5293)

Pull request opened by the merge tool on behalf of #5293

Merged in a00980f4fa8845ed9297d98c3e88161949be308e


mlir_disc_builder.so needed by libtorch_blade.so is missing

Hi, I followed the doc for building bladeDISC for pytorch users, build_from_source but there's an error occured.
ninja: error: '/disc/tf_community/bazel-bin/tensorflow/compiler/mlir/disc/mlir_disc_builder.so', needed by '../../torch_blade/libtorch_blade.so', missing and no known rule to make it
Traceback (most recent call last):
  File "setup.py", line 135, in <module>
    zip_safe=False,
  File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/lib/python3/dist-packages/setuptools/command/develop.py", line 36, in run
    self.install_for_development()
  File "/usr/lib/python3/dist-packages/setuptools/command/develop.py", line 136, in install_for_development
    self.run_command('build_ext')
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "setup.py", line 73, in run
    build_temp="build/temp")
  File "/disc/pytorch_blade/cmake_build.py", line 127, in run
    self.build_extension(extdir, srcdir, build_temp)
  File "/disc/pytorch_blade/cmake_build.py", line 197, in build_extension
    ["cmake", "--build", "."] + build_args, cwd=build_temp, env=env
  File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--target', 'package', '--', '-j72']' returned non-zero exit status 1.

hi, something should be wrong when building mlir_disc_builder.so. Could you grep 'mlir_disc_builder.so' in the log and paste us what happened?


lack of compatibility with RC versions of Godot.

Describe the bug
Current branch isn't compatible with most recent release candidates versions of Godot.
To Reproduce

Just open a project that works fine with beta2 in RC4 or RC5 versions.
Alternatively, try to install the addon and open the demo scene in these versions

Expected behavior
There will be 2 lines with error in plugin.gd file.

func _handles(o: Variant) -> bool:
func _edit(o: Variant) -> void:

"The function signature doesn't match the parent. Parent signature is _handles(Object)"...
Additional context
I checked the godot documentation (latest) and both "handle" and "edit" functions refers to Object instead a Variant.
https://docs.godotengine.org/en/latest/classes/class_editorplugin.html#class-editorplugin-method-handles
I tried the obvious solution, replacing Variant to Object, but didn't work.
This addon is awesome :)

I tried updating the latest. Try testing.

Closing as stale, seems to be mostly working in 4.1


Don't warn about prerelease markers for the root package

When i get a resolution failure (uv lock) for
[project]
name = "transformers"
version = "4.39.0.dev0"

i get told:
hint: transformers was requested with a pre-release marker (e.g., any of:
  transformers<4.39.0.dev0
  transformers>4.39.0.dev0
), but pre-releases weren't enabled (try: `--prerelease=allow`)

which is misleading.

This is already fixed on main, right?

This happens with d3651c13f0a25821e486b8d9d09e6f537cb303b0:
[project]
name = "transformers"
version = "4.39.0.dev0"
dependencies = [
  "tqdm==4",
  "tqdm==3",
]

$ cargo run -q -- lock
warning: `uv lock` is experimental and may change without warning.
warning: No `requires-python` field found in `transformers`. Defaulting to `>=3.12`.
  × No solution found when resolving dependencies:
  ╰─▶ Because there is no version of tqdm==3 and transformers==4.39.0.dev0 depends on tqdm==3, we can conclude that
      transformers==4.39.0.dev0 cannot be used.
      And because only transformers==4.39.0.dev0 is available and transformers depends on transformers, we can conclude that the
      requirements are unsatisfiable.

      hint: transformers was requested with a pre-release marker (e.g., any of:
          transformers<4.39.0.dev0
          transformers>4.39.0.dev0
      ), but pre-releases weren't enabled (try: `--prerelease=allow`)

Weird, ok, thanks.


svn: Update segment to ThreadedSegment

Modeled after the git segment.

This is a duplicate of 4942ad5 (PR #298), but no dependence on the VCS icons.

LGTM. Did some basic testing, but I assume you were more thorough. Thanks!


Reopened: Warnings: Unable to ensure uniqueness

Re-opening: https://github.com/ParsePlatform/parse-server/issues/2699
The issue is not resolved for me. I am still seeing the warnings (there is no @ in my password).

Closing, I reopened the other one.

Usually happens behind a proxy or if you are working locally without an active internet connection which is somehow weird to me.

I'm working locally but have active internet and no proxy or firewall.


fix account storage count and alive bytes tests for hot storage

Problem
Add tests coverage for storage count and alive bytes tests for hot storage.
Continued on #777
Summary of Changes
Fixes #

The actual change is in the last commit.
Please only review the last change if you have already reviewed #777

No code changes. Rebased on master to pickup #777

Codecov Report
Attention: Patch coverage is 97.87234% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 81.8%. Comparing base (731d36a) to head (8b13d0f).
Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #784     +/-   ##
=========================================
- Coverage    81.8%    81.8%   -0.1%
=========================================
  Files         851      851
  Lines      231706   231710      +4
=========================================
- Hits       189676   189669      -7
- Misses      42030    42041     +11