Implement HTML output for validation report (MVP)

Feature request
Currently, the validation report is only available as a JSON file. Adding an HTML output would improve the user experience.
Is your feature request related to a problem? Please describe.
Browsing through the JSON validation report can be complicated and tedious, especially for user with low to mid technical knowledge. This is an obstacle to the use of the product.
Proposed solution
Inspired by Trillium work in PR #1119, we suggest implement a lean HTML + CSS + JavaScript output. The file will be self-contained so it can live on its own. We suggest using jQuery instead of a front-end framework like React or Snabbdom as we are no longer going for a local/hosted web UI app.
Steps:

[X] Output prototype
[X] Add the jQuery dependency
[X] Add the components to generate the HTML output
[X] Modify the validator main to add the generation of the HTML output during the export of the validation report.
[X] Add tests.

Describe alternatives you've considered
We considered using React or Snabbdom at first. The initial idea was to create a local web UI, then to host it. This is not a feature we are considering doing anymore.
Additional context
Trillium did great work in PR #1119 to implement a front-end framework and a UI.
Issue #1112 explains the previous feature we were considering, the local web UI.
Epic #1124 explains the current feature we are considering, a packaged executable and an HTML output.

Maxime, I appreciate the work you've done here, but I wanted to make a counter proposal.  I know the team shied away from some of the technical complexity of from the original Trillium PR, with good reason, but I fear this PR has gone too far in the other direction.
Namely, I think you could leverage a basic templating engine here without too much more complexity that would come with a lot of benefits.  There are a number of Java templating engines out there, but I'd suggest https://www.thymeleaf.org/ as a good candidate.  It comes with a number of nice benefits:

Allows you to write templates that are valid HTML, which makes it a lot easier to understand, develop, and maintain the reports.
Provides a clear technical path for features like i18n/l10n (reference)
Can generate static HTML without needing a server environment.

I put together a quick commit that demonstrates a flavor of what this would look like for report generation:
https://github.com/bdferris-v2/gtfs-validator/commit/f64b213c310950d70ed86f12f2e2798ff13e4cc1
Again, apologies for stepping in with an alternate proposal after you've already got an end-to-end solution working here.  If there was some earlier technical discussion I missed where you all laid out your options here, I will try to figure out how to be more proactively involved going forward.

@bdferris-v2 No worries at all! I was looking for a HTML library before implementing the code, but all I found was HTML parsers such as jsoup, which was not exactly what I was looking for. I agree that Thymeleaf looks like a way better solution. I will implement it, thank you :)


Question

First one first: I know this is maybe the wrong Page to ask.
The Question: Is there an equal example that works with the Unreal Engine 4 or at least an Tutorial?

Hi,  I don't believe we have any Unreal Engine server examples at this time.


DevTools doesn't reliably start on Windows

https://ci.chromium.org/ui/p/flutter/builders/prod/Windows tool_integration_tests_4_5/20/overview
04:10 +9 ~14: test\integration.shard\overall_experience_test.dart: flutter error messages include a DevTools link
Test is taking a long time.
Expected state transitions:
    0 NOW WAITING FOR> /^An Observatory debugger and profiler on Flutter test device is available at: /
    1                  /^The Flutter DevTools debugger and profiler on Flutter test device is available at: /
    2                  /^Performing hot reload\.\.\./
    3                  /^Reloaded 0 libraries in [0-9]+ms./
So far nothing has been logged; use debug:true to print all output.
(streaming all logs from this point on...)
stdout: Syncing files to device Flutter test device...                     268ms
stdout:
stdout: Flutter run key commands.
stdout: r Hot reload.
stdout: R Hot restart.
stdout: h List all available interactive commands.
stdout: d Detach (terminate "flutter run" but leave application running).
stdout: c Clear the screen
stdout: q Quit (terminate the application on the device).
stdout:
stdout:  Running with sound null safety
stdout:
stdout: An Observatory debugger and profiler on Flutter test device is available at: http://<IP_ADDRESS>:55963/QeHWO1lBXrI=/
(matched /^An Observatory debugger and profiler on Flutter test device is available at: /)
(taking a long time...)
(process is not quitting, trying to send a "q" just in case that helps)
(a functional test should never reach this point)
stdout:
stdout: Application finished.
(process terminated with exit code 0)
The subprocess terminated before all the expected transitions had been matched.
The transition that we were hoping to see next but that we never saw was:
    1 NOW WAITING FOR> /^The Flutter DevTools debugger and profiler on Flutter test device is available at: /

04:23 +9 ~14 -1: test\integration.shard\overall_experience_test.dart: flutter error messages include a DevTools link [E]
  Missed some expected transitions.
  test\integration.shard\overall_experience_test.dart 275:5  runFlutter

/cc @Hixie @jonahwilliams

Looks like devtools never launched despite waiting 13 minutes.

cc @kenzieschmoll any idea why DevTools would sometimes fail to load on Windows?

Saw this again on the engine -> framework roll presubmit here: https://ci.chromium.org/ui/p/flutter/builders/try/Windows tool_integration_tests_4_5/43/overview

Looks like this isn't a flaky test, it's an actual failure. According to those logs, in both cases, DevTools never came up.

Yes. It looks like this is failing consistently after https://github.com/flutter/flutter/commit/8fe4cc79648a952f9c7e49a5248756c2ff98fa3b. I will get a revert started.

@goderbauer Already reverted that change, but the test failed the same way.

@jonahwilliams @kenzieschmoll DevTools is pinned, right?

devtools was last updated on april 6th so this is unrelated to the versioning

In the failure case, this line here is throwing:
https://github.com/flutter/flutter/blob/027d4ecabaafbe373a2b27e7ca2b3b8be8868e9d/packages/flutter_tools/lib/src/devtools_launcher.dart#L66
The exception is silently swallowed a few lines below, which causes devtools to never launch (it goes into "offline" mode), which makes the following line hang preventing the devtools address from being printed: https://github.com/flutter/flutter/blob/027d4ecabaafbe373a2b27e7ca2b3b8be8868e9d/packages/flutter_tools/lib/src/resident_devtools_handler.dart#L72

The exception thrown is
HandshakeException: Handshake error in client (OS Error:
	CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(../../third_party/boringssl/src/ssl/handshake.cc:359))

@aam On Windows do you know if the VM is using the system keystore or still using the builtin root certs?

@aam On Windows do you know if the VM is using the system keystore or still using the builtin root certs?

Provided SecurityContext was created with withTrustedRoots=true(https://github.com/dart-lang/sdk/blob/master/sdk/lib/io/security_context.dart#L33)
It uses files specified via root_certs_file/cache options if they are provided.
If they are not provided, then it attempts to use system root store.
If attempt to use system root store fails it uses built-in roots.
See https://github.com/dart-lang/sdk/blob/master/runtime/bin/security_context_win.cc#L111

Thanks, Alex. A couple theories about what might have happened here:

A change in the system keystore on the luci bots caused the cert verification to failed
The system keystore is failing entirely and the compiled-in root certs also can't do the verification (e.g. due to being old).

We could probably figure out which is happening with some additional logging from the Dart VM, however the compiled-in root certs haven't been updated in 8 months, so that's probably a good thing to do as well.
However if https://github.com/flutter/devtools/issues/2420 is solved, it sounds like the TODO here can be addressed to completely avoid this issue: https://github.com/flutter/flutter/blob/027d4ecabaafbe373a2b27e7ca2b3b8be8868e9d/packages/flutter_tools/lib/src/devtools_launcher.dart#L90.
/cc @kenzieschmoll for the TODO.

I don't think that TODO would help, because we still need to actually download it the first time.

(As a side note, we probably should pin the version used in the tests, though.)

There is some work being done to standardize on a version of devtools that is shipped with the Dart SDK. That would let us totally skip the network checks and activation altogether

@godofredoc indicated on discord that the windows machines has trouble syncing time which may be the cause for the certificate validation errors…

Took a look at the build and this task is running on a VM in a datacenter it is very unlikely it will have connectivity issues. Do we know  which url are we trying to open? is that url using a self signed certificate?

In this case the URl was https://pub.dev/

curl https://pub.dev/ works as expected from within the VMs

It looks like this can also happen on Mac https://ci.chromium.org/ui/p/flutter/builders/prod/Mac tool_integration_tests_4_4/202/overview

In #81793, there's a log line that suggests that we tried activating DevTools and then gave up on the test. Could the problem be that the test is being run out of order and so the first test, where DevTools should get initialized, isn't run yet? Or maybe just in general on these machines it takes so long to do pub global activate devtools that the tests time out?
We should be able to work around that by running pub global activate devtools before the tests, if that is the case.

In mac it is a problem of 4 cores vs 12 cores test beds. Windows is a different problem as they are all 8 coreVMs  running in a datacenter.

Did something change in the test that require a lot more processing?

The test was recently enabled. It tries to launch DevTools. It's possible that this is taking a long enough time that the test times out before it completes. We should add some output that says that DevTools is taking a long time to get ready...

Hm, we already have the progress indicator. Never mind. Maybe it's failing earlier than this, say in the "pub global list" step?

Ah right, that's consistent with what @goderbauer was describing earlier with the handshake failure.

Sorry for babbling. What I'm trying to say is that on macOS I suspect the problem is DevTools is taking so long to start on these machines that the test is timing out, and we could resolve this by running "pub global activate devtools" before the test (and its timeout) starts, or by making the computers more powerful as you suggest. On Windows there seems to be a networking issue that happens earlier in the process and we never get to trying to start DevTools.

Since the relevant test has been disabled, I'm downgrading this to P3.

We need to try and unskip these tests to see if they are still flaky

I believe the reason these tests were failing on the handshake was the missing certificates on windows. We should definitely start running them again.

I meant to reenable them with my recent patch but oops, looks like I missed two of them.


Build fails on M2 Mac with brew opencv and 0.77.0

MacOS 13.2.1
brew install opencv@4
opencv--4.7.0_1
rustc 1.67.1 (d5a82bbd2 2023-02-07)
See attached file

cargo-build-output.txt
Anyone have an idea about what I'm doing wrong?
Here's a snippet from compile output file:
[opencv 0.77.0] ===    Compiling opencv-binding-generator v0.56.0
[opencv 0.77.0] ===     Finished release [optimized] target(s) in 9.21s
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "alphamat" ""
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "aruco" ""
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "barcode" ""
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "bgsegm" ""
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "bioinspired" ""
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "ccalib" ""
[opencv 0.77.0] === Running: "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out/release/binding-generator" "/usr/local/opt/opencv/include/opencv4" "/Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.77.0/src_cpp" "/Users/hans/Rust/vision/target/debug/build/opencv-f393635b647aecd4/out" "calib3d" ""
[opencv 0.77.0] === WARNING: 5 diagnostic messages
[opencv 0.77.0] ===    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/chrono:1583:12: error: reference to unresolved using declaration
[opencv 0.77.0] ===    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/chrono:1584:35: error: reference to unresolved using declaration
[opencv 0.77.0] ===    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/chrono:2951:10: error: reference to unresolved using declaration
[opencv 0.77.0] ===    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/chrono:2958:33: error: reference to unresolved using declaration
[opencv 0.77.0] ===    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__threading_support:277:28: error: incomplete result type '__libcpp_timespec_t' (aka 'timespec') in function definition
[opencv 0.77.0] thread 'main' panicked at '=== Errors during header parsing', /Users/hans/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.56.0/src/generator.rs:512:17

and M1 pro

and M1 pro

@wangm23456 are you seeing the same error message that I reported above?

and M1 pro

@wangm23456 are you seeing the same error message that I reported above?

yes, both 0.77 and 0.78

=== Using OpenCV headers from: /opt/homebrew/opt/opencv/include/opencv4
=== Clang: Homebrew clang version 15.0.7
=== Clang command line args: [
"-isystem/opt/homebrew/Cellar/llvm/15.0.7_1/bin/../include/c++/v1",
"-isystem/opt/homebrew/Cellar/llvm/15.0.7_1/lib/clang/15.0.7/include",
"-isystem/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include",
"-isystem/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/System/Library/Frameworks",
"-I/opt/homebrew/Cellar/opencv/4.7.0_2/include/opencv4",
"-F/opt/homebrew/Cellar/opencv/4.7.0_2/include/opencv4",
"-I/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp",
"-F/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp",
"-DOCVRS_PARSING_HEADERS",
"-includeocvrs_ephemeral.hpp",
"-std=c++14",
]
=== Building binding-generator binary:
===     Finished release [optimized] target(s) in 0.22s
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out/release/binding-generator" "/opt/homebrew/opt/opencv/include/opencv4" "/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "calib3d" ""
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out/release/binding-generator" "/othread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }p', t/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rs/:h101o:m50ebre
w/opt/opencv/include/opencv4" "/stack backtrace:
Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "core" ""
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/buthread 'il' panicked at 'dCan't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }/', o/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rsp:encv101-:3507
f1ae2a6a0d5f58/out/release/binding-generator" "/opt/homebrew/opt/opencv/include/opencv4" "/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "features2d" ""
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out/release/binding-gethread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rs:101:50
nerator" "/opt/homebrew/opt/opencv/include/opencv4" "/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "imgproc" ""
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out/releathread 'se/b' panicked at 'iCan't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rsnding-generator" "/opt:101:50/
homebrew/opt/opencv/include/opencv4" "/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "ximgproc" ""
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/bthread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rs:101:50
uild/opencv-37f1ae2a6a0d5f58/out/release/binding-generator" "/opt/homebrew/opt/opencv/include/opencv4" "/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "flann" ""
=== Running: "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-applthread 'e-' panicked at 'dCan't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }a', r/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rsw:i101n/debug/b:uild/opencv-3507
f1ae2a6a0d5f58/out/release/binding-generator" "/opt/homebrew/opt/opencv/include/opencv4" "/Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/src_cpp" "/Users/wangmeng/APP/rupipeline/v13-pipeline/target/aarch64-apple-darwin/debug/build/opencv-37f1ae2a6a0d5f58/out" "imgcodecs" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /Users/wangmeng/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/opencv-0.78.0/build/generator.rs:101:50
0: rust_begin_unwind
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:575:5
1: core::panicking::panic_fmt
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/panicking.rs:64:14
2: core::result::unwrap_failed
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/result.rs:1791:5
3: core::result::Result<T,E>::expect
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/result.rs:1070:23
4: build_script_build::generator::run_binding_generator::{{closure}}::{{closure}}
at ./build/generator.rs:101:15

May be here: https://github.com/twistedfall/opencv-rust/blob/557ae349a45362cae0c3f2bd6d107c4bb7b892fb/build/generator.rs#L92

"bindings-generator" is actually at OUT_DIR.join("aarch64-apple-darwin/release/binding-generator"

this: https://github.com/twistedfall/opencv-rust/pull/417#issue-1562276285
@hansg60 @twistedfall

Thanks for the followup! Let me investigate this asap. Although the error you're getting is different from the one from the topic starter.

I am not able to build.
i did brew install opencv
but the build fails. I am on macbook air M2
I am getting into rust and i am not super comfy with it yet but if there is any other additional info i can provide please do ask.

Can you please attach the output of cargo build -vv?

 I am very new to rust.

This issue has been fixed on macOS
I've also shared my updated zsh file just use that. It is general.
https://github.com/twistedfall/opencv-rust/issues/493

I've created a gist about how to set it up properly step by step
https://gist.github.com/aaqidmasoodi/da698ab103e4fbb180ed965988bea734


Accessors for leaf hashes in Merkle Tree

We'd like to read individual hashes from the merkle tree, after insertion (and in fact usually after deserialisation). We're currently doing this by inspecting the tree's state directly. This is unsafe and we expect it to break each time we take an update, since we're relying on unspecified properties of the generated structs.
Can you please add some verified, generated accessors for the merkle tree state? Primarily mt_get_leaf, but ideally also mt_get_leaf_range, mt_get_begin_index, and mt_get_end_index.

CC @fournet and @wintersteiger, for reference. Christoph, is this something you might have time for?

I'm aware of the request and I think we do definitely want to add that, but I'm too busy to implement it right now. I hope I'll find some time to at least start this within a couple weeks or so.


The "Delete Review" button really needs an "Are you sure?" dialog

The "Delete Review" button really needs an "Are you sure?" dialog
Without thinking through what I was doing, I clicked on it, and my WTFs per minute spiked in the ensuing regret-fest.

Yes, we should definitely add an additional dialog to prevent this. Sorry for your lost work!


training

Hello, i'm trying to re train the model, and I wanted to checkout if i'm understanding well the following instruction.
When you say: "First prepare an official ImageNet dataset with the following structure.
folder: train
└ id1
└ image1.JPEG
└ image2.JPEG
└ ...
└ id2
└ image1.JPEG
└ image2.JPEG
└ ...    "
is the id1, for example, the "n01728572" from the n01728572.tar from the ILSVRC2012_img_train.tar?

Hi, thank you for your interest of our work!
Yes. id1 means n0… kind of sub directories. You should unzip the 1k sub directories.


Embeddium based Rendering

When using embeddium, placing blocks past 256 doesnt render them properly, making them clear.

noted! had the same issue with sodium so it's a simple fix, i'll try and work on it later today


Fix oldCreated date format when the created date was changed

Details

Fix the wrong behavior when formatting the oldCreated date without the timezone information
Add Unit Tests to validate the changes

Fixed Issues

$ https://github.com/Expensify/App/issues/33248
PROPOSAL: https://github.com/Expensify/App/issues/33248#issuecomment-1861966275
Tests

Navigate to https://dev.new.expensify.com:8082/
Log in
Navigate to the created expense details page (or create one)
Click on the date
Change it once
Verify the date is changed, and a proper message is added, e.g. changed the date to 2023-12-27 (previously 2023-12-26)

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

Offline tests

Navigate to https://dev.new.expensify.com:8082/
Log in
Navigate to the created expense details page (or create one)
Turn off your network connection
Click on the date
Change it once
Verify the date is changed, and a proper message is added, e.g. changed the date to 2023-12-27 (previously 2023-12-26)

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

QA Steps

Navigate to https://staging.new.expensify.com/
Log in
Navigate to the created expense details page (or create one)
Click on the date
Change it once
Verify the date is changed, and a proper message is added, e.g. changed the date to 2023-12-27 (previously 2023-12-26)

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/698363/29e9ff66-ebf6-49d4-baf3-43c44c3b013a

Android: mWeb Chrome

https://github.com/Expensify/App/assets/698363/216e663f-a528-4269-adb0-8316e2479df3

iOS: Native

https://github.com/Expensify/App/assets/698363/fd4a0534-a6d2-4bca-81ed-c9d6b42e0790

iOS: mWeb Safari

https://github.com/Expensify/App/assets/698363/1f17b492-5b24-46e6-9689-1b185f114502

MacOS: Chrome / Safari
Chrome
https://github.com/Expensify/App/assets/698363/86019ba5-7c91-4f70-aabc-a17bed305180
Safari
https://github.com/Expensify/App/assets/698363/6251bde4-cf3c-4186-a7f8-9038ec0dfa89

MacOS: Desktop

https://github.com/Expensify/App/assets/698363/9a38f7e9-8692-4a49-8084-a8166e4b4de3

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

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

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@wlegolas I am not able to reproduce the issue on staging can you confirm?

Hi @getusha, I tested it here on staging and it's still happening.
https://github.com/Expensify/App/assets/698363/4e493812-03f2-429e-81b2-4b7146f74cc0
I don't know if it's your case but usually, people east of GMT (most non-US) may not see this bug because new Date() moves the timezone forward for their local time, so the date may not change. In my case, my GMT is -03:00.

Hi @youssef-lr if you have any questions or suggestions, please let me know.

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

🚀 Deployed to staging by https://github.com/youssef-lr in version: 1.4.25-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.25-10 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


thuang-747-fix-tos-privacy-pages

Fix #747
Changes:

Add Privacy and ToS static pages in Data Portal
Update Data Portal links to use the the new URLs

TODO:

Need to remove static pages and assets from single-cell-infra repo: PR
Need to update Explorer to use the new DP URLs: PR
Need to add Datadog check

PTAL Thank you 😄 🎉
Privacy Page:

ToS Page:

GIF:

Maybe in the future we can disable new account creation if the datadog ping fails? Not sure the importance of these pages, trust-wise

yeah the legality part of this is certainly interesting lol
ACTUALLY! Now the pages are in DP, I can write some quick e2e for them 😄 ! BRB!

Just added tests too! Thanks all 😄 🎉

Maybe in the future we can disable new account creation if the datadog ping fails? Not sure the importance of these pages, trust-wise

Hmm yeah that's a great question!
@brianraymor what do you think? Thank you!

I think our portal should be less fragile so we do not need to add a design to disable features.

@ambrosejcarr @signechambers1 Please help QA this one 🙏
https://cellxgene.dev.single-cell.czi.technology/privacy/
https://cellxgene.dev.single-cell.czi.technology/tos/
cellxgene Explorer has not been updated yet, since the PR is not merged yet!
https://github.com/chanzuckerberg/single-cell-infra/pull/239

@brianraymor Yeah that makes sense 👌 We now have both e2e tests and daily Datadog test (thanks to Madison!) to assert these two pages, so this should be enough! Thank you!


Resolve ReDoS opportunity by fixing incorrectly specified regex

Hello!
Pull request overview

Resolve slight ReDoS in some RegexpTaggers throughout NLTK.
Modified doctests to accompany the changed regex.

The regex
The original regex was ^-?[0-9]+(.[0-9]+)?$, which is vulnerable to a ReDoS due to [0-9]+ followed by any character (due to .), and then again [0-9]+. However, this original regex does not seem to match what it was intended for: Matching cardinal numbers. The regex seems to want to match:

Perhaps a -
A non-zero amount of numbers.
Perhaps a . followed by a non-zero amount of numbers.

This would match e.g. 3, -4 and 3.12. However, the regex actually does not match a dot directly, it matches any number. This means that -3a12 is also allowed, which we would rather not have. I believe the original designer of the regex meant to use \., but used . instead, and did not realise the small mistake.
ReDoS reproduction:
pattern = re.compile(r"^-?[0-9]+(.[0-9]+)?$")

for length in (2**i for i in range(12, 24)):
    s = "-"
    s += "0" * length
    s += "q"

    t = time.time()
    re.search(pattern, s)
    print(f"Searching took {time.time() - t:.8}s for length {length}.")

outputs
Searching took 0.17596316s for length 4096.
Searching took 0.66382051s for length 8192.
Searching took 2.8454814s for length 16384.
Searching took 10.864819s for length 32768.
Searching took 44.40001s for length 65536.
Searching took 176.56144s for length 131072.
...

After several minutes I stopped the execution.
The fix
Simply adding a \ before the . should fix the problem.
The consequences
The regex will no longer be vulnerable to a ReDoS. Beyond that, -3a12 will no longer be considered a cardinal number in the RegexpTagger examples throughout NLTK. This is desirable behaviour, with one small subjective exception: 3e12 will no longer be considered a cardinal number, even though one could argue that it is.
If we want to still consider it one, then we can of course go for ^-?[0-9]+([e\.][0-9]+)?$, but I really don't think it matters.
ReDoS reproduction
pattern = re.compile(r"^-?[0-9]+(\.[0-9]+)?$")

for length in (2**i for i in range(12, 24)):
    s = "-"
    s += "0" * length
    s += "q"

    t = time.time()
    re.search(pattern, s)
    print(f"Searching took {time.time() - t:.8}s for length {length}.")

now outputs
Searching took 0.0s for length 4096.
Searching took 0.0010306835s for length 8192.
Searching took 0.00096130371s for length 16384.
Searching took 0.0020515919s for length 32768.
Searching took 0.0029797554s for length 65536.
Searching took 0.0060167313s for length 131072.
Searching took 0.013041735s for length 262144.
Searching took 0.026050091s for length 524288.
Searching took 0.051049709s for length 1048576.
Searching took 0.09999752s for length 2097152.
Searching took 0.20596671s for length 4194304.
Searching took 0.40702796s for length 8388608.

As is correct for a simple regex, the execution time of the regex is linear in the length of the input. This was not the case before.

Thanks to @scara31 for making us aware of this vulnerability through proper means.

Tom Aarsen

How to reproduce in NLTK:
from nltk.parse.malt import malt_regex_tagger

tagger = malt_regex_tagger()
length = 50000
t = time.time()
tagger(["-" + "0" * length + "q"])
print(f"Tagging took {time.time() - t:.8}s for length {length}.")

Outputs the following in this PR:
Tagging took 0.0020170212s for length 50000.

And outputs the following in develop
Tagging took 26.010252s for length 50000.


Search in DashboardController not working

Expected behaviour
Search for task or project
Tell us what should happen
List search results
Actual behaviour
When you try to search something on Dashboard it gives you an Controller not found error
Tell us what happens instead
Error: Controller search not found
Url badly formed? - ?controller=search&action=index&SearchController=test
Steps to reproduce

Go to Dashboard
Type something on search
Press Enter

Configuration
Copy and paste the configuration section from the Kanboard settings page or fill these fields:

Kanboard version: 1.0.29
Database type and version: mysql
PHP version: 5.5.9-1ubuntu4.17
OS: Linux 3.13.0-87-generic
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0

I just noticed this as well. The search directly on the dashboard returns the controller not found error. But the search link works OK.
From the dashboard, this fails:
www.example.com/kanboard/?controller=search&action=index&search=status%3Aopen
But using the search link on the dashboard (to it's own search page) works:
www.example.com/kanboard/?controller=SearchController&action=index&search=status%3Aopen

PR to fix this: https://github.com/fguillot/kanboard/pull/2299

Fix is available in the latest tag (v1.0.30). Thanks.


Coffeequate lib not included in bower

The included js file is not the coffeequate library

This was resolved with PR https://github.com/guillefix/augmath/pull/3


get theme and get darkTheme returns the same theme dependend on mode

Retrieving the ThemeData with get theme and get darkTheme will return not the expected themes of light theme and dark theme, instead both return the "active" theme.
To Reproduce
Compare AdaptiveTheme.of(context).theme  with AdaptiveTheme.of(context).darkTheme;.
Expected behavior
theme returns the light theme and darkTheme returns the dark theme.
Responsible Code
from adaptive_theme.dart, which is cousing this behaviour:
  @override
  ThemeData get theme => preferences.mode.isDark ? _darkTheme : _theme;

  @override
  ThemeData get darkTheme => preferences.mode.isLight ? _theme : _darkTheme;

Available in 2.1.0


NTR: fixed 5.4 compatibility

in some cases product->lastStock is null and it is not used for the
lastStock attribute of the Aticle
now the same logic is used for detail as for article

Coverage decreased (-0.01%) to 42.217% when pulling 0875a2df36afd1561401eff0b431ad3441390af9 on NTR-fix-5.4-compatibility into b45135ab288b16616fc338f8ff8ac0a82b8a1300 on master.


How to modify fzf-lua split properties?

According to the documentation one can change the fzf-lua layout to open in a split instead of a pop up window. For my taste the split occupies almost half of my screen. I wonder if is possible to decrease the height of it? Thanks in advance. I appreciate the effort putted in the plugin.
Info

Operating System: Arch
Shell: zsh
Terminal: Alacritty
nvim --version: v0.7.0
fzf --version: 0.33.0

The split is a command run by neovim before opening the window, default split size is determined by neovim (not fzf-lua), however, you can modify the split option and issue a resize to control the split size, for example:

Play around with the sizes using :belowright new | resize -10 until you get to the size you want and then configure fzf-lua

require'fzf-lua'.setup {
  winopts = {
    split = 'belowright new | resize -10'
  }
}

Thank you @ibhagwan!

FYI @luisvgs, I recently learned you can set the exact number of lines as part of the new command by prefixing it with a number, for example, this would hardcore the split to 10 lines size:
require'fzf-lua'.setup {
  winopts = {
    split = 'belowright 10new'
  }
}


Reorder Golden Path episodes on TV index

The order for Golden Path episodes has to be changed since there's so many future episodes.

@danielramirez0 ready for review + merge.


Create Selection Page/Desired Information Selection

DoD:  A selection of disaster types is listed.
User Story: As a user, I want to be able to see the list of disaster types to choose from.

When reopening an issue please leave a comment briefly explaining why it's being reopened.
(Even if it was discussed in more detail in Slack it's good to leave a quick note here too)(and/or link to the Slack thread?  Can one do that?)


feat(dashboard): Refactor Miner Status Dashboard to Separate Node and Protocol API Data Sources

Problem Statement
Miners currently lack visibility into their operational status on the Masa protocol. The existing dashboard at /status combines all data, making it difficult to maintain and scale. We need to separate miner status data (from nodes) from X/Twitter verification data (from Protocol API) to improve reliability and maintainability.
Proposed Solution

Create a new dedicated miner status dashboard at /miner-status
Split data sources:

Fetch miner status directly from nodeData
Create new Protocol API endpoint for X/Twitter verification data

Refactor existing /status to /miner-status endpoint to use the new data structure

Figma design is here: https://www.figma.com/design/8qqscJHEKjIhFW7vHvzDN1/Masa-Web-App-2.0?node-id=1630-118&t=0EM1IAyg7ybFBFiK-1

Technical Details

Add new Protocol API endpoint for X/Twitter verification status: https://github.com/masa-finance/masa-protocol-api
Implement separate data fetching for node status and X/Twitter data to get the nodes data from the API
Refresh the data every 5 mins or when a user has clicked verify
Update frontend to display combined data from both sources

Acceptance Criteria

[ ] New /miner-status endpoint created and functional
[ ] Miner status data successfully pulled from nodeData
[ ] New Protocol API endpoint for X/Twitter verification implemented and integrated with the miner
[ ] Dashboard displays:

Peer ID
Public key (wallet)
Online status
X/Twitter scraper status
Web scraper status
Telegram scraper status
Discord scraper status
Total peers
Staked status
X/Twitter verification data (accounts, last scraped, login status): total accounts, total scraped, plus the table

[ ] Status updates every 5 minutes or when verify login button clicked
[ ] Verify login buttons functional by sending a request only to the local node node remote workers to test the nodes login functionality

Out of Scope

UI/UX improvements beyond basic functionality
Historical data tracking
Advanced analytics

Estimate
1 day implementation
Labels
feature api dashboard priority-high

@theMultitude to create SQL queries for getting the data for the table. Post them here to help the developer working on the API endpoints


Add anchor links to headers

resolves #1075

Can you post a screenshot or video of what this looks like?

Hey @jyn514, it looks like this.

Thanks! That looks good :) do you mind adding the same links to the other /about pages? In particular the main /about page could use links I think.

Thanks! That looks good :) do you mind adding the same links to the other /about pages? In particular the main /about page could use links I think.

Sure, no problem :).

In particular the main /about page could use links I think.

That would be this right? https://github.com/rust-lang/docs.rs/blob/master/templates/core/about/index.html

Yes, that's the right file.

@jyn514 My bad, i was using tabs. Fixed it now :)

Looks great, thanks!


Add solution to the problem Squares of a Sorted Array

Create the folder Squares of a Sorted Array in Contest Problems and add solution.cpp in this folder

@itish-agarwal Please add relevant comments


Move interactive API examples to openfl-contrib

As we deprecate the interactive API by a more generalized form with the workflow API, we
decided to keep the examples in this repo.

Thanks, @vrancurel for moving the Interactive API examples out of OpenFL!
@kta-intel, please note this is just a suggested temporary situation for OpenFL 1.7 where the Interactive API is deprecated, but not removed. If we delete it in 1.8, we can also remove all Interactive API examples from here too.
PS: in the meantime, a selection of these examples can be migrated to Workflow API in 1.7

Thanks @vrancurel and @teoparvanov
Couple questions/comments:

have these examples been tested and found to at least be functional?
is there a reason why we have decided not to remove them outright from v1.7? Considering that they are archived in previous versions (i.e. openfl/tree/v1.6) it might be safe to just remove them or move them to a subfolder labeled deprecated rather than move them here

Hi @kta-intel, as you can see in https://github.com/securefederatedai/openfl/pull/1125, the suggestion is to remove those example from the OpenFL repo. Now, the question is whether to archive them or "store" them temporarily in openfl-contrib. In any case, I don't think it's a good investment to spend time fixing them. The only reason to keep them around for a bit is if someone would like to experiment with Director/Envoy while the FederatedRuntime for Workflow API is still in development,

@vrancurel the suggestion is to close this PR, as per our offline discussion with @kta-intel on the plan for deprecating Interactive API.

Decision to keep the examples into the main repo under a "deprecated" folder, so closing this PR without merging.


[Doc] Better to add a note on the requirement of having an existing project to register OAuth 2.0 Application in Google

A user should either have an existing project to select or create a new one in order to proceed with registering an OAuth 2.0 Application in Google. Better to mention that under 2nd step in [1]
https://docs.wso2.com/display/IS540/Configuring+Google

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


Lost config after opening Atom today

Today I launched Atom and it started with dark theme with hello greeting (I had light scheme). I inspected config and it was completely blank.
Version 1.18.0 x64

The same here

Thanks for the report @alexeypetrushin - in the future, it would be super helpful if you can completely fill out the issue template since it provides a lot of baseline information and lets you add  additional information that might help us reproduce the problem.

Is it reproducible e.g. if you change settings now and restart Atom, are the settings lost?
Please share the output of atom -v
What operating system are you running?
Was Atom updated to 1.18.0 today or was it already updated?
Did you just start Atom or was Atom restarting because of package updates?
Please share which community packages you have installed with apm ls --installed

/cc this recent report of settings getting lost (though it was specifically after a package upgrade) https://github.com/atom/atom/issues/14909

@pyromaniac feel free to share the same information - if your case sounds more like https://github.com/atom/atom/issues/14909, feel free to subscribe to that issue.

not reproducible
Atom    : 1.18.0
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0

Mac OS 10.12.4
Have no idea when it updates, I haven't updated it manually
I restarted it
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

Thanks for confirming @alexeypetrushin - is it just your config.cson file that's now empty or are other files also empty (e.g. keymaps, snippets, init script, stylesheet)?

I checked only config.cson - it was empty and stylesheet - it was intact

Happened to me too today. Atom was acting a bit slow, which it sometimes does at my old computer. Restarting Atom usually helps, so I did just that and my settings from config.cson were gone.
I am running Atom 1.18 on macOS Sierra.
  Once was in the middle of a session.
Atom    : 1.18.0
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0
macOS Sierra 10.12.5
├──<EMAIL_ADDRESS>├── advanced-open-file
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>though not all packages are enabled.
1.18 was installed some time ago.  One of my packages might have been recently installed but I don't remember which.  When it happened today I was in the middle of editing a file.

Packages I have in common with @runartrollet:
├──<EMAIL_ADDRESS>(disabled for me)
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>None seem to have been updated in the last few days.

We brought up this issue with the team and it seems like it'll be tough to track down the problem without steps to reproduce (which might not be easy to come by for this particular issue).  And between this issue and https://github.com/atom/atom/issues/14909, it doesn't seem like there's a common community package across reports.
There was one followup question that was mentioned but there was agreement that we should go ahead and close this as a duplicate of https://github.com/atom/atom/issues/14909 (which I didn't initially tag as a duplicate since it seemed like the report here didn't involve updating packages).
I'll go ahead and copy over comments with packages lists to https://github.com/atom/atom/issues/14909.


changeRONoLength_Invoice

Codecov Report

Merging #17 (6834f0a) into dev (f8ea648) will increase coverage by 83.22%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##              dev      #17       +/-   ##
===========================================
+ Coverage    9.51%   92.73%   +83.22%
===========================================
  Files        1053      809      -244
  Lines      767483    78724   -688759
  Branches     4449     4440        -9
===========================================
  Hits        73004    73004
+ Misses     693820     5061   -688759
  Partials      659      659

Impacted Files
Coverage Δ

...rmentShippingInvoiceItemEntityTypeConfiguration.cs
100.00% <100.00%> (ø)

...grations/PackingInventoryDbContextModelSnapshot.cs

...ucture/Migrations/20201007194100_Adding-DateOut.cs

...0200814085817_AddPackingDataInMovement.Designer.cs

...rAuthorizedName_GarmentShippingInvoice.Designer.cs

...ment-Local-Sales-Note-And-Cover-Letter.Designer.cs

...20220114074123_Add_Field_IsShipping_PackingList.cs

...ddField_Remarks_GarmentShippingPackingListItems.cs

...0520073944_Add-Column-ReceiptDate-Shipping-Note.cs

...stItemId_GarmentInvoicePackingListItem.Designer.cs

... and 235 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Rebuild PLT when beams no longer exist

Resolves #891.

At some point I will investigate changing dialyzer itself so it does not checking for the existence of files when removing files from the PLT. This can provide us with a significant speed boost in this situation.

+1

Thanks!


Make the voting proof QR Code an url so that the user can verify his vote more easily

Today, to verify your vote, you have to go to the ballot box page and upload your voting proof, a QR code that hides a JWT. It would be neat if the QR code would be a url with the JWT already appended to it so that, by scanning the QR code, the user would automatically come to a page that verifies its vote. This page would be different than the ballot box page so that one could verify his vote even if the voting process is not over yet.

This page would be different than the ballot box page so that one could verify his vote even if the voting process is not over yet.

Please create a different issue for that.

The proof of vote is a JWT. It is signed but not encrypted. It is so on purpose so that the user can check the very content of the proof of vote if needed : the user can actually check that the content of the proof of vote matches with the vote he just made.
But using an URL will encourage people to use a QR code app to scan it. And those apps might be logging what the user scans: they could store/log the proof of vote and jeopardize the user's privacy.
 More than simply not supporting it, maybe we should discourage it with a warning.


Mercury organization account on GitHub?

Would this be worth setting up? The organization account could hold other bits and pieces related to mercury. i.e. Maybe a separate repo for docs/website.

https://github.com/mercuryjs

It exists but is empty

I also created https://github.com/unidirectional

Should the mercury repo be moved there? It'd be a better container for all the mercury related repos.
Maybe mercury examples could be a repo of it's own for one?

if we have some beefier examples that are better suited to having their own package.json, then yeah I would say move them into their own repo under the org

Is keeping examples in main project repo a common thing though? Seems a bit strange to me. It's dead code when it gets installed with every mercury install and at 220kb it's the second largest dir after node_modules. Also 'examples' are not as essential as core functionality in monitoring contributions/issues. A mercury-examples repo could be open to more contributors than mercury itself and having issues separated would also be of use dividing the work and 'teams' of people.

Mercury is already very liberal with contributions

at this point, im indifferent

I like the idea of using the unidirectional org :)

In fact it would be great to see @colingourlay's https://github.com/colingourlay/campjs-mercury-presentation head there as "intro-to-mercury" and be published at http://unidirectional.github.io/intro-to-mercury

that's a nice presentation.

@DamonOehlman I made you an admin of unidirectional; feel free to move code :D

Thanks @Raynos - I in turn have invited Colin as he's doing some awesome work in this space and would be in the best position to move his presentation over.  I'll look at moving some of my utility observ- things over also :)

Also see https://github.com/unidirectional/unidirectional.github.io/issues/1
I started a conversation but never moved stuff.
I was only going to move a module once I "fixed documentation and testing debt"; I never fixed the code debt ._.

I support the move! I think it will help with maintenance across repos if they can be serviced by more members with contrib auth.

@kumavis Yes exactly. It will also contribute to discoverability of mercury related things. i.e. mercury-router could be moved to the mercuryjs account. observ-* could be moved to the unidirectional account etc. Raynos/mercury could stay where it is, but at least if all other things are spread across mercuryjs/unidirectional account you don't have to 'filter' Raynos' other projects (as good as they might be) while looking for relevant mercury information.

when you move a repo, issues + PRs migrate as well, yes?

@kumavis yep.

can i join the party at unidirectional ? :smile_cat:

i'd like to be included, too. :smile:

Will invite.

informal vote -- mercury repo should live in:

Raynos/
unidirectional/
mercuryjs/

:ballot_box_with_check:  I vote unidirectional/, should be a nice box of goodies to discover, and we'll likely be more liberal with adding repos whereas with mercuryjs/ we might think, "ah, well, this isnt really normal mercury usecase exactly, so doesnt fit".

Mercury repository should be the last one to move.
Honestly I think it should stay under raynos. At the end of the day it's my personal mix and match of unidirectional modules. I strongly encourage everyone to fork and personalize
The only issue I see is how do we decentralize the documentation.

makes sense to me

if we want to move examples out of the repo, we can put them in mercuryjs/
otherwise i think we can close this issue.

This could've been left open a little longer?
With documentation I think it makes sense to make it a part of the Mercury website, whatever will be used to make that, GitHub pages probably being the easiest thing for everyone. @Raynos

we can re-open this.
This issue is not done until we move code out of Raynos into other organizations

I agree with @Raynos, that the mercuryjs repo is fine to stay under Raynos/mercuryjs, it's easy enough to find a single root repo, and easy enough to point to it, but the "branches" (modules) of the project should be more neatly organised under an account. Also having  it there is a nice way for @Raynos to get the credit for it among his other work.

I did not read all comments and apologize in advance if someone mentioned this...
Please add a Mercury logo. My presentation tomorrow would be improved if Mercury had a logo to see while presenting it alongside React and Angular.

@iambumblehead a few logos were suggested in #98

@Raynos any progress with this? Really want to organise an effort to move to virtual-dom 2.0... update docs etc.

Maybe existing contributors with admin privileges can put their hands up if they have the time to help @Raynos with this? We could divvy up the tasks and shepherd new people into the project then.

I would love to help with this.


Page Location

Why is this page nested under Transparent Data Encryption (TDE)? I would think it would be more appropriate moving up 1 level and being nested under Security.

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

ID: 9ca439af-510f-303c-e72c-424b78ac0ac7
Version Independent ID: 616d8cf5-1631-1179-0c59-f8b4f6c1f7bb
Content: Data Discovery & Classification - Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse
Content Source: articles/azure-sql/database/data-discovery-and-classification-overview.md
Service: sql-database
Sub-service: security
GitHub Login: @DavidTrigano
Microsoft Alias: datrigan

@NDSoul, Thanks for the feedback! We are taking a look into this and will get back to you soon.

@NDSoul We are checking regarding this with our author and we will get back to you.
@DavidTrigano Please check the location of the page and how to edit the same.

Thanks @NDSoul! We are fixing the table of content. We appreciate you catching this, and letting us know!


Latest update breaks compass-mixins

I'm using the compass mixins for libsass
https://github.com/Igosuki/compass-mixins
since I cannot get compass working with Brackets Sass on MacOS due to a timout bug.
Since the last update, these compass mixins are not working anymore, since the compact() will not resolve anymore. This should be related to this issue:
https://github.com/Igosuki/compass-mixins/issues/34
Not really a bug in Brackets Sass, but I would like to make you aware of this side-effect. I'll try to implement the workaround mentioned in the issue above, but I would love to have a working Ruby compass on MacOS instead, i.e. a fix for issue #135.

@derwaldgeist can you please try today's update 2.0.3 and let me know if you still have errors?

HI Jason,
first of all: thanks for your quick reply.
Tested the new version, here are the results:

Issue #140: Still there, compact() is rendered in plain text to css file
Issue #135: The timout still occurs if I select ruby as the compiler on MacOS.

So unfortunately, both bugs are still there. But nevertheless, thanks for caring.

Update: #123 is fixed now, I don't get the @at-root errors in Bootstrap anymore. Yay, at least this annoying problem is gone and I can remove my workaround :-)


Alertmanager fails to create slack posts, if channel name contains spaces

What did you do?
Configured channel in slack_configs with name Team ABC:
receivers:
  - name: team-abc
    slack_configs:
      - api_url: <webhook to Mattermost>
        channel: 'Team ABC'

What did you expect to see?
message posted in Mattermost channel "Team ABC".
What did you see instead? Under which circumstances?
No message in Mattermost, instead errors in Alertmanager logs:
level=error ts=2018-07-08T21:25:12.077586206Z caller=dispatch.go:279 component=dispatcher msg="Notify for alerts failed" num_alerts=1 err="cancelling notify retry for \"slack\" due to unrecoverable error: unexpected status code 404"

Environment
(using docker image prom/alertmanager:v0.15.0, running in OpenShift)

System information:
$ uname -srm
Linux 3.10.0-693.21.1.el7.x86_64 x86_64

Alertmanager version:
$ alertmanager --version
alertmanager, version 0.15.0 (branch: HEAD, revision: 462c969d85cf1a473587754d55e4a3c4a2abc63c)
  build user:       root@bec9939eb862
  build date:       20180622-11:58:41
  go version:       go1.10.3

Thanks for reporting this!

+1.  Confirmed this is the case.
As a workaround, you can replace whitespaces with hyphens -.

thanks @ealexhaywood, using hyphen as workaround.

Yep, there's a wider issue that almost none of the notifier URL parameters (except for webhook) are validated/escaped properly. That should be a global fix IMO.

Thanks for fixing this so fast!


Inquiry: Customizing Planner Request

Hello, thank you for releasing this calendar! I would like to include a log template to each day as well as a workout log for every other day of the week. Do you know how I can do this in .tex or other methods?

Hi @jackkidane!
Within the current setup (and the one to come), you'd need to modify the Go code, apart from adding new tex files.
This would be a new "section" rather than modifying the existing one, so you'll need to familiarize the code with the "Workout log" concept


Does it not support Thai language?

I want to print to be Thai characters but it doesn't support.

This problem is solved by setting the encoding to Cp874 and codepage to 255.
Example Code
BluetoothEscposPrinter.printText("สวัสดีครับท่านผู้ชม", {encoding: 'Cp874',codepage: 255});

@petchpool  How you found this encoding?
I want to have support for English

Hi,
Any solution for Hindi Langauge for encoding and pagecode?


docs: update style for code in dark and light mode

Description
Jira ticket: https://dialpad.atlassian.net/browse/DLT-1196
We are changing the approach on how to show code in the documentation, before it was "inverted" comparing to the system theme, now it's using the same one.
In dark mode:

Before
Now

In light mode:

Before
Now

We agreed on the new background corresponding to the token var(--dt-color-surface-moderate). But I also had to change the colors for everything inside. I left the same colors that were used before but changed the variable (example: from blue-300 to blue-400), so that when inspecting the different elements the contrast ratio is > 4.5

Note to reviewers: Some of the classes are not that easy to check, to please let me know if I missed something
Pull Request Checklist

[x] Ask the contributors if a similar effort is already in process or has been solved.
[x] Review the contribution guidelines.
[x] Use staging as your pull request's base branch. (All PRs using production as its base branch will be declined).
[x] Ensure all gulp scripts successfully compile.
[ ] Update, remove, or extend all affected documentation.
[x] Ensure no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).

Obligatory GIF (super important!)

👀 I like.

Added @fede-dp as reviewer.


fix cryosleepers deleting the station

About the PR

apparently i fat-fingered a variable name so if the game failed to insert a player into a cryosleep pod upon spawning, they wouldn't delete the temporary body, but would instead delete the entire station.
also re-suffixed a prototype to better clarify what it does.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

no cl no fun

return it for april fools

Do we have a screenshot or replay of this occuring lol


Add lifecycle badge

@vreynolds you'll have to get someone else to approve apparently, since I don't have merge or approval access!


RFE: Support interactive PAM authentication, for two-factor auth

Hello!
I would like to request that xrdp's PAM authentication be modified, so that calls to the PAM conversation function (verify_pam_conv3) cause messages (and prompts) to be displayed to the user over the graphic connection, before the connection to the window manager (Xvnc, xorgxrdp, Xorg, etc.) happens.
Use Cases
Here are a pair of use cases:

Our information security group requires that all interactive logins use two-step authentication.  Duo has a PAM module (pam_duo), which takes the username (via the PAM_USER item) and uses multiple PAM conversations to ask the user which two-step device to use, what their current 6-digit code is, etc.

I would like to use pam_krb51.  When it authenticates a user, if the user's Kerberos password has expired, it will force a password-change during the login process.  That password-change is performed using a PAM conversation.

In both of those cases, the connection would fail, because the way conversations are handled right now assumes that the first conversation message is for a username, and the second message is for a password.
In addition, even the way conversations are handled today causes weird behavior:
I use pam_duo today, with "autopush" turned on.  This setting automatically pushes a two-step request to the user's device, or (if the user doesn't have a smart phone) makes a phone call to the user.  This works with xrdp, but even in this case pam_duo still uses conversation messages to send messages like "Calling you now…" and "Success! Logging you in".  Since xrdp doesn't expect those, it causes pam_duo to log "Conversation failed" warnings.
That is the rationale behind my RFE.
Prerequisites
Before this could be implemented, I think two other enhancements would be needed:

First, #735 has to be implemented.  With #735 implemented, basic PAM modules (like pam_unix) will already have the username and password available to them; so the conversation function should only be needed when more information is required (like with two-step), or if a password is wrong.

Second, #392 should also be implemented.  This is useful because I know at least one two-step PAM module (Duo's PAM module) which will use the client IP to see if two-step authentication is even necessary.

Once those RFE's could be implemented, I think this could be worked on, but I'm not exactly sure how!
Ideas
The problem is, there would have to be some way for sesman to communicate with the xrdp component that is responsible for graphics at the very start of the session (I'm talking about the component that asks users for username, password, and session type).  There would be three types of communication from sesman to the graphics component:

Send message without waiting for reply.  One parameter: The text of the message.
Send message and get a reply.  Two parameters: The text of the message, and weather the reply prompt should be masked.
Conversation over.  No parameters.

The Graphics Component
I think the graphic component would do something like this:

When the first "Send message…" communication is received, draw a window.  The window would have two text boxes, one above the other.  The top text box would be 80 columns wide, 24 rows tall, and read-only.  The bottom text box (the "input box") would be 1 row tall, 80 columns wide, and would start disabled (greyed out).
Any time a "Send message…" communication comes in, the received text would be appended to the bottom of the big text box, along with a newline.
When a "Send message without waiting for reply" message comes in, the input box would not be touched.  Once the big text box is updated, the communication is done.
When a "Send message and get a reply" communication comes in, the input box would be enabled, and focused on (so the cursor starts blinking).  If the reply needs to be masked, then all input would be replaced with * (or •) characters.  Once a Return/Enter is received, the input box would be disabled again, and its contents cleared.  The entered text would be sent back to sesman.
When the "Conversation over" message is received, if no other messages came in, then do nothing.  If other messages were received, then clean up the window and return.

Sesman authentication side
On the sesman side, in auth_userpass, I think the behavior would be:

At the start, set auth_info->pamc.appdata_ptr to somehow reference the communications channel to the graphics component.  Once #735 is implemented, I don't think the auth_info struct would be needed anymore.
Once pam_authenticate returns, send the "Conversation over" communication to the graphics component.

Finally, verify_pam_conv would have to be changed:

If a message has the PAM_PROMPT_ECHO_ON or PAM_PROMPT_ECHO_OFF type, send a "Send message and get a reply" communication to the graphics component, wait for a reply from the graphics component, and put the reply into the corresponding pam_response.
If a message has the PAM_ERROR_MSG or PAM_TEXT_INFO type, send a "Send message without waiting for reply" communication to the graphics component.  The corresponding pam_response would be empty.

Closing
I know virtually nothing about the innards of xrdp (which really shows since I can't really talk about the graphics component).    I don't know how else I can help, but if you have any questions for me, I'll do my best!

Hallo.. can you please help me to get xrdp authentication with google-authenticator in step by step method.

Actually I am looking for this project to get it done by you asap so that xrdp can move further with respect to security level.

Hallo,
I am getting Blue screen after login. Please help me. I am attaching the logs.
xrdp.log
xrdp-sesman.log
Please help me to get out from this issue. Also please help me to integrate google-authenticate with XRDP. Kindly confirm whether its possible or not. If not will look for some other applications.

@brijeshjaiswal DON'T HIJACK OTHER'S ISSUE.

See also #1961 which covers this.


FOLS3CL-26: minio 8.5.7 fixing security vulnerabilities

https://issues.folio.org/browse/FOLS3CL-26
Upgrade minio from 8.5.4 to 8.5.7.
The minio upgrade indirectly upgrades these vulnerable dependencies:
snappy-java from <IP_ADDRESS> to <IP_ADDRESS> fixing https://nvd.nist.gov/vuln/detail/CVE-2023-43642 Allocation of Resources Without Limits or Throttling
okio/okio-jvm from 3.2.0 to 3.6.0 fixing https://nvd.nist.gov/vuln/detail/CVE-2023-3635 Denial of Service (DoS)
commons-compress from 1.23.0 to 1.24.0 fixing https://nvd.nist.gov/vuln/detail/CVE-2023-42503 Improper Input Validation
from bcprov-jdk15on 1.70 to bcprov-jdk18on 1.76 fixing https://nvd.nist.gov/vuln/detail/CVE-2023-33202 Uncontrolled Resource Consumption ('Resource Exhaustion') and https://nvd.nist.gov/vuln/detail/CVE-2023-33201 Information Exposure
kotlin-stdlib from 1.6.20 to 1.8.21 fixing https://nvd.nist.gov/vuln/detail/CVE-2020-29582 Information Exposure

hi @julianladisch looks like there are enough approvals and you can proceed with merge


execute clipboard.writeText, if isSecureContext

in tests - setting - Definition
if you click code when insecure network (http),  the screen turn white with error in console
because of trying to write in clipboard in insecure network (http)
TypeError: Cannot read properties of undefined (reading 'writeText')
    at useCopyToClipboard.ts:22:27
    at eu (react-dom.production.min.js:242:332)
    at wl (react-dom.production.min.js:285:111)
    at react-dom.production.min.js:282:358
    at Ol (react-dom.production.min.js:280:398)
    at cl (react-dom.production.min.js:272:439)
    at Ho (react-dom.production.min.js:127:105)
    at react-dom.production.min.js:266:269

react-dom.production.min.js:127 Uncaught TypeError: Cannot read properties of undefined (reading 'writeText')
    at useCopyToClipboard.ts:22:27
    at eu (react-dom.production.min.js:242:332)
    at wl (react-dom.production.min.js:285:111)
    at react-dom.production.min.js:282:358
    at Ol (react-dom.production.min.js:280:398)
    at cl (react-dom.production.min.js:272:439)
    at Ho (react-dom.production.min.js:127:105)
    at react-dom.production.min.js:266:269

Changes & Fixes

check the network is secure(https) or insecure network (http), and skip if insecure

How to test it

if you click code when insecure network (http),  the screen not turn to white

Hello, @chooco13! First of all, thank you for contribution, we really appreciate this!
It is good that you found this bug, but the solution doesn't really solves the problem. When accessing by insecure network, user still won't be able to copy needed content.
I can see a better solution to this issue. We can remove the Copy button at all for insecure network and replace it with Download button. In this case Yaml file will be generated and downloaded on click.
Will it work for you? What do you think about this?

Thank you for your answer @pavloburchak
That seems like a good way. : )
If there are users who need to copy, they can try copying by dragging.

Alright!
So I am going to close this PR and make this improvement in next release.
Here is an issue https://github.com/kubeshop/testkube/issues/3022


Invalid download links

It would seem that some download links come invalid.
When accessing the URL it turns to a Bandcamp page saying
"Sorry, that download link isn't valid.
Please alert the person that sent you the link. If it was the artist, use the "Contact artist" link on the artist's page, or look for the music there."
Maybe related but the script keeps refreshing and stops after exhibiting this error:
Traceback (most recent call last):
  File "/usr/local/bin/bandcampsync-service", line 61, in <module>
    do_sync(cookies_path, cookies, dir_path, media_format_env)
  File "/usr/local/lib/python3.11/dist-packages/bandcampsync/__init__.py", line 30, in do_sync
    download_url = bandcamp.load_download_url(purchase, encoding=media_format)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/bandcampsync/bandcamp.py", line 210, in load_download_url
    band_name = item['band_name']
                ^^^^
NameError: name 'item' is not defined. Did you mean: 'iter'?

Thanks, the NameError should be fixed in the latest release. As for the invalid links that sounds like an authentication or cookie problem, are you checking the links in a browser that's logged into Bandcamp?

I understand that the latest release might not be the one in the docker image? That is what I am using

The docker image is/was rebuilding as of 3 minutes ago. Give it 15 mins and pull :latest down again.

Uploaded and getting new error:
  File "/usr/local/bin/bandcampsync-service", line 67, in <module>
    do_sync(cookies_path, cookies, dir_path, media_format_env)
  File "/usr/local/lib/python3.11/dist-packages/bandcampsync/__init__.py", line 59, in do_sync
    copy_file(temp_file_path, file_dest)
  File "/usr/local/lib/python3.11/dist-packages/bandcampsync/download.py", line 90, in copy_file
    return shutil.copyfile(src, dst)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/shutil.py", line 258, in copyfile
    with open(dst, 'wb') as fdst:

FileNotFoundError: [Errno 2] No such file or directory: '/downloads/Mechina/Blessings Upon The Field Where Blades Will Flood/blessings-upon-the-field-where-blades-will-flood.flac'

Interesting, what's in the logs above that error?

I have redacted a couple things because I am not sure what is safe to share, so tell me if you need any info
2023-09-19 03:22:31,950 sync [INFO] New media item, downloading: Mechina / Blessings Upon The Field Where Blades Will Flood (id:[some_id}) in "flac" 2023-09-19 03:22:32,464 sync [INFO] Downloading item Mechina / Blessings Upon The Field Where Blades Will Flood (id:2857123865) from https://popplers5.bandcamp.com/download/track?enc=flac&id=[some_value]&sig=[some_value]&sitem_id=[some_value] to /var/tmp/tmp_jxanp7e
The file is successfully downloaded and this follows:
2023-09-19 03:22:39,548 sync [INFO] Downloaded file is not a single track: /var/tmp/tmp_jxanp7e 2023-09-19 03:22:39,548 sync [INFO] Copying single file: "/var/tmp/tmp_jxanp7e" to "/downloads/Mechina/Blessings Upon The Field Where Blades Will Flood/blessings-upon-the-field-where-blades-will-flood.flac"
And then the python error.

I had missed a mkdir out after a refactor. Latest image in 10 mins or so should have that fixed.

Got it! Another error:
`
2023-09-19 03:37:41,664 sync [INFO] Decompressing downloaded zip /var/tmp/tmpwj4ox5qq to /var/tmp/tmpgm5p0kqg
2023-09-19 03:37:44,349 sync [INFO] Moving extracted file: "/var/tmp/tmpgm5p0kqg/STÖMB- - Massive Disturbed Meta Art - 07 An Absence of Sun.flac" to "/downloads/[STÖMB]/Massive Disturbed Meta Art/STÖMB- - Massive Disturbed Meta Art - 07 An Absence of Sun.flac"
Traceback (most recent call last):
File "/usr/lib/python3.11/shutil.py", line 825, in move
os.rename(src, real_dst)
FileNotFoundError: [Errno 2] No such file or directory: '/var/tmp/tmpgm5p0kqg/STÖMB- - Massive Disturbed Meta Art - 07 An Absence of Sun.flac' -> '/downloads/[STÖMB]/Massive Disturbed Meta Art/STÖMB- - Massive Disturbed Meta Art - 07 An Absence of Sun.flac'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/bandcampsync-service", line 67, in
do_sync(cookies_path, cookies, dir_path, media_format_env)
File "/usr/local/lib/python3.11/dist-packages/bandcampsync/init.py", line 52, in do_sync
move_file(file_path, file_dest)
File "/usr/local/lib/python3.11/dist-packages/bandcampsync/download.py", line 85, in move_file
return shutil.move(src, dst)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/shutil.py", line 845, in move
copy_function(src, real_dst)
File "/usr/lib/python3.11/shutil.py", line 436, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/usr/lib/python3.11/shutil.py", line 258, in copyfile
with open(dst, 'wb') as fdst:
^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/downloads/[STÖMB]/Massive Disturbed Meta Art/STÖMB- - Massive Disturbed Meta Art - 07 An Absence of Sun.flac'
`

does the directory /downloads/[STÖMB]/ exist on disk? This may be an encoding normalisation issue with the [ Ö and ] on the filesystem.

I mkdir'd the `/downloads/[STÖMB]/' folder and the links that were previously working are now broken:
2023-09-19T02:44:25.030578689Z 2023-09-19 03:44:25,030 sync [ERROR] Download attempt returned an unexpected Content-Type (Invalid content type: text/html), skipping

Interestingly, another album is downloaded:
2023-09-19T02:46:03.940947520Z 2023-09-19 03:46:03,940 sync [INFO] Decompressing downloaded zip /var/tmp/tmpxup555bb to /var/tmp/tmpsx3eax1y
2023-09-19T02:46:04.149153011Z 2023-09-19 03:46:04,148 sync [INFO] Moving extracted file: "/var/tmp/tmpsx3eax1y/Plini - Impulse Voices (Remix EP) - 01 I'll Tell You Someday - Dayce Remix.flac" to "/downloads/Plini/Impulse Voices (Remix EP)/Plini - Impulse Voices (Remix EP) - 01 I'll Tell You Someday - Dayce Remix.flac"
2023-09-19T02:46:04.162711909Z Traceback (most recent call last):
2023-09-19T02:46:04.162894552Z   File "/usr/lib/python3.11/shutil.py", line 825, in move
2023-09-19T02:46:04.163959110Z     os.rename(src, real_dst)
2023-09-19T02:46:04.164652196Z FileNotFoundError: [Errno 2] No such file or directory: "/var/tmp/tmpsx3eax1y/Plini - Impulse Voices (Remix EP) - 01 I'll Tell You Someday - Dayce Remix.flac" -> "/downloads/Plini/Impulse Voices (Remix EP)/Plini - Impulse Voices (Remix EP) - 01 I'll Tell You Someday - Dayce Remix.flac"
2023-09-19T02:46:04.164693478Z
2023-09-19T02:46:04.164705902Z During handling of the above exception, another exception occurred:
2023-09-19T02:46:04.164708875Z
2023-09-19T02:46:04.164711436Z Traceback (most recent call last):
2023-09-19T02:46:04.164714028Z   File "/usr/local/bin/bandcampsync-service", line 67, in <module>
2023-09-19T02:46:04.164856261Z     do_sync(cookies_path, cookies, dir_path, media_format_env)
2023-09-19T02:46:04.164864838Z   File "/usr/local/lib/python3.11/dist-packages/bandcampsync/__init__.py", line 52, in do_sync
2023-09-19T02:46:04.164956220Z     move_file(file_path, file_dest)
2023-09-19T02:46:04.164960808Z   File "/usr/local/lib/python3.11/dist-packages/bandcampsync/download.py", line 85, in move_file
2023-09-19T02:46:04.165099601Z     return shutil.move(src, dst)
2023-09-19T02:46:04.165103365Z            ^^^^^^^^^^^^^^^^^^^^^
2023-09-19T02:46:04.165106133Z   File "/usr/lib/python3.11/shutil.py", line 845, in move
2023-09-19T02:46:04.165274331Z     copy_function(src, real_dst)
2023-09-19T02:46:04.165277832Z   File "/usr/lib/python3.11/shutil.py", line 436, in copy2
2023-09-19T02:46:04.165370851Z     copyfile(src, dst, follow_symlinks=follow_symlinks)
2023-09-19T02:46:04.165374325Z   File "/usr/lib/python3.11/shutil.py", line 258, in copyfile
2023-09-19T02:46:04.165432051Z     with open(dst, 'wb') as fdst:
2023-09-19T02:46:04.165435176Z          ^^^^^^^^^^^^^^^
2023-09-19T02:46:04.165490871Z FileNotFoundError: [Errno 2] No such file or directory: "/downloads/Plini/Impulse Voices (Remix EP)/Plini - Impulse Voices (Remix EP) - 01 I'll Tell You Someday - Dayce Remix.flac"

That "HTML returned" error is more that Bandcamp haven't prepared the download yet. Wait 30 mins and try again (see #1). And yes possibly another normalisation issue. I was hoping I could just let pathlib handle it but I may have to strip anything not a-zA-Z0-9 from directory and file names for now.

Ok I'll leave the script running through the night and see what happens.
As for the naming, I'll try to see if I can contribute

Thanks. For reference here is where the local directory path is created:
https://github.com/meeb/bandcampsync/blob/main/bandcampsync/media.py#L56

Small update: getting issues creating folders that don't have special characters in their names
2023-09-19T02:51:47.814422891Z FileNotFoundError: [Errno 2] No such file or directory: '/var/tmp/tmp8qfvqa6g/Plini - Handmade Cities - 05 Pastures.flac' -> '/downloads/Plini/Handmade Cities/Plini - Handmade Cities - 05 Pastures.flac'
2023-09-19T02:51:47.814433534Z
2023-09-19T02:51:47.814436867Z During handling of the above exception, another exception occurred:
2023-09-19T02:51:47.814439840Z
2023-09-19T02:51:47.814442606Z Traceback (most recent call last):
2023-09-19T02:51:47.814446216Z   File "/usr/local/bin/bandcampsync-service", line 67, in <module>
2023-09-19T02:51:47.814590370Z     do_sync(cookies_path, cookies, dir_path, media_format_env)
2023-09-19T02:51:47.814594931Z   File "/usr/local/lib/python3.11/dist-packages/bandcampsync/__init__.py", line 52, in do_sync
2023-09-19T02:51:47.814709062Z     move_file(file_path, file_dest)
2023-09-19T02:51:47.814713000Z   File "/usr/local/lib/python3.11/dist-packages/bandcampsync/download.py", line 85, in move_file
2023-09-19T02:51:47.814919243Z     return shutil.move(src, dst)
2023-09-19T02:51:47.814923291Z            ^^^^^^^^^^^^^^^^^^^^^
2023-09-19T02:51:47.814926130Z   File "/usr/lib/python3.11/shutil.py", line 845, in move
2023-09-19T02:51:47.815095917Z     copy_function(src, real_dst)
2023-09-19T02:51:47.815157518Z   File "/usr/lib/python3.11/shutil.py", line 436, in copy2
2023-09-19T02:51:47.815248839Z     copyfile(src, dst, follow_symlinks=follow_symlinks)
2023-09-19T02:51:47.815290973Z   File "/usr/lib/python3.11/shutil.py", line 258, in copyfile
2023-09-19T02:51:47.815390209Z     with open(dst, 'wb') as fdst:
2023-09-19T02:51:47.815393446Z          ^^^^^^^^^^^^^^^
2023-09-19T02:51:47.815396141Z FileNotFoundError: [Errno 2] No such file or directory: '/downloads/Plini/Handmade Cities/Plini - Handmade Cities - 05 Pastures.flac'

Weird, does the directory /downloads/Plini/Handmade Cities/ exist?

It does not. Not even the folder /downloads/Plini/Handmade Cities/

Give it 10 mins then try :latest (0.2.4).

I am using v0.3.0 and so far downloads are going smoothly. Since my collection is considerable, it will take some time. I will wait for errors and if I receive none I will close this.

How are you getting on?

I'll close this for now, feel free to re-open it if you need to.


i18n(zh-cn): Update astro-syntax.mdx

Description (required)
Update astro-syntax.mdx
Related issues & labels (optional)

#9240

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

zh-cn/reference/astro-syntax.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


✨ [Feature] Add a new NoContent() method for Response

Before feedback (在反馈之前)

[X] There are no features that I want to submit in Issues (当前 Issues 中没有我将要提交的新功能)

Describe Feature (描述功能)
Based on this discussion: https://github.com/goravel/goravel/discussions/274#discussioncomment-7190223

This is from actual Laravel if it gives you any ideas:
public function noContent($status = 204, array $headers = [])
{
    return $this->make('', $status, $headers);
}


fix(versions): update Activiti/example-cloud-connector versions into master

UpdateBot pushed helm dependency: common to: 1.1.17

UpdateBot commands:
updatebot push-version --kind helm common 1.1.17


Tools session

@seabbs is there a working epinowcast example starting from a line list that I could link here instead?

@seabbs is there a working epinowcast example starting from a line list that I could link here instead?

Aside from the vignette you already link out to?

@seabbs is there a working epinowcast example starting from a line list that I could link here instead?

Aside from the vignette you already link out to?

I might be looking in the wrong place but I thought that uses data aggregated by counts.

Checking the ref'd vignette goes from counts -> linelist and back which is okay but could be better  https://github.com/epinowcast/epinowcast/blob/886b45cb4bc5f338fa53d22e83d25335c55b1a4a/vignettes/single-timeseries-rt-estimation.Rmd#L147

If I get a chance I will update the nowcasting example for epinowcast.

I think that would be nice, especially as it could also highlight missing data capabilities.


Feature/panel seo ui updates

This pull request addresses #8479
It requires a companion pull request in bedrock.
All details are included in the issue discussion

Sorry I had tried to update my fork before working and now my pull request included thousands of files. I'm closing this and doing it again


SyntaxError trying run file

Hi ! I cloned your repo and tried run python jupyter_translate.py playground.ipynb --languaje 'en' and I got the following error
File "/home/rvcristiand/Documents/jupyter-translate/jupyter_translate.py", line 23  list_to_gen = lambda: [(yield x) for x in replacement_list]                                    ^  SyntaxError: 'yield' inside list comprehension

I have the same problem.

Same problem, also running cells on playground.ipynb in colab does not work.
AttributeError: 'NoneType' object has no attribute 'group'

Same problem, also running cells on playground.ipynb in colab does not work.
AttributeError: 'NoneType' object has no attribute 'group'

The SyntaxError can be corrected by simply removing the yield statement, so line 23 becomes
        list_to_gen = lambda: [(yield x) for x in replacement_list]

The AttributeError is a problem with googletrans, not with this script.  You can correct it by installing an alpha version of googletrans.
We just made a PullRequest to fix both of these.


Cannot dismiss an overlay using Overlay and useModalOverlay with escape key.

🐛 Bug Report
If following the documented example for useModalOverlay, escape key dismiss only works if the child element of the Modal uses useDialog.
🤔 Expected Behavior
I should be able to dismiss a modal overlay using the escape key if isDismissable is true, and isKeyboardDismissDisabled is false.
😯 Current Behavior
Escape key dismiss works if the child element of the overlay (Modal) uses useDialog.  You should have a dialog as the child. Anything else would have a number of accessibility issues. The first sentence of the docs for useModalOverlay talks about how these hooks help cover the issues present with native dialogs.

Thank you for the quick response @snowystinger. Understood 🙃


Docs: Port code examples to C# (M, N, O, P, Q, R)

Includes:

MarginContainer
NavigationPolygon
Node
NodePath
OS
PackedByteArray
PackedScene
PacketPeerUDP
PCKPacker
Performance
PhysicsShapeQueryParameters2D
PhysicsShapeQueryParameters3D
PrimitiveMesh
ProjectSettings

applied changes of code review

applied changes from code review

Thanks!