When a document is Patched and has StoreChanges called in the same session before SaveChanges is called using OptimisticConcurrency a ConcurrencyException is thrown

Use case being we have a projection that is being rebuilt and Patch is called when Applying one event and Store is called when Applying another event. All before SaveChanges gets called. This worked back in 1.2.4 I know.

The operations are all executed in the same order you register them against the DocumentSession. Can you try that first before we worry about any of this?

Right. So we need to be able to apply the events in the exact order they are stored in the event store.
As a simple example:
We have a User document/aggregate. In the event store we have a UserNameChanged event followed by a UserUpdated event. If the UserNameChanged event (which uses a Patch to update the name) comes right before the UserUpdated event (which updates multiple properties, so it uses a Query and Store operation) we hit the issue. We can't execute UserUpdated before UserNameChanged because that would rebuild the projection out of order, resulting in improper data.

@ericgreenmix I'm not "fixing" this one. You can easily beat this problem by doing the aggregation per stream where you can figure out in one place what to do and whether you even need a partial. I'm not sure why it would even make sense to do a partial if you're already doing a full update of the same document.

Okay. We aren't able to do the per stream aggregation like you are suggesting because our architecture doesn't allow for that.
My use case above wasn't the best. A better (real) use case we have is we have a command coming into our system to update a question, UpdateQuestion. In our command handler, we do finer grained operations on the domain object and call a method like ChangeText that emits QuestionTextChanged if the Text has changed and ChangeQuestionMetaData that emits QuestionMetaDataChanged if other properties about the question have changed. QuestionTextChanged was using the Patch api in an inline projection and QuestionMetaDataChanged was doing a Store. This caused the ConcurrencyException because it created the Patch->Store->SaveChanges scenario. Even if we were to reorganize those events so they were emitted with Store->Patch, doing a projection rebuild could still cause that breakage because two UpdateTask commands on the same aggregate could potentially happen which would cause a Store->Patch->Store->Patch, resulting in the exception.
In any case, we will just have to remove all Patches from our projections in favor for Store operations.

@ericgreenmix I really, really don't want any more special logic about reordering operations. "Fixing" your other bugs related to this just caused others, and I threw my hands up and went for having the operations done by document type, in the order that they are registered w/ the IDocumentSession.
Sorry man, but I'm hearing a whole lot of requests for me to change things instead of you reconsidering your architecture. I think that what you're doing is setting yourself up for a world of hurt here.
Have you thought about doing in two steps? Run all the commands, gather all the emitted events, then append all of them as a set so a more intelligent projection can sort that out?

That is fair and I get the cascading issues. It is just hard to know what should be considered a bug versus an architectural consideration when one issue cascades to create other issues that didn't exist before.
Appreciate the help!


Fix C++ memory management

all "new" allocated memory needs to be freed after use,
otherwise a so called memory leak is created which leads
to not so nice side effects (like the embedded allocator)
reusing memory locations that were otherwise occupied...

Thank you for fixing the memory leak everywhere. Works perfectly on the hardware. I'll prepare a release and hope that not too many people already suffered from my mistake.

No Problems, Thank you for creating the library :-)
(My father was the one using it, and asked me to take a look - why have a computer scientist for a son and not have him fix arduino libraries for you...
...I can now report your library helps continuously monitoring the air quality in my parents house, and we learnt a lot about how CO2-level changes when you light the christmas tree ;-)


Inject UTF-8 text

Since Android 7, we could use the PASTE keycode to inject UTF-8 text, instead of injecting every ASCII char sequentially. (ref: https://github.com/Genymobile/scrcpy/issues/786#issuecomment-528308353)
So I just implemented it.
If the device runs Android >= 7:

backup the clipboard
set the text to inject into the clipboard
inject the PASTE key code
restore the clipboard

It is very fast and allows to inject UTF-8 text, which is awesome for non-ASCII languages like Chinese.
Please test and report any problem.
Thank you for your feedbacks.

Here are binaries so that you can test even if you don't know how to build:

scrcpy.exe
SHA256: 4481d854630aaba9f31e4f3a19b46c4843c1918da03e1a486089bae3a3ebb09a
scrcpy-server
SHA256: 64cd4d4277040430c48d35677ad8472a6315337651fb9cfc5f62cf5abf2021b7

(on Windows, replace both files in the v1.13 release; on other platforms, use scrcpy-server and follow §Prebuilt server)

Where can I download it?

Here are binaries so that you can test even if you don't know how to build:

scrcpy.exe
SHA256: 4481d854630aaba9f31e4f3a19b46c4843c1918da03e1a486089bae3a3ebb09a
scrcpy-server
SHA256: 64cd4d4277040430c48d35677ad8472a6315337651fb9cfc5f62cf5abf2021b7

(on Windows, replace both files in the v1.13 release; on other platforms, use scrcpy-server and follow §Prebuilt server)

Doesn't work well.
Each time I write a Hebrew letter, it also writes the English one .
Example:
I write: "ש"
And I get: "שa"
Not only that, but for some reason it doesn't work on all places. In the create-contact screen, it didn't work for some of the EditTexts...
And for some reason I can't run it without the console using "scrcpy-noconsole.exe" .
See here:
2020-05-25_10-52-45.zip

Each time I write a Hebrew letter, it also writes the English one .
Example:
I write: "ש"
And I get: "שa"

What behavior do you get on v1.13?
What if you launch it with scrcpy --prefer-text?

Not only that, but for some reason it doesn't work on all places. In the create-contact screen, it didn't work for some of the EditTexts...

Oh, that's bad :(

And for some reason I can't run it without the console using "scrcpy-noconsole.exe" .

This is not a release, just a quick build so that you can test, I didn't post a new build of scrcpy-noconsole.exe.

By "v1.13", you mean the official one here:
https://github.com/Genymobile/scrcpy/releases
?
If so, instead of Hebrew it writes in English. So for the above example, when I type "ש" it puts "a" .
Using scrcpy --prefer-text seems to handle the English writing, but I've noticed an issue that is caused by the method itself of copying-to-clipboard:
It puts the texts that are copied into the clipboard history of Gboard ...
I still don't get how come the EditText issue exists. I can paste there...

Not only that, but for some reason it doesn't work on all places. In the create-contact screen, it didn't work for some of the EditTexts...

It puts the texts that are copied into the clipboard history of Gboard ...

OK, thank you for your feedbacks. This method could not be used when typing text then.
However, I could probably use it to paste the text immediately on Ctrl+Shift+v (if Android >= 7), in addition to clipboard synchronization.

Can you please explain how could the EditText issue exist ? Pasting is allowed there...
Is it possible perhaps to create a (secured) app that uses root, to type characters via ScrCpy?
One that will allow only ScrCpy to type characters?
Or is even if it's possible, it could be very dangerous, as other apps might exploit it ?

Can you please explain how could the EditText issue exist ? Pasting is allowed there...

I don't know.

Is it possible perhaps to create a (secured) app that uses root, to type characters via ScrCpy?
One that will allow only ScrCpy to type characters?
Or is even if it's possible, it could be very dangerous, as other apps might exploit it ?

Scrcpy should work without root. And indeed it looks dangerous.

I'm talking only about the non-English typing. I don't think there is any other solution, sadly.
Someone proposed a keyboard, but that's changing the way we use the device and it doesn't seem like a stable solution.
I already requested Google to add unicode support:
https://issuetracker.google.com/issues/143375921
It doesn't even work for emulator:
https://issuetracker.google.com/issues/153619173
But I don't think it's going to be added anytime soon.

I can think of a way to make a root option secured:
Each time you start ScrCpy via the PC, install&run a completely new companion APK that has a secret password that only the PC app knows, which will let communication only via this password.
In addition, the Android app will only be able to accept communication once for its entire life, and will be auto-removed when the communication is finished.

Is it possible to use root to emulate unicode typing?

Probably writing to /dev/input/....
But rooted devices is not the target of scrcpy. I don't plan to implement a root-specific solution.

It's only a temporary solution, for a very specific problem : typing in unicode.
Only people who really want it would use it.
It's similar to a lot of apps out there, that offer basic functionality without root, and extra functionality (that can't be achieved without root) with root.
I hate it too, but I think it's the only solution for now.

I can come up with other possible security measures if you wish.

Would you like me to prepare the Android app? I can if you wish.

TBH, no, I don't want to add complexity in scrcpy for a root-only solution.

Too bad.
Can you think of another alternative solution for this, then?

I'm closing, instead I'll do later what I said here: https://github.com/Genymobile/scrcpy/pull/1426#issuecomment-633448242

So unicode typing is lost :(

Can you please consider starring the issues I wrote to Google, at least?

I'm closing, instead I'll do later what I said here: https://github.com/Genymobile/scrcpy/pull/1426#issuecomment-633448242

Done: fc1dec027093ee8a2746a212db0c72a9d96d39a4

If you will star them, I will say "Thank you" :)

Hope Google can if this issue.

@quyleanh Please consider starring. I believe that with enough attention, Google might consider adding it.

@AndroidDeveloperLB done 😃

@rom1v Found another mirroring app that does it, and as was written here, it uses a keyboard app on the device:
https://en.mirroid.io/
Sadly it's only for Windows OS, and it has some annoyances. But it works for this case.
Maybe you could do something similar? But make it smarter than them:
They replace the keyboard app while connected, and don't change it back to the app you used before (Gboard in this case) when you are done using it. I wonder if it's possible.

Current version (1.16) appears not to take --prefer-text launch parameter into account. It behaves same as when launched without. So in 1.16 I cannot type slovenian letters (čžšČŽ...). In console I see [server] WARN: Could not inject char u+010d whether I run with or without the parameter. I tried the .exe files that you posted above in this issue discussions and it works. But they appear outdated (-v parameter outputs 1.13). Is this clipboard-transport functionality added to 1.16? If not I believe it should be added since it is a useful feature and it works. I understand the drawbacks (bad for games), but that's why we have a choice (run with or without the parameter).
Also, the .exe files in this post don't work when used without parameter for me. Console shows some output then it stops responding, screen doesn't display. I use Windows.
Should I open a new issue, for example focusing on --prefer-text not working? (This is what I understand tho. Maybe the parameter works, but is not actually intended to fix my usecase).

--prefer-text is not for supporting UTF-8 characters, but just to inject letters as "text" instead of "key events".
In general, only ASCII works correctly: https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#special-characters-do-not-work
This is a limitation on Android about raw key injection (without an IME application).

Thank you for explanation. I read FAQ already and posts regarding lack of UTF-8 support.
But with .exe files in this post non UTF-8 characters work. Could those changes be integrated in "mainline" under a different command line parameter for example?
Also an interesting note, some non-ascii characters actually work by default (ß and ć for me)

These binaries were built at the time of the PR, based on v1.13, so you need the v1.13 of the scrcpy-server.

Could those changes be integrated in "mainline" under a different command line parameter for example?

Probably not, it was a failed attempt.

@rom1v Is there any hope in having this feature? Any idea ? Maybe using accessibility?
Could accessibility type text (including unicode) ?

@rom1v I heard about Microsoft's Your Phone app can type and transfer unicode character. Could you take a look about that. I think there will be work around for this issue.

Basically, the only solution to get this working in scrcpy requires to install an app on the device and select an IME when scrcpy is running. Currently, scrcpy does not install any app (see #37).

I heard about Microsoft's Your Phone app can type and transfer unicode character.

I don't know exactly how it works, but probably:

either they install an app on the device;
either the app is preinstalled (or system gets modified by the vendor, that would explain why they support only a limited set of devices) to expose a function to inject unicode characters.

@rom1v
" select an IME when scrcpy is running"
I've noticed "mirroid" alternative app does it for you. Sadly it doesn't restore it when it's done, though.
Can accessibility inject text, including unicode?

Sadly it doesn't restore it when it's done, though.

scrcpy could restore it during the cleanup.

I've noticed "mirroid" alternative app

https://mirroid.io/faq#shortcut
They use the very same shortcuts. :smile:
Where is the desktop part of the app?

the very same shortcuts.?
What do you mean?
As for desktop part, it's on the main website.
Here:
https://en.mirroid.io/

As for desktop part, it's on the main website.

On that website, there is only a link "download for Android", which redirects to the play store :/

I downloaded and tried mirrord in the past. I dislike it. It is strange that you can't find windows download link. Maybe it depends on what device you open. Here is direct link, hopefully:
https://res.mirroid.io/download/2020/08/18/MirroidInstaller_V<IP_ADDRESS>.exe

@rom1v No. The website has a link to download for Windows. Maybe you changed the user-agent or something.
See:
Zhhti7tIU5.zip
And the download link is :
https://en.mirroid.io/en/download
And direct download link is:
https://res.mirroid.io/download/2020/08/18/MirroidInstaller_V<IP_ADDRESS>.exe
@domenn They got a UI with features that can be easily be used directly, which scrCpy doesn't have.
However, scrCpy has many other things that this one doesn't and MirroId has some issues sometimes, so I use MirroId only when I want to type unicode.

OK, thank you for the links.
So Mirroid is completely based on scrcpy, without respecting the license at all. In particular, scrcpy copyright is not mentioned anywhere.
mirroid-server.jar is just scrcpy-server.jar (even the class names are unchanged and package names is com.genymobile.scrcpy).
The client code is based on QtScrcpy (#612). The OpenGL shaders are the same as from (older versions) of https://github.com/barry-ran/QtScrcpy/blob/master/QtScrcpy/device/render/qyuvopenglwidget.cpp
Btw:
$ strings Mirroid.exe | grep scrcpy
inputscrcpy
qtscrcpy
com.genymobile.scrcpy.Server

They have an user agreement:

We may share your Personal Information with our affiliate and subsidiary companies, joint venture partners and third party service providers, contractors and agents, …

Interesting section:

11.1 The Software may use third party softwares or technologies (including without limitation, some open-source codes and/or public domain codes). The necessary licenses of use such third party softwares or technologies will be obtained legally by Mirroid Team.

No, they don't.

@rom1v I see. But how did they break the rules of the license? They need to just mention that they use scrCpy?
Are they copycats?

@rom1v so could you investigate the work around based on their implementation?
As your comment, I think people cannot trust mirroid.io at all. Thank you for comment anyway.

@quyleanh Do you know perhaps of a different alternative to it, that does offer unicode?

@AndroidDeveloperLB no, I don't. I have tested QtScrcpy but it doesn't support unicode. (of course, it's based on scrcpy). Hope @rom1v can find out the way.

@rom1v I hope you sue them for violating.
But I also want to know how to avoid such an issue myself. I thought apache is quite free-to-use.

接时替换键盘应用程

mirroid真强大,是我需要的
一样不延迟并且解决了输入法问题，这个在scrcpy困扰了我很久
这两款软件的音频都可以采用
蓝牙连接电脑
win10应用商店下载
Bluetooth audio receiver
使用

can you add built linux binaries of this in here? my distro seems to have problems with meson as it provides only 0.45 and scrcpy needs 0.48 to be built

can you add built linux binaries of this in here? my distro seems to have problems with meson as it provides only 0.45 and scrcpy needs 0.48 to be built

Version from top post works for me like a charm. Polish characters are handled well. Thank you!

if check the message is utf8 char use paste?or not use ascii inject。maybe is a idea but i need check all char

I addepted this a bit in my fork and works great for my needs.
Thanks!

@AlexBurdu could you add some brief info?

So the implementation that you can see in my fork, which is a slightly modified version of the one in this PR works fine on Pixel phone. Unfortunately it does not work well on my Samsung Galaxy S20 FE.
I believe Samsung may have customized the way clipboard works on their rom, as when I'm sending characters through clipboard I see them in Gboard keyboard clipboard history, but I don't see them in OS clipboard or Samsung's clipboard.
I initially started poking at this to add Romanian diacritics support, but it seems that support for them is missing in the Android OS KeyCharacterMap class, and no events are returned for KeyCharacterMap.getEvents(chars)
For example, ACCENT_COMMA_BELOW is commented out in the source file. While ACCENT_BREVE is there, KeyCharacterMap.getEvents() still returns null for breve('A') / breve('a'). I didn't dig further to see why that happens, I'm assuming that some mapping for it is also missing in this function that is meant to be used for tests.

@rom1v would it be possible for scrcpy server to register an IME that would take care of text input, or is not possible?
Is scrcpy-server seen by the OS as a regular application or like "something else" (what else)?

Is scrcpy-server seen by the OS as a regular application or like "something else" (what else)?

No, it's not an Android app, just a Java executable accessing the Android APIs.
More details: https://blog.rom1v.com/2018/03/introducing-scrcpy/
About IME, also see #1751.

Thanks, the hack in #1751 works great for my needs as a fallback to key inject!

@AlexBurdu could you please give me the Windows build for your latest implementation? I would like to test with my inject text scenario.
Thank you.

@quyleanh Here.
@AlexBurdu You did the hard work, I managed to build it for Windows and therefore I may as well share it with anyone else that's interested.
https://github.com/domenn/scrcpy/releases/tag/v1.19

Thanks, I just adapted the work others have done in the linked prs.
Please note that you need to install AdbKeyboard and select it as yout keyboard while you use scrcpy for it to work: https://github.com/senzhk/ADBKeyBoard
Also, i have a few changes done to the mouse buttons on my fork.

For Linux users I use this trick to get the ADBkeyBoard set when I start scrcpy and then switch back to my previous one (GBoard) when I exit it.
export personal_phone=<IP_ADDRESS>:8888 && \
adb -s $personal_phone shell ime set com.android.adbkeyboard/.AdbIME && \
adb connect $personal_phone && \
scrcpy \
--turn-screen-off \
--stay-awake \
--window-x 2500 --window-y 0 \
--max-size 1024 \
-s $personal_phone; \
adb -s $personal_phone shell ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME

Thanks, I just adapted the work others have done in the linked PRs. Please note that you need to install ADBKeyBoard and select it as your keyboard while you use scrcpy for it to work:
Also, i have a few changes done to the mouse buttons bindings on my fork.

since i for can not submit issues on your fork built by @domenn, i'll put it right here. for whatever reason, on non-english layout, when pressing a russian key, both english and russian chars appear at the same time. this might be my clipboard manager or kde connect freaking out but they seem to copy only russian chars.

my devices are: redmi note 9s running pixelplusui on android 11 and a laptop running windows 10 21H1 x64, connection was done with usb, commandline is scrcpy.

that sounds like a bug for https://github.com/senzhk/ADBKeyBoard, but I'm not sure.
I'm no longer using clipboard for this, but sending the chars through adb shell to ADBKeyBoard.

@domenn @AlexBurdu thank you very much. I have tried and it work well with my case.
Input Vietnamese text has no problem now.

We have diverged a lot from the initial PR discussion (sorry for that), but in my fork, I don't have any code left for injecting through keyboard

that sounds like a bug for https://github.com/senzhk/ADBKeyBoard, but I'm not sure. I'm no longer using clipboard for this, but sending the chars through adb shell to ADBKeyBoard.

How to use your fork? I have just compiled your fork and launched it but I still cannot type Chinese character. I have the ADB keyboard app installed.

I have compiled the Windows builds with @AlexBurdu 's ADBKeyBoard merged.
Feel free to use in this release.
https://github.com/quyleanh/scrcpy/releases/tag/v1.24


globalAppMiddleware: true behaves the same as globalAppMiddleware: { isEnabled: true }

Closes #527
Checklist:

[x] issue number linked above after pound (#)

replace "Closes " with "Contributes to" or other if this PR does not close the issue

[x] manually checked my feature / checking not applicable
[ ] wrote tests / testing not applicable
[ ] attached screenshots / screenshot not applicable

Errors should be fixed in new commit

Errors should be fixed in new commit

Sadly not yet 🥲

Ok, I'll remember to lint next time
Should be fixed now!


Moved the theme toggle button to the top nav bar

This PR moves the theme toggle functionality out from the Settings component to the MainLayout one.
Moreover, it changes the location of the theme toggle button so that it appears on the top nav bar. When the theme is dark, the button uses the primary color:

However, for the light theme, it uses the default color:

Also, for aesthetic purposes, I added both the logo and the name of the framework in the top nav bar:

Let me know if anything breaks and I will take care of it. (For the file Settings.razor, I did some formatting with Ctrl + K, Ctrl + D).

Great work on these PRs. Sorry for taking so long to merge them.


deployments: match chain names to new style, add arbitrum one and nov…

Match chain names to new style.
Add Arbitrum One and Nova to get logic.

Yep, no nova-specific testnet.


Is it possible to configure json structure?

Is there any way to configure the JSON output? My company's ELK  cluster expects certain fields to have specific names/datatypes in order to be processed by logstash plugins. For example:
 {
    "timestamp": "2017-01-03T18:46:06Z", # has to be ISO8601
    "loglevel": "debug|info|...",
    "clientip": "<IP_ADDRESS>", # for geoip
    "otherfields": {
              .
              .
 }

I'm not sure, let me have a look and get back at you, but theoretically it should be possible.

@heytrav currently you can only set the response fields available in the django HttpResponse object.
This can probably be customized, but requires some substantial work where one could be able to specify the "LogObject" that they want to use. When time allows, I will add support for that.


Integrating the three current UI libraries

Hi @floooh ,
current situation is that we have three ImGUI, Nuklear and TurboBadger UIs.
All of them have virtues and defects and no one at the moment seems to be emerging as the most effective solution.
Given your experience on all three of them, do you think that there's a way to combine them and make them work together, not considering for the moment the size of the result?
Thanks in advance,
--R

I haven't thought about a unified UI solution yet if that's what you're after, but here's my thoughts about the three:

ImGui: I would consider this without a second thought for anything tools-related, even very complex tools. I wouldn't use it in its current state as a real in-game UI because the look is not customizable enough. In terms of "effectiveness" (both in getting things done quickly and rendering performance), ImGui seems to be the best choice to me.

TurboBadger: I don't like TurboBadger's design philosophy, but it seems a good choice for an in-game UI.

Nuklear: I don't have enough experience with Nuklear's "skinnability" yet to have a good opinion.

I think it's totally possible to combine the UIs (e.g. use ImGui as tools/debugging UI, and in the same project, TurboBadger for ingame UI), but I haven't tried that yet. But if there are problems they should be easy to fix.
As for real-world ingame-UIs, I think it really depends on the game, and the team building that game. None of the UIs have any sort of artist tools, and I'm not sure if the layout systems are even usable with an artist tool (e.g. pixel-positioning instead of automated layout-flow, better control over animations etc...).
Apologies for the relatively winded answer. I hope it still helps a bit :)

I totally agree with the analysis of the three UIs you made.
I was indeed speculating onto a unified UI since I came comparing the rendering parts and they have a lot in common.
Problem is all of them are quite incomplete and each of them can be a remedy where another one falls short (!)
I think there's a need of a light UI even for more traditional enterprise projects, say those you could write in Qt.
(but Qt is big, missing the webassembly boat and I don't like mixing QML and Javascript with C++ libraries).
Maybe there's room for the gazillionth native C/C++ UI :)
The one that has to apologize it's me, thank you for your valuable insight,
Roberto


Add aravis library

Aravis is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 (Since Aravis 0.5.x) protocols used by industrial cameras.

https://github.com/AravisProject/aravis

We can’t reopen this issue until a PR is opened, unfortunately, consider making a pull request!


[SPARK-9819][Streaming][Documentation] Clarify doc for invReduceFunc in incremental versions of reduceByWindow

that reduceFunc and invReduceFunc should be associative
that the intermediate result in iterated applications of inverseReduceFunc
is its first argument

Can one of the admins verify this patch?

@tdas, what's the status on this PR? I'm not familiar with the documentation being changed here, but this looks like a small PR that might be very close to being merged, so I just wanted to bump it.

LGTM. ping @tdas to take a final look

Sorry i forgot about this PR completely. Just one more nit that i commented on.

@tdas Answered.

Hi @huitseeker I was going through some old PRs and I noticed this doc change, its got some conflicts with master but could we maybe update it and see if @tdas still thinks it would be a good improvement? Always nice to improve docs :)

@holdenk @tdas Done, thanks for the heads up  !

ok to test

Test build #57648 has started for PR 8103 at commit de5ffbf.

Test build #57648 has finished for PR 8103 at commit de5ffbf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57648/
Test PASSed.

LGTM. Merging to master, 2.0 and 1.6.

okey. Didn't push to 1.6 due to the conflicts. Thanks, @huitseeker


Improving grid warning message output

Making warning message clearer:

Triggers on more than just display: grid
Personalizes the align/justify-self suggestion based on what the user entered
Splits the warning message into multiple lines to make the warning easier to read

The autoprefixer.test.js file still needs updating to match the new warning message output. I'm not sure how to generate the expected output for that though. Can you do that part?

Great, thank you!


Samsung

Problem/Motivation

AppDaemon Dashboard Stopped Loading on Samsung Digital Signage Display

Expected behavior

Dashboard to load as before. Same Dashboard Loads fine on Computer Browser

Actual behavior

Only Empty Panels load

Steps to reproduce

Open an AppDaemon Dasboard on Samsung digital Display

Proposed changes

Worked prior to latest update

#146 #147
It is an upstream issue


⚠ Bofrost.be has degraded performance

In 8bdd3b7, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1119 ms

Resolved: Bofrost.be performance has improved in da11577.


The extension is not working on MacOS

I've tried all values for Depth from 0-25, the location with full uri or shorten uri, none of them works.

MacOS Soloma 14.0 (23A344)
Workspace Sidebar v1.7.1
About vscode

Version: 1.83.1 (Universal)
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-10T23:46:55.789Z (3 wks ago)
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 23.0.0

Screenshot

settings.json

{
  "workspaceSidebar.actions": "New Window",
  "workspaceSidebar.showFileIconsConfig": {
  },
  "workspaceSidebar.folder": "~/workspace/",
  "workspaceSidebar.folders.excluded": [
    "internal",
    "node_modules",
    "build",
    "dist",
    "out",
    "public"
  ],
  "workspaceSidebar.searchMinimum": 0,
  "workspaceSidebar.depth": 25
}

Hello @trandaison ,
I use Mac OS myself and for me i

The only thing I can think off is that the underscores in the username have something to do with it. I will check if this causes issues although I don't think it will as I use standard node functions to get the path to the home folder.

@sketchbuch
As you can see in the terminal in the picture above, the folder is not hidden at all.
About underscores, I don't think there is any problem with them 🤔 Is there any log or something that I can check for further information?

But what about the folders where you keep code-workspace files? Are they in hidden folders?
Is the workspace folder in your folder path a normal folder? Is there anything unusual about it? Or the rights you have to it?

Mac 1.7.1

Linux 1.7.1

So it is working, I need to try and find out why it i snot for you.
I'm getting more issues from users so I will think about adding a debug mode that can dump some kind of log to a file. Obviously it doesn't help with this issue now.

I can also confirm that it doesn't work if you have spaces in your path, for example: "~/Development/Workspaces/Visual\ Studio\ Code" will not work, while "~/Development/Workspaces/VisualStudioCode" works just fine.
macOS: v14.3 (23D56)
Visual Studio Code: v1.86.0-insider
Workspaces Sidebar: v1.7.1

OK; Thanks for the report @MiroHibler
Unfortunately I can't duplicate this issue on MacOS:

I will lcontinue to look in to this as it seems several people have this issue, but at the moment it works fine on my Mac (which is the only mac I have to test on).


New ROS2 migration tool

Description of changes:
Implements a new and improved version of the ROS2 Migration Tools.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Do all the clang files need to be committed to this repo? Can they be installed somehow instead?

Good point. They can be installed via following yet-to-be-updated instructions in the README.


systemc: Init at 2.3.3

Description of changes
Adding systemc to nixpkgs.
SystemC provides a set of C++ headers to use it for system design like VHDL or Verilog.
Even is this is a C++ library, I categorized it in the same directory as Verilog because this is not something to use in a normal C++ environment but like a new language based on C++.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 190087 run on x86_64-linux 1

1 package built:

systemc

Thank you!


DI-920 Changes for Medicover internal AF VCF

Add run mode choices where in mode 'no_qc' we can find Medicover VCFs and not find the QC status files in the GRCh37 project like we would for CEN or TWE
Small changes to bash script to give better logging and check memory usage etc, use fields 2 and 3 of input file (since we longer output the pandas index from the Python file) and name output file by input file
Update README for changes

This change is

Hello @rklocke! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file DI-435/find_vcfs_to_merge.py:

Line 510:80: E501 line too long (88 > 79 characters)


Remove ableist language

I'm with Sarah Silverman on the subject of the propriety of "retarded" in comedic material, but I'm merging your pull request regardless, on the theory that you might contribute more, which will be good, or if it's your last contribution, it will, in a way, be a worthy addition to the revision history in its own right.


Image with caption by default ?

Each time I put a picture-link in my .md, the PDF output adds a "Figure N" (N=1,2,3…) string.
I would like to get rid of this "Figure N" thing, especially since I want no caption at all under several pictures.
Is it possible ? Do I have to tweak the template for this ?

markdown inline images are translated to \includegraphics (cf. https://pandoc.org/MANUAL.html#images) ... you would need to surround the inline image with a center environment, i.e. \begin{center} ![my image](pathtomyimage)\ \end{center}. however, using a latex environment would stop pandoc from converting the contents of the environment ...
it seems, you would need to write a short filter and use some custom div like this:
:::center
![my image](pathtomyimage)\
:::

-- handling of `::: center ... :::` ... (Div class)
function Div (el)
    if el.classes[1] == "center" then
        return { pandoc.RawBlock("latex", "\\begin{center}"),
                 el,
                 pandoc.RawBlock("latex", "\\end{center}") }
    end
end

an alternative approach could be to add an option to the inline image like ![my image](pathtomyimage){align=center}\ and to write a lua filter like:
function Image (el)
    if el.attr.attributes["align"] then
        return { pandoc.RawBlock("latex", "\\begin{" .. el.attr.attributes["align"] .. "}"),
                 el,
                 pandoc.RawBlock("latex", "\\end{" .. el.attr.attributes["align"] .. "}") }
end

note: code is just an idea, not tested!

Alas, lua filters work only with Pandoc 2.x and I'm stuck with Pandoc 1.x But I found a workaround:
\ \
Not very great, because it does not respect style Vs semantic dichotomy, but hey it works.

ah, well, this could be implemented in a python filter as well, which should work with pandoc 1.x ...

just another filter-free idea: you could define latex macros for \begin{center} and \end{center} ... like \newcommand{\startcenter}{\begin{center}} ... put this definitions in a tex-file, include it via -H pandoc option and use your new definitions in your markdown files. since it isn‘t an environment to pandoc anymore, pandoc will happily translate any markdown between your new macros :)

Great !

Each time I put a picture-link in my .md, the PDF output adds a "Figure N" (N=1,2,3…) string.
I would like to get rid of this "Figure N" thing, especially since I want no caption at all under several pictures.

You just have to leave the caption empty like so:
## Image without Caption

![](image.png)

good to know ... i assumed, that pandoc would produce an empty caption in this case, like "Figure X:".


fix(react-query): wrap queryOptions to support UseInfiniteQueryOptions

Overview

#1015

I have temporarily wrapped queryOptions to correspond to UseInfiniteQueryOptions. https://github.com/toss/suspensive/issues/1015#issuecomment-2199263821
PR Checklist

[x] I did below actions if need

I read the Contributing Guide
I added documents and tests.

@gwansikk

coauthor @kangju2000 please
add changset please

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 85.26%. Comparing base (7c2d6e8) to head (86b4044).

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1027      +/-   ##
==========================================
- Coverage   85.42%   85.26%   -0.16%
==========================================
  Files          45       45
  Lines         542      543       +1
  Branches      117      117
==========================================
  Hits          463      463
- Misses         74       75       +1
  Partials        5        5

Components
Coverage Δ

@suspensive/react
97.03% <ø> (ø)

@suspensive/react-query
76.08% <ø> (ø)

@suspensive/react-query-4
0.00% <0.00%> (ø)

@suspensive/react-query-5
0.00% <ø> (ø)

@suspensive/react-await
100.00% <ø> (ø)

@suspensive/react-image
80.39% <ø> (ø)

@gwansikk

coauthor @kangju2000 please
add changset please

Oh, I forgot! I'll add it!
Can I now decide and add the changeset myself?
Wrapping the select seems to be taking longer than expected... I'll do it tomorrow (07.02)!

Can I now decide and add the changeset myself?

Sure! you're already maintainer. You have access

@manudeli
I attempted to wrap queryOptions to correspond to UseInfiniteQueryOptions. However, I found that the method I tried is complicated and difficult for users to use, especially with wrapping the select props, which is very complex. Therefore, I believe the best approach is to quickly create and provide InfiniteQueryOptions.
I will close this issue and focus on quickly creating and providing InfiniteQueryOptions.

@manudeli I attempted to wrap queryOptions to correspond to UseInfiniteQueryOptions. However, I found that the method I tried is complicated and difficult for users to use, especially with wrapping the select props, which is very complex. Therefore, I believe the best approach is to quickly create and provide InfiniteQueryOptions.
I will close this issue and focus on quickly creating and providing InfiniteQueryOptions.

I agree 🚀 Let's try it


State System Requirements

Though it will be enforced through Composer, it would be better to clearly state the system requirements.
What OSes are generally supported? I Assume at least:

Windows
Linux

What PHP versions are supported?
According to https://github.com/povils/phpmnd/blob/v1.0.3/composer.json#L21 it would be PHP 5.6.+ incl. 7.x, right now.
Are there any PHP extensions needed? It seems not, at the moment.

These requirements should live where the installation is explained. See #19.


WIP: RRules

Critical Changes
Changes
Issues Closed
New Metadata
Deleted Metadata
Definition of Done
Refer to Asteroids DoD document to see any additional details for the items below

[ ] Place holder data is incorporated (Refer to Case Management Sample Data document)
[ ] Base axe-core JEST test included for any new LWC (No critical violations)
[ ] CRUD/FLS is enforced in Apex
[ ] Update & Test permission sets to account for new features and CRUD/FLS
[ ] All modified classes are unit tested (Apex) at 100% coverage
[ ] UX approval or UX not necessary
[ ] PR contains draft release notes
[ ] Attach work item to the pull request with Lurch **Lurch:attach W-000000 or **Lurch:add
[ ] All acceptance criteria have been met

[ ] Developer
[ ] Code Reviewer
[ ] QA

[ ] QE story level testing completed

@AndersonTarren - we ended up going a similar route to what you had with just some changes for stubability. Please let us know what you think.


Fixed notin operator in labels' selectors comments.

I've noticed that the comments, especially the BNF from Parse method mention not in operator, whereas the actual operator is notin, see selector.go#L58

Red Hat

cc @sdminonne @bgrant0607

Yup, my fault.
There's no code in this PR only comments.
LGTM

LGTM


Enhancement: Traffic / Metrics / Monitoring

It seems that cloudflared does not expose metrics with traffic usage. 🤔

https://github.com/cloudflare/cloudflared/issues/1001

maybe I would fork cloudflared one day, it's not a easy deal, postpone for a while.

At least just exposure available metrics.


Expose UD'

I need this exposed to have encoding of polymorphic types working

I don't need this anymore


[Vmime] libvmime

Library name: vmime
Library description:
Source repository URL:https://osdn.net/projects/sfnet_vmime/downloads/vmime/0.7/libvmime-0.7.1.tar.bz2/
Project homepage (if different from the source repository):https://osdn.net/
Anything else that is useful to know when adding (such as optional features the library may have that should be included):

@kossiBlaise

I would use the actively maintained version 0.9.2 of the VMime repository at https://github.com/kisli/vmime
The osdn version 0.7.1 of VMime is stored on sourceforge and has not been updated since 2013.

If you wish to add this port in the future, you can reopen this issue, but we're closing it for now.


pegasus uses a non OSS friendly version of org.json:json jar

https://github.com/apache/incubator-pegasus/blob/af256941f4062c77377d05d379ebd7f9b4a327ee/java-client/pom.xml#L68
See https://www.apache.org/legal/resolved.html (JSON license section)
Could you upgrade to a newer version? And these versions have security fixes too.
Since late 2022, this jar is now properly in the public domain.

https://github.com/apache/incubator-pegasus/blob/af256941f4062c77377d05d379ebd7f9b4a327ee/java-client/pom.xml#L68
See https://www.apache.org/legal/resolved.html (JSON license section)
Could you upgrade to a newer version? And these versions have security fixes too.
Since late 2022, this jar is now properly in the public domain.

Thanks @pjfanning ! Upgraded by https://github.com/apache/incubator-pegasus/pull/1781.


Example validation application, sample 4, Template Execution Error

revel run github.com/revel/examples/validation
http://localhost:9000/Sample4/Index
Results in:
Template Execution Error
3: executing "Sample4/Index.html" at <$field.Id>: can't evaluate field Id in type *revel.Field
In Sample4/Index.html (around line 18)
master commit 417d285da1342bc4f5035cbfef31d85685b29297

Thanks, those should say {{$field.ID}} in that example, will do a PR for develop on this


The ConnectionDetail class needs to contain the information about which DataService to use

This could be the url for a ProxyRestDataService or an instance of a DataService running in the same jvm.

I've updated the ConnectionDetail class to include a method: createService(). I've also added a ProxyRestConnectionDetail class that takes the service class and a url and returns a proxy rest service.

Merged into develop.


[EXPERIMENT] Switch flux source and kustomization CRs to v1

Some hints on changes to this repository
Public information only
This is a public repository. The content and commit history is visible to everyone.
Do not provide any customer-specific details. Use the customer's repository for that.
Descriptive PR title
Please write a descriptive pull request title. In this repo we don't maintain a changelog file, so the PR title (becoming the commit message after squash-merge) is the main information to understand a change in retrospect.

is this still needed?

Nope, closing. What was possible to move to v1 was already moved.


(WIP): feat(certificates) rework cert manager, integrate rotor

Description:

Testing done:

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?

Is this a breaking change?

Has documentation corresponding to this change been updated in the osm-docs repo (if applicable)?

Codecov Report

Merging #4645 (86a2fa8) into main (30e5362) will increase coverage by 0.10%.
The diff coverage is 70.66%.

@@            Coverage Diff             @@
##             main    #4645      +/-   ##
==========================================
+ Coverage   68.97%   69.07%   +0.10%
==========================================
  Files         213      217       +4
  Lines       14861    15014     +153
==========================================
+ Hits        10250    10371     +121
- Misses       4558     4588      +30
- Partials       53       55       +2

Flag
Coverage Δ

unittests
69.07% <70.66%> (+0.10%)
:arrow_up:

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

Impacted Files
Coverage Δ

cmd/cli/version.go
42.47% <0.00%> (ø)

pkg/catalog/catalog.go
90.00% <ø> (ø)

pkg/certificate/providers/tresor/fake.go
0.00% <0.00%> (ø)

pkg/certificate/types.go
100.00% <ø> (ø)

pkg/envoy/ads/grpc.go
0.00% <0.00%> (ø)

pkg/envoy/ads/stream.go
8.12% <0.00%> (ø)

pkg/ingress/client.go
0.00% <0.00%> (ø)

pkg/trafficpolicy/trafficpolicy.go
97.46% <ø> (ø)

cmd/cli/verify_connectivity.go
42.10% <42.10%> (ø)

pkg/cli/verifier/connectivity_pod_to_pod.go
56.52% <56.52%> (ø)

... and 22 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 9be0fa4...86a2fa8. Read the comment docs.


setting another audio output instead of the default 3,5mm jack

hi guys, I have a problem: every time I restart Home Assistant, default audio output revert back to the 3,5mm jack output.
to make my audio card the default USB output again, I have to turn on my USB audio card, do a “ha audio reload” and after that I have to set up again the “ha audio default output” with the information that "pactl list" give me (they are always the same).
is there a way to automate it or save the default audio card that I set up every time?

This is most likely addressed with #156. Please feel free to reopen if this is still an issue.


Add platform sidecar validation RPC

Add a RPC to validate platform sidecars.

Hmm. I hadn't thought about REST.
Na nevermind, stick with the convention, and if this becomes a slowdown on
job submission (adding to the pile of N requests to this service per job),
then "someone" will make a validator endpoint for a single job object that
can server-side validate all the things.
On Tue, Nov 2, 2021 at 1:57 PM Aaron Lehmann @.***>
wrote:

@.**** commented on this pull request.
In src/main/proto/netflix/titus/validator/validator.proto
https://github.com/Netflix/titus-api-definitions/pull/158#discussion_r741456452
:

@@ -251,3 +257,18 @@ message ImageValidationResponse {

CacheMetadata cacheMetadata = 3;
}
+
+message PlatformSidecarValidationRequest {

netflix.titus.PlatformSidecar platformSidecar = 1;

The issue I ran into when considering that is how would the REST side of
this look? It's simple to take query parameters corresponding to the fields
inside PlatformSidecar, but if we accept multiple PlatformSidecars, it
gets awkward to do with query parameters. Would it be reasonable to limit
the REST implementation to a single sidecar reference at a time?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/Netflix/titus-api-definitions/pull/158#discussion_r741456452,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC2MHLBGEAHISDVAMQXYBLUKBNDHANCNFSM5HHGEPCQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


inherit defaultSeverity onto child configurations

PR checklist

[x] Addresses an existing issue: #2569
[X] New feature, bugfix, or enhancement

[ ] Includes tests

[ ] Documentation update

Overview of change:
As reported in #2569 setting the defaultSeverity in a configuration that extends another configuration (e.g. tslint:recommended) leaves the severity of the extended rules unchanged.
The changes in this pull-request make the defaultSeverity inherited from the top-most configuration to all underlying ones (by extends & ruleDirectory).
Is there anything you'd like reviewers to focus on?
This is mainly a quick for me personally but I'm open to improvement.
E.g. this could be activated only by a flag (e.g. --inheritDefaultSeverity).
Also some people in #2569 mentioned they'd like to completely override all defaults. This could also be added as a 2nd flag (e.g. --forceDefaultSeverity).
Depending on the feedback I can adjust the code and I'll also create new unit tests if necessary.
CHANGELOG.md entry:
[enhancement] inherit defaultSeverity onto child configurations

Thanks for your interest in palantir/tslint, @FelschR! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.

I have no clue why the build failed. Can someone have a look at this?
test/rules/await-promise/custom-promise/test.ts.lint: Passed
      1) exits with code 0 if correct file is passed

test/rules/completed-docs/locations/test.ts.lint: Passed
      2) exits with code 0 if several files passed without `-f` flag

  130 passing (47s)
  2 failing

  1) Executable Files exits with code 0 if correct file is passed:
     Uncaught AssertionError: process should exit without an error: expected [Error: Command failed: /home/ubuntu/tslint/test/executable/npm-like-executable src/configuration.ts
[...]

Sorry for all the commits regarding the style issues.
I edited the code on the GitHub website^^

@ajafff Thanks for directing me where to look.
I'll look into it this weekend.

@FelschR Any progress on the PR? Our team experience the same problem and would really like the fix to be merged soon.

@M0ns1gn0r sorry, I wanted to do this but haven't really had time.
Can someone maybe help me with the configuration tests?


CLOUDQE-897, CB-13883: Add all missing gateway roles to the manager node in cdp-data-engineering-ha.bp

Hi CB team,
I would like to add all missing gateway roles to the manager node in cdp-data-engineering-ha.bp
More details are in these jiras: CLOUDQE-897, CB-13883

Thanks for the review! @doktoric  @cegganesh84


L2 Cache read/write metrics

Hi,
I know there are metrices for HBM(video memory) read and write. Are there any metrics for L2 cache read/write?
My card is MI100.

https://github.com/ROCm-Developer-Tools/rocprofiler/blob/amd-master/test/tool/metrics.xml#L199

L2 miss rate is not too meaningful sometimes. It is possible to underutilize memory bandwith with good L2 hit rate.

Thanks for your reply.
In some cases it's useful to know the memory traffic of L2 and nvidia has some metrics to get the read/write traffic.
BTW, gfx908 has 32 TCC_HIT and TCC_MISS instances, but seems like the equation of L2CacheHit only consider half of them.

https://github.com/ROCm-Developer-Tools/rocprofiler/pull/87/files

Hi,
Is there any doc for the name abbreviation of counters and metrics? I know some of them, but the other part is really confusing to me.
For example,
SQ, TA, TA_FLAT, TCC, TCC_EA, TCP
I would really appreciate it if you could answer these.

SQ is abbrevation of sequencer - hardware dispatcher. It issues vector alu, scalar alu, branch, memory, local data store, matrix alu instructions.
TA, TA_FLAT - texture array. I suggest they are not too helpful in compute workloads.
TCC/TCC_EA - L2 cache events.
TCP - L1 cache events.
https://developer.amd.com/wp-content/resources/CDNA1_Shader_ISA_14December2020.pdf  precise instruction set description
https://www.slideshare.net/DevCentralAMD/gs4106-the-amd-gcn-architecture-a-crash-course-by-layla-mah - brief explanation of GCN architecture. CDNA/RDNA architectures are mostly same. I recommend to start from this if you don't have basic understanding how hardware works.

Thanks!
Do you have the plan to add the metric of L2 read and write traffic?

TA is texture address block. It calculates effective address of load|store instructions. Then coalesces memory requests to adjacent addresses to one request.

Thanks! Do you have the plan to add the metric of L2 read and write traffic?
There are TCC_EA1_RDREQ and TCC_EA1_WRREQ

Yes, the cacheline size may have some influence on it.
Seems like it's still the memory read/write between L2 and HBM.
What I'm questioning is the memory read from L2 to L1/LDS and write from L1/LDS to L2.
One possible way I'm thinking is using TCC_HIT number with cache line size to calculate it. But need to verify.

Close it as no update.


How can we make changes into original resources file so that we edit the current images and icons according to our project need?

I think this issue is a duplicate for #9.

Yes, Mb. Thanks

I think this issue is a duplicate for #9.
Yes, Mb. Thanks


Nodejs service to read the content of an existing file

AS AN Architect
I WANT TO have a REST endpoint to read the content of an existing file
SO THAT I wouldn't have duplicate services for the same functionality

See https://github.com/buerokratt/DataMapper/issues/1 to create Nodejs-based services

Acceptance Criteria

[ ] POST REST endpoint accepting full file path as a parameter, no relational (../../file_name.txt) paths allowed
[ ] Return error message if exists

Pull request https://github.com/buerokratt/Training-Module/pull/155


Disable internal keyboard doesn't working after I upgrade macOS to 10.14.6

Although I chosen my external keyboard HHKB Professional for one of selected devices, the internal keyboard still not disabled. I think it works before. The only thing I remember is that I have upgrade my macOS version then it doesn't working for now.

I have used version 12.6.0 to test disable internal keyboard function. It works well!


WIP sessions: nested transactions for create/delete

Use invenio_db.db as interface to the database instead
of flask-security's datastore (addresses #98)

TODO: Nested transactions (closes #98)

Signed-off-by: Odd Magnus Trondrud<EMAIL_ADDRESS>

@jirikuncar: Regarding the discussion about try/except and begin_nested blocks that's now on an "outdated diff":

You were right about the IntegrityError being thrown by db.session.commit(), I misread the stack trace.
The exit function of begin_nested does not catch the IntegrityError thrown when the unique=True constraint of SessionActivity.sid_s is violated.

The following code snippet results in an unhandled IntegrityError:
from invenio_db import db as _db
from invenio_accounts.models import SessionActivity

session_activity = SessionActivity(user_id=u'1', sid_s=u'stringval')
with _db.session.begin_nested():
    _db.session.add(session_activity)
    _db.session.add(session_activity)

Placing the with ...begin_nested() block inside a try block catches the exception:
from invenio_db import db as _db
from invenio_accounts.models import SessionActivity

session_activity = SessionActivity(user_id=u'1', sid_s=u'stringval')
try:
    with _db.session.begin_nested():
        _db.session.add(session_activity)
        _db.session.add(session_activity)
except IntegrityError:
    _db.session.rollback()


Update auth, dynamodb, s3, sqs to 2.17.125

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:dynamodb
software.amazon.awssdk:s3
software.amazon.awssdk:sqs

from 2.17.66 to 2.17.125.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #829.


NPD: Get node name from the downward api.

Fixes https://github.com/kubernetes/node-problem-detector/issues/25.
Fixes https://github.com/kubernetes/node-problem-detector/issues/23.
https://github.com/kubernetes/kubernetes/pull/27880 has been merged. This PR changes node problem detector to get node name from the downward api.
@dchen1107

Are you going to build a new image with new release tag, right?

LGTM

I know we didn't promise the backward compatibility on node-problem-detector here, also it is still at alpha release. But can we still add support on checking hostname if node problem detector couldn't get node name from the downward api?

@dchen1107 Good catch! Will address this~ Thanks a lot!

@dchen1107 Updated the PR.

LGTM

@Random-Liu This should be documented clearly that currently NPD can only run with Kubernetes 1.4, as getting NODE_NAME from downward api can only work properly with V1.4 and above.


minimal iso does not include git

Describe the bug
The nixos minimal iso doesn't include git, which causes nixos-install to fail when fetching a remote flake source or any fetchgit  calls within a configuration.
Steps To Reproduce
Steps to reproduce the behavior:

Boot minimal installation media
Proceed with standard installation steps until nixos-install
nixos-install --flake github:user/repo#host fails

Expected behavior
git should be included in the minimal iso. For a distro that prides itself on being reproducible from text files, it feels like unnecessary friction having to nix-shell for something as basic and ubiquitous as git.
Additional context
This has been brought up before in #78127, but was rejected after a discussion in nixos-dev. Maybe it's time to revisit this decision?
Notify maintainers
N/A

Add a :+1: reaction to issues you find important.

To inform our decision, our git package is reproducible, so adding git to the minimal iso wouldn't render the iso less reproducible.

Steps to reproduce the behavior:

Boot minimal installation media
Proceed with standard installation steps until nixos-install
nixos-install --flake github:user/repo#host fails

Does the minimal iso enable Flakes? I would have expected that command to error out, and hint that Flakes is an experimental feature.

nixos-install works with flakes out of the box, nothing else does. I'm not really sure why, but I ain't complaining :P


Refactor hard-to-maintain lists

In the best practices we have lists of relation types, media types etc. With the slow release cycle of the main spec, this is getting outdated quickly and it's relatively hard to maintain the list. I'd propose to clean-up the list and maintain it separately. For example, the list of relation types seems for some still relatively "unmature" (origin seems to be the card4l extension), but we list them regardless in the main spec, which is weird.
Similarly, I'd propose to remove the list of stable extensions from the extensions page and instead just link to stac-extensions.github.io.

:+1: Thanks @m-mohr !
Would love to see a more extensive, probably crowd-sourced list of what people are using for media types for different assets.  https://github.com/radiantearth/stac-spec/blob/master/best-practices.md#common-media-types-in-stac is a nice start but obviously hardly scratches the surface of types.
Meanwhile, are their any guidelines for winging this? I'm not hopeful that we'll ever get registered MIME types for most of these (how long have we been waiting for parquet to get a MIME type??)  I'm currently trying to document some vector objects that use flatgeobuf, and ESRI's shapefile and geodatabase formats; wondering if the GDAL driver names might provide a reasonable basis of reference: https://gdal.org/drivers/vector/index.html , e.g. application/x+<DRIVER SHORT NAME> maybe?

I've moved your issue to #1295 @cboettig
It seems somewhat different from the general refactoring, which is not really meant to change contents at this point.
But it seems valuable to discuss your points so moved them into a separate issue to better keep track.


Auto-Machinging Grid Slots

This is an enhancement idea for adding a slot/block that will allow for sending items to a machine. I recently posted most of this on the main refined storage github but as it isn't in the vein of the main mod so the issue was closed. Most of the text below is edited from the post there.
The Idea:
Having a block that worked similar to the crafter where it puts items into a machine. This block can be used to automatically smelt/process items remotely. It would be similar to but unlike the crafter the items would not be put into the processing block (like a furnace) based on a pattern but would instead be put into the processing block after you put them into a processing slot in the inventory screen of a grid. This functionality should be easy to add as the crafter already does roughly the same thing. The item slot that would send the items could be enabled by use of an upgrade that has to be linked to the processing block.
This would make it so that if I was away from my processing room and wanted some cobble in my inventory smelted but didn't have a pattern I could put the cobble in the processing slot linked to a processing block that would put the cobble in a furnace and then when it was done smelting an importer would pull it back into the system where I could grab it.

No, sorry.


Runtime Error: Access violation in fv_cache.cc

I modified the code for windows and there was no problem. I trained a couple of times successfully but suddenly this run-time error showed up. Exactly after "Cache holds ... examples".
matlab_crash_dump.txt

I run the learning code on Matlab2015, ubuntu. At first I've got the "Invalid Mex-file 'fv_cache.mexa64': dlopen: cannot load anymore object with static TLS. But, after I add several dependencies to that file (like what was said in that issue), I've encountered this error and I never trained it successfully. So is there any possible solutions to this? Thank you.

There may be some bugs in the cache management codes.

Do you know how to fix that?

Unfortunately, debugging the cache management codes is very hard.

Same issuse with me, how do you fix this?

There is no fix up until now.

Decrease the training.cache_byte_limit option in voc_config file and see if the problem exist or not.

I tried that, but the problem still was there.


S3: add EventBridge notification for delete object tagging

Changes

s3/models.py

added notifications.send_event  to delete_object_tagging

tests/test_s3/test_s3_eventbridge_integration.py

Added a pytest for notifications.send_event

Hey @bblommers !
Do you mind reviewing this PR whenever you have time?
thanks

@bblommers
Thanks for the review!
gotcha

@bblommers
This should be ready!


Fixed executor unit tests to at least pass

We mock the runGoCommand to assert that the correct function is being called.
I used the source in https://github.com/nrwl/nx/blob/master/packages/cypress/src/executors/cypress/cypress.impl.spec.ts#L37 to see how to mock the use of a function from a separate module.
Next step would be to have tests to validate the correct go command is being executed based on the inputs.

Thanks @phillipCouto 🙌

This has been released as<EMAIL_ADDRESS>🥳. Thanks!

@beeman we can add the unit tests into the actions now since they should pass.


Doc: Update example for current version

Update example. Fix new line errors on webpage and update example imports
cc @dynamicwebpaige

It has been 14 days with no activity and the awaiting response label was assigned. Is this PR still valid? Assigning the stalled label. Please comment to reassure me that this is still being worked on.

Hi @tensorflowbutler I shall resume work on this shortly.

It has been 14 days with no activity and the awaiting response label was assigned. Is this PR still valid? Assigning the stalled label. Please comment to reassure me that this is still being worked on.

It has been 43 days that this pull-request has stalled. Please create a new pull-request with the requested changes.


Error fetching Kubernetes resource: '/api/v1/pods', error: UNKNOWN_ERROR, status code: 407

🔖 Need
Getting the error 'Error fetching Kubernetes resource: '/api/v1/pods', error: UNKNOWN_ERROR, status code: 407' when trying to integrate minikube Kubernetes with backstage
🎉 Proposal
Need some help with this
〽 Alternatives
No response
❌ Risks
No response
👀 Have you spent some time to check if this RFC has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Hey @Rugvip any quick help is much appreciated.
New to the backstage. i followed documentation to setup minikube after installing k8s plugins.
But i am getting 407 error when reaching Kubernetes, please let m know if i am missing something.


bug: 121 Allow switch step to walk to next step if condition does not match

@turnerrainer in the documentation, this change makes the switch step work as it is already described https://github.com/buerokratt/Ruuter/blob/main/DSL/GET/steps/switch/conditional-jump.yml.
The commit message is "Allow switch step to walk to next step if condition does not match".
The full description is the original comment on 121 https://github.com/buerokratt/Ruuter/issues/121#issue-1556787401.


[Addition]: Powerful Dijon Moth

Hotspot b58 Addresses
116kjh2XamgSShjV6aQkywK2ywweyV3x3Qd2UmcrfyGb2FJfLjh
Discord Handle
Mr.Ghostrider#5343
Reason(s)
Was on the denylist.
Has to be asserted in the wrong location & is causing our  transmit scales to go from 1.0 to 0.83 due to hex7 crowding by 1.

Previous submission: https://github.com/helium/denylist/issues/92#issue-1118977415

It looks like the hotspots on deny lists are back again. A bug?

116kjh2XamgSShjV6aQkywK2ywweyV3x3Qd2UmcrfyGb2FJfLjh

Not a bug, see: https://github.com/helium/denylist/pull/2225#issue-1164063653

It looks like the hotspots on deny lists are back again. A bug?

Not a bug, see: https://github.com/helium/denylist/pull/2225#issue-1164063653

Part of this gaming circle: https://github.com/helium/denylist/issues/2316


[3.x] Expose the TextEdit control of the script editor

Refactor ScriptEditor and ScriptTextEditor with added method to retrieve the script editor's TextEdit control.
Update
doc/classes/ScriptEditor.xml
script_editor_plugin.cpp
script_editor_plugin.h
script_text_editor.cpp
script_text_editor.h
Bugsquad edit: This PR is a 3.x version of 4.x's get_base_editor().
this PR comes from https://github.com/godotengine/godot/pull/77119

Thanks!


Update for_loops.html

Cell 5 had incorrect output.
The output was:
age
name
hacker
It should be:
hacker
age
name

Thanks! Fixed in https://github.com/jerry-git/learn-python3/pull/35


Some questions

Is a 1.20.2-compatible release on the plans? If not possible for you, are you accepting PRs by other modders?
A suggestion: open the discussions sections for questions like this to be posted 😝

So apparently i'm blind and didnt pay attention that the discussions panel was already enabled. Very sorry for that.


Why do we compress Union{T,Missing} if there are no missings?

In converting to categorical, we check whether the type is T >: Missing and if so  then check whether there are any true missings. If there aren't, we form a squeezed copy only of type nonmissing(T). This incurs a notable overhead compared to just using categorical in all cases where T>:Misssing.
Note that in most case, there will be "true missings" and so we  should not  do this, but we still have to pay the price of confirming this. This is, IMO, unreasonable.
My question:

Why do we  do this?

I understand it's a convenient thing  to  do but I'm not convinced it should be  ScientificTypes' responsibility. Also  I wonder where  this would occur where it would be automatically warranted to do something like it.
A case that I encountered is imputation, but if you use FillImputer then we already do a compression at that level so that  the  output type of the FillImputer is nonmissing(T), see https://github.com/alan-turing-institute/MLJModels.jl/blob/8ed519f749412283d5099b662471f6686ec3e06d/src/builtins/Transformers.jl#L83-L85.
The extra case where I could see this happening is if the user does something like dropmissing(rows) or something like that in which  case the columns  would still be  of type Union{T,Missing} , but I would prefer  it if we had an additional functionality that did this compression Union{T,Missing}->T.
Several possible ways out:

add a keyword to coerce like check_missing or  some such which would be false by default.
make anything that drops missing or is likely to  lead to the  problem of a vector Union{Missing,T} with no missing be such that it doesn't (e.g.: force compression after dropmissing  etc, encode all that stuff in  MLJBase).

I would prefer (2). Of course there could be the  situation where a  user does their own stuff outside of MLJ and it  leads to the issue but then that's their responsibility. We could still  provide an additional functionality "squeezemissing" or "tighten" or whatever that does identity.(v) but it would  be an additional step.
Thoughts?

I assume you are only speaking about the coerce function here. In that case, I can't think of a reason to insist on the type squeeze, and agree responsibility for this could be externalised.

No, this also arises in scitype, consider:
function arr_scitype(A::Arr{T,N}, C::Convention, ::Val{S}) where {T,N,S}
    # no explicit scitype available
    S === nothing && return arr_scitype(A, C, S)
    # otherwise return `Arr{S,N}` but check first if the array
    # is of type Union{T,Missing}. If that's the case, check that there
    # actually **are** missing values in `A`.
    T >: Missing && has_missings(A) && return Arr{Union{S,Missing},N}
    # otherwise
    return Arr{S,N}
end

around line  83 of scitype.jl.  In the T >: Missing line, the second  instruction is has_missings; that's the instruction which checks whether there are "true missings" if not, it will  return a scitype corresponding to nonmisssing(T). This makes sense but incurs a cost that I think is unreasonable (because we  have to pay it all  the time when it  only makes sense to pay it sometime)
I'll take your answer as a "go ahead" though, will propose a fix.


Cannot use dependency due to new release management

Introduced in #1286
We now get:
Failed to collect dependencies at com.graphhopper:graphhopper-reader-osm:jar:0.10-SNAPSHOT: Failed to read artifact descriptor for com.graphhopper:graphhopper-reader-osm:jar:0.10-SNAPSHOT: Failure to find com.graphhopper:graphhopper-parent:pom:${revision} in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

for all projects trying to use the dependencies at e.g. maven central. Which is ugly and could be fixed with a 'flat' pom: https://maven.apache.org/maven-ci-friendly.html
Related: http://blog.kiwitype.com/2017/maven-versioning-in-a-continuous-delivery-pipeline/

Nice, this plugin seems to fix the problem!

any idea how to fix it in android? when using gradle?

@cojalvo this is currently discussed, please join if you have an idea :) https://discuss.graphhopper.com/t/gradle-project-sync-failed-in-android-studio-3-0-1/2845/7


Unknown exception

I am guessing that you won't be investigating this or neither of the cores I have stored

Looking forward to it. Let me know if/when you'd like the cores (10 files / 3,78 GB (4.066.579.146 byte))

(Collection of issues in https://github.com/antonpup/Aurora/issues/1609#issuecomment-598041230 and https://github.com/antonpup/Aurora/issues/1609#issuecomment-598458155)


[BUG] 'EditorStyles' does not contain a definition for 'iconButton' in Unity 2020

Affected script: https://github.com/starikcetin/Eflatun.SceneReference/blob/8e449ce4d162e4061f8d23af47cf5d814dbdd15a/Eflatun.SceneReference/Packages/com.eflatun.scenereference/Editor/SceneReferencePropertyDrawer.cs#L167C5-L167C5
Can be replaced with https://docs.unity3d.com/2020.3/Documentation/ScriptReference/EditorStyles-miniButton.html

Thank you for the bug report. I would be happy to accept a PR for this.

@starikcetin, @dlfanx .  check out PR #75

Fixed in #76. Will be included in the next release.

Included in 3.1.2.


To simplify understanding remove the Data suffix from all the FactorData generator functions

Hard pressed to see the value in the suffix.

You have to designate the difference between a Factor and it's data cuz one is fed into the other. I think it's really confusing to do:
x1x2f1InputStuff = Pose2Factor(....) x1x2f1 = Factor('x1x2f1', x1x2f1InputStuff) addFactor(x1x2f1)
This is much clearer
`
X1x2f1Data = Pose2FactorData(...)
x1x2f1 = Factor('x1x2f1', x1x2f1Data)
addFactor(x1x2f1)
`

Also the cousin over by VariableNodeData inside DFGVariable / Variable

Yeah, that's what I want it to look like.  Please do that.
I would also name the first argument platform instead of client_context.  That way in the future when users are talking with an Edge sidecar, its still just "platform" and a config file that specifies where solves should be happening.

yes, client_context was just to show its one to combine the 2.
Maybe it should be a separate issue, are we happy with NavAbilityPlatform as the name from https://github.com/NavAbility/NavAbilitySDK.jl/pull/78
The internals and constructors can still change, but if we can decide on the name it would be a step in the right direction.

If we are changing signatures can we please have a design discussion. This is going away from existing plans.

The plan is not to change signatures, but to add a wrapper that resembles IIF.  The signatures in IIF has had a lot of iterations and has become rather  stable. So I think its a good starting point for the wrappers.

This is going away from existing plans.

Can you please point me to the existing plans to get an better understanding on it.


Feature/2988/auto default version set

For #2988 and #3683
Didn't save the default version setting in the DB for simplicity. The version/tag that was just pushed is presumably the latest (which works for most cases). Doesn't work if you push a tag that says default should be branch (until you push a branch that says default should be branch)

If I understand correctly, this is a take on the original proposal.
So
workflows:
   - subclass: ...
     primaryDescriptorPath: ...
     defaultVersion: tag

means "if this current push is a tag, it becomes the detault"
      defaultVersion: branch

means "if this current push is a branch, it becomes the detault"
      defaultVersion: manual

means nothing happens which is the same as if the key is completely omitted. Is that correct?
If so, would recommend deleting manual and just having the no key be the only way to represent manual. Would also like to make this consistent with our syntax for github app filters
https://docs.dockstore.org/en/develop/getting-started/github-apps/github-apps.html#why-have-a-dockstore-github-app
So the two remaining modes become
workflows:
   - subclass: ...
     primaryDescriptorPath: ...
     default:
        tags:
             - /.*/

and
workflows:
   - subclass: ...
     primaryDescriptorPath: ...
     default:
         branches:
             - /.*/
         tags:
             - /.*/

A bit of a pain, but there is probably code that can be re-used.
Edit to add:
Can also simplify as this for a first pass
workflows:
   - subclass: ...
     primaryDescriptorPath: ...
     default:
        - tags

and
workflows:
   - subclass: ...
     primaryDescriptorPath: ...
     default:
         - branches
         - tags

The yaml configuration is pretty much https://github.com/dockstore/dockstore/issues/3683#issue-664534277 except config is left out
I can remove manual if we don't want users to explicitly specify manual (like how CircleCI lets u specify a medium VM even though it's default). Not too sure about the benefits of removing it though. The downside is if we move this feature to all tools/workflows, the DB column for defaultVersion would no longer be able to use MANUAL as the default and would have to use NULL.
Not quite sure I understand the purpose or use case of the rest of proposed changes. I want to reiterate the use cases:

A user can specify filters without specifying what the default version should be
A user can specify what the default version should be without specifying filters
A user can specify both what the default should be and filters

I don't think there's a use case for specifying that the default version should be the newest anything (BRANCH or TAG) which makes adding ALL or something like that to be unnecessary.
I don't think defaultVersion should be an array, it would not be intuitive to store it as an array (or table) in the DB and thus I would not want to represent it as an array in the yaml

My current implementation is kind of a shortcut for my initial idea:
switch (defaultVersion):
case TAG:
  search all tags for the newest tag
case BRANCH:
  search all branches for the newest branch
default:
  don't set default

search all tags for the newest tag

To be clear through, this isn't actually the case is it? Briefly looking, the code is just processing the one added version rather than searching through all tags. (Concerned about performance)

Not too sure about the benefits of removing it though

I just like to avoid redundancy

Not quite sure I understand the purpose or use case of the rest of proposed changes

It is mainly that we developed a syntax for github app filters after the initial proposal that was linked to from 2683, which also concerns how we process new versions of a dockstore workflow. Since this is a pretty similar idea, I was thinking about a similar syntax.
That said, I think your breakdown helps point out that a filtered tag or branch cannot logically be set as the default so nevermind.
I agree with you that we should avoid 'ANY' although I expect it to be a feature request, I think I would be opposed to it.
For similar reasons though, I don't think we should be encouraging BRANCH either
So for me, I'm actually just thinking
switch (defaultVersion):
case TAG:
  allow any new tag to become default
default:
  don't set default

To be clear through, this isn't actually the case is it? Briefly looking, the code is just processing the one added version rather than searching through all tags. (Concerned about performance)

The current implementation is a shortcut of "search all tags for the newest tag". It has the downside of the original PR comment "Doesn't work if you push a tag that says default should be branch (until you push a branch that says default should be branch)" which also means it doesn't work if you push a branch that says default should be tag (until you push a tag that says default should be tag). If the currently processing version is a tag, it's presumably the latest tag because GitHub Apps triggered it from a recent commit to it and you wouldn't need to search for it.

Not too sure about the benefits of removing it though

I just like to avoid redundancy

I don't quite consider it redundant (just like our WorkflowMode, cloudformation with default enum, circleCI with default enum, swagger parameters). The manual mode is the default mode that can be explicitly specified. I'm actually having a hard time finding an example elsewhere that doesn't have this behaviour.
So for others, I think this now boils down to 2 questions:

Do we remove being able to set the newest branch as the default
Do we remove being able to explicity set the defaultVersion to "MANUAL"

If we end up with yes to both, then I propose changing it to an optional property like:
setLatestTagAsDefault: true
or
setLatestTagAsDefault: false

If we end up with yes to both, then I propose changing it to an optional property like:
setLatestTagAsDefault: true
and
setLatestTagAsDefault: false

This is a big thread to process :)
Before going deeper, can you clarify what is the latest tag? From the code, it looks like the tag that was most recently processed by Dockstore. Which won't necessarily be the most recent tag on GitHub, although it most likely will be.
More generally, I'm struggling to get my head around this and the publish feature... Everything else in the .dockstore.yml is version specific, these two features apply to the workflow and depend on the order in which Dockstore processes GitHub events. Typically we should process the events in order, but I think that could depend on what people push. And what if we're down for maintenance when one event comes in, and the retry happens after we're back up and a newer event has already been processed -- the older event would win out.
Just brainstorming, and maybe I'm overthinking it.

If we end up with yes to both, then I propose changing it to an optional property like:
setLatestTagAsDefault: true
and
setLatestTagAsDefault: false

This is a big thread to process :)
Before going deeper, can you clarify what is the latest tag? From the code, it looks like the tag that was most recently processed by Dockstore. Which won't necessarily be the most recent tag on GitHub, although it most likely will be.
More generally, I'm struggling to get my head around this and the publish feature... Everything else in the .dockstore.yml is version specific, these two features apply to the workflow and depend on the order in which Dockstore processes GitHub events. Typically we should process the events in order, but I think that could depend on what people push. And what if we're down for maintenance when one event comes in, and the retry happens after we're back up and a newer event has already been processed -- the older event would win out.
Just brainstorming, and maybe I'm overthinking it.

This PR sets it to the most recently processed which although may not always be correct but is almost always correct. I consider it an ok tradeoff for the simplicity it brings.
Yes, I agree it's kind of odd to set workflow level information in what's supposed to be version level endpoint, but the publish property has set precendence so... 🤷

If we end up with yes to both, then I propose changing it to an optional property ...

I agree, I think I ended up here as well before.

the retry happens after we're back up and a newer event has already been processed -- the older event would win out.

I think so and this is why I wanted to confirm what we're doing. Currently, this PR is not doing

search all tags for the newest tag

We're actually doing  allow any new tag to become default depending on when events arrive.
Because the alternative is to actually search. Or at least use a SQL query to verify that there are no workflow versions newer than the "current" version being processed.  I think I agree with Gary on this one. Hopefully we're not down for long enough for people to be making multiple tags ... and caring about which one is last.

(was here from stand-up, agreed could use more opinions)

So for others, I think this now boils down to 2 questions:

Do we remove being able to set the newest branch as the default
Do we remove being able to explicity set the defaultVersion to "MANUAL"

If we end up with yes to both, then I propose changing it to an optional property like:
setLatestTagAsDefault: true
and
setLatestTagAsDefault: false

I think the optional property makes sense and is probably the least confusing for our users

For the first question, I do see Broad HCA's use case of having a tag become the latest being more useful than finding the most recently updated branch. I don't see the immediate use case for switching between branches automatically.
As far as 2, I think that this behavior is in general confusing and I don't think redundancy would hurt the use case much.

I'm think I'm OK with setLatestTagAsDefault proposal, but see nits below. I'm still not clear what "latest" is though -- is it the most recently processed tag, or the most recent tag, date-wise?

As mentioned multiple times (like at least 3 times) and the code should make it obvious.
"The version/tag that was just pushed is presumably the latest (which works for most cases)"
"This PR sets it to the most recently processed which although may not always be correct, it is almost always correct. I consider it an ok tradeoff for the simplicity it brings."

Nits: If I were a bioinformatics developer (which I'm not) with a versioned repo, I probably wouldn't use it. What if I had these tags:

v1.0
v1.1
v2.0
v2.1

If I had to do a patch for the 1.x, I'd create a v1.2 tag. It would be the most recent tag, but I wouldn't want it to be the default. Conversely, if I created a v2.2 tag, I would want it to become a default.

If I were a bioinformatics developer (which I'm not), I would want the version whose version number is closest to a prime number and whose character count is less than 3 to be the default (just because)
In reality, when looking at the first 20 or so workflows on https://dev.dockstore.net/search?entryType=workflows&searchMode=files , workflows almost never even get to a 2.0.0 or 2.0 release. If/when they do, the previous major version are never updated. That use case seems extremely limited for the confusion it may bring to users.

It's almost like there should be a workflow-level setting, where you specify the strategy:

yup, I prefer a workflow-level setting... someone stop me

Manual
Most recent by date
Most recently processed (maybe not)
Most recent by version label (which would only work if tags had the right naming convention)

But this is overkill, and I think the optional property works.

yup, overkill unless someone asks for it. Even newest version (instead of tag) is cut out, then this is even more unlikely.

Hmmm,  so thinking compromise for today
defaultVersionStrategy: latestTag and defaultVersionStrategy:manual (also if omitted) with the same behaviour as what Gary has coded up already
Thinking future ticket for Charles' case, if and only if requested by user for some future version of Dockstore 1.12+
defaultVersionStrategy: latestSemanticTag

Hmmm, so thinking compromise for today
defaultVersionStrategy: latestTag and defaultVersionStrategy:manual (also applicable if the field is omitted altogether) with the same behaviour as what Gary has coded up already
Thinking future ticket for Charles' case, if and only if requested by user for some future version of Dockstore 1.12+
defaultVersionStrategy: latestSemanticTag
Edit to add:
Alternatively,
setLatestTagAsDefault: true
with this as a future expansion
setLatestTagAsDefault: true
semanticTagsAsDefault: true

If it's two states (with one being suitable as "false"), then I prefer to not use an enum and just use a boolean. It just seems simpler. However, if we expect a third state anytime soon, then we may choose a third enum for backwards compatibility. Even so, a third state wouldn't be terriblly difficult since I've made no DB changes.
Not a fan of the
setLatestTagAsDefault: true
semanticTagsAsDefault: true

because it kind of conflicts with each other.

However, if we expect a third state anytime soon, then we may choose an enum for backwards compatibility. Even so, a third state wouldn't be terriblly difficult since I've made no DB changes.

Yeah, I do think Charles' request is a realistic possibility which is why I'm thinking enum.
But you're right, there are no DB changes so we could iterate the yaml version or even just have an enum down the road that overrides this boolean.


[FEATURE] : Adding a detailed single products page

Description

Now we have an integrated shop page at /shop
All we need to do is make a single product page which can be at /shop/:id
We can show the picture in the left, and the details to th right.
Feel free to add anything more you like 🔥

Screenshots
No response
🥦 Browser
Google Chrome
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[ ] I am willing to work on this issue (blank for no)

@IAmTamal, I would like to work on this

Go ahead @DevShobhit .
We expect a clean and minimal design. Assigining this to you/

@IAmTamal  Does it seems fine?

Oh wow this looks amazing, you can go ahead you can make a PR !


Need help in running prepare_text.sh for Wav2Vec2-U

My Task: Reproducing the results of Wav2Vec2-U for LibriSpeech 960h Corpus:
I have created the train/valid/test.tsv files, for example:
/path/to/data/
3764-168670-0031.wav	131840
8455-210777-0060.wav	113200
7902-96592-0047.wav	74160
237-134500-0009.wav	35520
Next, removed silences using rVADFast and generated train/valid/test.vads files, for example:
5120:16960 17120:67520 71840:123360
3680:43200 47200:56320 57920:108320
3360:52640 59520:72800
1440:33600
Then created the .wrd and .ltr files for all 3, for example:
test.wrd:
WHY I COULD TIE YOU UP IN A KNOT AND HEAVE YOU OFF THE CLIFF ANY DAY WHAT A GAME
test.ltr:
W H Y | I | C O U L D | T I E | Y O U | U P | I N | A | K N O T | A N D | H E A V E | Y O U | O F F | T H E | C L I F F | A N Y | D A Y | W H A T | A | G A M E |
Now, the next step is creating .phn for all 3, for which I need to run the prepare_text.sh file.
Can someone please guide me in running this script, I am confused about what parameters to pass,
it takes: lg=$1, text_path=$2, target_dir=$3, min_phones=$4, phonemizer=$5, lid_path=$6, sil_prob=$7
From my own end, I know lg = en, target_dir = dir to save results, phonemizer = espeak and lid_path = lid.176.bin
I am unsure about the others, can someone please verify my steps until now and guide me in running this prepare_text.sh script?
(If everything is correct, then what do the parameters mean and what to pass in them)
Thanks and regards

似乎不需要那么多文件，有的是可选的
我克隆的（可能失效了一些环境）：https://github.com/oneapi-src/ai-transcribe
别人通过虚拟环境克隆的：https://github.com/voidful/wav2vec-u-exp
我卡在了这个问题上：https://github.com/facebookresearch/fairseq/issues/5572

Thanks for your work. What's the current status? I'm not getting good results; my UER is stuck around 90.
I've cloned this repo (it might have environment problems new): https://github.com/oneapi-src/ai-transcribe
Others cloned it with a virtual environment: https://github.com/voidful/wav2vec-u-exp
I'm having trouble with this: https://github.com/facebookresearch/fairseq/issues/5572
@Nemesis-19


New package: Myterial v0.1.0

Registering package: Myterial
Repository: https://github.com/FedeClaudi/MyterialColors.jl
Created by: @FedeClaudi
Version: v0.1.0
Commit: 6071ee7336467877be0818243fa3be8e4e05c0a7
Reviewed by: @FedeClaudi
Reference: https://github.com/FedeClaudi/MyterialColors.jl/issues/2#issuecomment-1030688676
Description: Lightweight colors

Can stop automerge, I've renamed the package and moved to a new PR: https://github.com/JuliaRegistries/General/pull/53973