Parsing error

I was able to install a new effect but afterwards every time I try to connect do the Zoom G1X Four it raises this parsing error. I tried to factory reset and reinstall the latest firmware 2.0 but the error persists.
Traceback (most recent call last):
  File "zoomzt2-gui.py", line 148, in butConnect
    self.ConnectPedal()
  File "zoomzt2-gui.py", line 242, in ConnectPedal
    self.ReadEffects()
  File "zoomzt2-gui.py", line 260, in ReadEffects
    config = zoomzt2.ZT2.parse(data)
...
construct.core.ConstError: Error in path (parsing) -> header
parsing expected b'\x01' but parsed b'\x00'

Did someone have the same problem?
Running with Python 3.8.3 and all the libs on latest version.

I looks like (for some reason) that the FLST_SEQ file stored on the pedal doesn't match what we are expecting.... I think the error is coming from this 'const' definition:
https://github.com/mungewell/zoom-zt2/blob/master/zoomzt2.py#L19
Are you able to download a copy of FLST_SEQ, either via the 'Files' tab in the GUI or via the command line, so we can see what has happened?

C:\Users\simon\Documents\ZoomFW\zoom-zt2-v0.2.0>"c:\Program Files\Python36\python.exe" zoomzt2.py --help
Usage: zoomzt2.py [options] FILENAME

Options:
  -h, --help            show this help message and exit
  -d, --dump            dump configuration to text
  -s, --summary         summarized configuration in human readable form
  -b BUILD, --build=BUILD
                        output commands required to build this FLTS_SEQ
  -A ADD, --add=ADD     add effect to FLST_SEQ
  -v VER, --ver=VER     effect version (use with --add)
  -i ID, --id=ID        effect id (use with --add)
  -D DELETE, --delete=DELETE
                        delete effect from FLST_SEQ
  -t TOGGLE, --toggle=TOGGLE
                        toggle install/uninstall state of effect NAME in
                        FLST_SEQ
  -w, --write           write config back to same file
  -R, --receive         Receive FLST_SEQ from attached device
  -S, --send            Send FLST_SEQ to attached device
  -I INSTALL, --install=INSTALL
                        Install effect binary to attached device
  -U UNINSTALL, --uninstall=UNINSTALL
                        Remove effect binary from attached device

C:\Users\simon\Documents\ZoomFW\zoom-zt2-v0.2.0>"c:\Program Files\Python36\python.exe" zoomzt2.py -R -w FLST_SEQ.ZT2

@mungewell Thanks for the response!
Via GUI it didn't show anythiing in effects/files list. But via command line I extracted the file:
FLST_SEQ.ZT2.zip

@mungewell I changed the const definition you pointed out to b'\x00' and it worked. The GUI is showing the files and effects.

Why good that you have a workaround, but 'we' should figure what that '0x01' or '0x00' means. It would be better to define the location as a 'Byte' so that it gets preserved at whatever it actually set...
I not that you had PDL_PIT.ZD2 installed at some point, do you have a G1FourX?

@mungewell Yes, I have the G1FourX (with expression pedal).
Also, today I was trying to install some effects from G11 and after I got some effects working and some don't (I got a checksum error for some and for others it was installed but don't show in effect list) the byte changed back to b'\x01'!
So I don't think is a hard-coded version related byte.

If you change the 'const' definition to 'byte', it will be preserved at whatever value is read:
"unknown" / Byte,  # Bug 8
Regarding taking effects from 'better' pedals; we saw before the issue where effect wants to draw on 2 screens, the simpler versions for the G1Four (and friends) have a different name to reflect they only use 1.... I was also reported that some effects from the G5 would not work, assumption is that they need more processor/memory than the G1Four has.
https://github.com/mungewell/zoom-zt2/issues/5
A while ago I crafted a list of effects from different devices. It might be nice to improve, and make this an automated process.
https://github.com/Barsik-Barbosik/Zoom-Firmware-Editor/issues/12#issuecomment-523738661

Does anyone still keeps the firmware file B1Four version 1.10. I believe the file name is B1FOUR_v1.10_Win_E.zip. I only have firmware version 2.00. I am confused that the B1Four firmware version 2.00 has the same effect as G1Four. Thanks. Sorry for my bad English.

@paknux here are the MD5s of the ones  have...
e7c925175ce5f40535c018e9c703e77f  ./G3n_v2.00_Win_E/ZOOM G3n System v2.00 Updater.exe
3ed9492d306cf113f6badd9be370147b  ./AC-2_Win_v1.10_E/ZOOM AC-2 System v1.10 Updater.exe
98d8a2f25a2b407c058f3969c8927361  ./AC-3_Win_v1.10_E/ZOOM AC-3 System v1.10 Updater.exe
0e2de9c0b9470e5e3ec74e0dc9c0ec30  ./B1X_FOUR_v2.00/ZOOM B1X FOUR System v2.00 Updater.exe
71bea98da8d1cb6e9cf6519a93034a20  ./B1_FOUR_v1.10_Win_E/ZOOM B1 FOUR System v1.10 Updater.exe
9e970afdf810edf549a7329502f5e2e4  ./B1_FOUR_v2.00/ZOOM B1 FOUR System v2.00 Updater.exe
92526cf83a2e2d83444306a0e3e77e35  ./B3n_v2.00_Win_E/ZOOM B3n System v2.00 Updater.exe
f7caa2cbdf0b1c8beb561f6c356988da  ./B3n_v2.20_Win_E/ZOOM B3n System v2.20 Updater.exe
02ecfcb13f15b5cd58bab8504bb0ce0e  ./B3n_v2.20_Win_E/ZOOM B3n System v2.20 Updater_mod.exe
30815190af7e9f3195c4d83243629aa6  ./G3n_v2.20_Win_E/ZOOM G3n System v2.20 Updater.exe
3ccb7c9d8713f9e1cb94de0f201cd37f  ./G5n_v3.00_Win_E/ZOOM G5n System v3.00 Updater.exe
af9a84229ea8364e77f3879dffcadb8f  ./G1X_FOUR_v1.10_Win_E/ZOOM G1X FOUR System v1.10 Updater.exe
f7478aec394aae73ca6896ad089ac1c8  ./G1X_FOUR_v2.00/ZOOM G1X FOUR System v2.00 Updater.exe
cd69303a6071a016ee098eb3038280e7  ./G1_FOUR_v1.10_Win_E/mod_20190822/ZOOM G1 FOUR System v1.10 Updater.exe
cd69303a6071a016ee098eb3038280e7  ./G1_FOUR_v1.10_Win_E/ZOOM G1 FOUR System v1.10 Updater.exe
36c1f36352916eca0211063ecc7855f7  ./G1_FOUR_v2.00/ZOOM G1 FOUR System v2.00 Updater.exe

Yes, I also noticed that the B1Four has the 'wrong' embedded FX. I have found a few older F/W via the Way Back Machine
https://web.archive.org/web/*/zoom.jp

Thank you very much @mungewell ...
I finally found the firmware file B1Four version 1.10 although it is for Japanese Windows (B1 FOUR_v1.10_Win_J.zip) but it can be installed on my B1Four without any problems .. I also downloaded Firmware G1 FOUR_v1.10_Win_J and G1 FOUR_v1.10_Win_E.
And a miracle happened. After I installed firmware v1.10 (B1 FOUR_v1.10_Win_J.zip) on my B1Four ...
and free up space by removing some unused effects in B1 Four with Zoom GuitarLab....
Finally the effect ZD2 from G1Four can be installed and appears both on LCD B1 Four and in GuitarLab.... yeeeeaaahhh... ... I really jumped for joy ...
Sorry for now I just tried the ORG1201U.ZD2 Amp (note that even though there is a 1U code that can actually be used in B1Four) and Cabinet ORG_4X12.ZD2
It seems that zoomcorp is asking us to upgrade to version 2.00 to avoid this... LOL..
Is it okay if I want to share the link for the firmware here. I'm afraid it violates the terms


Call is_witness_program from witness_version

Currently we are parsing the first byte of a script as the witness version even if the script is not a witness program.
Add a check that the script is a witness program before parsing out the witness version. This has the added benefit that the following two calls are equivalent:

script.is_witness_program()
script.witness_version().is_some()

Fix: #2618

Re-wrote the whole PR. Collaborative programming for the win, this PR is miles better now. Thanks lads.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

35 of 36 (97.22%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 83.613%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/blockdata/script/borrowed.rs
35
36
97.22%

Files with Coverage Reduction
New Missed Lines
%

bitcoin/src/blockdata/script/witness_version.rs
1
32.18%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
19016

Relevant Lines:
22743

💛  - Coveralls


Unstable channel hasn't updated for 3+ weeks

https://github.com/NixOS/nixpkgs-channels is stuck at 84d74ae9c9cbed73274b8e4e00be14688ffc93fe. According to https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents, there has been at least one successful jobset recently, 128426402, but it doesn't appear to have made it into the channel. Does anyone know what is going on there?

https://status.nixos.org/ reports green across the board at the time of writing. I remember reading somewhere (maybe IRC?) that nixpkgs-channels is deprecated -- could be that it finally stopped being pushed to? If this is the case, maybe the repo should be archived, though.
All the release branches now exist in this repo (nixpkgs), so you can see that nixos-unstable points to the same revision as s.no.o (and indeed clicking on the revision links to here instead of nixpkgs-channels).

This is the relevant issue I believe https://github.com/NixOS/nixpkgs/issues/99257

From https://github.com/NixOS/nixpkgs/issues/99257#issuecomment-703607739:

Step 1 is done. So nixpkgs-channels doesn't contain branches for nixos-20.09.
I'll set the milestone for this issue to 21.03 as a reminder to archive the repo around then.

I guess we should additionally do one of the following regarding the nixpkgs-channels repository then:

Delete the nixos-unstable branch
Keep updating the nixos-unstable branch until the repo is archived (21.03)

And delete the nixos-unstable branch before archiving so that scripts hopefully fail noticeably (vs. silently do nothing)?

(cc @edolstra)


Auto open & close not working if you have an extra monitor

I found it won't show up, I tried to move the mouse to the top of both monitors.
Move monitor to the side will work.

Closing as this app is now discontinued.


[QUERY] Workaround for Java Data Lake SDK 5000 max results limit?

Query/Question
The List function will return a maximum of 5000 results, as stated here: https://docs.microsoft.com/en-us/java/api/com.azure.storage.file.datalake.models.listpathsoptions?view=azure-java-stable
Assuming I have a directory that has more than 5000 files, how can I list them all?
The rest API for "list" (https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/list) has a continuation token to get around this which doesn't seem to be exposed in the Java SDK. Is that correct?
If it's true that I can't use the Java Data Lake SDK for this, what should I use, the rest API directly?
Why is this not a Bug or a feature Request?
Because before I make a feature request I want to make sure I've not missed something obvious.
Setup (please complete the following information if applicable):
Not tested in code yet, just reviewing options from looking at the documentation.
com.azure:azure-storage-file-datalake:12.4.1
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

@gapra-msft could you please take a look

Hi @al-v-in
Thank you for your question. I will take a look at the behavior of listPaths and let you know

Hi @al-v-in
The listPaths API should support automatic pagination by continuation token for you if you iterate over the PagedIterable returned, are you only seeing 5000 paths?

Thank you, @gapra-msft! I thought I must of have been missing something. As I mentioned I haven't tested in code, I was trying to figure out which method was best to interact with the data lake for our requirements.
I'm not sure if you would agree that it would be appropriate in this case, but perhaps it would clarify the matter if somewhere in the ListPathsOptions Class documentation it said something along the lines of "...max result of 5000 items per page"?


Segmentation fault while running reconstruction

I have installed all the dependencies and am able to import opensfm successfully. However, when I try to run the berlin example as given in the documentation, I get a segmentation fault as follows:
2022-03-17 14:45:18,541 INFO: Starting incremental reconstruction
2022-03-17 14:45:21,804 INFO: Starting reconstruction with 01.jpg and 02.jpg
2022-03-17 14:45:21,878 INFO: Two-view reconstruction inliers: 1267 / 1268
2022-03-17 14:45:21,941 INFO: Triangulated: 1232
2022-03-17 14:45:21,959 DEBUG: Ceres Solver Report: Iterations: 3, Initial cost: 1.635496e+01, Final cost: 1.434942e+01, Termination: CONVERGENCE
2022-03-17 14:45:22,043 DEBUG: Ceres Solver Report: Iterations: 3, Initial cost: 1.475086e+01, Final cost: 1.399629e+01, Termination: CONVERGENCE
2022-03-17 14:45:22,214 DEBUG: Ceres Solver Report: Iterations: 20, Initial cost: 3.532901e+01, Final cost: 2.703779e+01, Termination: CONVERGENCE
2022-03-17 14:45:22,217 INFO: Removed outliers: 0
2022-03-17 14:45:22,218 INFO: -------------------------------------------------------
Segmentation fault
Any help in this? I am using centOS.
Thank you

Hi @ShivaniKamtikar ,
Are you on the latest version of master?
Can you try to rerun? There's a random component in the SfM pipeline and I just want to make sure that this is not a very rare corner case.
Is there anything else you see, like where the seg. fault comes from?
Best Fabian

Hi @fabianschenk ,
I am an on the latest version.
I am getting a "general protection ip:7f034eef21ba sp:7ffc7ed512e0 error:0 in pyrobust.cpython-37m-x86_64-linux-gnu.so" in the logs.
"pyrobust.cpython-37m-x86_64-linux-gnu.so" is part of opensfm.
The error I directly get when I run it is "/home/apps/software/OpenSfM/0.5.1-IGB-gcc-8.2.0-Python-3.7.2/bin/opensfm_run_all: line 14: 3218508 Segmentation fault $PYTHON $DIR/opensfm reconstruct $1". Looking in opensfm_run_all, its the 'reconstruct' step.
Thanks,
Shivani

I'm also running into this problem. I have the latest version of master, and the segmentation fault also happens during the reconstruction step.
One possible cause is that I'm running Ubuntu 18.04, which only installs Ceres 1.13 with apt. This version of Ceres does not work with OpenSfM and causes the build to fail. I had to manually build and install Ceres 1.14 in order to get OpenSfM to build, and I'm not sure if that is the cause (it would be great to know for sure though).
This is what I get in the console when running OpenSfM on the berlin dataset:
2022-07-08 10:21:36,526 INFO: Loading existing EXIF for 03.jpg
2022-07-08 10:21:36,533 INFO: Loading existing EXIF for 02.jpg
2022-07-08 10:21:36,533 INFO: Loading existing EXIF for 01.jpg
2022-07-08 10:21:37,544 INFO: Planning to use 25308.9 MB of RAM for both processing queue and parallel processing.
2022-07-08 10:21:37,544 INFO: Scale-space expected size of a single image : 23.8125 MB
2022-07-08 10:21:37,545 INFO: Expecting to queue at most 200 images while parallel processing of 8 images.
2022-07-08 10:21:37,547 INFO: Reading data for image 03.jpg (queue-size=0
2022-07-08 10:21:37,548 INFO: Reading data for image 02.jpg (queue-size=0
2022-07-08 10:21:37,548 INFO: Reading data for image 01.jpg (queue-size=0
2022-07-08 10:21:37,671 INFO: Skip recomputing ROOT_HAHOG features for image 03.jpg
2022-07-08 10:21:37,672 INFO: Skip recomputing ROOT_HAHOG features for image 02.jpg
2022-07-08 10:21:37,674 INFO: Finished reading images
2022-07-08 10:21:37,674 INFO: Skip recomputing ROOT_HAHOG features for image 01.jpg
2022-07-08 10:21:38,703 INFO: Matching 3 image pairs
2022-07-08 10:21:38,708 INFO: Computing pair matching with 8 processes
2022-07-08 10:21:38,784 DEBUG: Masking 0 / 4432 (0.00) features for 02.jpg
2022-07-08 10:21:38,784 DEBUG: Masking 0 / 4744 (0.00) features for 03.jpg
2022-07-08 10:21:38,784 DEBUG: Masking 0 / 4432 (0.00) features for 02.jpg
2022-07-08 10:21:38,850 DEBUG: Masking 0 / 4659 (0.00) features for 01.jpg
2022-07-08 10:21:38,850 DEBUG: Masking 0 / 4659 (0.00) features for 01.jpg
2022-07-08 10:21:39,070 DEBUG: Matching 02.jpg and 03.jpg.  Matcher: FLANN (symmetric) T-desc: 0.357 T-robust: 0.001 T-total: 0.359 Matches: 790 Robust: 757 Success: True
2022-07-08 10:21:39,136 DEBUG: Matching 02.jpg and 01.jpg.  Matcher: FLANN (symmetric) T-desc: 0.424 T-robust: 0.001 T-total: 0.426 Matches: 1185 Robust: 1115 Success: True
2022-07-08 10:21:39,140 DEBUG: Matching 03.jpg and 01.jpg.  Matcher: FLANN (symmetric) T-desc: 0.429 T-robust: 0.000 T-total: 0.429 Matches: 335 Robust: 309 Success: True
2022-07-08 10:21:39,141 INFO: Matched 3 pairs (perspective-perspective: 3) in 0.4381396090002454 seconds (0.1460466539998985 seconds/pair).
2022-07-08 10:21:40,192 INFO: reading features
2022-07-08 10:21:40,212 DEBUG: Merging features onto tracks
2022-07-08 10:21:40,221 DEBUG: Good tracks: 1599
2022-07-08 10:21:41,260 INFO: Starting incremental reconstruction
2022-07-08 10:21:41,280 INFO: Starting reconstruction with 01.jpg and 02.jpg
2022-07-08 10:21:41,297 INFO: Two-view 5-points reconstruction inliers (transposed=False): 1123 / 1123
2022-07-08 10:21:41,425 INFO: Triangulated: 1121
WARNING: Logging before InitGoogleLogging() is written to STDERR
W0708 10:21:41.427114 23676 preprocessor.cc:61] Solver::Options::num_threads = 8 and Solver::Options::num_linear_solver_threads = 1. Solver::Options::num_linear_solver_threads is deprecated and is ignored.Solver::Options::num_threads now controls threading behaviour in all of Ceres Solver. This field will go away in Ceres Solver 1.15.0.
W0708 10:21:41.484935 23676 preprocessor.cc:61] Solver::Options::num_threads = 8 and Solver::Options::num_linear_solver_threads = 1. Solver::Options::num_linear_solver_threads is deprecated and is ignored.Solver::Options::num_threads now controls threading behaviour in all of Ceres Solver. This field will go away in Ceres Solver 1.15.0.
W0708 10:21:41.501113 23676 preprocessor.cc:61] Solver::Options::num_threads = 8 and Solver::Options::num_linear_solver_threads = 1. Solver::Options::num_linear_solver_threads is deprecated and is ignored.Solver::Options::num_threads now controls threading behaviour in all of Ceres Solver. This field will go away in Ceres Solver 1.15.0.
/home/damon/Documents/OpenSfM/OpenSfM/bin/opensfm: line 12: 23676 Segmentation fault      (core dumped) "$PYTHON" "$DIR"/opensfm_main.py "$@"


Inaccurate requirement data for 37

Wiki data suggests that expedition 37 requires "at least 3 ships carrying a minimum of 4 drums" (I do believe this is true, since I have been running 37 with 3 ships on drums for as long as I can remember), but the plugin is giving me warning for "need 4 ships carrying drums"

Thanks for the report! the requirement is coded refering to one of my old requirement checker. at that time it was just like that. but I just checked wikiwiki and wikia, both of them have updated requirements for exped 37 confirming what you just said. since maintenance is hapenning, I'll fix this very quick and make the next release asap.


feat(typescript): make typescript a peer dependency

BREAKING CHANGE:
In order to improve flexibility we changed TypeScript to be a peer dependency now.
Please install at least v3.6.0 of the typescript package.

Why 3.6 instead of ^3.0.0?
Also: I think you should have a short summary after the words BREAKING CHANGE: - the first line will be put into the change log.

We use 3.2 now because that allows to use a package name in the extends field (See https://github.com/microsoft/TypeScript/pull/27348).


How to test (view) site from branch before merge?

I found links about this theme:
stackoverflow
github's blog

need to check deployments after push of changes


Add Swift version info to CI output

Adds OS platform and arch (e.g. ubuntu22.04-aarch64), Swift tag (e.g. swift-DEVELOPMENT-SNAPSHOT-2023-05-09-a or swift-5.8-RELEASE), and Swift version (e.g. Swift version 5.8 (swift-5.8-RELEASE)\nTarget: aarch64-unknown-linux-gnu) to the visible output of CI test runs.
As a side effect, restores correct reporting of platform and version data to code coverage uploads for nightlies.
Set the default LOG_LEVEL to info instead of debug across the board (improves overall CI speed noticeably)
Switch macOS CI to Ventura runner
Add some missing quoting in CI

Codecov Report

Merging #369 (ad85309) into main (2bfdd55) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #369   +/-   ##
=======================================
  Coverage   42.98%   42.98%
=======================================
  Files         118      118
  Lines        8243     8243
=======================================
  Hits         3543     3543
  Misses       4700     4700


[Error] - Server problem

Feature: Server problem

As an end user navigating the portal ,
I want to know when a server problem is encountered
So that I can reacte accordingly to solve the problem

Acceptance criteria
Scenario I : Default display (desktop / Tablet)
Given that I am an end user navigating the web portal,
When I click on a button or link
And a server problem is encountered
Then I should receive an error snackbar while staying on my page
And a text is displayed on the snackbar :

Sorry, something went wrong.
we are currently unable to handle your request.
Try to refresh this page.

And a button is available on the right hand side of the bar :

Refresh

Scenario II : Mobile display
Given that I am an end user navigating the web portal,
When I click on a button or link
And a server problem is encountered
Then I should receive an error snackbar while staying on my page
And a text is displayed on the snackbar :

Sorry, something went wrong.
we are currently unable to handle your request.
Try to refresh this page.

And a button is available below the text :

Refresh

Scenario III : Refresh button
Given that I am an end user who received a server error snackbar,
When I click on the Refresh button
Then the browser refreshes the page I am currently in
Scenario IV : Exit snack bar - Desktop
Given that I am an end user who received a server error snackbar
And I don't want to refresh the page
And I want to close the snackbar
When press the Exit button on my keyboard
Then the snackbar disappears and I am on the initial page where the problem occurred
Scenario V : Exit snack bar - Mobile / tablet
Given that I am an end user who received a server error snackbar
And I don't want to refresh the page
And I want to close the snackbar
When click anywhere on the screen outside the snackbar
Then the snackbar disappears and I am on the initial page where the problem occurred
Scenario VI: Internalization
Following the selected language, the content on the page is to be displayed accordingly :
ENG

Sorry, a problem has occurred.
We are currently unable to process your request.
Please try refreshing this page.
Refresh

FR

Désolé, un problème est survenu.
Nous sommes actuellement incapable de traiter votre demande.
Essayez de rafraîchir cette page.
Actualiser

DE

Es ist leider ein Problem aufgetreten.
Wir können Ihre Anfrage derzeit nicht bearbeiten.
Bitte versuchen Sie, diese Seite zu aktualisieren.
"Aktualisieren

Mockups

Desktop Dark :

Desktop Light

Tablet Dark / Light

**Mobile Dark / Light **

Environment

staging URL: https://app.staging.okp4.network/

Technical specifications
Additional details about users specifications

Snackbar notifications with refresh button must be used only for internal server errors (500), in specific cases like navigating to the /dataverse page.
An action can be proposed to the user, for example refreshing the page with a CTA within the snackbar.
A Notification for server errors is of the warning type. It contains a title, a message, and an action (with CTA).
Pages like dashboard might contain server requests at component levels; in that case notifications won't be displayed if an errors occurs. We would prefer to opt for a more granular error.
The system must display only one snackbar if it contains an action (CTA).
Actions doesn't depend on notifications severity.

Not implemented suggestion

Notifications with larger messages might be displayed longer, depending on message size, with a minimum for eg.  2 seconds and a max of for eg. 7 seconds. Here is an UX implementation idea (see the 2nd answer of this question).

Goal and rules
Define a notification domain at application state level.

Any component connected to the state is able to push a notification to the state.
The notification list component consumes notifications state and display toasts according on notification type (error, warning...) and action (refresh,...).
The notifications are removed from the state by the user (escape key, click outside), or after a  timer, according to notification action.
a pushed success notification without action (no CTA) replaces the notification in the state.
a pushed notification with an action (CTA) doesn't replace the existing notification in the state.
added and removed notification from the state are based on pushed and existing notification type.

A notification center at application level
Creation of a notification domain, which is a list of notifications. Here is the proposal about the notification entity:
type Notification = {
  id: string
  type:  'success' | 'error' | 'warning' | 'info'
  title: string
  message?: string
  action?: 'refresh'
}

Notifications component
A Notifications component reads and remove notifications from the state. It displays them as <Toast/> at application level.
Additional informations
None.

@ChaimaaZaoui what happens when several snackbar must be displayed at the same time? Imagine we copy some metadata that trigger the "Copy" snackbar, then we click on a button that triggers this warning snackbar. Is the second one appears above the first one? Is this behaviour similar on both desktop and mobile? Thanks

@0xLodz for the toasts that such "Copy" they should be displayed despite the error snack bar since those are informative to the user and end up disappearing without any action from the user.
Keep in mind that 2+ error could never happen simultaneously its always the first one that the system detects that will be displayed to the user.

@ChaimaaZaoui
The product team doesn't have an easy way to test notifications with CTA button because app must be connected to the ontology. Here is a short video showing the component behaviour:
https://www.awesomescreenshot.com/video/17235852?key=bcbbbb6568ad69d643bd75e4d5fbcbac
The toast's display is triggered from the copy button only for this demo.
Behaviour reminder from the spec:
The user must either to press the escape key or, as shown in the video, click outside of the toast in order to hide it.

According to the video and the behaviour of error snackbars, all scenarios have passed.


Property test important project invariants

There are important project invariants that are, today, demonstrated by running lading against Vector in that project's regression detection scheme. That's... not super great. Invariants that need test demonstration:

[ ] Lading will always shut down, that is, will not hang. See #203 and #155.
[ ] User inputs can be satisfied in block construction. Currently our property tests avoid known-bad inputs, implying we need to constrain user input in some way.
[ ] Startup ordering is accurately ordered. That is, the target comes online before the generator etc etc. This will require some documentation with regard to what we guarantee.

Other alternatives:

https://github.com/tokio-rs/loom
https://docs.rs/shuttle/latest/shuttle/
https://klee.github.io/

I seem to recall another promising tool discussed recently, as of this writing, in This Week in Rust but I cannot recall it's name. Started with a 'k' maybe.


Vulnerability roundup 102: wget-1.20.3: 1 advisory [6.1]

search, files

[ ] CVE-2021-31879 CVSSv3=6.1 (nixos-20.09)

Scanned versions: nixos-20.09: 76ed24ceab9.
Cc @fpletz

There doesn't appear to be a fix at time of writing.

see #124682

We no longer support nixos-20.09, but this has been fixed in the currently supported NixOS versions:

nixos-22.05: wget-1.21.3
nixos-unstable: wget-1.21.3


chore: Update marketplace actions

Current dependencies on/for this PR:

master

PR #26   👈

This comment was auto-generated by Graphite.


Change PR body when file size reduced by zero percent

Closes #120.

Wonder if it wouldn't be nicer to print 0.3% when the rounded value is zero and otherwise print a rounded percentage e.g 1%?

@RohanNagar this looks great!
@dlemstra I agree that we could add that kind of logic. Hadn't thought about it when I wrote up the issue. I'll file a new request to make the change. This PR gives us the hook we need to build on. We had some other issues logged a while back about converting from KB to MB in some cases too


[Update Package] Microsoft.DotNet.HostingBundle.6: version 6.0.6: update installer URL

Microsoft.DotNet.HostingBundle.6: version 6.0.6: update installer URLs to new CDN.
This PR is part of a bulk update.
see #202037
Microsoft Reviewers: Open in CodeFlow

Hi @,
Do you approve of these changes?
(Automated response - build 931.)


Update library to support Ember Data 1.0-beta 16

Refer to Breaking Changes in changelog: https://github.com/emberjs/data/blob/master/CHANGELOG.md#breaking-changes
Tests are passing. Let me know if I missed anything.

Nice! This looks good to me.

Great. Where is @kurko?

+1 have been using without any problems so far

@egeriis hey, I am here! Took the weekend to recover from a high load of work :smile:
This looks awesome! Merging right away!

Great to hear :)


Can't download new blocks: Error: grpc-status: Internal, grpc-message: "Unexpected compression flag: 60"

My 1.0.4 client has been fine, until mid-day today, when it displayed this dialog:
---------------------------
Connection Error
---------------------------
Error: grpc-status: Internal, grpc-message: "Unexpected compression flag: 60"
---------------------------
OK
---------------------------

Restarting the app doesn't help. It displays the dialog again.

I guess the server is down.


Storage replication to a second provider

Objective
Sustainable digitised and born-digital preservation
Measures

Has all existing content in the storage service been replicated to a second provider?
Is new content replicated to a second provider during ingest?

Initiatives

[x] Determine provider and approach
[ ] Replicate new content on ingest
[ ] Replicate all existing content
[ ] Verify replication of existing content

Superseded by #4640


Update LAB_AK_07_Lab1_Ex6_Detections.md

Module: 00
Lab/Demo: 00
Fixes # .
Changes proposed in this pull request:

Submitted by Garjen55 on behalf of MOC Labs Review


A strange(?) copy of MeetNinja

This is a poorly plagiarized copy of my MeetNinja tool. I have no issues with the open source aspect of code, but to copy-paste it to this extent (even the banner elements still have ″MeetNinja″ still written in them), along with some elements from even the initial README, and then calling it yours and ″perfect″; that's just bad. This is not the correct channel/way of doing such things. You are supposed to ″Fork″ my repository and make changes to your version of it (I saw you forked MeetNinja and then unforked it as well, so it's not like you did not know of it). This is quite indecent and frankly, douchy. Super uncool.

I just took the basic idea of opening meet without getting the "not allowed error" error (i am new to selenium). Rest everything is written by me.  Its comes from the tool "figlet" and the "bloody" font. I have it in my zshrc. I saw you using that font and thought it was a nice idea. My code has threading/multiprocessing so you can add/modify/delete meetings from the schedule. It also keeps a track of the number of people and leaves only if they are less than 20 and not after a particular time limit. There are several other features that i added, will place them in the readme
Yes I took some of your ideas, but IT IS open source, right? The readme is not complete and In the end i was eventually gonna include your repo link in in the reference section. I still appreciate you code, you did a great job there.
p.s. Also if you remember me from reddit, i was just searching for a way to login into google meet without getting blocked. You had written the perfect code for that so why waste time write the same code myself, so i copied that section only.

As for the forking, i did it by mistake yesterday while looking for some readme ideas. I have been working on this project from the past 4-5 days

Also go through the code once, you will clearly see the difference. Also its super uncool on your part to say its a copy-paste.

The readme is not complete and In the end i was eventually gonna include your repo link in in the reference section.

It is always good practice to initially clarify these things in your documentation to not create such impressions. That's what makes it "super uncool" on your part.

i know the font of your meetninja banner. Its comes from the tool "figlet" and the "bloody" font. I have it in my zshrc. I saw you using that font and thought it was a nice idea.

Also go through the code once, you will clearly see the difference. Also its super uncool on your part to say its a copy-paste.

It is not about the banner or the font, it is understandable that you found it cool, no, but it is about the surrounding elements; much of it is so carelessly copy-pasted that it still has some MeetNinja text still attached to it. An example of this is line #118 still literally has the word "MeetNinja" in it (and you say it is uncool on my part to say it's a copy-paste). I am not even referring to the variable names because I can understand if they are reused due to them making sense to you, I am not being petty; just frankly expressing how it was uncool, and maybe take this as a lesson to credit/refer initially. Otherwise it's just bad code. Not technical code, ethical/moral code.

Also, I would advise a separate and unadded/uncommitted/unpushed "personal" version of your program that has your login credentials in it since these previous commits of yours always remain in your "Commits" for just about anyone to see.

and maybe take this as a lesson to credit/refer initially

As i said before also, i was gonna include your repo's link in the readme. this project is not complete as well as the readme.

Also, I would advise a separate and unadded/uncommitted/unpushed "personal" version of your program that has your login credentials in it since these previous commits of yours always remain in your "Commits" for just about anyone to see.

Hmm that is my bad, after adding some feature or removing some bug, i sometimes straight away commit and push the code realizing later about the credentials

You are just so quick to jump to conclusions.

This is the internet. Your intentions are not crystal clear to every other person. Your "was gonna" is not foreseen by another person for them to intrinsically know. For them, it's just bad practice at first glance. Hence, it is common and standard ethical practice to credit/mention/refer in the earliest of stages since all your commits can be traced and seen since the conception of your repository.

i will complete the readme by tomorrow, will include you repo link, also i will call it mine because i have been working on it for about a week now, and will delete this issue tomorrow. I am sorry if this caused some kind of confusion.

Your version is definitely your own work, no doubt about that. If by the end of your project, there is however some element that is learned or taken from another source (be it a person, their code, or whatever), it is just common/standard practice to mention it/them. By that, I mean if your project deviates from mine completely, you need not mention my repository; just saying.
All the best in your future endeavors.


Empty list when 'All' filter is changed and then switched back to 'All'

Steps:

Go to "Client List" (There must be created records on list)
Change "All" filter to any other random filter
Set back to "All" filter

Actual Results:
The list is empty despite switched back to "All" filter

@dawid-g Issue has been fixed in latest release.


Feature: add icons and update packaging details

Update the packages to include the correct icons and application name.
/cc @kenwheeler @mdaxtman

LGTM


Fix the gardenlet RBAC

/kind bug
Before https://github.com/gardener/gardener/pull/4313 gardenlet was requiring list/watch permissions for endpoints only for the default namespace because the endpoints informer in the networkpolicy controller was namespaced.
After https://github.com/gardener/gardener/pull/4313 gardenlet requires list/watch permissions for endpoints at cluster scope. Hence gardenlet currently fails to start with:
E0719 15:37:03.172145       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:241: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:garden:gardenlet" cannot list resource "endpoints" in API group "" at the cluster scope
E0719 15:37:04.576229       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:241: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:garden:gardenlet" cannot list resource "endpoints" in API group "" at the cluster scope
E0719 15:37:06.508983       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:241: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:garden:gardenlet" cannot list resource "endpoints" in API group "" at the cluster scope
E0719 15:37:12.481456       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:241: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:garden:gardenlet" cannot list resource "endpoints" in API group "" at the cluster scope
E0719 15:37:23.343106       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:241: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:garden:gardenlet" cannot list resource "endpoints" in API group "" at the cluster scope
E0719 15:37:42.850037       1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:241: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:garden:gardenlet" cannot list resource "endpoints" in API group "" at the cluster scope

time="2021-07-19T15:37:57Z" level=error msg="failed to run gardenlet controllers: failed initializing NetworkPolicy controller: Timeout: failed waiting for *v1.Endpoints Informer to sync"

Release note:

NONE

Closing in favour of https://github.com/gardener/gardener/pull/4392


Animated tokens disappear on reload/scene switch

This is a weird one! I put together a fancy new animated token for a PFS character. However, when I actually use this as token art, the token seems to flicker once and then vanish entirely - selection border included - when reloading the page or switching scenes. Upon selecting another, non-vanished token, it reappears. When there are multiple animated tokens, only the one that was placed first seems to disappear - though all of them flicker for a moment when loading the scene.
Some other observations and details:

This happens in Firefox (108.0.1), Chromium (108.0.5359.124), and Electron (whichever version foundry bundles) though there are subtle differences - on Firefox the tokens seem to vanish entirely as described above, while on Chromium and Electron the selection borders seem to remain visible for me.
This only happens in worlds with the pf2e system - I could not reproduce the flickering nor the disappearance in a world using the dnd5e system
This is only reproducible in worlds using the pf2e system, and all other modules are disabled
I was able to reproduce this both with my local development setup (local copy of foundry v10 build 291, pf2e system built from HEAD at time of writing) as well as my main instance that I use for games (foundry v10 build 291 hosted on oracle cloud behind a reverse proxy and cloudflare, pf2e system version 4.5.1)
This happens both when using token art from the foundry data directory (e.g. tokens/animated_token.webm) as well as when hotlinking the file over the web (e.g. https://static.dmarcuse.me/kaylee_token2_animated.webm)

Here's a video of the issue in Firefox:
https://user-images.githubusercontent.com/5429337/209010586-3052c362-fcb0-4b5d-a654-7b3513727551.mp4
And here's a copy of the animated token itself:
https://user-images.githubusercontent.com/5429337/209010930-f37e0f1f-65ec-4522-8154-0f6e69dab591.webm

Commenting out these lines seems to solve this issue (but I'm assuming these lines of code are here for a reason and that's breaking something else)
https://github.com/foundryvtt/pf2e/blob/63540da72c36d2b08a817295add73ac5383cc600/src/scripts/hooks/canvas-ready.ts#L26-L33


Unsticking a cached provider

If any wallet provider gets cached, there is no application way to cleanly disconnect this.
Reasons to get cached might be

User just wants to change wallets

Serving different application in the same localhost development URL

Setting cacheProvider to true, but later regretting this

Currently, I am working around it like this, but a cleaner API might be needed:
https://github.com/Web3Modal/web3modal-vanilla-js-example/blob/master/example.js#L161

Looking at your example, you are not necessarily disabling the ability to cache a provider but clearing the cached provider.
This can be done already with clearCachedProvider method on the API

@pedrouid excellent. Leaving this issue open until updating this example.

I already created a sign-out button for a few projects, if you need I can update de example really quick

Example updated: https://github.com/Web3Modal/web3modal-vanilla-js-example/blob/master/example.js#L178


Create KthElementFromLastInLL.cpp

@AyushMittal10 Your PR has been merged successfully, Thank you for your contribution.
Give repo a star if it was useful.
Happy hacking.


Lock is not released when scaling down to zero units

Steps to reproduce

juju add-model opensearch
juju model-config --file ./cloudinit-userdata.yaml
juju create-storage-pool opensearch-storage lxd volume-type=standard
juju deploy opensearch-n 2 --channel 2/edge --storage opensearch-data=opensearch-storage,1G,1
juju deploy self-signed-certificates
juju config self-signed-certificates ca-common-name="CN_CA"
juju relate self-signed-certificates opensearch
juju remove-unit opensearch/0
wait until opensearch/0 is gone
juju remove-unit opensearch/1
juju add-unit opensearch --attach-storage=opensearch-data/0
wait until opensearch/2 is started
juju add-unit opensearch --attach-storage=opensearch-data/1

Expected behavior
both new units start up correctly
Actual behavior
2nd new unit can't aquire lock and does not start
$ juju status --relations --storage
Model       Controller  Cloud/Region         Version  SLA          Timestamp
opensearch  opensearch  localhost/localhost  3.1.8    unsupported  08:08:21Z

App                       Version  Status  Scale  Charm                     Channel  Rev  Exposed  Message
opensearch                         active      2  opensearch                           0  no
self-signed-certificates           active      1  self-signed-certificates  stable    72  no

Unit                         Workload  Agent  Machine  Public address  Ports     Message
opensearch/2*                active    idle   3        <IP_ADDRESS>   9200/tcp
opensearch/3                 waiting   idle   4        <IP_ADDRESS>             Requesting lock on operation: start
self-signed-certificates/0*  active    idle   2        <IP_ADDRESS>

Machine  State    Address        Inst id        Base          AZ  Message
2        started  <IP_ADDRESS>  juju-a1b76d-2<EMAIL_ADDRESS>    Running
3        started  <IP_ADDRESS>  juju-a1b76d-3<EMAIL_ADDRESS>    Running
4        started  <IP_ADDRESS>  juju-a1b76d-4<EMAIL_ADDRESS>    Running

Integration provider                   Requirer                       Interface           Type     Message
opensearch:node-lock-fallback          opensearch:node-lock-fallback  node_lock_fallback  peer
opensearch:opensearch-peers            opensearch:opensearch-peers    opensearch_peers    peer
opensearch:upgrade-version-a           opensearch:upgrade-version-a   upgrade             peer
self-signed-certificates:certificates  opensearch:certificates        tls-certificates    regular

Storage Unit  Storage ID         Type        Pool                Mountpoint                   Size     Status    Message
opensearch/2  opensearch-data/1  filesystem  opensearch-storage  /var/snap/opensearch/common  1.0 GiB  attached
opensearch/3  opensearch-data/0  filesystem  opensearch-storage  /var/snap/opensearch/common  1.0 GiB  attached

Versions
Operating system: Ubuntu 24.04 LTS, Ubuntu 22.04 LTS
Juju CLI: 3.1.8-genericlinux-amd64
Juju agent: 3.1.8
Charm revision: 47
Log output
Juju debug log: nothing relevant in the logs
Additional context
$ jhack show-relation opensearch:node-lock-fallback opensearch:node-lock-fallback
                               relation data v0.6
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ peer relation (id: 1) ┃ opensearch                                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ type                  │ peer                                                 │
│ interface             │ node_lock_fallback                                   │
│ model                 │ the current model                                    │
│ relation ID           │ 1                                                    │
│ endpoint              │ node-lock-fallback                                   │
│ leader unit           │ 2                                                    │
├───────────────────────┼──────────────────────────────────────────────────────┤
│ application data      │ ╭──────────────────────────────────────────────────╮ │
│                       │ │                                                  │ │
│                       │ │  unit-with-lock  opensearch/3                    │ │
│                       │ ╰──────────────────────────────────────────────────╯ │
│ unit data             │ ╭─ opensearch/opensearch/2 ─╮                        │
│                       │ │ <empty>                   │                        │
│                       │ ╰───────────────────────────╯                        │
│                       │ ╭─ opensearch/opensearch/3 ─╮                        │
│                       │ │                           │                        │
│                       │ │  lock-requested  true     │                        │
│                       │ ╰───────────────────────────╯                        │
└───────────────────────┴──────────────────────────────────────────────────────┘

The lock in the database is still there, even though the unit opensearch/1 is long gone:
$ curl -XGET "https://admin:[password]@<IP_ADDRESS>:9200/.charm_node_lock/_source/0" -k
{"unit-name": "opensearch/1"}

This could be related to this known limitation of the locking mechanism: https://github.com/canonical/opensearch-operator/blob/main/lib/charms/opensearch/v0/opensearch_locking.py#L334-L335

Was solved with https://github.com/canonical/opensearch-operator/pull/312


#60 change song order in song list

Another thing: in a playlist, it is no longer possible to click in the middle of a song item (not on the link) to navigate to it, as it starts the drag-n-drop. I think it would be better to provide a drag handle on the left of the list item, which would also improve the discoverability of this feature for users.

Merging to dedicated branch for further improvements. Thanks for the contribution :-)


Feature Request: copy image link for multiple formats

I love your plugin, but I miss one thing.
I am using the diagrams mostly internally, but often have the usecase, that i want to share just the link to one with someone via chat.
Currently I have to open the mermaid live editor or some Niolesk page, copy the text over and then have a link.
It would be perfect, if I could just right-click the image and say Copy Link, buts thats not available in obsidian.
Could you add some button, which is shown on hover, and shows a menu to copy the image lik in multipla formats?
Like
[X]
 |> Copy link for PNG
 |> Copy link for SVG
 |> Copy link to Niolesk
 |> Copy link to ???

and place it right next to the edit link?

i have an ugly hack. i have no idea yet on how to add another button

this way i can click to open in browser, then rightclick to copy and just paste into word

@gregzuro checking the other issues, made me wondering whether you are still working on the project
your github submission graph looks a bit empty 😅

@gregzuro checking the other issues, made me wondering whether you are still working on the project your github submission graph looks a bit empty 😅

I am here.  I will take a look.
If you want to take a crack at it, I will gladly merge your PR. :)  LMK.

@gregzuro checking the other issues, made me wondering whether you are still working on the project your github submission graph looks a bit empty 😅

I am here. I will take a look.
If you want to take a crack at it, I will gladly merge your PR. :) LMK.

said and done. check pr.
i'd be glad if you could straighten it up


Asking to approve the app each time

Hello,
I have an issue, and this could be my own issue but looking for an answer. Each time the user logs in it's asking to "Approve" or "Deny", should this only take place once or until the refresh token expires or the user removes the app from the approved list?
Am i missing something?
Request in order:
/oauth2/authorize
"Approve" or "Deny" (every time)
/oauth2/ token (Grant type Authorization code)
Is there a way for the user to ONLY "Approve" or "Deny" once?
Thanks in advance!

Anyone have an solution to this?? Or is anyone seeing the same thing?


Disable stretch height on Carousel Container

Hello,
I am having a problem here, current carousel height is stretched. If i inspect there is a view that having flex:1. I have tried to set containerCustomStyle, contentContainerCustomStyle, slideStyle flex to 0 but the carousel still stretching the height.
<View style={{flex:1,justifyContent:'center',alignItems:'center'}}>
  <View>
    <Carousel
      sliderWidth={width}
      itemWidth={width-70}
      showsHorizontalScrollIndicator={false}

      containerCustomStyle={{flex:0}}
      contentContainerCustomStyle={{flex:0,alignItems:'flex-start'}}
      slideStyle={{flex:0}}
      onSnapToItem={this.activeSlide}>

      {items}
    </Carousel>
  </View>
</View>

Hi,
Well, I don't think that your issue has to do with the plugin since there is not a single flex: 1 in its source code ;)
I can't help but notice that, in the sample code you provided, the first container is being stretched. Could it be the cause of your issue? Also, is the height of your slides fixed?

@ariona After giving this a second thought, I realized that I've made a mistake: our <Carousel /> is basically a <ScrollView /> and, as such, inherits from its default styles, especially flexGrow: 1.
You should be able to deal with it thanks to the prop containerCustomStyle. I know you've tried flex: 0, but can you give flexGrow: 0 a try? If this doesn't work, you should either use this prop to pass a custom height to the container or wrap the carousel in a <View /> with fixed height.

Thanks for giving this issue another look :) , It's working now. by setting the flexGrow:0 to containerCustomStyle.
I was using fixed height for workaround but it's bad for dynamic content height.

Would you mind mentioning this in documentation!

@mostafa No problem :-) I'll add the following to the documentation as soon as I'm finished with the update I'm currently working on.

Carousel's stretched height
Since <Carousel /> is, ultimately, based on <ScrollView />, it inherits its default styles and particularly { flexGrow: 1 }. This means that, by default, the carousel container will stretch to fill all the available space.
If this is not what you're after, you can prevent this behavior by passing { flexGrow: 0 } to the prop containerCustomStyle.
Alternatively, you can either use this prop to pass a custom height to the container, or wrap the carousel in a <View /> with a fixed height.

Hi is it possible to remove the flexGrow and flexShrink?

Hi, how to remove the default animation?


TypeError: attempted to get private field on non-instance

Attach (recommended) or Link to PDF file here:
(I am using the helloworld pdf from the examples, hard coded in the attached sample)
https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf
Configuration:

Web browser and its version: Google Chrome, 105.0.5195.102
Operating system and its version: Windows 10 Enterprise, 21H2
PDF.js version: Any version after 2.11.338 i.e. it works with 2.11.338 but any of the versions after (version 2.16.105 is the latest @ time of writing).
Is a browser extension: no

Steps to reproduce the problem: (using the attached sample)

npm i
npm run serve
browse to https://localhost:8080

Note: If the version of pdfjs-dist is down graded to 2.11.338 then no error occurs and the pdf is displayed.
What is the expected behavior? (add screenshot)
Display the pdf without error.
What went wrong? (add screenshot)
the following error occurs: "TypeError: attempted to get private field on non-instance
at _classExtractFieldDescriptor (index.js:302:1)
at _classPrivateFieldGet (index.js:302:1)
at Proxy.getPage (api.js:2924:23)
at Proxy.getPage (api.js:802:28)
at App.vue:29:14"
The error is displayed in Google Chrome DevTools Console or VSCode Debug Console.
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
na
Attached sample to reproduce the error:
pdfjs-dist-test.zip
The code is contrived and simplistic to demonstrate the error. Referring to the code, App.vue line 27, a copy of the pdf object is created to "simulate" a property passed to a child component. In a real-world vue app the pdf object (and page object) are passed to child components, which causes the error when calling getPage (for example). I do not think this is a bug (in vue or pdfjs) but rather an incompatibility between vue and pdfjs. What I would like is to try get some insight into what has changed after pdfjs-dist version 2.11.338 that causes the error.

The only suggestion would be to ensure that you're using a legacy-build of the PDF.js library, see https://github.com/mozilla/pdfjs-dist/tree/master/legacy if your environment doesn't support the latest JavaScript features.

I do not think this is a bug (in vue or pdfjs) but rather an incompatibility between vue and pdfjs.

Unfortunately it's simply impossible for us to help with various frameworks, i.e. Vue.js in this case, since we're not actually using them here.

What I would like is to try get some insight into what has changed after pdfjs-dist version 2.11.338 that causes the error.

Possibly Vue.js doesn't (properly) support some newer JavaScript features, but it's impossible to tell when you've never used the framework in question before.


operation LastIndexOf

func LastIndexOf(value interface{}) int

Basade on implementation of @xuyz  for indexOf this was so easy just iterating in reverse way the stream


[RESOLVED] Unavailable by ICMP ping

Problem started at 19:47:16 on 2023.05.26
Problem name: Unavailable by ICMP ping
Host: ST-FG
Severity: High
Operational data: Down (0)
Original problem ID: 22603
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23133&eventid=22603

Problem has been resolved in 1h 46m 0s at 21:33:16 on 2023.05.26
Problem name: Unavailable by ICMP ping
Host: ST-FG
Severity: High
Original problem ID: 22603


Custom snippets do not show when language-server is working.

Describe the bug
I'm having a problem with snippets. I can't get my own snippets working when lua-language-server  is "working".  I get auto completion and everything working fine but my own snippets never show up, my snippets will only show up when the language-server is stopped.
To Reproduce
Steps to reproduce the behavior:

Create a custom snippet in a json file (snippet example)
Load your snippets with a plugin that can load snippets with the same format as VSCode standard for snippets. (In my case I'm using vim-vsnip)
Open a lua file and have lua-lanuage-server working
Your snippets won't show up.

Expected behavior
Custom snippets to show up.
Screenshots
Example with server (custom snippets don't show up)

Example with no server (custom snippets are working)

Environment (please complete the following information):

OS: Arch Linux
Is WSL remote? NO
Client: Neovim builtin LSP.

Additional context
Server config
local nvim_lsp = require "lspconfig"
local luapath = "/home/rafa/.local/share/nvim/lua/sumneko_lua"
local luabin = luapath .. "/bin/Linux/lua-language-server"

nvim_lsp.sumneko_lua.setup {
    cmd = {luabin, "-E", luapath .. "/main.lua"},
    settings = {
        Lua = {
            runtime = {
                -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
                version = "LuaJIT",
                -- Setup your lua path
                path = vim.split(package.path, ";")
            },
            diagnostics = {
                -- Get the language server to recognize the `vim` global
                globals = {"vim"}
            },
            workspace = {
                -- Make the server aware of Neovim runtime files
                library = {
                    [vim.fn.expand("$VIMRUNTIME/lua")] = true,
                    [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true
                },
                maxPreload = 10000
            },
            telemetry = {
                enable = false
            }
        }
    }
}

Provide logs
I have multiple files in the log directory, and I don't know which one I have to provide. Here are a couple of the last logs I've had:
lfile_home_rafa_.config_nvim_lua_lsp.log
service.log
file_home_rafa.log

Should be a client issue

Should be a client issue

By client you mean the snippets plugin ?
It seems like I'm the only one with this problem, so it is probably that.


Move Zenodo DOI code to a new class

There is now a lot of Zenodo-specific code in WorkflowResource. I would recommend moving it into a new class, perhaps io.dockstore.webservice.helpers.ZenodoHelper, to follow the existing patterns.
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.7
┆Sprint: Seabright Sprint 16 Pram
┆Issue Number: DOCK-822
┆Epic: Create DOIs

https://github.com/dockstore/dockstore/blob/develop/dockstore-webservice/src/main/java/io/dockstore/webservice/helpers/ZenodoHelper.java is a thing
Should be linked to https://github.com/dockstore/dockstore/pull/2732


[material-ui][Breadcrumbs] Allow overriding onClick button base of ellipsis icon

Summary
The breadcrumbs when reaching its max items will display an Ellipsis component. Currently, the component behaves in a way that will unhide any extra items.
Expected Behavior
Modifiable onClick

Current
Trigger unhiding extra items

Examples
No response
Motivation
In my context, it would not worth mentioning if there's only 1 item hidden, but there are up to 4 - 5 items. And I want to display those within a context menu whenever I click on the ellipsis instead of popping off everything and having the layout broken. MUI Breadcrumbs currently does not support a prop to modify that onClick of the ellipsis button base.
Hopefully get your support. Thank you 🙏
Search keywords: Breadcrumbs

Why use breadcrumbs to trigger a menu? These two UI components shouldn't be combined. Can you provide an example of this in a real world application?

Hi @ZeeshanTamboli,
Similar to these ones, when there are too many items being hidden within the ellipsis, e.g: 4 or 5 items, it would be convenient to view all of them as a menu instead of exposing everything which might result in developers having two concerns:

The breadcrumbs are horizontally taking all the spaces of the viewport. We might need to think of breaking them into multiple lines
When the labels are too long, we need to think of how we should truncate them into smaller length of text.

Just found some examples of using overflow menu for accessibility enhancement.

carbondesignsystem
NextUI
Adobe

I see this is supported in Joy UI: https://mui.com/joy-ui/react-breadcrumbs/#condensed-with-menu.
We can add this new feature. Feel free to work on it.

That's nice. However, it'd be ideal if my repo wouldn't have to install another dependency like Joy UI just for that behavior. So what you mean is I can create a PR for this? Or is there anything I can do to get this feature implemented?

Yes, you can create a PR to add this feature in Material UI Breadcrumbs component.

Hi @ZeeshanTamboli ,
Do you mind take a look at my PR? Let me know if I need to update anything regarding the contributing guides (so far i know i haven't updated docs API)

@duynguyen-kun I have reviewed your PR.

Hello @ZeeshanTamboli! I'm beginning work on adding this feature. Could you please assign it to me?

@ZeeshanTamboli PR is ready for review.

@ZeeshanTamboli after reviewing the ask again. I realized that the original ask from issue was to be able to create the menu functionality similar to the Joy Menu. That is currently possible without any code changes. I updated the PR to instead update the documentation to demonstrate how this can be implemented using the MUI package.
@duynguyen-kun I believe you are wanting to implement something like this:
https://github.com/mui/material-ui/pull/42973/files#diff-5e9f55b9f0c001a9bc86e156849c1ce1b0e52693a47a3e4b8a49a8d6a91665b3

I'm looking at it. Thanks @Sergio16T

The PR #42973 looks great. I approved it. TYSM


BasePaginationParameters.cs already exists (when scaffolding multiple bounded contexts)

Hey, can I say before reporting this that I'm really enjoying the project!
I'm trying to scaffold out one solution with two bounded contexts and am experimenting with relationships, entities and so on.
Steps to reproduce
Given a project definition:
# Uses Wrapt (https://wrapt.dev/) for scaffolding

DomainName: poc
BoundedContexts:
    - ProjectName: HumanContext
      Port: 8081
      DbContext:
        ContextName: HumanDbContext
        DatabaseName: HumanReadModel
        Provider: postgres
        NamingConvention: CamelCase
      Entities:
        - Name: Human
          Features:
            - Type: AddRecord
            - Type: GetRecord
            - Type: GetList
            - Type: UpdateRecord
            - Type: DeleteRecord
          Properties:
          - Name: firstName
            Type: string
            IsRequired: true
          - Name: lastName
            Type: string
            IsRequired: true
          - Name: irdNumber
            Type: int
            IsRequired: false
          - Name: activeContracts
            Relationship: 1tomany
            ForeignEntityName: Contract
            ForeignEntityPlural: Contracts
        - Name: Contract
          Features:
            - Type: AddRecord
            - Type: GetRecord
            - Type: GetList
            - Type: UpdateRecord
            - Type: DeleteRecord
          Properties:
          - Name: jobTitle
            Type: string
            IsRequired: true
          - Name: hourlyRate
            Type: int
            IsRequired: true
          - Name: contractedHoursPerUnitTime
            Type: int
            IsRequired: false
          - Name: unitTime
            SmartNames:
                - week
                - month
                - year
          - Name: parentCompany
            Type: guid
            IsRequired: true

    - ProjectName: CompanyContext
      Port: 8082
      DbContext:
        ContextName: CompanyDbContext
        DatabaseName: CompanyReadModel
        Provider: postgres
        NamingConvention: CamelCase
      Entities:
        - Name: Company
          Features:
            - Type: AddRecord
            - Type: GetRecord
            - Type: GetList
            - Type: UpdateRecord
            - Type: DeleteRecord
          Properties:
            - Name: name
              Type: string
              IsRequired: true
            - Name: contactEmailAddress
              Type: string
              IsRequired: true
            - Name: activeContracts
              Relationship: 1tomany
              ForeignEntityName: Contract
            - Name: positions
              Relationship: 1tomany
              ForeignEntityName: Position
        - Name: Position
          Features:
            - Type: AddRecord
            - Type: GetRecord
            - Type: GetList
            - Type: UpdateRecord
            - Type: DeleteRecord
          Properties:
            - Name: fulfillingContracts
              Relationship: 1tomany
              ForeignEntityName: Contract
              IsRequired: true
        - Name: Contract
          Features:
            - Type: AddRecord
            - Type: GetRecord
            - Type: GetList
            - Type: UpdateRecord
            - Type: DeleteRecord
          Properties:
            - Name: humanContextContractId
              Type: string
              IsRequired: true

I expect to get two projects generated successfully (when I comment out one or the other, this works!).
When I run craftsman new domain POC-Service-Template.yml I see:
Your template file was parsed successfully.
File scaffolding for HumanContext was successful.
Error: The file `$PROJECT_DIRECTORY/SharedKernel/Dtos/BasePaginationParameters.cs` already exists.

Further technical details
Craftsman version: 0.22.1
Mac Ventura 13.5.1

Nice find. Appreciate you finding bugs to squash!


Name

Some ideas:

Open Innovators Fellowship
Decentralized Futures Fellowship
Autonomous Makers Fellowship
Sovereign Tech Fellowship
Empowerment through Technology Fellowship
Self-Sovereign Fellowship
LiberateTech Fellowship
Self-Sovereign Tech Fellowship
Open Innovators Society
Sovereign Tech Society
Open Innovators Collaborative
Self-Sovereign Tech Program
Freedom Tech Collaborative
Open Source Autonomy Fellowship
Empowered Innovators Society
Self-Sovereign Innovators Network
Open Innovators Initiative

Falafel


Linting fixes

Adds some more linting functionality to package.json.
Fixes all linting errors involving lines being over 120 characters long.
Tested running app after each file save. Everything seemed :+1:.

Make all lines match that format then it should be good to go


Ignoring all server-side headers?

I am trying to setup Polipo to cache everything that it ever serves, and cache it forever. However, Polipo seems to respect server-side headers. Is it possible to force it to ignore them?

Not a bug -- please use the polipo-users mailing list for questions.

Ok. Sorry about that.
For anyone interested, the mailing list is here:
https://lists.sourceforge.net/lists/listinfo/polipo-users


Improve error message for Parameter not found

Right now it is very diffuclt to find out which Parameter is not found:
020-01-09T12:59:06.065Z","requestId":"4f5f3b90-5406-43fe-9a68-4fdb4aaa15e1","statusCode":400,"retryable":false,"retryDelay":1.7416288876265673,"msg":"failure while polling the secret example-selfservice/example-selfservice-laravel","stack":"ParameterNotFound: null\n    at Request.extractError (/app/node_modules/aws-sdk/lib/protocol/json.js:51:27)\n    at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:106:20)\n    at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:78:10)\n    at Request.emit (/app/node_modules/aws-sdk/lib/request.js:683:14)\n    at Request.transition (/app/node_modules/aws-sdk/lib/request.js:22:10)\n    at AcceptorStateMachine.runTo (/app/node_modules/aws-sdk/lib/state_machine.js:14:12)\n    at /app/node_modules/aws-sdk/lib/state_machine.js:26:10\n    at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:38:9)\n    at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:685:12)\n    at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:116:18)","type":"Error","v":1}

Please specify which exact key (paraemter name)  is not found.

I looks like the code already produces a nice error message in
./lib/backends/system-manager-backend.js:51
but my log output still looks like this:
{"level":50,"time":1601037731182,"pid":17,"hostname":"kube-external-secrets-kubernetes-external-secrets-65948f574wm7s","message":null,"code":"ParameterNotFound","time":"2020-09-25T12:42:11.181Z","requestId":"02e2c2e4-5103-4762-aef9-11cfcedb75bc","statusCode":400,"retryable":false,"retryDelay":90.7286006476668,"stack":"ParameterNotFound: null\n    at Request.extractError (/app/node_modules/aws-sdk/lib/protocol/json.js:51:27)\n    at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:106:20)\n    at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:78:10)\n    at Request.emit (/app/node_modules/aws-sdk/lib/request.js:683:14)\n    at Request.transition (/app/node_modules/aws-sdk/lib/request.js:22:10)\n    at AcceptorStateMachine.runTo (/app/node_modules/aws-sdk/lib/state_machine.js:14:12)\n    at /app/node_modules/aws-sdk/lib/state_machine.js:26:10\n    at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:38:9)\n    at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:685:12)\n    at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:116:18)","type":"Error","msg":"failure while polling the secret wp-example/wp-example-wordpress"}

Why is the message "null"?

Fixed by https://github.com/godaddy/kubernetes-external-secrets/pull/483


Multiple iDevices connected to the same iCloud account ?

This has worked in the past, but I'm having all sorts of problems getting it to work now.
I have multiple iDevices signed into the same iCloud account, but I can only control HomeKit devices with the iDevice that I configured the homebridge on. All the HomeKit config appears correctly on the other iDevices but device states show as N/A.
When I use Eve on the iDevices that aren't working, it says there is a HomeKit reported a communication failure. Please try again. and homebridge shows the following....
on, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] New connection from client
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server listening on port 54826
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP request: /pair-verify
Mon, 08 Feb 2016 09:32:31 GMT HAPServer [B8:27:EB:20:90:E3] HAP Request: POST /pair-verify
Mon, 08 Feb 2016 09:32:31 GMT HAPServer [B8:27:EB:20:90:E3] Pair verify step 1/2
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP Repsonse is finished
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP request: /pair-verify
Mon, 08 Feb 2016 09:32:31 GMT HAPServer [B8:27:EB:20:90:E3] HAP Request: POST /pair-verify
Mon, 08 Feb 2016 09:32:31 GMT HAPServer [B8:27:EB:20:90:E3] Pair verify step 2/2
Mon, 08 Feb 2016 09:32:31 GMT HAPServer [B8:27:EB:20:90:E3] Client FBFFC7C1-F5AF-468C-A2BA-C5032BC0FAE9 attempting to verify, but we are not paired; rejecting client
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP Repsonse is finished
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] Client connection closed
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP connection was closed
Mon, 08 Feb 2016 09:32:31 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server was closed

Any ideas how to resolve this ?

How are you getting the connection debug output?  I've been wanting to try and debug why my appleTv 3 is not pairing correctly to allow for remote access on my iPhone

@tonesto7 I'm running DEBUG=* homebridge

Based on the log, it looks like HomeKit failed to add the public key for this iOS device. Is the iOS device you're talking about a shared user to the home?

@KhaosT no, not a shared user...the primary account under which the home was created, just a different device

Is there a way to resolve this, other than resetting the HomeKit config and starting again ?

@devbobo so does home configuration sync works on that iOS device?

I believe it does, as I said in the original post... This has all worked previously....not quite sure why it's failing now.

@KhaosT I should mention that I also have an Eve Room in my HomeKit config and this iDevice (not working with homebridge) appears to be getting device updates just fine.

@devbobo huh... that's interesting. Maybe try removing homebridge from all iOS devices, change homebridge's username to something else and pair again?

Closing this issue as reconfiguring the HomeKit db seemed to resolve it.


MINIFICPP-457: Network Management Controller Service for interface bi…

…nding
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file?
[ ] If applicable, have you updated the NOTICE file?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Is there a way to add a unit/integration test for this?

@achristianson add test case

@achristianson please review


Exception thrown when sending updates for multiple networks

As discussed on RadioDJ forums, an exception is thrown and RadioDJ UI is locked when the plugin sends updates.
The exception
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---&> System.Threading.ThreadStateException: Thread is running or terminated; it cannot restart.
The cause
Same thread cannot be reused in a foreach loop. A new thread has to be created and started for each update.
Here is the line where it goes wrong:
https://github.com/songposter/plugin-radiodj/blob/master/Plugin_SongPoster/WebRequester.cs#L27
The solution
Move new thread object creation inside the foreach loop.
BTW, setting Content-Type header to application/x-www-form-urlencoded for GET requests is not useful.

Thanks for the hint.
After you mentioned it, it's so obvious why this is can't work.
Tried your fix in a separate branch and it seems to work really well.
For the main branch, I diverted to a different solution that works without creating additional threads by hand altogether and comes closer to the work mode I'm used to as a web developer.
I'm now using an async method to send the request. I haven't been doing any proper error handling anyways and can't see what kind of error handling to implement at all.
Yeah, setting the content-type is needless here. Missed that part from the web example I copied.


different thread in netty

Expected behavior
oh，at first i am not in English
i just want to know why thread not in event loop ,the WriteBufferWaterMark not use!
en, yes, in chinese
我就想知道为什么在我自己的线程中，不是netty的线程中，可以绕过WriteBufferWaterMark发送超过指定长度的消息，出于什么原因这样设计
Actual behavior
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
`private void write(Object msg, boolean flush, ChannelPromise promise) {
AbstractChannelHandlerContext next = findContextOutbound();
final Object m = pipeline.touch(msg, next);
EventExecutor executor = next.executor();
if (executor.inEventLoop()) {
if (flush) {
next.invokeWriteAndFlush(m, promise);
} else {
next.invokeWrite(m, promise);
}
} else {
            AbstractWriteTask task;
            if (flush) {
                task = WriteAndFlushTask.newInstance(next, m, promise);
            }  else {
                task = WriteTask.newInstance(next, m, promise);
            }
            safeExecute(executor, task, promise, m);
~~~~~~~~~~~~~~~~~this~~~~~~~~~~~~~~~~
        }
    }`

### Netty version
4.1.16.Final
### JVM version (e.g. `java -version`)
8u172
### OS version (e.g. `uname -a`)
linux windows

Sorry but I don't get the question.. Can you please try to re-phrase it ?

private void write(Object msg, boolean flush, ChannelPromise promise) {
	AbstractChannelHandlerContext next = findContextOutbound();
	final Object m = pipeline.touch(msg, next);
	EventExecutor executor = next.executor();
	if (executor.inEventLoop()) {
		if (flush) {
			next.invokeWriteAndFlush(m, promise);
		} else {
			next.invokeWrite(m, promise);
		}
	} else {
		AbstractChannelHandlerContext.AbstractWriteTask task;
		if (flush) {
			task = AbstractChannelHandlerContext.WriteAndFlushTask.newInstance(next, m, promise);
		}  else {
			task = AbstractChannelHandlerContext.WriteTask.newInstance(next, m, promise);
		}
		safeExecute(executor, task, promise, m);
	}
}

executor.inEventLoop() will be false, so then will to execute WriteAndFlushTask.newInstance(next, m, promise); then will rounded WRITE_BUFFER_WATER_MARK, send 4M bytes to client. I want to know why to design this. thanks.

line 808 at AbstractChannelHandlerContext.java

Are you receiving an exception? How is it failing or not working?

@monkey1993 well its a non-blocking framework so you can just keep on writing.That said you will get a channelWritableChanged event that you can inspect and then do some stuff for backpressure

@monkey1993 You can change the watermarks. Its listed in that Power Point I linked as well as; in-case you have not tried that.
Method One:
Server
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.childOption(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 32 * 1024);
bootstrap.childOption(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024);

Client
Bootstrap bootstrap = new Bootstrap();
bootstrap.option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 32 * 1024);
bootstrap.option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024);

Method Two:
Server
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(8 * 1024, 32 * 1024));

Client
Bootstrap bootstrap = new Bootstrap();
bootstrap.childOption(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(8 * 1024, 32 * 1024));

Netty Channel Options

@monkey1993 I still not understand what your issue is. Can you maybe just provide a failing unit test ?

@normanmaurer OK, is 23:55 in China, tomorrow!

@normanmaurer how can I send it to you?

@normanmaurer @Underbalanced @johnou I'm so sorry, I have find my problem.
public void flush() {
	ChannelHandlerContext ctx;
	while (running) {
		try {
			while ((ctx = ctxs.take()) != null) {
				if (ctx.channel().isWritable()) {
					ctx.flush();
				}
			}
		} catch (Exception e) {
			LogService.log(e);
		}
	}
}

I was used ctx.channel().isWritable() before flush, and if I remove it, I still can send bytes to client.
But, I still have question.

input at NettyServer I send 51200  bytes used LoginThread write to ctx then trigger Writability Changed Event and the ChannelHandlerContext.channel().isWritable() will be true, so I will send bytes to client.
but in event loop I send 157 bytes will trigger Writability Changed Event and the ChannelHandlerContext.channel().isWritable() will be false, so I will don't send bytes to client.
Why does it has different expression in different thread?
How to use it:
run NettyServer.main()
run NettyClient.main()
input 51200 at NettyServer
input 1 at NettyClient
Then you will see what I said before.

@Underbalanced @normanmaurer @johnou OK, I find something.
line 325 at SingleThreadEventExecutor.java
When I used thread is not in event loop, the ctx.write() will be packing to a task, but not execute now, when I ctx.flush() it will be execute. Before ctx.flush() I used ctx.channel().isWritable() is always true.
So, If I need to judge it can writable how can I to do, and is this design reasonable? and why?

I am not sure what you are asking. Have you been able to read the tutorials and documentation on netty? Are you new to using netty?

I also think that you can't understand what I said.
look at your code. you can't use ctx.writeAndFlush(), please use ctx.write() and other thread execute ctx.flush().It is different, because ctx.write() just make a task and not send to socket. ctx.flush() will execute the task and send to socket.
Before ctx.flush() the ctx.channel().isWritable() while be true.so the watermaker is not use in other thread.
                                public void run() {
                                    // Peform login retreive
                                    ByteBuf out = ctx.alloc().ioBuffer();//... add data here
                                    if (!ctx.channel().isWritable()) {
                                        outboundQueue.add(out);
                                    } else {
                                        ctx.writeAndFlush(out, ctx.voidPromise());
                                    }
                                }

Do you know if the thread not in event loop, when we use ctx.write(), is not execute, just make a task. when we call ctx.flush(), the task will be execute.

@monkey1993 I did say I do not understand what you are asking.

Do you know if the thread not in event loop, when we use ctx.write(), is not execute, just make a task. when we call ctx.flush(), the task will be execute.

Should work the way it does in the EventLoop. You can change the writeAndFlush to write. I am unsure why you would need to do this as having a extra thread to flush seems like it would be pretty pointless.

beacuse I have some task used a long time. so I also think I should use other thread

before ctx.flush() the task only can be add 5 times. like ST_SHUTDOWN,
look 59 line at SingleThreadEventExecutor.java, I also can't understand

@monkey1993 My method is running in another thread

Gets the login data
Checks to writeability
Writes and flushed or Que

The qued data is only being added writeAndFlushed when the channel is writable in both the Login Thread I created in the read0(); as well as in the channelWritabilityChanged();

and this ?
before ctx.flush() the task only can be add 5 times. like ST_SHUTDOWN,
look 59 line at SingleThreadEventExecutor.java, I also can't understand

楼主你的意思是不是在业务线程中调用writeAndFlush()方法触发WATER_MARK变化所需的数据量比在NioEventLoop线程中所需的数据量要大得多？

@teddie-lee 我的意思是，如果不在Netty线程的时候，使用ctx.write()可以写入任意多的数据，完全可以绕过WATER_MARK。因为，在执行的时候，会先检测是否是netty的线程。如果是netty的线程，没有任何问题。如果不是netty的线程，则会先构造一个task，然后，等到ctx.flash()才会真的发送到客户端。在这个过程中，WATER_MARK，完全被绕过去了。唉，遗憾的是我并没有成功的和netty的开发人员解释清楚...

但实际上并没有绕开，在将数据放入OutBoundBuffer前仍然会先检测数据的长度。只不过由于此时你的数据类型如果不属于ByteBuf, ByteBufHolder, FileRegion中的任意一种的话，会默认数据长度为8 + 48 = 56。远小于默认WATER_MARK高水位线65536。而且我认为WATER_MARK只是起到一个标识的作用，实际中就算过了高水位线系统也不会禁止数据的发送。

那是在什么时候检测的呢？WriteTask.newInstance(next, m, promise);，构造这个任务的时候并没有检测...

private void incrementPendingOutboundBytes(long size, boolean invokeLater) {
    if (size == 0) {
        return;
    }

    long newWriteBufferSize = TOTAL_PENDING_SIZE_UPDATER.addAndGet(this, size);
    if (newWriteBufferSize > channel.config().getWriteBufferHighWaterMark()) {
        setUnwritable(invokeLater);
    }
}

检测 WATER_MARK 我打断点，只有在netty自己的线程中才会检测，在非netty的线程中是不检测的

@teddie-lee 其实我比较好奇的是，如果检测到了，但是netty依然将它发送到了客户端，不是应该程序手动处理吗？就像他们给的实例代码。

@teddie-lee 这个东西，本来的目的不是为了在网络出现波动的时候，可以由程序控制数据的发送量以及频率么，如果在非netty线程中就不让控制了吗？

@teddie-lee 啊，看到了你说的 ByteBuf, ByteBufHolder, FileRegion 这三种，如果不是就会返回8+48，这里是我的问题...

楼主你的意思是不是在业务线程中调用writeAndFlush()方法触发WATER_MARK变化所需的数据量比在NioEventLoop线程中所需的数据量要大得多？

Could you please use English in INTERNATIONAL COMMUNITY?

@teddie-lee 其实我比较好奇的是，如果检测到了，但是netty依然将它发送到了客户端，不是应该程序手动处理吗？就像他们给的实例代码。

Could you please use English in INTERNATIONAL COMMUNITY?


Holdings administrative notes

new metadb derived table for holdings_administrative_notes

[ ] Pull request has a complete description
[ ] Query runs without errors
[ ] Query output is correct
[ ] Query logic is clear and well documented
[ ] Query is readable and properly indented
[ ] Table and column names are in all-lowercase
[ ] Quotation marks are used only where necessary
[ ] Query begins with user documentation in comment lines
[ ] File name is listed in runlist.txt after dependencies
[ ] All columns have indexes
[ ] Table is vacuumed and analyzed


Serialization handler refactoring

Right now SerializationHendler relies on the passed context. Context contains some handler specifics (like writer/reader) making caller to be dependent on the handler implementation. We want to decouple it completely, so caller should not care about what implementation it is working on. That implies making context exclusively internal entity of the logic and changing signature of handler methods to be neutral:
public <E extends Entity> void write(List<E> entities, OutputStream os) throws SerializationException;
public <E extends Entity> List<E> read(OutputStream os) throws SerializationException;

It is decided to simplify interface methods to work with single entity only:
public <E extends Entity> void write(E entity, OutputStream os) throws SerializationException;
public <E extends Entity> E read(OutputStream os) throws SerializationException;


Update Kafka

Issue Ref: None
Description:
Update Kafka version
TODOs:

[X] Ready to review
[X] Automated Tests
- [X] Docs

LGTM


Metrics: deploy our own Docker containers

Graphite + Graphana
InfluxDB + Graphana

This way, people could start playing with our Graphite integration in no time.

@pdalpra WDYT?

Good idea :)
I'll work on it !

Mr non-core topics ;)

Also, would it be a good idea to provide Grafana JSON in order to provide a sample dashboard?

@adrianlewis Yes, good idea, we could do that for standard metrics. Per request metrics have the name of the request.

@slandelle The dashboards can be scripted (to avoid hardcoding) but not looked into that yet.
http://grafana.org/docs/features/scripted_dashboards/

@slandelle I'd prefer Mr not only core topics :)
@adrianlewis Will have a look.

I'd prefer Mr not only core topics :)

I'd prefer too ;)

#2494 Here is a variation of what we are using in BBC-News

@slandelle Still relevant ?

I don't think so.

Closing the issue.

I think it would add to the attraction of Gatling if sample out-of-the-box persistence and real-time graphing was provided.

Well, there are already good Docker images for Grafana and Graphite/InfluxDB, we could link to those to provide an easy setup of a monitoring stack.
Having our own Docker images  is one more thing that we'd need to actively maintain, and we already have more than enough work to keep use busy :)

This is what I am using:
docker run -d -p 8081:8081 --name grafana aidylewis/grafana
docker run -d \
           -p 8083:8083 -p 8084:8084 -p 8086:8086 -p 2003:2003 \
           -e PRE_CREATE_DB="gatling;grafana" --name influxdb davey/influxdb:latest

Most of the work here was done by @DaveBlooman

Just to check : are those images forks of tutumcloud InfluxDB image and Grafana Image ?

The base image for InfluxDB derives from a tutum image: https://github.com/DaveBlooman/gatling-docker/blob/master/influxdb/Dockerfile#L1
And the grafana image is an install on a base Debian distro: https://github.com/DaveBlooman/gatling-docker/blob/master/grafana/Dockerfile#L1
My grafana docker, only overrides the default.json: https://github.com/aidylewis/grafana-docker
It may be an alternative to link to those images you suggest but provide a gatling default.json.


[DO NOT MERGE] Auto PR to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
adefa93083941127eec54d9f27c4ce2ddf425305
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
adefa93083941127eec54d9f27c4ce2ddf425305
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Adding interface member implementation reference when interface is implemented in a derived type

See https://github.com/KirillOsenkov/SourceBrowser/issues/113
It's practically unfixable in SourceBrowser but due to the dynamic nature of Codex maybe we can do better.
Minimal repro:
public interface IAnimal
{
    void Eat();
}

public abstract class AbstractAnimal
{
    public void Eat() { }
}

public class Giraffe : AbstractAnimal, IAnimal
{
}

For the Eat() member in AbstractAnimal we would query all interface members that this member implements via all derived types, and link to them all (there could be more than one).


Using BIO_set_mem_buf would leak in 1.1

Maybe I'm missing something here, I have googled around, and found practically nothing about this, which is suspicious...
I have this code that works fine in 1.0:
BUF_MEM p7Buf = { .data = p7Data , .length = p7Len, .max = p7Len };
BIO * bioMem = BIO_new(BIO_s_mem());
BIO_set_mem_buf(bioMem, &p7Buf, BIO_NOCLOSE);
// do stuff with bioMem
BIO_free(bioMem);

In 1.1 (1.1.0i) this code starts leaking. This is because mem_method->mem_free only agrees to free anything it created if bio->shutdown is !0. bio->shutdown is set to 0 when BIO_set_mem_buf is called with BIO_NOCLOSE, so when I call BIO_free, none of the stuff in bio->ptr is released.
I don't find this particularly reasonable, since nobody from outside the mem knows what's in bio->ptr, and wouldn't really know how to release any of it. This also would seem to contradict the documentation of BIO_S_MEM(3), which says that the above pattern is good for having your buffer being left alone, but I'd think the assumption that all other stuff will be properly cleaned up.
I understand that the migration path here is to allocate the buffer, instead of creating it statically, set the buffer with BIO_CLOSE (so that bio->shutdown remains !0), but set the BIO_FLAGS_MEM_RDONLY so that the buffer data doesn't get freed.

This should be fully resolved in 1.1.1c.


Fix unload on snapcast

A warning is displayed when deleting the provider, I forgot to change the cmd_stop code here in previous changes.

It does not eliminate the error, but still the actual code is incorrect and this is what is expected


TP to a marker

Make an option to tp inside the game to a marker created plsssss

Sure, i can add it onto my TODO list. But it will only have one permission, for waypoints i would suggest other methods

Just expressing that this is a feature I want also, and would be extremely grateful if you can figure it out. I want players to be able to TP to the POIs I have defined on the map, but not TP anywhere they want. Kinda like fast traveling in games like Fallout.

What about an option inside the marker builder that is a true/false value if teleporting to that marker is allowed? If the value is false, only admins can teleport to that marker. Defaulting to false for all existing and new markers

Implemented in new 2.1.6 release
Download: https://modrinth.com/plugin/bmarker/versions


[Webportal] Add sku count and sku type in submission form

Add sku count and sku type in submission form.

Coverage remained the same at 34.34% when pulling a7a197080b9e35dd02ae83502a97a6524073b1c4 on xiongyf/webportal-add-sku into 96a9ddde8ff38150550a05c1c461fe8ec6321b8c on master.


RSocketConnectionManager: If client is already disconnected, no need to use evb_ to close the connection

Users of our RSocketClient might only call disconnect method and they assume that its now fine to get rid of the corresponding eventBase that we used to add the StateMachine to the ConnectionManager.
Disconnect method already closes the connection. So we don't need to call the close method of the RSocketStateMachine within the evb if the connection is already disconnected.
This eliminates the possibility of trying to use the deleted evb.
So, either close() or disconnect() is called, it should be fine to have evb, out of the scope/deleted when the ConnectionManager is being destroyed.

Abandon


in_app_include in add_query_source works differently, depending on the package installation method

How do you use Sentry?
Self-hosted/on-premise
Version
master, also 2.7.1
Steps to Reproduce
When packages added in in_app_include are installed to a location outside of the project root directory, span from those packages are not extended with OTel compatible source code information. Cases include running Python from virtualenv created outside of the project root directory or Python packages installed into the system using package managers. This results in an inconsistency: spans from the same project are be different, depending on the deployment method.
 Test pass.
Actual Result
The behavior of in_app_include in add_query_source is inconsistent. Test fails.

Hi @rominf, thanks for reporting this issue and creating a PR! We will try to take a look sometime next week.


add saveAll into repository interface [DATAJDBC-552]

benzen opened DATAJDBC-552 and commented
Having the following

@Component
 public interface ProjectRepository extends CrudRepository<Project, Long>

{ List<Project> findByIdIn(List<Long> ids); List<Project> findByIsArchived(Boolean isArchived); List<Project> findByIsArchivedAndClientId(Boolean isArchived, Long clientId); List<Project> saveAll(List<Project> project); }

Compiler doesn't complain, but at runtime  it seams that i can't select List as a return type for save all.
I'm using spring data jdbc throught spring boot 2.3.0.RELEASE
Here is my error
Caused by: org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List ca.code3.timekeeper.repository.ProjectRepository.saveAll(java.util.List)! Reason: No property saveAll found for type Project!

Hope this help

No further details from DATAJDBC-552

It works if you make the argument of type Iterable<Project>.
Also there is by now a ListCrudRepository which you might want to use instead of the CrudRepository.


Complete guide to setting up cocosynth image link is broken.

The link is broken and I think I am missing a step cloning the repo

Hi Daniel, which link is broken? And are you new to GitHub so you need basic help with cloning a repo or is something else wrong?


Update demo.py to automatically download model

Keras uses get_file() to do this when loading the inception models.
It checks if this model is already downloaded, if not, then it automatically downloads it to your hard drive.  It knows where to look the next time you load it.

Hi @xjdeng,
Thank you for your contribution!
I slightly change the path to which the pretrained model will be downloaded (includes the cache dir within the project) and merged the PR.


Fixed bug in named_parameters and named_buffers

Would be nice to see what bug was or what the fix changes in the history.

Good point -- the implementations of both methods used 'Handle' (which validates and throws) in a situation where 'handle' was appropriate. It is not illegal to use the same module twice in a Sequential or in a custom module, which means that when the Dispose(bool) method is invoked and disposes the parameters and buffers, it is possible to encounter already disposed tensors, which will have an invalid handle. Rather than validating and throwing an exception, the fix simply ignores tensors with invalid handles.


postgresql: update to new minor versions

This updates all postgresql versions except v16 to the new minor released today:
https://www.postgresql.org/about/news/postgresql-171-165-159-1414-1317-and-1221-released-2955/
v16 will cause many more rebuilds, so I will target that at staging.
@Ma27
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Looking at it now.

Tagging as security-relevant for CVE-2024-10976, CVE-2024-10977, CVE-2024-10978, CVE_2024-10979.

Does that make sense? Or is the number of rebuilds allowed into master limited for a different reason?

I think it's perfectly reasonable as-is given the kinds of rebuilds.
Also, we get security fixes out quicker and I can finally get rid of postgresql_12.
Backporting to 24.05 will require manual action.