Backport PyPy 3.9 support for pyo3 0.15

Fixes #2260

Looks like we need to raise MSRV to 1.48?

Looks like we need to raise MSRV to 1.48?

I think that would not be possible  in the context of #2260 as this is about supporting old platforms like RHEL 6 using rustc 1.41?

I tried to bless the ui tests on macOS, but it still failed on CI.

Hmm, getting CI back to green is not easy.

Thanks for working on this! I think you probably need to include the switch from tox to nox (IIRC this fixes the windows link errors for some reason).

Thanks for working on this! I think you probably need to include the switch from tox to nox (IIRC this fixes the windows link errors for some reason).

Tried that and got more errors, lots of things need cleanup and fixing.

I can only work on this very slowly due to the Covid lockdown situation in Shanghai China, so feel free to push to my branch or take over completely if anyone is interested in pushing this forward.

All green 🎉
Thanks @messense for your work :) I think this is done now?

🎉 🎉 🎉
Would it be helpful for us to do a CI run on pyca/cryptography with this branch to verify everything looks good?

I was just about to ask 😄
Yes, that's a good idea 👍

Ok testing PR up at https://github.com/pyca/cryptography/pull/7062

Looks like there's an issue with pypy3 7.3.9, several tests are failing with SystemError: Function returned a NULL result without setting an exception

It looks like these tests go through the datetime api 😬 Your CI uses PyPy 7.3.9, try pinning to pypy-3.7-v7.3.7
This may be a case of https://github.com/PyO3/pyo3/pull/2217

I don't think we use the pyo3/C-API for handling datetimes directly, AFAIK everywhere we process datetimes we do it like this: https://github.com/pyca/cryptography/blob/main/src/rust/src/x509/common.rs#L663

Uh, strange. I don't think this PR introduces any difference between PyPy 3.7 and PyPy 3.8 ..... 🤔
@davidhewitt, any ideas? 🤷

Confirmed that the tests pass on pypy3.7 7.3.7, but I'd like to understand what the regression on 7.3.9 is :-/

Alternatively... computers cursed. CI's now passing just fine on 7.3.7

Confirmed that the tests pass on pypy3.7 7.3.7, but I'd like to understand what the regression on 7.3.9 is :-/

CC @mattip

Thanks! @mejrs

I've pushed a commit to support PyPy 3.7 v7.3.8+ instead of pinning to v7.3.7, because this was agreed as the correct solution to the binary compatibility issues in https://foss.heptapod.net/pypy/pypy/-/issues/3688#note_181074

I'll continue to bump the pyca/cryptography side for any changes here -- it's still green (I'm not going to leave more status updates unless that changes :-))

I think this is now good to go! Unless I hear otherwise, I'll put this live some time later today.


TfLite Multithreaded_Conv op don't works as expect

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Linux Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Python version:
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

Describe the problem
I'm trying to compile Tensorflow Lite to WASM for machine learning on Web. But I found the TfLite MultiThread-Conv have some bugs. And my Conv2D test case can't pass when use the WASM version of this op.
See the code in TFLite multithreaded_conv.h:
Since (Const)EigenMatrix is defined as Eigen::RowMajor Layout, should the code in here be
dim_pair[0] = Eigen::IndexPair<Eigen::DenseIndex>(1, 1);
EigenMatrix output(output_data, input_batches * conv_width, filter_count);
ConstEigenMatrix input(input_data, input_batches * conv_width, input_depth);
ConstEigenMatrix filter(filter_data, filter_count, input_depth);

rather than
dim_pair[0] = Eigen::IndexPair<Eigen::DenseIndex>(1, 0);
EigenMatrix output(output_data, input_batches * conv_width, filter_count);
ConstEigenMatrix input(input_data, input_batches * conv_width, input_depth);
ConstEigenMatrix filter(filter_data, input_depth, filter_count);

Same issues are in https://github.com/tensorflow/tensorflow/blob/55e854864fded7318c49daae0b634c5860f3e419/tensorflow/lite/kernels/internal/optimized/multithreaded_conv.h#L115 and https://github.com/tensorflow/tensorflow/blob/55e854864fded7318c49daae0b634c5860f3e419/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h#L1482.
And after correcting all the place, all my test case passed.
Is this a TFLite ops bug?? Or just my test case is not compatible with this operation?
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

@Wenzhao-Xiang  It looks like you haven't used a template to create this issue. Please resubmit your issue using a template from here. We ask users to use the template because it reduces overall time to resolve a new issue by avoiding extra communication to get to the root of the issue. We will close this issue in lieu of the new one you will create from the template. Thank you for your cooperation.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Update workflow

Updates and enhancements to workflow

Thank you so much! It was interesting to read through what you did. Seeing these fixes helps me better understand, though it's still sorcery to me 😆.
I noticed you updated the version to 2.0.1. Shouldn't it say as 2.0.0 since no changes to the actual plugin were made? Regardless, it's a minor semantic and I'm sure you know what you're doing, so I'll trust you on it.
Merging! And adding credit to you in the README as well :)

So the way this workflow works is that it will only publish a release when the version in your main repo is different to the version released. So if we don't change it to 2.0.1 it won't publish a new release because you already have 2.0.0.

So the way this workflow works is that it will only publish a release when the version in your main repo is different to the version released. So if we don't change it to 2.0.1 it won't publish a new release because you already have 2.0.0.

Makes sense, but why is a new release needed? Again, if no plugin changes have been made, why can't the plugin's release stay the same?

Mainly because your current releases are manually uploaded, this does not guarantee to the user that what they have downloaded from the repo is what the source code represents. If we use workflow, the release is built directly from the source code here rather than compiled locally and uploaded manually by plugin dev.


setting default parameters for backwards compatibility with configurable odometry_controller

only merge together with https://github.com/ipa320/cob_control/pull/90
as the hardcoded default values of the odometry_controller have been changed in https://github.com/ipa320/cob_control/pull/90, this PR sets the according frames again in the yaml for backwards compatibility (until nav packages have been converted to new defaults).....this restores the behavior as it was before

CR: ok then.

Tested on cob4-1, able to set frames and cov, works as expected...


Create re-request-review reusable and use it in appropriate places

Why:

Closes #897
What's being changed:

Create re-request-review reusable and use it in appropriate places

Image of reusable:

Check off the following:

[x] All of the tests are passing.
[x] I have reviewed my changes in staging.
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Thanks so much for opening a PR @HonkingGoose! I'll get this triaged for review 🎉

@janiceilene Thanks! I will await the review from one of your teammembers then. :smile:

:wave: Hi @felicitymay,
It's cool that I taught you something new about GitHub. :+1:

Since this is your first pull request in this repository, I was impressed that you chose to add something that required a resuable and got it working perfectly - this isn't one of the easiest changes to make.

Yeah that took a bit of fiddling to get it working properly. The syntax for the reusable was totally new to me, but it was well documented in the contributing docs. :smile:
Those suggestions you made were really good, I can see that a competent (and native English language) content writer makes a huge difference in the quality of the text. :heart:


How to get the Available tokens though Reader API to monitor the token usage?

@nomagick @hanxiao @zac-li @saahil @CatStark Hi all, could you please give some advice for how to get the available tokens through the Reader API instead of the "'Buy tokens' tab" shown in https://jina.ai/reader/?

@songkq if u want to check via UI, u can also type in your key and it will show.

@hanxiao @nomagick Thanks.  Could you please add a JSON response format for "[Balance left] 992083", e.g., {'available_tokens': 1000000}?

@hanxiao @nomagick Another issue please... Even after I add a freetrial API_Key during request, it seems that I cannot parse more than 20 urls in asynchronism and concurrency during one minute.  It returns the response "Whoa there, turbo! You've hit the rate limit on the Reader API. Cool down a bit and try again later; or resend the request with a Jina AI API Key in the authorization header...."

Could you please give some advice for this issue?

Regarding the 20 RPM with API key issue u have, I have a feeling your header may be wrongly set and not respected by the server, could it be a misspelling or something?
Here is a google colab that you can refer to https://colab.research.google.com/drive/1uoBy6_7BhxqpFQ45vuhgDDDGwstaCt4P#scrollTo=MTEWpqyxCJ5U


bug fix: formatting exception so it can be saved to the database.

I have encountered the problem with saving failed jobs to mongo, - the exception field is always blank.
The problem was reproduced using amqp and mysql as queue drivers, and mongo db version 3.6.2 on ubuntu 14.04.
I have formatted the exception field into the array with the message and stack trace as keys.
This way exception can be saved to the mongo db database.

Closing in favor of https://github.com/jenssegers/laravel-mongodb/pull/1961


Downloading the 0.0.7 release triggers a Windows Defender detection

For me at least, it reports the following detections:

Trojan:Win32/Wacatac.B!ml
Trojan:Win32/Wacatac.H!ml

I have submitted all the files to Microsoft to be removed from Defender.

Microsoft has started approving the files. All the files in 0.0.8 pass WD on Win11 as of update 1.399.487.0.

Closing this issue for now, but will continue to submit new apps and new versions periodically to Microsoft to ensure they don't get picked up by WD.


[feat] upgrading daemonsets

What is the purpose of this pull request?:
What issue does this pull request address?: Fixes #
Notes for reviewers to consider:
Specific reviewers for pull request:

LGTM. I can approve after the debugging is cleaned up.


Fix Waypoint Use Comments Test

Closes #5083.
First ever excuse to use a negative lookahead! Pretty fun stuff. This will prevent it from passing with the code mentioned in the bug or something like <!-- --> Only change code above this line.<-- -->

Like Buddah!  I ran it through my torture tests and it passed with flying colors.  :+1:


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


main.rs does not compile

main.rs does not compile but throws error E0554 for line 1, 2 and 3.
Using an unstable nightly build is not an option.

What do i have to do with these PINs, in order to decrypt the whole filesystem of secunet konnektor? Why 6 PIN's ? the box has only 3 cardreaders, only 2 Smc's !?
Is there a chance to obtain a more detailed documentation than the c't paper ?

I am the wrong person to ask: I just reverse-engineered a binary and reimplemented it in Rust. This implementation is the how, not the why, sorry. Also: The src/legacy.rs is a version that does not need nightly.


Fix incorrect KlasaClientConfig typing

ClientOptions passed to discord.js should be under the "clientOptions"
property of KlasaClientConfig, rather than intersected with
KlasaClientConfig itself. This is what the code seems to expect, so this
patch updates the typings accordingly.

Might actually be the case in release, or that it will be the case. It makes sense to pass them as one due to the fact that Klasa is actually technically a Discord.js client. This is still up for debate though.

Yeah, but it's much easier to just pass the D.JS options with a property of clientOptions being type of DiscordJS.ClientOptions, as well as it can avoid some conflicts and helps organizing the code. Nonetheless, it is true that it breaks the consistency with some pieces (for example in Komada, you have both exports.help and exports.conf, but all properties are merged in a single object for Klasa).
However, the current state is that D.JS options are passed via options.clientOptions (althought it could be renamed to discordjsOptions or with another name, so we can "configure" other things such as console and providers.


Failed to attach elm.json to an existing project

What happened?
When opening a project that I haven't opened in a while, I get the prompt to attach an elm.json file. I choose the appropriate file, but then an error about not having a valid Lambdera executable set pops up. I don't have that installed, so I cannot set it.

To work around this I set the executable path to /usr/bin/true and it seemed to work after that.
Relevant log output or stack trace
No response
Steps to reproduce
I was able to reproduce it on my own system simply by removing the /usr/bin/true from the settings and then selecting Tools -> Elm -> Attach elm.json project file
IntelliJ IDE details (should contain the Elm plugin version and OS details)
IntelliJ IDEA 2023.2.2 (Ultimate Edition)
Build #IU-232.9921.47, built on September 12, 2023
...
Runtime version: 17.0.8+7-b1000.22 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 14.3.1
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 10
Metal Rendering is ON
Registry:
debugger.new.tool.window.layout=true
ide.mac.bigsur.window.with.tabs.enabled=false
ide.experimental.ui=true
Non-Bundled Plugins:
monokai-pro (1.10)
org.jetbrains.plugins.go-template (232.9921.62)
intellij-elm (5.0.0)
com.markskelton.one-dark-theme (5.10.0)
ir.msdehghan.plugins.ansible (0.92)
org.jetbrains.plugins.go (232.9921.28)
com.1v0.dev.hugo-intellij-plugin (0.4.10)
com.jetbrains.packagesearch.intellij-plugin (232.9921.28)
Pythonid (232.9921.47)
Kotlin: 232-1.9.0-IJ9921.47

This is a known issue in 5.0.0, fixed in https://github.com/intellij-elm/intellij-elm/commit/3b06b0a605925e55d8d0f63eb688307963f8e715, which is already part of release 5.0.1-beta1.

OK, if it's fixed I will close it. Thank you!


Aliases should be visible in the auto generated markdown

          Also the alias should be visible in the markdown so this seems like a bug.

Originally posted by @willemneal in https://github.com/stellar/stellar-cli/pull/1406#discussion_r1715856681

Clap markdown bug. we should open an issue on the clap reop @willemneal

This issue has already been requested on the clap-markdown repository:

https://github.com/ConnorGray/clap-markdown/issues/32

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience in software development, particularly with solidity and Rust, and I am familiar with GitHub workflows. My background enables me to efficiently identify and fix bugs in code while ensuring adherence to best practices and user needs.
How I plan on tackling this issue
Review the code to locate alias processing.
Identify the rendering issue for the alias.
Modify the logic to include the alias in Markdown.
Test the changes to ensure correct output.
Document the fix for clarity.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello, I am Joseph I am a frontend developer and blockchain developer and I am also an active contributor here on only dust here is my profile https://app.onlydust.com/u/josephchimebuka. This is my first time to contribute to this repo ill appreciate the opportunity to contribute.
How I plan on tackling this issue
I would like to fix this

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
My name is Collins Ikechukwu. I'm a full stack blockchain developer developer.
How I plan on tackling this issue
Steps to Implement:

Identify the Issue Context

Review the PR referenced here to understand the alias visibility issue in markdown.
Confirm how the alias is currently being rendered and why it may not be displaying as expected.

Check Markdown Syntax

Ensure that the alias is correctly formatted in the markdown file. Aliases should be displayed using proper syntax (backticks for inline code or fenced code blocks if necessary):`alias_name`

Verify that the markdown parser being used for the documentation supports the correct rendering of aliases.

Debug the Rendering Bug

Investigate if there is an issue with the markdown rendering engine or the way the markdown is being generated.
Check for potential conflicts in the markdown parser configuration that could be causing the alias to not appear or display incorrectly.

Test and Validate

After making adjustments, test the markdown rendering locally to ensure the alias is now visible and displayed as intended.
If this is part of an automated documentation generation process, ensure that the alias appears correctly in the final rendered output.

Review and Submit Fix

Once the issue is resolved, document the fix and submit a PR, referencing the original discussion to confirm the resolution of the bug.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have extensive experience working with various technologies, particularly in improving developer tooling and workflows. Having contributed to multiple projects within the OnlyDust ecosystem, I understand the importance of clean and efficient code, as well as maintaining clarity in documentation.
How I plan on tackling this issue
The issue at hand involves ensuring that aliases are visible in the auto-generated markdown files. Currently, these aliases are not being rendered, which creates a lack of clarity in the documentation. This seems like a bug, as the alias should be part of the output.
To tackle this, I will first review the auto-generation logic to identify where the alias data is being missed or incorrectly handled. I’ll ensure that the aliases are correctly parsed and included during the markdown generation process. Once the issue is located, I’ll modify the script or configuration responsible for generating the markdown to include aliases.
After implementing the fix, I will regenerate the markdown and run tests to confirm that the aliases appear as expected. I’ll also ensure that the new behavior is consistent across all areas of the project, providing clear and complete documentation for users and developers. This fix will enhance the readability and usability of the generated markdown, ensuring a smoother developer experience.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience working with TypeScript, JavaScript, and Rust, particularly in debugging and enhancing CLI tools. I’ve worked on generating documentation and ensuring important details, such as aliases, are correctly reflected.
How I plan on tackling this issue
I’d start by analyzing the markdown generation logic to identify why aliases are missing. I’d then adjust the markdown generator to ensure aliases are included where needed, testing the changes to confirm that the issue is resolved across various use cases.

https://github.com/stellar/stellar-cli/pull/1649/files

We will make an issue upstream


hardcode team name

Secrets are redacted from GitHub Actions logs. Since we have a TURBO_TEAM environment variable, to enable remote caching, we have a secret whose value is svelte. That results in some... interesting redactions:

Since it's not really a secret that we're the svelte team, this replaces the secret with a hardcoded value.

Looks good to me, but I don't know how this could be failing linting now ...
https://github.com/sveltejs/kit/runs/6102827202

The lint error is something unrelated that snuck in. Will be fixed by https://github.com/sveltejs/kit/pull/4674


AttributeError: 'SGD' object has no attribute 'defaults'

Updated the container to 19.09 but I am still seeing this error:
Traceback (most recent call last):   File "retinanet/convert_model.py", line 6, in <module>     model.save(state=state,save_path="models/16_classes/up_included_900k_bgr.pth")   File "/opt/conda/lib/python3.6/site-packages/retinanet-0.1-py3.6-linux-x86_64.egg/retinanet/model.py", line 184, in save     torch.save(checkpoint, save_path)   File "/opt/conda/lib/python3.6/site-packages/torch/serialization.py", line 224, in save     return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))   File "/opt/conda/lib/python3.6/site-packages/torch/serialization.py", line 149, in _with_file_like     return body(f)   File "/opt/conda/lib/python3.6/site-packages/torch/serialization.py", line 224, in <lambda>     return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))   File "/opt/conda/lib/python3.6/site-packages/torch/serialization.py", line 296, in _save     pickler.dump(obj)   File "/opt/conda/lib/python3.6/site-packages/torch/optim/optimizer.py", line 55, in __getstate__     'defaults': self.defaults, AttributeError: 'SGD' object has no attribute 'defaults'

@SnowRipple did you checkout the 19.09 branch before pip install?
branch can be checked out by git checkout -t origin/19.09 at git folder root.

@SnowRipple is your problem fixed?

@yashnv  Yes, I just commented out the line in pytorch... checking out the 19.09 branch didn't help. Can close now :)


Extreme Makeover: server refactoring

What does this PR do?
Extreme Makeover: server refactoring.
Motivation
Be more maintainable.
More

[x] Added/updated tests

You are going deep on this one!


Solution for #114 breaks existing code

If I'm not mistaken, the solution for issue #114 breaks my code.
Did I get this discussion correctly, that instead of adding a method with the new behavior the current behavior was modified to not handle paging anymore?
There is an example here:
https://github.com/redminenb/redminenb/blob/master/dev/src/main/java/com/kenai/redminenb/query/RedmineQuery.java#L298
Before that line I build the filter list from the user input and the fetch the issues. I expected to get all issues.
While I see adding paging ability as a good extension, I don't see a reason to break the existing behavior.
I also would not return a plain list, if the ResultWrapper was validly introduced to hold totalResult count.

we went back and forth and decided that having better (less misleading) API is more important than maintaining backward compatibility in this case.
getIssues() is the lowest-level method which accepts any Http parameters you provide. overriding or adding some magical parameters in it would be surprising to callers.
it was essentially a design error which we fixed in #114.
there are many other methods in IssueManager that handle paging for callers.
now clients are free to use either low-level method where they handle paging themselves or higher-level methods that do that for them.

Thank you for summarizing your reasoning. I would suggest, that you bump version to 3.0.0 in this case. I normally expect an API to be stable inside a major version, as your change did not change the signature, but introduced radically different behavior.

right. let's see how many other changes we'll have before the next release...


Fixed DSL Upgrade

Upgraded the DSL version to be inline with CDM
Added new DSL type that caused issue with the set up script

this change was covered by Hugo's changes. Closing


tests: update flake lock; tuxedo/aura/15-gen1: migrate renamed option

Description of changes
updates the test flake's lockfile and migrate a renamed option in tuxedo to fix ci.
for tuxedo, this doesn't seem to be the intended behavior... could this be a bug in the module system? either way, this should make ci green.
Things done

[ ] Tested the changes in your own NixOS Configuration
[ ] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

@mergify queue


Stop alarm sound using audio

[x] Implement command
[x] Implement method for stopping the audio

🕐 4h


Not listed yet: www.ns.nl

The website at this url is unlisted: https://www.ns.nl/en/journeyplanner/

Duplicate issue to #95. I'll close one of these and get to work on the other :)


KMeans data quantization demo fails

The h2o4gpu subset part of the demo is failing, on a 2 GPU machine (dl14) the colors are way off and the whole image is divided into 4 parts which are scrambled. In 1GPU mode only the colors are way off. It works on the full dataset.

Found one more issue https://github.com/h2oai/h2o4gpu/issues/748


Unity setup issues

The readme seems very Linux/C++ centric, not showing much direction in regards to use with Unity. I could use some clarification. Here is what I've done:

Install Python for Windows, pip, and 'click' for pip.
...I ended up skipping the build stuff since I couldn't get the script to work (kept getting 'missing file') and just jumped to 'release' for the DLL
I grabbed copied /x64-dynamic/bin/discord-rpc.dll (to be pasted later)
I copied...

[..]/examples/button-clicker/Assets/*

to
/MyUnityProject/Assets/Discord/

I also pasted the aforementioned DLL to /Discord/
I can load up the Unity scene and have Discord init fine. However, it says build failed.
Opening up BuildHelper:30 it's looking for ../../discord-build.py
(where does ../../ lead to (as in: Where does this process start from? I'll Google this and get back. +Should probably set this to project root since the docs don't specify this needs to be in very specific spot)
I tried moving discord-build.py to /MyUnityProject/ project root, but that didn't help. What else is needed at root? I thought I just needed the dll~.

I could't find any of these steps in the docs, so just playing a lot of this by ear. I couldn't find anything on Google about a Unity setup, either, so if you guys can help me fill in some blanks I can make a quickstart video or something.

Hi Dylan. Yes, the README is C++ centric, as the SDK is written in C++. The BuildHelper.cs file is specific to the Unity example in our repo—which is why it's under examples and not the source files—and it just moves the DLLs into the proper Assets/Plugins folders. If you want to change the folder structure of your own project, it's not a great idea to copy and paste our example into your code. You should grab the DiscordRpc.cs file and use it like a header file for the SDK. The SDK itself goes where plugins normally go in Unity, ../Plugins/x86 and ../Plugins/x86_64.
I'm also not sure where this discord-build.py script is coming from. I don't see that reference anywhere in the code.

Hey this helps a ton, thanks!

I'm also not sure where this discord-build.py script is coming from. I don't see that reference anywhere in the code.

Diving further, it seems to check for the dlls starting at BuildHelper.cs:55 -- then calls RunRpcBuildScript() if it can't find it, outputting Build Failed if it can't find the .py file.
Thanks for the help; I'll poke around!


Migration to Sender

Presentation:
https://user-images.githubusercontent.com/25864116/198062498-bb47edc7-886a-45b3-acd6-49340b32b816.mp4

Also is it possible if we can get changes on here to be replaced ?keystore=${hash} part to use #keystore=${hash}? we trying to promote use of hash on sending sensitive information

Here is no need to use ?keystore=${}. Using window.near.batchImport function to evoke sender extension to import.

@AmazingBeerBelly thank you for quick update. Found another issue with your latest change as below:

on WalletMigration.jsx need to update state.wallet.id to state.wallet?.id perhaps? if you look at initialState, wallet is set as null so .id won't work on initial render.

Hi @AmazingBeerBelly we're in the process of migrating our account export implementation out of Near Wallet into Wallet Selector to streamline the process and make the functionality more accessible to wallet developers. The initial implementation allows injected wallets to have a method directly invoked to import accounts in the target wallet (read more). Note that at this time we do not have an implementation for QR code scanning in Wallet Selector.
Based on your usage of batchImport in this PR, we have written an equivalent implementation in Wallet Selector to produce the same behavior. Would you mind please providing any feedback on this PR or forwarding this PR onto any Sender Wallet maintainers currently responsible for account import functionality?
Wallet Selector PR with these changes: https://github.com/near/wallet-selector/pull/578

All the implementation regards to wallet migration from other wallet teams are happening at wallet-selector repo.
Since this PR is no longer relevant, will close this PR. Again, please look at https://github.com/near/wallet-selector/pull/578 to complete the work.


How to let visual studio automatically recognize my own built OpenCV-contribute with vcpkg?

For a series of complicated reasons, I finally built OpenCV-contrib with Cmake-gui.Failed more than 20 times with vcpkg.I get the lib and dll files now .I know I can modify the attribute configuration table in VS to import the opencv-contrib.
But I was deeply shocked by the automatic integration of vcpkg, it is too smart!
So how could I let VS recongnize the local .lib and .dll files automatically/smartly？
I  think nuget and vcpkg can help me,but I search by Google,and did not succeed.
I know I can copy files to vcpkg\installed\x64-windows\lib.but It’s very troublesome to upgrade and uninstall the opencv-contrib.
so can you help me?What is the principle of vcpkg automatically integrated into VS?

VCPKG\installed\x64-windows\lib\XXX.lib
VCPKG\installed\x64-windows\bin\XXX.dll
VCPKG\installed\x64-windows\debug\bin\XXX.lib(Debug ver.)
VCPKG\installed\x64-windows\debug\lib\XXX.dll(Debug ver.)
VCPKG\installed\x64-windows\include<Header Name>
先试试

VCPKG\installed\x64-windows\lib\XXX.lib
VCPKG\installed\x64-windows\bin\XXX.dll
VCPKG\installed\x64-windows\debug\bin\XXX.lib(Debug ver.)
VCPKG\installed\x64-windows\debug\lib\XXX.dll(Debug ver.)
VCPKG\installed\x64-windows\include
先试试

thanks very much！I know the method, but when is use the：./vcpkg list
the OpenCV-cont will show??I think it’s very troublesome to upgrade and uninstall the opencv-contrib.

who can help me？？

@zdptrsz, give some information, hope it's helpful for you.

After install VS2017 on windows(Just an example), you can check "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Common.props". it contains

You can find it import ..\Scripts\buildsystems\msbuild\vcpkg.targets in vcpkg.user.targets

3. You can check what's included in ..\Scripts\buildsystems\msbuild\vcpkg.targets what's included.

@zdptrsz, please file a new issue, if you need more information.


Use abstraction of adminUsers consistently

A method to fetch users who are admins is defined in telescope-users/lib/helpers.js, but it wasn't used consistently.
Update telescope-notifications and telescope-post-by-feed to use the abstraction rather than querying for isAdmin directly.  To support their use, add an options parameter to Users.adminUsers that can be used to provide field/limit options to the lookup.

Oops, will re-open PR against devel.


add support for deploying tr069 to fly.io

Summary by CodeRabbit

Chores

Introduced a .dockerignore file to optimize Docker builds by excluding unnecessary files and directories.

Refactor

Updated Dockerfile for improved build performance and compatibility by changing the Java version and adding necessary build tools.
Enhanced database connection flexibility in the application by dynamically constructing JDBC URLs from environment variables.

New Features

Introduced a record class in DatabaseConfig to encapsulate database configuration parameters and support HikariCP connection pooling settings.

@coderabbitai can you make a snippet where you convert install.sql in tables module to postgres.


Universal Links with AWS CloudFront

Hi, my team is looking to setup universal/deep links in our email newsletter but we are having some difficulty.
Expected content
We followed the steps described here exactly; we set up a bucket on S3 to host the assetlinks.json and apple-app-site-association files and then we set up CloudFront to serve with the proper origin and behaviors.
Actual content
When we try to use CloudFront's default origin, which is pointing at sendgrid.net, we are receiving the error
Bad Hostname in Link
You have clicked on a link that contains a bad hostname. Please make sure that you have typed the link correctly.

It correctly serves up the files on our S3 bucket, however.
Again, here is that link

hey @iwilsonq - thanks for the feedback! We will definitely look into troubleshooting the docs for this soon. In the meantime, if you haven't already, please reach out to our support team to help you with your specific problem. You can access support contact options by logging into https://support.sendgrid.com.

I can look into this one

Hi, @hmbrown64 & Sendgrid team, we are having the same exact issue in our mobile app. @iwilsonq did you ever find a work around in order to get  universal/deep links working with sendgrid?

Update, we got this working.
Essentially we had to update the Cache Based on Selected Request Headers from the default none to all. The documentation is a little outdated https://sendgrid.com/docs/ui/sending-email/universal-links/ for #17 shows to set the field Forward Headers to All which is now called Cache Based on Selected Request Headers which should be set to all. Attached is my Default Cache Behavior Settings in case it helps anyone.

https://github.com/sendgrid/docs/pull/4400

@ramonrovirosa it would be really helpful if you were able to share screenshots of the rest of your CloudFront configuration!
Thanks

@ramonrovirosa it would be really helpful if you were able to share screenshots of the rest of your CloudFront configuration!
Thanks

For the most part, the rest of my config is the same as what can be found in the sendgrid docs https://sendgrid.com/docs/ui/sending-email/universal-links/#setting-up-universal-links-using-cloudfront


zoneminder: Path Fix

Event.pm calls /bin/rm by absolute path which was not patched by nixpkgs, due to that zoneminder installs using nixos would not delete events, whether from server or zmaudit.pl
Motivation for this change
Fix for #83260
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

substitute(): ERROR: file 'scripts/ZoneMinder/lib/ZoneMinder/Event.pm.in' does not exist

substitute(): ERROR: file 'scripts/ZoneMinder/lib/ZoneMinder/Event.pm.in' does not exist

Missed pushing a commit that fixed that error. It's now pushed and fixed.

We still need a note/comment in there explaining why we do the mass replace and why people should ignore the warnings.

Last I tried the zoneminder module wasn't working that well either. Among other things these problems turned up:

The nginx configuration is assuming, that it is the default_server
The nginx configuration sets a default listen statement, defaulting to IPv4 only
The services.zoneminder.port option used with nginx makes nginx listen on port 8095 by default.
Much of the webinterface was only working intermittently, the logs spewed warnings and errors

I can reinstall zoneminder to give a better picture, but unless someone maintains this, I don't think this is in a very usable state.

@peterhoeg What are you using instead?

Motioneye. I do have a module for this which I haven't upstreamed to nixpkgs yet.

@peterhoeg What are you using instead?

Motioneye. I do have a module for this which I haven't upstreamed to nixpkgs yet.

If you can, please do. It's what I had been looking into as well.

@mweinelt, this is what I use:
{ config, lib, pkgs, ... }:
let
  inherit (lib) mkEnableOption mkIf mkOption types;
  inherit (import <common/lib.nix> { inherit lib pkgs; }) secureService;

  cfg = config.toupstream.services.motioneye;

  confDir =
    finalSettings.conf_path;

  nonDefaultConfDir =
    confDir != "/var/lib/motioneye";

  toText = val: boolFn:
    if builtins.isBool val
    then boolFn val
    else toString val;

  boolToOnOff = bool:
    if bool then "on" else "off";

  attrsToFile = file: attrs: toBoolFn:
    pkgs.writeText "${file}.conf"
      (lib.concatStringsSep "\n" (lib.mapAttrsToList (k: v: "${k} ${toText v toBoolFn}") attrs));

  cfgFile =
    attrsToFile "motioneye" finalSettings lib.boolToString;

  activeCameras =
    builtins.filter (e: e.enabled) cfg.cameras;

  cameraSettings = camera:
    lib.recursiveUpdate
      (lib.recursiveUpdate cameraDefaults
        ({
          camera_id = camera.id;
          camera_name = "cam-${toString camera.id}";
          netcam_url = camera.url;
          stream_port = cameraPort camera.id;
          target_dir = cameraDir camera.id;
          text_right = camera.location;
        } // lib.optionalAttrs (! lib.hasPrefix camera.url "rtsp")
          {
            netcam_keepalive = true;
            netcam_tolerant_check = true;
          }))
      camera.settings;

  cameraFile = camera:
    attrsToFile "camera-${toString camera.id}" (cameraSettings camera) boolToOnOff;

  finalSettings = lib.recursiveUpdate defaultSettings cfg.settings;

  defaultSettings = rec {
    # path to the configuration directory (must be writable by motionEye)
    conf_path = "/var/lib/motioneye";
    run_path = "/run/motioneye";
    log_path = "/var/log/motioneye";

    # the log level (use quiet, error, warning, info or debug)
    log_level = "info";

    # the IP address to listen on
    # (<IP_ADDRESS> for all interfaces, <IP_ADDRESS> for localhost)
    listen = "<IP_ADDRESS>";

    # the TCP port to listen on
    port = 8765;

    # path to the motion binary to use (automatically detected if commented)
    motion_binary = "${pkgs.motion}/bin/motion";

    # whether motion HTTP control interface listens on
    # localhost or on all interfaces
    motion_control_localhost = true;

    # the TCP port that motion HTTP control interface listens on
    motion_control_port = 7999;

    # interval in seconds at which motionEye checks if motion is running
    motion_check_interval = 10;

    # whether to restart the motion daemon when an error occurs while communicating with it
    # this seems to randomly restart the whole motioneye process if one camera is unavailable
    motion_restart_on_errors = false;

    # interval in seconds at which motionEye checks the SMB mounts
    mount_check_interval = 300;

    # interval in seconds at which the janitor is called
    # to remove old pictures and movies
    cleanup_interval = 0;

    # timeout in seconds to wait for response from a remote motionEye server
    remote_request_timeout = 10;

    # timeout in seconds to wait for mjpg data from the motion daemon
    mjpg_client_timeout = 10;

    # timeout in seconds after which an idle mjpg client is removed
    # (set to 0 to disable)
    mjpg_client_idle_timeout = 10;

    smb_shares = false;
    smb_mount_root = "/media";

    local_time_file = "/etc/localtime";

    # enables shutdown and rebooting after changing system settings
    # (such as wifi settings or time zone)
    enable_reboot = false;

    # timeout in seconds to use when talking to the SMTP server
    smtp_timeout = 60;

    # timeout in seconds to wait for media files list
    list_media_timeout = 120;

    # timeout in seconds to wait for media files list, when sending emails
    list_media_timeout_email = 10;

    # timeout in seconds to wait for zip file creation
    zip_timeout = 500;

    # timeout in seconds to wait for timelapse creation
    timelapse_timeout = 500;

    # enable adding and removing cameras from UI
    add_remove_cameras = true;

    # enables HTTP basic authentication scheme (in addition to, not instead of the signature mechanism)
    http_basic_auth = false;

    # overrides the hostname (useful if motionEye runs behind a reverse proxy)
    # server_name motionEye
  };

  cameraDefaults = {
    # @clean_cloud_enabled off
    # @enabled on
    # @id ${id}
    # @manual_record off
    # @manual_snapshots on
    # @motion_detection on
    # @network_password
    # @network_server
    # @network_share_name
    # @network_smb_ver 1.0
    # @network_username
    # @preserve_movies 0
    # @preserve_pictures 0
    # @storage_device custom-path
    # @upload_enabled off
    # @upload_location
    # @upload_method post
    # @upload_movie on
    # @upload_password
    # @upload_picture on
    # @upload_port
    # @upload_server
    # @upload_service ftp
    # @upload_subfolders on
    # @upload_username
    # @webcam_resolution 100
    # @webcam_server_resize off
    # @working_schedule
    # @working_schedule_type outside

    auto_brightness = false;
    despeckle_filter = null;
    emulate_motion = false;
    event_gap = 30;
    framerate = 5;
    height = 720;
    lightswitch_percent = 0;
    locate_motion_mode = false;
    locate_motion_style = "redbox";
    minimum_motion_frames = 20;
    movie_codec = "mkv";
    movie_filename = "%Y-%m-%d/%H-%M-%S";
    movie_max_time = 0;
    movie_output = true;
    movie_output_motion = false;
    movie_passthrough = false;
    movie_quality = 75;
    netcam_use_tcp = true;
    noise_tune = true;

    # on_event_end    ${cfg.package}/bin/relayevent.sh ${cfgFile} stop %t
    # on_event_start  ${cfg.package}/bin/relayevent.sh ${cfgFile} start %t
    # on_movie_end    ${cfg.package}/bin/relayevent.sh ${cfgFile} movie_end %t %f
    # on_picture_save ${cfg.package}/bin/relayevent.sh ${cfgFile} picture_save %t %f

    # these trigger several times per second
    # on_area_detected  {log} area_detected %t
    # on_motion_detected {log} motion_detected %t

    picture_filename = "%Y-%m-%d/%H-%M-%S";
    picture_output = "best";
    picture_output_motion = false;
    picture_quality = 85;
    post_capture = 1;
    pre_capture = 1;
    rotate = 0;
    smart_mask_speed = 5;
    snapshot_filename = "%Y-%m-%d/%H-%M-%S";
    snapshot_interval = 0;
    stream_auth_method = 0;
    # stream_authentication = "user"; # ????
    stream_localhost = false;
    stream_maxrate = 5;
    stream_motion = false;
    stream_quality = 75;
    text_changes = true;
    text_left = "%Y-%m-%d %T";
    text_scale = 2;
    width = 1280;
  };

  camerasWithMask =
    # process all masks when doing the cams - doesn't matter if enabled or not
    builtins.filter (e: (builtins.hasAttr "mask_file" (cameraSettings e)) && e.mask != null) cfg.cameras;

  motionConf = pkgs.writeText "motion.conf" (''
    # @admin_password
    # @admin_username admin
    # @enabled on
    # @normal_password
    # @normal_username user
    # @show_advanced on
    setup_mode off
    webcontrol_interface 1
    webcontrol_localhost off
    webcontrol_parms 0
    webcontrol_port ${toString finalSettings.motion_control_port}
  '' + lib.concatMapStringsSep "\n" (e: "camera ${(cameraFile e).name}") activeCameras);

  cameraDir = id:
    "${finalSettings.media_path}/Camera${toString id}";

  cameraPort = id:
    cfg.firstStreamingPort + id;

  cfgDrv = pkgs.stdenv.mkDerivation {
    name = "motioneye-config";
    buildCommand = ''
      dir=$out/etc/motioneye

      install -Dm444 ${motionConf} $dir/${motionConf.name}

    '' + lib.concatMapStringsSep "\n"
      (e: "install -Dm644 ${cameraFile e} $dir/${(cameraFile e).name}")
      activeCameras;
  };

in
{
  meta.maintainers = with lib.maintainers; [ peterhoeg ];

  options.toupstream.services.motioneye = {
    enable = mkEnableOption "Enable MotionEye";

    openFirewall = mkOption {
      description = "Open firewall";
      type = types.bool;
      default = true;
    };

    package = mkOption {
      description = "Package";
      type = types.package;
      default = pkgs.callPackage <pkgs/motioneye> { };
    };

    cameras = mkOption {
      description = "Cameras";
      type = types.listOf (types.submodule {
        options = {
          enabled = mkOption {
            description = "Camera";
            type = types.bool;
            default = true;
          };

          id = mkOption {
            description = "Camera id";
            type = types.ints.positive;
          };

          location = mkOption {
            description = "Camera location";
            type = types.str;
          };

          url = mkOption {
            description = "Camera URL";
            type = types.str;
          };

          settings = mkOption {
            description = "Camera settings";
            type = types.attrs;
            default = { };
          };
        };
      });
      default = [ ];
    };

    settings = mkOption {
      description = "Settings";
      type = types.attrs;
    };

    firstStreamingPort = mkOption {
      description = "First port for streaming cameras";
      type = types.port;
      default = 8080;
    };

    declarativeConfig = mkOption {
      description = "Use declarative config only";
      type = types.bool;
      default = builtins.length cfg.cameras > 0;
    };

    retention = mkOption {
      description = "How long to keep recordings. Set to '-' to keep forever.";
      type = types.str;
      default = "60d";
    };

    mqtt = {
      enable = mkOption {
        description = "Enable MQTT integration";
        type = types.bool;
        default = cfg.mqtt.username != null && cfg.mqtt.password != null;
      };

      username = mkOption {
        description = "MQTT user name";
        type = types.str;
      };

      password = mkOption {
        description = "MQTT password";
        type = types.str;
      };
    };
  };

  config = mkIf cfg.enable {

    networking.firewall = mkIf cfg.openFirewall {
      allowedTCPPorts = (with finalSettings; [
        port
        motion_control_port
      ]);

      allowedTCPPortRanges = [
        # let's open all
        { from = (cameraPort 1); to = (cameraPort (builtins.length cfg.cameras)); }
      ];
    };

    systemd = {
      services.motioneye = secureService {
        description = "MotionEye";
        after = [ "network.target" ];
        wantedBy = [ "multi-user.target" ];

        environment = {
          DEBUG = "1";
          MQTT_USER = cfg.mqtt.username;
          MQTT_PASSWORD = cfg.mqtt.password;
        };

        serviceConfig = {
          User = "motioneye";
          Group = "motioneye";
          ExecStartPre = pkgs.writeShellScript "motioneye-setup"
            (
              let
                cmd =
                  if cfg.declarativeConfig
                  then "ln -sf"
                  else "cp --no-preserve=owner,mode";
              in
              ''
                rm -rf ${confDir}/{camera*,motion,motioneye}.conf
                rm -rf ${confDir}/mask_*.pgm

                ${cmd} ${cfgFile} ${confDir}/motioneye.conf

                for f in ${cfgDrv}/etc/motioneye/*.conf ; do
                  ${cmd} $f ${confDir}/
                done

              '' + lib.concatMapStringsSep "\n"
                (e: ''
                  ${cmd} ${e.settings.mask_file} ${confDir}/mask_${toString e.id}.pgm
                '')
                camerasWithMask
            );

          ExecStart = "${cfg.package}/bin/meyectl startserver -c ${confDir}/motioneye.conf";
          ReadWriteDirectories = [
            finalSettings.media_path
          ] ++ lib.optional nonDefaultConfDir confDir;
          LogsDirectory = "motioneye";
          RuntimeDirectory = "motioneye";
          # create /var/lib/motioneye no matter what. You can still set another conf_path if needed
          StateDirectory = "motioneye";
          TasksMax = 128 * (builtins.length activeCameras);
        };
      };

      tmpfiles.rules = [
        "d ${finalSettings.media_path} 0755 motioneye motioneye - -"
      ]
      ++ lib.optional nonDefaultConfDir "d ${confDir} 0755 motioneye motioneye - -"
      # create all dirs, active or not
      ++ map (e: "d ${cameraDir e.id} 0755 motioneye motioneye ${cfg.retention} -") cfg.cameras;
    };

    users = {
      users.motioneye = {
        description = "MotionEye";
        home = confDir;
        isSystemUser = true;
        group = "motioneye";
      };

      groups.motioneye = { };
    };
  };
}

@peterhoeg Awesome! If you would kindly provide the package as well, that would help me alot.

Ah yes, sure:
{ fetchFromGitHub
, curl
, ffmpeg
, lib
, lsb-release
, makeWrapper
, motion
, python3Packages
, v4l_utils
, which
}:
let
  pypkgs = python3Packages;

  bins = [ ffmpeg lsb-release motion (v4l_utils.override { withGUI = false; }) which ];

in
pypkgs.buildPythonApplication rec {
  pname = "motioneye";
  version = "0.42.1";

  src = fetchFromGitHub {
    owner = "ccrisan";
    repo = pname;
    # python3
    rev = "25ee8195a699b70c7c6986f702d369201ad71656";
    sha256 = "sha256-1bG8Bb5u/nv7aQzsG6Bg12YUg+0GwTcBnrhWk0E7Kw4=";
  };

  buildInputs = bins;

  postPatch = ''
    substituteInPlace motioneye/scripts/relayevent.sh \
      --replace curl ${curl}/bin/curl
  '';

  postInstall = ''
    mv $out/${pypkgs.python.sitePackages}/motioneye/scripts/*.sh $out/bin
    rmdir $out/${pypkgs.python.sitePackages}/motioneye/scripts
  '';

  # I don't know why I can't just use buildInputs
  makeWrapperArgs = [
    "--prefix PATH : ${lib.makeBinPath bins}"
  ];

  propagatedBuildInputs = with pypkgs; [ jinja2 pillow pycurl pytz six tornado_5 ];

  doCheck = false;

  meta = with lib; {
    description = "MotionEye";
    maintainers = with maintainers; [ peterhoeg ];
  };
}


Investigate use of Melt UI

Melt UI takes a similar approach to the library we currently use - svelte-headlessui. We provide the styling, they provide the functionality including a lot of the work to make components accessible. Melt UI also boasts sveltekit (read SSR) compatibility. I think Melt UI aligns very well with this project's goals and is a lot more feature packed, even in this early stage than svelte-headlessui.
It's important though to note this big warning at the top of the docs

conclusion: we're gonna use it 🎉


help A simple question but I‘m confused for that phenomenon

Description

…

when I try to print the tf.global_variables() ,and I found the variables  eg.
<tf.Variable 'transformer/encoder/layer_3/feed_forward/ffn_layer/input_layer/linear/matrix/Adam:0' shape=(512, 2048) dtype=float32_ref>
I konw it may be relative to the "Optimizer", but I am not quite sure ,I have try to find answers in baidu.com or tensorflow inner code but nothing.
confused problem
when I want to restore the ckpt file to train new parameters,wherther I need to restore the variables with those “Adam” suffix  or just ignore them ?
I am not a native english speaker,if you need any details information ,you can tell me directly and I will try to express more clearly.
tf version 1.4.0  tensor2tensor version v1.2

Yes, that variable looks like it has been created by the Adam optimizer. If you're continuing training, then yes, you'll want to restore those. If you're restoring just for prediction, then those can be ignored.


moved Object/Array types _set item logic

Coverage decreased (-0.3%) to 90.42% when pulling 237fa987e9c6b1602d9564f6071b2fb2b64fe708 on ponury-kostek:master into 2dab123f36d145567b4378b384f4364725575c3d on alexandrajs:master.


How can I use this wrapper script?

In your power management article [https://github.com/dnschneid/crouton/wiki/Power-manager-overrides] you wrote a wrapper script which looks like can save me a lot of trouble. How can I use it?
The only way i know how to use scripts is by downloading them and launching them using sh command. Please help

@Mediocorite,
You would save @MAkerboom's script to ~/Downloads or somewhere in your $PATH,
( you can name it lid-idle or something else you prefer )
edit it to replace startunity on line 13 with your start* script if need be,
and then execute it with: sudo sh ~/Downloads/lid-idle
-DennyL

Do I have to excute everytime i boot chroot or only when there is a chrome OS update?

Yup.


FileNotFoundError: [Errno 2] No such file or directory: '../data/counts/library_name_pre_counts.csv

Dear Dr. Brookes
But, when I try to run "python ../src/keras_models_run.py library_name   ann ", I got error message:
FileNotFoundError: [Errno 2] No such file or directory: '../data/counts/library_name_pre_counts.csv'
Because the github does not provide us with the data:
kggx609@usplscpn004[us]/projects/rd/users/kggx609/software/aav_clean$ find . -name "library_name_pre_counts.csv" -print
kggx609@usplscpn004[us]/projects/rd/users/kggx609/software/aav_clean$
Could you show me  the toy data in library_name_pre_counts.csv so that I could understand the format of file library_name_pre_counts.csv ?
Thanks,

The demo data files included in the code release are the small "toy" example read files in data/raw/. This section provides the instructions for pre-processing these files to produce the counts files for these demo data prior to modeling. After following those instructions, you will be able to run the modeling script on the (processed) demo data by providing demo as the library_name argument in the command. I hope that you find this helpful.


3.4.3-RC1 Release procedure

[x] Publish 3.4.3-RC1 artifacts to Maven via CI

[x] On release-3.4.3 branch:

[x] In changelogs add file with a changelog
[x] In Build.scala: Set baseVersion to 3.4.3-RC1
[x] Tag the branch as 3.4.3-RC1

[ ] Wait for confirmation from tooling:

[ ] Scala CLI (@Gedochao)
[x] Scala Native (@WojciechMazur)
[ ] Scastie (@rochala)
[ ] Scala DAP (@adpi2)

[ ] Announce the releases

[ ] Make GitHub releases public
[ ] Create the 3.3.4 tracking thread on https://contributors.scala-lang.org/

The text mentions 3.3.4 once and 3.4.3 multiple times, the title mentions 3.4.3. I suppose it should be 3.3.4 everywhere?

The text mentions 3.3.4 once and 3.4.3 multiple times, the title mentions 3.4.3. I suppose it should be 3.3.4 everywhere?

Thanks, I've fixed the typo. That's the unplanned 3.4.3 hot-fix release due to the binary incompatible change introduced in 3.4.2 and described in #21258. It's only purpose would be to replace the usages of Scala 3.4.2 in projects that cannot/don't want to migrate to 3.5. It would be better described in the upcoming blogpost.
The change introduced in 3.4.2 would eventually be re-introduced in the future, but in more controlled manner in one of next major versions (probably 3.6.0)


How to build on buildroot

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
By default, the build failed on buildroot
What is the expected behavior?
It should pass the build
What behavior are you observing?
I knew the reason why it failed, because by default, cmake behavior is like this:
$ cd avs-1.18.0/
$ mkdir build/ && cd build/
$ cmake ../

Unfortunately , AVS didn't follow above default behavior, it required below action instead:
Suppose avs-1.18.0 is in the same level as below build dir
$ mkdir build/ && cd build/
$ cmake ../avs-1.18.0

The problem is, HOW Can I put the build dir as the same level as the AVS code? I suffered this too much!!!
And I strongly suggest adding such instruction in the document, as buildroot is widely used for Linux, and of course it would be greate if we can get Yocto build instruction as well.
Tell us what hardware you're using:

[ ] Desktop / Laptop
[ ] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[X ] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @yangsongx,
The SDK does not currently support in source builds. Looking through the Buildroot user manual (https://buildroot.org/downloads/manual/manual.pdf), there appears to be a variable, SUPPORTS_IN_SOURCE_BUILD , that can be defined for a package. Please set this to NO in your .mk file and let us know if this resolves the issue.
I will create a ticket for your request for Yocto and Buildroot support.

Thanks for your help.


[FLINK-30141][s3][filesystem] Increase retries on MinIO container startup

What is the purpose of the change
We observe flaky tests using MinIO about once per month, and it appears to be due to a container responding to API requests with enough 503 Service Unavailable statuses that the default retry mechanism on the AmazonS3 client fails.
Brief change log
Increase the number of TestContainer startup attempts from 1 to 3.
I chose to do this at the TestContainer level instead of making the S3 client retry more often, since it is a (1) a sufficiently rare event and (2) specifically related to container start-up.
Verifying this change
This change is already covered by existing tests, such as MinioTestContainerTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving):  no
The serializers:  no
The runtime per-record code paths (performance sensitive):  no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper:  no
The S3 file system connector:  yes (indirectly)

Documentation

Does this pull request introduce a new feature?  no
If yes, how is the feature documented?  no

Giving this a try, I have 21 hours of repeatedly starting and setting up the MinioTestContainer setup without any errors.  Before this change, it would occur about every 2 hours (or every couple thousand container starts).

@flinkbot run azure


White screen shows up with console errors if an invalid state code entered in URL

Describe the bug
If I try to reach https://www.covid19india.org/state/MH, I am navigated to Maharashtra's page.
However, if I try to reach https://www.covid19india.org/state/mh or https://www.covid19india.org/state/xyz I see a white screen. For the former, I should be redirected to Maharashtra's page and for the latter I should be navigated to the Home page.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.covid19india.org/state/mh or https://www.covid19india.org/state/xyz
A white screen shows up.

Expected behavior
For /state/mh the user should be navigated to Maharashtra's page. For /state/xyz the user should be navigated to the Home page.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser: Google Chrome
Version:  81.0.4044.122

Additional context
Add any other context about the problem here.

/claim

/available


move add-ons before bootsel mode

Move the add-ons to load and read before the bootsel mode detection.
Fix issue with SNESpad not reading within start(), which caused held down buttons to always read 0 until repressed.
https://github.com/OpenStickCommunity/GP2040-CE/issues/283

Just need some conflicts resolved on gp2040.cpp and this is ready to pull in!


[BUG] [Tracking] Honkai: Star Rail Game Repair/Cache Update Issue

We are aware of a bug in Game Repair and Cache Update mechanism due to changes on miYoYo side. @neon-nyan is working on a fix and we'll use this for tracking said issue.

The issue should've been fixed in the latest commit.
Keep in mind that the feature would still be disabled until we ship the fix to both preview and stable releases.

Closing as issue is now resolved


Sets up connection pool initialization as-needed

I think this could resolve our connection issues.
The idea is to initialize the database connection pool after Flask finishes forking processes.  This is done by setting up the connection as-needed

Tested on dev_server.  Shows that connections still work as intended and reading from the config works too.


.raw(...) query

We want to offer a fallback for all queries that are not supported by Prisma Client itself. We will achieve that by offering a .raw method that you can use to send any query to the database and get back its result.
Prior Art:
https://github.com/prisma/specs/issues/12#issuecomment-562585839
https://github.com/prisma/prisma-client-js/issues/10

Implemented in<EMAIL_ADDRESS>🎊

Therefore this can be closed :)


Generate additional account in javascript

I wonder if i can generate  additional testrpc account in javascript .

Unfortunately, we only support changing the number of accounts (and/or specified accounts) at initialization through the options object. Please check the readme for more details.


#15 Changed the link to the code of conduct for pupet

Fixes #15 Linked to the specific code of conduct from the puppet-community repo. Adapted from http://contributor-covenant.org/version/1/2/0/

Neat, thanks!
Could you amend your commit and have the message start with (#15), then push -f to your branch again? This aids book-keeping wrt. the github issues.

Should i recommit the change with the new message in a new pull request? (sorry if this is a obviouse question but this is the first time i am doing this).

@blacktoko no need to create a new pull request.
after changing the commit message with git commit --ammend, just run git push --force, as @ffrank suggests!

Thanks for your help and the link about the flow! I will study it :-)


Try optimising parameters one at a time, instead of simultaneously

E.g. try "random" or "sequential" GaussianMoves.

Might be useful for MCMC or simulated annealing. But focus has now moved to ABC et al.


Fix misplacement of functions

There is no  reason to place  generate_new_key_pair  function in __init__.py file.
It also raises an exception if someone imports http.Client class.

I agree with you. Changed code accordingly

I'm sorry, I closed the pull request by mistake. I think we are ready to merge

@marcorosa please make the PR to the develop branch.

ok. done


Add edit to interventions

Add ability to edit interventions.

More context:
Currently once an intervention is saved, the input cannot be edited or deleted. Including the ability to edit and delete saved text will be key so that users can edit / delete incorrect information, add information within a specific prior input, etc.

@alexsoble: When editing an earlier intervention, it would be useful to direct the view to the intervention box rather than the user having to scroll back up each time. At first, I was also confused as what the behavior was when I clicked an intervention as I did not see what was happening outside of my view.
See gif below.

Covered in https://github.com/studentinsights/studentinsights/issues/5.


Integration Test - Release - 2022/01/26 03:06:28

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

The following users don't have valid GitHub IDs, or are not collaborators on this repo: nonalloweduser

#reassign PRMergerTest2

#reassign NonAllowedUser

The following users don't have valid GitHub IDs, or are not collaborators on this repo: nonalloweduser

#please-close

GitHub user PRMergerTest2 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#unassign PRMergerTest1

#unassign NonAllowedUser


fix validation error on save from autocomplete

Fixes #10564
Some browsers generally autofill passwords once a page loads, regardless of whether or not the user clicks on a password field.
This will lead to a validation error when a user makes a save after other changes in the admin/accounts URL. This fix stops the old password field from causing the smaller password-change form to be bound to the larger account-settings form.
Please check the following:

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

This seems like a good direction, thank you. Are you able to add a unit test also?

I'm pushing a commit for that right now. I wanted to be sure I was in the right direction.

Awesome. Thanks @Chiemezuo ! And thanks Matt for the review and merge.

Thank you too @lb- 💪🏾


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-k8s-24-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1719

Questions ?
Please refer to the Backport tool documentation


Parent set to vaadin-parent

This change is

Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

vaadin-icons/pom.xml, line 7 at r1 (raw file):

	<parent>
		<groupId>com.vaadin</groupId>

even though many IDEs etc. complain about redundancy, groupId MUST be duplicated in the project POM itself due to a bug in the versions plug-in

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


thermal sensors

Hello,
I installed OpenWrt-AO-21.02-20211011.2318-NanoPi-r4s-ext4-full firmware on my R4S and tried to activate the thermal sensors, as they don't seems to work out of the box after installing the firmware.
I installed lm-sensors-detect but the detection didn't find any sensor.
Do you have an idea how to activate the thermal sensors ? It's seems to work with FriendlyWRT.
Thank you.

root@OpenWrt:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
600000
root@OpenWrt:~# cat /sys/class/thermal/thermal_zone0/temp
47500


Poblems with CSI extraction

Grateful for your excellent job!
I use the Raspberry Pi 3B+, with kernel 5.10.92. Unfortunately I ran into the following issues while capturing CSI:

After executing the install scripts, when cursor on the wifi icon, it shows 'no wireless interface found' is that normal?
I connect the raspi and laptop with an ethernet cable,  making laptop connected to the mobile hotspot, then I ran the command
 mcp -C 1 -N 1 -c 36/80
ifconfig wlan0 up
then ran ip link show wlan0 to find the mon0'Mode is Down, which dont seems right
I ran the following command as instructed
nexutil -Iwlan0 -s500 -b -l34 -vKuABEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
iw dev wlan0 interface add mon0 type monitor
ip link set mon0 up
then ran ip link show wlan0 to find the mon0'Mode is Down, which dont seems right either
I ran tcpdump -i wlan0 dst port 5500 -vv -w output.pcap -c 1000 and got feedback Got 0

It'll be of great help if you would fix the issues above for me. Thx!
@zeroby0

How did you fix it?


Set version number using Actions

Seems to work - real question will be whether the release workflow successfully sets it


Support Jetty Server 8.1.3

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[x] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

@ascrutae This is a new requirement, please check your schedule, and reply about whether included in 5.0.0-alpha . Thanks.

@carlvine500 @clevertension Does any of you have interested in supporting this? Jetty 8 is an old version. And all PMC members have no time to do this.


Formatting checks disabled (possible erroneous?)

Two issues:

Format checks are currently disabled. I think this was intentional during the shift to bionic and clang-format-6.0. We need to bring it back.

I am not sure if the following issue is local to me (@madan96 can you please verify). a) Master still seems to need formatting corrections. And, b) On running the formatting command, #521 seems to still fail. For instance src/rviz/InteractiveMarkerViewer.cpp Line 206 is never corrected in its indentation. I have clang-format-6.0 on bionic.

Yeah, I just checked and there seem to be some src files in rviz, perception and control subdirectories that still require formatting changes. Not sure how they got left out, there is no PR after #549 that was merged into master after this so I think that's where the problem is.

@brianhou Should we run check-format for all builds or at least BIONIC_CATKIN_FULL_RELEASE?

We only need to check the formatting on one build.


feat[charts]: bump app version

Codecov Report

Merging #114 (954db1b) into main (e96416a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #114   +/-   ##
=========================================
  Coverage     94.43%   94.43%
  Complexity      593      593
=========================================
  Files           128      128
  Lines          2356     2356
=========================================
  Hits           2225     2225
  Misses          131      131

Flag
Coverage Δ

phpunit
94.43% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e96416a...954db1b. Read the comment docs.


Is it possible to have another value than "production" to process.env.node_env after a build ?

Hi !
I searched on the issues but I don't find the answer of my noob question. 😅
I noticed that when I use react-scripts start, the process.env.node_env value was 'development'
and when I use react-scripts build, it was 'production'.
How can I build with 'staging' (for instance) into process.env.node_env ? Is it possible ?
Thanks.

Hi @franckmaurin , I'm not sure if you can do this without forking or ejecting, since the start and build scripts explicitly set process.env.NODE_ENV on init, as you can see here

Ok thanks @dvkndn, I'll put this code in my package.json and it's ok :)
"scripts": {
    "build": "react-scripts build",
    "build:staging": "REACT_APP_ENV='staging' npm run build",
    "build:production": "REACT_APP_ENV='production' npm run build"
}

Food for thought for those considering using REACT_APP_ENV as outlined above.
Please note that running build:staging wont affect the value of process.env.NODE_ENV. Thus process.env.NODE_ENV will have a value of production and process.env.REACT_APP_ENV will have a value of staging at the same time. This may be fine for you, but I'd personally avoid it as likely to lead to confusion, mistakes and possibly errors—especially for each new developer on your project. Then again you may have moved onto something else by the time that becomes an problem...

Yes that's correct. NODE_ENV is about the build: whether it is a development or production build, while REACT_APP_ENV in this case is like about the server: production, staging or sandbox.
I personally use something like REACT_APP_SERVER for those production vs staging thing.

hi


Sample app: location change action and ReduxDevTools

Issue Type

[X] Bug
[ ] Feature

Description
When changing between routes, the LOCATION_CHANGE is being dispatched. But it is impossible to undo these actions via ReduxDevTools.
Steps to reproduce

Run react-boilerplate sample app
Open up ReduxDevTools extension
Change location by clicking "Features" button
Observe LOCATION_CHANGE action dispatched
Now try to skip this action
Expected behaviour: action skipped, location changed back to home
Actual behaviour: action skipped, location did not change

Versions

React-Boilerplate: 3.5.0
Browser: Chrome
react-router-dom: 4.1.1
react-router-redux: 5.0.0-alpha.6

Can you recreate this issue in an environment outside of react-boilerplate? If so, I'd say it's an issue with react-router-redux. If not, it's an issue here.

Hi @gretzky
Yes, you're right, perhaps it is not a react boilerplate issue, but rather react-router-redux one. I will close this for now.
Cheers!


[ci:component:github.com/gardener/network-problem-detector:v0.2.0->v0.3.0]

Release Notes:
Container images are now built and published also for `arm64` platforms.

drop mDNS discovery job

duplicate


Improvement: Added CancellationToken to IProvider.GetFeaturesAsync

For better Aborting of Features I added a CancellationToken to IProvider.GetFeaturesAsync
I removed the Dispose from the Map because instead of Dispose AbortFecht is now called, it should now abort faster because the CancellationToken is now provided on httpClient calls

I agree, because mapsui heavily depends on Brutile, it's best to have a strategy for this in Brutile and when it's implemented use a similar strategy in mapsui.
In .net most of the Async IO Interfaces have a CancellationToken Parameter for cancelling IO operations.  So I simply made the same changes here so that the CancellationToken can be relayed to httpClient, File IO operations. Sqlite pcl net does not support cancellationtokens yet (Or I haven't found out how yet, so mbtiles-brutile cannot use it yet).
As I pointed out in the discussion the CancellationToken could be an Addtional Property in the FetchInfo, avoiding breaking changes. But then the Code Analyzers wouldn't detect that I forget to relay the Cancellation Token.
If there is concern about the removing of IDisposable from Map. I could do that in a seperate Pull request. Because with the WeakEvents the only thing that dispose does in the Map is aborting the fetches. Which I can call directly in the Map instead of calling Dispose.
Sample for Cancellation Token interfaces in the .NET Api
https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.getasync?view=net-8.0
Here every method has a variant with and without a CancellationToken.
For easier usage I changed the Interface to this.
public interface IProvider
{
    string? CRS { get; set; }

    MRect? GetExtent();

    Task<IEnumerable<IFeature>> GetFeaturesAsync(FetchInfo fetchInfo)
    {
        return GetFeaturesAsync(fetchInfo, CancellationToken.None);
    }

    Task<IEnumerable<IFeature>> GetFeaturesAsync(FetchInfo fetchInfo, CancellationToken cancellationToken);
}

Which means users don't have to recompile or change code because, if you don't use Cancellation Tokens it will internally call the new Interface with the CancellationToken.None.
Only implementers need to implement the GetFeaturesAsync(FetchInfo fetchInfo, CancellationToken cancellationToken); They need to recompile and change Source Code

The failing ArcGisDynamicSample test is fixed here https://github.com/Mapsui/Mapsui/pull/2574

I restore the Dispose of the Map (Less changes for better reviewing).


Twitter API

Hi, I'm a beginner in Python, and I'm trying to follow the instructions for using twscrape, but I'm not sure how to access Twitter's API keys

You can't use Twitter API keys directly. Twscrape "scraps" tweets using credentials from your Twitter account.


Can't seem to get it to sync with gradle properly

I followed the gradle and maven instructions but it can't seem to find your repo. Any suggestions?

I just tried from my sample project, with the
compile ('com.github.florent37:materialviewpager:1.0.8@aar'){
    transitive=true
}

and seems to work.
Can you try to clone my sample and try ?

I too cannot build the library

I had a similar issue - here's a possible solution. The following is what my top-level build.gradle file looks like:
buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.1"
    }
}

allprojects {
    repositories {
        maven { url "https://dl.bintray.com/florent37/maven" }
        mavenCentral()
    }
}

Essentially, you have to tell gradle exactly where to look for the dependency by providing that bintray URL.

Thanks eatyoveshtables, but copying that build.gradle didn't work.

@florent37 Din Work !
@eatyoveshtables  buddy, doesn't work !!

did you try with the 1.1.0 ?
compile ('com.github.florent37:materialviewpager:1.0.8@aar'){
    transitive=true
}

@florent37 I tried everything, when i add compile dependency of this library it asks for
appcompat-v7:22.2.1 and gradle doesn't build.
D:\AndroidStudioProjects\VORAT\app\build.gradle
Error:Failed to find: com.android.support:appcompat-v7:22.2.1

How do i fix it ?
For my other lilbraries appcompat 22.2.1 is not needed
On Aug 6, 2015 10:04 PM, "Florent CHAMPIGNY"<EMAIL_ADDRESS>wrote:

did you try with the 1.1.0 ?
compile ('com.github.florent37:materialviewpager:1.0.8@aar'){
transitive=true
}
—
Reply to this email directly or view it on GitHub
https://github.com/florent37/MaterialViewPager/issues/113#issuecomment-128429246
.

oh, you forgot to download the library appcompat, update your sdk

I ll try that and get back to you , thank you.
On Aug 6, 2015 10:45 PM, "Florent CHAMPIGNY"<EMAIL_ADDRESS>wrote:

oh, you forgot to download the library appcompat, update your sdk
[image: capture d ecran 2015-08-06 a 19 14 49]
https://cloud.githubusercontent.com/assets/5754972/9118236/70d48930-3c6f-11e5-9f87-03c4ee154373.png
—
Reply to this email directly or view it on GitHub
https://github.com/florent37/MaterialViewPager/issues/113#issuecomment-128448240
.


Fix show code function for Counter, Form Caption, Form Caption Group & Form Label

Description
In Storybook the "Show code" functionality currently shows almost nothing. Each Story should allow for a code preview showing the users who are consuming the library how to use the component in their application.
Recently we might have found a solution to fix this. To do so, we have to change the "." before attributes and do it correctly (like material web is doing it for example).

Requirements

no requirements

ACs

[x] The general render function has been changed
[x] Counter: The "." before attributes was removed and the attributes now follow the same approach as in material-web
[x] Form Caption: The "." before attributes was removed and the attributes now follow the same approach as in material-web
[x] Form Caption Group: The "." before attributes was removed and the attributes now follow the same approach as in material-web
[x] Form Label: The "." before attributes was removed and the attributes now follow the same approach as in material-web

Background information

add information here

Fixed in pair-programming session last Friday.


Nlu 3225 Portuguese date fix,

Updated 'do' entity so it resolves to of the

https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/445/ tests passed

https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/449/ updated test


Add Functional Tests Status Badge to README file

Proposed Changes
Add a Badge in the Readme file with the status of the build and execution of the Functional Tests as part of the Nightly Build Pipeline.

Note: We left a link pointing to our test pipeline that needs to be replaced following this instructions:
1- Copy the Markdown as shown in the pictures below:

2- Replace the test markdown we left in the Readme file on this PR.

No issues found in Microsoft.Bot.Builder.dll
No issues found in Microsoft.Bot.Schema.dll

Just a minor typo:
instead of  following this instructions
should be following these instructions


tweak(saltern): Place a red phone in bridge meeting room, add another artifact spawn

About the PR

Placed a red phone in the bridge meeting room on saltern.
Why / Balance

Fixes #29216
Resolves part of #26479
For resolving part of #26479 I just placed a second artifact in the artifact room.
Packed,  Box, Bagel and probably other maps have two artifacts in the same room as well.
Technical details

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

it already had a second artifact spawn, on the container
now it has 3

it already had a second artifact spawn, on the container now it has 3

That issue needs to be updated then


R2RML & Oracle DB: boolean result types always false

Description
Oracle does not have a standard Boolean column, which returns the value true or false. So often columns with char Y/N or bumber 1/0 are used. However, these values are always mapped to false, as Boolean value is parsed with Boolean.parseBoolean(columnContent), which only checks for value.equalsIgnoreCase("true");
I'm aware that this is an Oracle specific setup and there is no standard. However, it is currently impossible to manipulate the mapping process to use custom/own mappings (which would be my preferred solution).
Steps to Reproduce

Create a table with an ID and a number column with values 1 and 0 (or 'Y' and 'N')
Create an r2rml file which converts the column to boolean
Run the r2rml file and write the results to a turtle

Expected behavior: Columns with value 0 would produce a triple with false and 1 would be converted to true
Actual behavior: All triples are false
Reproduces how often: always
Versions
Current head of ontop.

Hello,
Thanks a lot for the suggestion. This Oracle specific case is indeed not covered by the R2RML standard, however I think it makes sense to add an extra normalization for the case where the boolean value is actually stored in a NUMBER column.
Actually your issue comes at the right time as we are currently refactoring the Oracle "connector" in an experimental branch (https://github.com/ontop/ontop/tree/feature/native-node). Boolean values stored in a NUMBER column should now be normalized into true/false.
The encoding of boolean into string like y/n is much more problematic as it is language-specific  (o/n in French, j/n in German, s/n in Italian or Spanish, and so on).
My suggestion would be to use a CASE in the mapping assertion that would convert the string y/n into a true/false string.

At the moment CASE expressions are currently not recognized by the Ontop SQL parser, causing the SQL query to be handled as a "black-box" view. While semantically correct, such a view prevents many optimizations to be applied and may therefore penalize the performance.
Best,
Benjamin

Thank you very much, with the CASE statement this would solve the issues.
However, it would also be useful if a custom mapper could be applied somehow, to exchange the JDBC2ConstantConverter, perhaps already in the configuration in the beginning with a statement like:
OntopStandaloneSQLConfiguration.defaultBuilder() //
				.enableDefaultDatatypeInference(true)//
				.r2rmlMappingGraph(graph) //
				.mappingConverter(new MyCustomConverter()) //
				...

Then each user could handle special cases themselve, would this be possible?

Hi,
CASE expressions are now supported by the SQL parser, it would be interested to test how Ontop now behaves with such a mapping.
Regarding your proposal, in terms of design, we would prefer to stay as declarative as possible and avoid custom code. We now recommend users to use the Docker image or the CLI rather than the Java API. Using the CASE expression to the mapping also brings interoperability, as it relies on standards rather than on Ontop-specific features.
Best,
Benjamin


Set type for the rebuild parameter

Without type it seems to default to []string which leads to pipeline failing with:
Pipeline demo/nodejs-builder can't be Run; it has an invalid spec: "" type does not match default value's type: "string": finally.params[rebuild].default.type, finally.params[rebuild].type, tasks.params[rebuild].default.type, tasks.params[rebuild].type
invalid value: : finally.params[rebuild].type, tasks.params[rebuild].type

This sets the type to string.
This is how it the default value is interpreted without the type set:
$ tkn pipeline describe nodejs-builder
Name:        nodejs-builder
Namespace:   demo

⚓ Params

 NAME             TYPE     DESCRIPTION              DEFAULT VALUE
 ∙ git-url        string   Source Repository U...   ---
 ∙ revision       string   Revision of the Sou...   main
 ∙ output-image   string   Fully Qualified Out...   ---
 ∙ path-context   string   The path to your so...   .
 ∙ dockerfile     string   Path to the Dockerf...   Dockerfile
 ∙ rebuild                 Force rebuild image      []
...

And with the type set to string:
$ tkn pipeline describe nodejs-builder
Name:        nodejs-builder
Namespace:   demo

⚓ Params

 NAME             TYPE     DESCRIPTION              DEFAULT VALUE
 ∙ git-url        string   Source Repository U...   ---
 ∙ revision       string   Revision of the Sou...   main
 ∙ output-image   string   Fully Qualified Out...   ---
 ∙ path-context   string   The path to your so...   .
 ∙ dockerfile     string   Path to the Dockerf...   Dockerfile
 ∙ rebuild        string   Force rebuild image      false
...

cc @Michkov

That's strange default type should be string -> https://tekton.dev/docs/pipelines/pipelines/#specifying-parameters
Also it has default value set to "false" which is not array.
$ tkn pipeline describe nodejs-builder
Name:        nodejs-builder
Namespace:   test2

⚓ Params

 NAME             TYPE     DESCRIPTION              DEFAULT VALUE
 ∙ git-url        string   Source Repository U...   ---
 ∙ revision       string   Revision of the Sou...   main
 ∙ output-image   string   Fully Qualified Out...   ---
 ∙ path-context   string   The path to your so...   .
 ∙ dockerfile     string   Path to the Dockerf...   Dockerfile
 ∙ rebuild        string   Force rebuild image      false

@Michkov this is on a fresh CRC cluster, to reproduce:
$ crc start
$ oc login -u kubeadmin
$ cd infra-deployments
$ hack/bootstrap-cluster.sh
$ hack/reduce-gitops-cpu-requests.sh
# wait till this looks synced enough
$ oc get applications.argoproj.io -n openshift-gitops
NAME                     SYNC STATUS   HEALTH STATUS
all-components-staging   Synced        Healthy
authentication           OutOfSync     Healthy
build                    Synced        Healthy
cluster-registration     Synced        Healthy
e2e-tests                OutOfSync     Healthy
gitops                   Synced        Healthy
has                      Synced        Degraded
quality-dashboard        Synced        Progressing
rekor                    Synced        Healthy
release                  Synced        Degraded
spi                      Synced        Degraded
$ cd ../build-definitions
$ kubectl apply -k hack/test-build
$ kubectl apply -k pipelines/hacbs
$ tkn pipeline describe nodejs-builder
Name:        nodejs-builder
Namespace:   default

⚓ Params

 NAME             TYPE     DESCRIPTION              DEFAULT VALUE
 ∙ git-url        string   Source Repository U...   ---
 ∙ revision       string   Revision of the Sou...   main
 ∙ output-image   string   Fully Qualified Out...   ---
 ∙ path-context   string   The path to your so...   .
 ∙ dockerfile     string   Path to the Dockerf...   Dockerfile
 ∙ rebuild                 Force rebuild image      []
...


Log warning if lookup tables are not used correctly #5956

Log warning if lookup tables are not used correctly
Description
Issue to discuss the ideias and progress about the resolution of Rasa's issue #5956

Sor far we're looking to documentation and code to understand about what the issue is referring to.
The links below looks useful:
https://rasa.com/docs/rasa/nlu-training-data#training-examples
https://rasa.com/docs/rasa/reference/rasa/nlu/featurizers/sparse_featurizer/regex_featurizer#regexfeaturizer-objects
https://blog.rasa.com/improving-entity-extraction/

There is an example (knowledgebasebot) using lookup tables at the end of this file, maybe we should change from
- lookup: hotel
  examples: |
    - Hilton
    - B&B
    - Berlin Wall Hostel
    - City Hotel
    - Jugendherberge
    - Berlin Hotel

to
- lookup: hotel
  examples: |

or
- lookup: hotel

to replicate the situation then try to fix it.

I changed the lookup from knowledgebasebot to this:
- lookup: hotel

and this is what I got:

As seen in yellow, it shows "'lookup: hotel' doesn't have any examples. It will be skipped." to the user, I'm not sure if this is what the issue #5956 was refering to, and it's already done.

I read the comments from the main issue, and it turns out the problem is quite different, so I changed the methods train and _text_features_with_regex to check if it found any feature and show a warning, as discussed in the issue. The changes can be seen in this commit.
But some changes need to be done.

Wouldn't it be necessary to verify that the sentence_features method is also null for all training examples?

I just changed the log notice format and it seems to be ok. What do you think, @arthurTemporim ?

Guys, I got a little further in our issue to validate if what we're doing was right and I figure out that this issue is from Rasa 1.10.2. So I searched into this version files and found that they didn't have a parse validator of NLU data, just a check if the file had a valid JSON or YAML.
In the updated version they've made the RasaYAMLReader class, which parses all NLU data files and validates things like Lookup tables and regex, so I don't think our issue still up.
(Also, I figure out that our solution didn't work, so... Win-win  :grimacing:)
Rasa 1.10.2 validator
Rasa 2.3.2 parser/validator

I agree with your analysis @iurisevero.


Rolling upgrade reconciler

Note: This has been rebased with the existing open PRs which is why there are extra commits.
There is still some work outstanding, but I wanted to get the draft open to start the discussion on the logic behind the reconciler.  @asafm I would also like your input here.
Data nodes will be provisioned as OnDelete statefulsets.  This will allow us fine grained control over what pods are deleted and when.  All nodes are now no longer parallel, but instead OrderedReadyPod, this combined with the added readiness checks will let the Kubernetes STS controller gracefully upgrade non data nodes.
For data nodes the logic will be as follows:

If new version is a downgrade log a warning and do nothing.
If new version is more than 1 major version above the current version log a warning and do nothing.
If not all pods are ready, wait for all to become ready.
If cluster health is not green, check the cluster routing allocation.

If the allocation is not all set it to all
Wait for cluster to become green

If all pods are ready and the cluster is green, set the routing allocation to primaries and then delete the next pod to be upgraded
Repeat until all nodes are upgraded

The order will be:

data nodes without master role
data nodes with master role
non data nodes

Non data nodes will just have the image updated in their spec, and will be updated by the Kubernetes controller.
Todo:

[x] Implement upgrade logic
[ ] Write unit tests
[ ] Manually test upgrade process.

I would definitely spend some time to document this reconciler into its own Markdown file. We can later move it some where else, but having a good design doc explaining how it works, the motivation, how it's to be tested, makes good sense to me. @dbason

@dbason I don't understand the context and/or motivation to use routing allocation dynamic setting in the process of version upgrade. Can you edit your original description and add more context?

@asafm this is the recommended procedure for a rolling upgrade with persistent storage.  This is to prevent shards being replicated on to other nodes while the node is being upgraded, and avoid the I/O and network costs associated with that.  I was thinking about this though and would like to add some configuration to make this optional for the ephemeral storage use case.
We could include an option to drain the nodes during upgrade.

Hi @idanl21 if it's helpful we can set something up to go through the changes.  I'm still working on a design document which should hopefully answer some of these issues.
There is a new function that calculates the image in helpers based on the component status.  When we are ready to upgrade the nodepool the image gets updated.  For data nodes the actual pods won't be updated until the pods are manually deleted as part of the reconciler (this is how OnDelete works).
Waiting for the status is handled by checking component statuses.  We include healthchecks and checking for cluster status green before continuing.
Currently there is no mechanism for rollbacks.  In the case of an upgrade that fails par of the way through the user should be able to change the version in the custom resource back to the original version which would then reconcile back to the stable version.  I'm open to discussion on this however we can't guarantee the safety of downgrades.
Currently we emit a warning to the logs, however I will update this to also emit to the events.

@asafm I have updated the description.  Also I have implemented a new option to drain data nodes before upgrade.  I believe this should support the use case of data nodes with ephemeral storage.

Hey @dbason
i will be happy to set a small call, to discuss about the feature and the feathers project instructions.
"If new version is a downgrade log a warning and do nothing." , we need to handle it in a case of an error and the user wants to roolback and downgrade, from my understanding there is no option to downgrade version in ES, the zen minimum setting has depreciated since ES 7 (also on Opensearch).  we should do it one by one, data nodes first and then masters ( like ES recommendation https://www.elastic.co/guide/en/elastic-stack/current/upgrading-elasticsearch.html)

Hey @dbason i will be happy to set a small call, to discuss about the feature and the feathers project instructions. "If new version is a downgrade log a warning and do nothing." , we need to handle it in a case of an error and the user wants to roolback and downgrade, from my understanding there is no option to downgrade version in ES, the zen minimum setting has depreciated since ES 7 (also on Opensearch). we should do it one by one, data nodes first and then masters ( like ES recommendation https://www.elastic.co/guide/en/elastic-stack/current/upgrading-elasticsearch.html)

I think it's worth more discussion about what the recovery process for a failed upgrade should be.  Maybe if we're rolling back minor or patch versions it's OK - we could add an additional option forceDowngrade to allow this behaviour.  Rolling back a major version is a different proposition though.  I think in this situation we could reasonably expect a user to redeploy the cluster and restore from a snapshot.

Hi @dbason. Does it perhaps make sense to move the recreate-pods-one-by-one logic into a more generic rolling restart reconciler? I'm thinking of the usecases of the user changing cpu/memory on a nodepool or changing a configuration setting that requires a restart. In all cases the restart/recreate-pods logic should be the same, the only thing that is different is the specific change made to the nodepool STS spec (image vs resources), so it makes sense to only have it once.

Good suggestion.  I do need to do some more testing around updating the sizing settings on a node, I can't remember whether these are immutable or not, if they are it's going to make scaling somewhat tricky.

I would move the design from the Description to the markdown design doc and reference the description to it. This will allow us to inline comments.

Absolutely, I'm working on the design document at the moment and should have it completed today

Hey Dan,  did you referred to that ? In the same way as Kibana OSS, OpenSearch Dashboards does not support rolling upgrades, but it supports restart upgrades. You are able to stop all Kibana OSS instances, deploy a new OpenSearch Dashboards instance and direct traffic to it. - from Opensearch Docs
https://opensearch.org/faq/

Hey Dan, did you referred to that ? In the same way as Kibana OSS, OpenSearch Dashboards does not support rolling upgrades, but it supports restart upgrades. You are able to stop all Kibana OSS instances, deploy a new OpenSearch Dashboards instance and direct traffic to it. - from Opensearch Docs https://opensearch.org/faq/

I've updated the Dashboards Deployment to use the Recreate strategy.  This will stop all the pods before updating them when the image changes