services/horizon/internal/expingest: Add ingestion integration tests which exercise horizon db

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Close https://github.com/stellar/go/issues/1941
Add integration tests for horizon ingestion which run against postgres instead of db mocks. The test cases cover two scenarios:

Ingesting state from the history archives into a clean db
Ingesting state from the history archives into a db which is already populated with data from a previous ingestion run.

Why
When implementing experimental ingestion we ran into an error during a deployment. The error occurred because we added a new ingestion table but we forgot to truncate it when rebuilding state (see https://github.com/stellar/go/pull/1940 for more details).
This class of error is difficult to catch with unit tests so that is why we created these integration tests which run against a postgres database.
Known limitations
The integration tests ingest from a fake history archive snapshot. The fake snapshot is created by sampling xdr.LedgerEntryChanges from a real history archive snapshot. The reason why we need to do this is because running ingestion on a full snapshot takes at least 15 minutes. If we were to have such a long running test it would likely be very flakey.

Some extra background: We talked about this a bit before settling on this implementation. Other approaches included running the full test (slow and potentially flakey as mentioned) or running the test only on branch merge. We liked this solution because it's fast and can be run all the time. If a new type were ever to be added to the ledger XDR then to be representative this snapshot should be updated. But we expect this to be a rare occurance.


Split Items Tab into Gears and Consumables

The property Binded may decide where each item belongs to.

With help of https://github.com/Attacktive/troubleshooter-editor-back-end/pull/131, we get gears and consumables separately.


EPOLL_CLOEXEC bool

Replaces EpollCreateFlags with a simple bool argument. Bitflags with 1 option should just be a boolean.

@notgull is right.  It's best to leave epoll how it is.


publish can't find snapshot in storage-pools/default/snapshots

version:  lxd   3.6        9510  stable    canonical✓
I tried to publish a container "wp":
lxc snapshot wp x
lxc publish wp/x --alias=wp_image

and got this error:
Error: Expand symlinks: lstat /var/snap/lxd/common/lxd/storage-pools/default/snapshots/wp/x: no such file or directory
Workaround 1:  copy the container and publish the copy:
lxc copy --container-only wp/x wp2
lxc publish wp2 --alias=wp_image

Workaround 2: create the missing directory as a link to the correct one:
sudo su
cd /var/snap/lxd/common/lxd/storage-pools/default/
ln -s containers-snapshots snapshots

publish works properly with a new container, which uses storage-pools/default/containers-snapshots, instead of storage-pools/default/snapshots.

Please show lxc info and lxc storage show default

lxc info (with public ip addresses and certificate redacted):
config:
  core.https_address: '[::]:8443'
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  - X.X.X.X:8443
  - '[...]:8443'
  - <IP_ADDRESS>:8443
  - '[fd42:a755:5841:c015::1]:8443'
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIIFTTCCAzWgAwIBAgIRAL90Q4kH+JlHIeLukSyKAOkwDQYJKoZIhvcNAQELBQAw
	...
    goeA9TWXbbWvcwCdVT8V0qaHm3lsFgbCZKo7OZYwibUZb6Em+yw7nYIpcv/VCYsZ
    4xQKrs47F8Zs6wmH4WpUXO0=
    -----END CERTIFICATE-----
  certificate_fingerprint: e5922cf857ad9f30e365a033bc228a885a0fe794526753b1594f00b2e35dfc56
  driver: lxc
  driver_version: 3.0.2
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.15.0-36-generic
  server: lxd
  server_pid: 1048
  server_version: "3.6"
  storage: zfs
  storage_version: 0.7.5-1ubuntu16.3
  server_clustered: false
  server_name: star
  project: default

lxc storage show default (with most container/snapshot names deleted except for the one in question - wp):
config:
  source: z/lxd
  volatile.initial_source: z/lxd
  zfs.pool_name: z/lxd
description: ""
name: default
driver: zfs
used_by:
- /1.0/containers/apt
- /1.0/containers/apt/snapshots/auto_day1
- /1.0/containers/apt/snapshots/auto_day2
- /1.0/containers/apt/snapshots/auto_day3
- /1.0/containers/apt/snapshots/auto_day5
- /1.0/containers/apt/snapshots/auto_hour0
- /1.0/containers/apt/snapshots/auto_hour1
- /1.0/containers/apt/snapshots/auto_hour10
- /1.0/containers/apt/snapshots/auto_hour11
- /1.0/containers/apt/snapshots/auto_hour12
- /1.0/containers/wp
- /1.0/containers/wp/snapshots/auto_backup
- /1.0/containers/wp/snapshots/auto_day0
- /1.0/containers/wp/snapshots/auto_day1
- /1.0/containers/wp/snapshots/auto_day2
- /1.0/containers/wp/snapshots/auto_day3
- /1.0/containers/wp/snapshots/auto_day4
- /1.0/containers/wp/snapshots/auto_day5
- /1.0/containers/wp/snapshots/auto_day6
- /1.0/containers/wp/snapshots/auto_hour0
- /1.0/containers/wp/snapshots/auto_hour1
- /1.0/containers/wp/snapshots/auto_hour10
- /1.0/containers/wp/snapshots/auto_hour11
- /1.0/containers/wp/snapshots/auto_hour12
- /1.0/containers/wp/snapshots/auto_hour13
- /1.0/containers/wp/snapshots/auto_hour14
- /1.0/containers/wp/snapshots/auto_hour15
- /1.0/containers/wp/snapshots/auto_hour16
- /1.0/containers/wp/snapshots/auto_hour17
- /1.0/containers/wp/snapshots/auto_hour18
- /1.0/containers/wp/snapshots/auto_hour19
- /1.0/containers/wp/snapshots/auto_hour2
- /1.0/containers/wp/snapshots/auto_hour20
- /1.0/containers/wp/snapshots/auto_hour21
- /1.0/containers/wp/snapshots/auto_hour22
- /1.0/containers/wp/snapshots/auto_hour23
- /1.0/containers/wp/snapshots/auto_hour3
- /1.0/containers/wp/snapshots/auto_hour4
- /1.0/containers/wp/snapshots/auto_hour5
- /1.0/containers/wp/snapshots/auto_hour6
- /1.0/containers/wp/snapshots/auto_hour7
- /1.0/containers/wp/snapshots/auto_hour8
- /1.0/containers/wp/snapshots/auto_hour9
- /1.0/containers/wp/snapshots/auto_week0
- /1.0/containers/wp/snapshots/auto_week1
- /1.0/containers/wp/snapshots/auto_week2
- /1.0/containers/wp/snapshots/auto_week3
- /1.0/containers/wp/snapshots/x
- /1.0/images/30b9f587eb6fb50566f4183240933496d7b787f719aafb4b58e6a341495a38ad
- /1.0/images/4449aa49176052a2f67e8aeeeee3a06af52d5986890d8ba8e16798d1fe3d75c8
- /1.0/images/72f74ccbb968fca13a680b22d00bbc64636bbc65a870dec79d7c711f7f8b9d85
- /1.0/images/a7393fa20ac9b205a55503d4be61364cdcd56b6d094fc685e1dbdae83ef590fd
- /1.0/images/aec2b1a6762221a61aa62f7aea1ada8cb0df6308e0766fc8b41b8445e5e3a2f7
- /1.0/images/d0eb4c9a36ea99c5b70532ef44c7f177725f1853e0e5a3b476a4e5f2fa1227dd
- /1.0/profiles/default
- /1.0/profiles/deploy
- /1.0/profiles/prod0
- /1.0/profiles/production
- /1.0/profiles/util
status: Created
locations:
- none

Unable to reproduce the issue here:
root@vm03:~# snap install lxd
2018-11-08T18:58:44Z INFO Waiting for restart...
lxd 3.6 from 'canonical' installed
root@vm03:~# lxd.migrate -yes
=> Connecting to source server
=> Connecting to destination server
=> Running sanity checks
The source server is empty, no migration needed.

The migration is now complete and your containers should be back online.

All done. You may need to close your current shell and open a new one to have the "lxc" command work.
To migrate your existing client configuration, move ~/.config/lxc to ~/snap/lxd/current/.config/lxc
root@vm03:~# lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (btrfs, ceph, dir, lvm, zfs) [default=zfs]:
Create a new ZFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=15GB]:
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
Would you like LXD to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
root@vm03:~# lxc launch ubuntu:18.04 wp
To start your first container, try: lxc launch ubuntu:18.04

Creating wp
Starting wp
root@vm03:~# lxc snapshot wp x
root@vm03:~# lxc publish wp/x --alias=wp_image
Container published with fingerprint: af17a71bd184fde9429974741cc8c09236edc222b61b1df6f81e8c59f4112fc0

Tracked down the issue, it's a mis-handled upgrade case.

This particular container has Ubuntu 16.04.  I must have created it with LXD 2.X on an Ubuntu 16.04 host, and migrated it by publishing and exporting the image, and then importing it in snap LXD 3.x. when I changed server three months ago.

I seem to be running into a similar issue as described here, but I'm running a newer version than when the fix was committed so might be a different issue.
All the containers before migrating to snap I can't create images of their snapshots, but containers created after migration I can create images of snapshots.
For example::
lxc publish nginx/snap5 --alias test
Gives me error:

Error: Expand symlinks: lstat /var/lib/lxd: no such file or directory

New containers are fine, and workaround 2 of making a copy of the container and then imaging the container seems to work, but work around 1 of adding the symlink doesn't.
Any thoughts on what could be wrong and how to fix?
I started off with lxd 3.0.2 (on Ubuntu 18.04 LTS) and migrated to snap stable package recently
lxd --version
3.12
lxc info
address and certs redacted
config:
  core.https_address: '[::]:8443'
  core.trust_password: true
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  architectures:
  - x86_64
  - i686

  driver: lxc
  driver_version: 3.1.0
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    netnsid_getifaddrs: "false"
    shiftfs: "false"
    uevent_injection: "false"
    unpriv_fscaps: "true"
  kernel_version: 4.15.0-47-generic
  project: default
  server: lxd
  server_clustered: false
  server_name: osgeo7
  server_pid: 25490
  server_version: "3.12"
  storage: zfs
  storage_version: 0.7.5-1ubuntu16.4

lxc storage show default
with one of the problem containers listed rest of container links redacted
config:
  source: osgeo7
  volatile.initial_source: osgeo7
  zfs.pool_name: osgeo7
description: ""
name: default
driver: zfs
used_by:
- /1.0/containers/nginx
- /1.0/containers/nginx/snapshots/snap0
- /1.0/containers/nginx/snapshots/snap1
- /1.0/containers/nginx/snapshots/snap2
- /1.0/containers/nginx/snapshots/snap3
- /1.0/containers/nginx/snapshots/snap4
- /1.0/containers/nginx/snapshots/snap5

- /1.0/images/2fc96a2134d69d3be42280b84a54122c030122e9643be518384a1ba55c5cd344
- /1.0/images/64fcf16b7831eac5c07e8412510b9758312038a93a14757fb532c3eecc91d253
- /1.0/images/a9e6e0dd5c6f7498ca8897ffa443658f57375a154fc59eba70a731474c81a6fb
- /1.0/profiles/default

I figured out where the symlinks got screwed up, but not sure why they did.  On another Ubuntu 18.04 server I have where I upgraded the same way and I think from 3.01 (instead of 3.02 possibly) did not have this issue, but it does have fewer containers.
The symlinks in /var/snap/lxd/common/lxd/snapshots for the old containers were pointing at old location
nginx -> /var/lib/lxd/storage-pools/default/containers-snapshots/nginx  # old container bad
nginx-2 -> /var/snap/lxd/common/lxd/storage-pools/default/containers-snapshots/nginx-2 # new container good

So to fix, I corrected the broken symlinks in this folder with
cd /var/snap/lxd/common/lxd/snapshots
rm nginx
ln -s /var/snap/lxd/common/lxd/storage-pools/default/containers-snapshots/nginx nginx


refactor(scale): rename items → degrees

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

16 of 16 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
712

Relevant Lines:
712

💛  - Coveralls


Docker container not working because of raw_input() call

I tried running your project as a docker container and faced the problem that I received the following exception:
Exception in thread Thread-3 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner
  File "/usr/local/lib/python2.7/threading.py", line 754, in run
  File "/usr/src/app/app/httprequesthandler.py", line 102, in acceptClients
  File "/usr/local/lib/python2.7/socket.py", line 207, in accept
<type 'exceptions.TypeError'>: 'NoneType' object is not callable

I traced down the issue to the call of raw_input() that is not working, because there is no interactive input in a docker container. I am not very used to python so I am not completly sure what the purpose of the last part of the script is:
try:
	while raw_input() != "quit":
		continue
	quit()
except KeyboardInterrupt:
	quit()
except EOFError:
	#this exception is raised when ctrl-c is used to close the application on Windows, appears to be thrown twice?
	try:
		quit()
	except KeyboardInterrupt:
		os._exit(0)

Is it just for shutting down the script if a keyboard interrupt (ctrl+c) is detected? If s I would look for an alternative so the script can run properly as docker container.

How do you run the docker image?
Try adding the -it flags when running the container.

Okay I've ran some tests, it requires the -i flag at least.


⚠ Bofrost.lu has degraded performance

In aed6b2b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1828 ms

Resolved: Bofrost.lu performance has improved in 30247c5.


Webapp updates

use npm for dependencies
sort, filter, pagination, cancel button on job list table

👍

Could you check that all dependencies are in package.json? I think maybe it's missing node-sass.
Also, you might want to refer directly to the binary in the Makefile, e.g. ./node_modules/.bin/node-sass. Currently I think it's possibly referring to a global install.


Directed edges

Hi,
It seems to me that StreamlitFlowEdge has no directed edge options. ( a bit like below)

I've seen that the class has **kwargs (**kwargs can be any other attribute on a React Flow node that you wish to manually set (not recommended))
I tried:
markerEnd="arrow" as found in https://reactflow.dev/api-reference/types/edge
No success.
Can you help me implement this (hopefully) small feature?

Hi @NicolasMICAUX. Will include this in the next version!

Nice! Thank you so much 🙏🏻
Le mer. 9 oct. 2024, 12:41, Dhruv Kapur @.***> a écrit :

Closed #22 https://github.com/dkapur17/streamlit-flow/issues/22 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/dkapur17/streamlit-flow/issues/22#event-14570557925,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLEUNYMP5HUIRZVTE4OP6TZ2UB5TAVCNFSM6AAAAABOFQWY5WVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGU3TANJVG44TENI
.
You are receiving this because you were mentioned.Message ID:
@.***>


VERIFY ydb/library/yql/minikql/computation/mkql_computation_pattern_cache.cpp:80

VERIFY failed (2024-07-19T10:58:34.541635Z):
ydb/library/yql/minikql/computation/mkql_computation_pattern_cache.cpp:80
NotifyPatternCompiled(): requirement !it->second.LinkedInCompiledPatternLRUList() failed
0.


Delete index.html

 Quality gate: Passed
 Everything looks good
Details

 Quality gate: Passed
 Everything looks good
Details


[Bug]: term:localshellopts does not work

Current Behavior
When I set "term:localshellopts": "-nologo"  for "term:localshellpath": "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" it does nothing. Powershell runs as normal.
Expected Behavior
Powershell without "logo".
Steps To Reproduce
When I set "term:localshellopts": "-nologo"  for "term:localshellpath": "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" it does nothing. Powershell runs as normal.
Wave Version
0.10.1
Platform
Windows
OS Version/Distribution
Windows 11 24H2
Architecture
arm64
Anything else?
No response
Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

Just checking, are you running on arm or was that a typo?

sorry it was a typo... amd64 👯

The correct config format for this is:
{
  ...
  "term:localshellopts": ["-NoLogo"]
}


[Bug]: KeyError: 'dimension' error for list_collections()

What happened?
When calling list_collections() method from chromadb client(http client), getting KeyError: 'dimension'.
It it working fine for chromadb== 0.5.0
Versions
Chromadb 0.5.3
Python 3.10.12
Databricks Runtime Version - 14.0 (includes Apache Spark 3.5.0, Scala 2.12)
Relevant log output
No response

Chroma does not try to maintain client/server version forward compatibility while still pre 1.0 release. Please ensure your client/server are the same version. we will patch this however soon

Closing as dupe


sass or css select setup

Environment
Nuxt CLI v3.0.0-27242401.39ed77e
RootDir: /Users/joshmedeski/Downloads/nuxt3-
Nuxt project info:

Operating System: Darwin
Node Version:     v16.11.1
Nuxt Version:     3-3.0.0-27242401.39ed77e
Package Manager:  Yarn
Bundler:          Webpack
User Config:      buildModules, build
Runtime Modules:  -
Build Modules<EMAIL_ADDRESS>

Describe the bug
Your nuxt.config.ts file references PostCSS, but I see that you also have Sass installed. Only one of these tools needs to be chosen for compiling the TailwindCSS code.
TailwindCSS recommends PostCSS. Removing the sass and sass-loader packages and switching your global CSS file to .css will make your project have faster install times.
Additional context
If I'm missing something please let me know, but I read through all the code and saw no reference to Sass aside from the package.json file.
Logs
No response

@apply is a PostCSS feature provided by Tailwind's PostCSS config 😸

@apply is a PostCSS feature provided by Tailwind's PostCSS config 😸

I know this. :D I have not used Postcss before. And right now that got me confused. How is it different from Sass?
You say If I'm missing something please let me know, but I read through all the code and saw no reference to Sass aside from the package.json file.
I showed the place where it was written. :D

Thank you for showing me this.
I understand what you are saying, I will type a terminal command. You will choose sass or css for installation.

I see it now, thanks. It seems that Nuxt supports sass with that syntax, however, it's not necessary to use it since you're using TailwindCSS with PostCSS. Hope it helps.


Add support for releasing to Gradle Plugin Portal

This PR adds support for releasing the io.realm.kotlin plugin to Gradle Plugin Portal. Uploading works locally and I'm just waiting for some manual verification on their end. Before the plugin was called realm-kotlin. This is arguably a better-looking and shorter name, but Gradle Plugin Portal requires that plugins follow the normal hierarchy structure as on Maven Central, so I renamed it to io.realm.kotlin. If anyone has a better idea, let me know.
Ideally, we could either publish a SNAPSHOT to Gradle, but they do not support SNAPSHOT's. Or publish the marker artifact to Sonatype, but the plugin used to generate the binary doesn't support signing which is required by Sonatype. So a catch-22.
So for now, I added an extra guard that ensures we only upload the plugin on actual releases. This also means that SNAPSHOTs cannot use the new plugin syntax but must apply the plugin manually.
TODO:

[ ] Ensure that the manually uploaded plugin works.

Current plugin got rejected:
The new submission has outstanding issue:
Could you get rid of the leading "gradle.plugin" in the artifact coordinates. You can do this by following the full example at https://plugins.gradle.org/docs/publish-plugin


Added Gaussian Elimination in Haskell

Added implementation
Corrected "Eschelon" to "Echelon" (which comes from a French word meaning step of a ladder)
Minor typos
Removed "Reduced Row Eschelon Form is diagonal" since it's not true in general
Removed "You can do basically anything you want" since if you start from the upper left you'll have to do several passes. While technically you can always do what you want, maybe it's best to suggest the most efficient route.
James refers to his Julia code as "pseudocode", I didn't want to change the text so my crazy haskell code is now "pseudocode" as well (it works for crazy FP people maybe)

===> Changes pseudo-code to code
Sorry for the mess, I've had git issues. I'm still modifying a file that has nothing to do with Gaussian Elimination, but it's just removing an empty line and I have no clue how to remove that so please turn a blind eye ^^

Cosmetics changes to my code using hindent (I tried brittany but hated it)
Changes to the chapter to include singular matrices to the algorithm

@lulucca12 If you have more input, shoot me
@leios please review the chapter edits, take your time.  Other implementations will follow.

More changes to the text. @leios, do you want me to split the PR so that the code and chapter edits can be reviewed separately? I guess it would improve my Git-Fu

In principle, the text and the code should be separate PR's; however, I think it would be a bit messy to split the two here.
I will see what I need to update with the julia code soon.

Updated my code, it's cleaner now, also added back substitution. Got rid of chapter edits.

I think before merging this PR(now that #219 is merged) we could format and factor out the code, passing it through a linter (and maybe a beautifier) to verify that all the added code it's all optimized and good.

I ran it through hlint and got no hints. I tried a beautifier (hindent I think) but it made it worse :)
Do you have suggestions for factoring out? Each function is pretty short already.

Single letter parameters are mostly matrix indices, r for row and c for column. Changing the name will make the code less readable I think. I also use m for matrix, I suppose I could change that.
Do you have concrete suggestions for making the code clean and declarative? Honestly I've done my best here.
I'll look into the Show instances, I actually started doing it that way, but it got complicated I don't remember exactly why, maybe because I need a newtype rather than type? I'll look into it.

I think there is just a little issue on how this code is written, and from the fact that you created type synonyms to make the code more understandable: There is no way of someone with just the type declaration of any function rewrite that function with given context. To see what I mean with that take an example: the function compose
compose :: (b -> c) -> (a -> b) -> a -> c

it's really clear(even if you don't give an explicit name) that you can use techniques for programming with context (like using Category Theory, or in a much simpler way Hole-driven Haskell) and generate the function
compose f g x = f (g x)

and I understand that this is not always possible with complex algorithms like this one, but making polymorphic types and explicit notations can make this way of Haskell programming better.

And for the Show instances, could you write your approach in code for me to understand it?

I know it's not very readable, haskell is not super suited for matrix operations (my FFT code is horrendous). I'm very happy to try and make it better, do you have concrete suggestions?
I tried making Matrix an instance of Show, but that add verbosity everywhere, not worth it.

Have you seen Data.Matrix? I think we could rewrite the code using its functions and make it more clear. For example, they have a  prettyMatrix function for displaying matrices. It could make it more clear

You could use Data.Vector with it

Data.Matrix is not in the standard distribution, I don't think I should use that, even though it has some functions that I could use (switchRows, combineRows). Even if I did use these functions, the core algorithm (gaussJordan, backSubstitution) wouldn't change at all. All really, if you look at the source course for switchRows for example, it's not much more beautiful than my code.
Data.Vector is in the standard distribution, I think, but it's based on Data.Array to begin with, and it doesn't have many function I could use.
All in all, none of my functions are longer than 11 lines. They may be dense and a bit hard to read, but it's the reality of the algorithm.

Being on the standard distribution or not is not a problem if you say clearly this information in the code and I really think that you could shorten your code without defining again what was already defined and can be standard. And it's good to use Haskell libraries because it gives your code more readability. Do you prefer to use "\f g -> (\x -> f(g x))" or "."?

Have you seen the functions
inverse :: (Fractional a, Eq a) => Matrix a -> Either String (Matrix a)

and
rref :: (Fractional a, Eq a) => Matrix a -> Either String (Matrix a)

the last one converts a matrix to reduced row echelon form using Gaussian elimination and thus solving a system of linear equations.
If you don't want to use the built-in algorithm you can implement it using it's source (I think it's worse in readability, though). You can take a look at all of them and notice that you can shorten your code by (at least) 3 functions implemented (switchRows, prettyMatrix and yours printV that's not necessary because of Vector in Data.Vector being an instance of Show)

Of course I can't use a built-in algorithm, that defeats the purpose. Overall I'm pretty reluctant to rely too much on outside source, even if it makes my code shorter. I like the idea of having everything you need in one file. And so far, that's been the philosophy of the AAA for all languages.

I would like to say that the point of this chapter is to show how the algorithm could be implemented in haskell, using an in-built rref or inverse function kinda defeats the purpose.
I don't know how many people use the Data.Matrix, but if it's standard enough (like numpy or scipy), then I suppose we can use it. I don't mind using external libraries (like fftw) if they are common enough and necessary to perform an action.
That said, using a vector/matrix library it might be overkill for this case.

The purpose was just to shorten the code, I mentioned this functions for you to look at their source and how they are implemented and to get an idea, but for factoring the code I think you can use the library just for using their print and prettier functions and other that can help, like the switchRows and switchCols that you don't have to implement by yourself.

Yeah I understand your purpose. I also love short, point-free style functions. It's the beauty of Haskell. But I can't refactor a 10 lines function down to 2 even with other people's build in functions. I've already said that I prefer using my own code, especially that my functions are not especially worse than the ones in Data.Matrix.
You haven't criticized a single specific line of code, just the general look of it. You gave me no reason to believe  that you actually read my code at all past the signatures. If it all comes down to esthetics and personal preference, I ask that you respect my choices as the author of the code. If you read the code and have no specific improvements in mind, provide a positive review. If you haven't, leave it to someone else to do the review.


Fix LHN display name ellipsis doesn't show tooltip when the text is updated

Details

The LHN title will show a tooltip if we hover to the ellipsis. However, if the text previously doesn't have an ellipsis and then it's updated to have an ellipsis, the tooltip won't show until we refresh the app.
Fixed Issues

$ https://github.com/Expensify/App/issues/27545
PROPOSAL: https://github.com/Expensify/App/issues/27545#issuecomment-1722210867
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open any chat
Request money with any amount
Press the request preview to open the IOU report
Press the request preview once again to open the transaction thread
Edit the description to a very long text
Hover over the transaction thread title ellipsis on LHN
Verify a tooltip shows

Tooltip is only available on the web & desktop, for mWeb, Android, and iOS, just make sure nothing weird/broke with the LHN.

[x] Verify that no errors appear in the JS console

PR Author Checklist

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

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/50919443/70e3abd8-82b8-413c-9342-7e7714283926

Mobile Web - Chrome

https://github.com/Expensify/App/assets/50919443/58ce72a4-96ed-48fc-8479-f945ee1b689d

Mobile Web - Safari

https://github.com/Expensify/App/assets/50919443/d9569fa3-7f71-4856-8be2-84867d2ed9c0

Desktop

https://github.com/Expensify/App/assets/50919443/52ce5e28-8060-4606-97a1-38c82464986d

iOS

https://github.com/Expensify/App/assets/50919443/89189d44-8577-4ce4-9b62-7cfcb75cd763

Android

https://github.com/Expensify/App/assets/50919443/223dcc38-9b32-4371-9a7d-538a5e82811e

Reviewer Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/46707890/32cd2504-94e6-464e-b7c0-6e046a036db3

Mobile Web - Chrome

https://github.com/Expensify/App/assets/46707890/c823a5e1-5435-44fc-b297-13daa9a2fb86

Mobile Web - Safari

https://github.com/Expensify/App/assets/46707890/baf54cb0-8d5e-4498-aec7-e11160d0921f

Desktop

https://github.com/Expensify/App/assets/46707890/6b488fec-aa9b-4892-a67f-9b76dbc7860d

iOS

https://github.com/Expensify/App/assets/46707890/dbb2eaee-2cb1-4b0c-a271-a3f5d0c2978b

Android

https://github.com/Expensify/App/assets/46707890/80984ac9-4604-424e-b73f-985a5f711d80

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.3.76-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.76-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.3.77-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.77-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Performance collection-helpers vs denormalization

Is there any difference regarding performance? I think mongo would be happy if it doesn't need to store duplicates. But how does it look like regarding reactivity and only publishing certain fields?
Big thanks :)

Hey @webyak all this package does is allow you to define some prototypical methods for a document instance, I think you might be thinking about two different things!

Though I may have misinterpreted you, regarding denorm vs publishing more data, it comes down to the use-case, sometimes it's better to de-norm, most of the time you can just write publications to provide the data any collection relationships require

You're right! I have no clue how I came on the idea to skip the whole publishing part. I ended up doing quite some research about joins vs de-norm and bought the whole bulletproof meteor package. So this should clear out every confusion. Thanks David!


New release

@bertptrs Any chance you could do a new release of tracing-mutex. There is quite a number of changes and fixes since 1.0.2?
Thanks!

Yes, I'll try to patch up a release later today (CEST). I still need to do minor cleanup and fix the changelog, but otherwise should be simple enough. :+1:

Thanks. I have another PR that would be nice to have.

@bertptrs Any news?


Update Table Component - Dashboard

Additional context
Add any other context or screenshots about the feature request here.
Acceptance Criteria

[ ] The user should be able to scroll horizontally
[ ] The user should be able to scroll vertically
[ ] The user should be able to change the column width

PS: all the above is applicable in both edit and view mode
### Tasks
- [ ] https://github.com/awslabs/iot-app-kit/issues/1859

UX details : Refer the table cloudscape component and follow the design + dev guidelines as much as possible.
Link: https://cloudscape.design/components/table/?tabId=playground

issues have been resolved


[Proposal] all Method to Flatten Array of Futures Without Failure

I've seen this requested a few times in the Vapor Discord, and I've wanted this myself for awhile (before I wrote a local implementation).
As it stands
Vapor's Core extension of flatten and syncFlatten takes an array of Future<Void> and flattens them into a single Future<Void> that either succeeds when all Futures in the array succeed, or fails as soon as one fails.
That is useful on its own, but some times there are cases where you need to batch run tasks (like make multiple API requests based on an array of parameters) that you then want to handle each case with.
Proposal

Introduce an all method that always resolves when all of the Futures in the array either fail or succeed.

The resolved value is an array of optional Expectations of the Future type, where nil is provided when a Future failed.
Each Future may succeed or fail at any time, but the order of the resolved array will match the order of the array of futures

Introduce a syncAll method that always resolves when all of the Futures in the array either fail or succeed. This will resolve to Void.self

Each Future is executed after the previous one in the array either fails or succeeds

Quick Implementation
This is based on the syncFlatten and flatten methods provided by Vapor/Core Async but will need to be translated to raw NIO
all
extension Collection where Element: FutureType {
    public func all(on worker: Worker) -> Future<[Element.Expectation?]> {
        guard count > 0 else {
            return worker.eventLoop.newSucceededFuture(result: [])
        }

        let promise = worker.eventLoop.newPromise([Element.Expectation].self)

        var results: [Element.Expectation?] = .init(repeating: nil, count: count)
        var remaining = count

        for (i, el) in enumerated() {
            el.addAwaiter { res in
                remaining -= 1
                switch res {
                case .error:
                    results[i] = nil
                case .success(let el):
                    results[i] = el
                }

                if remaining == 0 {
                    promise.succeed(result: results.compactMap { $0 })
                }
            }
        }

        return promise.futureResult
    }
}

syncAll
extension Collection where Element == LazyFuture<Void> {
    public func syncAll(on worker: Worker) -> Future<Void> {
        let promise = worker.eventLoop.newPromise(Void.self)

        var iterator = makeIterator()

        func handle(_ future: LazyFuture<Void>) {
            func completion() {
                if let next = iterator.next() {
                    handle(next)
                } else {
                    promise.succeed()
                }
            }

            do {
                try future().always { completion() }
            } catch { completion() }
        }

        if let first = iterator.next() {
            handle(first)
        } else {
            promise.succeed()
        }

        return promise.futureResult
    }
}

After spending some time in the NIO layer and spending some time on implementing this, I've learned some things and have updated the proposal:

syncAll only really applies to a handful of specific instances in all of Vapor's codebase and is not widely needed as it doesn't actually force the futures to be synchronous with each other.
Result can be used instead of nil values as that has landed in Swift 5
all has been renamed to whenAllComplete to match the NIO methods whenSuccess, whenFailure, and whenComplete


merge from template-arlac77-github

.github/workflows/ci.yml

chore(deps): add 18.15.0 remove 18.14.2 (jobs.test-node.strategy.matrix.node-version)
chore: add 18.15.0 (jobs.release.steps.with.node-version)

.github/workflows/codeql_analysis.yml

chore: add 18.15.0 (jobs.analyze.steps.with.node-version)

.github/workflows/update_package_lock.yml

chore: add 18.15.0 (jobs.update_package_lock.steps.with.node-version)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Publish Does Not Return JobID?

Trying to check the status of my geodatabase upload/publish code (which is working well, thanks for the help). Status requires the jobID, and the documentation states "jobId - The job ID returned during publish, generateFeatures, export, and createService calls." However, Publish returns the itemID. Are the itemID and jobID one and the same? It does not seem like it, because when I use the itemID to check the status, it returns"
{'status': '', 'itemId': '[itemID]', 'statusMessage': "Item status doesn't exist"}

which is obviously unhelpful. Is there another way to access the jobID if it is something different? If not, any thoughts on what could be wrong with my code? I can add it if need be, but I didn't want to clutter things up if it was a simple answer. Thanks!

Did you specify Wait?  If so, it should return the item and the job has finished.

Ahhh... I didn't even think of that, thank you. I tried using a wait, but it is a large geodatabase and I was getting timeout errors. Once I removed the wait, it worked just fine. I suppose I'll have to use a different method for verifying publishing was successful.


Replace external embed module with in-built go embed

Right now, https://github.com/rakyll/statik is being used for embedding static content.
Replace with https://golang.org/pkg/embed/

Useful links:

https://blog.carlmjohnson.net/post/2021/how-to-use-go-embed/
https://go.googlesource.com/proposal/+/master/design/draft-embed.md


[Test framework] Enable match_body

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

in this PR https://github.com/Azure/azure-python-devtools/pull/60/files, azure-devtools will support match_body functionality. After it released, testsdk need to apply it in ScenarioTest. So that command owners to choose whether to match body in their command scenario tests. Works to be done like:

upgrade azure-devtools version
Add new ScenarioTest with match_body true

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Test framework


Misc fixes for control flow page

:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:


Scheduler does not drain?

Is it expected behaviour that tasks added to the Scheduler don't drain after execution?
Given some code like this:
import "scheduler" for Scheduler
import "io" for File

Scheduler.add {
  System.print("before")
}

System.print(File.read("test.wren"))

Scheduler.add {
  System.print("after")
}

The before will print, then the File.read(...) will print, but the after will never print. Is it possible to drain the scheduler automatically before the root fiber ends?

It's, uh, neither expected nor not expected. :)
The scheduling stuff is still quite new and I'm still getting a feel for how to integrate libuv into a language with fibers. My hunch is that it probably should drain by default but I wouldn't be surprised if that also turns out to be the wrong guess. We might not know for certain until we have more of libuv supported and more interesting concurrent programs written in Wren.
I'm definitely leaving this bug open, though, because we should have some deliberate strategy here. :)

Is it possible to drain the scheduler automatically before the root fiber ends?

Automatically, no. Not yet, at least.

I'm kind of suspecting the scheduler should actually be part of the core rather than the module collection, and have it drain when execution ends, much like the event loop and task queues in node.
The scheduler is the only component in module that I see which is really tied into everything. If it was in core, the stuff in module could more easily be accomplished as userland modules. I'm also debating if libuv should also be considered part of the core. I'm less convinced of that though.

The scheduler is the only component in module that I see which is really tied into everything.

It's tied to all of the other CLI modules that do IO, but it's not tied to anything in core or the optional modules random and meta.

I'm also debating if libuv should also be considered part of the core. I'm less convinced of that though.

It shouldn't be. Wren has a CLI which uses libuv, but the language itself is equally intended to be used as an embedded scripting language that runs on a lot of platforms and has no dependencies. Requiring libuv in core would definitely break that.
Think of it like this: node requires libuv, but V8 does not. Wren + core = V8. Wren + core + modules = node.

I was just thinking, this would be a good use for fiber finalizers. The scheduler module could internally do something like:
Fiber.current.addFinalizer {
  Scheduler.runNextScheduled_()
}

That would cause the scheduler to drain before the fiber completes.


Obsoletion request:  non-specific CAP binding complex trms

Please provide as much information as you can:

GO term ID and Label
GO:0005845 mRNA cap binding complex

Reason for deprecation Put an x in the appropriate box:

[ ]  The reason for obsoletion is that this term was an unnecessary grouping term.

We should keep the grouping term "RNA cap binding complex"  for the bacterial Cap binding complex (assuming there is one), but make it clear this is for THE cap binding complex
and obsolete
GO:0005845 mRNA cap binding complex
Any protein complex that binds to an mRNA cap at any time in the lifetime of the mRNA.
(otherwise, we would need to group the missing   "complexes which bind to the cap" like RNA de capping complexes under here, and find a way to make it clear that this term was not the CBC)
and remove  any descendants that do not refer to THE CAP binding complex

"Replace by" term (ID and label)
If all annotations can safely be moved to that term

"Consider" term(s) (ID and label)
Suggestions for reannotation

Are there annotations to this term?

How many EXP:

Are there mappings and cross references to this term? (InterPro, Keywords; check QuickGO cross-references section)

Is this term in a subset? (check the AmiGO page for that term)

Any other information

Checklist for ontology editor
Check term usage and metadata in Protégé

[ ] check term usage in the ontology
[ ] check internal mappings: RHEA, EC, MetaCyc
[ ] check subset usage
[ ] check taxon constraints

Check annotations

[ ] create Annotation Review spreadsheet

Annotation Review template: https://docs.google.com/spreadsheets/d/1izV3q1jnq_Ybg5MJ53O_b5BCTkGtjl_Fi-cOg3-7eBE/edit#gid=0

Instructions: https://wiki.geneontology.org/Annotation_Review_Request

[ ] create annotation review ticket: https://github.com/geneontology/go-annotation/issues/new?assignees=&labels=annotation+review&template=annotation-review-for-obsoletion.md&title=Review+annotations+to+[INSERT+GO+TERM]
[ ] find external mappings (via IEAS), include in obsoletion notice
[ ] tag curators in Annotation Review ticket. Responsible annotator for each group: https://github.com/geneontology/go-site/blob/master/metadata/group-contacts.csv

Notification

[ ] create obsoletion announcement
[ ] announce to GO friends<EMAIL_ADDRESS>[ ] paste the text in the ontology ticket

Are you planning to do the same with mRNA cap binding ? (and regulation of mRNA cap binding)

I wasn't going to touch the binding terms. I was only looking at  the complex terms which  wee confusing as it was difficult to know which complexes there referred to (because  the grouping term matched and actual complex name).
I hadn't thought beyond solving that problem,  which could end up with misleading annotations.
To be honest I largely ignore binding terms because we try not to use them at all if possibe.

OK, I wanted to see if we could keep the ontology consistent. No big deal for bindings, I agree.

I thought the binding terms were OK though, they refer to the structure being bound (mRNA cap etc).
The complex is a bit different because of the clunky naming, (its like actually calling a  specific complex "DNA binding complex"), when there are many types. The binding terms aren't confusing.

@blazaropinto
@esperetta


Adding evaluation support for Concepts

resolves #421
I tried to mimic CodeRefEvaluator and its related classes.
Extended CodeDefEvaluator to set the codesystem version per the CQL spec (https://cql.hl7.org/02-authorsguide.html#code).
I added the CodeDefEvaluator change purely to make my unit tests slightly more "complete".
Please let me know if there are any issues with setting that field, it's not required for the overall change set.

Are there any remaining issues with this PR?


[Snyk] Security upgrade dustjs-linkedin from 2.5.0 to 3.0.0

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json
package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity
Reachability

348/1000  Why? Confidentiality impact: High, Integrity impact: Low, Availability impact: Low, Scope: Unchanged, Exploit Maturity: Proof of Concept, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.00768, Social Trends: No, Days since published: 1269, Reachable: Yes, Transitive dependency: No, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 98, Impact: 7.84, Likelihood: 4.43, Score Version: V5
Prototype Pollution SNYK-JS-DUSTJSLINKEDIN-1089257
Yes
Proof of Concept
Reachable

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Prototype Pollution

🎉 Snyk hasn't found any issues so far.
✅ code/snyk check is completed. No issues were found. (View Details)


Updating Kuttl tests for v1.8.3

What type of PR is this?
/kind enhancement
What does this PR do / why we need it:
Updating Kuttl tests to match the version v1.8.3
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
Test acceptance criteria:

[ ] Unit Test
[ ] E2E Test

How to test changes / Special notes to the reviewer:

/test all

/retest

/retest

/test v4.12-kuttl-sequential v4.11-kuttl-sequential v4.10-kuttl-sequential

/test v4.11-kuttl-sequential

/test all

/test v4.11-kuttl-sequential v4.10-kuttl-sequential

/test all

/test all

/retest

/test all

/retest

/retest

/retest


Consider exposing ITerminalInstance.shellLaunchConfig as a promise

This could avoid problems like this https://github.com/microsoft/vscode/pull/90847

@Tyriar To solve #90415 I initially wanted to do something like this but it felt like a bigger change so I went with await instace.processReady.
If promise is an acceptable solution and that's OK with you, I would like to help with that.

@dormesica you can give it a shot, I mentioned consider as I'm not 100% sure whether we want to do this just yet or not. It does seems like what we should be doing based on what we saw with #90847 though.

@Tyriar Please remember to create scoped branches like tyriar/fix-90993 instead of #90993.

@joaomoreno yep,this was a one off because I hardly ever push branches to origin from remotes and didn't rename it


python312Packages.cohere: 5.9.2 -> 5.9.4

Description of changes
Changelog: https://github.com/cohere-ai/cohere-python/releases/tag/5.9.4
cc @natsukium

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.

Command: nixpkgs-review pr 344203
Systems: x86_64-linux,aarch64-linux,x86_64-darwin,aarch64-darwin

x86_64-linux

:white_check_mark: 8 packages built:

python311Packages.cohere
python311Packages.cohere.dist
python311Packages.llmx
python311Packages.llmx.dist
python312Packages.cohere
python312Packages.cohere.dist
python312Packages.llmx
python312Packages.llmx.dist

aarch64-linux

:white_check_mark: 8 packages built:

python311Packages.cohere
python311Packages.cohere.dist
python311Packages.llmx
python311Packages.llmx.dist
python312Packages.cohere
python312Packages.cohere.dist
python312Packages.llmx
python312Packages.llmx.dist

x86_64-darwin

:white_check_mark: 8 packages built:

python311Packages.cohere
python311Packages.cohere.dist
python311Packages.llmx
python311Packages.llmx.dist
python312Packages.cohere
python312Packages.cohere.dist
python312Packages.llmx
python312Packages.llmx.dist

aarch64-darwin

:white_check_mark: 8 packages built:

python311Packages.cohere
python311Packages.cohere.dist
python311Packages.llmx
python311Packages.llmx.dist
python312Packages.cohere
python312Packages.cohere.dist
python312Packages.llmx
python312Packages.llmx.dist


Enalble 2d view of different floors

This PR wants to fix some small issues and contribute to add better functionalities for 2d floorplans and their PDF export.

allowing creating edges from a subset
fix creation of edges in case an IFC file has only Proxy entities
automatic centering of the model in the PDF export
allowing creating measures in the 2d view, both bounded on vertexes of entities and as well freely on a floor plane
exporting the length of the measurement lines in PDF (right now only the text, todo add the line itself)
improving the example with a basic 2d viewer by floor and screenshot/pdf export

I saw there is a stub of storey-manager, this PR was intended before the commit with that file, I think we can merge the two approaches and keep fixing problems such as determining the best height to do the section, improve the pdf export etc.

Hey @TiberioG this looks great! If you resolve the super small conflicts, I'll merge. FYI, you might now that we recently released a bounty system, and one of the new things is a much better way to generate the vectorization. This doesn't affect this PR, but if you are interested in floor plan generation, this might make things way easier to handle. 🙂  Let me know what you think, happy to discuss it in Discord. Cheers!

By the way @TiberioG do you have Discord? It would be awesome to be able to speak about this in a chat  :)


Configuration option to disable BUNDLED WITH?

Hi, I'm getting really tired of having to manually remove the BUNDLED WITH from my lock files.  It's easy to forget and accidentally commit it.  And, for obvious reasons, I don't want to force everyone on my team to update the version of bundler that they're using.
Any chance of adding a configuration option to suppress BUNDLED WITH?  That way we can all be happy?
This is related to https://github.com/bundler/bundler/issues/3697 of course.  Thanks for Bundler!

As a feature request, this probably belongs over on https://github.com/bundler/bundler-features.

@bronson feature requests do belong over on the features tracker, so I'm going to close this, but I encourage you to open a feature request over there.

OK.  To me this would be a fix to a pretty irritating bug but I'm happy to oblige.


Attempting to rollback a connection that fails to get created

At this line, the beginTransaction call could fail, throwing an error that gets caught on line 570. The issue we are running into is that rollbackTransaction then gets called on a transaction that's not created yet. In the driver we're using, rolling back a transaction that's not created  yet is considered an error.
I could go either way on this one, so is it a bug in the driver code that rollbackTransaction shouldn't throw an error if it's not in a transaction yet, or is it a bug to call rollbackTransaction when the transaction hasn't been created yet.
If the former, I'll go open an issue against the driver to put a fix in. If it's the latter, then I'm hoping it can get fixed here.

Good catch (pun intended)! This should be fixed in Kysely.


Feature Request:  Old Colors (Budget)

YNAB recently changed the default colors to a more "contrast friendly" style.  I hate it.  Can we have an option to change it back?  Thanks.

@WanderingRaven YNAB did a change themselves for this, you can select the old colors again in https://app.youneedabudget.com/settings


Do you want to automatically install all requirements?

sudo python2 netattack2.py
ERROR: Modules missing.
Do you want to automatically install all requirements? (y/n): y
[*] Installing requirements, please stand by...
Requirement already satisfied: netifaces in /usr/lib/python3/dist-packages (0.11.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
E: Package 'python-scapy' has no installation candidate
E: Unable to locate package python-nmap
E: Unable to locate package python-nfqueue
[+] Requirements installed.
reinstalling netattack2 didn't help.

Did you find a solution?


Template couldn't be built using MSYS2 CLANG64

Godot version
v4.3.stable.mono.official [77dcf97d8]
godot-cpp version
fbbf9ec4efd8f1055d00edb8d926eef8ba4c2cce
System information
Windows 10
Issue description
pxd@machine /c/WorkDir/gre3
$ scons use_mingw=yes compiledb=true
scons: Reading SConscript files ...
Auto-detected 16 CPU cores available for build parallelism. Using 15 cores by default. You can override it with the -j argument.
Building for architecture x86_64 on platform windows
scons: done reading SConscript files.
scons: Building targets ...
Compiling godot-cpp/src/godot.cpp ...
Compiling godot-cpp/src/classes/editor_plugin_registration.cpp ...
Compiling godot-cpp/src/classes/low_level.cpp ...
scons: *** [godot-cpp/src/godot.windows.template_debug.x86_64.o] El sistema no puede encontrar el archivo especificado
scons: *** [godot-cpp/src/classes/editor_plugin_registration.windows.template_debug.x86_64.o] El sistema no puede encontrar el archivo especificado
scons: *** [godot-cpp/src/classes/low_level.windows.template_debug.x86_64.o] El sistema no puede encontrar el archivo especificado
scons: building terminated because of errors.

Godot builds fine tho

This seems to be an issue for godot-cpp and not for this template. Please create a new issue there and link to this issue here.

I usually use MSYS2 with mingw on Windows, and don't personally have issues building godot-cpp. So, I think the godot-cpp issue will need some more details than provided here.

I think I remember this problem. From recollection it's because the clang64 environment is for compiling with llvm so it does not provide an x86_64-w64-mingw32-ar and fails without a nice error message. Checking my own install I have x86_64-w64-mingw32-llvm-ar. Adding use_llvm=yes solves the issue for me when building godot-cpp, but it appears that does not carry over when using the same command here.


Add Prow bot style tool to automate PR/Issue workflow

What would you like to be added:

use https://github.com/kubernetes/test-infra/tree/master/prow style tool to automate  PR merging and other job.

Why is this needed:

Perhaps https://github.com/jpmcb/prow-github-actions/issues is helpful.

That would be awesome. I believe I also have a new issue related to this one to include checks against the spec's scheme in the CI too.

Can you explain a little more, I'm not very clear what you mean.

The idea is to download the scheme/examples from the main repo (https://github.com/serverlessworkflow/specification) and include specific integration tests with those assets.

The idea is to download the scheme/examples from the main repo (https://github.com/serverlessworkflow/specification) and include specific integration tests with those assets.

The most problem is the example have been embedded in README.md file's content, in order to archive this goal, we should move example's schema file to another separate directory.

This is a valid improvement.

The idea is to download the scheme/examples from the main repo (https://github.com/serverlessworkflow/specification) and include specific integration tests with those assets.

The most problem is the example have been embedded in README.md file's content, in order to archive this goal, we should move example's schema file to another separate directory.

https://github.com/serverlessworkflow/specification/issues/324 is doing this.


Generated SVG file based on users input

GIVEN a command-line application that accepts user input
WHEN I have entered input for all the prompts
THEN an SVG file is created named logo.svg
AND the output text "Generated logo.svg" is printed in the command line

The application is now able to generate a new logo.svg file while also confirming it's generation in the command terminal!


Launcher need 3 times the size of update as free space

Describe the bug
The launcher needs 2 times the update size when first downloading preload. But when installing the update, Launcher still needs 2 times the update size for some reason. So, in the end, I need 3 times the size of the update as free space...
For example, update 10 GB. Space needs 20 GB. Finished downloading the 10 GB update. When trying to install it, the launcher needs 20GB for some reason.
To Reproduce
Steps to reproduce the behaviour:

Download preload. The launcher noted needs 2 times space.
Install the update. The launcher noted needs 2 times space for some reason.

Expected behaviour
Like the Genshin launcher, only need 2 times of update size. When installing the update, if the update already downloads only check if the free space with 1-time update size.
Additional context
I never used the default launcher, so I don't know if this is the default behaviour...

Ah I see. Did you see any error messages pop up as a separate window or in the log window?
The launcher does have a free space check, but it only serves as a warning and doesn't prevent you from proceeding.

Ah I see. Did you see any error messages pop up as a separate window or in the log window?

No

The launcher does have a free space check, but it only serves as a warning and doesn't prevent you from proceeding.

When you think about it, you can proceed. I never tried that so, I forgot sorry. But it is still a bug because it gives a false impression that the user doesn't have enough free space. I never tried to ignore that warning because maybe I am mistaken.

I'll look into it, thank you for the report.

Having investigated it, I've come to the conclusion that the check is correct (if my logic is right).
Say you had 30 GB free space. You have then downloaded 10 GB, so you now have 20 GB free. The compressed archive contains 15 GB worth of files when decompressed - the actual size checked is higher to make sure there's some space to spare in case free space changes during decompression (which is very likely to happen on a system drive, for example). Remember, the archive remains there until decompression is finished - so you need to account the 10 GB it's occupying. After the decompression is done, we are left with 5 GB, then the 10 GB archive is deleted and 15 GB of free space remains.
Hopefully my logic is right, I'm all ears if I made a mistake anywhere.

Tweaked the installation UI to provide the archive size + recommended free space prior to decompression in v1.4.20230628.0 as well as having it tell the total free space on disk. The free space recommendation in pre-installation remains the same, as I believe the archive size can be disregarded because files are being mostly overwritten without taking much extra space.
If you have something to say please do otherwise I'm going to close the issue.

From my understanding of what you said, yeah, that should be fine.
I don't think I have anything more about this issue. Thanks!


[BUG] Improve sweep.yaml comment trigger

What does this implement/fix? Explain your changes.
This improves the sweep.yaml comment.
Does your contribution introduce a new dependency? If yes, which one?
NA
PR checklist

For all contributions

[ ] I've added myself to the list of contributors.
Alternatively, you can use the @all-contributors
bot to do this for you.
[ ] The PR title starts with either [ENH], [MNT], [DOC], [BUG] or [GOV] indicating
whether the PR topic is related to enhancement, maintenance, documentation, bugs or
governance.

For new estimators and functions

[ ] I've added the estimator to the online API documentation.

For developers with write access

[ ] Optionally, I've updated aeon's CODEOWNERS
to receive notifications about future changes to these files.

@all-contributors please add @wwzeng1 for engineering

https://github.com/all-contributors please add @wwzeng1 for bug

@all-contributors please add @wwzeng1 for fixing a bug

I'm going to piggy-back off this to remove the test rule also actually, I think it is too lax as well and not every file needs one really.


Elephicon has been released instead of LeafView

https://github.com/sprout2000/leafview/releases/tag/v1.7.4

https://github.com/sprout2000/elephicon/issues/217

https://github.com/sprout2000/elephicon/issues/217#issuecomment-1062546338


Batch deletion function

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
How to batch delete frames in CVAT？
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

It is currently possible to use the API directly https://app.cvat.ai/api/swagger/#/tasks/tasks_partial_update_data_meta
Does this answer your question?

目前可以直接使用 API https://app.cvat.ai/api/swagger/#/tasks/tasks_partial_update_data_meta 这是否回答了您的问题？
Perhaps this can be achieved by clicking a button on the front-end to batch delete the frame rate of a certain interval


Define and enforce the restriction on index_id

We need to define and enforce what kind of string is accepted as an index-id.
Please edit this ticket to drive the discussion.
Read #55 to understand the actual nature of an index_id.

vespa & ES: ["a"-"z","A"-"Z", ""]["a"-"z","A"-"Z","0"-"9",""]*.

es: https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-indexing.html
vespa: https://docs.vespa.ai/documentation/reference/schema-reference.html#index

es accepts unicode or is it ascii only?

good question... and yes they accept unicode : https://discuss.elastic.co/t/index-name-type-name-and-field-name-rules/133039/2
I would stick to ascii as I can only see stupid things coming from accepting unicode, and I don't see any added value in accepting unicode

I can see @fmassot  has already put a lot of thought into this. reading both ES vs Vespa, I would prefer the Vespa version for the following reasons:

ES version seems to not be stable because of the different characters they support
Vespa version seems to be very simple
Vespa version is Pretty-URL friendly because of the simplicity which is good for s3 (probably sharing the index URL)

I suggest treating the _ character as special. That is, an index should not start with _ even if we don't have use for it at the moment. we may want to treat exceptionally some indices in the future.

yes totally agree with that, and let's start with something restrictive, if people are so angry to not be able to place something like 💩 in the index name then we can reconsider it.


Forkhub's back button doesn't work in Issue Dashboard

When you go to the Issue Dashboard then open an issue, pressing ForkHub's back button on the upper left does not do anything. To go back, one must press the Android system's back button.
I am guessing the reason why is because once you are on a particular github section then it is the first instance in that section and the app's back button only stays within that section. Just guessing.
I feel like both back buttons should have the same effect. Hitting back and having nothing happen is strange and not the behavior a user would expect.

+1, seeing exactly the same thing.

I've noticed that this button is not consistent with the Android back button functionality since it does not go back through the navigation history.


Description
What is polymorphism
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

_/assign

/assign


Converting NettyChannelBuilder reference to ManagedChannelBuilder

Coverage decreased (-0.004%) to 80.897% when pulling f986ea9f904677885ec2add86a276bdca7c6d18d on garrettjonesgoogle:nobranch into de6516524b308bad6dc26b71cce8482e9cda672f on GoogleCloudPlatform:master.


drop old go version support (drop before go v1.18)

The dependency package golang.org/x/tools that we rely on no longer supports older versions of Go.

Error: ../../../go/pkg/mod/golang.org/x/tools@v0.9.3/internal/gocommand/invoke.go:399:62: undefined: os.ErrProcessDone
note: module requires Go 1.18

https://github.com/KEINOS/go-todotxt/actions/runs/5261517702/jobs/9509712475#step:4:20

We should drop Go v1.13-1.17 as well.

I's already dropped down in commit https://github.com/KEINOS/go-todotxt/commit/2f847926f028d9b04cc957536b370301ce60a51d.
The below error seems to be a glitch due to the old cache.
https://github.com/KEINOS/go-todotxt/actions/runs/5261517702


Add files via upload

@caferbayram I am sorry, the domain ogr.iu.edu.tr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Pack at https://education.github.com/discount_requests/application. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).

@caferbayram I am sorry, the domain ogr.iu.edu.tr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Pack at https://education.github.com/discount_requests/application. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).

thanks, it worked


[AutoRelease] t2-appcontainers-2024-03-18-50771(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5027
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=4772

issue link:https://github.com/Azure/sdk-release-request/issues/5027

/check-enforcer override


C# editor insert space when autoformat instead of tab

From @Thaina on March 29, 2016 5:59
I already set a setting as "editor.insertSpaces": false,
But when I trigger autoformat,type } to close block for example, all tab in that block was convert into 4 space
This only happen to C#
Copied from original issue: Microsoft/vscode#4729

This is a duplicate of #93


Update RenderTexture fill

This PR (delete as applicable)

Adds a new feature
Fixes a bug

Describe the changes below:
Add parameters to enable filling a rectangle instead of a whole texture. Besides that alpha was ignored for canvas.
I don't know much about gl, so please check if that is ok or if there's any better way.
Please check default values for width and height in @param line, so they don't mess with your documentation generation.

I've changed it, so I hope it's ok now. My guess is that disabling scissor test is not needed, because it is never disabled in the whole phaser.js source.


[stable/prometheus] Update apiVersion

What this PR does / why we need it:
Just set stable apiVersion
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

Oops, does this chart support kubeVersion 1.3?


NMS-214

Enum deserialize fixed.

Thanks for the fix!
Confused why you would not change createFileProcessedStatusHttpPost()

Will fix it.
On Jun 30, 2015 7:17 AM, "Frank Huster"<EMAIL_ADDRESS>wrote:

Thanks for the fix!
Confused why you would not change createFileProcessedStatusHttpPost()
—
Reply to this email directly or view it on GitHub
https://github.com/motech-implementations/mim/pull/436#issuecomment-117203576
.

Now I remember the reason which is weird.
I thought I should have both the flavour, direct send json string and
through serialized as well.
I will make a new method for that repeated work.
Is that fine with you?
On Jun 30, 2015 7:32 AM, "abhishek srivastava" <
<EMAIL_ADDRESS>wrote:

Will fix it.
On Jun 30, 2015 7:17 AM, "Frank Huster"<EMAIL_ADDRESS>wrote:

Thanks for the fix!
Confused why you would not change createFileProcessedStatusHttpPost()
—
Reply to this email directly or view it on GitHub
https://github.com/motech-implementations/mim/pull/436#issuecomment-117203576
.

Makes sense if the existing method is still used.

It's used but just in one case.
On Jun 30, 2015 7:53 AM, "Frank Huster"<EMAIL_ADDRESS>wrote:

Makes sense if the existing method is still used.
—
Reply to this email directly or view it on GitHub
https://github.com/motech-implementations/mim/pull/436#issuecomment-117216078
.

Cool, then your solution of creating a new method makes sense!


TypeError: Class extends value undefined is not a constructor or null

"webpack": "^5.24.4",
"webpack-cli": "^4.5.0",
"speed-measure-webpack-plugin": "^1.4.2",
Mac OS 11.2.3
node：v12.16.1
npm: 6.13.4

+1

遇到了同样的问题

Same here

1

遇到同样问题，暂时不知道如何解决[webpack-cli] TypeError: Class extends value undefined is not a constructor or null

遇到同样问题，暂时不知道如何解决[webpack-cli] TypeError: Class extends value undefined is not a constructor or null

暂时先不用这个包了，等待修复吧

Modify the version of mini-css-extract-plugin to 1.3.5 to solve the problem

Doing that gives this error ->  Cannot read property 'PROCESS_ASSETS_STAGE_ADDITIONS' of undefined in copy-webpack-plugin


Migration from JCenter to MavenCentral

Is your feature request related to a problem? Please describe.
With the announcement of Bintray/JCenter to be shutdown, the bast majority of libraries are already (or migrating) to mavenCentral, however, trustkit is still only available on JCenter.
Describe the solution you'd like
Migrate the trustkit library to MavenCenter
Additional context
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

Closing this as a duplicate of https://github.com/datatheorem/TrustKit-Android/issues/81. We are working on the migration right now.


replaceVars is not needed on setup.sh since 15103e5e5

Since the change in ebd18cf115cc212d9780092e9207e19b800f67a0 on Dec 14, myEnvFun no longer evaluates because replaceVars is more strict about attempting to replace variables that do not exist in the source file.
This PR removes the replacement of a variable that hasn't existed in setup.sh since 2014 (in 15103e5e5).

Thank you for this very prompt review and merge @wolfgangwalther and @philiptaron! Looking forward to see this on the unstable channel soon.


docs: fix wrong heading

Summary

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

Thanks


asdf-2.14.1 leads to a condition where weldx extension is found twice.

This makes get_weldx_extension() fail, as the weldx extension is meant to be found only once. Eventually we register our extension in a legacy manner.
Downgrading to asdf-2.13 circumvents this problem.

It seems one Extension contains all converters and tags, and the other does only contain tags.

Note that I released a quick fix build for conda-forge pinning asdf to <2.14

xref conda-forge/weldx-feedstock#22

@CagtayFabry another interesting observation is that on asdf-2.13 the legacy flag of the extension is False, while in asdf-2.14 it is True. But I cannot spot this change in upstream extension handling... Note that even asdf's extension is a legacy on 2.14
Its weird :hurtrealbad:

@CagtayFabry another interesting observation is that on asdf-2.13 the legacy flag of the extension is False, while in asdf-2.14 it is True. But I cannot spot this change in upstream extension handling... Note that even asdf's extension is a legacy on 2.14
Its weird :hurtrealbad:

that is indeed really weird, I suggest bringing this up in https://github.com/asdf-format/asdf/issues/1254 too and looking for clarification with the asdf devs on what is happening here
I have not followed the 2.14 release in depth so far

It looks like if you have an editable install (which we also do for our Github action pipeline), we get duplicated entry points.

I think ASDF (thanks @braingram) may have fixed this bug in asdf-format/asdf#1260. Can you confirm that this resolves your bug? If so we will do a bugfix release ASAP for you.

I think ASDF (thanks @braingram) may have fixed this bug in asdf-format/asdf#1260. Can you confirm that this resolves your bug? If so we will do a bugfix release ASAP for you.

We will look into it, thank you for the heads up! @WilliamJamieson 🚀

@WilliamJamieson Thanks for providing this fix. It works like expected!

fixed upstream by asdf-format/asdf#1260


Enhanced the search bar and scrollbar

Issue Number #300 resolved
I've made the following changes:
-enhanced the search bar
-enhanced the scrollbar
-added a search icon
Screenshots:

Thank you :)

Sorry for not looking into it, here I've fixed.
Hope this looks good :)

Great Work!! Thankyou for your contribution


add env request items even when no envprefix

I'll give this a quick whirl and merge, thanks!

Looks good to me, thanks @rmcolq


Keypad failed attempt information

Hi, is there maybe a way how to get information about failed attempt on Keypad. So that we know when someone entered wrong passcode (tried to guess it). With Nuki Bridge there is possibility to set up mail notification in case of failed attempt but to be honest I never succeed to setup it up.
If there is a way I can help with testing/troubleshooting so that we add that as feature.

You could extract this information from the "log" that is published when you enable "Publish auth data". You'll get the last 5 log entries (same as in the smartphone app). If the latest one has a completionStats of "invalidCode", you know someone tried to enter a code.

If you are a Home Assistant user you can user, the following MQTT Sensor to your configuration.yaml:
mqtt:
  sensor:
    - state_topic: "nuki/lock/log"
      name: "Nuki Lock Keypad Status"
      value_template: >-
        {% for state in value_json %}
          {% if state.type == "KeypadAction" %}
            {{ state.completionStatus }}
          {% endif %}
        {% endfor %}`
      icon: mdi:dialpad

(Maybe you need to adjust the state_topic)
This will create a new entity named sensor.nuki_lock_keypad_status and display the Status of the last Keypad Action (if there is a matching entry in the last 5 log items). Examples for the Status are success or invalidCode.
Then you can use this entity to create an automation that notifies you whenever the status changes to invalidCode

Very nice I think we can add this as an auto discovery topic.

That would be even better! :)

Thanks both of you. I will close this issue as we solved it.
For the future reader.
If your nuki/lock/log is just "--" and you have marked "Publish auth data" box that means that you didn't provide correct PIN to Nuki Hub.
Also Home Assistant automation looks like this after you add @sli-cka part of the code or in that time auto discovery will be set up already:
`alias: "Hall: Keypad invalid code notification"
description: ""
trigger:

platform: template
value_template: "{{ 'invalidCode' in states('sensor.nuki_lock_keypad_status') }}"
condition: []
action:
service: notify.telegrambot
data:
message: "🚨 Keypad invalid code entered! 🚨 "
mode: single`

Check release 8.19