Confusing error when trying to define both a durable worker and a fetch handler in the same file

Hi there,
I'm trying to play around with Durable Workers, so I copied in the Chatroom example from the README into my pre-existing lib.rs (which was mostly the default example after running wrangler generate).
My entire src/lib.rs file looks like this:
use worker::*;

#[durable_object]
pub struct Chatroom {
    state: State,
    env: Env, // access `Env` across requests, use inside `fetch`
}

#[durable_object]
impl DurableObject for Chatroom {
    fn new(state: State, env: Env) -> Self {
        Self { state: state, env }
    }

    async fn fetch(&mut self, _req: Request) -> Result<Response> {
        todo!()
    }
}

#[event(fetch)]
pub async fn main(req: Request, env: Env) -> Result<Response> {
    Response::error("Bad Request", 400)
}

Running wrangler build, I get this error:
[INFO]: Compiling to Wasm...
   Compiling project_name v0.1.0 (/home/achin/tmp/70/project_name)
error[E0428]: the name `__WASM_BINDGEN_GENERATED_0bdc7e4367fd39cb` is defined multiple times
  --> src/lib.rs:20:1
   |
3  | #[durable_object]
   | ----------------- previous definition of the value `__WASM_BINDGEN_GENERATED_0bdc7e4367fd39cb` here
...
20 | #[event(fetch)]
   | ^^^^^^^^^^^^^^^ `__WASM_BINDGEN_GENERATED_0bdc7e4367fd39cb` redefined here
   |
   = note: `__WASM_BINDGEN_GENERATED_0bdc7e4367fd39cb` must be defined only once in the value namespace of this module
   = note: this error originates in the attribute macro `event` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0428`.
error: could not compile `project_name` due to previous error
Error: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit status: 101
  full command: "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"
Error: wasm-pack exited with status exit status: 1
Error: Build failed! Status Code: 1

I think it's illegal to define a fetch handler and also a durable object in the same file.  Is that true?
If so, I would be great if this could be detected better (better error message), and even greater if the README stated this a bit more clearly :)
Version info:
rustc: rustc 1.58.0-nightly (dd549dcab 2021-11-25)
wrangler: wrangler 1.19.5
workers-rs: 0.0.7

@eminence - thanks for reporting this! Currently, you'll need to define the Durable Object in a separate module. I will admit, this is a bit of an oversight on my part, as the naming of the generated code from the macro shouldn't collide this way. I will track this and work on a fix, but I don't think it will be ready before the end of the year with other efforts taking priority.

Ah, so the Durable Object and the worker handler should be in the same crate, but different modules?  I'll try that, thanks!
There's no rush on this, a fix anytime next year would be fine :)

Yep! you can see an example of this layout in the worker-sandbox directory. However, there is currently something else broken here, which I am trying to debug.. so you may not be able to run the Durable Object yet.. If you try and hit any issues, please let me know! (also would be glad to know if it ends up working)

However, there is currently something else broken here, which I am trying to debug.. so you may not be able to run the Durable Object yet.. If you try and hit any issues, please let me know!

I've been trying to copy the layout from worker-sandbox and I'm getting this error when running my code:
A hanging Promise was canceled. This happens when the worker runtime is waiting for a Promise from JavaScript to resolve, but has detected that the Promise cannot possibly ever resolve because all code and events related to the Promise's request context have already finished.
TypeError: Fetch API cannot load: /test
panicked at 'TypeError: Fetch API cannot load: /test', src/lib.rs:43:1

Is this perhaps the same error you are chasing?

That's the one!

@eminence - have you "accepted" the new pricing plan in your dashboard, now that Durable Objects are generally available / out of Beta?
If not, please do by logging in & visiting this URL https://dash.cloudflare.com/<ACCOUNT_ID>/workers/overview?enable-durable-objects, and try again.

Hi @nilslice -- Yes, I've done that.
Here's what I see in the top-right of my dashboard when I visit the URL you suggested (which I think means I've correctly accepted the new pricing)

Ok, thank you for confirming! I have been able to run the Durable Object example in the demo, as well as a few others from the community, so I don't think we're dealing with the same issue.
If you'd like to share some more info, or bits of relevant code, that would be great -- happy to try and help debug whatever problem you're running into. Ideally I could see the fetch call you're making to the DO from the Worker, as well as the DO code itself.

I very much appreciate the offer of help.  I've created a new temp repo that contains my full code (plus Cargo.lock and wrangler.toml), plus a README that has the full transcripts of the errors:
https://github.com/eminence/test-workers-rust/tree/4fac1d5d0e3fd88dd5ef654ecd432174780f4fae
Thanks again.

Hey, @eminence - can you try changing this fetch_with_str call: https://github.com/eminence/test-workers-rust/blob/4fac1d5d0e3fd88dd5ef654ecd432174780f4fae/src/lib.rs#L50
to instead use a full https://some-domain/test ? it doesn't need to be a real domain, given that the fetch is made directly to your DO. There may have been some subtle runtime change, where this used to work when passed only a path in place of a full URL.

The runtime team made a change, and it slipped by, and should have been made clear by updating examples in this repo...
The change in particular is that we modified how the runtime interprets fetch calls to Durable Objects, https://developers.cloudflare.com/workers/platform/changelog#10212021
durable_object_fetch_requires_full_url is a new compatibility flag that could be added to wrangler.toml to opt-in to the old behavior.

That work, thanks!

Great! I'm going to close this for now, and track internally the original issue of same-module DO's. Thanks for your patience & help debugging.


[REEF-446] When a port can't be bound, NettyMessagingTransport runs into NullPointerException

This patch:

Throws IllegalStateException if the tcpPortProvider runs out of free ports
In the catch clause, wraps the exception into RuntimeExceptions, logs the cause and rethrows

JIRA:
[REEF-446] (https://issues.apache.org/jira/browse/REEF-446)

A  slightly more robust way of handling the case when the tcpPortProvider returns no free port might be this:

Instantiate the second tcpPortProvider and try to find a free port with it. This provider should try all ports form the widest possible range, e.g. all ports that are not well-known.
Fail only if the second provider returns nothing.

The rationale behind this approach  is that there might be something wrong with the first tcpPortProvider - such as too narrow port range - or  there might exist some temporary weird contention in the underlying OS.
However, I don't know how to correctly create the second provider within a Tang-injectable constructor. This looks like a dependency and probably also should be injected via Tang.

I don't think the more robust way is in fact more robust. The reason we needed the port provider in the first place are clusters on which only a very narrow range of ports is allowed by the infrastructure. Trying a much wider range would just lead to timeouts on those.

@markusweimer Updated

I will test and merge.


No audio, Asus CX1700CKA (Gallop) + Fedora 41

Describe the bug
Dummy audio device listed. There's also 5 "pro-audio" outputs and 3 inputs, that don't work.
Boardname
Gallop
Logs
debug-logs-Gallop-2024-11-25_23h12m_chromebook.tar.gz

Same issue as #185


install plugin for jekyll export from wordpress

installed, but with 820 posts in the db, its slow and times out. needs to be edited to handle this and output files one at a time.

related #18


RadzenRequiredValidator firing on duplicate property names

fix for:
https://forum.radzen.com/t/required-validator-issue/13224/3
https://github.com/radzenhq/radzen-blazor/issues/395

Hi @mderoo,
Thank you for the PR. Everything seems to work fine. I've just inverted the if (hopefully you don't mind). The fix will be released on Nuget next week.


Ensuring the execution of 'Router.loadEvents'

Sometimes the DOMContentLoaded event has already been fired. To make sure the loadEvents() method is always executed, we should check the document.readyState and, if it’s already defined as "complete", execute the callback immediately.
Reference

closed by #1751


Atlassian Stash Support

Hi :) Just wanted to know what are your plans / thoughts on supporting Atlassian Stash as a backend.

I wrote a tool for Stash myself: https://github.com/vassilevsky/stash_pull_request_commenter


Nested error logging on generate command

If generate error has nested objects, log their contents
Before

After

Awesome! Thanks!


Fixed typo in PCA.md

There is a conflict with the new doc changes.  You need to rebase.

Conflicted version; easier to redo


nit: Fixed extra space before > in Accessibility documentation

TSIA

@facebook-github-bot shipit

@facebook-github-bot shipit


Updated provisioning setup to use pipenv with python 3.7

added Pipfile and Pipfile.lock

Note: Add the same setup to travis (currently still running from requirements.txt)


🐛 [BirdNet-PI] <Boya By-LM40 mic not working for addon but shows in config menu Raspberry Pi 5 8 GB>

Description
No sound is detected by the mic in BirdNet-PI, which I read it may be due to setting up the mic in the addon. But it says to go to the Web Terminal but I get 404 error when going to the web terminal

Reproduction steps
1. Start BirdNet-PI with micropuone selected
2. spectrograph is blank and live audio is blank

Addon Logs
BirdNet-PI
BirdNET-pi
[alsa @ 0x55911009e0] cannot open audio device dsnoop (No such file or directory)
dsnoop: Input/output error
... using gotty-aarch64 in phpsysinfo

Starting the upstream container

[custom-init] Service files found in /custom-services.d
[custom-init] 00-php_pfm.sh: service detected, copying...
[custom-init] 00-php_pfm.sh: copied
[custom-init] 01-avahi.sh: service detected, copying...
[custom-init] 01-avahi.sh: copied
[custom-init] 02-caddy.sh: service detected, copying...
[custom-init] 02-caddy.sh: copied
[custom-init] 02-nginx.sh: service detected, copying...
[custom-init] 02-nginx.sh: copied
[custom-init] 30-monitoring.sh: service detected, copying...
[custom-init] 30-monitoring.sh: copied
[migrations] started
[migrations] no migrations found
───────────────────────────────────────
  _____ __ __ _____ _____ _____ _____
 |     |  |  |   __|_   _|     |     |
 |   --|  |  |__   | | | |  |  | | | |
 |_____|_____|_____| |_| |_____|_|_|_|
       _____ __ __ _ __    ____
      | __  |  |  | |  |  |    \
      | __ -|  |  | |  |__|  |  |
      |_____|_____|_|_____|____/

  Based on images from linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    0
User GID:    0
───────────────────────────────────────
[custom-init] No custom files found, skipping...
Starting service: php pfm
Starting service: throttlerecording
Starting service: nginx
Starting service: avahi daemon
Found user 'avahi' (UID 104) and group 'avahi' (GID 106).
Successfully dropped root privileges.
avahi-daemon 0.8 starting up.
Loading service file /etc/avahi/services/http.service.
Joining mDNS multicast group on interface eth0.IPv4 with address <IP_ADDRESS>.
New relevant interface eth0.IPv4 for mDNS.
Joining mDNS multicast group on interface lo.IPv6 with address ::1.
New relevant interface lo.IPv6 for mDNS.
Joining mDNS multicast group on interface lo.IPv4 with address <IP_ADDRESS>.
New relevant interface lo.IPv4 for mDNS.
Network interface enumeration completed.
Registering new address record for <IP_ADDRESS> on eth0.IPv4.
Registering new address record for ::1 on lo.*.
Registering new address record for <IP_ADDRESS> on lo.IPv4.
[ls.io-init] done.
Server startup complete. Host name is db21ed7f-birdnet-pi.local. Local service cookie is 350573616.
Service "BirdNET-Pi db21ed7f-birdnet-pi" (/etc/avahi/services/http.service) successfully established.
Starting service: caddy
{"level":"info","ts":1719674038.3926864,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1719674038.3948503,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1719674038.3966372,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//<IP_ADDRESS>:2019"]}
{"level":"info","ts":1719674038.3983169,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x4000135c80"}
{"level":"info","ts":1719674038.401418,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"info","ts":1719674038.4014919,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1719674038.4017327,"msg":"autosaved config (load with --resume flag)","file":"/home/pi/.config/caddy/autosave.json"}
{"level":"info","ts":1719674038.4017434,"msg":"serving initial configuration"}
{"level":"info","ts":1719674038.407948,"logger":"tls","msg":"cleaning storage unit","storage":"FileStorage:/home/pi/.local/share/caddy"}
{"level":"info","ts":1719674038.4082248,"logger":"tls","msg":"finished cleaning storage units"}
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording
Starting service: throttlerecording

udio
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service pulseaudio: stopping
[02:38:17] INFO: Service restart after closing
s6-rc: info: service pulseaudio successfully stopped
s6-rc: info: service alsa-init: stopping
s6-rc: info: service alsa-init successfully stopped
s6-rc: info: service alsa: stopping
s6-rc: info: service alsa successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/filesystem.sh
cont-init: info: /etc/cont-init.d/filesystem.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service alsa: starting
s6-rc: info: service alsa successfully started
s6-rc: info: service alsa-init: starting
[21:38:58] INFO: Adjust ALSA mixer settings for /dev/snd/controlC0
[21:38:58] INFO: Adjust ALSA mixer settings for /dev/snd/controlC1
[21:38:59] INFO: Adjust ALSA mixer settings for /dev/snd/controlC2
s6-rc: info: service alsa-init successfully started
s6-rc: info: service pulseaudio: starting
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
W: [pulseaudio] main.c: Home directory of user 'root' is not '/var/run/pulse', ignoring.
W: [pulseaudio] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
W: [pulseaudio] main.c: OK, so you are running PA in system mode. Please make sure that you actually do want to do that.
W: [pulseaudio] main.c: Please read http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ for an explanation why system mode is usually a bad idea.
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card2: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-107c701400.hdmi" card_name="alsa_card.platform-107c701400.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
s6-rc: info: service pulseaudio successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/filesystem.sh
cont-init: info: /etc/cont-init.d/filesystem.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service alsa: starting
s6-rc: info: service alsa successfully started
s6-rc: info: service alsa-init: starting
[16:41:58] INFO: Adjust ALSA mixer settings for /dev/snd/controlC0
[16:41:58] INFO: Adjust ALSA mixer settings for /dev/snd/controlC1
[16:41:59] INFO: Adjust ALSA mixer settings for /dev/snd/controlC2
s6-rc: info: service alsa-init successfully started
s6-rc: info: service pulseaudio: starting
W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set.
W: [pulseaudio] main.c: Home directory of user 'root' is not '/var/run/pulse', ignoring.
W: [pulseaudio] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
W: [pulseaudio] main.c: OK, so you are running PA in system mode. Please make sure that you actually do want to do that.
W: [pulseaudio] main.c: Please read http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ for an explanation why system mode is usually a bad idea.
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card2: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="platform-107c706400.hdmi" card_name="alsa_card.platform-107c706400.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
s6-rc: info: service pulseaudio successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
W: [alsa-source-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="platform-107c706400.hdmi" card_name="alsa_card.platform-107c706400.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
[16:42:39] INFO: Add ALSA mixer: controlC2
[16:42:55] INFO: Add ALSA mixer: controlC2
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card2: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="platform-107c706400.hdmi" card_name="alsa_card.platform-107c706400.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
W: [alsa-source-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="platform-107c706400.hdmi" card_name="alsa_card.platform-107c706400.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
[17:06:15] INFO: Add ALSA mixer: controlC2
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card2: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card1: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="platform-107c706400.hdmi" card_name="alsa_card.platform-107c706400.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

Architecture
aarch64
OS
HAos

Hi, for Web terminal it must first be enabled in settings > services. It is disabled by default for security. For the sound, you should keep it at default and use the sound setting at the bottom of the add-ons options (so not birdnet pi options, but the add-on options where you defined the password) and select your device in the audio input tab at bottom of the page near the ports mapping

Not sure I was clear, I meant that the pulseaudio device should be kept at the default of "default" in the birdnet pi configuration

not sure what I am doing wrong then. I enabled web terminal but got 404, so then I restarted the add on and the web terminal was disabled again :(

These are the settings for the mic, I think it was already set up how you described above.  Also I have 2 raspberry pi 5 and 2 LM40 mics, I have the same issue on both

Also tried with default here

 Also tried with default here

Thanks you are doing everything right then... Are you using HA os or something else? I'm look closer to your log later today I'm not in front of my computer

Could you post what happens in your log just before the start of what you put above? It starts with the error but I'm curious what happens before especially in the 99-run.sh script output thanks

not sure what I am doing wrong then. I enabled web terminal but got 404, so then I restarted the add on and the web terminal was disabled again :(

Apologies you are right : web terminal doesn't work with ingress (from within HA app) only when accessed directly with ip:port... I couldn't find yet how to make it work within the app

I was able to get it opened without ingress, but prompts me with username and password. I tried my HA username and password and admin with my HA password but both failed

Username is "birdnet" ; Password is blank by default and can be defined in the birdnet.conf

 Also tried with default here

Thanks you are doing everything right then... Are you using HA os or something else? I'm look closer to your log later today I'm not in front of my computer

I am using HA os running on raspberry pi 5 8GB ram. I had the app working with other microphones but figured to use the suggested since mine was $50. https://a.co/d/08RY6aJQ

Username is "birdnet" ; Password is blank by default and can be defined in the birdnet.conf

I'll add that to the addon documentation ; it is in birdnet-pi documentation but indeed there is no specific reason to consider that addon users would go fetch the upstream documentation it should be standalone

Username is "birdnet" ; Password is blank by default and can be defined in the birdnet.conf

Thank you! That worked.  But it did not seem to work here

Ahah, just pushed also that in the Readme at the instant : to access web terminal the username is pi and the password is the one that you defined in the addon options.
Sorry for this complexity but it is from the normal app, not my addon ;)

 Also tried with default here

Thanks you are doing everything right then... Are you using HA os or something else? I'm look closer to your log later today I'm not in front of my computer

I am using HA os running on raspberry pi 5 8GB ram. I had the app working with other microphones but figured to use the suggested since mine was $50. https://a.co/d/08RY6aJQ

So weird - as I used also a Boya By-LM40 without issue. I'm sure it will work at some point. Naive question : have you tried rebooting ?

Thank you! I just figured that out right now.  I will try to set up the mic according to birdPi net documentation for the mic

btw - once you're logged in the terminal I suggest that you type alsamixer and you'll see if your microphone is detected

Could you post what happens in your log just before the start of what you put above? It starts with the error but I'm curious what happens before especially in the 99-run.sh script output thanks

with all my messages I don't know if you saw that one - as I have little confidence that it will work from the terminal if the pulseaudio server from HA did not map correctly...

 Also tried with default here

Thanks you are doing everything right then... Are you using HA os or something else? I'm look closer to your log later today I'm not in front of my computer

I am using HA os running on raspberry pi 5 8GB ram. I had the app working with other microphones but figured to use the suggested since mine was $50. https://a.co/d/08RY6aJQ

So weird - as I used also a Boya By-LM40 without issue. I'm sure it will work at some point. Naive question : have you tried rebooting ?

Yeah rebooted multiple times, but found the issue.  I did the alsamixer and found the capture at 0. Raised it to 80 and works great now.  I was going to make a write up of what I exactly did

Great!! Thanks

Sorry I am having one more issue, I can’t seem to get the BirdNet Analysis and Chart Viewer to start. I get this error that I think is causing the issue

If you have a similar issue where your microphone is detected by HA but get no audio:
1). You will need to use the web terminal to do the fox, so you will need to get to your instance without ingress (:). Username is birdnet and password is blank

2). Then go to services and enable web terminal

Then enable Web Terminal

Then go to the web terminal and login (username: pi  password:

Sorry I am having one more issue, I can’t seem to get the BirdNet Analysis and Chart Viewer to start-

what is just after in the log? it should say what is the error in the python code. It seems to be an error with a setting from what I see but it looks to be missing. To force the message you can go in the settings > services and manually try to restart the analysis script. Perhaps make sure to disable in the addon options "PROCESSED_FOLDER_ENABLED" and "SPECIES_CONVERTER_ENABLED" as they are the 2 optional features that could affect this file

microphone is detected by HA but get no audio

Thanks very much!

Sorry I am having one more issue, I can’t seem to get the BirdNet Analysis and Chart Viewer to start-

what is just after in the log? it should say what is the error in the python code. It seems to be an error with a setting from what I see but it looks to be missing. To force the message you can go in the settings > services and manually try to restart the analysis script. Perhaps make sure to disable in the addon options "PROCESSED_FOLDER_ENABLED" and "SPECIES_CONVERTER_ENABLED" as they are the 2 optional features that could affect this file

Traceback (most recent call last):
File "/usr/local/bin/daily_plot.py", line 199, in
main(args.daemon, args.sleep)
File "/usr/local/bin/daily_plot.py", line 168, in main
load_fonts()
File "/usr/local/bin/daily_plot.py", line 153, in load_fonts
conf = get_settings()
^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 40, in get_settings
settings = _load_settings(settings_path, force_reload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 34, in _load_settings
parser.read_file(lines)
File "/usr/lib/python3.11/configparser.py", line 734, in read_file
self._read(f, source)
File "/usr/lib/python3.11/configparser.py", line 1112, in _read
raise DuplicateOptionError(sectname, optname,
configparser.DuplicateOptionError: While reading from '' [line 255]: option 'MAX_FILE_SPECIES' in section 'top' already exists
Setting up watches.
Watches established.
Recording WAVE '/home/pi/BirdSongs/StreamData/%F-birdnet-%H:%M:%S.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Traceback (most recent call last):
File "/usr/local/bin/birdnet_analysis.py", line 149, in
main()
File "/usr/local/bin/birdnet_analysis.py", line 31, in main
load_global_model()
File "/home/pi/BirdNET-Pi/scripts/server.py", line 302, in load_global_model
conf = get_settings()
^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 40, in get_settings
settings = _load_settings(settings_path, force_reload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 34, in _load_settings
parser.read_file(lines)
File "/usr/lib/python3.11/configparser.py", line 734, in read_file
self._read(f, source)
File "/usr/lib/python3.11/configparser.py", line 1112, in _read
raise DuplicateOptionError(sectname, optname,
configparser.DuplicateOptionError: While reading from '' [line 255]: option 'MAX_FILE_SPECIES' in section 'top' already exists
2024/06/29 15:40:28 GoTTY is starting with command: cat /proc/1/fd/1

icecast2.service birdnet_recording.service birdnet_analysis.service birdnet_log.service birdnet_stats.service)

for i in "${services[@]}"
sudo systemctl restart chart_viewer.service
for i in "${services[@]}"
sudo systemctl restart spectrogram_viewer.service
Setting up watches.
Watches established.
Traceback (most recent call last):
File "/usr/local/bin/daily_plot.py", line 199, in
main(args.daemon, args.sleep)
File "/usr/local/bin/daily_plot.py", line 168, in main
load_fonts()
File "/usr/local/bin/daily_plot.py", line 153, in load_fonts
conf = get_settings()
^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 40, in get_settings
settings = _load_settings(settings_path, force_reload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 34, in _load_settings
parser.read_file(lines)
File "/usr/lib/python3.11/configparser.py", line 734, in read_file
self._read(f, source)
File "/usr/lib/python3.11/configparser.py", line 1112, in _read
raise DuplicateOptionError(sectname, optname,
configparser.DuplicateOptionError: While reading from '' [line 255]: option 'MAX_FILE_SPECIES' in section 'top' already exists
for i in "${services[@]}"
sudo systemctl restart icecast2.service
for i in "${services[@]}"
sudo systemctl restart birdnet_recording.service
Recording WAVE '/home/pi/BirdSongs/StreamData/%F-birdnet-%H:%M:%S.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
for i in "${services[@]}"
sudo systemctl restart birdnet_analysis.service
Traceback (most recent call last):
File "/usr/local/bin/birdnet_analysis.py", line 149, in
main()
File "/usr/local/bin/birdnet_analysis.py", line 31, in main
load_global_model()
File "/home/pi/BirdNET-Pi/scripts/server.py", line 302, in load_global_model
conf = get_settings()
^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 40, in get_settings
settings = _load_settings(settings_path, force_reload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/BirdNET-Pi/scripts/utils/helpers.py", line 34, in _load_settings
parser.read_file(lines)
File "/usr/lib/python3.11/configparser.py", line 734, in read_file
self._read(f, source)
File "/usr/lib/python3.11/configparser.py", line 1112, in _read
raise DuplicateOptionError(sectname, optname,
configparser.DuplicateOptionError: While reading from '' [line 255]: option 'MAX_FILE_SPECIES' in section 'top' already exists
for i in "${services[@]}"
sudo systemctl restart birdnet_log.service
2024/06/29 16:11:49 GoTTY is starting with command: cat /proc/1/fd/1
2024/06/29 16:11:49 HTTP server is listening at: http://<IP_ADDRESS>:8080/log/
for i in "${services[@]}"
sudo systemctl restart birdnet_stats.service
for i in {1..5}
systemctl is-active --quiet birdnet_analysis.service
sleep 5

Hi, the error is "[line 255]: option 'MAX_FILE_SPECIES' in section 'top' already exists"
Really sorry about that, please go in your birdnet.conf and delete the duplicate MAX_FILE_SPECIES line. Probably an error in my code, I'll see to correct it to avoid the manual step
Thanks hero much for your patience!!

Thank you! It is all working now! Appreciate all your help!!


Suggestion: Alternative runway filters

Would you be open to suggestions and/or PRs for different runway filters? I think your current filter for lights leaves only ~7k airports worldwide. That may be chopping out more airports than desirable. Two I've thought of are like the following:
Delete short grass runways (length here is takeoff length for a King Air 350):
SELECT count(*) from AIRPORT where num_runway_soft > 0 and longest_runway_length < 3300;
Result: 21,420 airports remain
Delete airports without at least one hard runway:
SELECT count(*) from AIRPORT where num_runway_hard == 0
Result: 16,602 air ports remain

Yeah...   the current approach is a pretty blunt hammer.   I'm torn on adding more complex filtering...  I like it and might even use it myself, but at some point doing all that on the command line is going to get pretty unwieldy.  I'm not sure how best to manage that.
I'd like to have a simple UI around this at some point which would help, but even prior to then a not TOO complex way of performing more complicated filtering could be useful.   Hmm.


Added my contribution

Hey, I added a contribution made in the unity game engine. Programmed in a more physical way of thinking about the cube.

❤


Not compatible with 4.9.0-rc2

This breaks live.lean-lang.org's mathlib-demo update:
Jun 14 15:26:55 nixos 9nmydfvy37i74r8n5as29as7lxd0nibc-update-leanproject[3628191]:
  error: ././.lake/packages/webeditor/././Webeditor/Tools/PackageVersion.lean:38:8:
  invalid dotted identifier notation, unknown identifier `Lake.PackageEntry.path` from expected type

https://github.com/hhu-adam/lean4web-tools/commit/c69970315e29af067b8518995175f6195d4a8f6b
updates the package to the latest nightly.
If your projects "Latest Mathlib" and "Lean nightly" are setup to auto-update (i.e. have a build.sh file), then this should resolve itself next time they are updated

Thanks, it works now after disabling the update for mathlib-stable. It would be nice to have a webeditor@stable tag just like with Mathlib.

I was hoping that eventually the mixins, which you mentioned to me once, will work (or are documented) and would make the webeditor package superfluous.

Mmh, but even if there was some plugin system such that the package would not have to be listed in the lakefile, that doesn't change that its code has to be compatible with the project's Lean version. So absent some sophisticated version resolution in Lake, I don't think that really changes things here.


Proposed changes for issue #4

I implemented a SorbsBlacklists enumeration to capture the definitions of the various blacklists listed on the SORBS site. Please, let me know if this is along the lines that you were thinking.

I am sending a new pull request.


python complete

I tried many ways to achieve complete python syntax but has never been able to,my python path is python2 ,how to use the completion?

Is this still in discussion? Jedi autocompletion and virtualenv support is really valuable for us Python developers. Autopep8 or yapf is also appreciated for Python code formatting.
But I'm still a newcomer to Emacs world, though I like to know if there's anything that I can help.

anaconda-mode is now enabled by default in this config.


Merge two results object into One

Merge Results object into one
This adds the recommended feature described in https://stackoverflow.com/a/63351980/1751801

Relevant Issues : https://github.com/intuit/karate/issues/1263
Type of change :

[x] New feature

@cvaditya1 that's quite simple, but the HTML summary report is probably going to get over-written by the second runner, right ? this may need more thinking

Ok. Will check

closing as per discussion in #1263

Do we have any update on retry  and merge feature?

@AutoPiyush yes: https://twitter.com/KarateDSL/status/1415710117673111554


Improved info and search

Now information for multiple packages at once can be given out.
Search now checks for multiple terms in package names.

Please commit to the main branch :)

Done

Please commit to the main branch :)

Hello, I resolved all mergeconflicts with the main branch.

The checks seam to fail, because of rate limiting.

I'm probably going to close this because I don't see much use in querying multiple things at once.


[stable/kibana] fix chart name in README

Minor change:
This fixes the README references to the chart as stable/kibana.
This change was originally requested in #2719.

/lgtm


[tests-only][full-ci]Remove dupilcate test step to use a single one

Description
This PR removes the duplicate test step to use a single one

Seems like I got confused because of the naming one is for normal user and next is for admin


v1.12.1

Use rustix instead of libc/windows-sys for system calls (#76)
Add a will_fire method to Timer to test if it will ever fire (#106)
Reduce syscalls in Async::new (#107)
Improve the drop ergonomics of Readable and Writable (#109)

I think this release should be 1.13.0 because it added a new API.

I think this release should be 1.13.0 because it added a new API (will_fire).

Oh, you're right. Forgot semantic versioning for a second there. Fixed!


onHomeIconPressed pass nothing when app wasn't run previously

Hello, maybe it is not an issue and I missed something in plugin documentation but I have the following behaviour, when I run app and make it foreground I have 3D touch icons and all actions works good with pressing them but if I close app (unload it from memory), I have 3D icons but they just run my app from the default state and doesn't pass any 3D touch type events. Could someone please advice what I'm doing wrong or maybe it is not available in this plugin?

That should be supported by this plugin; a cold start should invoke that function.
Are you sure the function is available as soon as the app starts? Perhaps sharing your project would help us figure it out.

In this case maybe something wrong with my code, I'll try something different and share results, if this will not help I'll share my code.
Thanks for reply!

@OleksandrPoltavets Did you find a solution? I have the same problem

@Jarvey feel free to share your project and I'll take a look.

@EddyVerbruggen
I've created a demo that you can clone at https://github.com/Maziar-Fotouhi/3DTouch-Demo.git
The demo app will show an alert when the ThreeDeeTouch.onHomeIconPressed method is called.
The problem is this method is not called from a cold start.
I open the project in xcode by typing meteor run ios-device.
I'm testing the app on a real device (iPhone6s plus running iOS 9.2)
I run the app from xcode, then hit the home button to put the app in the background.  After that I can force touch to open the quick action menu and select a menu item.  The app resumes and successfully shows the alert dialog.
Then double tap the home button and swipe close the app and try the same thing again.  This time the alert does not appear.

Thanks a lot @Maziar-Fotouhi, I love it when folks take the effort of providing a sample app to reproduce the problem. Because I was able to debug your projects I quickly saw what the problem was. I've never used Meteor, so I learned from your project that there is a two-step launch going on, where Meteor needs to do a lot of initialization after deviceready has fired. The plugin assumed everything to be ready upon deviceready, so it immediately tries to invoke your onHomeIconPressed function. In a Meteor app however this method is not yet available, so the plugin will now check for the function to exist during the first 5 seconds after launch. That works nicely for Meteor and probably for any similar framework out there.
Available in the (now published 1.3.3 version).

Thanks @EddyVerbruggen .
I really appreciate your professional and quick response.
New version fixed the problem.
A new issue has surfaced though.
The first time that I install the app through xcode, the quick action menu does not work at all. I have to swipe close the app and try again. After closing the app once, the menu starts working.

That's expected as your app's JS logic will add those home actions and your JS hasn't run before your app is launched for the first time.
That's why I added the chapter 'Static Home Icon Actions' to the readme, I hope that helps.

@EddyVerbruggen I think it should be working, since when we install the app with xcode, it does launch the app too, and we are initiating the quick action menu on "onDeviceReady".
I did revert to the previous version (1.3.2) and it is working from the first run.
The new version does not work the first time the app is run though.
Thanks again.

@Maziar-Fotouhi When you run it from Xcode the apps runs immediately. That's not the same as when installing it from the AppStore (where it doesn't immediately run). So I'm not sure we're on the same page here.

@EddyVerbruggen Thank you for all the great work and cool plugins.
Could you please give us access to set the "remaining attempts" variable or the amount of timeout that is begin used here ?
It would be nice to be able to set either of these through a plugin method call.
That is because, for me when the app is closed , the quick action menu may or may not work (and again, I'm using Meteor). I would like to be able to change this amount of time to make sure it is not because of the fact that onDeviceReady is not triggered yet occasionally (times that it does not work).

Thanks!
So your app now has 5 seconds to get ready. I don't want to overcomplicate things so rather not expose it. But would 10 or 15 secs suffice?

Of course. It makes sense.
10 or 15 should be more than enough. If it doesn't work with 15 sec timeout, then I can be sure that it is not the onDeviceReady.
Thanks a lot.

15 it is! 3.3.4 has just been released.

I'm just posting this for all the people out there who are using this plugin with meteor.
The quick action menu did not work with meteor on cold starts of the app (when the app is closed and you try to use one of the menu items to start it). But update 1.3.3 took care of it to some extent.
With update 1.3.3 the plugin started working but it was not consistent and it still did not work sometimes. The problem was that onDeviceReady was triggered and it was capturing the menu button that was chosen, but, some of the other methods that I was using for these events (e.g. inAppBrowser), were not loaded yet.
So this is what I ended up doing:

I set the session when onDeviceReady is triggered.

I also call a setup function in onDeviceReady (We will see what this does in a bit).

Then I call a process and reset function in autorun which handles reactive variables.

I also set the default for these session variables.

Then I capture the payload in a session variable in the setup function and do whatever I want with it (just as described in the plugin tutorial) in the process function.

Finally, the reset function sets the session variable to an empty state so we can capture two successive quick action menu buttons when the same button is chosen again. (note that autorun only triggers when at least one of the variables is changed )

This will give other methods and plugins a little extra time to load before you can use them in the 3dtouch plugin.
Thanks to @EddyVerbruggen and my genius colleague who figured all of these out!
Hope this helps.

Hello Maziar-Fotouhi, i'm trying this plugin in meteor I've tested this plugin on iPhone 6s (iOS ver.-9.2) and app was build with Xcode 7 as per the minimum requirements of this plugin to work, but when i'm checking the availability of the plugin, the following code returns me false, am i doing something wrong?
ThreeDeeTouch.isAvailable(function (avail) {
// 'avail' is a boolean
alert("avail? " + avail)
});

@array-addu, your comment from  issue #11

yes, actually i'm implementing this in meteor, in meteor, Meteor.startup() is equivalent to device ready.

This is not 100% accurate.  Just to be safe you should use an onDeviceReady callback
Meteor.startup(function () {
    ThreeDeeTouch.isAvailable(function (avail) {
        // 'avail' is a boolean
        console.log("Meteor.startup() ThreeDeeTouch.isAvailable: " + avail);  // true
    });
    if (Meteor.isCordova) {
        document.addEventListener('deviceready', onDeviceReady, false);
    }
});

function onDeviceReady() {
    ThreeDeeTouch.isAvailable(function (avail) {
        // 'avail' is a boolean
        console.log("onDeviceReady() ThreeDeeTouch.isAvailable: " + avail);  // true
    });
};

In this case isAvailable() is true in both places as long as you are testing on a real device.  It seems the emulator will always return false as this feature is not available on emulators.

Ah ! It's working now. Thank you mjwheatley. One more thing i want to confirm, onHomeIconPressed  would work only for App home icon but if we want to implement 3d touch inside the app, do we have to make the custom list after getting the coordinates from watchForceTouches?

For this purpose it is necessary to prescribe ThreeDeeTouch.enableLinkPreview();

I'm using v1.3.7 with ionic and I have the similar problem here. What's the suggestion to get the payload when the app wasn't run previously?
I'm using it in deviceready and the code works fine when the App is running in the background. But if it's killed or hasn't be running previously, there would be no payload information because the stream was subscribed after the event was fired.
document.addEventListener('deviceready', () => {
      console.log('-------------- device ready');
      this._initTouch();
});

  protected _initTouch() {
    this.threeDeeTouch.isAvailable()
      .then(isAvailable => {
        this._log('isAvailable: ' + isAvailable);
      });

    this.threeDeeTouch.onHomeIconPressed().subscribe(payload => {
      this._log('playload: ' + JSON.stringify(payload));
    });
  }


nit: add error mensagem when data is not found and fix common type issue

Description

If no data was found return an error
fix common typo issue  which usually happens when people copy and paste"”"

Pull Request Test Coverage Report for Build 842734285

0 of 15 (0.0%)  changed or added relevant lines in 3 files are covered.
14 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.01%) to 1.306%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/reports/bundles/data.go
0
5
0.0%

pkg/reports/channels/data.go
0
5
0.0%

pkg/reports/packages/data.go
0
5
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/reports/channels/data.go
1
0%

pkg/reports/packages/data.go
1
0%

pkg/reports/bundles/data.go
12
16.36%

Totals

Change from base Build 842447138:
-0.01%

Covered Lines:
18

Relevant Lines:
1378

💛  - Coveralls

I am pushing this one because it is very small/nit and I would like to have that in place to re-gen the reports with a fix.
c/c @bentito @jmccormick2001  I hope that is fine.


Add CellAssign to cell typing workflow

In the cell typing workflow we would like to be able to cell type using CellAssign. This means we will need to add in an additional process to the cell typing workflow that runs CellAssign and adds cell type annotations to the SCE object.
The ultimate goal of adding this in is that we would have one input SCE object and then two cell typing methods are performed - SingleR and CellAssign, with the output annotation from each being added to the SCE object.
This will also require a different reference file than the SingleR process, so we will need to prep and create the marker genes matrix as input for this process. We may want to break this out into multiple issues, but I'm filing this together for now and we can break things up as we start working on it.

After discussion today, this process should take as input a processed hdf5 file and the reference matrix. The output should be the prediction matrix with the cell type annotations. We will then probably want a separate process where we read in the prediction matrix and the SCE object and add annotations to the SCE object.

Closed by #396


[feature] Static props

Describe the solution you'd like
Add support for retrieving map static props
Additional context
Need to complete https://github.com/Derpius/BSPParser/issues/5 first

Added in 277426ae569359a8547df0f8f4646bd1682b3717


[Bug]: Confirm before calling setting does not work when a JS function is trigged on a button click

A discord user reached out regarding this.
https://cdn.discordapp.com/attachments/1029564855709073440/1029564855943970866/2022_10_12_10_20_35_252.mp4
Steps -

create JS object and a function
Set it to confirm before calling
Run the function from JS Object pane, it shows the confirmation box
Trigger it on button click it runs without any prompt

 Front conversations

This is the issue I posted
The environment is version v1.8.4 for self-hosting.

How is this going?

@developer-honoru apologies for the radio silence here. we'll prioritize a fix for this issue soon.

@Druthi Working as expected . Moving to Done.

Moving this card to Product backlog as we've encountered some blockers. We need some product discussion on this.
Explained the issues here https://www.loom.com/share/ee6786b057824e0890214b0a8bc37800

@Druthi One of our users needs this feature working to prompt their users before taking destructive actions.
https://discord.com/channels/725602949748752515/1151650737118527488

We are going to sunset this feature. It is tracked here: Sunset Confirm Before calling a function

Confirm before calling is deprecated with this change https://github.com/appsmithorg/appsmith/pull/32527. Hence, closing this.


ARXIVNG-337 add styles to fix layout bug #101

.is-grouped-multiline was the magic style to use, and added a nice .box and some margins for extra style points.

Coverage remained the same at 85.234% when pulling 108d0172c9078152a1518f6b7f1ae392d2bb3da9 on bug/ARXIVNG-337 into 42df734561c65181f9733fc8926f84f0246889b5 on develop.


⚠ Bofrost.at has degraded performance

In 5dc5ada, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2415 ms

Resolved: Bofrost.at performance has improved in d61fce2 after 21 minutes.


datetime-local support

Hi, I added datetime-local element, hope it is up to standard! PR for bootforms coming soon also.

Coverage decreased (-0.8%) to 93.81% when pulling c63297f15738109407f99c683709ea9a823a79c9 on AydinHassan:datetime-local-support into 8056cea6743de85e079d69bc43ee8e358553a9a7 on adamwathan:master.

hey @adamwathan any chance to get a look at this & https://github.com/adamwathan/bootforms/pull/114  ?

Hey @AydinHassan sorry for the delay!
Can you add test coverage for the stuff that sets the value and does the date formatting? I don't see anything in the tests for that functionality yet.
Thanks!

Coverage increased (+0.1%) to 94.762% when pulling 54be9582d36e7b53b667d2a18b5bdc0f7b7f718d on AydinHassan:datetime-local-support into 8056cea6743de85e079d69bc43ee8e358553a9a7 on adamwathan:master.

Coverage increased (+0.1%) to 94.762% when pulling 54be9582d36e7b53b667d2a18b5bdc0f7b7f718d on AydinHassan:datetime-local-support into 8056cea6743de85e079d69bc43ee8e358553a9a7 on adamwathan:master.

@adamwathan that better? 😄

Coverage increased (+0.1%) to 94.762% when pulling 93524cfd28ac6d1fce0d9c8b71f6ebc13ee6c662 on AydinHassan:datetime-local-support into 8056cea6743de85e079d69bc43ee8e358553a9a7 on adamwathan:master.


microprofile-jwt feedback

Step 3

[ ] The formatting of the table is a bit off. Maybe put spaces between username roles password

Step 7

[ ] , getting this issue

Step ..
Could complete the lab
Overall

[x] When creating new files, I found it easier to command+click rather then following select File > Open > guide-microprofile-jwt/start/frontend/src/main/java/io/openliberty/guides/frontend/ApplicationBean.java

[x] Alternatively, when doing it locally on VSCode, you can do code -r guide-microprofile-jwt/start/frontend/src/main/java/io/openliberty/guides/frontend/ApplicationBean.java and it will open that file directly within the current instance of VSCode. To do this, we would need to add vscode to the path.

step 3 is cosmetic, not fix in this cycle, and hope it will be addressed when implement the static guide look
cannot reproduce step 7
VSCode in the lab does not have code command and Cmd + click not good enough

This guide is now live with no reported issues.


fix warpctc plugin work with new version warpctc

Are you sure this fix works? In the issue someone said after the fix gpu inference still doesn't work

i am test it work .
The key point is info.blank_label = 0;`

windows build is failing @yajiedesign


Code highlighting not working as expected in bot.say

Hello. I'm returning myString to a chat with
bot.say('markdown', myString)

such a string contains a code block that Webex clients render but without code highlighting. If I try to use text for debug purposes:
bot.say('text', myString)

I get the following output:
  ```javascript
  // Foo
  const numero1 = 5;
  const numero2 = 3;
  ```

  hello!

It looks fine. Moreover, if I paste it into a webex chat, the code highlighting works fine. How can I obtain the same effect within a bot message?

In an effort to see if this was a core API problem, I attempted to replicate your call making an API call using postman.   When sending a POST  request to the /messages API with the following payload
{
  "roomId" : "{{_room}}",
  "markdown" : "```python\n// Foo\nconst numero1 = 5;\nconst numero2 = 3;\n```\n\nhello!",
  "text": "This text would be displayed by Webex Teams clients that do not support markdown."
}

I found that the output of the  WAS displayed in markdown, but WITHOUT syntax highlighting (which one gets when posting the same markdown directly into a webex client).

For this issue, I would recommend reporting it directly to Webex Developer Support.   This may be a bug in the core API gateway and isn't something that can be fixed in the framework.  (It also may just need some special "tweaking" in the API call and the developer support team can help you if that is the case!)
Having said that, it appears that you are getting NO markdown processing (ie: the markdown commands are being rendered as plain text).   I am NOT able to duplicate this behaviour with the framework.   With this code:
      let msg = '```javascript\n// Foo\nconst numero1 = 5;\nconst numero2 = 3;\n```\n\nhello!';
      bot.say('markdown', msg);

I get the exact same output as in the image above.
Can you confirm that you are seeing SOME markdown (but just not the syntax highlighting) when making a similar call with the framework?

Hi @jpjpjp, thank you very much for your investigation. I do confirm that the behavior that I'm experiencing is some markdown without syntax highlighting in code blocks. Excuse me if my initial message wasn't clear enough. I'll report this issue to the the Webex Developer Support. Thank you for the advice. I close it for now.


y2 axis ticks display wrong values

Hello,
I'm associating data to both y and y2
data{
axes:{
data1 : "y"
data2 : "y2"
}}

data1 and data2 have almost the same scale, however while the ticks of y show the right values with the right range, y2 only works with very small data values but when the data values are big (300, 258 ...), y2 ticks show respectively : 0,5,1,1,2,2,3,3 .
I also use tick : {format: d3.format("d")} which seems only to work when the values of data are very small .
Any idea why this is happening ?
Any help would be appreciated.
Thanks

Closing as I cannot reproduce:
http://jsfiddle.net/j2fLd0q6/


Default installs are Passive. Should they be Silent?

The current VcRedist manifests include install switches that run passive installs, i.e., the installer runs without interaction but shows a dialog box. The switches are typically - "/install /passive /norestart"
Should these be changed to "/install /quiet /norestart" so that no dialog boxes are displayed at all?
It is possible to export the internal manifest to a file, update it manually and use that file with the module instead.

Added silent installs into manifest', -Silent install switch into Install-VcRedist and into Import packages into MDT and ConfigMgr


Clarify purpose and status of this repository

IMPORTANT PLEASE READ: NO RESPONSE WILL RESULT IN REPO ARCHIVAL AND FINALLY DELETION
Dear maintainer,
One important topic in our TomTom open source engineering community is to make our public organization on GitHub, as well as the repositories hosted on it, more welcoming to contributors. That process starts which making it easy for other to understand the purpose of a codebase is and how people can contribute.
In order to do so we want to learn which repo's are still actively maintained and important to keep available to the open source community and which are not. We have therefore decided to start a clean-up proces which will be done as follows:

Please respond to this issue within 30 days and provide us with the necessary information requested below.
If there is no reply to this issue after these 30 days, the repository will be archived
After your repo has been archived you have an additional 30 days to respond and provide information and discuss with us whether you want to revert, or keep archived status.
IMPORTANT After the above mentioned additional 30 days no response is given the repository will be removed from the TomTom-International organization or will be DELETED

Could you please be so kind to provide us with the following information
Contact details
Repo owner/primary contact: "AS DevOps group" in outlook and CD-OT-Zeus team (look them up in outlook).
Repository details
Describe the purpose/objective of this codebase in 1-5 sentences:
"Commisery is a package to help check whether given commit messages adhere to Conventional Commits. Specifically it checks the syntax and some small aspects of the semantics"
Please select how this repository contributes to the following (thick all that apply):

[x] Internal use: The code is used inside TomTom and there is a vested interest in long term maintenance
[x] Employer branding: Project gives an insight into the scale and problem-solving of TomTom tech.
[x] Hiring: contributors and users of the project could be attractive job candidates
[ ] Learning: TomTom employees can collaborate with and learn from external experts on the topic
[x] Enhancement: the project could gain new functionality and refinement by external use and contribution
[x] Product: The project is needed to make our tech or products integrate with other products or tech stacks
[ ] License Compliance
[ ] Fork: Fork needed for for upstream contributions, long-term upstream collaboration or product / CI/CD pipeline dependency or other need. If this is the case you can move your fork to a new GitHub organization https://github.com/tomtom-forks. If you need access to this org reach out at the #ospo channel on slack with your TomTom Github user account.

Additional context information about the purpose of this codebase:
Used at least everywhere that Hopic is (this is a dependency of Hopic), so see tomtom-international/hopic#1.
Questions?
Please respond to this issue or drop a line to<EMAIL_ADDRESS>mentioning this issue nr.
Or for TomTom'ers reach out on the #ospo slack channel.
Thanks so much for helping keep our public repositories up to date and welcoming to all contributors.

@muggenhor - could you update the above comment?

Comment has been updated


"Troianul", "Dulceni" and "Vatra" are listed in the drop-down menu

Description:
"Troianul", "Dulceni" and "Vatra" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Troianul" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Troianul, TELEORMAN (Troianul)" and "Comuna Troianul, TELEORMAN".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Dulceni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Dulceni, TELEORMAN (Troianul)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Vatra" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Vatra, TELEORMAN (Troianul)".


fix: _recoverAndRefresh efficiency and tidy up

What kind of change does this PR introduce?
Removes unneeded checks and other code.
What is the current behavior?
Within _recoverAndRefresh(), we're checking for currentSession.expires_at as part of a "hey is the session expired" if block.
We've also left a _notifyAllSubscribers() call for SIGNED_IN, after a recent PR.
What is the new behavior?
expires_at is already checked for existence within _isValidSession(), so it's been removed from the "expired session" check.
We can also collapse a child if block and move it's check for this.autoRefreshToken to the parent.
We also remove the SIGNED_IN emit event that happens towards the end of this function. In all other cases, _notifyAllSubscribers() is only called if a _saveSession() or _removeSession() call preceded it. The one exception is within constructor(), where an event listener, to emit events, is setup for multi-tab communication. The recent PR, referenced above, removed the _saveSession() call within _recoverAndRefresh(), so I'd argue there's no need to emit SIGNED_IN.
A possible anti-argument might be something like, "Emitting this event is just expressing that we noticed someone is signed in during recover and refresh". However, in the case of an expired session, we just refresh the token - causing a TOKEN_REFRESHED event - and then move on. There's no SIGNED_IN event emitted in this case. I'd say we either emit SIGNED_IN in both cases or not at all, but I lean towards not at all.
Additional context
Add any other context or screenshots.

Hmm... not sure why I have residual commits here. Closing PR and will figure that out.


[Feature Request] Add a "My Drafts" section to the user profile page

Describe the feature you'd like
I would like to request a section be added to the 'View Profile' page for displaying any Drafts created by that user.
This section could perhaps be hidden if no drafts exist but display if there are 1 or more drafts.
Describe the benefits this feature would bring to BookStack users
I am aware there is an existing "My Recent Drafts" section on the "Default" home page but for some users I would like to default to the "Books" page which would effectively hide any draft pages (they could search but some users can be very obtuse).
Having a section under their profile page would make it very easy to pick up and continue any draft pages regardless of what page the land on when logging in.

Hi @patrickcage,

I would like to default to the "Books" page which would effectively hide any draft pages

No matter the configured homepage option, a user's drafts should still show when on the home view. If the "Books" homepage option is chosen the drafts would typically be located in the sidebar.

@ssddanbrown ,
I do apologise, I have checked and that absolutely is the case.
Please feel free to close this.

@patrickcage No worries! will therefore close this.


Add HTTPS support.

When using the apis.is API on HTTPS enabled sites, most browsers will not allow the script to fetch from the server since it doesn't support HTTPS.

Sorry. This has been done!


[HOLD] Add iOS Communication Notifications

HELD on

https://github.com/Expensify/Web-Expensify/pull/40158
https://github.com/Expensify/Expensify/issues/350975

cc @Julesssss
Details
Implements Communication Notifications for iOS. This adds user avatars and the group/room name to comment notifications. This uses a new Notification Service Extension which is a separate app target/binary that gets embedded into the application.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/258522
Tests
iOS 15.0+ only

Use automatic signing in the NotificationServiceExtension target to build the app:

Log into NewDot
Accept notification permission
Send yourself a DM from an account with a custom avatar
Verify a notification for the message displays with the avatar
Send yourself a group DM from another user with a custom avatar
Verify a notification for the message displays with the avatar and the group participants first names in the subtitle
Create a workspace room
Send yourself another message in the room
Verify a notification for the message displays with the user's avatar and the room name in the subtitle

Offline tests
None
QA Steps
Same as Tests
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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 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(theme.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.

Screenshots/Videos

Android: Native
N/A

Android: mWeb Chrome
N/A

iOS: Native

iOS: mWeb Safari
N/A

MacOS: Chrome / Safari
N/A

MacOS: Desktop
N/A

This is purely an iOS notification change so removed C+ as they cannot test that. Going to skip to the engineering review instead.

Alright asked internally and didn't get an answer on how to skip C+ review. So I'm going to use puller bear again

Hey @mananjadhav this is an iOS push notifications change so you cannot test or do the checklist. Can you just code review instead? That'll auto-assign another engineer.

@arosiclair Can I do the checklist here?
Since I was the original C+ here.

@arosiclair Can I do the checklist here? Since I was the original C+ here.

No checklist for the C+ on this PR.

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the android build failed
The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the Desktop build failed
The QR code can't be generated, because the web build failed

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the android build failed
The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

❌ FAILED ❌
https://32765.pr-testing.expensify.com

The QR code can't be generated, because the Desktop build failed

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the android build failed
The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/32765/NewExpensify.dmg
https://32765.pr-testing.expensify.com

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/32765/index.html
❌ FAILED ❌

The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/32765/NewExpensify.dmg
https://32765.pr-testing.expensify.com

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the android build failed
The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/32765/NewExpensify.dmg
https://32765.pr-testing.expensify.com

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/32765/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/32765/index.html

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/32765/NewExpensify.dmg
https://32765.pr-testing.expensify.com

I'm at a total loss for how to fix these workflow tests.
I thought updating references to "Decrypt profile" name would fix things but no dice. @roryabraham @radoslawkrzemien it looks like you guys are the experts on this. I've got a EOY deadline for this and I'm going OOO for a few days so any help would be greatly appreciated 🙇.

Going to jump in and see if I can help out here

Many many thanks for fixing that up @roryabraham! This is ready for another set of reviews @mananjadhav @Julesssss. Let's get this merged ASAP!

@arosiclair I am half way through the code review and I also tried testing the adhoc build. The notification didn't work for me. I didn't get any notification at all. I won't call it a blocker because the general notification didn't work for me on the prod app too. Would appreciate if we make it mandatory for the internal engineer to upload the screenshots.
https://github.com/Expensify/App/assets/3069065/74ef8b6b-4ae6-4768-a133-14b224385a93

@arosiclair I am reviewing the code and I also tried testing the adhoc build. The notification didn't work for me. I didn't get any notification at all. I won't call it a blocker because the general notification didn't work for me on the prod app too.
RPReplay_Final1703611173.MP4

This is expected for the ad-hoc build since we haven't setup push notifications for that bundle unfortunately. Currently they should only work in dev (only for internals on iOS) and in prod.

Would appreciate if we make it mandatory for the internal engineer to upload the screenshots.

@deetergp lemme know if you have an iPhone to test this with. Otherwise, you can just code review and then I'll re-test myself.

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] 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.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

[ ] 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

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

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

[ ] 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.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] 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.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] 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.
[ ] 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

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

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

🚀 Deployed to staging by https://github.com/deetergp in version: 1.4.19-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.19-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Update: tiktok.com

Example URLs:
https://www.tiktok.com/business/?attr_medium=tt_official_site_guidance&attr_source=tt_official_site&refer=tiktok_web
https://www.tiktok.com/tag/comical?refer=embed
https://www.tiktok.com/link/v2?aid=1288&lang=en&scene=bio_url&target=https%3A%2F%2Flinktr.ee%2Fal_squad2020
https://www.tiktok.com/login/phone-or-email?enter_from=homepage_hot&enter_method=click_top_bar&hide_close_btn=1&is_modal=1&lang=en&redirect_url=https%3A%2F%2Fwww.tiktok.com%2F&type=
https://www.tiktok.com/login/qrcode?enter_from=homepage_hot&enter_method=click_top_bar&hide_close_btn=1&is_modal=1&lang=en&redirect_url=https%3A%2F%2Fwww.tiktok.com%2F&type=

Bad params:

attr_medium
attr_source
refer
aid
scene
enter_from
enter_method
hide_close_btn
is_modal

Redirect  rule:
Path:  tiktok.com/link/v2
Param: target
Additional context:
I don't use tiktok or mobile apps so I am limited on how much I can test this.
Redirect handler may need to be modified.

Partial support for redirect rule added in v1.6.21


Pin versions in apt get install. Instead of apt-get install <package> use apt-get install <package>=<version>

Hadolint is recommending pinning versions for package installations, including pip packages. Is this something we should do?

i don't think this matters much for the development environment. each build is already restricted to the packages available by that OS distribution. if a dependency changes, we simply update the development environment and keep it moving.

i think i agree - this is already designed around feeding it what we want it to use at the package level.

Sounds good. In that case, we will need to figure out how to disable that error in Codacy


ADS Icon inconsistencies on Insiders build

Version: 1.24.0-insider
Commit: 7cd4964f353f6235f2b1281cbbe9b7875cf01e78
Date: 2020-11-10T06:31:21.303Z (12 hrs ago)
VS Code: 1.48.0
Electron: 9.3.0
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0
Steps to Reproduce:
I see some inconsistencies with the new icon.

The old icon is still displayed in my dock.
The welcome page shows the regular/blue icon even though I am on insiders.
About page shows old icon

These issues appear to be resolved in the latest insiders build.  Except the branding on the welcome page, which has always used the official stable branding.  Since the rest of the issues appear to be related to the icon refresh I'll close this.  Please log an issue specific to the welcome page if desired.


GSD gsd >=3.3.2 only compatible with NumPy=>2.x

Need to lock GSD at gsd =3.3.2 until it is compatible (and others) with NumPy=>2.x

Only need to do this in mosdef-gomc


DropDownMenu default label style not consistent?

Hi, I've found that when I insert a DropDownMenu in different locations in my code, the default label style is not consistent.
Here is some code where I see an inconsistency:
import React from 'react'
import { RaisedButton, TextField, DropDownMenu } from 'material-ui'
import injectTapEventPlugin from 'react-tap-event-plugin'
injectTapEventPlugin()

const Details = React.createClass({

  _handleItemSubmit() {
    console.log('submitted item');
  },

  render() {
    let options = [
       { payload: '1', text: 'First' },
       { payload: '2', text: 'Second' }
    ]

    return (
      <div>
        <TextField
          hintText="Class"
          floatingLabelText="Class" />
        <DropDownMenu menuItems={options}/>
        <RaisedButton label="Submit" primary={true} onClick={this._handleItemSubmit}/>
      </div>
    )
  }

})

export default Details

And here is how it appears:
When closed:

When open:

Sometimes this issue is there, and sometimes it is not. At first I thought it was because some other styling was overwriting the DropDownMenu's style props but after removing all other styling, it seems like this certainly may be an issue.
Adding this as a property to the DropDownMenu seems to fix this issue.
labelStyle={{fontFamily: 'Roboto, sans-serif'}}

I've looked through the updates to this file and it seems like labelStyle might be deprecated soon.
How can this be fixed? Should it be, if it will be deprecated soon? I wouldn't mind making the PR myself! :yum:

That looks like a bug. I think that the font family should be applied to the root element.
Something like https://github.com/callemall/material-ui/blob/master/src/tabs/tab.jsx#L110.
A PR is welcomed :+1:


No convenient way to get lexer class from alias

(Original issue 1203 created by takluyver on 2016-01-28T16:19:58.657648+00:00)
What I want is:

Like get_lexer_by_name, but without instantiating the lexer
Like find_lexer_class, but checking aliases as well as / instead of names.

This is easy enough to replicate manually, but I was a bit surprised there's not a convenient function for it.
I want the class to pass to prompt_toolkit

(Original comment by birkenfeld on 2016-02-02T10:02:52.468770+00:00)
Added lexers.find_lexer_class_by_name() (closes #1203)
→ <>

(Original comment by takluyver on 2016-02-02T10:37:29.589517+00:00)
Thanks!


#178 Expose doAction's configuration in NodeMetadata

Description
Exposes nested doActions' (possibly chained) configuration in OperationMetadata.
Uses Iterator pattern to traverse though configuration and Builder patter to compose hierarchical JsonObject.
Simplifies ActionNodeFactory by moving metadata creation responsibility to dedicated classes.
Provides unit tests.
Motivation and Context
Closes #178
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I hereby agree to the terms of the Knot.x Contributor License Agreement.

Before merging to master please update README and CHANGELOG


Make Blocks have similar API to fields

Taking a page from the Field API; Blocks can now optionally have a .implementation which defines the server-side logic to run.

Nice 👌


Incompatibility with Magnesium (forge Sodium port) / Rhubidium (forge Iris port)

Issue
When trying to activate any x-ray filter, the screen flashes as if reloading chunks but never seems to make any blocks transparent. See attached video as a reference
To Reproduce
Download Magnesium, this mod, and install it as normal
Join any world (In my case, I am on a server)
Try to use any x-ray filter
Expected behavior
The x-ray filter is applied, and one can see ores as normal
Screenshots
See attached video
Minecraft version
Minecraft version:
Mod loader (Fabric/Forge/Rift):
Additional context
This may also be caused by Rhubidium shaders, which is the forge port of Iris. I am also playing on a forge pack and have not done extensive mod disabling.
https://user-images.githubusercontent.com/63116788/168442232-58d7aca0-dae7-46df-85bc-cc07dc5a4467.mp4

Yea I'm having the same issue
Any ETA on when this can be fixed?
@ate47

https://github.com/ate47/ate47/blob/gh-pages/MINECRAFT.md


Improve hermeticity build system

Currently the Bazel setup requires a couple of host installed tools:

Ruby 3.0.2
qemu-system-x86_64
sha512 / sha256
xcode-based c/cpp compilers

Let's try to make these tools part of the build so we don't have to install them externally.
Ruby
Rules Ruby https://github.com/bazelruby/rules_ruby supports compiling Ruby, but the problem is that this particular Ruby is not cached in any way into the disk_cache / repository_cache. This means for the CI that every time Ruby is compiled from scratch, greatly increasing the CI execution time.
Qemu
Currently the tools/packer/runner.sh.tpl adds host specific folders to the PATH before calling packer to get access to the brew installed qemu binaries:
# TODO: this is a hacky wat to get the qemu binary in here
# this can also be solved by specifying the qemu binary in the packer template!
export PATH="$PATH:/usr/local/bin"

Instead of relying on host installed tools, make everything hermetic in include qemu into the build system!
For example we can download the qemu source code here https://www.qemu.org/download/#source and compile this using Bazel and https://github.com/bazelbuild/rules_foreign_cc.
First attempt in https://github.com/mvgijssel/setup/pull/92, but was unable to get it to compile on macOS using Bazel (compiling without Bazel in macOS works just fine 🤔).
sha512 / sha256
The rules_packer relies on these being installed (using brew install coreutils. Maybe there's a way we can fetch these dependencies directly from Homebrew (or from somewhere else) so we know these tools are always available. For example by implementing a homebrew rule like tools/homebrew/homebrew.build_defs or using https://github.com/tmc/rules_homebrew.

Because everything is run within BuildBuddy it’s hard to have external dependencies so this is solved for now.