Download Button

Download button will be shown when ppt is generated and spinner is stopped
solve this please

i also try to add indicator but problem is download button always showed before generate ppt

Indicator looks really good! :) Click to download button is because of this line.  Click to Download in generator.html. It is always there to download powerpoint.
Can you make a new branch (ex. feature) and make a pull request to merge your code?

can you please change the download will available when indicator stop
spinning
On Sat, Oct 21, 2023, 8:07 PM Hina Ota @.***> wrote:

Indicator looks really good! :) Click to download button is because of
this line.
Click to Download
in generator.html. It is always there to download powerpoint.
Can you make a new branch (ex. feature) and make a pull request to merge
your code?
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1773823668,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKR2AWRVMQEPN62JW6TYAPQJLAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZTHAZDGNRWHA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

I'll try to change :)

if this download button issue solved then we will make the indicator better
and better ever we will show the time remaining indicator also
On Sat, Oct 21, 2023, 8:08 PM Moon Zaidi @.***>
wrote:

can you please change the download will available when indicator stop
spinning
On Sat, Oct 21, 2023, 8:07 PM Hina Ota @.***> wrote:

Indicator looks really good! :) Click to download button is because of
this line.
Click to Download
in generator.html. It is always there to download powerpoint.
Can you make a new branch (ex. feature) and make a pull request to merge
your code?
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1773823668,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKR2AWRVMQEPN62JW6TYAPQJLAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZTHAZDGNRWHA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

thank you so much hina for positive response when you will chnage then
notify me i want to add more premium  themes free and user will edit the
presentation which is generated with in website
On Sat, Oct 21, 2023, 8:10 PM Hina Ota @.***> wrote:

I'll try to change :)
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1773824721,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKRZE3IZ6FVCR2GRKNDYAPQVTAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZTHAZDINZSGE
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

Okay!

i removed or hide the download button which is always visible i do some
modifications in javascript when indicator is stop or hide (ppt is
generated ) then download button will be showed and user can download ppt
easily
with these changes i hope there is not problem with multiple users are
downloading or using this service
On Tue, Oct 24, 2023, 2:05 PM Hina Ota @.***> wrote:

Hello, I've been working on resolving the issue and here's what I've
observed. The challenge of displaying a download button hinges on the
completion of file generation, particularly a mechanism that checks for the
file within a designated folder. (Currently, you have to manually remove
the presentation from the folder each time you wish to toggle between the
indicator and the download button.) This is tied to the way the generated
presentation is stored in the folder, which isn't tailored for a real-world
application scenario, where multiple users might be accessing the server
simultaneously. In such cases, a different strategy for handling generated
presentations would be necessary.
As of now, the project is more focused on demonstrating the function
itself, and transitioning to a revised code structure to accommodate a more
robust file handling mechanism would require additional time. I am
pondering over potential solutions, but I am also open to suggestions
(including code implementations) from others, especially since this is an
open-source project :)
Thank you for showing interest in improving this project. If you have
suggestions or code modifications, it's recommended to create a new branch
(e.g., feature-branch) and initiate a pull request to merge with the main
branch (I will review it). Additionally, if you'd like to have a more
in-depth discussion about the project, feel free to contact me on Discord
(username: hinaota).
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1776812678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTMXMXAAAFAQ6HAIDLYA6ADXAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZWHAYTENRXHA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

I'm not in favour of removing download button I'm in favour of only hiding
with help of js (am i right ?)
On Tue, Oct 24, 2023, 3:38 PM Moon Zaidi @.***>
wrote:

i removed or hide the download button which is always visible i do some
modifications in javascript when indicator is stop or hide (ppt is
generated ) then download button will be showed and user can download ppt
easily
with these changes i hope there is not problem with multiple users are
downloading or using this service
On Tue, Oct 24, 2023, 2:05 PM Hina Ota @.***> wrote:

Hello, I've been working on resolving the issue and here's what I've
observed. The challenge of displaying a download button hinges on the
completion of file generation, particularly a mechanism that checks for the
file within a designated folder. (Currently, you have to manually remove
the presentation from the folder each time you wish to toggle between the
indicator and the download button.) This is tied to the way the generated
presentation is stored in the folder, which isn't tailored for a real-world
application scenario, where multiple users might be accessing the server
simultaneously. In such cases, a different strategy for handling generated
presentations would be necessary.
As of now, the project is more focused on demonstrating the function
itself, and transitioning to a revised code structure to accommodate a more
robust file handling mechanism would require additional time. I am
pondering over potential solutions, but I am also open to suggestions
(including code implementations) from others, especially since this is an
open-source project :)
Thank you for showing interest in improving this project. If you have
suggestions or code modifications, it's recommended to create a new branch
(e.g., feature-branch) and initiate a pull request to merge with the main
branch (I will review it). Additionally, if you'd like to have a more
in-depth discussion about the project, feel free to contact me on Discord
(username: hinaota).
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1776812678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTMXMXAAAFAQ6HAIDLYA6ADXAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZWHAYTENRXHA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

May I ask about the specific backend (server) and frontend (JavaScript) interactions you have implemented in your code to the project to achieve the showing and hiding of the indicator and download button?

i dont use backend but i use fronted modification in js

On Tue, Oct 24, 2023, 4:12 PM Hina Ota @.***> wrote:

May I ask about the specific backend (server) and frontend (JavaScript)
interactions you have implemented in your code to the project to achieve
the showing and hiding of the indicator and download button?
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777003145,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTHMBKDOXNOIBMBZZDYA6PB3AVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGAYDGMJUGU
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

$("#download-button").show()
On Tue, Oct 24, 2023, 4:16 PM Moon Zaidi @.***>
wrote:

i dont use backend but i use fronted modification in js

On Tue, Oct 24, 2023, 4:12 PM Hina Ota @.***> wrote:

May I ask about the specific backend (server) and frontend (JavaScript)
interactions you have implemented in your code to the project to achieve
the showing and hiding of the indicator and download button?
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777003145,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTHMBKDOXNOIBMBZZDYA6PB3AVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGAYDGMJUGU
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

Your code for the frontend side is going to really good approach.
However, here, we need to implement another code
// Assuming you have a way to determine when the presentation is

generated
// For example, when an AJAX request is complete or other event
// You can show the download button as follows:
We need to write a JS for making AJAX request, which is making API call to the server to check whether the presentation is created or not. After js got the confirmation, ("#download-button").show(); can work. This interaction between frontend and backend can be a bit complicated to implement, especially, we are storing the presentation in the folder, which for example if you don't remove it before you want to make new presentation, then it doesn't hide the download button because the presentation exists in the folder. The reason why I'm showing "Click to download" is omitting this process(removing the presentation from the folder), but it would be nice if this application can shift into something like download button appears after the creation of the presentation.

what you want to implement in which side front end and backend tell me I'm
free now days and i will do my best
On Tue, Oct 24, 2023, 4:32 PM Hina Ota @.***> wrote:

Your code for the frontend side is going to really good approach.
However, here, we need to implement another code
// Assuming you have a way to determine when the presentation is
generated
// For example, when an AJAX request is complete or other event
// You can show the download button as follows:
We need to write a JS for making AJAX request, which is making API call to the server to check whether the presentation is created or not. After js got the confirmation, ("#download-button").show(); can work. This interaction between frontend and backend can be a bit complicated to implement, especially, we are storing the presentation in the folder, which for example if you don't remove it before you want to make new presentation, then it doesn't hide the download button because the presentation exists in the folder. The reason why I'm showing "Click to download" is omitting this process(removing the presentation from the folder), but it would be nice if this application can shift into something like download button appears after the creation of the presentation.
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777029741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTKCDPNLVVQRCXEJ4TYA6RMTAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGAZDSNZUGE
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

I'm asking that this site can support multiple users request at same time
for ppt generate ?
On Tue, Oct 24, 2023, 4:34 PM Moon Zaidi @.***>
wrote:

what you want to implement in which side front end and backend tell me I'm
free now days and i will do my best
On Tue, Oct 24, 2023, 4:32 PM Hina Ota @.***> wrote:

Your code for the frontend side is going to really good approach.
However, here, we need to implement another code
// Assuming you have a way to determine when the presentation is
generated
// For example, when an AJAX request is complete or other event
// You can show the download button as follows:
We need to write a JS for making AJAX request, which is making API call to the server to check whether the presentation is created or not. After js got the confirmation, ("#download-button").show(); can work. This interaction between frontend and backend can be a bit complicated to implement, especially, we are storing the presentation in the folder, which for example if you don't remove it before you want to make new presentation, then it doesn't hide the download button because the presentation exists in the folder. The reason why I'm showing "Click to download" is omitting this process(removing the presentation from the folder), but it would be nice if this application can shift into something like download button appears after the creation of the presentation.
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777029741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTKCDPNLVVQRCXEJ4TYA6RMTAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGAZDSNZUGE
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

no no when download button appears and user click to download then there
will be pop show of window that user will be select path where he want to
save or download ppt
On Tue, Oct 24, 2023, 4:35 PM Moon Zaidi @.***>
wrote:

I'm asking that this site can support multiple users request at same time
for ppt generate ?
On Tue, Oct 24, 2023, 4:34 PM Moon Zaidi @.***>
wrote:

what you want to implement in which side front end and backend tell me
I'm free now days and i will do my best
On Tue, Oct 24, 2023, 4:32 PM Hina Ota @.***> wrote:

Your code for the frontend side is going to really good approach.
However, here, we need to implement another code
// Assuming you have a way to determine when the presentation is
generated
// For example, when an AJAX request is complete or other event
// You can show the download button as follows:
We need to write a JS for making AJAX request, which is making API call to the server to check whether the presentation is created or not. After js got the confirmation, ("#download-button").show(); can work. This interaction between frontend and backend can be a bit complicated to implement, especially, we are storing the presentation in the folder, which for example if you don't remove it before you want to make new presentation, then it doesn't hide the download button because the presentation exists in the folder. The reason why I'm showing "Click to download" is omitting this process(removing the presentation from the folder), but it would be nice if this application can shift into something like download button appears after the creation of the presentation.
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777029741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTKCDPNLVVQRCXEJ4TYA6RMTAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGAZDSNZUGE
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

i already have a ppt in generated folder now i will remove it and try again
On Tue, Oct 24, 2023, 4:45 PM Moon Zaidi @.***>
wrote:

no no when download button appears and user click to download then there
will be pop show of window that user will be select path where he want to
save or download ppt
On Tue, Oct 24, 2023, 4:35 PM Moon Zaidi @.***>
wrote:

I'm asking that this site can support multiple users request at same time
for ppt generate ?
On Tue, Oct 24, 2023, 4:34 PM Moon Zaidi @.***>
wrote:

what you want to implement in which side front end and backend tell me
I'm free now days and i will do my best
On Tue, Oct 24, 2023, 4:32 PM Hina Ota @.***> wrote:

Your code for the frontend side is going to really good approach.
However, here, we need to implement another code
// Assuming you have a way to determine when the presentation is
generated
// For example, when an AJAX request is complete or other event
// You can show the download button as follows:
We need to write a JS for making AJAX request, which is making API call to the server to check whether the presentation is created or not. After js got the confirmation, ("#download-button").show(); can work. This interaction between frontend and backend can be a bit complicated to implement, especially, we are storing the presentation in the folder, which for example if you don't remove it before you want to make new presentation, then it doesn't hide the download button because the presentation exists in the folder. The reason why I'm showing "Click to download" is omitting this process(removing the presentation from the folder), but it would be nice if this application can shift into something like download button appears after the creation of the presentation.
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777029741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKTKCDPNLVVQRCXEJ4TYA6RMTAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGAZDSNZUGE
.
You are receiving this because you authored the thread.Message ID:
@.***
.com>

Thank you again for your enthusiasm and willingness to contribute! To maintain a structured and effective collaborative environment, I’d recommend discussing further details and coordination on Discord (username: hinaota). This way, we can have a more organized conversation and address any questions or clarifications you may have in real-time.
Here’s a breakdown of the tasks and how you can start contributing.
Crating a new branch: Please check this documentation first: https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches
If you have any question, feel free to ask! (in Discord would be the best)
I would suggest to work on download button functionality first. After that we can figure out how to show preview for users, and so on. :)
Tasks:
Backend (Python):
Implement an endpoint to check the status of the presentation generation.
Frontend (JavaScript):
Implement an AJAX request to the new backend endpoint to check the presentation status.
Adjust the visibility of the download button based on the response from the backend.

I'm not on discord I'm on insta and whatsapp and fb i already text you on
instagram
On Tue, Oct 24, 2023, 5:08 PM Hina Ota @.***> wrote:

Thank you again for your enthusiasm and willingness to contribute! To
maintain a structured and effective collaborative environment, I’d
recommend discussing further details and coordination on Discord (username:
hinaota). This way, we can have a more organized conversation and address
any questions or clarifications you may have in real-time.
Here’s a breakdown of the tasks and how you can start contributing.
Crating a new branch: Please check this documentation first:
https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches
If you have any question, feel free to ask! (in Discord would be the best)
I would suggest to work on download button functionality first. After that
we can figure out how to show preview for users, and so on. :)
Tasks:
Backend (Python):
Implement an endpoint to check the status of the presentation generation.
Frontend (JavaScript):
Implement an AJAX request to the new backend endpoint to check the
presentation status.
Adjust the visibility of the download button based on the response from
the backend.
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777081424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKQKKDINEWZVJPIU75TYA6VSVAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGA4DCNBSGQ
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

Oh okay, I'm going to check

instagram (alientertainer1)
On Tue, Oct 24, 2023, 5:24 PM Hina Ota @.***> wrote:

Oh okay, I'm going to check
—
Reply to this email directly, view it on GitHub
https://github.com/otahina/PowerPoint-Generator-Python-Project/issues/8#issuecomment-1777104790,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SSGKXWOB25VC46RTT3BODYA6XQTAVCNFSM6AAAAAA6J3U2KOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGEYDINZZGA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


Add another simple example

Tick tack toe game, todo list, quizz etc.
What is your simplest web project ? Try to convert it to use the core concept and add it in the examples.

@GrosSacASac I would Like to implement the TicTacToe game. for core.js

Can you assign me this?

Go ahead, and don't hesitate to ask questions along the way

If you'd like help with these examples, whether it's code review, collaborative writing, or advice on pedagogy, I'd like to help.

feel free to add more examples

Added example/draw, try it out !
I am closing this issue as solved but feel free to add more


[Feature request] Support shell commands in revset aliases

In a typical git alias section, aliases can execute either a git command or a shell command:
[alias]
  # Git command
  pushForce = push --force-with-lease
  # Shell command
  fetchRebase = "!git fetch origin master && git rebase origin/master && git update-ref refs/heads/master origin/master"

It would be great to be able to do the same with revset aliases:
[branchless "revsets.alias"]
  # Git branchless command
  grandChildren = children(children($1))
  # Shell command
  pushed = "!are_commits_pushed($1)"

I would love to add the 'enhancement' label to this, but I don't see a way to do that. I hope someone else can help with that!


⚠ Bofrost.de has degraded performance

In 41b4cec, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 803 ms

Resolved: Bofrost.de performance has improved in edc27a8 after 11 minutes.


Seven Segment Optical Character Recognition

Hi, thank you for your library.
Can i use it to recognize Seven Segment Character?
What i need to do for it (to download font and to train )?
I want to recognize digits from odometer.

#1 has a bit of info on this topic


[VSCode] Support drag and drop of files (pdf and images) into the typst editor

Motivation
Writing function to include images etc. is tiresome.
Description
VSCode allows to transform the drag and drop behavior for different file types into the code editor.
The markdown extension already supports this:

You can take a image file and drag it with your mouse into a markdown file.
The text that is pasted into the markdown file then becomes the correct markdown code to include the image.
For more information see here

It would be amazing if we could have this feature for typst as well.
For example to drag an image into a typst file results in:
#image("path_to_image.jpg")

Or dragging a typst file into another typst file results int:
#include "path_to_typst_file.typ"

It is great to have a integrated drag-and-drop function into tinymist. This is because we can customize not only behaviors of dragging and dropping images, but any files: by generating "calls to typst's read functions". But it is marked as low priority since you can reuse some efforts from other extensions, For example, vscode-paste-image. This also means someone can adapt the code from that extensions to tinymist to allow better integration with typst.

The old idea in mind:
supports by builtin readers:

drop images (.jpg, .png, .svg, etc.) -> generate image("path.img").
drop web urls -> ask and download images and generate image("assets/path.img").
drop typst source files -> #include "path.typ" and change select to #include to help user change to #import quickly if they would like to.

supports by packages:

drop webp (not supported by typst) -> generate #grayscale-image("path.webp") (supported by @preview/grayness)
drop markdown files -> #cmarker.render(read("path.md")) (supported by @preview/cmark)
drop latex files -> #mitex(read("path.tex")) (supported by @preview/mitex)

Since it is not a core functionality, I think it is not hard to be contributed by anyone.

Hello, is pasting an image form clipboard also supported ?

No, considering there are many mime types to handle, we only support drag and drop files first. But it is easy to extend this to access png images in the data transfer object. In short, there are many mime type to handle:

[x] text/plain (url), file scheme
[ ] text/plain (url), http/https scheme
[ ] text/markdown
[ ] text/x-tex
[ ] image/png
[ ] image/jpeg
[ ] image/bmp
[ ] image/svg+xml
[ ] image/webp

I think it would be good, to at least have support for png files (like the markdown plugin), since you can't drag 'n drop a screenshot.
(Although maybe it needs a separate issue)

@Myriad-Dreamin do we need to open a new issue for paste-image functionality?

Sure.


fix(react-scripts): disable custom TS PnP resolve for Yarn >= 2

What's the problem this PR addresses?
Importing .json files causes TypeScript builds to fail with
TypeScript error in /path/to/project/src/App.tsx(4,18):
Cannot find module './foo.json' or its corresponding type declarations.  TS2307

Fixes https://github.com/facebook/create-react-app/issues/9172
Fixes https://github.com/facebook/create-react-app/issues/10455
How did you fix it?
Disabled the custom resolve provided to ForkTsCheckerWebpackPlugin when using Yarn >= 2. This fixes the issue since Yarn 2+ adds support for PnP directly to TypeScript which has access to the correct compilerOptions, the one passed to ts-pnp is an empty object.

Closing since it was removed in https://github.com/facebook/create-react-app/pull/11201


Dump cells to enable custom front-end functionalities

Fixed merge issues for #1019
It now dumps the cell list as a json into data/cells-$username.json, so
that more front-ends can use this information (I'm working on a
Kivy-based one).

👍


Updated for PM5

Error: "Call to a member function getPosition() on null" (EXCEPTION) in "plugins/VanillaFishing-PM5/src/santana/fishing/entity/FishingHook" at line 250

This error cannot be real because line 250 wasn't changed.

And please give me information about how to reproduce this issue.

💀i just got the notification for this


RocksDB production ready

Summary
RockDB experimental support was added in V20.0 and further improvements made in V21. This milestone would approve the RocksDB implementation as ready for use in production nodes on the main network, including representatives.
What problem would be solved by this feature?
Improved disk IO in various operational conditions, including with larger ledger sizes. Also adds second backend support for some redundancy in the case of broad failures with LMDB.
Related Links

Various recent RocksDB improvements
Early RocksDB testing results

See https://docs.nano.org/releases/release-v22-0/


[test/plugin] immigrate test zookeeper scenario.

Please answer these questions before submitting pull request

Why submit this pull request?

[ ] Bug fix

[x] New feature provided

[ ] Improve performance

Related issues
https://github.com/apache/skywalking/issues/3583#issuecomment-567320256

Codecov Report

Merging #4106 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #4106      +/-   ##
=========================================
- Coverage   27.31%   27.3%   -0.01%
=========================================
  Files        1140    1140
  Lines       25027   25027
  Branches     3619    3619
=========================================
- Hits         6835    6833       -2
- Misses      17587   17589       +2
  Partials      605     605

Impacted Files
Coverage Δ

.../core/remote/ServiceAndEndpointRegisterClient.java
44.94% <0%> (-2.25%)
:arrow_down:

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 4ed21e1...21bc412. Read the comment docs.


Fix dock width not respecting editor scale

Closes https://github.com/godotengine/godot/issues/96337
Dock manager was missing some EDSCALEs. This PR makes it store unscaled values in editor_layout.cfg so that correct values can be calculated for the current editor scale when config is loaded
Technically this "breaks compatibility" with the old config values, but considering all it'll do is make docks larger one time for HiDPI users who switch existing projects from 4.3 to 4.4, it's probably not a big deal

Thanks!


[HUDI-663] Fix HoodieDeltaStreamer offset not handled correctly

What is the purpose of the pull request
More detail, please go ahead with https://github.com/apache/incubator-hudi/issues/1375

the first commit content like following:

{
  "partitionToWriteStats" : { },
  "compacted" : false,
  "extraMetadata" : {
    "ROLLING_STAT" : "{\n  \"partitionToRollingStats\" : { },\n  \"actionType\" : \"commit\"\n}",
    "schema" : "{\"type\":\"record\",\"name\":\"stock_ticks\",\"fields\":[{\"name\":\"volume\",\"type\":\"long\"},{\"name\":\"ts\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"},{\"name\":\"year\",\"type\":\"int\"},{\"name\":\"month\",\"type\":\"string\"},{\"name\":\"high\",\"type\":\"double\"},{\"name\":\"low\",\"type\":\"double\"},{\"name\":\"key\",\"type\":\"string\"},{\"name\":\"date\",\"type\":\"string\"},{\"name\":\"close\",\"type\":\"double\"},{\"name\":\"open\",\"type\":\"double\"},{\"name\":\"day\",\"type\":\"string\"}]}",
    "deltastreamer.checkpoint.key" : ""
  },
  "operationType" : "UPSERT",
  "fileIdAndRelativePaths" : { },
  "totalRecordsDeleted" : 0,
  "totalLogRecordsCompacted" : 0,
  "totalScanTime" : 0,
  "totalCreateTime" : 0,
  "totalUpsertTime" : 0,
  "totalCompactedRecordsUpdated" : 0,
  "totalLogFilesCompacted" : 0,
  "totalLogFilesSize" : 0
}

the second commit will use the last checkpoint {}, which means the fromoffset is 0.
but the previous messages may be removed because of kafka retention mechanism.
so the low_watermark is greater than 0.

Brief change log

double check the lastCheckpointStr

Verify this pull request
Follow steps: https://github.com/apache/incubator-hudi/issues/1375
Committer checklist

[X] Has a corresponding JIRA in PR title & commit

[X] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Thanks @lamber-ken for digging into this issue.
I am curious about how did you store the empty checkpoint in the metadata? Is that produced by the delta streamer?

Thanks @lamber-ken for digging into this issue.
I am curious about how did you store the empty checkpoint in the metadata? Is that produced by the delta streamer?

😄 thanks, you're welcome. There are two different cases will store the empty checkpoint.

Create a kafka topic(don't produce any data to kafka) which means a topic with no messages, then start the delta streamer, hudi will store the empty checkpoint.

Set auto.offset.reset=latest and use a new target-base-path. like #1375 says.

@garyli1019 can you drive this review? :). I can merge once I have a 👍  from you

Will come back, after #1373, it may needs more time to debuging.

then start the delta streamer, hudi will store the empty checkpoint.
Re-reading this again.. Is this the right behavior? I think there are a few cases now handled in delta-streamer that has made life a bit complicated..

Reason for writing such empty checkpoint could be that - we want to write checkpoints even for empty commits, since it could have read data but the transformer could have filtered all of that out..
I think the right fix could be to checkpoint the actual fromOffsets instead of empty checkpoint..

the second commit will use the last checkpoint {}, which means the fromoffset is 0.
but the previous messages may be removed because of kafka retention mechanism.

I'd appreciate it if we took into consideration how checkpoint is handled in a general source agnostic way and also fix this issue..

Create a kafka topic(don't produce any data to kafka) which means a topic with no messages, then start the delta streamer, hudi will store the empty checkpoint.

I assume there will be partitions created already.. So instead of special casing the empty checkpoint for a specific source (which seems higher maintenance), can we make the code store an actual checkpoint.. Our contract can be that if a checkpoint is stored, then it is indeed non empty..
I am with @garyli1019  that erroring out on empty checkpoints is better.. Not sure if we expect an empty checkpoint in other sources as well

Codecov Report

Merging #1377 into master will decrease coverage by 66.32%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master   #1377       +/-   ##
============================================
- Coverage     66.96%   0.64%   -66.33%
+ Complexity      223       2      -221
============================================
  Files           334     289       -45
  Lines         16276   14375     -1901
  Branches       1661    1467      -194
============================================
- Hits          10900      92    -10808
- Misses         4639   14280     +9641
+ Partials        737       3      -734

Impacted Files
Coverage Δ
Complexity Δ

...apache/hudi/common/model/HoodieDeltaWriteStat.java
0% <0%> (-100%)
0% <0%> (ø)

...org/apache/hudi/common/model/HoodieFileFormat.java
0% <0%> (-100%)
0% <0%> (ø)

...g/apache/hudi/execution/BulkInsertMapFunction.java
0% <0%> (-100%)
0% <0%> (ø)

.../common/util/queue/IteratorBasedQueueProducer.java
0% <0%> (-100%)
0% <0%> (ø)

...rg/apache/hudi/index/bloom/KeyRangeLookupTree.java
0% <0%> (-100%)
0% <0%> (ø)

...e/hudi/common/table/timeline/dto/FileGroupDTO.java
0% <0%> (-100%)
0% <0%> (ø)

...apache/hudi/timeline/service/handlers/Handler.java
0% <0%> (-100%)
0% <0%> (ø)

...che/hudi/common/table/timeline/dto/LogFileDTO.java
0% <0%> (-100%)
0% <0%> (ø)

.../common/util/queue/FunctionBasedQueueProducer.java
0% <0%> (-100%)
0% <0%> (ø)

...che/hudi/index/bloom/ListBasedIndexFileFilter.java
0% <0%> (-100%)
0% <0%> (ø)

... and 299 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 5f85c26...0197788. Read the comment docs.

Thanks for reviewing @garyli1019 @vinothchandar. Had updated the pr by double check empty checkpoint in KafkaOffsetGen#checkupValidOffsets.

I'd appreciate it if we took into consideration how checkpoint is handled in a general source agnostic way and also fix this issue..

This is good idea as bvaradar suggested, but it seems impossible, because different data streams handle empty checkpoint in different way.

Sorry, I revert it, already handled the empty checkpoint by KafkaOffsetGen.KafkaResetOffsetStrategies

I am bit confused at this point for the PR.. Can you summarize where we are at?

I am bit confused at this point for the PR.. Can you summarize where we are at?

hi @garyli1019 as we talked:
Both cfg.checkpoint and deltastreamer.checkpoint.reset_key are same thing.
User can use auto.offset.reset to control bebavior to datasource. do you have any other ideas?

discussed with @lamber-ken offline, summary:

We found the empty checkpoint is actually not a bug. https://github.com/apache/incubator-hudi/blob/master/hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/DeltaSync.java#L331
We need to think about how to handle it. Should we handle the empty checkpoint or we set a special marker to identify this case? This question should be addressed in this PR.

There are three places that will possibly reset the checkpoint
https://github.com/apache/incubator-hudi/blob/master/hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/DeltaSync.java#L260
https://github.com/apache/incubator-hudi/blob/master/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/KafkaOffsetGen.java#L186
https://github.com/apache/incubator-hudi/blob/master/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/KafkaOffsetGen.java#L222
We need somehow simplify this. This could be a separate task from this PR.

https://github.com/apache/incubator-hudi/blob/master/hudi-utilities/src/main/java/org/apache/hudi/utilities/deltastreamer/DeltaSync.java#L331
This is handling the case that the transformer filtered everything out, but we want to do an empty commit to record that the offsets moved.

The resets happening around Kafka, should be left alone IMO.. It can happen due to variety of reasons like topic retention kicking in etc..
For this PR, I am not sure if we want to special case an empty string.. ? Can we formulate the problem we are trying to solve again..

@vinothchandar I thought the empty checkpoint was created by a bug before, but if the empty checkpoint is intended then we need to somehow handle it like this PR
If resetting the checkpoint when an empty checkpoint present makes sense to you guys then I think this PR should be good to go.

@garyli1019 thanks very much for your detail comment.


refactor: rename ModelViewSet class attr model to model_class

#51
Rename model to model_class

Hi @chengfangho,
Firstly, I want to express my gratitude again for your contributions to this project - it's fantastic to have you involved!
I noticed that you've created a new pull request to make amendments to your previous changes. While this works, it would be preferable in the future if you could update your existing PR with any new changes. This helps keep our project history clean and easy to follow.
Updating an existing PR is quite straightforward. If you're unsure about how to do this, you can follow these steps:

If you have forked the repository, first ensure your fork is up-to-date with the main repository. You can do this by adding the main repository as an upstream repository using:

git remote add upstream https://github.com/hbakri/django-ninja-crud.git

And then fetch the upstream branches with:
git fetch upstream

Checkout your local branch associated with the PR.
Now, rebase your branch with the upstream main branch using:

git rebase upstream/main

This will replay your commits on top of the upstream main branch, which helps in maintaining a clean, linear project history.

If there are conflicts between your branch and the main branch during the rebase, you'll need to resolve these conflicts.
Once the rebase is complete and conflicts are resolved, you can continue making your changes and commit them to that branch.
After committing your changes, you'll need to update your remote branch using:

git push origin <your-branch> --force

The PR will automatically update with your new commit.
For now, I'll go ahead and close this second PR. If there are additional changes to be made, please update the original PR.
Again, thank you for your contributions, and I look forward to working more with you in the future.


[Bug] Cannot Compare Decimals in logicString

I have discovered that it is not possible to compare values if one is a decimal written by the user into the logicString. For example, the logic string if 1 < .2 results in the below screenshot.

I believe this has a workaround which is encapsulate the value in quotes, meaning it is passed safely through the function until it reaches the typecast at which point it is successfully added as a float. For example:
if 1 < ".2"

Testing if the following regex will work (added . to the various capture groups for alphanum):
((\"(.*?[^\\])\"|([a-zA-Z0-9\.]+(\[(.*?)\])+)|([a-zA-Z0-9\.]+(\((.*?)(\)\)|\)))+)|\[(.*?)\]|([a-zA-Z0-9\.]*)))\s?( not match | match | not in | in |==|!=|>=|>|<=|<)\s?((\"(.*?[^\\])\"|([a-zA-Z0-9\.]+(\[(.*?)\])+)|([a-zA-Z0-9\.]+(\((.*?)(\)\)|\))( |$))+)|\[(.*?)\]|([a-zA-Z0-9\.]*)))


Add memes/choose-your-pain

Could you do it with authors thing? if you'd like I could commit it for you but I need relevant info. Feel free to check other merged PR's


Feature/open docs option

Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Motivation and Context
Why was this PR created?
Closes https://github.com/quantumblacklabs/kedro/issues/86
How has this been tested?
What testing strategies have you used?
Similar testing strategy as kedro.cli with docs.
Checklist

[x] Read the contributing guidelines
[x] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[] Updated the documentation to reflect the code changes
[] Added new entries to the RELEASE.md file
[x] Added tests to cover my changes
[ ] Assigned myself to the PR

Turns out the issue was using pathlib's resolve, in Python3.5 if the filepath doesn't exist (as it doesn't when being mocked), an error is thrown, necessitating the use of mocking that method on the Path object.
Incidentally, whilst researching this issue, I came across a few articles about the smell and danger of using .assert_called_once which the existing Kedro test that mocks webbrowser uses (and nowhere  else) here:
https://github.com/quantumblacklabs/kedro/blob/d2c9648794cdda5ad28ea99cfc2661c076876932/tests/cli/test_cli.py#L185-L188
I think this would be better if patched_browserr.assert_called_once() was replaced with patched_browser.call_count == 1 (I didn't think raising an issue or a PR was necessary for such a a tiny thing).

Not sure it's worth editing the documentation (https://github.com/quantumblacklabs/kedro/blob/develop/docs/source/03_tutorial/05_package_a_project.md or https://github.com/quantumblacklabs/kedro/blob/develop/docs/source/06_resources/01_faq.md) so I haven't, but if you think it should - I'm happy to.

Not sure it's worth editing the documentation (https://github.com/quantumblacklabs/kedro/blob/develop/docs/source/03_tutorial/05_package_a_project.md or https://github.com/quantumblacklabs/kedro/blob/develop/docs/source/06_resources/01_faq.md) so I haven't, but if you think it should - I'm happy to.

Just saw this, sorry. Maybe a note in 05_package_a_project.md would be nice ("to quickly inspect this, run my awesome command"), but I wouldn't worry about it, it's far from being a blocker on merging this.

Maybe a note in 05_package_a_project.md would be nice

Actually template/{{cookieutter.repo_name}}/README.md would be more relevant.


Want to understand better why native extensions are failing on CircleCI

I managed to get CircleCI build passing for the https://github.com/bazelruby/ruby-monorepo repository, but only after I removed rubocop and other gems that depended on gems needing native extensions. I am able to install rubocop and run it on CI via a BASH script, but not via Bazel.
Here is one example CI build that failed installing a gem with native extension:
https://app.circleci.com/jobs/github/bazelruby/ruby-monorepo/40
The actual error is this:
ake "DESTDIR="
compiling adj_matrix.c
gcc: error trying to exec 'cc1': execvp: No such file or directory
make: *** [Makefile:245: adj_matrix.o] Error 1

Is this issue already fixed in master?

So, rubocop depends on a gem with a native extension. The build passed after I removed rubocop from the gemfile and installed it manually.
Here is the build that failed while rubocop was still in the gemfile:
https://app.circleci.com/jobs/github/bazelruby/ruby-monorepo/40/parallel-runs/0/steps/0-105

It appears that changing JVM args to increase memory fixes this issue, and native extension are able to be built. This + removing env -i.


AppenderMetrics

Draft just to share ideas and get feedback on file aggregation metrics (which can be used to get metrics while writing avro files, #837).
Questions:

metric bounds (min / max) are linked to the serialization format (or are storage agnostic)? It looks like are storage agnostic see Conversions.
A generic appender like this, which module should be placed in?

I built TestAppenderMetrics just as a usage example.
Comments welcome.

Thanks for picking this up, @maqroll! I'll try to review the draft later today.

@maqroll, this looks like a great start! I left a few comments, but it's mostly looking good.


refactor!: remove sla pallet, reward stake is now issued tokens

Signed-off-by: Gregory Hill<EMAIL_ADDRESS>

Will address outstanding issues in a separate PR.


Auto annotation with personal models

Hello,
Is there a way in which I can upload my own model in order to use the auto annotation functionality? In this moment I am able just to run with the default model. I don't see anywhere a function which I can use to upload my model.

I've build the project as is summarized here: https://github.com/opencv/cvat/blob/develop/components/tf_annotation/README.md.
The login page looks like this:

It is required another component to be installed to have the option to load my models? Thank you! :)

@RasidCetin
Yes, you can upload your custom models for automatic annotation.
For more information, please refer to this page.
Also, you need build CVAT with OpenVINO component.
I recommend to use R5 version.

Hi @RasidCetin ,
I hope we answer on the question. I will close the issue. If you have any other questions please use https://gitter.im/opencv-cvat channel.

Literally all of the links above are now broken:
https://github.com/openvinotoolkit/cvat/blob/develop/components/tf_annotation/README.md
https://github.com/openvinotoolkit/cvat/blob/develop/cvat/apps/auto_annotation/README.md
https://github.com/openvinotoolkit/cvat/tree/develop/components/openvino

@getcontrol
Could you please submit a separate "Documentation" issue? The documentation has recently been significantly modified and it is why you can notice some dead links now.


Checkpoint sync is not working when finalized state is transitioned with empty slots

Description
If finalized epoch ends with empty slot(s) most clients provide state transitioned to the end of the epoch, so it cannot be used for AnchorPoint initialization without extra work. To fix this we should also request finalized block header from peer and patch finalized state so it could be used for AnchorPoint.
Discussion on Discord: https://discord.com/channels/697535391594446898/697539289042649190/1202083995815522364

Internal discussion: https://consensyssoftware.atlassian.net/wiki/spaces/PEG/pages/399517614166/Starting+from+transitioned+AnchorPoint+discussion


unsupported %f and %i replacements

console.log offers %f and %i as replacements which are unsupported by this package.
%f is an alternative to %d where %i floors the numeric value.
e.g.
console.log('%f', 42.9) //> 42.9
console.log('%i', 42.9) //> 42

Is it a goal of this lib to support those replacements?

I would say so! Would you like to send a PR?

Thanks for the quick response. Yes will do.

Thanks for merging


[Unity][Transform] Implement ExpandTupleArguments

Relax functions used as subroutines may receive a tuple of arguments, but only use a subset of the arguments provided.  For externally-exposed functions, this is unavoidable, as the function signature may not be updated without breaking compatibility.  For internal functions, all callsites are contained within the IRModule, and can be updated at the same time as the function signature.
This PR implements ExpandTupleArguments, which replaces R.Tuple parameters with separate parameters, when they occur in a private function.

Rebased onto unity to keep CI results fresh.


trained model

I am gald to see this fantastic repository.
I encounter a problem, this link (https://drive.google.com/file/d/1mVWFScBHFeA7oVxQzWb8QbKfTi3TToUr/view?usp=sharing) is not available now, so counld you send your trained model to<EMAIL_ADDRESS>Thanks a lot!

@YC-wind
If you are in mainland China and have no access to Google, please try to download the trained model here:
https://pan.baidu.com/s/1flLv8LkrUzlC77j1JXaI2A

@bshao001
Thank you very much, It works!


I want to use your krypy,and i have a question ,for your gmres,can I use LinearOperator of scipy so that i can perform matrix vector products the same as gmres of scipy?thanks

I just tested it. It's great,thanks again

I'm glad it works!


feat(core, abi): support shorthand function declarations

Motivation
See https://github.com/gakonst/ethers-rs/issues/446
Solution
Support shorthand function declarations

Another thing that may worth the issue: redesign human readable ABI parsing, so it doesn't split the strings 9999 times but iterate the tokens instead 😄

Definitely, when I first wrote this I used the internal ethabi parser as the basis for that.
Tokenization would be much nicer, but at least the human readable abi does only add to compile-time in abigen!
+1 for follow up issue, parts of solang could be useful for that,


HHH-9840 Allow custom key implementations for 2nd level cache regions and define a typesafe contract for keys

https://hibernate.atlassian.net/browse/HHH-9840

From JIRA:
I would like to allow second level cache providers the option to use custom key implementations.
The current default key implementation is very generic and is quite a large object to allocate in large quantities at runtime.
In some extreme cases, for example when the hit ratio is very low, this was making the efficiency penalty vs its benefits tradeoff questionable.
Depending on configuration settings there might be opportunities to use simpler key implementations, for example when multi-tenancy is not being used to avoid the tenant identifier, or when a cache instance is entirely dedicated to a single type to use the primary id only, skipping the role or entity name.
Even with multiple types sharing the same cache, their identifiers could be of the same org.hibernate.type.Type; in this case the cache container could use a single Type reference to implement a custom equality function without having to look up the Type on each equality check: that's a small optimisation but the equality function is invoked extremely frequently in many practical configurations.
Another reason is to make it more convenient to implement custom serialization protocols when the implementation supports clustering.
It might open the doors to more complex improvements, like HHH-9780.

I left a few line comments.  Overall I still question defining the factory methods on the access strategies rather than on the RegionFactory.  I get why you want it here.  I just think its a trade off that needs to be discussed.

I've pushed a fix for the method names, missing factory instance and typos but didn't add the overloaded methods yet.

@Sanne Could you clarify then why is the factory method on access strategy? I wouldn't put that directly into RegionFactory since the type of key should be per-region, but having that on Region would make better sense to me. But maybe (and very likely) I am missing something.
I was also trying to figure out in what situations is it necessary to have collectionRole in the key; it seems to me that there is a separate region for each role.

@Sanne this may be somewhat coming out of left field, but why all these CacheKey subtypes? More so, why the getters on each of these? If the implementation can do whatever, why would it need to "store" all that info in there? Pushing it to the extreme, couldn't the CacheKey just be Object ?
I see that maybe some type safety, to help the developers on ORM itself, is gained by all the types. Not that is neglectable, on the contrary. But I still fail to see the use of the getters. Doing a quick check, I think these aren't really used anyways (other than a couple of occurrences). Anyways, maybe pushing this too much to the simplest form here...

@alexsnaps Hi! thanks for looking.
Right, I was actually going to propose removal of all methods from the interfaces; they are there as the existing CacheKey implementation did have them and some tests used them; since I'm not familiar with this code area, when switching to interfaces I've been as conservative as possible.
Since @sebersole suggested to change some of those methods (from 'getEntityOrRoleName' to the more specific 'getEntityName' for entities, and similarly for collections), I'm guessing that being conservative on these methods isn't on his priorities.
@sebersole could we agree then on completely removing all these methods?
My first priority was to allow using alternative implementations, and make sure the ORM 5 API wouldn't need further changes to do many possible smart things. What exactly is not defined, but my point is just that: to make sure the contract doesn't stand in the way of future experimentations and improvements.

@rvansa

Could you clarify then why is the factory method on access strategy? I wouldn't put that directly into RegionFactory since the type of key should be per-region, but having that on Region would make better sense to me. But maybe (and very likely) I am missing something.

I have only a weak reason: noticed that all points in the ORM code which are using the cache, have primarily a reference to the AccessStrategy, while the Region needs to be retrieved.
It's possible that they fit better on Region, but it just seems that all relevant code which us using this is dealing with the AccessStrategy.
I'll give the alternative a shot if I find some free time.. definitely a good question!

I was also trying to figure out in what situations is it necessary to have collectionRole in the key; it seems to me that there is a separate region for each role.

As I'm understanding it, you could store multiple roles in the same cache.
And indeed, making the collectionRole unneccessary is one of the things I'm aiming at. Currently since you have to use the CacheKey implementation, it's always considered: so always a memory cost and always incorporated in both equals and hashcode computations.

@alexsnaps

this may be somewhat coming out of left field, but why all these CacheKey subtypes?

The NaturalIdCacheKey was different already, then we had the CacheKey which was used for both entity and collections. I transformed both to interfaces, and split CacheKey in two contracts.

Pushing it to the extreme, couldn't the CacheKey just be Object ?

It could! The original idea was to add a method on the CacheKey interface which would conceptually do "toEntityKey" to allow a transformation into the kind of keys which the persistence context uses: to reuse the key instance rather than having to allocate a key. The PersistenceContext needs a different API for its keys though, so rather than reusing the same instance as-is we where thinking of making this "toEntityKey" so that some key implementations in which this reuse was possible could do it.
For that trick to fly though I need to explore some more things, and TBH it looks like it's not going to fly.. I don't normally work on ORM though: my time on this experiment is limited to some evening scraps, so talking with Steve we thought the change to interface (from implementation) was a good first step.
I'm actually torn on the idea of using Object as a key directly for another reason: while I like the typesafety of the current proposal - and the possibility to add smarter methods on it in future - it would also be interesting for some configurations in which all of the tenantId and also the type and the role names are redundant, to use straight away the entity id w/o any wrapping.
That would only be feasible by accepting Object of course, but would that be worth it? Doing that to avoiding a single wrapper with a single field seems quite aggressive.
I was also considering a refactoring of the PersistenceContext container, so that entries would be organized in per-type containers rather than a single map; if we were to do that, the EntityKey instances would become totally redundant, and so also the option to reuse keys from the cache.

I have tried to build something on top on that in https://github.com/rvansa/hibernate-orm/tree/HHH-9843 - though I am not using any special key, rather just not filling the entityOrRoleName. Creating a matrix/hierarchy with some fields ommitted would lead to class explosion, and I am not sure that the 4-8 bytes spared is worth it.
Regrettably, Type is still required, I'll think about ways to work around that.

@rvansa the 4-8 saved bytes mean 33% shaved off from one of the largest allocation points.
On the type: yes I guess it's still needed for the current cache implementations.
When I mentioned using an externally defined Equality function plugged into the Cache container, I'm not referring to any known / existing feature of Infinispan or Ehcache.
Just making sure that such Cache implementors could take advantage of such a thing in the future.
The point is that APIs in Hibernate ORM are maintained with a very strong sense of stability, this is one of the opportunities to change them. And time is ticking, so we need to focus on getting the API requirements out of the way to allow future improvements in all implementations.

Sanne, in our IRC discussion I said that the specific methods on CacheKey are not used and could go away.  In fact in our "pair design" of this I thought we had agreed that these contracts would have just one method... for conversion.  I was simply pointing out that if you are going to (1) split out specific CacheKey types and (2) expose their state that the state ought to be specific.  E.g. EntityCacheKey#getEntityOrRole makes no sense imo.  So if you are going to expose that state, then it should be EntityCacheKey#getEntityName.  That said, however, I still think the methods do not really add much.
I like the added type-safety of splitting the interfaces.  Implementors should still have a single impl if they wish, implementing all interfaces.

While type-safety is definitely a good think, the ability to use plain Object and the external equality function sounds more and more appealing, memory-consumption-wise. And if we want only converter methods, it sounds like a way to go.

While type-safety is definitely a good think, the ability to use plain Object and the external equality function sounds more and more appealing, memory-consumption-wise. And if we want only converter methods, it sounds like a way to go.

+1
Alex proposed this initially so I think he would prefer that too.
@sebersole may I change the keys back to Object? After discussing with the cache implementors, it imposes a restriction which we'd prefer to avoid.
The added typesafety was nice to work with but we can think of an alternative compile-time only check in the future, something like findbugs's 'Nonnull' annotations: that would give the same safety against completely broken refactoring steps but without taking away flexibility from caches.

That's fine.  In retrospect having specific contracts essentially breaks the whole point here of allowing providers to reuse their underlying key impls.
As for additional checks later during the build, meh.  If you have time and an itch, go for it.

I don't have time for adding additional checks at compile time now, it was just to say what we could this about doing that in the future, in case someone would really want the typesafety.
Happy to just change to Object!

@Sanne So, in the end the region / region factory methods will continue to take Object as key? I understand the changes suggested to ORM internals to reduce memory, but if we can carry on with keys as Object, I'd rather that too.
Not sure I understood the entire discussion about externally provided comparison functions, but this is something Infinispan's had for a while, and indeed reduces the requirements on the keys since some keys do not have good equals impls, e.g. arrays.

Replaced by https://github.com/hibernate/hibernate-orm/pull/976

closing this, as it's replaced by #976


Test auth/connection messges

We prefer small, well tested pull requests.
Please refer to Contributing to Spinnaker.
When filling out a pull request, please consider the following:

Follow the commit message conventions found here.
Provide a descriptive summary for your changes.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Add inline code comments to changes that might not be obvious.
Squash your commits as you keep adding changes.
Add a comment to @spinnaker/reviewers for review if your issue has been outstanding for more than 3 days.

Note that we are unlikely to accept pull requests that add features without prior discussion. The best way to propose a feature is to open an issue first and discuss your ideas there before implementing them.
https://devopsmx.atlassian.net/browse/OP-19081

This PR successfully triggered this build https://jenkins.opsmx.net:8181/jenkins/job/Dev-gate-forargo/78/


Gist source-code was not updated

Problem Summary
zplug does not update source-code updated by gist.
System Information

uname -a

Darwin sachin21dev.local 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep  1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin
```

zsh version

2.2.4
```

zplug version/commit

67689eee25a6eb67ca7037f448966a6c205abc1b
```
Minimal zshrc
Create a minimal reproducing set of configurations for this issue. Please
remove all unnecessary parts!
source ~/.zplug/init.zsh

zplug "tarrasch/zsh-bd"
zplug "zsh-users/zsh-syntax-highlighting", nice:19
zplug "b4b4r07/emoji-cli"
zplug "sachin21/81cb1e8a65845bbb8f7c", from:gist, as:command, use:"*", hook-build:"chmod +x *"
zplug "sachin21/eecd241ecf420323fe388de155a02658", from:gist, as:command, use:"*", hook-build:"chmod +x *" # This line does not updated

if ! zplug check --verbose; then
  printf "Install? [y/N]: "
  if read -q; then
    echo; zplug install
  else
    echo
  fi
fi

zplug load --verbose > /dev/null

Steps to Reproduce

Update the gist(https://gist.github.com/sachin21/eecd241ecf420323fe388de155a02658)
Execute `zplug update.'
Gist source-code was not updated

I didn't understand your indication. Your Steps to Reproduce says this (sachin21/eecd241ecf420323fe388de155a02658) but Minimal zshrc says sachin21/81cb1e8a65845bbb8f7c .... # This line does not updated.
zplug update will update repositories if there are any updates in your zshrc.

Sorry, It's a mistake. I updated the description. Check it out.

Thanks for reporting! Should be fixed now.

Thank you! It works for me :smile:


Add Gradio UI with example audio

Refactor Flask to FastAPI for Gradio compat.
Add in Gradio UI with CLI parsing to enable/configure
Equivalent to https://github.com/OpenVoiceOS/ovos-tts-server/pull/7
I did test non-streaming locally to validate Flask -> FastAPI changes

Marked as draft; I missed setup.py changes


problems with serviceworker

Hi,
So the serviceworker works as it was configured out of the box for the offline support.
If I try running the project of mine with 'npm run start:production2" the serviceworker and offline support works.
But when i do "npm run build" and put my project on my webserver, I get error messages from the serviceworker see image:

Do you have any idea why this is or could be?
I have a valid SSL certificaat for all domains and subdomains. The project is running on a subdomain, could that be the problem?
Thanks already for all the rest of this awesome project/repository.

Closing due to inactivity. If this is still a problem, feel free to post a stack trace of the error so someone can get a better idea of the error

Same error.

@Jamakase which version of react-boilerplate are you on? And have you modified the server configs?

Closing due to inactivity


Add more boto3 s3 tests

I was debugging a mis configuration on my end and ended up writing these tests for head_object in boto3.  Figured I would offer them back.

Excellent, thank you!


[Application] Remove Redirect for bayern

Is your feature request related to a problem? Please describe.
After the the new application process is established, the redirect and the internal link has to be removed
Describe the solution you'd like

Remove the ApplicationLinkCard in User-Settings
Remove the nginx redirect https://git.tuerantuer.org/DF/salt/pulls/56

This should be done on 30.06.2023

was removed in salt. will be applied on 30.06.2023


EnsureCreated isn't called from DbInitializer but from Main

In the step Remove EnsureCreated and test the app the tutorial ask to remove the call to EnsureCreated from DbInitializer, but the call to EnsureCreated was added in a previous tutorial to Main.

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

ID: 145343de-9267-9171-b6c9-718703b7544d
Version Independent ID: 2c2f791f-d41c-f995-a941-2461151a7db4
Content: Razor Pages with EF Core in ASP.NET Core - Migrations - 4 of 8
Content Source: aspnetcore/data/ef-rp/migrations.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@fmachadopiriz thanks. We'll address this in the next doc sweep.


Fixes and improvements to deploy_rhel.sh

Description
This PR fixes #1051 and incorporates the following changes:

Fixed to track relocated main.go file
Quay expiry is now optional (defaults to never)
Added -h option for help
Much improved error checking

How can this be tested?
On a RHEL 8 or 9 host meeting the installation requirements (see #787 for the full list):
$ CC=/usr/bin/gcc LOCALBUILD=1 IMG=quay.io/<your-org>/dynatrace-operator TAG=v0.8.0-test ./hack/build/deploy_rhel.sh

Checklist

[ ] Unit tests have been updated/added
[ ] PR is labeled accordingly
[x] I have read and understood the contribution guidelines

The CI failed a docker pull due to invalid username/password. Will rebase for another attempt.

@jsm84 repository secrets are not available on forks sadly. As long as only the push fails the CI is fine.

Closing this. Porting the operator to the power and z architecture is no longer in flight.


Add Eclipse logo

Hello,
Simply an optimised and monochrome svg version of the official Eclipse logo. Should go well with the Eclipse badges I added recently! 😉
Cheers,
Pyves

Looks good to me,
Could you also run it though this to minimize the file?

I had passed it through this other optimiser, but had not seen the official recommendation.
Here's an updated version, I managed to squeeze an additional 17% in size.

👍
Thanks for your contribution!


update(lib): library update of item actions and Object

Defined MYCWarResultNotebook C# Object on library for using easily.
Item action parsing for updated item action indexes.

sorry for being dumb and not including files to the project.
I have a little reference settings and forget to push the project files as well.


Error: Save File Exists

Hi. Not sure what I am doing wrong. When I try to convert my Steam save to go back on to PC GPass it loads all the data then says there is a save file already exists

Hi @Chrisgrx5 how did you fix this issue? I'm having the same issue

Hi @Chrisgrx5 how did you fix this issue? I'm having the same issue

Hi. Rename the folder with long digits to something else. Even by changing 2/3 digits will do the trick

Hi @Chrisgrx5 how did you fix this issue? I'm having the same issue

Hi. Rename the folder with long digits to something else. Even by changing 2/3 digits will do the trick

thank you so much! You saved me so much time trying to figure this out.


Consider putting math code under another package

Hi, I primarily use nalgebra for mathematics code and then convert into the glam format afterwards.
However, using three_d::* creates a naming collision not just with nalgebra, but with other math libraries.
Would you consider the re-exported math code being under a three_d::math::* import, which would make back and forth code easier to use?

Yeah, that's a good idea 👍


Half-pixel sizes

The artboards for Icon-83.5 and Icon-27.5 round up to the nearest integer. This is a problem when exporting since the 2x export is one pixel larger than required. Is there a setting in Sketch to allow the half-pixel?

It's probably worth just creating the Icon-83.5@2x manually - e.g. create a 167x167 artboard and naming that Icon-83.5@2x. As this size is only used on the iPad Pro, I don't think theres any point creating the 1x and 3x.

Has this size been added? I don't see it in the version I downloaded today.

This should be fixed now in the latest version (2.3.0).
Half-pixel sizes are now created only in @2x.


Inconsistent naming for nullable columns in migration files

For alter_column we need to set not_null: true but for add_column we need to set nullable: false. It would be nice to be consistent with the names in the different operations.

May I help with this? @exekias

That would be awesome! let us know if we can help in any way!
Also pinging @andrew-farries just in case he has any thoughts, we never got to discuss this issue

I think the only thing left to do, is to decide for either nullable or not_null.
From my experience, I saw nullable more often in a json/javascript context than not_null - but I am also fine with both. Do you have any thoughts on this? @exekias @andrew-farries

I agree, nullable works for me


Aeotec ZW141 Shutter inverted buttons in lovelace

Hi, is there a way to invert the buttons in the lovelace? Current pressing up closes the shutters. Previously i had the same shutter connected with SmartThings and the buttons were working correctly. Any help would be appreciated. Thx.

The add-on cannot do anything about that :)
You might need to report an issue upstream with Home Assistant for that matter.


False positives when folder name equals node_module name

Hi!
Madge version: 5.0.1
Steps to reproduce:

Create a project with this very simple structure:
src/
--react/
----a.js
----index.js
Fill in the files

// src/react/a.js
import * as React from "react";

// src/react/index.js
import { a } from "./a";

Run madge src --circular
Error:

Adding "react" dependency doesn't change anything

I am also running into this, though in my case my structure looks like this:
src/
  index.server.ts
  config
    webpack.ts
    types.ts

// index.server.ts
export { SomeOtherType } from "./config/webpack";

// config/webpack.ts
import { SomeOtherType } from "./types";

// config/types.ts
import { SomeType } from 'webpack';
export type SomeOtherType = Record<string, any>;

and I am getting
⠋ Finding files⠙ ./index.server.ts⠹ config/types.ts⠸ config/webpack.ts Found 1 circular dependency!

in our Madge GigHub Action.
Interestingly, it was adding the export to index.server.ts which triggered the error. The rest has always passed just fine.(In case it helps, here's the PR: https://github.com/getsentry/sentry-javascript/pull/4597)

Seems to happen with files, too, not just folders; I have a knex.ts:
import {knex} from 'knex'
export default knex(require('./knexfile'))

... and madge --circular reports it as a dep of itself:
✖ Found 1 circular dependency!

1) knex.ts

Seems to happen with files, too, not just folders
... and madge --circular reports it as a dep of itself

I just ran into this, too, having forgotten that this was something I needed to worry about. Any progress here? Can we do anything to help move this fix along?


Request for reason_for_state_change

Hi,
We're using django-fsm-log at Songtrust (thanks!) and I was wondering if you would be open to adding a reason_for_state_change field on the FSM log.  This would be helpful for us and we'd be willing to submit a patch for this if you're interested in incorporating it in the library.
Thanks
Alex Kane

Hi,
This has been briefly discussed before here https://github.com/gizmag/django-fsm-log/pull/5
Does the solution I mentioned there work for you?
If not, I am open to being convinced to add a description field in. What's your use case?

The solution you provided in tkt #5 doesn't work for us.  We're unable to derive the description from any combination of available properties.  We have an object with one of the transitions being from unreviewed to either approved or denied.  There are multiple reasons a denied transition can occur, some predefined and some entered at run time.

Just want to followup on this, are you willing to add this? If not we're going to have to create a fork.

I'm interested. would you go with the same approach as #5?

#5 works for me, yes
On Tue, Mar 31, 2015 at 10:03 PM, Jacob Haslehurst<EMAIL_ADDRESS>
wrote:

I'm interested. would you go with the same approach as #5
https://github.com/gizmag/django-fsm-log/pull/5?
—
Reply to this email directly or view it on GitHub
https://github.com/gizmag/django-fsm-log/issues/12#issuecomment-88312010
.

"description" was added in #67.
@Alexkane
Does this work for you?
Otherwise reason_for_state_change could be added in a similar way probably now.

Yes I believe this will work, thanks!

Great, closing this issue then.


create API for processing TAP files and storing the data

This is the initial step of creating create AQAvit certification API. For testing purposes, we use GET.
Inputs:

url - public URL that contains zipped TAP files
status: new or update

The API will download the zip and unzip it. It will parse the TAP files and insert the data into the database. TAP files are expected to have a standardized name (see https://github.com/adoptium/TKG/issues/236). Inserted data should match the existing data structure, so we can easily reuse the Grid view logic in creating UI for displaying the test results.
If we think about data structure as a tree, we may have 2 or 3 levels. For example, we have TAP file called xxx_testList_xxx (i.e., Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal_testList_1), then we have 3 level
root
    |
Test_openjdk11_j9_sanity.functional_x86-64_mac
    |                                                                                |
Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal_testList_1          Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal_testList_2

Otherwise, we will only have 2 levels.
Example data:

one parent build:

{
    "_id" : ObjectId("614508abb7776e06c15a5abb"),
    "url" : "<user input URL>",
    "buildName" : "Pipeline_Test_JDK11",
    "buildNameStr" : "Pipeline_Test_JDK11",
    "type" : "Build",
    "status" : "Done",
    "buildUrl" : "<user input URL>",
    "timestamp" :<PHONE_NUMBER>024.0,
    "buildDuration" : "",  // empty for now, we can populate based child builds
    "buildResult" : "UNSTABLE",   // populate based child builds
    "hasChildren" : true,
    "parserType" : "ParentBuild",
    "rootBuildId" : ObjectId("61450893b7776e06c15a5ab5"),
    "startBy" : "<company name>"
}

In general, the rule is to have one child per TAP file. If there are file called xxx_testList_xxx. They should all belong to one parent

{
    "_id" : ObjectId("6146074ab7776e06c15a5c61"),
    "url" : "<user input URL>",
    "buildName" : "Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal",
    "buildNameStr" : "Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal",
    "rootBuildId" : ObjectId("614508abb7776e06c15a5abb"),
    "parentId" : ObjectId("614508abb7776e06c15a5abb"),
    "type" : "Build",
    "status" : "Done",
    "buildDuration" : 4909642,
    "buildResult" : "UNSTABLE", // populate based child builds
    "buildUrl" : "<user input URL>",
    "hasChildren" : true,
    "parserType" : "ParentBuild",
    "startBy" : "<company name>",
    "timestamp" : <inserted date>
}

each xxx_testList_xxx should have a related data entry in database. Please see below:

{
    "_id" : ObjectId("61460811b7776e06c15a5c79"),
    "url" : "https://hyc-runtimes-jenkins.swg-devops.com",
    "buildName" : "Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal_testList_1",
    "buildNameStr" : "Test_openjdk11_j9_sanity.functional_x86-64_mac_Personal_testList_1",
    "rootBuildId" : ObjectId("61450893b7776e06c15a5ab5"),
    "parentId" : ObjectId("6146074ab7776e06c15a5c61"),
    "type" : "Test",
    "status" : "Done",
    "buildDuration" : 4693266,
    "buildResult" : "UNSTABLE",
    "buildUrl" : "<user input URL>",
    "hasChildren" : false,
    "javaVersion" : "openjdk version \"18-internal\" 2022-03-15\r\nOpenJDK Runtime Environment (build 18-internal+0-adhoc.jenkins.BuildJDKnextx86-64macPersonal)\r\nEclipse OpenJ9 VM (build jdk18sealclass-e0ff800dce4, JRE 18 Mac OS X amd64-64-Bit Compressed References 20210917_55 (JIT enabled, AOT enabled)\r\nOpenJ9   - e0ff800dce4\r\nOMR      - 9c248b48c69\r\nJCL      - 7895c2c72f8 based on jdk-18+15)",
    "jdkDate" : " 2022-03-15",
    "machine" : null,
    "parserType" : "Test",
    "sdkResource" : "release",
    "startBy" : "<vendor name>",
    "testSummary" : {
        "total" : 182,
        "executed" : 142,
        "passed" : 136,
        "failed" : 6,
        "disabled" : 2,
        "skipped" : 38
    },
    "tests" : [
        {
            "_id" : ObjectId("614608b8b7776e06c15a5d6c"),
            "testOutputId" : null, // for TAP file, we do not have output for passed test
            "testName" : "Pre Test",
            "testResult" : "PASSED",
            "testData" : null
        },
        {
            "_id" : ObjectId("614608b8b7776e06c15a5d42"),
            "testOutputId" : ObjectId("614608b8b7776e06c15a5c8a"), // for TAP file, we may have output for failed test
            "testName" : "SharedCPEntryInvokerTests_0",
            "testResult" : "UNSTABLE",
            "testData" : null,
            "duration" : 5040,
            "startTime" :<PHONE_NUMBER>597.0
        },
...
    ],
    "timestamp" :<PHONE_NUMBER>371.0,
    "versions" : {}
}

I'd like to be assigned to this!

Some of the work is done at https://github.com/adoptium/aqa-test-tools/blob/master/TestResultSummaryService/parsers/Tap.js

Sample data for TAP files: example_tap.zip


Manual testing of potential risks in #1067

Initial set-up
Check that the IntelliJ Idea UTBot plugin can be successfully installed

[x] Publish plugin from branch #1067
[x] Add exact link to the build here

More detailed verifications
@tyuldashev
Verify the following on IDEA 2022.1.4  and  IDEA 2022.2.2 - in combinations

[ ] Gradle
[ ] Maven - test source roots
[ ] IntelliJ - test source roots
[ ] JDK 14 / 17 / (19)
[ ] Settings: Fuzzing  - Symbolic : default, left, center, right - check with timeout 1/10 sec
[ ] Test frameworks: JUnit 4, 5 , TestNG
[ ] Parametrization
[ ] Members list: different access modifiers for methods and classes
[ ] samples / inner

@alisevych

[x] Cancellation: IDEA 2022.1.4 / 2022.2.2
[x] Parallel test generation runs
[ ] samples / codegen - on all IDEA / JDKs
[x] Sandboxing
[ ] Hanging test timeout
[ ] UtUtils class for mocks

Check Test generation for samples
check with different settings

[ ] annotations
[ ] codegen
[x] exceptions
[ ] mixed
[x] unsafe

Check CLI

[ ] JDK 8
[ ] JDK 11
[ ] JDK 13
[ ] JDK 17
[ ] JDK 19

Closing as not relevant. The related changes will be tested in main branch later.


Add evaera/Promise as a dependency

Submitting this based on a question in the OSS Community server regarding unexpected behaviour from the AddPromise example code. It was later discovered (and confirmed by howmanysmall) that the unexpected behaviour was the result of a bug related to GetPromiseLibrary not functioning correctly when used with Wally.
I've added evaera/Promise as a dependency over changing GetPromiseLibrary to function properly through Wally (in accordance with GetPromiseLibrary's TODO), though I am unfamiliar with rotriever or other tools used with Janitor so the change may not be compatible. As far as I'm aware, this fix would only apply for Wally, as that was my target with the changes.

thanks, i saw the issue

as much as i don't like forcing dependencies on people, this is the smartest
solution

i should mention it does in fact work with wally - the issues was i was assuming everyone was using PascalCase for the package name like me

That makes sense when you look at the file and see that the find functions require a specific naming convention. It took me a bit sitting on this one because I realise that GetPromiseLibrary also ensures compatibility for non-Wally use cases (e.g. plugins) so as not to require that Promise accompanies Janitor to be used but I found that it might just be better to include it as a dependency so there's a deterministic, guaranteed Promise library existing to be used.

I just realized yeah, that kinda breaks compatibility. I don't always want to use wally or rojo, sometimes I just want to test.

FYI, this dependency is not included in the rbxm file provided under latest releases, and the required dependency or which version of it is not communicated.

i'll make a change to remove the dependency hang on a second

Should be ready to go now. It's completely optional now.
https://github.com/howmanysmall/Janitor/releases/tag/v1.15.7


fix(ui): Fix greediness in regex for auth token replacement

Checklist:

[x] My organization is added to USERS.md.

Unfortunately my last PR #5677 still has a little bug in the regular expression. The auth token we get from the cookie is sometimes wrapped by quotes (") and sometimes it is not. Therefore the regex wraps the matched token with optional quotes ("?(.*)"?). This regex matches"token" such as token. The problem is the first case ("token"). In this case the captured bit inside the parentheses would also match the second quote (token") because the part inside the parentheses ((.*)) matches all characters greedily. This can be fixed by matching lazily (.*?) as proposed in the Merge request.
Sorry for this - I guess the screenshot testing was not successful. Nevertheless here's more screenshots of the running system before and after my fix:
before:

after:

Thank you!


Allow returning multiple matchers from variants

Currently variants can return a matcher to be passed to other variants (I think?) and rules. I was attempting to make a variant groups variant (for the UnoCSS CLI since transforms aren't available there) by essentially extracting the variants from something like hover:(bg-red-500,text-white) and returning multiple matchers, either with spaces as a separator (ex: hover:bg-red-500 hover:text-white) or by having matcher be capable of being an array (ex: ['hover:bg-red-500', 'hover:text-white']) but this is currently not possible.
If this were possible you could return an array of matchers, and other variants could generate CSS for a single class with said array of matchers. I'm not sure what uses this'd have outside of non-transform based variant groups, but I see this as a valuable change for true extensibility.

I'm not sure if this is what you want.
e.g. :

I'm not sure if this is what you want. e.g. :

I would prefer to not have to use attributify if I don't have to, but that is a viable alternative, yes.

I just now realized shortcuts is a viable alternative. Sorry!


NIFI-5289 - Changed nifi-mock junit Dependency to Compile Scope

Resolves NoClassDefFoundError for org.junit.Assert when using nifi-mock.
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

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

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

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

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

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

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

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

we need to ensure this change doesnt make this lib get included all over the place as part of the build.  I dont understand why it should not have been test but compile seems wrong..

@joewitt Compile scope is the correct scope in this case. If JUnit 4 was only used in the tests for NiFi Mock, test scope would be correct. However, the NiFi Mock code uses JUnit 4 as a compile time dependency, so JUnit 4 needs to be brought into consuming projects as a transitive dependency.
As per the Maven dependency scope table, making it a compile scope dependency means it is added to the test classpath of a consuming project if that project declares NiFi Mock with test scope. It would only get included all over the place if consuming projects have declared NiFi Mock with a compile or runtime scope. If that was the case here, NiFi Mock would also be getting included all over the place.

@MikeThomsen I'm not too sure what you mean. At the moment you'll get a NoClassDefFoundError unless JUnit 4 happens to be on the test classpath (it won't be on the test classpath if you're using JUnit 5). That's because nifi-mock declares JUnit 4 with a "provided" scope, when there is nothing providing JUnit 4. It should be "compile" scope, because nifi-mock is making use of JUnit assertions in non-test code.

(it won't be on the test classpath if you're using JUnit 5)

The global declaration for JUnit is JUnit 4.12. If someone

It should be "compile" scope, because nifi-mock is making use of JUnit assertions in non-test code.

nifi-mock is designed to support JUnit tests and I'm not aware of any components that use JUnit 5.

The global declaration for JUnit is JUnit 4.12. If someone is using v5, they'll have to work around that.

Yes, we're using a workaround at the moment. We have to declare JUnit 4 as a dependency with "test" scope, and configure the Maven Dependency Plugin to force JUnit 4 as used to prevent it from being reported as a declared and unused dependency. I would prefer to have the fix upstream so that we can remove the workaround.

nifi-mock is designed to support JUnit tests and I'm not aware of any components that use JUnit 5.

I am using JUnit 5, and I imagine over time many other people will be migrating to it too. Code wise there is nothing in nifi-mock which means it shouldn't work with JUnit 5, and I would expect it to work with other test frameworks too.
I've provided a link to a table of Maven dependency scopes to demonstrate that this won't result in JUnit ending up in non-test code. Are there any further concerns about this fix?

it should be fine for junit dep to be compile scope for nifi-mock.  nifi-mock will always be used under test scope so the transitive compile scoped deps will be ok.

+1 LGTM (thanks for the reviews and comments!), I ran a full build and verified that no junit JARs are present anywhere in the NiFi assembly. Thanks for the improvement! Merging to master


data: PeteGordon.json

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Created another pull request with lowercase file name petegordon.json
Closing this one.


Repo url pickers autocomplete filter

Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] Subsituted "Select" in the "pickers" with "Autocomplete" from material-ui.
[ ] This facilitates filtering of "owners" in case you have a pretty long list

Hi!
Note that you will need to create changesets for modified packages. See the automated comment above ☝

Maybe it would also make sense to be able to default to the first one like it does today?

Maybe it would also make sense to be able to default to the first one like it does today?

This is done..

Note that the tests are failing now.
Also when Vale is complaining about spelling of identifiers, put them in backticks, like so `allowedOwners`

Alright @freben

Note that the tests are failing now.
Also when Vale is complaining about spelling of identifiers, put them in backticks, like so `allowedOwners`

I will need your help on the tests @freben . Am pretty much stuck

Maybe it would also make sense to be able to default to the first one like it does today?

Hey @benjdlambert .. Kindly help me with the tests here.. Everything else works fine now..

Looks like the tests are failing as they're looking for text in the document that are not present. You might need to adjust the test code to potentially click some of the dropdown or to check some other elements instead now as the markup has changed.

Thanks Ben


What is parallel_choco_v.py? How does it differ from parallel_choco.py?

Hi, parallel_choco_v.py uses thread instead of the process (otherwise they are equivalent)


[FR] Docker container?

Great work on this tool. Thank you!
Any chance of a docker container (DockerHub) to spin this up on a server with ease for all the /r/selfhosted folks out there?

I am running debbit inside a docker container, I considered contributing my docker-compose.yml and Dockerfile but I wanted to figure out a method for handling captcha and any other interactive stuff before doing so.  Whenever I run into something that needs manual intervention I shutdown the container and run it locally.

@jamesgol is this stable enough to provide a container I could deploy?

@darkknight7777777 It works for me, but I still haven't looked into dealing with the captcha and interactive stuff.
Here's a link to my Dockerfile and the docker-compose.yml
I had it restarting always but the last time amazon changed something and debbit couldn't determine if it actually made a purchase it would exit and the auto restart ended up running the transaction 30 times before I noticed and shut it down.

@jamesgol Are you still running this in docker? I started using an account w debit requirements again and have started to revisit using this is docker. I am getting firefox web driver errors, so I'm betting you have an updated dockerfile if you're still using it. I'd be grateful if you could provide that for future use.

@darkknight7777777 unfortunately I'm not running it in docker anymore, I started getting too many captchas so I switched to the normal method and never took the time to switch back.


Download all rivers from wikidata

Wikidata has lots information about rivers. For example: https://www.wikidata.org/wiki/Q3411
We want to download all rivers, based on the (instance of, river) statement. The output should be a delimited file, something like:
Mackenzie River,Q3411
Grand River,Q1542855
...

In theory, we should just be able to query the SPARQL endpoint: https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/Wikidata_Query_Help
The right query should be something like:
SELECT ?item ?itemLabel
WHERE
{
  ?item wdt:P31 wd:Q4022.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

However, for me, the query doesn't finish... I get "Server error: Unexpected end of JSON input" with partial results.
If the query service doesn't work, we might need to parse out what we need from the raw JSON dumps.

I have added the script and data with 6e1491905a6f98cd4d6727d0dd2cd74f4efec9ee