When minimized to tray (using --tray), re-running the app should activate and focus it

Description
Once the app is minimized to tray you can open it again only from the tray icon.
The app (the same instance, especially if it was built with --single-instance) should open again when it is called to launch by any other method (shortcut, executable file etc.).
Related #304 #457
Steps to reproduce issue
nativefy with --single-instance --tray
Details

nativefying a public website
Feature request OR Bug? (moderator decides)
Full nativefier command used to build your app: nativefier -i icon.png https://example.com/ --single-instance --tray
Version of Nativefier (run nativefier --version): v7.4.1 + latest commits
Version of node.js (run node --version): v6.11.4
OS: Windows 10 64bit

@Gregory-K seems legit, and feasible (just check Electron based Skype and Slack, they both do what you are describing).

@ronjouch thanx for the revised title, I didn't give it a lot of thought.
I know it is possible and I hope for a developer to find the time to implement it.


Migrate IntentService to JobIntentService

This is the first part of resolving #72
IntentService is deprecated and it has been replaced by JobIntentService.
Not sure about the use of the explicit android:exported in AndroidManifest.

I don't think this is a good approach to running the work in the background for the activity. It needs to be replaced with a different approach. Using IntentService here wasn't a great approach but it was reliable. This isn't going to reliably run the work immediately and could cause a substantial delay for the user.

I don't think this is a good approach to running the work in the background for the activity. It needs to be replaced with a different approach. Using IntentService here wasn't a great approach but it was reliable. This isn't going to reliably run the work immediately and could cause a substantial delay for the user.

The service needs to be replaced altogether.

The service needs to be replaced altogether.


Add TypeScript definition

TypeScript integration makes the library more convenient (input completion, type checking, integration with other TypeScript-enabled libraries, etc.).

Looks great! Thanks for the PR!


Misc enhancements 2

Description
A compilation of updates I made locally. As per the commits:

Remove unnecessary configurations

Unset privileged capability
Unbind .gitconfig and .gnupg files
Set default network_mode (bridge)

Introduce compose-add-ons to place pluggable docker-compose config files. Add 3 add-ons:

nvidia-gpu
ssh-forwarding
bind-home-volume

Mount a tmpfs volume
Remove the container name option and rely on the project name (better use the docker-compose service concept)
Remove gosu (we don't need it if we use the user option)
Enhance options, help message, and the .env file
Handle container creation errors and allow force/incremental builds
Match container's uid/gid with caller user to better work with multi-user systems
Remove the entry point script because we no longer need it. I think we can add an option for a user-defined entry point in the future

Related Issues

Close #63
Close #62
Close #61
Close #60
Close #53
Close #52
Close #18

I'll merge this and try to address the user ID issue separately. Thanks for the approvals.


Public Elections

Technical Steering Committee Public Elections
This Issue is to open discussion for deciding the public election process, which will then be captured in this repositories Wiki
Starting Date: May 2020, exact date to be decided
Eligibility
An "Active Contributor" is anyone who has had a contribution accepted into the codebase:

In the 12 months prior to the end of the nomination period in order to run for the TSC
In the 12 months prior to the end of the voting period in order to vote for the TSC

Needed: A script to find all "Active Contributors" (username / email) within a time period
Process
Two (2) months for nominations
Two (2) months for voting
Managed and counted by the Executive Governance Board
Run-off elections are run if necessary
Needed: Documented Executive Governance Board
Nomination
Public nomination via GitHub Issues in this (TSC) repository
This Issue should require the following pieces of information:

Nominee Name
Nominated By
Short personal bio
Short personal pitch

Needed: An Issue template defining this
Voting
Each "Active Contributor" has one (1) vote
Voting tool needs investigation

Attributes:

Anonymous
Email tied to GitHub

Needed: Voting tool
Seats
The TSC voting members shall consist of eight (8) elected members chosen by "Active Contributors". The first TSC shall have at least six (6) members.
Needed: Nominees

Accord Project Governance Structure (DRAFT)
Elections 2020
Accord Project (AP) has three main bodies:

a Governing Board (GB) that is responsible for executive functions such as marketing, budget and other business oversight decisions for AP,
a Technical Steering Committee (TSC) that is responsible for defining and maintaining the technical vision, and
an End User Community (EUC) that is responsible for providing feedback from companies and startups to help improve the overall experience for the AP ecosystem. Each of these groups has its own defining role in AP.

The TSC responsibilities and operations are defined in the Technical Charter. The TSC is intended to be a resource of technical architects in the community that both guides the direction of AP and acts as a resource to working groups. Their role is also to help define what new working groups are accepted to AP.
Election Process
The TSC is electing 6 members. All TSC terms will be 2 years.
Elections for the TSC are held according to Bloc voting, or plurality-at-large, where each eligible voter votes for as many candidates as they feel are qualified to hold a TSC seat. The 6 candidates supported by the greatest number of voters will be elected to the open seats.
Should a tie occur, a run-off will be held between the tied candidates.
Voting for all elections is done online using Helios Voting (Used for OSI) to ensure voter anonymity and ballot integrity.
Note: When the GB and EUC is up and running we could use a system of nominations from those to ensure the TSC includes representation from those groups.
Terms of Offices
No TSC member who has served for six consecutive years is eligible for re-election until a year has elapsed.
Filling Vacant Seats
Should a TSC seat become vacant, the vacancies will be filled at the next indicative election, by electing a person for a full new term, not by serving out the vacant term.
Eligible voters
Anyone who has had a pull-request merged to an AP GitHub repository is eligible to vote.  Eligible voters will receive email notifications with instructions on how to access the online voting systems, instructions on how to complete their vote, and a list of the candidates with further information about them and their interests/qualifications.
Note: This may be tricky, if people use "fake" email addresses for their GitHub commits
Candidates
A candidate should be a senior engineer in the scope of AP, have the available bandwidth to be invested in the TSC, and be able to operate neutrally in discussions regardless of company or project affiliation. Candidates must be eligible to vote.
A one-page candidate statement should include the candidate’s qualifying experience and contact information. Candidates should submit their statements by opening a pull-request on the TSC repository.
Suggested Election Schedule 2020

June 29, 2020: Announcement of election
July 6, 2020 (00:00 UTC): Nominations open
August 3, 2020 (00:00 UTC): Nominations close
August 10, 2020 (00:00 UTC): Elections open
August 24, 2020 (00:00 UTC): Elections close
August 26, 2020 (00:00 UTC) : Run-off elections open (if needed)
August 28, 2020 (00:00 UTC): Run-off elections close
August 31, 2020: New TSC seated (results are announced)


Clicking on the text of a file after doing a global search sometimes pastes the search term into the file

Issue Type: Bug
Hello --
I have been using Visual Studio Code for over a year and have seen this problem on multiple computers and every version of Visual Studio Code that I've tried.
Before I describe the issue, I should mention that I use a Wacom Intuos 3 graphics tablet/pen instead of a mouse. I don't know if this problem also appears with using a mouse, but, as you'll see, it's tricky to trigger -- but it is repeatable, as I've accidentally done this many times and it has caused a fair amount of lost productivity.
The steps to repeat the bug are this:

Do a global find for some search term.
Double-click on one of the search results. I believe the file has to NOT already be open in Visual Studio Code for this to be triggered.
Single-click just a little bit to the right of the highlighted word in the file that has been opened in Visual Studio Code. This is the tricky part -- it appears to be perhaps a specific number of pixels to the right. If you don't click the EXACT right spot, nothing will happen.
A copy of the search term is magically pasted directly after the highlighted word.

You can see this bug in action here: https://www.youtube.com/watch?v=1o2WhDFBtbo
Note that I try to trigger the bug several times but finally get it to happen at the 45 second mark.
I don't think this is a special "feature" of the Wacom pen/tablet -- Visual Studio Code is the only application that exhibits this sort of automatic copy/paste behavior. I can't tell you how many times my global search terms have been accidentally pasted into otherwise legitimate code, so getting a fix for this would be terrific.
Thank you!
 Search doesn't copy or paste or insert anything automatically.
Is the string actually on your clipboard? If you press ctrl+v after this happens, does it paste again?

No, the string isn't on the clipboard.
I found another characteristic that makes this bug easier to replicate. Make sure you do a global search where the search term is likely to end at the end of the line. For example, if you have a c# code base, do a search for "use System;" (sans quotes). Also, I may have incorrectly stated that it appears to happen a certain number of pixels to the right. You just have to click over to the right somewhat -- beyond the area where a newline has already happened in the code.

I was able to replicate this bug with a mouse, so this is not a Wacom pen tablet-specific issue. The trick is to do this: when single-clicking with the mouse to the right of the highlighted text, move the mouse down slightly. It seems that clicking and dragging down slightly in the area beyond the newline triggers some sort of automatic copy-and-paste of the highlighted search term. This copy-and-paste doesn't appear to involve the clipboard at all.

I haven't been able to, and can't think of any way this would happen... Can you start with --disable-extensions and see if you can still repro it?

I was just reminded that we have a feature that lets you drag to duplicate selected text. Could you be pressing the alt key when this happens? Maybe the tablet triggers the alt key somehow?

I'm not intentionally pressing the alt key. I'm not ruling out that some other piece of software is doing this in the background, but I would think that I would have seen side effects in applications other than Visual Studio Code.
How do you trigger the ability to copy/paste via dragging the selected text plus pressing the alt key? Is it really that simple? I can't seem to make Visual Studio Code do that on its own.

You have to click and hold, then press alt, then drag. So if that's the cause of this, then maybe something is sending "alt" immediately after your click.
It seems to be the only possibility to me. Strange problem though.

OK, I was able to do the copy/paste via dragging as you described. Is there an option in settings where I can turn that behavior off, just to see if it makes the original issue go away?

You can try settings "editor.dragAndDrop": false

Thanks! That definitely turns off the copy/paste via dragging as you described. I can't get the original behavior I described to show up with that setting disabled, but then again, the problem always seemed intermittent. I'll keep using Visual Studio Code with that setting disabled and will report back if the original behavior shows up again.

Thanks! Will close this for now.


default_permissions_role won't work with UNO

I thought it was possible, but or it was never possible or it's a regression.
When I set
util/config system default_permissions_role social_restricted
new channels are still created with the default 'social' permission.

This mode is inconsistent with the stated goals of the UNO configuration.

I thought it was possible, but apparently I misread something.

This mode is inconsistent with the stated goals of the UNO configuration.

If those coals are to offer something familiar for people, like they maybe know from Facebook, I must tell you that on Facebook you only share posts with your friends by default. In the past posts where send by default to 'friends of friends'.

The stated goals are 1) reduce complexity and 2) ability to federate more easily with other "federated" services. social_restricted will not federate (at all) to GNU-social (coming soon). When federating to Diaspora, pump.io, w3c clients, whatever, all resources default to private permissions, so all uploaded images will show a lock by default when viewed from another network; webpages and files and chatrooms will also be inaccessible to members of these other networks without extensive manual configuration to undo the effects of 'social restricted' on each individual created web resource. Permissions and setting of permissions are a complexity we are doing away with in order to keep the interface usable by people with the IQ of a fish. You can still make things private using ACLs. But if private is the default, everything created by the channel requires zot permissions to access.  Since nobody but myself is responding to complaints about federation issues and I don't have time to deal with explaining cross platform permissions to everybody over and over again, we are defaulting to the configuration which provides the least number of support issues. Facebook does not have to deal with these issues since they don't federate with other services using different protocol stacks and different privacy implementations/policies.

Thank you for your comprehensive answer Mike. I already forgot about compatibility with 3rd party networks. Maybe an idea to put these UNO coals somewhere in short in the documentation? Have a good day.


Vis 1 and 3 Explanations and chart formatting

Changes

Added proper axis titles and formats
Worked on coloring of the items and borders.
Added some basic outline text on the visualizations.

Is this how it should look like?


Support set_safe_directory, default to auto for '.'

During zeek/zeek-af_packet-plugin#48 it became apparent that
the zkg install action is affected by git safedirs.
Unfortunately, the error wasn't immediately obvious, because
a git diff --cached reports "error: unknown option 'cached'",
while git status reports "dubious ownership". Introduce a
new parameter to add safe.directory on $(pwd) when installing
a package from a checkout via zkg install .

Output from CI in the plugin repo:
Zeek install info:
zeek: 5.1.2
zkg:  zkg 2.13.0
Installing package from '.', unversioned:
Traceback (most recent call last):
  File "/opt/zeek/bin/zkg", line 2770, in <module>
    main()
  File "/opt/zeek/bin/zkg", line 2767, in main
    args.run_cmd(manager, args, config, configfile)
  File "/opt/zeek/bin/zkg", line 591, in cmd_install
    if not check_local_git_repo(name):
  File "/opt/zeek/bin/zkg", line 368, in check_local_git_repo
    if is_local_git_repo_dirty(git_url):
  File "/opt/zeek/bin/zkg", line 360, in is_local_git_repo_dirty
    return repo.is_dirty(untracked_files=True)
  File "/usr/lib/python3/dist-packages/git/repo/base.py", line 646, in is_dirty
    len(self.git.diff('--cached', *default_args)):
  File "/usr/lib/python3/dist-packages/git/cmd.py", line 545, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/git/cmd.py", line 1011, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/usr/lib/python3/dist-packages/git/cmd.py", line 828, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(129)
  cmdline: git diff --cached --abbrev=40 --full-index --raw
  stderr: 'error: unknown option `cached'
usage: git diff --no-index [<options>] <path> <path>

This branch has been tested over in zeek-af_packet-plugin and seems to fix the issue:
https://github.com/zeek/zeek-af_packet-plugin/pull/49/checks?sha=76f8cd02f46d9dbb83109f27d4c27c431d0d0466

@ckreibich - mind looking at this? I can't request you as a reviewer.
IMO we should make this v2.0.0 / v2 and then update packages that are affected to use v2 so that in the future they will automatically get updates to v2.1, etc.

I can't request you as a reviewer.

This should now be fixed, looks like we didn't take care of that when we originally set up the repo.

IMO we should make this v2.0.0 / v2

That sounds good to me, yeah.

Arne I merged this from your corresponding branch in this repo, not your fork, without noticing. Took me a second to understand why it didn't show up as merged here. :-) The change is identical. I'll close this now.
I've also tagged v2 and v2.0.0, with a README update.

Looking good here: https://github.com/corelight/zeek-community-id/actions/runs/4257599392


9923-zookeeper-sslQuorum

Add sslQuorum and portUnification configurations to zookeeper.conf for transitioning to leader elections over tls based ports as made available by zookeeper 3.5+

Hi, I want to work on this project, can you assign me the issue please?

rebase the branch with the latest master would help on the CI

/pulsarbot run-failure-checks


Set up infrastructure for generating diagrams automatically

We will need quite a bunch of diagrams in the projects, but it's annoying to have to remember to run some script before pushing a PR (always), so using Github Actions for this stuff is perfect.
For complex diagrams, we will utilize https://draw.io (now diagrams.net), and for more straightforward diagrams, we can use PlantUML. PlantUML is good, because no online editor is needed (all changes can be made using plain text files), but draw.io is sometimes also needed for really complex setups.
Projects https://github.com/racklet/render-drawio-action and https://github.com/racklet/render-plantuml-action are made for this.
This issue can be closed when the projects have releases, and are integrated into this repo.

Anyways, there should also be scripts for (re-)generating the diagrams locally, if needed.

xref https://github.com/racklet/render-plantuml-action/pull/1 and https://github.com/racklet/render-drawio-action/pull/1

Now https://github.com/racklet/render-drawio-action/releases/tag/v1.0.0 and https://github.com/racklet/render-plantuml-action/releases/tag/v1.0.0 both are released. Next step is to integrate those into this repo's workflows.


Security issue

I didn't find any method to check input data like Prepared Statement against SQL injection attacks

Hi @khaiphan9x ,
This library only consumes the resources available by Supabase, through its API. Therefore, the security features are implemented in the Supabase/API itself.


0334 - Increasing Triplet Subsequence

Description of the Problem
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.
Formally the function should:
Return true if there exists i, j, k
such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false.
Note: Your algorithm should run in O(n) time complexity and O(1) space complexity.
Example 1:
Input: [1,2,3,4,5]
Output: true
Example 2:
Input: [5,4,3,2,1]
Output: false
Code
class Solution:
    def increasingTriplet(self, nums: List[int]) -> bool:
        first = second = float('inf')
        for n in nums:
            if n <= first:
                first = n
            elif n <= second:
                second = n
            else:
                return True
        return False

Link To The LeetCode Problem
Increasing Triplet Subsequence

Please assign this to me

@deekal7 Waiting for your PR 😸


[sbt 1.0] Configure scripted to do less

Particularly doesn't compile, package and publish source and doc jars.
Fixes #2648

LGTM


Add comment functionality

Description:
Allow user to comment on a post, to share their thoughts on a post.


First version of the protocol - team La Chouffe

Hi @open-sci/la-chouffe,
As anticipated in the lecture held on Wednesday, you have to create the first version of your workflow using Protocols.io. It must be created within the Protocols.io workspace "Open Science 2021/2022" that has been shared with you (via the invitation link) on Slack. Please, click on such a link to be added as members of the workspace and then log in to Protocols.io using your ORCID.
The workflow should describe how you are going to address the research question related to your project. In particular, you
should focus on the steps to follow to produce your output data (including explicit mentions to existing data and methods reused) and how these will be then analysed (e.g. by indicating which statistical tool or visualisation you will adopt) to answer your research question.
Once your first version of the workflow is finalised, please publish it using the Protocols.io interface. Then, close this issue by attaching in the comment the clickable DOI URL (https://doi.org/...) of the first version of the workflow.
For further doubts, do not hesitate to contact me in the Slack group.

Hello, this is our protocol: dx.doi.org/10.17504/protocols.io.kxygxz7ywv8j/v1


Created ec2 instances cannot join the cluster

Description
The created nodes cannot join the cluster.
Here is my configuration:

module "e2e-cluster" {
  source                                   = "terraform-aws-modules/eks/aws"
  version                                  = "20.20.0"
  authentication_mode                      = "API"
  cluster_additional_security_group_ids    = [aws_security_group.e2e_allow_all_traffic_from_vpn.id]
  cluster_encryption_config                = {}
  cluster_endpoint_private_access          = true
  cluster_endpoint_public_access           = false
  cluster_name                             = "${local.e2e-cluster.name}-al2023"
  cluster_service_ipv4_cidr                = "<IP_ADDRESS>/16"
  cluster_version                          = "1.30"
  enable_cluster_creator_admin_permissions = true
  enable_irsa                              = false
  iam_role_description                     = "${local.e2e-cluster.name}-EKS IAM Role"
  subnet_ids                               = ["subnet-123456", "subnet-123456", "subnet-123456", "subnet-123456"]
  control_plane_subnet_ids                 = ["subnet-123456", "subnet-123456", "subnet-123456", "subnet-123456"]
  vpc_id                                   = aws_default_vpc.us-west-2.id
  tags                                     = local.e2e-cluster.tags
  access_entries = {
    power_users = {
      kubernetes_groups = []
      principal_arn     = "arn:aws:sts::123456:assumed-role/AWSReservedSSO_PowerUser_XXXXXXX"
      cluster_admin_policy = {
        # FROM https://docs.aws.amazon.com/eks/latest/userguide/access-policies.html#access-policy-permissions-AmazonEKSAdminPolicy
        policy_arn = "arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy"
        # FROM https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-accessentry-accessscope.html
        access_scope = {
          type = "cluster"
        }
      }
    }

    helm = {
      kubernetes_groups = []
      principal_arn     = aws_iam_role.e2e-github-charts.arn
      cluster_admin_policy = {
        policy_arn = "arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy"
        access_scope = {
          type = "cluster"
        }
      }
    }
  }
  cluster_addons = {
    coredns = {
      most_recent = true
    }
    eks-pod-identity-agent = {
      most_recent = true
    }
    kube-proxy = {
      most_recent = true
    }
    vpc-cni = {
      most_recent = true
    }
  }

  eks_managed_node_group_defaults = {
    attach_cluster_primary_security_group = true
    capacity_type                         = "SPOT"
    desired_size                          = 1
    iam_role_additional_policies          = ["arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForAmazonEKSNodegroup", "arn:aws:iam::aws:policy/aws-service-role/AmazonEKSServiceRolePolicy"]
    max_size                              = 5
    min_size                              = 1
    subnet_ids                            = ["subnet-123456", "subnet-123456", "subnet-123456", "subnet-123456"]
  }

  eks_managed_node_groups = {
    e2e_x86 = {
      ami_type       = "AL2023_x86_64_STANDARD"
      instance_types = ["m5.xlarge"]
      labels = {
        "node-type" = "x86"
      }
    }
    e2e_arm = {
      ami_type       = "AL2023_ARM_64_STANDARD"
      instance_types = ["m6g.xlarge", "t4g.xlarge"]
      labels = {
        "node-type" = "arm"
      }
    }
  }
}

[x] ✋ I have searched the open/closed issues and my issue is not listed.

Versions

Module version [Required]:
20.20.0
Terraform version:
1.5.7
Provider version(s):

aws: 5.60

Expected behavior
The cluster to be in a ready state
Actual behavior

Additional context
From the created node, we have this output
[root@ip-172-31-22-123 ~]# journalctl -u nodeadm-config.service
Aug 06 21:02:15 localhost nodeadm[1683]: {"level":"info","ts":1722978135.6495047,"caller":"init/init.go:68","msg":"Enriching configuration.."}
Aug 06 21:02:15 localhost nodeadm[1683]: {"level":"info","ts":1722978135.6495216,"caller":"init/init.go:148","msg":"Fetching instance details.."}
Aug 06 21:02:15 localhost nodeadm[1683]: SDK 2024/08/06 21:02:15 DEBUG attempting waiter request, attempt count: 1
Aug 06 21:02:47 localhost nodeadm[1683]: SDK 2024/08/06 21:02:47 DEBUG retrying request EC2/DescribeInstances, attempt 2
Aug 06 21:03:20 localhost nodeadm[1683]: SDK 2024/08/06 21:03:20 DEBUG retrying request EC2/DescribeInstances, attempt 3
Aug 06 21:03:50 localhost nodeadm[1683]: SDK 2024/08/06 21:03:50 DEBUG max retry attempts exhausted, max 3
Aug 06 21:03:50 localhost nodeadm[1683]: {"level":"fatal","ts":1722978230.8642213,"caller":"nodeadm/main.go:36","msg":"Command failed","error":"expected err to be of type smithy.APIError, got operation error EC2: DescribeInstances, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , request send failed, Post \"https://ec2.us-west-2.amazonaws.com/\": dial tcp <IP_ADDRESS>:443: i/o timeout","stacktrace":"main.main\n\t/workdir/cmd/nodeadm/main.go:36\nruntime.main\n\t/root/sdk/go1.22.5/src/runtime/proc.go:271"}
Aug 06 21:03:50 localhost systemd[1]: nodeadm-config.service: Main process exited, code=exited, status=1/FAILURE
Aug 06 21:03:50 localhost systemd[1]: nodeadm-config.service: Failed with result 'exit-code'.
Aug 06 21:03:50 localhost systemd[1]: Failed to start nodeadm-config.service - EKS Nodeadm Config.

from this node, running aws ec2 describe-instances hangs and never returns.

Found the solution.
There was an ec2 endpoint in our VPC, but the nodes security group was not added to it. So by some magic, this endpoint became default in our VPC, but i did not knew.
Thanks!


OVPN problem

First of all, let me congratulate you, because this program is really fantastic. I only used fzf, but yours is much nicer :)
However, I ran into a problem. For me, the beginning of the config file looks like this:
Host *
	Protocol 2
	IdentityFile ~/.ssh/nio
	Match host SAMBA exec "nmcli connection up TRS 2> /dev/null"
	Match host ICINGA2 exec "nmcli connection up TRS 2> /dev/null"

What this does is open an opvn connection for the listed servers. This works fine. However, when I exit the server, the OVPN connection does not terminate. Is there a way to tell the command to run a local command when I exit the server? I have an script, when solved this problem, if I use base ssh command:
#!/bin/bash

eval ssh '$@'
rc=$?
nmcli connection down TRS > /dev/null 2>&1
exit "$rc"

Hello! This seems like an ssh issue and not sshs isn't it? I don't think there is an "exit" match trigger in ssh.
I wonder if you can use LocalCommand to execute a command after the session is terminated 🤔

Hello! This seems like an ssh issue and not sshs isn't it? I don't think there is an "exit" match trigger in ssh.
I wonder if you can use LocalCommand to execute a command after the session is terminated 🤔

Sorry. I modified the original post because I solved closing OVPN with an ssh wrapper. I included the script for this in the first post. So it would actually be just a feature request to have an option to enter a command when you exit a server. Localcommand is not good for this because it runs immediately upon connection. I use it to display in color which server I have connected to. So this ticket is only feature request.

Something like sshs --onexit would match your need?

Hey! It will be available in the next release. Here is an example for your use-case:
sshs --on-session-end-template='bash -c "nmcli connection down TRS > /dev/null 2>&1"'

It's an handlebars template like the --template option so you can pass the host's informations like the host's name
sshs --on-session-end-template='echo "{{ name }}"'

Let me know if that works for you :)

Hey! It will be available in the next release. Here is an example for your use-case:
sshs --on-session-end-template='bash -c "nmcli connection down TRS > /dev/null 2>&1"'

It's an handlebars template like the --template option so you can pass the host's informations like the host's name
sshs --on-session-end-template='echo "{{ name }}"'

Let me know if that works for you :)

Whoa! Working fine! Thank u so much. Now it is almost perfect :)


BackAndroid without Redux and nested Navigator

Hello,
I having a problem with the BackHandler after some action. I'm using all of 3 navigators. Like this :
I'm not using Redux, so the BackHandler is manage by the lib.
DrawerNavigator {
  screen1 : StackNavigator {
    subscreen1: TabNavigator {
      tab1: Component
      tab2: Component
    }
    subscreen2: Component
  }
  screen2: Component
}

Working path
When I follow this path : screen1 (tab1) > tab2 > subscreen2 and try to go back, it works well 👍
Not working path
When I follow this path : screen1 (tab1) > screen2 > back to screen1 (tab1) > tab2 > subscreen2, when I press the back button, nothing happen, I have to press a second time to back.
The things is after the back, I'm not redirected to tab2 but to tab1. So I guess the first time I press on the back button, it moves the state of TabNavigator from tab2 to tab1 and the second press unmount the subscreen2 screen.
Hypotheses
I've not special ideas about this, maybe it's because I re-render something I should not ?

software
version

react-navigation
1.0.0-beta.11

react-native
0.42.0

node
8.2.1

npm or yarn
yarn

export const DeliveriesTabsNavigator = TabNavigator(
  {
    proposed: { screen: DeliveriesProposed },
    accepted: { screen: DeliveriesAccepted }
  },
  {
    tabBarOptions: {
      activeTintColor: Platform.OS === 'ios' ? colors.blue : colors.white,
      labelStyle: {
        fontSize: 14
      },
      style: {
        ...Platform.select({
          android: {
            backgroundColor: colors.blue
          }
        })
      },
      indicatorStyle: {
        ...Platform.select({
          android: {
            backgroundColor: colors.white,
            height: 3
          }
        })
      }
    }
  }
)

export const AppContent = StackNavigator(
  {
    deliveries: {
      screen: DeliveriesContainer
    },
    details: {
      screen: Details
    },
    statusPlayer: {
      screen: StatusPlayer
    },
    signaturePad: {
      screen: SignaturePad
    }
  },
  {
    headerMode: 'screen',
    gesturesEnabled: false
  }
)

export const LoggedRouter = DrawerNavigator(
  {
    deliveries: {
      screen: AppContent
    },
    selectTransportation: {
      screen: StackNavigator(
        {
          selectTransportation: {
            screen: SelectTransportations
          }
        },
        {
          headerMode: 'screen'
        }
      )
    }
  },
  {
    contentComponent: props => <DrawerContent {...props} />
  }
)

Thanks for your help !

I found the issue, it's related to the fact I render by myself the TabNavigator. Let me explain :
deliveries: {
  screen: DeliveriesContainer <- This is a component which render TabNavigator
}

I've made something like this because, I didn't want to make each tab calling componentDidMount twice, (fetching data which is split into tabs).

I end up by creating an HOC for the 2 tabs and give directly the TabNavigator to the screen config .
deliveries: {
  screen: DeliveriesTabsNavigator
}


ELM <-> CDATA

Establish test connection between ELM & CDATA.

Successfully established the connection between ELM (Non-Prod) to CDATA.
Tested via node pinging successfully.


Improve Docker developer experience

During work on #83, I made a few changes that I wanted to share in case they would be useful. Namely:

721ca21 adds a .dockerignore file to increase image build efficiency. The biggest impact this has is that it prevents copying the host system's bulky node_modules into the Docker context, drastically reducing the time required to build the image.

b3928fd adds an NPM script which builds the docker image and runs the integration test command with the snapshots directory mounted into the container. The goal of this change was to shorten the steps required for running and updating tests. I'm not sure the NPM script name, test:integration-in-docker, is ideal but happy to update it if you'd like.

Thanks!

Hi @Swingline0, I was always thinking to improve this but never had a chance to do it. Thanks for putting this together

You bet, @NimaSoroush! I suppose with the new NPM script, the contribution guidelines could also be updated. All that said, I would love if you could give this command a test on your end just to make sure it all works as expected.

I just tried that script locally. I think we still need another script to trigger the integration test only
...
    "jest:integration": "jest --testPathPattern integration.test",
    "test:integration": "docker build -t differencify . && docker run --volume \"$(pwd)/src/integration.tests\":/differencify/src/integration.tests -t  differencify npm run jest:integration"
...

Long term plan would be great to have everything as docker-compose

Ok, I see what you mean by that. Let's stick with docker for now then.
Thanks for updating. All LGTM, will merge

Ahh, We need to update circleCi to not run test:integration and instead run jest:integration

Otherwise CI failing https://circleci.com/gh/NimaSoroush/differencify/179

Updated circleCI script, and bumped the version 😀

Uggghhhh... the paths are different in the detailed output!

So I assume a new PR will all fixes, right?

All good now via bee9df5a86884872712bdd1d2d3eb4b0a5039dba

Yeah. All good now. Thanks a lot @Swingline0
I will just publish the latest changes to npm

Thanks!

https://www.npmjs.com/package/differencify


Fix name of protoc_gen_star_v2 repo

When this project is used in a repo that uses Gazelle, the build fails with the following error:
https://github.com/bufbuild/protoc-gen-validate/issues/535#issuecomment-1502495032
That error was introduced when protoc_gen_star was updated to v2 in https://github.com/bufbuild/protoc-gen-validate/pull/783
and dependencies.bzl was (I believe) manually updated.
Should gazelle be used to update dependencies.bzl, it would choose com_github_lyft_protoc_gen_star_v2 as a name for the repo, as I showed here:
https://github.com/alexbozhenko/protoc-gen-validate/pull/1
This PR updates all references to that repo to use the correct name, which is expected by Gazelle.
PR was created with:
sed -i 's/com_github_lyft_protoc_gen_star/com_github_lyft_protoc_gen_star_v2/g' $(rg -l com_github_lyft_protoc_gen_star)

@pdecks, @elliotmjackson do you mind taking a look?

@rodaine Could you please cut a new minor release that includes this fix? Would it be a lot of work?

No problem: https://github.com/bufbuild/protoc-gen-validate/releases/tag/v1.0.2


Versioning Interface / Machine

What was changed
Add check_version command
Why?
Users sometimes version their workflows! :astonished:
Checklist

Closes

How was this tested:

Any docs updates needed?

I don't see an activation with the response to lang.
I want to support a synchronous method in node but if we use commands and activations we have to make the method async.
One way I thought we could work around this is if we send an activation to lang to turn the marker on ahead of time in case of replay, I'm not sure this can be done reliably.
Another thing to consider with this new flag mechanism is that lang only needs to set it once with the latest value and from that moment on the WF can just assume the flag is on for the duration of the run unless it sees a different marker.
Let's discuss this soon.
Another thing that we have to figure out is how to help users query their WF histories for markers so they know when it's safe to deploy each version of their WF.
Maybe if the marker is registered on WF startup that would give us enough information because then you can easily query for histories without a marker.

Something else that the server can help out with is verifying that the user incremented the Workflow version by comparing the content hash with the previous version's content hash.


Complex Portal xrefs that got missed in AC update

@tonysawfordebi
Please see xrefs in
https://www.ebi.ac.uk/QuickGO/term/GO:0090733
They contain the old EBI-xxxxxxx numbers and are mapped to IntAct which gives 0 results - because they are complexes. If you copy/paste the ACs into the CP they are valid.
I think we missed something when we did all the updates.
We should also populate the description with the shortlabel.
In fact, the CP xrefs are generally still missing, e.g.
https://www.ebi.ac.uk/QuickGO/term/GO:0070187
should have a link to https://www.ebi.ac.uk/complexportal/complex/CPX-152
I know there was a bug that stopped the xrefs from showing in the recent version of QuickGO but I thought it was fixed. Evidentially not.
Apologies, if this is not the right tracker.

We need a GO editor to fix the xrefs in the ontology itself; we were only able to update the identifiers in annotations in our database.
Not sure who's the most appropriate person to tag here, so I'll just pick @pgaudet at random...

Thanks, Tony. Not sure I believe that tagging Pascale was a random action ;-)
Pascale, or whoever if going to look at this, it may require a skype call and screenshare to explain what's happening - or not happening in this case.

Looks like we have two xref formats:
IntAct:EBI-##########
ComplexPortal:CPX-###

The latter is the correct format (ComplexPortal:CPX-###) since we changed out ACs. We changed all annotation files and I assumed (how silly of me!) that the xrefs would be captured as well. However, I don't know where QuickGO takes them from, as we used to import them from one of our files, not just the dbxrefs we supply for new terms. There was a pipeline for the old QuickGO site and when the new site came online it didn't work anymore. But there is a placeholder for Complexes in the navigation bar! Maybe we have to produce a new pipeline using one of our new files. ComplexTab would be the easiest.

can the prefix be substituted in the go editors file or is a mapping table required?

No, the data for the Protein Complex section in QuickGO should come from one of our release files but during the update of QuickGO and the CP release files something broke. I never knew where the old xrefs came from as they got put in before my time. I just know that they disappeared at some point.
I also don't know what happens to the dbxrefs that we add when we request new terms but they are not exhaustive as new complexes get released that map to the same GO terms.
The new GPAD is insufficient as that only contains complexes with full annotations and a lot of historic entries lack the Reference and Evidence fields so are excluded from the GPAD. Here we just need the mapping of CP complex is_a GO complex.

I've just had a look at the code to remind myself how all this stuff works, and I can now confirm that in QuickGO's term page, the content of the Cross-references section comes from what we find in the ontology itself, while the content of the Protein Complexes section is derived from annotations between ComplexPortal IDs and GO terms that are descendants of GO:0032991. In this latter category we have a grand total of 26 entries, namely:

GO ID
GO Term
ComplexPortal ID
Complex Name

GO:0000333
telomerase catalytic core complex
CPX-17
Telomerase catalytic core complex

GO:0000333
telomerase catalytic core complex
CPX-19
Telomerase catalytic core complex

GO:0005669
transcription factor TFIID complex
CPX-915
General transcription factor complex TFIID

GO:0005697
telomerase holoenzyme complex
CPX-17
Telomerase catalytic core complex

GO:0005890
sodium:potassium-exchanging ATPase complex
CPX-57
Sodium:potassium-exchanging ATPase complex

GO:0008076
voltage-gated potassium channel complex
CPX-3073
Voltage-gated potassium channel complex variant 2

GO:0034098
VCP-NPL4-UFD1 AAA ATPase complex
CPX-136
Vcp-Npl4-Ufd1 AAA ATPase complex

GO:0034098
VCP-NPL4-UFD1 AAA ATPase complex
CPX-138
Vcp-Npl4-Ufd1 AAA ATPase complex

GO:0034245
mitochondrial DNA-directed RNA polymerase complex
CPX-3146
Mitochondrial DNA-directed RNA polymerase complex

GO:0034688
integrin alphaM-beta2 complex
CPX-1826
Integrin alphaM-beta2 complex

GO:0036488
CHOP-C/EBP complex
CPX-60
CHOP-C/EBPalpha complex

GO:0070522
ERCC4-ERCC1 complex
CPX-478
ERCC1-XPF endonuclease complex

GO:0070522
ERCC4-ERCC1 complex
CPX-491
Ercc1-Xpf endonuclease complex

GO:0070578
RISC-loading complex
CPX-134
RISC-loading complex, TARBP2 variant

GO:0070877
microprocessor complex
CPX-3080
Microprocessor complex

GO:0071818
BAT3 complex
CPX-132
BAT3 complex

GO:0097123
cyclin A1-CDK2 complex
CPX-2005
Cyclin A1-CDK2 complex

GO:0097124
cyclin A2-CDK2 complex
CPX-2006
Cyclin A2-CDK2 complex

GO:0097134
cyclin E1-CDK2 complex
CPX-2015
Cyclin E1-CDK2 complex

GO:0097135
cyclin E2-CDK2 complex
CPX-2016
Cyclin E2-CDK2 complex

GO:1990590
ATF1-ATF4 transcription factor complex
CPX-7
ATF1-ATF4 transcription factor complex

GO:1990590
ATF1-ATF4 transcription factor complex
CPX-9
ATF1-ATF4 transcription factor complex

GO:1990666
PCSK9-LDLR complex
CPX-128
LDLR-PCSK9 complex

GO:1990667
PCSK9-AnxA2 complex
CPX-130
ANXA2-PCSK9 complex

GO:1990730
VCP-NSFL1C complex
CPX-263
Nsfl1c-Vcp complex

GO:1990879
CST complex
CPX-2129
CST complex

Ok, far too few. We need to sit down and check what comes from where. I'll email you.

@bmeldal I suppose we wait for the full list before doing anything here ?

Question for editors WRT Point 1 above: looks like annotations were used to populate xreferences in the ontology - I was not aware that there was such a process - is this OK? What else get added ?

Some background:

Some annotations using CP entity as an annotation subject and a GO CC-complex as a GO term exist in P2GO (see list of 26 above). These cannot be made anymore. What should we do with existing ones?
In CP cross references are added, including GO CC-complex terms. These not integrated in the GPAD file, so are not part of the annotation set that we import. This results in 1515 legit xrefs that are not imported into GO (and that number will keep on increasing as CP annotated more complexes).

Proposition for managing dbxreferences have been moved to #16553
Annotation removal will be moved to the annotation tracker (ie the 26 CP AC to GO term xrefs in the ontology that were annotated in P2GO before 20/4/18)

@bmeldal When everything has been moved to new tickets, please close.
Thanks !


Pseudocode defns

Files:

pseudocode_defns.tex -- LaTeX document with definitions
pseudocode_defns.pdf -- PDF generated from pseudocode.defns.tex

This upload contains definitions of terms that appear in the pseudocode sections of the proofs we have written. As we write more proofs in the future, more terms will be added as they come up. Much of the content is inherited from last year's interns, Sílvia, Grace, and Connor.
During the definition creation process, some questions arose. They are noted in the tex file using the format "\questionr{...}". The questions also appear in the pdf file generated from the tex file; they are displayed in red text and are prepended by "Question for reviewers:" in blue text.
Feel free to reach out here or on Slack with any questions. Thanks!
Note: let us know where you want this in the repo!

I think the file structure here should get the same treatment as the randomized response proof PR-- but it will need to be split up. There's a section on domains, it can go in core/domains/mod.tex. Similarly metrics and measures in core/metrics/mod.tex and core/measures/mod.tex. Traits and samplers into /traits/... Any common code goes into an include file to avoid duplication.
Looking through this file, a number of the pseudocode definitions duplicate traits, like InfLn and inf_ln. I really want to avoid this kind of duplication. How about the trait definition lists the functions it provides, so that both definitions are in the same place? This should pare the functions section down significantly.
There are still two categories of functions that aren't supplied by traits:

impl's on the type itself. An example of this is is_some.
python builtins like len, map.

For now, it seems like we'll still have a separate pseudocode definitions document that ties these functions to rust documentation.

I think the scope of this document should be reduced.

Types are redundant with Rust documentation. I think we should not try to duplicate Rust docs
Domains have been moved into  domains/mod.rs and can be removed
subdomains are implemented in #604. After this PR, we should open PRs to "prove" the MetricSpace trait impls as valid pairings.
keep the mention that Clone, Copy and 'static need not be discussed in the proof
Functions in the pseudocode language are supplied by traits specified in preconditions, or by the type itself
preserve the notes about assert, list and other pseudocode-specific shorthands
rename Classes to Core Structures, drop the pseudocode with preconditions sections, add type hints instead

Measurements don't have output_domain anymore
Add Odometer

Metrics has been moved into metrics/mod.rs and can be removed
Measures has been moved into measures/mod.rs and can be removed

Should also mention that arguments must adhere to type hints- they are not just hints, like they are in Python. A value's type must adhere to the type hint.


Rank3 Type Projection

I've been playing around with rank3 constructors and inferring for ?[_[_]] seems to not work with the plugin currently. Or at least at my understanding of it.
Currently I need
// Constructor
final case class EitherR3[F[_[_]], G[_[_]], H[_]](run: Either[F[H], G[H]])

// Type Project Required
type EitherR3Partial[F[_[_]], G[_[_]]] = EitherR3[F, G, H]
new typeclasses.BifunctorR3[EitherR3Partial]{
 def bimapR3[M[_[_]], N[_[_]], Y[_[_]], Z[_[_]]](fa: EitherR3Partial[M, N])(f: M ~~> Y, g: N ~~> Z): EitherR3Partial[Y, Z] =
  fa.bimapR3(f, g)
}

// What I would like
BifunctorR3[EitherR3[?[_[_]], ?[_[_]]], H]

Does this seem doable/reasonable?

Assuming H is a type defined in the surrounding context, you seem to have just a misplaced bracket. Change
BifunctorR3[EitherR3[?[_[_]], ?[_[_]]], H]

to
BifunctorR3[EitherR3[?[_[_]], ?[_[_]], H]]

Whenever I try to assign that I get the following error.
not found: type ?
There is a following error, but is seems to be caused by the first.
<error> takes no type parameters, expected: one in reference to the positions of the ?[_[_]]
Whenever I try to apply the ? in rank3 position it no longer seems to infer correctly.

Hmm, what about the long form
BifunctorR3[λ[(F[_[_]], G[_[_]]) => EitherR3[F, G, H]]]

?

Please, try the fresh 0.9.9 release.


Can't construct Graphene.Point

When trying to do the following:
new Graphene.Point({x: 0.5, y: 0.5})

Typescript throws an error: Expected 0 arguments, but got 1.
However, constructing a point like that works, and is widely used in js extensions:
https://sourcegraph.com/search?q=context:global+graphene.point(&patternType=keyword&sm=0

Same thing happens when trying to construct Gdk.RGBA by passing color values into the constructor.

@flexagoon I have tested this with @girs/graphene-1.0 v1.0.0-4.0.0-beta.5 and here are the types correct. I think it's time to make this version stable

Can confirm this works fine in the latest version


Make the process more digestible for the reader

This pull request is to make the process easier to read without changing any of the content or meaning of the actual process. Why is this important? Making the process easier to read means that it is more accessible and therefore more likely that it is actually used as a tool to help us work together.
The section above detailing 'what is Solid?' is taken word for word from the website copy on solidproject.org submitted and approved by @timbl. The definitions of WebID and Pod are taken directly from solidproject.org/faq. This is not a pull request to debate what is Solid, of the key definitions, it is simply a place to record the latest copy. If you are interested in discussing the actual content I would encourage you to submit a pull request to the homepage or FAQ of the website and we can align this process copy if there are any agreed changes there.
The definitions of specification, standard, and protocol are taken from the Merriam-Webster dictionary so if there is a prefered dictionary this would be possible to use.  Suggestions on preferred dictionaries welcome.
Solid App, Solid community, Solid ecosystem, and Solid Panels are newly created definitions based on the copy in the process or deductions of it so here input would be welcome via this pull request. The reason I included these terms is because they are used very often on the chat forums so it would be helpful to have a go-to definition.
The Solid Team is taken from solidproject.org/team. This is not a pull request to discuss if we should call it Solid Team or something else, that should happen on the website. As soon as there is a change on the website we can update it here too. The intention here is to have an accurate record of how to make decisions together as a team. The text on the Solid Team is designed to summarise what was being repeated with every role in the previous process which made reading it very repetitive and numbing. By stating it once at the top the hope is that it will be more easily digestible by the reader.
The explicit role definitions and listed responsibilities are an attempt to record the actual reality, feedback on this is welcome, also additional roles and responsibilities that I have not mentioned but you feel should be added.
Under the Solid Specification, "stakeholders" and "contributors" have been moved up to definitions.
Apart from isolating the role and responsibility descriptions along with how individuals can apply, get appointed and what they get access to, the copy around specification proposals and review of proposals is untouched.
Just to restate - the aim of this pull request is not to fundamentally change any of the processes but to make it easier to read so that more people can use it to work together effectively.

@justinwb you mentioned that you were worried that this changed the process rather than only the language. Please feel free to close this pull request and start from scratch at writing the process in a way that is more readable without altering the actual meaning of the process.

this pull request has been replaced by https://github.com/solid/process/pull/216


Session metadata error – very low success rate

Related to those issues on individual errors:
https://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/490
https://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/491
https://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/493
I have been handing/uploading all data acquired between 20240528-yesterday, that should have rig and session metadata, and realized that session.json generation failure rate seems very high (86/393 >20%). I think this should be fix with high priority.
@XX-Yin @alexpiet are you two working on this?
As I'm working on back-filling rig+session for old data (2024 early and 2023 late) (see this issue: https://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/482), I will test if those "failed" session can be easily rescued by similar back-filling operation.
adding @rachelstephlee , who told me that she is happy to help to be familiar with data structure etc.

@XX-Yin said he will take care of the session metadata errors.

I can make updates.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Alex Piet @.>
Sent: Monday, July 1, 2024 8:59:58 AM
To: AllenNeuralDynamics/dynamic-foraging-task @.>
Cc: Xinxin Yin @.>; Mention @.>
Subject: Re: [AllenNeuralDynamics/dynamic-foraging-task] Session metadata error – very low success rate (Issue #569)
@XX-Yinhttps://github.com/XX-Yin said he will take care of the session metadata errors.
—
Reply to this email directly, view it on GitHubhttps://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/569#issuecomment-2200528585, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2CTX5Q54K3QAYPDYQSWD6LZKF4H5AVCNFSM6AAAAABKDBAB6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBQGUZDQNJYGU.
You are receiving this because you were mentioned.Message ID: @.***>

@alexpiet @hagikent
Started working on backfiling session.json for session that failed to generate metadata.
Could you point me to example dialog_metadata_file? What exactly am I supposed to provide in addition to the main json_file to generate_metadata?

I will be out of office in the remaining days of this week. It’s very straightforward and I can show you next week. I will try to make updates on session metadata on weekends if I am still energetic, otherwise will update it next week.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Kenta M. Hagihara @.>
Sent: Wednesday, July 3, 2024 12:56:44 AM
To: AllenNeuralDynamics/dynamic-foraging-task @.>
Cc: Xinxin Yin @.>; Mention @.>
Subject: Re: [AllenNeuralDynamics/dynamic-foraging-task] Session metadata error – very low success rate (Issue #569)
@alexpiethttps://github.com/alexpiet @hagikenthttps://github.com/hagikent
Started working on backfiling session.json for session that failed to generate metadata.
Could you point me to example dialog_metadata_file? What exactly am I supposed to provide in addition to the main json_file to generate_metadata?
—
Reply to this email directly, view it on GitHubhttps://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/569#issuecomment-2205339711, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2CTX5SC73CX2IW4P25HKBDZKOVDZAVCNFSM6AAAAABKDBAB6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBVGMZTSNZRGE.
You are receiving this because you were mentioned.Message ID: @.***>

The code to generate the metadata is confusing. @XX-Yin should be able to help.
The main code generates the metadata by this call:
foraging_gui.generate_metadata(Obj=Obj)
So all of the information should be in that dictionary. Which should have a key meta_data_dialog, which gets populated by this call: self.Metadata_dialog.meta_data
You can see the fields that should be there by looking for that key in a saved session:

Which is also the fields of the metadata popup window

Let me know if you need more help

[like]  Xinxin Yin reacted to your message:

From: Kenta M. Hagihara @.>
Sent: Wednesday, July 3, 2024 6:13:53 PM
To: AllenNeuralDynamics/dynamic-foraging-task @.>
Cc: Xinxin Yin @.>; Mention @.>
Subject: Re: [AllenNeuralDynamics/dynamic-foraging-task] Session metadata error – very low success rate (Issue #569)
Thanks both. I see both straightforward and confusing 😂
I think I sort of got high-level concept now. I was using/calling foraging_gui.generate_metadata as a standalone script (not as a function) and was confused why info to be ingested into metadata have to be separately fed from two json files. Understandable that most of them are ephys specific.
@XX-Yinhttps://github.com/XX-Yin
I will try this later this week and get back to you if I cannot fully figure out by next week. Have a good 7/4 week.
—
Reply to this email directly, view it on GitHubhttps://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/569#issuecomment-2206931227, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2CTX5VFUO2KLYA7Y7O5YILZKQ5ODAVCNFSM6AAAAABKDBAB6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBWHEZTCMRSG4.
You are receiving this because you were mentioned.Message ID: @.***>

@hagikent
To backfill the session metadata, you can follow steps below. Please let me know if it works.

fill out the session metadata dialog.

save the session metadata dialog by clicking the save button in the dialog. The data will be saved to C:\Users\user_name\Documents\ForagingSettings\metadata_dialog.
run generate_metadata. And you need to provide the behavior json file, dialog_metadata_file saved in the step 2 and the output_folder. One example is shown below:
generate_metadata(json_file=r'Y:\715083\behavior_715083_2024-04-26_17-12-15\behavior\715083_2024-04-26_17-12-15.json', dialog_metadata_file=r'C:\Users\xinxin.yin\Documents\ForagingSettings\metadata_dialog\323_EPHYS3_2024-05-13_12-38-51_metadata_dialog.json', output_folder=r'F:\Test\Metadata')

thanks @XX-Yin
I'm trying NOT to use the GUI; I need to reduce manual steps.
The number of sessions missing session.json after 240528- is not so much and manually patching one-by-one is likely fine.
However, I need to backfill metadata for data from late2023 and early2024 and I cannot do this manual steps for all of them.
Let me try differently and get back to you if need some help/clarification.

thanks @XX-Yin I'm trying NOT to use the GUI; I need to reduce manual steps.
The number of sessions missing session.json after 240528- is not so much and manually patching one-by-one is likely fine. However, I need to backfill metadata for data from late2023 and early2024 and I cannot do this manual steps for all of them.
Let me try differently and get back to you if need some help/clarification.

You don't need to fill out all fields in the session metadata dialog. Probes, Left lick sprout reference positions, Stick microscopes  and Protocols.io ID are optional.

I made it work without using the GUI to generate the metadata_dialog file.
I sort of agree with @alexpiet saying that this is confusing – information to be ingested into rig.json and sessions.json are intermingled/spread around in both dialog.json and the main-json (nnnnnn_YYMMDDTTTTTjson). And most confusing part to me was that the main-json has Metada_dialog key; very intertwined. I suppose this is because of
some historical/development-trajectory reasons but not very straightforward for those who didn't know the history.
Longer-term, this should be refactored by incorporating AIND-mapper.
For now, I made a minimal generic dialog.json stab, and a snippet to generate only session.json. By this, you only need to feed the main-json to produce sessions.json, most practical converter function for the backfilling purpose.
Will execute the backfilling process and upload remaining data (2023late, 2024early, session-missing-after20240528) by the end of this week.

@hagikent
Glad to see that you can backfill some old sessions. Can you explain a little more how do you make it?
I can image you only need to provide fields highlighted below to generate the session metadata, and don't need to care about the ephys part. These fields should be consistent if you don't change the rig metadata, which means you only need to do once.

I understand that the code is a little complex that is determined by the complex nature of session metadata itself. During the design process, modularity was considered as a major requirement. The behavior json, rig metadata, and metadata dialog are largely independent in the code. However, they need share information to generate the session metadata. For example, the session metadata requires a lot of fields from the behavior json; the ephys part, laser parts, daqs etc of the session metadata require rig metadata to keep naming consistent; the metadata dialog requires the rig metadata to parse the probes and the stick microscope. Their integration is inevitable and necessary to automate the entire process and reduce human intervention.
However, please keep in mind that you can use the independent class GenerateMetadata to flexibly integrate them. The metadata dialog is designed to capture fields not directly provided by the behavior json. So, you only need to provide metadata dialog and behavior json to GenerateMetadata to generate the session metadata. The metadata dialog (if provided) is saved to the behavior json (just one dictionary called meta_data_dialog), which has multiple advantages. 1) We can visualize these metadata fields when we load a behavior json. 2) Behavior json and metadata dialog can communicate with each other through a shared data format. 3) If we want to regenerate the session metadata when we update the code, we only need the behavior json as it contains all information (If we add some fields that are not contained in the behavior json, we need to add this field to the metadata dialog).
Please let me know if you need help to generate the session metadata, or if you find specific parts that are confusing so we can make updates.

By the way, my understanding is AIND-mapper is more for the rig metadata than the session metadata. The exact form of AIND-mapper is not clear. I've been advocating for standardizing "rig metadata", but it seems challenging (one discussion is here https://github.com/AllenNeuralDynamics/dynamic-foraging-task/discussions/460).

https://github.com/AllenNeuralDynamics/aind-metadata-mapper
No, mapper is for both session and rig.

It's a collection from many projects. Not sure if we have a general framework to make session metadata reusable across projects
Get Outlook for iOShttps://aka.ms/o0ukef

From: Kenta M. Hagihara @.>
Sent: Tuesday, July 9, 2024 11:50:39 PM
To: AllenNeuralDynamics/dynamic-foraging-task @.>
Cc: Xinxin Yin @.>; Mention @.>
Subject: Re: [AllenNeuralDynamics/dynamic-foraging-task] Session metadata error – very low success rate (Issue #569)
https://github.com/AllenNeuralDynamics/aind-metadata-mapper
No, mapper is for both session and rig.
—
Reply to this email directly, view it on GitHubhttps://github.com/AllenNeuralDynamics/dynamic-foraging-task/issues/569#issuecomment-2219695077, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2CTX5UXJHISR5QYELXJV3TZLTKT7AVCNFSM6AAAAABKDBAB6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJZGY4TKMBXG4.
You are receiving this because you were mentioned.Message ID: @.***>

That's not the point... the idea of externalizing the mapper function is to catch up with the evolving metadata scheme versions. Our current metadata generation functions are based on a fixed version that is already old and will soon get very obsolete.
Anyway, backfilling is done. You can close this thread if the session metadata failure problem is solved.

How does the mapper handle the version of the schema? Some changes of the schema require change the code for generating session metadata (For example, they changed the folder structure in the schema and the code in the session metadata needed to be changed accordingly).
Still working on other parts.


mod intra_edge: Backport memory reduction from dav1d 1.2.1

Eliminate duplicate and constant intra_edge table entries

Relates to #286

I think this looks good except for some minor style/consistency nitpicks

Thanks for the feedback. I made the suggested changes.


Type checking not work in circular  reference

TypeScript Version:  3.7.4

Search Terms:
Code
interface SubFunc {
    (number: string): any
}
function func(subFunc: SubFunc) {
    return 'x'
}
const x = {
    steps: {
        a: func(() => {
            // When `subFunc` has a type define but not `any`,
            // then the type checking is not working:  🤔🤔🤔
            return x.steps.a.wrong
        })
    }
}
function func2(subFunc: any) {
    return 'x2'
}
const x2 = {
    steps: {
        a: func2(() => {
            // If `subFunc` is defined as `any`, everything looks great.
            //
            // TIPS：Property 'wrong' does not exist on type 'string'.
            return x2.steps.a.wrong
        })
    }
}

Expected behavior:
Type checking work in circular  reference
Actual behavior:
Type checking not work in circular  reference
Playground Link
Related Issues:

There's still an error in the first block. TS currently is not capable of analyzing circular expressions with enough smarts to avoid seeing a circularity in this case.


Automated Package Upgrade

:tada: This PR is included in version 7.7.121 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Github triggers is hardcoded to use whisk api on host openwhisk.ng.bluemix.net

I was trying to work with Github triggers the other day and noticed that none of the triggers I created in a namespace that was on the api endpoint openwhisk.stage1.ng.bluemix.net were firing.
Upon debugging and reviewing the source code with Carlos S. it was noticed that the Github package has a parameter "endpoint" that is hardcoded to be openwhisk.ng.bluemix.net
You can find that on Line 15 in the file incubator-openwhisk-catalog/packages/installGit.sh
 createPackage github \
    -p endpoint "openwhisk.ng.bluemix.net" \

Carlos S had some suggestions as to pass a new parameter into the installCatalog.sh file that indicates the correct endpoint and then pass that param to the Github install script.

https://github.com/apache/incubator-openwhisk/blob/master/tests/dat/actions/helloContext.js#L3 why not use that?

@rabbah yep I think that's the answer use __OW_API_HOST


Code Editor not follow Locale settings (and how add support Jinja syntax support?)

from fastapi_amis_admin import i18n

i18n.set_language(language='en_US')
site = AdminSite(settings=Settings(
    language="en_US",
    database_url_async=database_url_async,
    site_icon="https://fastapi.tiangolo.com/img/favicon.png",
    # amis_cdn="https://www.npmjs.com/package/",
))

Monaco Editor does not follow Locale settings, how to fix it?
How add support for Jinja syntax?
Maybe better to fully rework to English language support by default? I think this helps you cool package be more popular.
Are any other amis_cdn? unpkg.com - work not stable sometimes

You could give this a try: AMIS_CDN=https://cdn.jsdelivr.net/npm


Bugfix: harvester should only add intersected region once.

This change is

Changes Unknown when pulling 270ac7fc83fbdd0805328792a0fc456180e4f507 on ropable:master into ** on parksandwildlife:master**.


Example with micro as custom server

I am trying to combine three awesome Zeit projects (next.js + micro + now).
While putting next on top of micro I keep getting errors. Did anyone make it work?
This is my example code
const next = require('next')
const { parse } = require('url')
const dispatch = require('micro-route/dispatch')

const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()

const defaultRoute = async function (req, res) {
  return { say: 'Hello' }
}

module.exports = dispatch()
  .dispatch('/api', '*', defaultRoute )
  .otherwise((req, res) => {
    const parsedUrl = parse(req.url, true)
    handle(req, res, parsedUrl)
  })

Error after running npm start and requesting http://localhost:3000/
TypeError: Cannot read property 'hasErrors' of null
    at HotReloader.getCompilationErrors (/projects/node_modules/next/dist/server/hot-reloader.js:525:23)
    at Server.getCompilationError (/projects/node_modules/next/dist/server/index.js:1012:37)
    at Server._callee16$ (/projects/node_modules/next/dist/server/index.js:742:39)
    at tryCatch (/projects/node_modules/regenerator-runtime/runtime.js:65:40)
    at Generator.invoke [as _invoke] (/projects/node_modules/regenerator-runtime/runtime.js:303:22)
    at Generator.prototype.(anonymous function) [as next] (/projects/node_modules/regenerator-runtime/runtime.js:117:21)
    at step (/projects/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
    at /projects/node_modules/babel-runtime/helpers/asyncToGenerator.js:35:14
    at F (/projects/node_modules/core-js/library/modules/_export.js:35:28)
    at Server.<anonymous> (/projects/node_modules/babel-runtime/helpers/asyncToGenerator.js:14:12)
    at Server.renderToHTML (/projects/node_modules/next/dist/server/index.js:786:23)
    at Server._callee15$ (/projects/node_modules/next/dist/server/index.js:708:29)
    at tryCatch (/projects/node_modules/regenerator-runtime/runtime.js:65:40)
    at Generator.invoke [as _invoke] (/projects/node_modules/regenerator-runtime/runtime.js:303:22)
    at Generator.prototype.(anonymous function) [as next] (/projects/node_modules/regenerator-runtime/runtime.js:117:21)
    at step (/projects/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)

Hi,
I guess your start script is not setting NODE_ENV=production so hmr is breaking. Try adding NODE_ENV=production to the start script :)

I can confirm that production ENV works. Any way to make it work on development as well?

@sbehrends for dev, it should be pretty simple.
Just run:
npm start

But fails with above error :(

Are you running app.prepare()? I don't see it in your code.

@sergiodxa is correct. You need to run it.
Check the express example for more info.

Whoops.... I guess that was it!
I will take a look into it and come back

Can confirm that adding app.prepare made it work.
Just wondering where to put it, since micro needs to export

Got it!
Thanks all :)

Having same issue, where did you put the app.prepare @sbehrends ?

@fabien88 you can (maybe) export a custom async function that run await app.prepare() and return dispatch()

@sergiodxa you can have a look at how I did it in https://github.com/ssured/nownextmicro, see https://github.com/ssured/nownextmicro/blob/a30212d779d82dca5893a250f5f596246bf6bc46/server.js#L21

Nice one, thanks :)


Fix binaryen URL and use updated binary-install to fix installation on macOS (adding to @matheus23's PR)

This includes all the commits from #1163, uses the updated binary-install crate (https://github.com/rustwasm/binary-install/pull/21), switches from failure to anyhow to match what binary-install uses, and fixes wasm-opt installation on macOS.
Since the updated binary-install crate hasn't been released to crates.io yet, I'm currently referencing the git commit directly.
Close #1163
Close #1175
Close #1176

Make sure these boxes are checked! 📦✅

[x] You have the latest version of rustfmt installed

$ rustup component add rustfmt

[x] You ran cargo fmt on the code base before submitting
[x] You reference which issue is being closed in the PR text

✨✨ 😄 Thanks so much for contributing to wasm-pack! 😄 ✨✨

Hi @drager, apologies for the ping. Do you think you might potentially be able to take a look at this PR? It’s gotten a bit large unfortunately due to the error handling changes, but I believe it should work now. Thanks!

I've been testing this on both MacOS Monterey ARM64 and Linux AMD64 and it works great! No issues so far. :+1:

Updated to use the new version of binary-install :)


reliable way to get local time

Recently I try to switch chrono to time-rs. But I don't find a reliable way to get local datetime. (macOS)
Why doesn't time-rs implement local time like chrono does? including multiple thread environment.

#[tokio::main]
async fn main() {
    let now = chrono::Local::now();
    println!("{now}");

    let is_err = time::OffsetDateTime::now_local().is_err();
    println!("{is_err}");
}

Maybe I have to switch back to chrono to get local time.

I want a local time function that won't fail...

Last I checked, chrono implements it in a way that is both expensive and unsound. time does what is necessary to avoid unsoundness. This has been addressed in multiple issues previously.


Replace existing system

There is a section in the README https://github.com/FooDeas/raspberrypi-ua-netinst#reinstalling-or-replacing-an-existing-system
But  I did not find notes on how to replace an existing system. Is this even possible? Which steps to take?
Thanks.

There are no special instructions for replacing an existing system; just start the installer as you normally would, and it will overwrite the installed system.

thanks.
on the existing system I removed all files from the /boot folder and copied over the content of the installer-zip file (took care to not delete the initrd and kernel currently used by the system).
reboot and system was installed :-)

thanks.


error in SSR build after page refresh

TypeError: Cannot read property 'destroy' of undefined     at CarouselComponent.ngOnDestroy (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:5767:22)     at executeOnDestroys (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:184473:28)     at cleanUpView (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:184397:9)     at destroyViewTree (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:184223:21)     at destroyLView (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:184375:9)     at RootViewRef.destroy (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:184989:9)     at E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:203733:52     at Array.forEach (<anonymous>)     at ApplicationRef.ngOnDestroy (E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:203733:29)     at E:\2-3-upgrade\js-storefront\project\dist\project-server\main.js:186353:55
I think only we need to add a safe operator in ngOnChanges() like "this.touches?.destroy();"
please resolve this issue asap
will be very thankful

For the Angular Universal (Pre-Rendering) Folks:
I've found a workaround for this:
Wrap the component with an ngIf:
     <div *ngIf="hasDom">                <carousel ...                /carousel>        </div>
And set the "hasDom" variable to true as follows:
`
hasDom: boolean = false;
    constructor() { }

    ngOnInit(): void {
      // @ts-
      AppComponent.isBrowser.subscribe(isBrowser => {
        this.hasDom = isBrowser;
      })
    }

`
// AppComponent:
`
          export class AppComponent implements OnInit{
                  static isBrowser = new BehaviorSubject<boolean>(false);

                  constructor(
                    @Inject(PLATFORM_ID) private platformId: any) {
                    AppComponent.isBrowser.next(isPlatformBrowser(platformId));

`

thanks @fl0wo


generated rego input.subject.groups should be seal_subject.groups

see comment in https://github.com/infobloxopen/seal/pull/80

Closing while PR is merged


SoundCloud bundle cannot be merged since version <IP_ADDRESS>

The last version to work on the SoundCloud apk bundle from apkmirror was <IP_ADDRESS>. Newer versions error out with something like empty module... Tried today with the latest apk bundle of the app. Always used the fix for revanced option though.

Thanks, seems to work now!


Issue 51

What's Next Chapter and images for Fabric
Signed-off-by: Thaddeus Cambron<EMAIL_ADDRESS>

DCO fails

Addressed by #104 and #102


"No such file or directory:'./data/coco/annotations/instances_train2017.json'

Dear author, thank you very much for sharing, but when I used your model to detect the video, the question "No such file or directory:'./data/coco/annotations/instances_train2017.json' also appeared. May I ask Which command can be executed to complete the task of video instance segmentation without TensorRT?

You can create a new config with TensorRT disabled and evaluate with that. And we will update the script later to support disabling TensorRT with command line options.
For example:
yolact_edge_config.copy({
    'name': ...,

    'torch2trt_backbone': False,
    'torch2trt_backbone_int8': False,
    'torch2trt_protonet': False,
    'torch2trt_protonet_int8': False,
    'torch2trt_fpn': False,
    'torch2trt_fpn_int8': False,
    'torch2trt_prediction_module': False,
    'torch2trt_prediction_module_int8': False,
    'torch2trt_spa': False,
    'torch2trt_spa_int8': False,
    'torch2trt_flow_net': False,
    'torch2trt_flow_net_int8': False,
})

Please refer to updated documentation in ea3b303.


Creating a Freecode Camp Forum Account

Apologies if this has been reported but the issue was last updated 29 days ago and wasn't sure if it has been fixed. I have been attempting to create an account on the Forum for the past 2 weeks and always get the message 'We are facing a known issue'. As a result, i am unable to ask questions or seek help. Is there a temporary fix to this, please? Thanks

I've not been able to login either, the previous report is still open so I assume they're aware and haven't been able to fix it yet

Duplicate of #37452


Progressive Slicing Animation

Hi!
I'm trying to replicate this progressive slicing animation from your paper and am having trouble. What is the best way to slice in between animation keyframes? Thanks so much for any help!

This is what I used: https://github.com/brainglobe/brainrender/blob/master/paper/videos/mouse_regions_video.py


Figma 1.8 Changes

Onboarding flow
Home screen picture
Bluetooth pic change

Closing this issue, we'll be using Figma 2.0 in the other android repo for now


Non blocking OlapTableSink

Ref https://github.com/apache/incubator-doris/issues/2780#issuecomment-596974767
ImplementaItion Notes
NodeChannel

_cur_batch -> _pending_batches: when _cur_batch is filled up, move it to _pending_batches.
add_row() just produce batches.
try_send_and_fetch_status() tries to consume one pending batch. If has in flight packet, skip send in this round.

So we can add one sender thread to be in charge of all node channels try_send.
IndexChannel

init(), open() stay the same.
Use for_each_node_channel() to expose the detailed changes of NodeChannel.(It's more easy to read & modify)

Sender thread
See func OlapTableSink::_send_batch_process()
Why use polling？
If we use wait/notify, it will notify when generate a new batch. We can't skip sending this batch, coz it won't notify the same batch again. So wait/notify can't avoid blocking simply.
So I choose polling.
It's wasting to continuously try_send(), but it's difficult to set the suitable polling interval. Thus, I add std::this_thread::yield() to give up the time slice, give priority to other process/threads (if there are other process/threads waiting in the queue).

Hi @vagetablechicken
Do you have some benchmark for this PR?

Hi @vagetablechicken
Do you have some benchmark for this PR?

I only have two test samples now, testing environment building is in progress in our team.
I use broker load, test 5 times in each version, and the scan node wasn't do mem limit(my test code doesn't contain a80e9bf22968232dead8886d990993eb3b702424). If scan node waits when mem limit exceeded, it must take longer.

test sample
origin ver(avg)
nonblocking ver(avg)

{"ScannedRows":92095001,"TaskNumber":1,"FileNumber":8,"FileSize":2798532731}
10min3s
6min43s

{"ScannedRows":951503983,"TaskNumber":1,"FileNumber":300,"FileSize":68560716133}
4h25min
2h6min

Compilation failed:
LOG(DEBUG) << name() << " queue_push_ns: " << _queue_push_lock_ns;
There is no LOG(DEBUG) macro

Compilation failed:
LOG(DEBUG) << name() << " queue_push_ns: " << _queue_push_lock_ns;
There is no LOG(DEBUG) macro

Oops, my bad. Fixed.

Hi @vagetablechicken , please resolve the conflict.
And Hi @imay , do you have any other comment?

I wanna change yeild() to sleep(), to avoid CPU busy. I need to prove "even sleep() after each loop, non-blocking sink is faster than blocking one" through testing.
So in the first step, I want the sleep interval to be the config param of BE, and I'll give a default value.
One more thing, the add_row() may be blocked cause mem limit exceeded, I'll add the blocking time to time profile.

@imay @morningman
Sorry about my change is a bit late.
I've changed  yeild() to sleep(). And the default interval time is 10ms.
Why 10ms, it's calculated through the avg time of add batch RPCs.
If the case is large, it get faster obviously, so I focus on little cases this time.
I tested two little cases, and got the logs about add batch time. The log is generated by this piece of code.
https://github.com/apache/incubator-doris/blob/b4014d89d45e7644fe4d098eb0ac937553006bfd/be/src/exec/tablet_sink.cpp#L689-L698
So avg time = add batch time / num. And if you think the network time delay is not negligible, you can add it.
In my tests, the avg times are tens of milliseconds. So for the faster sink, I set it to 10ms.
And the test result(interval=10ms) is

test sample
origin ver(avg)
nonblocking ver(avg)

{"ScannedRows":28582315,"TaskNumber":1,"FileNumber":3,"FileSize":569042681}
4min37s
3min27s

{"ScannedRows":100967318,"TaskNumber":1,"FileNumber":9,"FileSize":3096583144}
12min27s
8min27s


[$500] Expense - Item in report list is not highlighted and list cannot be navigated with keyboard

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

Version Number: 1.4-36.1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Issue found when executing PR https://github.com/Expensify/App/pull/35770
Action Performed:
recondition:

User is an employee of Collect workspace
The Collect workspace has dropdown field set up in "Report and Invoice Fields" on Old Dot

Go to workspace chat
Create a request
Go to expense report
Click on the report field with the selection list set up from Old Dot
Select an item
Click on the field
Use keyboard to navigate through the list

Expected Result:
In Step 6, the selected item is highlighted
In Step 7, the list can be navigated with keyboard
Actual Result:
In Step 6, the selected item is not highlighted
In Step 7, the list cannot be navigated with keyboard
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/9870c3fc-fa67-4236-9b48-f83acd0d34ae
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013f9bedd40db86a4a
Upwork Job ID:<PHONE_NUMBER>097016320
Last Price Increase: 2024-02-14

We think that this bug might be related to #wave6
CC @greg-schroeder

cc @s77rt since it's linked to your PR

Interesting, but doesn't quite explain where the regression has happened. We implemented this feature here.

I don't think this is a regression nor a deploy blocker. This bug existed before and should be handled just like any other bug. Using indexOffset is the correct solution.

@lanitochka17 can you reproduce this still? I think @marcaaron had a question here on reproducing in prod

Issue is still reproducible in the latest build 1.4.39-8
https://github.com/Expensify/App/assets/78819774/90595a94-cd29-4d31-8469-6f10e7e123be

this doesn't seem to fit under any wave or vip projects but seems like something that should be solved - making external for proposals

@ZhenjaHorbach's proposal looks good.
🎀 👀 🎀 C+ reviewed.

@mananjadhav @ZhenjaHorbach would it make sense to find a way to enforce that indexOffset is always passed in the sections passed to OptionsSelector?

We can simply add an indexOffset inside BaseOptionsSelector for each section automatically

If we can do that for every case, this sounds like a better solution.
If there are cases where we need the knowledge of the parent components to set indexOffset, perhaps we can throw an error or log a warning whenever we pass sections without indexOffset
What are the cases that don't need indexOffset?

Awesome! @mananjadhav what do you think?

Yeah @cead22 and @ZhenjaHorbach, if we're able to add this to BaseOptionsSelector then that would work for all the cases. We can test out all places where it's being used.

I was unwell past few days, I'll get to this by tomorrow.

Payouts due:

[ ] Contributor: $500 @ZhenjaHorbach (UpWork)
[ ] Contributor+: $500 @mananjadhav (NewDot)

Upwork job is here.

I couldn't trace the offending PR for this one. But with the refactor of the indexOffset I don't think we need a regression test for this one. The change is generic and the other tests for keyboard will take care of it.

$500 approved for @mananjadhav


817 [Product] Product Recommendations from coveo

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #817
Test URLs:

Before: https://main--danaher-ls-aem--hlxsites.hlx.page/
After: https://817-product-recommendations-ui--danaher-ls-aem--hlxsites.hlx.page/us/en/products/family/optima-auc-analytical-ultracentrifuge
After: https://817-product-recommendations-ui--danaher-ls-aem--hlxsites.hlx.page/us/en/products/family/allegra-v-15r-benchtop-centrifuges

@davidzochowski - UI changes completed. Please review. Thanks.


As a user, I want to have the number of messages I left at sociables tracked

If you are a user, then you should also be able to track the number of messages you left at sociables. This can become a different statistic, which then can also be used as a score. You can show this on your profile page. Maybe get achievements with this.
What do you think?

The number of messages are now tracked. However, it is not shown anywhere. It is not necessary to show it for now


New field-based device insertion mechanism

This is new editor fields.

You can switch to the old editor by clicking the button indicated in the photo.

This is how it looks on mobile:

This is how the old editor looks.

I love that! ❤
But can you move the switch (and the if-else) between text and UI one level up?
The JsonEditor component is a generic json editor. It doesn't know what its used for, but the Form Editor is specific for the bridge config. So moving it one level up (to the BridgeConfigEditor component) would be much more clean.

You have already made all the changes I recommended.

Ok I'll start to resolve all these comments :)

I've already made all the changes you suggested. I've also changed the names of some components as you requested. You can obviously rename them as you wish.

i am doing a release today, without merging this, because i'd like to do some more changes to it, after merging.
unfortunately i dont have any more time today. I'll probably do it tomorrow.

Don't worry, do you want me to resolve conflicts?

Yes, that would be great!
Just fyi what will be changed after merge tomorrow:
I’ll rename some variables and components and then make the whole configuration either json or form - not only the filter.
So input/output will be the whole bridge configuration instead of only „editable bridge config“.

¡¡Gracias!! Y tu código no estaba tan mal 🙂
¿Ya viste tu logo? ❤

Yes, I saw it and I loved it! :) Well.
My code isn't bad, but there's definitely room for improvement, haha!

After half a day of refactoring i noticed that i am building a form component which accepts json schema as configuration.
Then i noticed there's a library for that 😀


fix(ci): export FORK_API_KEY from setup_env

Benchmark results
Metrics with a significant change:

note_history_trial_decrypting_time_in_ms (10): 361 (+58%)
note_trial_decrypting_time_in_ms (8): 25.7 (-32%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 7671063a and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,984
868,220
3,449,708

l1_rollup_execution_gas
842,071
3,595,328
22,205,077

l2_block_processing_time_in_ms
2,195 (-1%)
8,436
35,053

note_successful_decrypting_time_in_ms
316 (-4%)
918
3,323

note_trial_decrypting_time_in_ms
:warning: 25.7 (-32%)
44.8 (-2%)
199 (+1%)

l2_block_building_time_in_ms
20,586 (+1%)
81,056
325,767

l2_block_rollup_simulation_time_in_ms
17,053 (+1%)
67,098
269,562 (+1%)

l2_block_public_tx_process_time_in_ms
3,486 (-1%)
13,809
55,654

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
24,362 (-1%)
47,793 (+1%)

note_history_successful_decrypting_time_in_ms
2,170 (+1%)
4,360 (+3%)

note_history_trial_decrypting_time_in_ms
165
:warning: 361 (+58%)

node_database_size_in_bytes
2,797,108
5,024,542

pxe_database_size_in_bytes
29,748
59,307

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
200 (+1%)
43,077
20,441

private-kernel-ordering
115
25,833
9,689

base-rollup
2,968
664,108
873

root-rollup
88.2 (+1%)
4,072
1,097

private-kernel-inner
260
64,484
20,441

public-kernel-private-input
172 (+1%)
25,203
20,441

public-kernel-non-first-iteration
169 (+1%)
25,245
20,441

merge-rollup
10.9 (-1%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
10,323
25,938


Set default retention policy in InfluxDB

We should set default retention policy in InfluxDB to be 5 days. Any data that needs to persist longer should be moved to a different database using continuous queries and separate retention policies.
Any thoughts @mwielgus @piosz ?

There are quite a few issues around disk usage of InfluxDB. I'm hoping 5 days will work for most deployments.

SGTM

Any updates on this?

Seems like the retention policy name, like db name, should be configurable through the sink.  At sink startup should be able to pass in a retention policy.  Then users can create retention policies in influx themselves for their own cases.
Alternatively could expose the duration value and let the sink build the policy on the fly configured to that duration.  This to me seems more flexible.  The default value of the duration can be 5 days, but users can set the duration to a different number if they so deem.
Thoughts?

A configurable value SGTM.
On Thu, Jan 14, 2016 at 1:37 PM, Kevin Moser<EMAIL_ADDRESS>wrote:

Seems like the retention policy name, like db name, should be configurable
through the sink. At sink startup should be able to pass in a retention
policy. Then users can create retention policies in influx themselves for
their own cases.
Alternatively could expose the duration value and let the sink build the
policy on the fly configured to that duration. This to me seems more
flexible. The default value of the duration can be 5 days, but users can
set the duration to a different number if they so deem.
Thoughts?
—
Reply to this email directly or view it on GitHub
https://github.com/kubernetes/heapster/issues/566#issuecomment-171787622
.

by retention policy does it mean keeping the data x days after the container is deleted or x-days after the data is created ?
in the case of short-lived container, it would be nice to have an aggressive retention policy. What would be a way to specify different retention policies based on the container/label ?

by retention policy does it mean keeping the data x days after the container is deleted or x-days after the data is created ? From the influxdb doc it sounds like it is the later.

It is the latter.

in the case of short-lived container, it would be nice to have an aggressive retention policy. What would be a way to specify different retention policies based on the container/label ?

We should let users configure the retention policies because one solution might not work for everyone.

Is this retention policy implemented? I am using heapster to find the idle containers in the Kubernetes cluster. I want to examine the resource details of the containers in Kubernetes cluster and detect the idle containers. But I can access only data up to 15 minutes. Does the data get deleted or is there anyway to get data upto 5 days?

Heapster by default provides 15 minutes of data in its API. In theory this duration could be extended, but it would cause Depending on the configuration Heapster can export data to InfluxDB (or many others metric backends) and there should remain for a longer period of time. I suggest using the second option.

Any news here? That would be pretty valuable to us, since we are spinning k8s clusters in openstack und start an influxdb as a heapster backend in a pod. Right now I just fire up influxdb with a custom config. the database that heapster is creating has a retention policy for 168h (7 days). I would like to keep the data for 30days. Is there still work on this?

We are happy to accept a contribution, though we have higher priority task to do.

It looks like I started working on this in parallel with @bavarianbidi. I can rework this in whichever way necessary to get this upstreamed.

I'm comparing the two pull requests to see what I can learn here - The one of @bavarianbidi makes it possible to override the retentionpolicy selected when sending a batch of points (i.e. makes it possible to put measurements under a non-default policy), but still requires you to somehow create and set that non-default retention policy elsewhere. On the other hand my pull request is designed to override the duration on the default retention policy, covering all measurements. Disclaimer: I'm pretty new to go, influxdb and heapster so I might be misunderstanding things.


How Can I Get Element From Inside a Modal?

I have a modal. I want to progressbar inside modal. This progressbar will be dynamic. I need to get this progressbar's id or class. For example : $$('#progressbar').attr('data-progress');

please show some of his script
Cheers!!!!

http://www.idangero.us/framework7/forum/#!/getting-started:how-can-i-get-element-from


TypeError: Cannot read properties of undefined (reading 'mathFlowInside')

Broke on the latest release.

upstream issue for latex/katex

Hmm, seeing this too all of a sudden, and it's breaking and blocking builds.
Not seeing any references to mathFlowInside in https://github.com/KaTeX/KaTeX. Unclear how to proceed.

Please share code snippet, I’ll debug

@acdibble thx for repro
this issue was made after remark-math update to v6, seems like in the new version $$ syntax isn't supported and math code block language should be used instead aka:
```math

I downgraded remark-math to v5 to fix breaking changes, and will do an update of remark-math  only for Nextra v3.
so you'll need to do following refactor for Nextra v3 or right now
- $$
+ ```math
  x^2
- $$
+ ```


Crash in QAVAudioOutput

https://gist.github.com/dericed/22b682d5ae05b2d23014cb732a871b23

QObject::connect(mpl, SIGNAL(dostop()), &pl, SLOT(stop()));
QObject::connect(mpl, SIGNAL(doplay()), &pl, SLOT(play()));

mpl is QObject from QML and pl an instance of QAVplayer

The problem could be QIOBJECT

The problem could be QIODEVICE

Thread 6 Crashed:: Thread (pooled)
0   org.qt-project.QtMultimedia   	0x000000010f4175f4 QAudioOutput::stop() + 4

could not see why it died, mainthread is waiting this thread to finish, but it is crashed. And it is inside qtmm.

it is even worst in qt 6.3.0 , i am now preparing llvm tools to assist here

https://github.com/valbok/QtAVPlayer/pull/237

Thumbs up emoji
On Mar 28, 2022 10:19, "Val Doroshchuk" @.***> wrote:
Closed #235 https://github.com/valbok/QtAVPlayer/issues/235.
—
Reply to this email directly, view it on GitHub
https://github.com/valbok/QtAVPlayer/issues/235#event-6315919294, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APIS457ILH2YWJIOEX43LFLVCFMQ5ANCNFSM5Q67ARFA
.
You are receiving this because you commented.Message ID:
@.***>


Incorrect "unused variable" warning with 'for'

Godot version:
f90e8c4
Issue description:
Have this in your script:
func _ready() -> void:
	var test := 0
	for i in 1:
		test = i

It will warn about the variable test being unused, even if it actually is.