Error (409) when parsing YouTube account or playlist

Brilliant work, this! Was really looking for a solution like this!
I just started the service on a Raspberry Pi, but I can't get it to work. Every time I submit a YouTube account or playlist I get this error message:
2023-05-07T18:19:01.758Z ERROR [app] could not translate rss
2023-05-07T18:19:01.759Z ERROR [app] could not parse rss, reason: unable to parse feed: no root element

I'm not sure where to look to solve this issue, do you have an idea where I could start?

can you pass me the url you are trying to input? if you don't want to share it in public send it to my email<EMAIL_ADDRESS>also do you have a youtube api key set?

It doesn't really matter what url I'm trying, I tried with several accounts, for example: https://www.youtube.com/@DisneyNL, https://www.youtube.com/@Formula1.
Yes, I set up a YT API key. The API container is stopped immediately after setting it up. Is that supposed to happen?

The API container is stopped immediately after setting it up. Is that supposed to happen?

yes
I'll see if I can replicate it and report back

O, wait! It just started working!

I was able to replicate your issue by setting an invalid youtube apikey, so my guess it was some problem related to that.
I should definitely try to improve error messaging to check if the apikey works though!
feel free to close the issue, or I will close it myself in a few days if the problem does not shows up.

Yeah, I think it had something to do with the API key.
I'll close this issue!

I also get the 409 error when I try to use an API key. Work fine without it, limitations aside.
Just to make sure I'm doing it right: Are we supposed to paste the key after the = ? Or are we replacing everything that comes after the =  with the API key?

This is the correct syntax (using random characters instead of the api key)
      - YT_API_KEY=djsnidmsoeksnsjsodnedox9

Thanks for quick response!
Okay, I changed it and did the "sudo docker compose up -d" thing. When everything is green I should be good to go, right?
I tried it once and got a new error, which is fun.
"Error 400: relative URL without a base"
Tried it again and got 409 again. Any ideas what could be going on?

I'm thinking your api key is not working right maybe it does not have the
right permissions, try to get a new one.
Also do a "sudo docker compose pull" too, to download any updates if are
there (I released a new version few days ago)
If nothing works, set the rust logs setting on the docker compose to
"DEBUG" and post here the logs "sudo docker compose logs" (check if you
need to remove any sensitive data before posting it)

Both the old and the new key are unrestricted. Are there other permissions I need to check?
I freshly installed Docker to try your app, so it should be the latest version.
I have Docker running in a container in Docker. I don't think this should be problem but I'm mentioning it just in case. It works fine without the API key.
I'm working on getting the logs.

Try this settings

Also give me an example of the inputs you are trying, I will test them in my own instance

I got the 409 error again. I really thought the change to the Youtube API would to the trick. :/ I waited at least ten minutes for the change to take effect. And I double checked that I'm using the correct key in the config file. I hope I can rule out easy errors.
I'm just posting random channels into the text box. "https://www.youtube.com/@TomScottGo" for example.

Can confirm the link works on my end with the api key...
can you post your docker-compose file with sensitive data obscured so that I can see if something is weird?

He are some logs, not sure if that is detailed enough. I don't think the memory thing is the problem.
root@pDocker:~/vod2pod-rss# docker compose logs -t -f --tail 5
vod2pod-rss-vod2pod-1  | 2023-09-10T19:14:08.883512192Z 2023-09-10T19:14:08.883Z ERROR [app] could not parse rss, reason: unable to parse feed: no root element
vod2pod-rss-vod2pod-1  | 2023-09-10T19:14:36.727569556Z 2023-09-10T19:14:36.715Z INFO  [vod2pod_rss::provider::youtube] trying to convert youtube channel url https://www.youtube.com/@patrickwillemspresents1220
vod2pod-rss-vod2pod-1  | 2023-09-10T19:14:36.727638329Z 2023-09-10T19:14:36.716Z INFO  [vod2pod_rss::provider::youtube] conversion not in cache, using yt-dlp for conversion...
vod2pod-rss-vod2pod-1  | 2023-09-10T19:14:41.077220917Z 2023-09-10T19:14:41.076Z ERROR [app] could not translate rss
vod2pod-rss-vod2pod-1  | 2023-09-10T19:14:41.077261706Z 2023-09-10T19:14:41.076Z ERROR [app] could not parse rss, reason: unable to parse feed: no root element
vod2pod-rss-podtube-1  | 2023-09-10T19:14:03.025979802Z 2023-09-10 19:14:03,025 [ERROR] 500 GET /youtube/channel/UCQHX6ViZmPsWiYSFAyS0a3Q (<IP_ADDRESS>) 296.91ms
vod2pod-rss-podtube-1  | 2023-09-10T19:14:08.881151722Z 2023-09-10 19:14:08,880 [ERROR] Error Downloading Channel: Forbidden
vod2pod-rss-podtube-1  | 2023-09-10T19:14:08.883933271Z 2023-09-10 19:14:08,883 [ERROR] 500 GET /youtube/channel/UCXuqSBlHAE6Xw-yeJA0Tunw (<IP_ADDRESS>) 325.30ms
vod2pod-rss-podtube-1  | 2023-09-10T19:14:41.074957200Z 2023-09-10 19:14:41,074 [ERROR] Error Downloading Channel: Forbidden
vod2pod-rss-podtube-1  | 2023-09-10T19:14:41.077984236Z 2023-09-10 19:14:41,077 [ERROR] 500 GET /youtube/channel/UCMAwBUlaxyqZY-2hVac8qgg (<IP_ADDRESS>) 781.02ms
twitchToPodcastRSS     | 2023-09-10T19:17:58.209309410Z     raise Exception("Twitch API client id env variable is not set.")
twitchToPodcastRSS     | 2023-09-10T19:17:58.209315473Z Exception: Twitch API client id env variable is not set.
twitchToPodcastRSS     | 2023-09-10T19:17:58.209732839Z [2023-09-10 20:17:58 +0100] [8] [info] Worker exiting (pid: 8)
twitchToPodcastRSS     | 2023-09-10T19:17:58.311808344Z [2023-09-10 20:17:58 +0100] [6] [INFO] Shutting down: Master
twitchToPodcastRSS     | 2023-09-10T19:17:58.312038225Z [2023-09-10 20:17:58 +0100] [6] [INFO] Reason: Worker failed to boot.
vod2pod-rss-redis-1    | 2023-09-10T13:31:10.054013299Z 1:C 10 Sep 2023 13:31:10.052 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
vod2pod-rss-redis-1    | 2023-09-10T13:31:10.054080772Z 1:C 10 Sep 2023 13:31:10.052 # Redis version=6.2.13, bits=64, commit=00000000, modified=0, pid=1, just started
vod2pod-rss-redis-1    | 2023-09-10T13:31:10.054094658Z 1:C 10 Sep 2023 13:31:10.052 # Configuration loaded
vod2pod-rss-redis-1    | 2023-09-10T13:31:10.062872486Z 1:M 10 Sep 2023 13:31:10.054 # Server initialized
vod2pod-rss-redis-1    | 2023-09-10T13:31:10.062907939Z 1:M 10 Sep 2023 13:31:10.054 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

Do you mean the docker-compose.yml? Or something else?
services:
  api_keys:
    image: alpine
    environment:
    #add your api-keys here (put them after the "=" sign or use an .env file)
      # Set your YouTube API key
      - YT_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      # Set your Twitch secret
      - TWITCH_SECRET=${TWITCH_SECRET:-}
      # Set your Twitch client ID
      - TWITCH_CLIENT_ID=${TWITCH_CLIENT_ID:-}

  vod2pod:
    extends: api_keys
    image: madiele/vod2pod-rss
    depends_on:
      - redis
    restart: unless-stopped
    ports:
      - "1234:8080" #change from 80 to another port if you already use the port 80 on your host
    environment:

Wait, where is the peertube service block?
If you check the docker-compose.yml in the repo you will see it, you have to add it back if you want the api key to work

I'm reopening the issue for the time being

Yeah, my bad on the yml file. I never scrolled down that far. I have now set the logs to debug as well. Didn't see that before.
version: "3.9"

services:
  api_keys:
    image: alpine
    environment:
    #add your api-keys here (put them after the "=" sign or use an .env file)
      # Set your YouTube API key
      - YT_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      # Set your Twitch secret
      - TWITCH_SECRET=${TWITCH_SECRET:-}
      # Set your Twitch client ID
      - TWITCH_CLIENT_ID=${TWITCH_CLIENT_ID:-}

  vod2pod:
    extends: api_keys
    image: madiele/vod2pod-rss
    depends_on:
      - redis
    restart: unless-stopped
    ports:
      - "1234:8080" #change from 80 to another port if you already use the port 80 on your host
    environment:
      - TZ=Europe/London #set if you want the logs to have you timezone
      - MP3_BITRATE=192 #bitrate in kilobits of the mp3 transcode
      - TRANSCODE=true #put to false if you only need feed generation
      - SUBFOLDER=/ #for reverse proxies, ex: "/" -> access the app at mywebsite.com ; "vod2pod" -> access at mywebsite>
      - RUST_LOG=DEBUG #INFO #set to DEBUG if you are having problems than open a github issue with the logs, use "sudo>
      - TWITCH_TO_PODCAST_URL=ttprss #don't edit this
      - PODTUBE_URL=http://podtube:15000 #don't edit this
      - REDIS_ADDRESS=redis #don't edit this
      - REDIS_PORT=6379 #don't edit this

  ttprss: # you can remove this section and save some storage if you don't need twitch
    extends: api_keys
    image: madiele/twitch_to_podcast_rss
    restart: unless-stopped
    container_name: twitchToPodcastRSS
    environment:
        - TZ=Europe/London
        - TRANSCODE=False #keep this to false, the vod2pod one is the one you should change

  podtube: #remove this section if you don't need improved youtube support
    extends: api_keys
    image: ftawesome/podtube
    restart: unless-stopped
    environment:
      - YT_AUTOLOAD_NEWEST_AUDIO=False

  redis:
    image: "redis:6.2"
    command: redis-server --save 20 1 --loglevel warning
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
      interval: 10s
      timeout: 3s
      retries: 5

The config seems correct, by the logs the 500 forbidden on podtube service indicate that is indeed that youtube api is not happy with your api key.
I'll take some wild shots at it

Check that you did not accidentally add a space/tab to the end/begin of the key in the compose file
Check if when you paste it some characters get lost (might happen if you use vim for example)
redo a key from scratch
are you using a vpn or hosting? Maybe youtube is blocking your traffic due to location, shared ip or something

Let me know if you did find a solution, feel free to ask any extra questions you have though ✌

No, VPN. I'm watching Youtube as I write this.
Yeah, I think I'll start from scratch and see if that does the trick. Those yaml files are so sensitive to the slightest syntax errors and I don't want to hunt for an extra space somewhere in this file. It's totally possible I messed something up when I first edited the file since I use nano inside a browser window using copy and paste and so on.
I hope that will work. Sorry for wasting your time and thanks for this cool app.

BTW you can also use an .env file, use the default docker-compose.yml from this repo and on the same folder of it do
echo 'YT_API_KEY=auzuwbbsixjsns' > .env

It's an alternative way to set the api keys that I use mostly so that I can keep the docker-compose.yml file from leaking my api key when developing 😝 but can be used by anyone too (maybe I'll actually write it as the preferred way in the documentation later, it's probably less error prone)

Okay, I just redid everything. Went a lot faster doing it the second time. :)
Same error though, unfortunately. I was careful not to mess up the config file.
Just a thought but can you try pasting your API key in your config file instead of using the .env file? Maybe that's why it works for you?

I think there is something wrong with my API key after all.
On the Google API dashboard I have a 100% error rate for the method "youtube.api.v3.V3DataChannelService.List"
I'll keep reading the docs to see what could be the problem.

Can confirm that it works even if set in the config file.
I would suggest you check your Google api dashboard for the usage of the api key, maybe you made to many requests and you've been rate limited (in that case tomorrow the problem might disappear out of the blue)
I'm running out of other possibilities, but I leaning towards youtube api key problem more and more.
thought if you've been rate limited maybe podtube or vod2pod might have a bug somewhere and send to many request in some weird case, I'm still not ruling out a bug being there somewhere that causes youtube to temporarily say no to the key, that would explain how the original user got it to work out of the blue.

I have 72 requests for the method "youtube.api.v3.V3DataChannelService.List" with a 100% error rate.  That's the only method that has been used. I don't think they rate limit you so soon. And shouldn't at least some requests gotten through in the start so the error rate should be lower than 100% ?
I'll try again tomorrow hopefully it fixes itself.

I think there is something wrong with my API key after all.
On the Google API dashboard I have a 100% error rate for the method "youtube.api.v3.V3DataChannelService.List"
I'll keep reading the docs to see what could be the problem.

Good! That means the api key is correctly setted at least! Otherwise you would not see the logs of your errors.
Rate limiting might be an explanation, bad permission another, many options, but you can rule out the bad config route

I have 72 requests (seems too high) for the method "youtube.api.v3.V3DataChannelService.List" with a 100% error rate.  That's the only method that has been used. I don't think they rate limit you so soon. And shouldn't at least some requests gotten through in the start so the error rate should be lower than 100% ?
I'll try again tomorrow hopefully it fixes itself.

It is low (expecially if not in the same minute) for it to be rate limited, but maybe Google has weird rules for it, we'll see tomorrow, if it still not gone maybe try calling that api yourself from postman, you'll probably get a more specific reason for the forbidden
You can find the settings for the call inside the podtube repo (link in the honorable mentions section of the readme)

I didn't fix itself unfortunately. What I meant with "too high" is that I'm pretty sure I didn't try to use the app more than maybe 30 times. I guess your program does a few retries when it encounters an error? I agree that this number of calls shouldn't trigger a rate limit.
I just tried using a VPN from a few different countries in case my IP has been blacklisted or something. Didn't work either.
I'll see if I can figure what Google's problem is.

My app does 1 api call (cached if no new episode are there, but since you were deploying a lot is possible the cache got invalidated) to get the first 50 videos durations, and podtobe makes anywhere from 1 to 3 api calls on its own, so the number is pretty reasonable, but it's pretty low in volume anyway, and I know of no similar issue (I know a good number of people are using the app judging by how much the image is pulled)

I feel it has got to do something with authentication since I get 403 forbidden on the dashboard. But I don't think the called method needs any extra auth beyond the API key. It's weird.

It was the quota! I just tried an request from a Python program and it returned 403 with the message "The request cannot be completed because you have exceeded your quota."
I guess I'll just leave the app alone for a few days and hope that resets the quota. I'd never thought so few requests would trigger a rate limit.

I use the app daily for many feed with 30 minutes refresh and I never got hit. Weird, maybe they have some rules to dinamically adjust them? Don't know.
Anyway good that you found the issue, since it does not seem a problem with the app I will close the issue again, thanks for reporting back!


Updated Ubisoft.Connect to version 124.3.10571

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

cc @palenshus

/azp run


fix(cargo): adjust minimum paste version

First of all wanted to say that I love ratatui/tui and appreciate the continued maintenance of it :)
I ran into a CI issue when trying to release a new version of my terminal hex editor that uses ratatui. The job essentially checks if the minimal versions specified in the Cargo.toml are able to compile the rust project. With how this currently works, -Z minimal-versions currently checks transitive dependencies, and I've identified the source of the error to be that the minimum required version of paste should actually be 1.0.2 instead of 1.0.
This isn't really a problem,  considering that the possibility of Cargo using a paste version 1.0.0 or 1.0.1 to build this library on other peoples machines is not that high. Other transitive dependencies that ratatui relies on also have this "problem,"  but for my use case  - since I only use the crossterm feature - makes my job go green.
(In the future, I'll modify my job to run with -Zdirect-minimal-versions, which would also make the job go green)

Thanks for the fix. https://github.com/ndd7xv/heh looks pretty neat


feat: add powerpipe

Summary
Description: Adding turbot's powerpipe which was recently separated from steampipe which is already listed in this registry.

Tool repo URL: https://github.com/turbot/powerpipe
Plugin repo URL: https://github.com/jc00ke/asdf-powerpipe

Checklist

[x] Format with scripts/format.bash
[x] Test locally with scripts/test_plugin.bash --file plugins/<your_new_plugin_name>
[ ] Your plugin CI tests are green

Tip: use the plugin_test action from asdf-actions in your plugin CI

I'm seeing Actions startup failures, so CI tests are red at the moment. But, I've installed powerpipe myself and it looks good.


Tracking Issue: Fees

This issue captures the state of fees work.
Complete

[x] https://github.com/penumbra-zone/penumbra/issues/2970
[x] https://github.com/penumbra-zone/penumbra/issues/3194

Remaining

[x] https://github.com/penumbra-zone/penumbra/issues/3153
[ ] https://github.com/penumbra-zone/penumbra/issues/3164
[ ] https://github.com/penumbra-zone/penumbra/issues/2972
[ ] #3633

Closed as duplicate of #3367


Reports that contain unicode will cause Bandit to crash

Describe the bug
If bandit output contains unicode characters, and the user attempts to create a report file, then Bandit will crash.
To Reproduce
Steps to reproduce the behavior:

Create the following python file, test.py:

secret = u'Don\'t👏hard👏code👏secrets'

Run a Bandit scan on the file:

bandit -f txt -o report.txt test.py

Observe the resulting crash and traceback:

[main]  INFO    profile include tests: None
[main]  INFO    profile exclude tests: None
[main]  INFO    cli include tests: None
[main]  INFO    cli exclude tests: None
[main]  INFO    running on Python 3.6.5
[node_visitor]  INFO    Unable to find qualified name for module: test.py
Traceback (most recent call last):
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\site-packages\bandit\core\manager.py", line 157, in output_results
    conf_level=conf_level, lines=lines)
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\site-packages\bandit\formatters\text.py", line 161, in report
    wrapped_file.write(utils.convert_file_contents(result))
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\U0001f44f' in position 135: character maps to <undefined>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\w107566\AppData\Local\Programs\Python\Python36\Scripts\bandit.exe\__main__.py", line 9, in <module>
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\site-packages\bandit\cli\main.py", line 345, in main
    args.output_format)
  File "c:\users\<username>\appdata\local\programs\python\python36\lib\site-packages\bandit\core\manager.py", line 161, in output_results
    "%s" % (output_format, str(e)))
RuntimeError: Unable to output report using 'txt' formatter: 'charmap' codec can't encode character '\U0001f44f' in position 135: character maps to <undefined>

Expected behavior
I expect Bandit to successfully create the report, either by handing unicode encodings, or by removing the problematic unicode characters.
Bandit version

bandit 1.4.0

I visited this repository to report the same issue, can back up the original finding.

I grabbed my MacBook and tried it on there and I got the same result as @stannum-l. I think it's a Windows issue.

Ok, so, I whipped out the debugger and out that for some reason, on windows the file opened by argparse.FileType is created with cp1252 encoding by default. Manually specifying the encoding as utf-8 fixes this.

Have you tried setting the encoding in the Python file?  Python will default to ASCII as standard encoding if no other encoding hints are given.
If using Unicode characters, according to PEP 263 you should declare the encoding within your Python file.
https://www.python.org/dev/peps/pep-0263/
#!/usr/bin/python
# -*- coding: utf-8 -*-

I recently scanned this again with Bandit 1.6.2 and it is no longer and issue.
$ bandit --version
bandit 1.6.2
  python version = 3.7.3 (default, Dec 13 2019, 19:58:14) [Clang 11.0.0 (clang-1<IP_ADDRESS>)]

$ bandit test.py
[main]  INFO    profile include tests: None
[main]  INFO    profile exclude tests: None
[main]  INFO    cli include tests: None
[main]  INFO    cli exclude tests: None
[main]  INFO    running on Python 3.7.3
[node_visitor]  INFO    Unable to find qualified name for module: test.py
Run started:2020-09-03 14:12:01.315834

Test results:
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'Don't👏hard👏code👏secrets'
   Severity: Low   Confidence: Medium
   Location: test.py:1
   More Info: https://bandit.readthedocs.io/en/latest/plugins/b105_hardcoded_password_string.html
1       secret = u'Don\'t👏hard👏code👏secrets'

--------------------------------------------------

Code scanned:
        Total lines of code: 1
        Total lines skipped (#nosec): 0

Run metrics:
        Total issues (by severity):
                Undefined: 0.0
                Low: 1.0
                Medium: 0.0
                High: 0.0
        Total issues (by confidence):
                Undefined: 0.0
                Low: 0.0
                Medium: 1.0
                High: 0.0
Files skipped (0):

Issue is still present for the pre-commit hook at version 1.7.5


support for symbols entity

The symbols entity
An array of financial symbols starting with the dollar sign extracted from the Tweet text.

Sorry; digging the past.
I recently had to extract this.
Added
Symbols []struct {
		Indices []int
		Text    string
	}

To the twitter_entities Entities type.
if it can help anyone...

@nonotest: Would you mind sending us a pull request?

Sure thing, will do tomorrow.


feat: enable avm contract test

Please read contributing guidelines and remove this line.

Benchmark results
Metrics with a significant change:

circuit_simulation_time_in_ms (private-kernel-init): 240 (+29%)
circuit_simulation_time_in_ms (private-kernel-ordering): 211 (+23%)
circuit_simulation_time_in_ms (base-parity): 4,596 (+34%)
circuit_simulation_time_in_ms (root-parity): 1,594 (+27%)
circuit_simulation_time_in_ms (base-rollup): 18,559 (+26%)
circuit_simulation_time_in_ms (private-kernel-inner): 312 (+34%)
circuit_simulation_time_in_ms (public-kernel-app-logic): 128 (+36%)
tx_pxe_processing_time_ms (0): 2,392 (+37%)
tx_pxe_processing_time_ms (1): 1,425 (+17%)
tx_sequencer_processing_time_ms (0): 17.1 (+73%)
tx_sequencer_processing_time_ms (1): 744 (+29%)
l2_block_building_time_in_ms (8): 13,915 (+18%)
l2_block_building_time_in_ms (32): 52,846 (+23%)
l2_block_building_time_in_ms (64): 103,578 (+21%)
l2_block_rollup_simulation_time_in_ms (32): 29,354 (+17%)
l2_block_public_tx_process_time_in_ms (8): 5,926 (+30%)
l2_block_public_tx_process_time_in_ms (32): 23,444 (+30%)
l2_block_public_tx_process_time_in_ms (64): 46,897 (+29%)

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

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
676
676
676

l1_rollup_calldata_gas
6,412
6,424
6,412

l1_rollup_execution_gas
585,745
585,757
585,745

l2_block_processing_time_in_ms
1,291 (-2%)
4,802 (+3%)
9,208 (+2%)

note_successful_decrypting_time_in_ms
183 (+12%)
523 (+2%)
997 (+2%)

note_trial_decrypting_time_in_ms
88.8 (+31%)
38.6 (+15%)
127 (+14%)

l2_block_building_time_in_ms
:warning: 13,915 (+18%)
:warning: 52,846 (+23%)
:warning: 103,578 (+21%)

l2_block_rollup_simulation_time_in_ms
7,967 (+11%)
:warning: 29,354 (+17%)
56,587 (+15%)

l2_block_public_tx_process_time_in_ms
:warning: 5,926 (+30%)
:warning: 23,444 (+30%)
:warning: 46,897 (+29%)

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

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,930 (-6%)
28,412 (+1%)

note_history_successful_decrypting_time_in_ms
1,271 (-1%)
2,595 (+5%)

note_history_trial_decrypting_time_in_ms
98.4 (-25%)
196 (+32%)

node_database_size_in_bytes
18,653,264
34,992,208

pxe_database_size_in_bytes
29,859
59,414

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

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
:warning: 240 (+29%)
44,379
28,214

private-kernel-ordering
:warning: 211 (+23%)
52,880
14,296

base-parity
:warning: 4,596 (+34%)
128
311

root-parity
:warning: 1,594 (+27%)
1,244
311

base-rollup
:warning: 18,559 (+26%)
165,760
861

root-rollup
50.4 (+2%)
4,359
725

private-kernel-inner
:warning: 312 (+34%)
73,795
28,214

public-kernel-app-logic
:warning: 128 (+36%)
35,252
28,217

public-kernel-tail
172 (+26%)
40,928
28,217

merge-rollup
8.89 (-2%)
2,568
861

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.3 (+4%)
16.5 (+4%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.601 (+4%)
0.511 (+4%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
46.5 (+1%)
78.8 (+12%)
234 (+4%)
447
880 (+5%)
1,722 (+4%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.477 (+2%)
0.487 (+12%)
0.427 (+5%)
0.418
0.419 (+5%)
0.414 (+4%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
54.3 (-1%)
118 (+12%)
335 (+1%)
666 (+1%)
1,313 (+4%)
2,624 (+4%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
104 (-1%)
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.483
0.531 (+12%)
0.458 (+2%)
0.458 (+1%)
0.456 (+4%)
0.458 (+4%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
62.3 (+3%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.547 (+3%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
14,967
494,914

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
:warning: 2,392 (+37%)
:warning: 1,425 (+17%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
:warning: 17.1 (+73%)
:warning: 744 (+29%)

Closing in favor of #5584


new simple cpu limit strategy

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Fail to register Storyblok access token in Astro config from env variables

Got error in CLI when registering access token in config file via process.env, whereas it works by directly typing the raw value :
storyblokApiInstance has not been initialized correctly
 error   Cannot read property 'get' of undefined

My astro.config.mjs file
import { defineConfig } from "astro/config";
import storyblok from "@storyblok/astro";

// https://astro.build/config
export default defineConfig({
  integrations: [
    storyblok({
      /* Raw value: work
      accessToken: XXXXXXXXXXXXXXXXXXXXXXXX, */
      // Env variable: throw error
      accessToken: process.env.STORYBLOK_TOKEN,
      components: {
        feature: "storyblok/Feature",
        grid: "storyblok/Grid",
        page: "storyblok/Page",
        teaser: "storyblok/Teaser",
      },
    }),
  ],
});

My .env file
STORYBLOK_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXX

astro: 1.3.1
@storyblok/js: 1.8.5
@storyblok/astro: 1.1.0

I had the same issue. if you read the docs:

CAUTION
import.meta.env and .env files are not available inside [configuration files]

So it's not a bug, its a feature :)
(https://docs.astro.build/en/guides/configuring-astro/#environment-variables).
https://docs.astro.build/en/guides/environment-variables/

Thanks for the reply and the link, I actually miss that :)
I saw this video from Matt Maribojoc and got inspired by his code, as you can see down below
(https://github.com/mattmaribojoc/mattmaribojoc.com/blob/main/astro.config.mjs#L12)
(https://youtu.be/viV0ROCVEO8?t=31)
Thought directly calling vars from .env file would do the trick.
But I actually manage to make it works with dotenv, do you have a preferred way ?


:rocket: Bookstore/Redux-setup

:rocket: Bookstore/Redux-setup

[x] No linters error.
[x] Maintained git-flow and GitHub workflows.
[x] Added react-redux & @reduxjs/toolkit.
[x] Added src/redux directory.
[x] Added configuration of store src/redux/store.js.
[x] Added slices for the books & categories.
[x] Followed the given duck's pattern & initialize all states with an empty array.

@KayLemba thanks man :heart:


Full chunk-based computing in coprocessor

Using TiDB Chunk format in the coprocessor framework instead of VectorValue.
Detail Design (Draft): https://github.com/tikv/rfcs/pull/43/
Development Task

[x] Implement type safe chunk format.
[x] Modify rpn_fn macro.
[x] Modify all builtin functions using new signature.

Mentor

@TennyZhuang
@breeswish

Please contact with mentors before start working on the task.

I am interested in this project.
Are there any pre-requisite tasks to be completed to participate in this community bridge project?

Sorry for late reply. the issue is currently a draft without detailed design, but feel free to apply for the project.
Currently there are no pre-requisite tasks because we are still working on the RFC (link can be found in the issue description).

Hey @TennyZhuang ! I am willing to get mentored for this issue for the Community Bridge program. Can you please help me in getting started with it?
Thanks

Still have some remaining tasks, re-open.

Do we have any benchmark result about this?

@choleraehyq Yep but I forgot where I put it. We have micro-benchmarks and we saw 10x performance improvements on varcher processing. However, there are not that much improvements in fixed-size types probably due to the compiler is not using vectorization instruction sets for these operations, also branching for Option.

@choleraehyq Yep but I forgot where I put it. We have micro-benchmarks and we saw 10x performance improvements on varcher processing. However, there are not that much improvements in fixed-size types probably due to the compiler is not using vectorization instruction sets for these operations, also branching for Option.

But TiKV store values in row format, and converting from row format to chunk structure has cost. I'm curious that if this optimization does have positive impact for all workloads?


Pipeline runner cannot delete numbers.json

The /tmp/numbers-checker/*/numbers.json files are created by check_numbers, which runs after each deploy.  The pipeline runner then tries to delete them (as the numbers will have changed making a comparison pointless) but it fails to do so, because they are owned by ebmbot, while the runner is run by hello.

Did we not fix this by fiddling with group memberships?

Yes.  Closing.


fix fix nullptr in loca exchange dependency

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


fix for base64 secrets

fixes #15
I was still having the same issue with 1.4.1 but I played around with it and replacing
https://github.com/tsndr/cloudflare-worker-jwt/blob/594cdd6c05e2b0f137a7d0b53340cd212a9e9ba5/index.js#L114 and https://github.com/tsndr/cloudflare-worker-jwt/blob/594cdd6c05e2b0f137a7d0b53340cd212a9e9ba5/index.js#L77
with keyData = Base64URL.parse(secret) fixed the issue for me but I also needed to add a check for non base64 secrets.

Can you please verify if this is still the case with v2.0.0?

Issue is still there on 2.0.0

Unfortunatly those changes make the test fail.

So if you can implement it without breaking HSxxx I will merge it :)

I updated the PR to use the 2.0.0 source, but I'm not confident that it will be reliable and was instead thinking of adding an extra parameter to sign() and verify() to indicate that the secret is base64 encoded


bower component please

Subj

& tell me please why console error, use React (with addons) v0.13.2
Code
let React = require('react');
let ReactQuill = require('react-quill');

let Redactor = React.createClass({

    getInitialState: function() {
        return {
            value: defaultContent
        };
    },

    render: function() {
        return (
            <ReactQuill
                        value={this.state.value}>
                <ReactQuill.Toolbar key="toolbar"
                                    ref="toolbar"
                                    items={ReactQuill.Toolbar.defaultItems} />
                <div key="editor"
                     ref="editor"
                     className="quill-contents"
                     dangerouslySetInnerHTML={{__html:this.state.value}} />
            </ReactQuill>
        );
    }
});

React.render(<Redactor/>,
    document.getElementById('redactor')
);

Error
Uncaught Error: Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. This usually means that you're trying to add a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref.

I don't use bower and TBH I'm not really too keen on providing this.
But I don't have that much experience with it, maybe you or someone could contribute this.

It remains unlikely for this project to include a bowerfile.
Feel free to reopen this if you have good arguments for inclusion.


Add six to requirements.txt

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thanks for this.
Nevertheless, some followup cleanup is needed:
https://github.com/grpc/grpc/blob/master/tools/run_tests/build_artifact_python.sh#L37
https://github.com/grpc/grpc/blob/master/test/distrib/python/run_distrib_test.sh#L51

For some reason, if you don't manually pip install --upgrade six, the install fails even when  six is mentioned  in requirements.txt


PNA compatible connection tracking

Compiling successfully

if (hdr.tcp.flags & 0x101 /* FIN/RST */) {
            set_entry_expire_time(EXPIRE_TIME_PROFILE_NOW); // New PNA extern
            /* set entry to be purged */
}

It seems that the behavior for a FIN is to remove the connection immediately. Is this really the desired behavior, since the endpoints may still send ACKs after the FINs?

Hi John,
You have a very good point.
In the PNA compliant code I have implemented exactly the same logic as the code based on state graphs that is checked into the repository.
My understanding is that, in general, the current P4 code is providing a rough model that is deliberately ignoring several details and corner cases.
Thanks,

Mario
From: John Carney @.>
Sent: Friday, January 28, 2022 1:21 PM
To: Azure/DASH @.>
Cc: Mario Baldi @.>; Author @.>
Subject: Re: [Azure/DASH] PNA compatible connection tracking (PR #21)
if (hdr.tcp.flags & 0x101 /* FIN/RST /) {
set_entry_expire_time(EXPIRE_TIME_PROFILE_NOW); // New PNA extern
/ set entry to be purged */
}
It seems that the behavior for a FIN is to remove the connection immediately. Is this really the desired behavior, since the endpoints may still send ACKs after the FINs?
—
Reply to this email directly, view it on GitHub https://github.com/Azure/DASH/pull/21#issuecomment-1024490854 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AICNJEZMZU2JV5XTNIHI4C3UYLNANANCNFSM5KCP773Q .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread.Message ID: @.***>

Hi Mario,
Can you please adapt this PR to the current directory structure so we can merge it?

@mariobaldi I merged your changes. Please, verify.


VPN is enabled by default after creating user and device

Describe the bug
After we add a user and a device that user has immediate access to the vpn before they ever authenticate into the console.
Expected behavior
We would expect that a user should need to authenticate prior to the VPN tunnel being active. The initial VPN status should be expired which would require the user to authenticate prior to having access to the VPN tunne.
Platform (please complete the following information):

Firezone Version 0.7.30
OS: RHEL 9
Deployment method: Docker

Hi @merclyn, thanks for the report. Can you confirm what your vpn_session_duration is set to?

The session duration is set to 1 day or "Every Day".

This will be fixed in our upcoming 1.0 release. We won't likely issue a patch for this for 0.7.


[tool_crash] FileSystemException: Cannot open file, OS Error: Read-only file system, errno = 30

Command
flutter --no-color run --machine --track-widget-creation --device-id=chrome --start-paused --dart-define=flutter.inspector.structuredErrors=true lib/main.dart

Steps to Reproduce

...
...
...

Logs
FileSystemException: Cannot open file, OS Error: Read-only file system, errno = 30
#0      _File.throwIfError (dart:io/file_impl.dart:629:7)
#1      _File.openSync (dart:io/file_impl.dart:473:5)
#2      _File.writeAsBytesSync (dart:io/file_impl.dart:598:31)
#3      _File.writeAsStringSync (dart:io/file_impl.dart:622:5)
#4      ForwardingFile.writeAsStringSync (package:file/src/forwarding/forwarding_file.dart:150:16)
#5      ErrorHandlingFile.writeAsStringSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:271:22)
#6      _runSync (package:flutter_tools/src/base/error_handling_io.dart:600:14)
#7      ErrorHandlingFile.writeAsStringSync (package:flutter_tools/src/base/error_handling_io.dart:270:5)
#8      _renderTemplateToFile (package:flutter_tools/src/flutter_plugins.dart:33:8)
#9      _writeWebPluginRegistrant (package:flutter_tools/src/flutter_plugins.dart:960:3)
#10     injectBuildTimePluginFiles (package:flutter_tools/src/flutter_plugins.dart:1124:11)
<asynchronous suspension>
#11     WebProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:749:5)
<asynchronous suspension>
#12     FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:374:7)
<asynchronous suspension>
#13     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1412:7)
<asynchronous suspension>
#14     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1257:27)
<asynchronous suspension>
#15     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#16     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#17     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:283:9)

[!] Flutter (Channel stable, 3.7.12, on macOS 13.0 22A380 darwin-x64, locale en-US)
    • Flutter version 3.7.12 on channel stable at /Users/marconagy/Developer/flutter
    ! The flutter binary is not on your path. Consider adding /Users/marconagy/Developer/flutter/bin to your path.
    ! The dart binary is not on your path. Consider adding /Users/marconagy/Developer/flutter/bin to your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (13 days ago), 2023-04-17 21:47:46 -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/marconagy/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0 22A380 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 112.0.5615.137

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: 12cb4eb7a009f52b347b62ade7cb4854b926af72

Labeling this for team's attention and input, as I don't see an existing issue for same error.
/cc @christopherfujino

@Marco-Nagy is your project directory mounted read-only? Or on some other unusual situation (network file share? usb-drive? tracked in dropbox?)

It's read and write

But located in another drive partition

But located in another drive partition

what file system does it use?

But located in another drive partition

what file system does it use?

Not understand you 😔

But located in another drive partition

what file system does it use?

Not understand you pensive

Can you share the output of command:
diskutil list
(This will show all the partitions you have mounted on your system and what file system they are using). And also share which of these your app project is on.

I'm using Android emulator and I have storage permission enabled for the app yet I'm experiencing the same error.

Using an emulator (Nexus 6 API 30)
Experienced a similar issue:
Exception has occurred. FileSystemException (FileSystemException: Cannot copy file to '#gsri%green_filter|18:6:50.jpg', path = '/data/user/0/com.example.calposcopy/cache/CAP181698039984606454.jpg' (OS Error: Read-only file system, errno = 30))

Debug Console:
E/flutter ( 4544): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: FileSystemException: Cannot copy file to ' + #kje%green_filter|18:4:3.jpg', path = '/data/user/0/com.example.calposcopy/cache/CAP3854287394352118238.jpg' (OS Error: Read-only file system, errno = 30)
E/flutter ( 4544): #0      _checkForErrorResponse (dart:io/common.dart:55:9)
E/flutter ( 4544): #1      _File.copy.<anonymous closure> (dart:io/file_impl.dart:356:7)
E/flutter ( 4544): <asynchronous suspension>
E/flutter ( 4544): #2      _CameraAppState.saveToFolder
E/flutter ( 4544): <asynchronous suspension>
E/flutter ( 4544):
I/ExoPlayerImpl( 4544): Release eec0caa [ExoPlayerLib/2.18.1] [generic_x86, Android SDK built for x86, unknown, 30] [goog.exo.core, goog.exo.exoplayer, goog.exo.decoder, goog.exo.datasource, goog.exo.extractor]
I/CCodecConfig( 4544): query failed after returning 7 values (BAD_INDEX)
W/Codec2Client( 4544): query -- param skipped: index =<PHONE_NUMBER>.
W/Codec2Client( 4544): query -- param skipped: index =<PHONE_NUMBER>.
D/CCodecBuffers( 4544): [c2.android.mp3.decoder#511:Output[N]] popFromStashAndRegister: output format changed to AMessage(what = 0x00000000) = {
D/CCodecBuffers( 4544):   int32_t channel-count = 2
D/CCodecBuffers( 4544):   string mime = "audio/raw"
D/CCodecBuffers( 4544):   int32_t sample-rate = 44100
D/CCodecBuffers( 4544): }
D/CCodecBufferChannel( 4544): [c2.android.mp3.decoder#511] MediaCodec discarded an unknown buffer
I/chatty  ( 4544): uid=10126(com.example.calposcopy) MediaCodec_loop identical 2 lines
D/CCodecBufferChannel( 4544): [c2.android.mp3.decoder#511] MediaCodec discarded an unknown buffer
I/hw-BpHwBinder( 4544): onLastStrongRef automatically unlinking death recipients
D/BufferPoolAccessor2.0( 4544): bufferpool2 0xa9ecc4b8 : 0(0 size) total buffers - 0(0 size) used buffers - 0/5 (recycle/alloc) - 4/32 (fetch/transfer)
Restarted application in 2,522ms.
D/BufferPoolAccessor2.0( 4544): bufferpool2 0xa9ecc4b8 : 0(0 size) total buffers - 0(0 size) used buffers - 0/5 (recycle/alloc) - 4/32 (fetch/transfer)
D/BufferPoolAccessor2.0( 4544): evictor expired: 1, evicted: 1
I/flutter ( 4544): [{patient_id: ht21, patient_name: harshit, patient_age: 21, doctor_name: uttam, hospital_name: jipmer, margin_and_surface: null, vessel: null, lesion_size: null, acetic_acid: null, lugol_iodine: null, total_score: null, biopsy_taken: null, histopathology_report: null, lugol_iodine_img_path: null, green_filer_img_path: null, normal_saline_img_path: null, acetic_acid_img_path: null}, {patient_id: tat12, patient_name: tat, patient_age: 44, doctor_name: rst, hospital_name: trtr, margin_and_surface: null, vessel: null, lesion_size: null, acetic_acid: null, lugol_iodine: null, total_score: null, biopsy_taken: null, histopathology_report: null, lugol_iodine_img_path: null, green_filer_img_path: null, normal_saline_img_path: null, acetic_acid_img_path: null}, {patient_id: tet, patient_name: ttata, patient_age: 211, doctor_name: et, hospital_name: 4ty, margin_and_surface: null, vessel: null, lesion_size: null, acetic_acid: null, lugol_iodine: null, total_score: null, biopsy_taken: null, histopathology_report: null, l
I/flutter ( 4544): Data List =
I/flutter ( 4544): [{patient_id: ht21, patient_name: harshit, patient_age: 21, doctor_name: uttam, hospital_name: jipmer, margin_and_surface: null, vessel: null, lesion_size: null, acetic_acid: null, lugol_iodine: null, total_score: null, biopsy_taken: null, histopathology_report: null, lugol_iodine_img_path: null, green_filer_img_path: null, normal_saline_img_path: null, acetic_acid_img_path: null}, {patient_id: tat12, patient_name: tat, patient_age: 44, doctor_name: rst, hospital_name: trtr, margin_and_surface: null, vessel: null, lesion_size: null, acetic_acid: null, lugol_iodine: null, total_score: null, biopsy_taken: null, histopathology_report: null, lugol_iodine_img_path: null, green_filer_img_path: null, normal_saline_img_path: null, acetic_acid_img_path: null}, {patient_id: tet, patient_name: ttata, patient_age: 211, doctor_name: et, hospital_name: 4ty, margin_and_surface: null, vessel: null, lesion_size: null, acetic_acid: null, lugol_iodine: null, total_score: null, biopsy_taken: null, histopathology_report: null, l
I/flutter ( 4544): Patient Model =
I/flutter ( 4544): [Patient(patient_name: harshit, patient_id: ht21, patient_age: 21, doctor_name: uttam, hospital_name: jipmer, margin_and_surface: 0, vessel: 0, lesion_size: 0, acetic_acid: 0, lugol_iodine: 0, total_score: 0, biopsy_taken: , histopathology_report: , lugolIodineImagesPath: , greenFilterImagesPath: , normalSalineImagesPath: , aceticAcidImagesPath: ), Patient(patient_name: tat, patient_id: tat12, patient_age: 44, doctor_name: rst, hospital_name: trtr, margin_and_surface: 0, vessel: 0, lesion_size: 0, acetic_acid: 0, lugol_iodine: 0, total_score: 0, biopsy_taken: , histopathology_report: , lugolIodineImagesPath: , greenFilterImagesPath: , normalSalineImagesPath: , aceticAcidImagesPath: ), Patient(patient_name: ttata, patient_id: tet, patient_age: 211, doctor_name: et, hospital_name: 4ty, margin_and_surface: 0, vessel: 0, lesion_size: 0, acetic_acid: 0, lugol_iodine: 0, total_score: 0, biopsy_taken: , histopathology_report: , lugolIodineImagesPath: , greenFilterImagesPath: , normalSalineImagesPath: , aceticAcidIm
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
I/TextInputPlugin( 4544): Composing region changed by the framework. Restarting the input method.
W/IInputConnectionWrapper( 4544): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper( 4544): getTextBeforeCursor on inactive InputConnection
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
I/TextInputPlugin( 4544): Composing region changed by the framework. Restarting the input method.
D/InputConnectionAdaptor( 4544): The input method toggled cursor monitoring on
W/System  ( 4544): A resource failed to call release.
E/System  ( 4544): Uncaught exception thrown by finalizer
E/System  ( 4544): java.util.concurrent.RejectedExecutionException: Task android.hardware.camera2.impl.-$$Lambda$CallbackProxies$SessionStateCallbackProxy$9H0ZdANdMrdpoq2bfIL2l3DVsKk@24b862f rejected from java.util.concurrent.ThreadPoolExecutor@464a43c[Shutting down, pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 8]
E/System  ( 4544): 	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2086)
E/System  ( 4544): 	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:848)
E/System  ( 4544): 	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1394)
E/System  ( 4544): 	at java.util.concurrent.Executors$DelegatedExecutorService.execute(Executors.java:630)
E/System  ( 4544): 	at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.onClosed(CallbackProxies.java:104)
E/System  ( 4544): 	at android.hardware.camera2.impl.CameraCaptureSessionImpl.close(CameraCaptureSessionImpl.java:587)
E/System  ( 4544): 	at android.hardware.camera2.impl.CameraCaptureSessionImpl.finalize(CameraCaptureSessionImpl.java:878)
E/System  ( 4544): 	at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:291)
E/System  ( 4544): 	at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:278)
E/System  ( 4544): 	at java.lang.Daemons$Daemon.run(Daemons.java:139)
E/System  ( 4544): 	at java.lang.Thread.run(Thread.java:923)
I/flutter ( 4544): {patient_name: dkhydy, patient_age: 5, patient_id: gsri, hospital_name: dst, doctor_name: rts}
I/flutter ( 4544): Directory path = /storage/emulated/0/Android/data/com.example.calposcopy/files/gsri_dkhydy

════════ Exception caught by widgets library ═══════════════════════════════════
The following LateError was thrown building CameraApp(dirty, state: _CameraAppState#09978):
LateInitializationError: Field 'controller' has not been initialized.

The relevant error-causing widget was
CameraApp
When the exception was thrown, this was the stack
#0      _CameraAppState.controller (package:CiARADS/camera.dart)
#1      _CameraAppState.build
#2      StatefulElement.build
#3      ComponentElement.performRebuild
#4      StatefulElement.performRebuild
#5      Element.rebuild
#6      ComponentElement._firstBuild
#7      StatefulElement._firstBuild
#8      ComponentElement.mount
...     Normal element mounting (220 frames)
#228    Element.inflateWidget
#229    MultiChildRenderObjectElement.inflateWidget
#230    Element.updateChild
#231    Element.updateChildren
#232    MultiChildRenderObjectElement.update
#233    Element.updateChild
#234    ComponentElement.performRebuild
#235    StatefulElement.performRebuild
#236    Element.rebuild
#237    StatefulElement.update
#238    Element.updateChild
#239    ComponentElement.performRebuild
#240    Element.rebuild
#241    ProxyElement.update
#242    Element.updateChild
#243    ComponentElement.performRebuild
#244    Element.rebuild
#245    ProxyElement.update
#246    _InheritedNotifierElement.update
#247    Element.updateChild
#248    ComponentElement.performRebuild
#249    StatefulElement.performRebuild
#250    Element.rebuild
#251    StatefulElement.update
#252    Element.updateChild
#253    ComponentElement.performRebuild
#254    Element.rebuild
#255    ProxyElement.update
#256    _InheritedNotifierElement.update
#257    Element.updateChild
#258    ComponentElement.performRebuild
#259    StatefulElement.performRebuild
#260    Element.rebuild
#261    StatefulElement.update
#262    Element.updateChild
#263    ComponentElement.performRebuild
#264    StatefulElement.performRebuild
#265    Element.rebuild
#266    StatefulElement.update
#267    Element.updateChild
#268    SingleChildRenderObjectElement.update
#269    Element.updateChild
#270    SingleChildRenderObjectElement.update
#271    Element.updateChild
#272    ComponentElement.performRebuild
#273    Element.rebuild
#274    ProxyElement.update
#275    Element.updateChild
#276    ComponentElement.performRebuild
#277    StatefulElement.performRebuild
#278    Element.rebuild
#279    BuildOwner.buildScope
#280    WidgetsBinding.drawFrame
#281    RendererBinding._handlePersistentFrameCallback
#282    SchedulerBinding._invokeFrameCallback
#283    SchedulerBinding.handleDrawFrame
#284    SchedulerBinding._handleDrawFrame
#285    _invoke (dart:ui/hooks.dart:170:13)
#286    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:401:5)
#287    _drawFrame (dart:ui/hooks.dart:140:31)
════════════════════════════════════════════════════════════════════════════════
I/Camera  ( 4544): close
I/Camera  ( 4544): open | onClosed
W/Camera  ( 4544): The selected imageFormatGroup is not supported by Android. Defaulting to yuv420
I/Camera  ( 4544): startPreview
I/Camera  ( 4544): CameraCaptureSession onConfigured
I/Camera  ( 4544): Updating builder settings
D/Camera  ( 4544): Updating builder with feature: ExposureLockFeature
D/Camera  ( 4544): Updating builder with feature: ExposurePointFeature
D/Camera  ( 4544): Updating builder with feature: ZoomLevelFeature
D/Camera  ( 4544): Updating builder with feature: AutoFocusFeature
D/Camera  ( 4544): Updating builder with feature: NoiseReductionFeature
I/Camera  ( 4544): updateNoiseReduction | currentSetting: fast
D/Camera  ( 4544): Updating builder with feature: FocusPointFeature
D/Camera  ( 4544): Updating builder with feature: ResolutionFeature
D/Camera  ( 4544): Updating builder with feature: SensorOrientationFeature
D/Camera  ( 4544): Updating builder with feature: FlashFeature
D/Camera  ( 4544): Updating builder with feature: ExposureOffsetFeature
D/Camera  ( 4544): Updating builder with feature: FpsRangeFeature
I/Camera  ( 4544): refreshPreviewCaptureSession
I/Camera  ( 4544): runPrecaptureSequence
I/Camera  ( 4544): refreshPreviewCaptureSession
D/CameraCaptureCallback( 4544): CameraCaptureCallback | state: STATE_WAITING_PRECAPTURE_START | afState: 0 | aeState: 2
D/CameraCaptureCallback( 4544): CameraCaptureCallback | state: STATE_WAITING_PRECAPTURE_DONE | afState: 0 | aeState: 2
I/Camera  ( 4544): captureStillPicture
D/Camera  ( 4544): Updating builder with feature: ExposureLockFeature
D/Camera  ( 4544): Updating builder with feature: ExposurePointFeature
D/Camera  ( 4544): Updating builder with feature: ZoomLevelFeature
D/Camera  ( 4544): Updating builder with feature: AutoFocusFeature
D/Camera  ( 4544): Updating builder with feature: NoiseReductionFeature
I/Camera  ( 4544): updateNoiseReduction | currentSetting: fast
D/Camera  ( 4544): Updating builder with feature: FocusPointFeature
D/Camera  ( 4544): Updating builder with feature: ResolutionFeature
D/Camera  ( 4544): Updating builder with feature: SensorOrientationFeature
D/Camera  ( 4544): Updating builder with feature: FlashFeature
D/Camera  ( 4544): Updating builder with feature: ExposureOffsetFeature
D/Camera  ( 4544): Updating builder with feature: FpsRangeFeature
I/Camera  ( 4544): sending capture request
D/CameraCaptureCallback( 4544): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 2
D/CameraCaptureCallback( 4544): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 2
D/CameraCaptureCallback( 4544): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 5
D/CameraCaptureCallback( 4544): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 5
I/Camera  ( 4544): unlockAutoFocus
I/Camera  ( 4544): refreshPreviewCaptureSession
I/Camera  ( 4544): onImageAvailable
I/ExoPlayerImpl( 4544): Init 2b0591f [ExoPlayerLib/2.18.1] [generic_x86, Android SDK built for x86, unknown, 30]
D/CCodec  ( 4544): allocate(c2.android.mp3.decoder)
I/CCodec  ( 4544): Created component [c2.android.mp3.decoder]
D/CCodecConfig( 4544): read media type: audio/mpeg
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: algo.buffers.max-count.values
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: output.subscribed-indices.values
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: input.buffers.allocator-ids.values
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: output.buffers.allocator-ids.values
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: algo.buffers.allocator-ids.values
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: output.buffers.pool-ids.values
D/ReflectedParamUpdater( 4544): extent() != 1 for single value type: algo.buffers.pool-ids.values
I/CCodecConfig( 4544): query failed after returning 7 values (BAD_INDEX)
D/CCodecConfig( 4544): c2 config diff is Dict {
D/CCodecConfig( 4544):   c2::u32 coded.bitrate.value = 64000
D/CCodecConfig( 4544):   c2::u32 input.buffers.max-size.value = 8192
D/CCodecConfig( 4544):   c2::u32 input.delay.value = 0
D/CCodecConfig( 4544):   string input.media-type.value = "audio/mpeg"
D/CCodecConfig( 4544):   string output.media-type.value = "audio/raw"
D/CCodecConfig( 4544):   c2::u32 raw.channel-count.value = 2
D/CCodecConfig( 4544):   c2::u32 raw.sample-rate.value = 44100
D/CCodecConfig( 4544): }
D/CCodec  ( 4544): [c2.android.mp3.decoder] buffers are bound to CCodec for this session
D/CCodecConfig( 4544): no c2 equivalents for flags
D/CCodecConfig( 4544): config failed => CORRUPTED
W/Codec2Client( 4544): query -- param skipped: index =<PHONE_NUMBER>.
D/CCodec  ( 4544): client requested max input size 4096, which is smaller than what component recommended (8192); overriding with component recommendation.
W/CCodec  ( 4544): This behavior is subject to change. It is recommended that app developers double check whether the requested max input size is in reasonable range.
D/CCodec  ( 4544): setup formats input: AMessage(what = 0x00000000) = {
D/CCodec  ( 4544):   int32_t channel-count = 2
D/CCodec  ( 4544):   int32_t max-input-size = 8192
D/CCodec  ( 4544):   string mime = "audio/mpeg"
D/CCodec  ( 4544):   int32_t sample-rate = 44100
D/CCodec  ( 4544): } and output: AMessage(what = 0x00000000) = {
D/CCodec  ( 4544):   int32_t channel-count = 2
D/CCodec  ( 4544):   string mime = "audio/raw"
D/CCodec  ( 4544):   int32_t sample-rate = 44100
D/CCodec  ( 4544): }
W/Codec2Client( 4544): query -- param skipped: index =<PHONE_NUMBER>.
W/Codec2Client( 4544): query -- param skipped: index =<PHONE_NUMBER>.
E/FMQ     ( 4544): grantorIdx must be less than 3
E/FMQ     ( 4544): grantorIdx must be less than 3
D/CCodecBufferChannel( 4544): [c2.android.mp3.decoder#369] Created input block pool with allocatorID 16 => poolID 21 - OK (0)
D/BufferPoolAccessor2.0( 4544): bufferpool2 0xa9ecc4b8 : 0(0 size) total buffers - 0(0 size) used buffers - 0/5 (recycle/alloc) - 4/32 (fetch/transfer)
D/BufferPoolAccessor2.0( 4544): Destruction - bufferpool2 0xa9ecc4b8 cached: 0/0M, 0/0% in use; allocs: 5, 0% recycled; transfers: 32, 88% unfetched
I/CCodecBufferChannel( 4544): [c2.android.mp3.decoder#369] Created output block pool with allocatorID 16 => poolID 35 - OK
D/CCodecBufferChannel( 4544): [c2.android.mp3.decoder#369] Configured output block pool ids 35 => OK
E/FMQ     ( 4544): grantorIdx must be less than 3
E/FMQ     ( 4544): grantorIdx must be less than 3
I/flutter ( 4544): Photo captured and saved to gallery
D/AudioTrack( 4544): getTimestamp_l(23): device stall time corrected using current time<PHONE_NUMBER>300
D/AudioTrack( 4544): stop(23): called with 18432 frames delivered
D/BufferPoolAccessor2.0( 4544): bufferpool2 0xaa12bc58 : 5(40960 size) total buffers - 4(32768 size) used buffers - 0/5 (recycle/alloc) - 4/32 (fetch/transfer)
D/BufferPoolAccessor2.0( 4544): evictor expired: 2, evicted: 1

flutter doctor -v
[√] Flutter (Channel stable, 3.13.9, on Microsoft Windows [Version 10.0.19045.3570], locale en-IN)
    • Flutter version 3.13.9 on channel stable at C:\FlutterSDK\flutter_windows_2.10.4-stable\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d211f42860 (11 days ago), 2023-10-25 13:42:25 -0700
    • Engine revision 0545f8705d
    • Dart version 3.1.5
    • DevTools version 2.25.0

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\user\AppData\Local\Android\sdk
    • Platform android-34, build-tools 31.0.0
    • Java binary at: E:\Applications\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    • All Android licenses accepted.

[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2022.2)
    • Android Studio at E:\Applications\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)

[√] VS Code (version 1.84.0)
    • VS Code at C:\Users\user\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.58.0

[√] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19045.3570]
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 118.0.2088.76

[√] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

Android manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACTION_MANAGE_WRITE_SETTINGS"/>
<uses-feature android:name="android.hardware.camera" />
    <application
        android:requestLegacyExternalStorage="true"
        android:label="CiARADS"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="false"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

Error:

I'm also facing with this error, using beta channel and Flutter 3.13.9 version.
any feedbacks for this?

Am also facing this error. Channel main, 3.14.0-14.0.pre.82, Windows version 10 or higher. I can create and write a file through a php file within the same folder but am unable through a dart file using dart code.
example file: 'dartFile.dart'
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: FileSystemException: Cannot open file, path = 'dartFile.dart' (OS Error: Read-only file system, errno = 30)

same issue while setting up sambast.

Hello,
the issue doesn't happen only on iOS and Android emulators but also on real hardware. At least on Android. In emulators is the same for IOS and Android.
I have also tried out some workarounds from stackoverflow but didn't helped.
Best,
George

Hello, this issue occurs when the file is placed in a subfolder and subfolder is not created at first instance.
Example:
file = await File(filePath) // where filePath is **/folderName/fileName.ext**
...
final fileBytes = await file.readAsBytes(); // This throws error

But this code works:
file = await File(filePath).create(recursive: true) // where filePath is **/folderName/fileName.ext**
...
final fileBytes = await file.readAsBytes(); // It works as expected


Week 3 Review Ticket

Score: /10
Video: YOUTUBE Playlist
My Replit
Crossover Replit-Derrick Huang
Deployed GitHub Pages
Coding Review
Individual Coding:

[x] GitHub Pages showing key learnings and challenges conquered from Tech Talks

[x] GitHub commits you have made, show GitHub insights into your code commits.

[x] Show Code running on Replit as well as IntelliJ

[x] Menu review illustrating use of Lists and navigation: show runtime, code organization, code and comments

[x] List and Loops: show runtime, code organization, code and comments

[x] Class review and understanding: show runtime, code organization, code and comments

[x] Show Crossover contribution:  Highlight work you did in crossover project: show their Replit runtime, code commit(s) in their GitHub repo

[x] Show anything you have done to enhance what you have learned from Python code

Score:

[ ] Share link(s) on slack to final work:  GitHub pages, Replit, Review Ticket(s), TimeBox, or other methods you have used to organize work.
[ ] GitHub Pages showing key learnings and challenges conquered from Tech Talks
[ ] GitHub commits you have made, show GitHub insights into your code commits.
[ ] Show Code running on Replit as well as IntelliJ
[ ] Menu review illustrating use of Lists and navigation: show runtime, code organization, code and comments
[ ] List and Loops: show runtime, code organization, code and comments
[ ] Class review and understanding: show runtime, code organization, code and comments
[ ] Make sure you cover everything, but create your own order and optimize time
[ ] Use Voice or Captions.   Try not to wiggle mouse a lot or over scroll.  Make sure you have a clear plan before you start.
[ ] Perform video in small parts 15-30 seconds and finish a key subject.  Then put the final Video together with Video editing or Youtube playlists.

Grading Akhil Nandhakumar       Score: 9.9
Didn't show code commits on crossover Github Repo.
Video https://youtu.be/SJqbC-DlWFU


Draft prototype for club data

Make a database table for data associated with club admins

Ver. 1 of table completed


Increasing the height of the block to fill the empty places in the column

new options:
autoHeight - the inclusion height adjustment
autoHeightUniform - uniform distribution of height
Useful for leveling blocks with text.

No update so I will close this.


Support deployment on different domain than localhost

[x] configurable docker-compose.yml
[ ] generate certificates using letsencrypt

revisit this in a deployment sprint for the development branch


Callback to confirm before onchange

Hi,
Is there any option / callback function that can perform a confirmation dialog before make selected?
I would like to do something like once the option select will prompt a confirmation dialog box to choose 'Yes" or "No". Anyone can share and guide me how to make this? Many thanks.

Do something like:
var $select = $('#select');
var selectVal = $select.val();

$select.on('change', function() {
    if (!window.confirm("Are you sure?")) {
        $select.val(selectVal);
    }
});


use Strong Parameters on User model user_params method

This PR suggests 2 small improvements:

always return ActionParam object on UsersController user_params method (even if empty)
use Rails Strong Parameters to permit default user params instead of deleting params entries

this way we can easily override user_params method to add new custom fields for User model
let me know if it makes sense to add a configuration entry for changing default new User parameters, for example:
as default: Clearance.configuration.permit_user_parameters = [:email, :password]
we could customize it:
Clearance.configuration.permit_user_parameters = [:name, :email, :password]
and default permit call would looks like:
params.fetch(Clearance.configuration.user_parameter, {}).permit(*Clearance.configuration.permit_user_parameters)

ref #542


adds smtp notifications and smtp config discovery from k8s/secrets

Opening as draft for discussion and rebase while I test integration with k8s-cleaner.

The failure was because make target "fmt" did not have go imports.
Noticed in one change of mine as well, and fixing it here.
So just run make fmt one more time after rebase.

@colinjlacy thank you. this can be merged. We have two options:

merge to dev branch (I am about to cut release v0.38.0 so we can merge to dev after that and this feature will be in v0.39.0)
merge to "notifications" branch. At this point we can complete all changes and we are not tied to a release (once done we will merge notifications to dev)

I am OK with either. Please let me know which options you want to go.


Medians

So I'm not sure if I am doing this request in the right place but I have modified LaneConnectorTool and RouteManager to restrict crossing over medians to change lanes.  Essentially groups of lanes separated by space (over 1m) or a median will be grouped together.  I also made it so that trains cannot change lanes outside of junctions.  This is just a first draft so it is subject to some additions.
Fixes #89

I did this too, is there any way you can fix your indents to be tabs instead of spaces? Then it should fix this weird issue where it changes the whole file

Thank you soooo much! This allows me to better understand the flow structure of TMPE.  I have to admit that without getting into too much of the guts this was sort of a seat of the pants attempt.

I definitely want to maximize time efficiency.  If there is a way to trim the exponential stuff to log or even linear time, would be a great plus.  Good to know about linq too.  Do you just use 'for' statements?

Also I did find out the hard way about the nextDir and nextDir2.  I will keep that in mind for times when people find it necessary to bring two roads together from opposite directions.  Which leads me to...

-I am currently working on refining rail rules (I will branch that off till we get these settled). The idea there is that trains cannot change lanes like cars do...because they are on tracks.  Therefore, I designed it that each lane is in it's own lanegroup.  The rules that I came up with sum up to the principle that the only time rail vehicles can ever change lanes is when entering or leaving a station (and even then I would like for the transition cost to be lower for the train to stay in it's lane). I would also like them to follow highway rules at split and simple junctions (which I haven't gotten around to implementing yet.  I am not sure if there would be a (train per lane) option with a highway rules option or if they should all be bundled together.

I laid low on the methods as I noticed you tended to keep things simple yet loooooong which gives a slight performance edge.  However, duplicate code is not good.  I will revise.

I will respond to each of your comments specifically as I address them in the code.

@andreharv there were some changes made to trains changing tracks in the most recent release of TMPE - see #236 and #230
@VictorPhilipp Should there also be a mention of that in the release notes?

Ok I will review those as well.

Ok I will review those as well.

I increased lane changing costs at railway switches. That should make trains avoid unnecessary lane changes. Commit: https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/commit/2b7db7ad242811d180e6591306d31dae33d1b08b

@andreharv You mentioned in one of your commits that you'd done 'additional testing with less than ideal user creations' - could you provide links to those assets as we'll need to test with them prior to any public release of this PR.

Metrobus
4-Lane One-Way Road with Trees
CSUR Ave 10DR41
CSUR Ave 10DR7
Royal Parade (extra wide Tram Avenue with bike lane and Trees)
CSUR Sep 222
CSUR St 8DR13
12L arterial w/ isolated 2L left-turn bay

@andreharv Any status on this PR? Will be marking as inactive within the next few days

Closing this PR for now, since there was no progress for more than a year.
In case this is still relevant PR can be reopened.


refactor: linting implementation

Description
Using eslint need to implement linting.

Linting done successfully and the WRPD-bugfix-18 branch has been deleted.


Added valueset, QR code generation, test-data parser and some fixes

The test-data verifier needs more work but it will pull the latest data from the test-data repo and run through all the JSON files.

@gabywh  thanks for the review
I did some fixes, updated the readme, added Apache 2.0 licence
Did some significant refactoring by removing the BouncyCastle library because of a bad support for HSMs

@gabywh and @ryanbnl thanks for all the good comment.
I tried to resolve most of them, but some I left unchanged.
I think many countries are using the implementation and this is almost a two month old pull request that fixed many issues, for example the time in dob was fixed 7. may.
From an implementation standpoint, I have not found any functional issues.
Is it possible to accept this pull request, any new issue will then become a new pull request?

Yeah that's good :)


literally no point

what is the point of literally just formatting an api response, that isnt your api, and calling it a project.  literally just farming commits with no point, over 200 repos and 50 followers not a good look. also, you shared your private key, so thanks for that
also recode social synapse in an acceptable clientside language and stop pasting

LOL FR ONG

what is the point of literally just formatting an api response, that isnt your api, and calling it a project. literally just farming commits with no point, over 200 repos and 50 followers not a good look. also, you shared your private key, so thanks for that
also recode social synapse in an acceptable clientside language and stop pasting

Hello,
I'm actually trying challenge my self by trying to contributes daily with new ideas but It just sometimes I lack ideas.

youre using compiled nodejs for a client app and only premade packages, i hardly call that a challenge


Flip andMap arguments for 0.18 pipeline style

Rather than the old infix notation.
Fixes #15

Dammit, how'd I miss that? Must have been because this was one of the first libraries ported because it's an elm-test dependency.

Released 5.0.0.


Add sync service and worker

This adds a sync service that subscribes to every other originator, based on the pair programming @mkysel and I did two weeks ago. For now, tests are performed on localhost with one server on each port. This is the most basic version, future PR's will add missing pieces such as handling originator outages, originator payload validation, server configuration, etc.
A bunch of auto-generated proto changes also got mixed into this PR. How do we feel about removing dev/generate from dev/up?
Closes https://github.com/xmtp/xmtpd/issues/181

I feel good about removing dev/generate from up. We have them as separate commands in node go for exactly this reason.

All the protos stuff should be handled by https://github.com/xmtp/xmtpd/pull/207. That will hopefully simplify this PR and only review changes related to the new feature.


Viewing All Upcoming Stages

Will there be a feature to view all the upcoming stages in the future pipeline? This is available in Splatoon2.ink and it’s the feature I used the most previously. I hope this feature will be available down the line.
Thank you for making this site, I love it and I use it daily!

Yes! This is the next thing I'm going to be working on. Sorry this has taken so long, I've had a lot of other things going on lately 😄
Glad to hear you like the site!

Hey there, this is now available on the site!

Yessss! Thank you for making this!


Configuration script does not work correctly on non-English environment

The configuration script (MicrosoftAzureMigrate-Hyper-V.ps1) does not work correctly on the non-English environment. Because the Integration Services name depends on the language of the environment.

Also "1 VMs has the Data Exchange Integration Service already enabled. No settings changed." is always show even if the Data Exchange Integration Service disabled.

I'm guessing that you can find the Data Exchange Integration Service in the following language-independent way.
($vm |
    Get-VMIntegrationService |
    Where-Object -FilterScript {
        $_.Id.EndsWith('\2A34B1C2-FD73-4043-8A5B-DD2159BC743F')
    }).Enabled

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0e471b58-5a81-3c02-4e3a-cbb6f19e6a49
Version Independent ID: b57b16ff-09c9-ba7f-87f3-8780f4c8d964
Content: Prepare Hyper-V VMs for assessment/migration with Azure Migrate - Azure Migrate
Content Source: articles/migrate/tutorial-prepare-hyper-v.md
Service: azure-migrate
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

@tksh164, thank you for reaching out. We are looking into this and would get back to you soon on this thread.

@tksh164 Appreciate your feedback, assigning this issue to our document author @rayne-wiselman to further evaluate the feedback and take it forward with the script owners to reflect the feedback accordingly.

Thanks for your feedback. I've added a note about this in the article https://docs.microsoft.com/en-us/azure/migrate/tutorial-discover-hyper-v#prepare-hyper-v-hosts
#please-close

Thanks for your feedback. I've added a note about this in the article https://docs.microsoft.com/en-us/azure/migrate/tutorial-discover-hyper-v#prepare-hyper-v-hosts
#please-close


debugger can't see this?

vuecli的project

It's a Vue/webpack sourcemap generation problem. It would be the same thing in Chrome debugger. Unfortunately there is no fix.


fix 1596099. Update permissions with IndexRequest instead of UpdateRe…

…quest to get overwrite behavior
This PR fixes https://bugzilla.redhat.com/show_bug.cgi?id=1596099 by writing ACL's using IndexRequest instead of UpdateRequest which relies on optimistic concurrency and document merge behavior

Tests failed.

/ok-to-test

question about the test file entry, otherwise LGTM

[merge]


Update statement on compatibility with old Kubernetes versions

To match https://github.com/cockroachdb/cockroach/pull/24601

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/715d8e5c80739aca61f840637b78df2fba5a8d40/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/10e82baf0c5b4536b36f7c76ac029caf8e87c992/


problem with CORS in production

Hello, I have had a problem for a while with an API that I built with NHttp and Nodejs which is running in production.
Every time the spa vuejs frontend hosted on cloudflare page sends a request to the api after a certain time of inactivity (8hour...) the frontend request does not reach the server and I often get errors CORS in the browser console.

maybe I can see the cors configuration?

preflightNext is the same as preflightContinue in expressjs. You can try changing it to false or not set.


File preview before uploading to Wikicommons

Proposed solution
Add a preview of metadata AND show the picture before uploading to WIkicommons e.g.

Todays solution is messy if you should open the file on disc before uploading and check with the metadata. Yesterday I had 120 files uploaded and the Open Refine reconciliation was bad but I missed that and just after uploading I realized the bad quality
My understanding is that UNDO Entire group doenst work on Wikicommons?!?!?
Alternatives considered

Additional context

Taking advantage of Special:ExpandTemplates is probably a good first step(and likely the overall best solution), it does, however, AFAIK not support SDC so it might cause more issues than it solves before the situation improves upstream.

@Abbe98 how do I use Openrefine to just change the metadata on Wikicommons?!?!? Right now it asks for a file everytume I should do a change....

See also comment that we also need to make it easy to reconciliate to a subset of Wikidata
https://forum.openrefine.org/t/reconciliation-to-a-subset-of-wd/363?u=salgo60

Thanks for filing this issue. We had it on the list of possible to dos for the original SDC grant, but we didn't succeed in implementing this in that allocated time and budget. It can be placed on a wishlist for future enhancements though.

Taking advantage of Special:ExpandTemplates is probably a good first step(and likely the overall best solution), it does, however, AFAIK not support SDC so it might cause more issues than it solves before the situation improves upstream.

Yes, this was indeed also identified as a blocker (even if we would have had the time/money to work on this already). You can't preview SDC on wiki just like Pattypan does with Wikitext.
Other suggested approaches in the meanwhile:

Use the preview function of batch editing inside OpenRefine with the help of filtering/faceting (indeed without thumbnail but personally I have not found that to be a blocker)
If you install the Wikimedia Commons extension for OpenRefine, you can see thumbnails of existing (reconciled) Wikimedia Commons files inside your OpenRefine grid.

My understanding is that UNDO Entire group doenst work on Wikicommons?!?!?

You can undo batch edits to existing Wikimedia Commons files using EditGroups, but you cannot undo a batch upload (the latter is not EditGroups' fault - you need special permissions as a user on Wikimedia Commons to be able to delete uploaded files)


fix(Datepicker): remove bug of not setting value when inside Drawer

FX-4366
Description
Describe the changes and motivations for the pull request.
How to test

Temploy
Follow new example on temploy

Screenshots
No screenshots
Development checks

[x] Add changeset according to guidelines (if needed)
[x] Read CONTRIBUTING.md and Component API principles
[x] Make sure that additions and changes on the design follow Toptal's BASE design, and it's been already discussed with designers at #-base-core
[x] Annotate all props in component with documentation
[x] Create examples for component
[x] Ensure that deployed demo has expected results and good examples
[x] Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.
[x] Self reviewed
[x] Covered with tests (visual tests included)

Breaking change

[x] codemod is created and showcased in the changeset
[x] test alpha package of Picasso in StaffPortal

All development checks should be done and set checked to pass the
GitHub Bot: TODOLess action

PR commands

List of available commands:

@toptal-bot run package:alpha-release - Release alpha version
@toptal-anvil ping reviewers - Ping FX team for review

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

Spotted strange behavior with not closing calendar on blur, might be connected with not calling hideCalendar() when clicking once inside of the calendar and then outside of the calendar
https://github.com/toptal/picasso/assets/1390758/c6ea6b89-7474-4b06-b0d9-3f74a359022f

@toptal-bot run package:alpha-release


New plot type: BubblePlot

Before asking a question see if it is already answered in:

ScottPlot Cookbook
ScottPlot Demo Application

Indicate what you have tried:
I'm currently in the process of porting some matplotlib code to ScottPlot. So far I really like it. Thanks for building such a great library!
I'm currently using latest stable version of ScottPlott but I can switch to beta if there are options available there. I need to plot circles and circle sector to visualize some data. There seems to be no direct method to do so.
I tried plotting a point but the diameter is based on pixels not the axis. I've also seen the demo with many polygons where a circle is manually constructed using a polygon. Is there an easier way to do so?

Hi @fgma, thanks for this issue!
I'm happy you enjoy ScottPlot! Matplotlib is a fantastic library, and it was a major inspiration for ScottPlot.
I'm guessing you're trying to create a plot like this. It would be nice if you could control the size of the circles in axis units (not in pixel units), and customize each circle's fill color, border color, border thickness, transparency, etc.

At this moment, there's not an easy way to do this with ScottPlot! I'm surprised I hadn't thought to implement this previously. @bclehmann is this a plot type you may be interested in making while I work on some of the other triaged tasks? It would great if we could get this into the cookbook before the big 4.1 release. Architecture wise I'm thinking it should be its own plot type and not a child an existing type (scatter plot is tempting, but has too much cruft). I'm curious to hear your thoughts if you are interested in pursuing this!

@swharden I would like to work on this but I don't know how busy I might be with finals coming up. So I can make no guarantees.

As an aside, heatmaps can be used to represent similar information to bubble plots. I don't know if that would be appropriate for your use case.
So far, my understanding of a bubble plot looks something like this, please correct me if I'm wrong:

Represents 3-D data, i.e. a position and a magnitude
Magnitude is expressed through bubble diameter and perhaps colour
An AddBubble method may be useful in addition to an AddBubblePlot method

Analogous to how we have AddPoint alongside AddScatter

I would like to work on this but I don't know how busy I might be with finals coming up

@bclehmann it reminded me a bit of the lollipop plots so I thought it seemed like it would be up your alley! Definitely focus on your academic/career stuff, and I'm sure this task will be around when you have free time again. If I get the time to work on this I'll make a PR and start working on it there so check there before you begin... but it's not like I've been getting to the bottom of any of my to-do lists lately so something tells me this task will still be floating around when you're free again!
In the interim, maybe this issue is a good place to collect specifications for what this plot type can do. I'm thinking each bubble should have these properties, and they should all be independent of each other, and all units are in axis space (not pixel space):

x position
y position
radius
fill color
border color
border size

Hi, great idea for a new feature. My actual use case is a bit different from your ideas. I'm using ScottPlot to visualize geometric objects similar to a very simplified CAD software or a floorplan. But I could easily use it like you suggested. It would be great to have direct access for drawing a single circle similar to a polygon as this is needed anyway for the bubble plot.

Oops, this was released already and I forgot to close this issue.
https://swharden.com/scottplot/cookbooks/4.1.13-beta/#plottable-bubble
Thanks again to everyone who contributed to this!


Description, stable, non working link

go to the examples table here
https://github.com/stolostron/policy-collection/tree/main/stable
go to the Kyverno Generate Network Policies row:
See the Policy to install Kyverno.
The link returns 404

Thank you for raising this issue! The policies were moved to stable, but the Kyverno installation remained in community, here: https://github.com/stolostron/policy-collection/blob/main/community/CM-Configuration-Management/policy-install-kyverno.yaml
We'll investigate.

@marmendo I've updated the links--please verify and confirm whether this issue can be closed.

Confirmed. It works now. Thanks !!

Solved


Add config for storefront hot-proxy assets port

1. Why is this change necessary?
It improves usability while developing for Shopware. Yet it is not possible to configure the assets port 9999 because it is hard-coded.
2. What does this change do, exactly?
It adds an env variable STOREFRONT_ASSETS_PORT where you can define a custom port.
3. Describe each step to reproduce the issue or behaviour.
Simply run
export STOREFRONT_ASSETS_PORT=1337
./psh storefront:hot-proxy

The storefront (under port 9998) should run as before, but with port 1337 instead of 9999, for example.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[x] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-9988
Please use this issue to track the state of your pull request.

Good job :+1:  @tyurderi


Ensure the libraries are present

When we store our libraries in a temp dir, a reaper might clean them when we are idle, so make sure to check for them before we reload.

CI seems wedged - merging.


Removing Chatter references from Flexipages

Removing Chatter references from Flexipages
Adding back managed rd2 flow to fix dependent package flows

Critical Changes
Changes
Issues Closed
Community Ideas Delivered
Features Intended for Future Release
Features for Elevate Customers
New Metadata
Deleted Metadata

@lparrott @force2b I see a number of forceChatter references in the unpackaged folder as well. are we concerned with those too?

Thanks for adding that file @lparrott

@davidmreed This should be ready for merging now.


Bug while listing items on UI and shopping list bug.

Listing out the items on the respective UI in 123.unity appears to be very buggy. Needs fixing.
List doesn't clear collected items and still retains the previous text.
Shopping list sometimes lists the same item twice.
The shopping list sometimes regenerates all by itself twice.

The shopping list no longer regenerates twice. It has been fixed.