KDE task switchers broken

Issue description
I recently updated from nixos-unstable @ 125ffff0 to nixos-unstable @ d4580297.  After doing so, alt-tab window switching in KDE stopped working.  On one of my machines, the "fancy" switchers (flip switch and cover switch) still work; on my other machine, none of them works.  (These machines have dif't graphics cards & drivers; I'm not sure the "fancy" switchers ever worked on the machine they're not working on now.)
when run systemsettings5 and hit the preview button for the "grid" task switcher in system settings, I see this on stdout:
"file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:21 module \"QtQuick.Layouts\" is not installed\n"
QQmlComponent: Component is not ready

I don't see anything of note in journalctl --user -f when actually invoking the task-switcher with alt-tab, though.
cc @ttuegel and @vandenoever, authors of most of these suspicious commits:
$ git log -G qtquick -i 125ffff0..d4580297 --oneline
512212db kde5.frameworks: unwrap all frameworks
949277ed kde5.startkde: append extra PATH elements; set Qt search paths
422ee37e kde5.applications: 16.04.2 -> 16.04.3
103ae011 zoom-us: init at 2.0.52458.0531 (#15607)
05b3749b dropbox: don't use bundled Qt libraries
b3e27962 bomi: fix compilation, move to new Qt
3d0e582b qtwebengine init at 5.6.1-1
af62c612 qt56: 5.6.1 -> 5.6.1-1

Technical details

System: 16.09.git.51a3364 (Flounder)
Nix version: nix-env (Nix) 1.11.2
Nixpkgs version: 16.09pre78848.9549257

At 125ffff, by contrast, I see this on the systemsettings5 stdout when invoking the "grid" preview:
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:79: TypeError: Cannot read property 'standardMargin' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:79: TypeError: Cannot read property 'standardMargin' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:79: TypeError: Cannot read property 'standardMargin' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:79: TypeError: Cannot read property 'standardMargin' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:95: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:76: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:77: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:78: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:95: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:76: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:77: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:78: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:95: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:76: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:77: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:78: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:95: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:91: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:76: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:77: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:78: TypeError: Cannot read property 'margins' of null
file:///run/current-system/sw/share/kwin/tabbox/present_windows/contents/ui/main.qml:28: TypeError: Cannot read property of null

... but it works.  :)

This is my fault; I pushed a series of fixes for this and related problems shortly after the original commit, but since they weren't part of the same merge, the unstable channel updated without the bug fixes. It is fixed in master.

I'm back from vacation and can confirm, the grid switcher is working again -- thanks!


TOP77 - Heating_Off_Outdoor_Temp - not adjustable

Hi,
this topic ist writable in HeishamonGo. Can you make it here too?

Hello, thanks for opening a feature request.
I was not really aiming for compatibility with GoHeishamon. We can try for sure but I'm not sure I can support it easily because that's not a setup I'm using at all.
Could you provide documentation I could look at to see how the topic corresponding to TOP77 is writable please?

Hello, thanks for opening a feature request.
I was not really aiming for compatibility with GoHeishamon. We can try for sure but I'm not sure I can support it easily because that's not a setup I'm using at all.
Could you provide documentation I could look at to see how the topic corresponding to TOP77 is writable please?

HeishamonGo is direct port from heishamon (arduino) to Go language, it's used same technic and protocol as heishamon.. so same as applies to heisha should fit and heishamongo..

Thanks for the precision. I'm not sure to see if the topic for TOP77 is writable in vanilla Heishamon so it seems to be specific to HeishamonGo, unless I'm mistaken.

Thanks for the precision. I'm not sure to see if the topic for TOP77 is writable in vanilla Heishamon so it seems to be specific to HeishamonGo, unless I'm mistaken.

I have made it available in Igor repository, so it will be after Igor will release. So it's still in beta :)
https://github.com/Egyras/HeishaMon/issues/351

HeishamonGo is direct port from heishamon (arduino) to Go language, it's used same technic and protocol as heishamon.. so same as applies to heisha should fit and heishamongo..

the difference is just that you dont need a extra yaml translation file because the values are translated directly to readable output, like Operating_Mode_State. Instead of numbers it will come with the name-values already.
Regarding TOP77: this is the topics.yaml part for it:

sensorName: Heating_Off_Outdoor_Temp
codec:

decodeFunction: getIntMinus128
encodeFunction: setIntPlus128
offset: 83
displayUnit: °C
category: config
min: 5
max: 35
step: 1

I have made it available in Igor repository, so it will be after Igor will release. So it's still in beta :)
Egyras/HeishaMon#351

thank you very much!


Framegen disables itself on cutscenes.

Cutscenes disable framegen which causes smoothness difference between gameplay and cutscenes.

Are you positive that framegen is being disabled? I just did a quick test with the intro cutscene and the framerate takes a big leap with framegen on. I believe what you are seeing is the more demanding nature of the cutscenes. I'm fairly sure they are engaging a much higher quality depth of field and likely some other graphical improvements. They are very heavy even on something as high-end as a 4090.
Framegen off:

Framegen on:

Actually, disregard my previous post. Frame generation (at least DLSS frame gen) is disable during certain cutscenes. Using SpecialK, I enabled the DLSS-G indicator and checked before and after entering a cutscene.
Before:

After:

I was going to test this mod when I get home, but is there still a problem with Framegen during cutscenes when using the mod? Do we all use Special K to fix it?

I was going to test this mod when I get home, but is there still a problem with Framegen during cutscenes when using the mod? Do we all use Special K to fix it?

I think you might be misunderstanding, I'm only mentioned SpecialK as it will let you enable an indicator that shows when DLSS Frame Generation is active. That's how I can tell for sure it's turning off in certain cutscenes.

I was going to test this mod when I get home, but is there still a problem with Framegen during cutscenes when using the mod? Do we all use Special K to fix it?

I think you might be misunderstanding, I'm only mentioning SpecialK as it will let you enable an indicator that shows when DLSS Frame Generation is active. That's how I can tell for sure it's turning off in certain cutscenes.

Ah, okay. Yes, I misunderstood. As for the mod itself, I'm only 20min in but it's working perfectly. :)

Alright, looks like I've found a way to leave frame generation on in cutscenes. Will need to do a bit more testing then hopefully I can implement it.

Here is a test build with the option to force frame gen on all the time. Check FFXVIFix.ini to enable it and let me know if you run into any issues.
FFXVIFix_v0.7.2_test2.zip

Here is a test build with the option to force frame gen on all the time. Check FFXVIFix.ini to enable it and let me know if you run into any issues.
FFXVIFix_v0.7.2_test2.zip

Much appreciated. 👍 I'll have to check it later on today but I'll see if it works as soon as possible.

This appears to be working for me, even for FMVs. It's trying to frame gen those, and it's producing something that looks like 35-42fps with some inconsistent frame rate/times, but that's fine. Nothings perfect, this is mod. For some reason, it's taking 95-99% of my 4090 to do it, but again, who cares. It's the game's code doing something weird there. If I limit the game to 30fps with framegen on, the FMV takes 45% of the GPU.

This appears to be working for me, even for FMVs. It's trying to frame gen those, and it's producing something that looks like 35-42fps with some inconsistent frame rate/times, but that's fine. Nothings perfect, this is mod. For some reason, it's taking 95-99% of my 4090 to do it, but again, who cares. It's the game's code doing something weird there. If I limit the game to 30fps with framegen on, the FMV takes 45% of the GPU.

This fits pretty much with what I was getting on my end too. Ideally it would maintain behaviour from the standard game. It turns off frame gen in cutscenes, pre-rendered videos and menus. I already have a hook for resizing videos so I can tell when one is playing. That would at least solve frame generation being on during video sequences.

Alright, looking deeper I was able to find the function specifically responsible for turning off frame-gen in real time cutscenes. Here is another test build with that implemented.
FFXVIFix_v0.7.2_test3.zip

Just came here to say it seems to be working perfectly now. Cutscenes on my end are just as smooth as the gameplay. 👍

Yeah, I can also confirm that v0.7.2_test3 is working perfectly. Framegen is no longer trying to muck up FMVs and is working during rendered cutscenes 👍

Added in v0.7.2


How to disable caching

Hi,
Is there a way to disable caching via a NoOpCacheHandler? I don't see one available or a way to temporarily disable caching.

No, that's not available. You'd have to implement that yourself by not using caching in case you don't want to


Deprecate SuppressWarning.hh with pragma

🎉 New feature
Closes #348
Summary
The gz/utilities/SuppressWarning.hh header file is redundant with gz/utils/SuppressWarning.hh, so deprecate it.
Test it

Checklist

[X] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

@scpeters I think this is good to un-draft?

@scpeters I think this is good to un-draft?

I was hoping to test it before un-drafting it, and I haven't done that yet. I'll try updating one of the examples

I tested it, and the #pragma wasn't generating a warning, so I switched to #warning, which will either print a compiler warning or fail with a compiler error. Either way it will get attention


chore(main): release 0.7.12

:robot: I have created a release beep boop
0.7.12 (2024-08-18)
Bug Fixes

deps: Update dependency go to v1.23.0 (#86) (bf3fbcc)
deps: Update module github.com/miekg/dns to v1.1.62 (#85) (dfeb0fd)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mikesmitty/mdns-mesh/releases/tag/v0.7.12 :sunflower:


Add Area

When ever you publish the files are created in the main project area not under our team area. It would be nice if you can specify the area for each item so things will be in the correct place instead of having to move them after creating.
Other than that this seems great good work.

Second this comment. Way our company structured our Project we are all broken into our own areas and need to be able to create work items for a given area. Would love to use this extension, but need this feature before being able too.

Hi guys. Thanks for sharing your concerns. That all makes sense, but since I'm no longer using Azure DevOps for quite a while I need some help understanding the problem before I can dive into fixing that.
Area for new tasks within a user story seems to be inherited from the user story itself so I guess the problem is only with user stories, right?
It's true, area is not specified when creating user story when publishing so it gets the default of the project. It was good enough for our team back then but it makes sense to improve that and it shouldn't be that hard from what I can see.
I'd like you to share your use cases. Is it that you always want to assign all new stuff to the same area (your team area basically)? Maybe you are managing stuff for multiple teams and would like to have more control over it?
I can think of few different options - one would be to set it in extension settings. The good thing would be that it would not reset every time you open new file to plan stuff. The downside is you can't quickly change that in case you need to create US for a different team/area.
Other option would be to set it globally on file level so something like this:

It's more flexible, let's you quickly change it when needed. It can be easily overridden - this would be effective until next @Area statement so you could set area, list stories, set area again, list more stories.
Another approach would be to set it on User story level but then you'd have to set it each time which seems cumbersome and you can have the same effect with previous option in worst case (if every user story is a separate area which I think is almost never the case - correct me if I'm wrong).
Then we could go even deeper and let setting it on task level but that feels like a total overkill from my perspective.
All those options could be combined in a way that most specific one always wins but otherwise it inherits from outer scope(s) up until the global setting (or default project if nothing at all is set - backward compatibility for free).
Luckily it doesn't all have to be implemented at once. I'm not gonna lie to you - I don't have much time for this these times even though I really wish I could polish this extension because it's very promising and still lacks few things I have on my roadmap.
That being said last two options seem to be the most effort. First two options seem doable within reasonable timeframe.
In my opinion those two options give almost full control over the areas (except of task level areas but who does that, really?) and should be sufficient for most scenarios I can think of.
Like I said at the beginning I haven't been using Azure DevOps for long time so I may have lost the feeling of how it's used so please share your thoughts. If the first two options are satisfactory then I'll try to squeeze it somewhere into my schedule.

For my use cases being able to set it in the configuration is a 90% solution which is more than enough to use this extension more. The times I'm creating a story for another area is the rare occasion and less likely to use a tool like this anyway.
I can certainly see a need to be able to specify the area at either the file or work item level as well, however if you managing the stories for multiple teams I can't see this tool being as useful sense it's only story and task level.
I appreciate any work you're able to put into this. After over looking the code a bit myself, I may try implementing it as well.

https://github.com/ipatalas/vscode-sprint-planner#setting-area-path-since-050
As mentioned before I went with first two options as they were relatively low hanging fruits. The rest is much more effort and covers only few edge cases so it's not worth it at the moment.
Let me know if you have any comments on how it works.

Awesome I appreciate you add this and so quickly! I'll start using it this upcoming week.

Ok, closing for now. In case there are any issues with that please reopen or create a new one.


Move ArrowNativeTypeOp to arrow-array (#2594)

Which issue does this PR close?

Part of #2594
Rationale for this change

Necessary to resolve merge conflicts on #2998
What changes are included in this PR?

Are there any user-facing changes?

arrow-flight failure is unrelated to this PR - #3019

This accidentally introduced a major performance regression due to missing inline annotations, will get a PR up to fix


Mx4PC Operator 2.20.0 release notes (planned for release around October 31)

We're planning to release a new version of the Mx4PC Operator in the second half of this week.
This release includes updates, bugfixes and a new feature - an option to reduce downtime by using a Kubernetes Rolling strategy.
There's a new document explaining how exactly this feature works, and what are its limitations. In the near future, users would be able to enable it by enabling one slider in the Cloud Portal - most of the documentation is for users who want to know more about how it works, and which use cases would still cause downtime.
@Nidhi251289 could you please do a review from your side?

Reviewed and waiting for the go ahead to publish.


Example 2 of Invoke-Pester doesn't work

I found the Plaster module in the vscode module folder and wanted to check it out. After reading the examples and trying them out it appears that example 2 doesn't work:
Invoke-Plaster -TemplatePath . -Destination ~\GitHub\NewModule -ModuleName Foo -Version 1.0.0

Invoke-Plaster : A parameter cannot be found that matches parameter name 'ModuleName'.

I've put in a PR editing the documentation to explain that those parameters are dynamic and only valid if the imported plaster manifest contains them.

Replacing the error message with another like this one would be helpful too:
The 'ModuleName' parameter cannot be used because it has not been defined in the parameter section of the plaster manifest


replace "downsampleFactor" argument by "image_mpp"

Hi, How about replace --downsampleFactor argument by --image_mpp like in mesmer.
For example, it says the UNetCoreograph is trained with images with mpp=0.2, if an image of a user is mpp=0.5, then the user just need to input --image_mpp 0.5, and it is automatically calculate the variable downsampleFactor or dsFactor
Thanks

Yes, we are working on rolling out alot of improved features including this in the next iteration of MCMICRO


Autocomplete multiselect clearIndicator not working when focus is on autocomplete and limitTags is set

Steps to reproduce
Link to live example: (required)
This is the mui demo itself for limiting tags: https://codesandbox.io/embed/z4jps3?module=/src/Demo.tsx&fontsize=12
Steps:

Select multiple options such that the textfield grows to more than 2 lines.
While the textfield is still focused, try to click on the clearIndicator in the end adornment slot.

Current behavior
I get mixed behavior. Usually it either loses focus on the textfield, sometimes it closes and reopens the autocomplete drop down.
Expected behavior
If I click the clear indicator, it should clear the text, even when the textfield has focus and the dropdown is opened. See the v5 demo - https://codesandbox.io/p/sandbox/2dhj9z?file=%2Fsrc%2Findex.tsx
Context
No response
Your environment

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

Search keywords: autocomplete clearIndicator limitTags multiselecct
Search keywords:

I think this is related to https://github.com/mui/material-ui/issues/43978.

Usually it either loses focus on the textfield, sometimes it closes and reopens the autocomplete drop down
@jbrunner92 I can't reproduce this in the sandbox (yet) - when this happens though, does the text (consistently) get cleared or not?

sorry, I forgot to respond to this. No, it does not clear the text. The menu closes and opens, which triggers the input to shrink and resize, and the clear button doesn’t trigger for some reason. This definitely did not happen with MUI v5, I even tried it with the same demo on the MUI webpage by toggling to v5

Usually it either loses focus on the textfield, sometimes it closes and reopens the autocomplete drop down
@jbrunner92 I can't reproduce this in the sandbox (yet) - when this happens though, does the text (consistently) get cleared or not?

Works in the latest version. Fixed in v6.1.5.


cbrt() compilation error

When trying to use the cbrt() function inside a kernel, I get the following compilation error:
"Function Attrs: convergent nounwind readnone declare spir_func float @_Z4cbrtf(float) #0"

This works for me:
kernel void test(global float* out, global float* in) {
  int i = get_global_id(0);
  out[i] = cbrt(in[i]);
}

Are you using any particular command line options that cause this to happen?


I couldn't download the planet.mbtiles file

since its large ,not a problem, but it gets stuck around 32GB and it starts over.
The problem happened again and again 6 times as far as I keep the account

I will try it out


How to implement progress with Pool?

Description
I'm trying to implement a progress bar of some sort, like tqdm. Is there any way to do this with Pool? Should i use Process directly?
Thanks
Details

OS: linux
Python version: 3.7.0
aiomultiprocess version: 0.7.0

Currently, your best option would be to use Pool.apply to get separate futures for each item, then await those in order and keep track of your progress however you would otherwise.
I've opened #48 as a feature request to make Pool.map return an async-iterable, which would make this easier.

Thanks for the response, i'll try it out and maybe come back here with a snippet to share.

I failed miserably, can you point me to the right direction @jreese?
Thanks

Here is how I did it and it worked: @conradogarciaberrotaran
async def main(calls_list):
    pool_tasks = []
    async with aiomultiprocess.Pool() as pool:
        for call in calls_list:
            pool_tasks.append(pool.apply(get_call, args=[call]))
        [await _ for _ in tqdm(asyncio.as_completed(pool_tasks), total=len(pool_tasks))]

v0.8.0 was released with support for async iterables, which should allow you to keep track of progress as jobs are completed.  See the user guide for examples.

@jreese it is not working:
(if I remove tqdm() then it works ok)

(if I remove tqdm() then it works ok)

I'm not familiar with tqdm, but a) it or something else would need to await the pool.map(...) call, and b) pool.map doesn't return anything until all the tasks are completed, so I don't think you would get any benefit from your use of tqdm this way. Take a look at the suggestion from @tarasivashchuk above for a way that might work better with tqdm.

I went with manual mode of tqdm, it works ok:
with tqdm(total=len(self.jobs)) as pbar:
                async for _ in pool.map(run_one_job, self.jobs):
                    pbar.update(1)
                   ```


Pytorch sagemaker container: Not implemented Error in model_fn

Hi,
I have defined model_fn in my test.py code, yet the cloud watch logs says model_fn not implemented.
trained_model_location: 's3://my-bucket/model/model.tar.gz'
model = PyTorchModel(model_data=trained_model_location,
role=role,
framework_version='0.4.0',
entry_point='test.py',
source_dir='source',
predictor_cls=JSONPredictor)

that should be working (e.g. https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/pytorch_lstm_word_language_model/pytorch_rnn.ipynb ).
Is test.py located inside source directory?
Would it be possible to see the source code?

Hi,
FOR THE MODELS  TRAINED ON EC2 and endpoint to be created on Sagemaker:
What I found was, since the model was trained on EC2 instance, we need to write a dummy train procedure (train.py), saving just the model files from EC2 and generating an estimator.
During hosting phase, we need to write our own model_fn, predict_fn, output_fn and input_fn in the same training script (train.py). A new test script (test.py) similar to the one in https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/pytorch_lstm_word_language_model/pytorch_rnn.ipynb despite being in the same folder does not work.
Code for deployment is something like this:
predictor = estimator.deploy(endpoint_name='name', initial_instance_count=1, instance_type='ml.m4.xlarge')
By default the pytorch docker uses content type as 'application/npy', for json content types use the following:
predictor.content_type = 'application/json'
predictor.serializer = json_serializer
predictor.deserializer = json_deserializer


Ridge Racer [PCSE00001]

App summary

App name: Ridge Racer
App serial: PCSE00001
App version: 1.00

Vita3K summary

Version: v0.1.5
Build number: 2692
Commit hash: https://github.com/vita3k/vita3k/commit/067135d2
CPU backend: Dynarmic

Test environment summary

Tested by: gymzatan
OS: Windows 11
CPU: AMD Ryzen 7 5800H
GPU: AMD Radeon(TM) Graphics
RAM: 16 GB

Issues
Game stays at the loading screen right after the menu.
Screenshots

Log
vita3k.log
Recommended labels

Menu
softlock bug

as of https://github.com/Vita3K/Vita3K/commit/c453f24cd9b995d76f8d5f81f4631ab31d6f3de9, the game now goes ingame with slowdown at over 1fps (however the framerates will change if you had powerful hardware since i have a terrible laptop).
Screenshots

Logs
vita3k.log
Recommended Labels

Ingame +
slow

I would like to add the following:
Ridge Racer [PCSE00001] is playable with issues.
I am running the game on a Pentium E5700 (dual core) with NVidia GT 640 GPU, and 8 GB Ram.
I am getting 7 to 8 fps while in Spot Race ( racing, with 8 cars ), and up to 14 fps in World Race ( ghost mode ), so the game is faster in ghost mode. Of course, having a low end PC like mine, the fps are expected to be low.
My biggest concern is that the game hangs from time to time with an error saying something like this:
[20:07:30.265] |W| [UnicornCPU::log_error_details]: Executing: strdeq r7, r8, [r0], -r6
[20:07:30.271] |W| [ArmDynarmicCallback::ExceptionRaised]: Undefined instruction at address 0x1004, instruction 0x7FF6 (strdeq r7, r8, [r0], -r6)
[20:07:30.272] |E| [UnicornCPU::log_error_details]: Unicorn error 0xa.
Ridge Racer [PCSE00001] works just fine as a base game without the DLC files and the patch. After installing the updates and DLC files, it seems to crash before the loading screen for a race event even shows up.
Version: <IP_ADDRESS>44
Build Number: 3544
Not sure this is the appropriate log file to upload. But here.
PCSE00001 - [RIDGE RACER].log

This game no work for me . Tried both versions US and EU . Sound Problem and the game crash before start a race . Using latest version of emulator.

App name: Ridge Racer
App serial: PCSE00001
App version: 1.00
Vita3K summary
Version: v0.2.0
Build number: 3620
CPU backend: Dynarmic
GPU backend: Vulkan
Test environment summary
Tested by: Wisegrape
OS: Microsoft Windows 10 Professional (build 19045)
CPU: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
GPU: NVIDIA GeForce RTX 3070
RAM: 32 GB
Game locks up after selecting Time Attack or Spot Race due to ArmDynarmicCallback MemoryRead errors. These errors keep scrolling while the game is locked up / crashing

crash

App name: Ridge Racer
App serial: PCSE00001
App version: 1.00
Vita3K summary
Version: v0.2.0
Build number: 3620
CPU backend: Dynarmic
GPU backend: Vulkan
Test environment summary
Tested by: Wisegrape
OS: Microsoft Windows 10 Professional (build 19045)
CPU: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
GPU: NVIDIA GeForce RTX 3070
RAM: 32 GB
Game locks up after selecting Time Attack or Spot Race due to ArmDynarmicCallback MemoryRead errors. These errors keep scrolling while the game is locked up / crashing

Ingame +

I tried the same settings on my pc (i5-11600kf, 3060) and I'm getting the same results. Ghost battle works fine for me. I am able to complete a race but the ai bugs out and it's impossible to win a race. The audio also sounds somewhat corrupted. Other then that and time attack plus sport racing crashing the game, everything else is good.

I did some more testing with OpenGL and CubeB audio setting enabled. CubeB doesn't change anything, the audio still sounds kind of corrupted. Using OpenGL instead of Vulkan produces lots of visual bugs. If anyone wants to play this game you have to use the Vulkan renderer. Let me know if someone can get the audio to sound not corrupted.

Agreed, I also tried OpenGL without success. The label for this game should be changed from Playable to Ingame +

Does anyone have any idea why we didn't win the GHOST race?


[FLINK-31401][streaming][tests] Make parallelism assumption explicit in StreamingJobGraphGeneratorTest

Minor improvement to the test, so that it does not fail on 10 core machines.
cc @JunRuiLee

Sure. 😏


Pre-load lazy vectors that are referenced by multiple sub expressions

Multiply-referenced LazyVector may load for different sets of rows due to
conditional expression with short circuit semantics.  e.g. f(a) AND g(b), h(b).
If b is a LazyVector and f(a) AND g(b) expression is evaluated first,
it will load b only for rows where f(a) is true. However, h(b) projection
needs all rows for "b".  Previous solution is to set final selection to false
in FilterProject::project method. LazyVector always loads for all rows with
final selection flag is false.
However, the problem also occurs within a single expression that contains
multiple expressions under a non-null-propagating expression. e.g.
array_constructor(c0 + c1, if(c1 >= 0, c1, 0)) . array_constuctor is the
non-null-propagating expression with two sub-expressions: c0 + c1 and if
(c1 >= 0, c1, 0). First sub-expression is evaluated for a subset of rows when
c0 is not null, but second sub-expression needs to be evaluated for all rows.
Current fix: 1) In Expr::computeMetadata(), identify fields multiply referenced
by input expressions. Load multiply referenced fields at the start of
evaluation in Expr::eval(). 2) Similar to (1), identify multiply referenced
fields references by expressions in ExprSet. Load multiply referenced fields in
ExprSet::eval(). 3) Remove the existing workaround, setting isFinalSelection to
false, from FilterProject::project().

Fix #2073

Thanks @barsondei for your contribution and thanks @mbasmanova for your valuable review comments.
I can help take a look at your patch @barsondei, in the meantime I'll also be looking forward to your changes once you get a chance to address @mbasmanova 's review comments

@mbasmanova Thank you for your comments.
I think this PR is a fix following current design, which omit to handle this case.
Bitmap is used to specify the rows to evaluate/load in expression evaluation. It became more complex when field was multiply referenced by expression. e.g. f(a) AND g(b), h(b). If b is a LazyVector and f(a) AND g(b) expression is evaluated first, it will load b only for rows where f(a) is true. However, h(b) projection needs all rows for "b".
Bitmap will change during evaluating the expression:

f0(a) AND f1(a) AND f2(a), f1(a)'s bitmap is subset of f0(a)'s bitmap, f2(a)'s bitmap is subset of f1(a)'s bitmap.
if(f0(a), f1(b), f2(b)) , f0(a)'s bitmap = f1(b)'s bitmap ∪ f2(b)'s bitmap.
select expr1, expr2 from table where expr_filter, expr1/expr2 begin to evaluate with bitmap passed by expr_filter, no matter what the evaluation order is.
To deal with multiple reference, current design adopt a relatively simple scheme.
As Expression is evaluated with a postorder-DFS:
if bitmap will not grow for the unvisited expr, identified by flag isFinalSelection_, use current expr's bitmap to load LazyVector.
otherwise, use finalSelection_, which store in EvalCtx, to load LazyVector.
finalSelection_ is maintained to store the superset of unvisited exprs' bitmap.

So, there is much code to maintain isFinalSelection_ and finalSelection_ when dealing with conditional expression. e.g. AND/OR、SWITCH/IF、Coalesce. But, omit to handle the case in Expr::evalAll. Null value skipping in Expr::evalAll has the similar short circuit semantics with AND/OR. SubExpr[i]'s bitmap is subset of SubExpr[i-1]'s bitmap.

@barsondei Thank you for additional clarifications. I took a closer look into this problem and shared my findings in https://github.com/facebookincubator/velox/issues/2073#issuecomment-1195160349

Null value skipping in Expr::evalAll has the similar short circuit semantics with AND/OR. SubExpr[i]'s bitmap is subset of SubExpr[i-1]'s bitmap.

This is indeed the case, but only for non-null-propagating expressions. array_constructor and row_constructor expressions do not propagate nulls, i.g. a null in one of the inputs doesn't produce a null result. For null-propagating expressions where null in any input produces null result it is sufficient to evaluate inputs for a subset of rows where none of the inputs are null.

Thanks @barsondei for posting an update. I will get back to you with a review by end of day today (5 pm PST)

As discussed in #2073 with @mbasmanova .
During Expr::computeMetadata(), finding the fields multiple referenced by different inputs. And then load the multiple referenced fields before expression actual evaluated in Expr::eval().
If the fields multiple referenced by different expressions, load the fields for all rows in ExprSet::eval().
Remove the existing workaround from FilterProject::project().
Remain the usage of finalSelection from EvalCtx::ensureFieldLoaded, support for partial rows evaluated.
Also waiting for your comments. @bikramSingh91

This PR is aimed to fix the bug we reported in 2073.

We evaluate an expression array_constructor(c0 + c1, if(c1 >= 0, c1, 0)) over lazy vectors. First, we evaluate c0 + c1. It happens so that c0 has a null in the last position, hence, we end up loading c1 for all positions but last. Next, we evaluate if(c1 >= 0, c1, 0) expression over already loaded vector and end up producing incorrect result for the last position.
This problem is similar to evaluating multiple expressions. Different expressions may need different sets of rows, but individual expressions do not have visibility into their siblings. We have worked around this problem before by adding logic to FilterProject::project method to set final selection to 'false'.
In this case the problem occurs within a single expression that contains multiple expressions under a non-null-propagating expression. array_constuctor is the non-null-propagating expression with two sub-expressions: c0 + c1 and if(c1 >= 0, c1, 0). First sub-expression is evaluated for a subset of rows when c0 is not null, but second sub-expression needs to be evaluated for all rows. The two sub-expressions do not know about each other though. If array_constuctor was null-propagating, a null in first sub-expression would make the whole expression null and we won't need to evaluate the second sub-expression on rows where first sub-expression is null.

Current implementation:

Find the fields multiply referenced by different input exprs, During Expr::computeMetadata(). And then load the multiply referenced fields before expression actual evaluated in Expr::eval().
similar logic to 1). find the fields multiply referenced by different expressions. Pre-load the multiply referenced fields in ExprSet::eval().
Remove the existing workaround, setting isFinalSelection to false, from FilterProject::project().

@mbasmanova I have updated the PR's description.

rebased and resolved conflicts

Patch re-applied in #2501


Update eslintrc.js

Turn off no-reserved-keys as it's a non-issue in ES5+. See: http://eslint.org/docs/rules/no-reserved-keys.html
I see this error occur as a result of having this turned on:
Line 1: no-reserved-keys - Rule 'no-reserved-keys' was removed and replaced by: quote-props

After discussing IRL, would like to narrow this down to a non-working example...not opposed to turning this off, but would like it to be for the right reasons.

:+1: :heart_eyes: :


Blazor - Shared login page with multi-tenant users

Looking to create an application which has a single login page for all users. Each user will be assigned to at least one tenant but they can be assigned to multiple and would need to switch between them after logging in. Each tenant needs to be isolated so FinBuckle seems like the perfect solution.
Currently exploring the use of the Claims Strategy, with a user's available tenants being listed in a claim. This works out of the box with the claims strategy assuming there is only one tenant. I have also looked at using the base path strategy, but would still need to do an initial redirect after login to whatever the default tenant is deemed to be. If they change their active tenant, we would then need to redirect them to the current base path or somehow toggle that from the claim.
This has raised several questions:

Once logged in, how do you determine and select a default tenant if they have access to multiple?
What is the best practice for switching between the available tenants after logging in based on user interaction?
Is one strategy recommended over another with this scenario?

I had a look through previous discussions and found several old threads related to this:

#79
#308
#133

That also led me to find the SharedLoginSample here.
Is there an updated example for the SharedLogin anywhere (Ideally for Blazor) or "hot swapping" between tenants after login?
Many thanks in advance, any help or advice appreciated.

hi @Conway6288
I don't have a more up-to-date sample and it looks like you have found the relevant discussions and details. The main thing for this design is to not use MultiTenantIdentityDbContext but rather a normal one that also has an added entity for tenant and a many-to-many relationship between user to tenant and perhaps role to tenant. You can also use this dbcontext for your tenant store if you want. For a default tenant I just have that be a property on the user and when they sign on make that the starting tenant.
For the strategy, claim is ok but can get really tricky. I like the session strategy but that assumes a normal web app -- I'm not sure how well that plays with Blazor and api backends. In those situations I will end up using the host strategy with subdomains but that gets complicated with dns and SSL and other infrastructure. It all comes down to giving them a way to select from their list of tenants and adjusting your flows (Urls, headers, whatever) accordingly.
I'm sorry I don't have a better detailed response for you -- these are almost always more complex and have distinct requirements. Please share what you find works and doesn't work for you!


WIP: add octree and async to preferences

Description

Add checkboxes to the preferences menu for NAPARI_ASYNC and NAPARI_OCTREE settings.

Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

I'm not sure why the pre-commit hooks are failing (I just ran them), but will check this in a bit.

@sofroniewn are these two options mutually exclusive? I am looking at the code and see:
def _get_async_config() -> Optional[dict]:
    # ....
    if async_var:
        async_config = DEFAULT_OCTREE_CONFIG.copy()
        async_config['octree']['enabled'] = False
        return async_config

def get_octree_config() -> dict:
     # ...
    if octree_var in [None, False]:
        # This will return DEFAULT_ASYNC_CONFIG or None.
        return _get_async_config()

    # If NAPARI_OCTREE is "1" then use default config.
    if octree_var == "1":
        return DEFAULT_OCTREE_CONFIG
    # ...

So if both are True, it seem it is only as if OCTREE is On and Async is Off?

So if both are True, it seem it is only as if OCTREE is On and Async is Off?

Yes that is the correct logic, it's a bit funny because the OCTREE has to be asynchronous but it is different than ASYNC, and we made it take precedence.
Very open to suggestions to how we might want to communicate that to a user. Maybe if OCTREE is True then we could disable/ gray out Async to indicate it has no effect?
I think with time we'll clean this up more significantly / make some larger changes to how this is organized, controlled. But this will at least let a GUI user try this stuff out

Very open to suggestions to how we might want to communicate that to a user. Maybe if OCTREE is True then we could disable/ gray out Async to indicate it has no effect?

Yep, I like that one

https://user-images.githubusercontent.com/54282105/120267884-775f7a80-c26a-11eb-8d8d-b1dd78d2da26.mov

This looks like it is coming along nicely - it looks like the async option is disabled when the tiled is selected (i can't change it's selection) but can we also gray it out so i'm not tempted to click on it. this is what i see now

i think once that is done this will be good to merge. main functionality worked as expected for me!!

This looks like it is coming along nicely - it looks like the async option is disabled when the tiled is selected (i can't change it's selection) but can we also gray it out so i'm not tempted to click on it. this is what i see now

It seems we do not have the correct styling for disabled checkboxes. But yes agreed!

@sofroniewn @goanpeca I have made changes so that the checkbox for async dims when octree is selected.
I also added in some code to dim widgets that have been disabled in preferences due to having an environment variable already set for it ( disabled widgets happened in #2797).
Let me know what you think!  thanks!
https://user-images.githubusercontent.com/54282105/120411617-b5b47280-c31a-11eb-9cfc-8f4a1a9a3a2a.mov


Implemented controls (not all)

Changed folder structure

Got this error:

OK found the problem. I have set null if a attribute like manufacturer is not available.
Changed this to empty string and problem is gone.

Missing:

Add new device button
Reload instances
no device image icon

If device image was uploaded it stays there until reload.


Wasm

Is this engine capable to run under wasm32 ? Right now I get a compile error.
error[E0433]: failed to resolve: could not find `StreamInner` in `platform`
   --> /Users/markusmoenig/.cargo/registry/src/github.com-1ecc6299db9ec823/audio-engine-0.2.2/src/engine.rs:135:33
    |
135 |                 cpal::platform::StreamInner::WebAudio(x) => {
    |                                 ^^^^^^^^^^^ could not find `StreamInner` in `platform`

Oh no, I may have published the wrong branch in crates.io. The wasm-resume branch contains a function to resume the AudioContext in Wasm, but it depends on an unpublished version of cpal (needs this commit).
I will try to yank that version and publish a new one.
But for the time being, you can patch cpal in your Cargo.toml:
[patch.crates-io]

# audio-engine 0.2.2 needs a unpublished version of cpal
cpal = { git = "https://github.com/RustAudio/cpal.git", rev = "b1457e5945cfeb136b7b04c8870b63c2ae3f2212" }

Thanks for the answer and suggestion. But if this patch applied I still get the above compiler errors.

I published a new version that should solve that error.
But I think that the patch also should have solved the problem. Are you sure that the patch was being applied? It only works if it is put in the Workspace root or in the Cargo.toml of the crate being build (don't work if put in a dependency). You can confirm if it is being applied by running cargo tree, cpal should contain the GitHub address.
But in any case, the new version should solve this. Can you confirm if it works now?

Yes, it compiles now. It was my error as you said, did not put the patch into the workspace.
Ok, it compiles now! However I get a crash when I try to decode my  wav file.
I will try to narrow it down and also try different wav files. I embed my files use rust_embed.
 Seems to be an unsupported audio sample format ?

Seems to be an unsupported audio sample format?

Yes, currently the wave decoder only supports decoding WAV files with a bit depth of 16 bits or lower (the entire audio engine uses i16).
But the engine should at least convert the samples to i16 (and should not panic).
I will close this issue as solved and open a new one for this.


Documentation

i could not find any documentation of the wrapper, is it planned?

Most of the trading view library is mapped 1:1 (the exceptions are described under the Limitations, in the Readme file) and
all public members have summaries with links that point to the mapped item from the trading view library.
You can use their documentation for your purposes as the member naming (and api structure) is more or less the same.
As for the library version, the nugget version reflects the used library version (3.8.0 at the time of writing).


How to set sunday like first date of week

How to set sunday like first date of week?
Thanks for a help

The first date of week depends on the MomentJS moment.weekdays(true); . Therefore, set your locale, and the weekdays will be returned in that locale specific order.


[Question] Can audio playback be started while app is in the background in IOS?

Hi,
I need a way to start playback of a short audio file while the app is in the background.
Is that possible for Android and IOS with this package?
Regards

I can't personally offer advice for individual use cases with this package, only that its purpose is to wrap whatever theAVAudioSession API does on iOS, and whatever the AudioManager API does on Android. You would probably need to research native solutions for Android and iOS first, and once you have a solution, look for a set of Flutter packages that provide the native APIs that you require.


Converting some HTML to markdown

I've had a few conversations with folks who mentioned that a big challenge with the website is that its design and its content are intermingled, making it really hard to edit content and approach for newcomers.
This PR takes a couple of pages and converts them from HTML into Markdown. It preserves as much of the styling as possible - I'm not trying to change much from the user's perspective, just replicate the same thing with Markdown doing more of the heavy lifting.
LMK what folks think. I think we could do something similar for other pages as well (e.g. the index page) though they tend to have more hand-crafted structure which is why I didn't touch them in this PR!

I pushed a couple of css fixes.
+1

Looks mostly better.


Golang backend implementation

Summary
This PR brings a library of tools for the Telestion Backend in Go. It includes config loading (with priority queue of console flags > env variables > config > default-config as specified in the documentation). Other features may come as a separate PR.
Requests
As this is an essential core library and I am also just learning Go in the process of writing this PR, I would like to have some thoughts about:

Does the outlined library work according to the documentation and in conjunction with the TS reference implemenation?
Would you restructure something?
Do you think the static typing feels natural?
Do you think the error handling is done fine or would you change something?
Would you do something differently?
Any additional thoughts regarding this implementation?

Note: GoLands internal linter did not show any more errors and I would suppose that the committed library should work, but it is not tested, yet. There might still be some unidentified bugs.
CLA

[x] I have signed the individual contributor's license agreement and sent it to the board of the WüSpace e. V. organization.

I just asked ChatGPT for some code samples based on the library code. No idea if these would work, but I thought I'd add them here for context / as a basis for discussion.

Basic Usage:
package main

import (
   "fmt"
   "github.com/nats-io/nats.go"
)

func main() {
   // Start the Telestion service
   conn, err := StartService()
   if err != nil {
      fmt.Println("Error starting Telestion service:", err.FormatError())
      return
   }
   defer conn.Close()

   // Your application logic here
   fmt.Println("Telestion service started successfully!")

   // Example: Publish a message
   subject := "your_subject"
   message := "Hello, Telestion!"
   err = conn.Publish(subject, []byte(message))
   if err != nil {
      fmt.Println("Error publishing message:", err.FormatError())
      return
   }

   // Example: Subscribe to a message
   _, err = conn.Subscribe(subject, func(msg *nats.Msg) {
      fmt.Printf("Received message: %s\n", string(msg.Data))
   })
   if err != nil {
      fmt.Println("Error subscribing to message:", err.FormatError())
      return
   }

   // Your application continues to run...

   // Ensure that the application doesn't exit immediately
   select {}
}

Custom Configuration:
// Assuming you have a custom configuration file named "custom_config.json":
// {
//    "CUSTOM_KEY": "custom_value"
// }

// Then, run your application with the following command:
// go run your_app.go -config_file_path custom_config.json

package main

import (
   "fmt"
   "github.com/nats-io/nats.go"
)

func main() {
   // Start the Telestion service
   conn, err := StartService()
   if err != nil {
      fmt.Println("Error starting Telestion service:", err.FormatError())
      return
   }
   defer conn.Close()

   // Access custom configuration values
   customValue := Config.CustomConfig["CUSTOM_KEY"]
   fmt.Println("Custom Configuration Value:", customValue)
}

Development Mode:
// Run your application with the -development_mode flag:
// go run your_app.go -development_mode

package main

import (
   "fmt"
   "github.com/nats-io/nats.go"
)

func main() {
   // Start the Telestion service
   conn, err := StartService()
   if err != nil {
      fmt.Println("Error starting Telestion service:", err.FormatError())
      return
   }
   defer conn.Close()

   // Check if the application is running in development mode
   if Config.Dev {
      fmt.Println("Running in Development Mode!")
   }
}

Tracked in https://telestion.youtrack.cloud/issue/TELESTION-454

Out of curiosity, I asked ChatGPT for a code review: 😜
Overall, the code seems well-organized and follows good practices. However, there are a few suggestions for improvement and potential issues to address:
General Recommendations:

Error Handling:

In StartService function, it's good to return specific errors instead of a generic error to provide more context on what went wrong.
Consider logging errors instead of returning them directly in some cases to avoid silent failures.

Logging:

Introduce consistent and informative logging throughout the codebase, especially in functions like initializeNats, parseConfig, and assembleConfig.

Documentation:

Add comments to exported functions and types to explain their purpose and usage.
Document the purpose of the package, and provide examples of how to use the telestion package.

Configuration Defaults:

Consider using default values for configuration options instead of returning an error when a required configuration option is missing.

Code Duplication:

There is some code duplication in the flags setup between consoleArgs and the actual flags in StartService. Consider consolidating this for maintainability.

Specific Code Feedback:

Service Type:

It might be beneficial to make Nc and NcJson unexported (lowercase) fields to encourage encapsulation. Provide getter methods if necessary.

StartService Function:

Consider renaming options to startOptions for clarity.
The if options.Nats block could be extracted into a separate function to improve readability.

initializeNats Function:

The health check setup in this function could be a separate method or function, especially if it becomes more complex in the future.

parseConfig Function:

Consider using more descriptive variable names for the decoderConfig and decoder variables.

assembleConfig Function:

It might be helpful to provide a clear order of precedence for configuration sources (e.g., command line args, environment variables, default values).

checkMinimalConfig Function:

The error messages in this function could be more informative, providing details about which minimal configuration is missing.

mergeMap Function:

The name might be misleading as it does not actually merge maps but rather updates the original map with missing values from the updates.

isFlagPassed Function:

The name could be misleading, as it checks if a flag has been visited, not necessarily passed explicitly on the command line.

envs Function:

Consider using the strings.SplitN function instead of strings.Cut for better clarity.

fileConfig Function:

Consider returning an error if the file is not found instead of logging and returning nil.

defaultConfig Function:

It seems like this function returns a map[string]string instead of map[string]any, which might cause a compilation error.

Testing:

Ensure that the code is thoroughly tested, especially functions with conditional logic.

Summary:
The code structure is generally good, and with some improvements in error handling, logging, and documentation, it will become even better. Addressing the specific feedback points will enhance code readability, maintainability, and overall quality.


fix: reference utils rego relative to policy lib

reverted as it causes issues when policy path is a file & or a specific dir under the library


The question of  Component property prompt

This is an old version. The property prompts are all props in the component

The latest version prompts that the attributes listed in the front are unnecessary. It is better to put props in the front

Yeah ! exacte same issue here, Should we rollback to a specific version of Volar to get it back ?
Not very usable without the props first order

If I downgrade volar to 0.37.9 it works (not after !)

I can confirm that the version 1.0.6 has fixed it ! thanks


prepare client-2.3.3 release

Push to staging after the packages are moved from testing to stable.
Do not push to live before official release announcements!
Test the fresh packages at https://download.owncloud.com/desktop/testing/?C=M;O=D
 testpilotcloud-<IP_ADDRESS>43.pkg.tbz.sig               2017-08-30 21:05   65
[   ] testpilotcloud-<IP_ADDRESS>43.pkg.tbz                   2017-08-30 21:05   25M
[   ] testpilotcloud-<IP_ADDRESS>43.pkg                       2017-08-30 21:05   25M
[   ] testpilotcloud-<IP_ADDRESS>51-setup.exe                 2017-08-30 21:02   38M
[TXT] testpilotcloud-client-<IP_ADDRESS>95.linux-repo.html    2017-08-30 21:01  969
[   ] owncloudclient-2.3.3.tar.xz                         2017-08-30 20:58   32M
[   ] ownCloud-<IP_ADDRESS>42.pkg.tbz.sig                     2017-08-30 20:55   65
[   ] ownCloud-<IP_ADDRESS>42.pkg.tbz                         2017-08-30 20:55   26M
[   ] ownCloud-<IP_ADDRESS>42.pkg                             2017-08-30 20:55   26M
[   ] ownCloud-<IP_ADDRESS>50-setup.exe                       2017-08-30 20:52   38M
[TXT] owncloud-client-<IP_ADDRESS>94.linux-repo.html          2017-08-30 20:49  940

Looks fine, do we want to test on staging, so we can put it live later? What would @guruz and @michaelstingl want to correct?

https://download.owncloud.com/desktop/testing/owncloudclient-2.3.3-rc2.tar.xz.asc

Wrong link in changelog, rc2..

thanks for the reviews. missing asc fixed. pushed to staging.owncloud.org.
@michaelstingl please confirm the linux deprecation list in the changelog.

https://staging.owncloud.org/install/#testing-development is broken now. @stkjj can you take a look? The Desktop Clients paragraph isn't supposed to show up when $VERSIONS_CLIENT_DESKTOP_TESTING is empty, but only the testpilots-paragraph hides atm.


[SPARK-24892] [SQL] Simplify CaseWhen to If when there is only one branch

What changes were proposed in this pull request?
After the rule of removing the unreachable branches, it could be only one branch left. In this situation, CaseWhen can be converted to If to do further optimization.
How was this patch tested?
Tests added.

Test build #93456 has started for PR 21850 at commit 18e2d8d.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1243/
Test PASSed.

Merged build finished. Test PASSed.

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/testing-k8s-prb-make-spark-distribution-unified/1246/
Test PASSed.

Test build #93462 has started for PR 21850 at commit a9c97ce.

Test build #93456 has finished for PR 21850 at commit 18e2d8d.

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/93456/
Test PASSed.

@cloud-fan and @gatorsmile

Test build #93462 has finished for PR 21850 at commit a9c97ce.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #93468 has started for PR 21850 at commit a9c97ce.

Test build #93468 has finished for PR 21850 at commit a9c97ce.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

retest this please

retest this please

Test build #93484 has started for PR 21850 at commit a9c97ce.

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/testing-k8s-prb-make-spark-distribution-unified/1261/
Test PASSed.

Test build #93484 has finished for PR 21850 at commit a9c97ce.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1268/
Test PASSed.

Merged build finished. Test PASSed.

Test build #93492 has started for PR 21850 at commit a9c97ce.

Test build #93492 has finished for PR 21850 at commit a9c97ce.

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/93492/
Test PASSed.

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/testing-k8s-prb-make-spark-distribution-unified/1291/
Test PASSed.

Test build #93521 has started for PR 21850 at commit 59fada7.

Test build #93521 has finished for PR 21850 at commit 59fada7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1294/
Test PASSed.

Merged build finished. Test PASSed.

Test build #93525 has started for PR 21850 at commit 59fada7.

Test build #93525 has finished for PR 21850 at commit 59fada7.

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/93525/
Test PASSed.

LGTM

Personally, I do not think we need this extra case.

If primitive has more opportunities for further optimization.

Could you explain more?

Test build #93554 has started for PR 21850 at commit e2b0e96.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1320/
Test PASSed.

Merged build finished. Test PASSed.

Test build #93554 has finished for PR 21850 at commit e2b0e96.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

retest this please.

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/testing-k8s-prb-make-spark-distribution-unified/1325/
Test PASSed.

Test build #93564 has started for PR 21850 at commit e2b0e96.

@gatorsmile All the new rules added into If should always have CaseWhen version.
But there will be time that we only add If version, or it only makes sense to have If version.
For example, the new rule that short-circuiting the If when both branches are the same is not yet in CaseWhen. Another rule I am working on is when a conditional expression in Filter or Join, if any of the output of the branches contains Literal(null, _), it can be replaced by FalseLiteral. I only implemented for If so far for our use-case.

Test build #93564 has finished for PR 21850 at commit e2b0e96.

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

Merged build finished. Test PASSed.

Test build #128016 has started for PR 21850 at commit e2b0e96.

Test build #128016 has finished for PR 21850 at commit e2b0e96.

This patch fails Scala style tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

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

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-K8s/32643/
Test PASSed.

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-K8s/32695/
Test PASSed.

Test build #128070 has started for PR 21850 at commit dd584a0.

Test build #128070 has finished for PR 21850 at commit dd584a0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

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-K8s/32736/
Test PASSed.

Test build #128112 has started for PR 21850 at commit d34e908.

Test build #128112 has finished for PR 21850 at commit d34e908.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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


Subtract cpu.guest from cpu.user on Linux (ref: #419)

This pull request fixes #419, fixes the inaccuracy of cpu.user on Linux. In Mackerel, all the metrics for cpu graph are drawn in stacked so it's preferable to subtract guest from user. There's another problem that we have to take account for guest_nice (subtract guest_nice from nice and total), but Mackerel doesn't support guest_nice yet so we'll fix the problem in another pull request.

There's another problem that we have to take account for guest_nice (subtract guest_nice from nice and total), but Mackerel doesn't support guest_nice yet so we'll fix the problem in another pull request.

👍

Thank you!


"Color-coded review counts" seems to be broken

Description
I had approved some of the PRs in a repo, now I'm missing the approvals in the PR list. This has worked before. Is it just on my system?
I notice a gap that appears between "by " and "updated xx minutes ago" for less than one second, then the gap disappears.
How to replicate the issue + URL
https://github.com/tidyverse/design/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc
Extension version
23.3.2
Browser(s) used
Firefox 111.0, macOS aarch64

I think classes in the PR list changed recently. Related:

#6421

I don't see any issues here: https://github.com/refined-github/sandbox/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+review

It's up to GitHub to display that data, we just expose the label via CSS.

Thanks, confirmed. I see it in your repo, not in mine. 🤷

You're repo does not have any "review requested" nor approved PRs

https://github.com/tidyverse/design/pull/116 has a review, but no review request. There are three others.

Reviews don't appear in the list. They must be approvals or change requests. The feature is called pr-approvals-count

Correction: https://github.com/tidyverse/design/pull/116 doesn't have a review request. But I reviewed and approved, I pushed the green "Approve" button. There are three other PRs that I handled the same way.
I only find pr-approvals-count.css in this repo. I suspect this means that this feature only adds color to existing labels. I wonder if we could extend that to do our own querying, or if it's worth taking this to GitHub.

You're not a member/owner/contributor, your approvals don't count for GitHub:

They must be green.
This is not something I intend to change and neither does GitHub


playground: Add left panel and use brand colors

Summary
This PR uses Astral's brand color in the playground more consistently and adds a left panel to switch between file and settings.

Test Plan
Screencast from 2023-07-17 19-35-11.webm
I promise it shows an error when the settings file contains a syntax errors. It just happens that it wasn't part of the selection that I recorded.

Current dependencies on/for this PR:

main

PR #5830

PR #5831

PR #5838   👈

This comment was auto-generated by Graphite.

@charliermarsh feel free to make changes if you don't like specific details. This is just not-designer Micha who tried to follow our brand guideline

I'm triggered by the juxtaposition of the dark purple (header and sidebar) against the black (editor) but I can take on this burden:

juxtaposition

I'm not sure if I made it worse :sweat_smile:
My idea was to use space for the header and side bar. It looks kind of good for the side bar, but we're not supposed to use our logo on space. I now use galaxy for the code and header, but space for the sidebar. Let me know what you think
Black code

Galaxy code

Subject: [PATCH] Add right panel
---
Index: playground/src/Editor/MonacoThemes.tsx
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/playground/src/Editor/MonacoThemes.tsx b/playground/src/Editor/MonacoThemes.tsx
--- a/playground/src/Editor/MonacoThemes.tsx	(revision 6e1b1c0f364b369f0aebe511a0d70a87e5199f66)
+++ b/playground/src/Editor/MonacoThemes.tsx	(date<PHONE_NUMBER>944)
@@ -389,7 +389,7 @@
         "tab.inactiveForeground": "#565b66",
         "tab.unfocusedActiveForeground": "#565b66",
         "tab.unfocusedInactiveForeground": "#565b66",
-        "editor.background": "#0b0e14",
+        "editor.background": "#261230",
         "editor.foreground": "#bfbdb6",
         "editorLineNumber.foreground": "#6c738099",
         "editorLineNumber.activeForeground": "#6c7380e6",
@@ -408,7 +408,7 @@
         "editor.findMatchHighlightBorder": "#5f4c7266",
         "editor.findRangeHighlightBackground": "#6c598040",
         "editor.rangeHighlightBackground": "#6c598033",
-        "editor.lineHighlightBackground": "#131721",
+        "editor.lineHighlightBackground": "#30173D",
         "editorLink.activeForeground": "#e6b450",
         "editorWhitespace.foreground": "#6c738099",
         "editorIndentGuide.background": "#6c738033",
Index: playground/src/Editor/SideBar.tsx
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/playground/src/Editor/SideBar.tsx b/playground/src/Editor/SideBar.tsx
--- a/playground/src/Editor/SideBar.tsx	(revision 6e1b1c0f364b369f0aebe511a0d70a87e5199f66)
+++ b/playground/src/Editor/SideBar.tsx	(date<PHONE_NUMBER>419)
@@ -10,7 +10,7 @@

 export default function SideBar({ selected, onSelectTool }: SideBarProps) {
   return (
-

+

       <SideBarEntry
         title="Source"
         onClick={() => onSelectTool("Source")}

Let's run with what you had initially, I need to think on it a bit more and maybe play around with it but I def don't want to block shipping.

Let's run with what you had initially, I need to think on it a bit more and maybe play around with it but I def don't want to block shipping.

Feel free to delegate the changes once you know how you want them to be. I enjoyed this a lot (feel free to do I yourself, if you find it fun too)


Explore how to use Kafka streams state store

Learn how a query service could retrieve information from Kafka streams state store.

[x] Read Event Sourcing
[ ] Read Messaging as the Single Source of Truth (Event Sourcing)

Event Sourcing
The article was written in 2005.

The most obvious thing we've gained by using Event Sourcing is that we now have a log of all the changes. Not just can we see where each ship is, we can see where it's been.

Event Sourcing enables:

Complete Rebuild
Temporal Query
Event Replay

In many applications it's more common to request recent application states, if so a faster alternative is to store the current application state and if someone wants the special features that Event Sourcing offers then that additional capability is built on top.

The official system of record can either be the event logs or the current application state. If the current application state is held in a database, then the event logs may only be there for audit and special processing. Alternatively the event logs can be the official record and databases can be built from them whenever needed.

Messaging as the Single Source of Truth

One of the trickiest parts of building microservices is managing data. The reason is simple enough. In traditional systems there is a system of record, typically a database; the trusted resource for facts. In service-oriented systems there is no single source of truth, there are many. Different datasets are owned by a variety of different services. This is by design. Services will have a range of different roles: individual pieces in a far larger puzzle.

So events solve two important architectural issues: (1) Managing real-world asynchronicity (2) Bringing together and manipulating datasets from different services.

The alternative is to merge the two [databases and events]. We make the events first class entities which are used both internally within our service, as well as by other services downstream. So in an event sourced system, there is no dual-write. The events are the system of record. Services literally ‘eat their own dog food.’

At a high level, event sourcing is really just the observation that in an event driven architecture, the events are facts. So if you keep them around, you can use them as a datasource.

One way to get started with events is to write through a database table into a Kafka topic. Change Data Capture (CDC). Most databases write every single insert, update and delete operation to a transaction log. This serves as a “source of truth” to the database and in case of errors, the database state is recovered from there. This means that we can also recreate the database state externally by copying the transaction log to Kafka, via Kafka’s Connect API, in a way that makes the events (insert, update, delete operations) accessible by other services.

Conclusion
I now have a much better understanding of how events stored by Kafka can be used as a single source of truth, and how DBs used by services can be used in combination to Kafka.


gpsd-machine-conf: provide gpsd config for qcom machines

Provide gpsd config adding pds:// devices.
Signed-off-by: Dmitry Baryshkov<EMAIL_ADDRESS>

I think you are overriding the default gpsd config file here, and you are doing it for all machines, not just 410c, not just meta-qcom machines, right? that does not seem right to me.

No, it is overridden for all qcom machines (see do_install:append:qcom).

@ndechesne @andersson  related question: should there be a PDS service on db845c? I don't see one on my board.

ok, not all machines.. but at least all 'qcom' machines.. not sure it's great. For example, on the ADP SA8155P we know that we want to support an external GPS.. can we not support multiple config? or perhaps just provide the config file, and not override the default to make it simpler for users who want to use PDS://?

@ndechesne the default is an empty config. So we can probably drop this. In fact we should probably check why 'gpsdctl add pds://0' might result in an error rather than in addition of the device.

@lumag Also we can use,
$ gpsdctl add pds://any
Should work by default getting the frist device available.


Save user preferences

The user can make a number of selections/choices in Frontend that we've talked about persisting. We've talked about persisting them server-side. Some preferences seem to be top-level/sitewide, while others seem per-project. We already have sitewide settings (for usage reporting), project settings, and form settings. However, those are not specific to the user. This issue is about saving individual users' preferences.
Top-level/sitewide preferences to persist:

~Whether the top panel on the homepage is shown or not~ (moved to #719)
The sort order of the project list

Project preferences:

~The sort order of the form list~ (moved to #719)
Whether the form trash is shown or not - #690
~Whether managed or legacy QR codes are shown for app users~ (moved to #719)

Once the Frontend PR is merged, and tests are in, we can close this issue.

The Frontend PR is merged. I've filed a separate issue about writing tests: #1049. I think we can go ahead and close this issue.

@getodk/testers, this issue is now ready to be verified. It is available on the staging server. The main way that this issue is different from #690 is that there is one other user preference to verify:

The sort order of the project list

Each user's choice/preference for the sort order of the project list should be saved. By default, projects are sorted by recent activity. If I sort projects alphabetically, then I refresh the page or open the page in a new tab, I should continue to see that projects are sorted alphabetically. My selection for the sort order of the project list should not affect what other users see: this preference is limited to my user.

@matthew-white To make sure: The sort order of the form list should not be affected by this?

That's right, at least for now. We've thought about adding another user preference for the sort order of the form list, and that idea is tracked at #719. The main reason we haven't added it is that we've also thought about making it possible to custom-order forms in the form list.


Allow --select and --exclude multiple times

resolves #7158
Problem
Currently, if a user does the following, only the last selector (users_rollup) will be take effect and earlier ones (users) will not:
dbt run --select users --select users_rollup

Selection syntax is confusing enough as-is, and the fact that it accepts multiples but only uses the last one makes it even more confusing.
Options
#7158 describes two options for how to move forward:

Combine multiple instances of --select as if it were a union. Similar for --exclude.
Raise an error (with a helpful message) if more than 1 --select is supplied. Same thing for --exclude.

This PR fleshes out option 1.
Note: most of it would also be applicable if we choose to implement option 2 instead.
Implicitly, there's also an option 0 that keeps the status quo. If we choose option 0, I'd still advocate that we cherry-pick the two test cases in https://github.com/dbt-labs/dbt-core/pull/7169/commits/2824f4ac82c08c07ef46f32e05defcc44f924de4 so we can actively affirm that this is the expected and desired behavior.
Todo
Make a decision between one of these three options:

[ ] option 0
[ ] option 1
[ ] option 2

Breaking change
This is described as a breaking change in the changelog because the behavior changes for certain edge cases (see above).
To cover in docs
The YAML Selectors says that:

This gets us more intricate subset definitions than what's available on the CLI, where we can only pass one "yeslist" (--select) and one "nolist" (--exclude).

At minimum, we'd need to update that portion if we merge option 1.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

@jtcohen6 we need to make a functional decision between one of these three options:

[ ] option 0 - status quo: accept multiple --select but only use the last one
[ ] option 1 - combine multiple instances of --select as if they were provided together, space delimited
[ ] option 2 - raise an error if multiple --select are supplied

We have same options for --exclude also, and I'm assuming we'll align the choice with the one made for --select.
I'm most attracted to option 1 as I think it would the least surprising to the end user.

Besides --select and --exclude, there are two other parameters that use MultiOption:

--output-keys
--resource-type

So we'd need to make the make a similar decision amongst the three options for each of them as well. They could either be covered in this PR or deferred to a separate issue(s).

@dbeatty10 Thanks for laying out the options so clearly!
I agree that option 0 (status quo) is the most confusing & least desirable.
My initial instinct was for option 2 (raise an error), but I think you've convinced me that option 1 is preferable. It's actually the default expected behavior for many CLIs (including click) when they accept multiple options.

you've convinced me that option 1 is preferable. It's actually the default expected behavior for many CLIs (including click) when they accept multiple options.

@jtcohen6
Shall we apply option 1 to each of the following as well? Or just --select and --exclude for now?

--output-keys
--resource-type

I tested both --output-keys and --resource-type out by hand, and they worked well.
I think those four are all the ones using our custom MultiOption class right now.
Even when specifying cls=MultiOption, multiple=True also needs to be specified in order to opt-in to allowing multiple instances of --{argument}, so we need to explicitly decide which parameters should have multiple=True added.

@dbeatty10 I agree with applying this change consistently across the board, to all existing MultiOption params.
Going forward, it sounds like any new param with MultiOption should also have type=tuple and multiple=True.

Maybe it's just me, but should the behavior be set intersection instead of set union?

Good eyes @aranke ! 🤩
Suppose a user expresses --select multiple times  like:
dbt run --select users --select users_rollup

Key question

would they expect this to be equivalent to a   or a , in dbt selection syntax?

Options
In this case, we have two options of how to combine them each of the arguments:

set union
set intersection

Explanations

With a set union

chaining uses a logical OR
union operator in dbt selection syntax
dbt run --select users --select users_rollup would be equivalent to dbt run --select users users_rollup

With a set intersection

chaining uses a logical AND
intersection operator in dbt selection syntax
dbt run --select users --select users_rollup would be equivalent to dbt run --select users,users_rollup

Pros of set union

Aligns with the union within the dbt selection syntax

dbt run --select users --select users_rollup is equivalent to dbt run --select users users_rollup

Users can still achieve intersections with this syntax
Can express slightly more complex selection on the command line before needing YAML selectors

Cons of set union

Surprising if you are expecting a logical AND like method chaining/cascading with Pandas DataFrames or piping in Unix systems.

Pros of set intersection

Behaves similar to method chaining/cascading using dataframes like:df
  .filter(f1)
  .filter(f2)

Cons of set intersection

Surprising if you are expecting a logical AND

Proposal
My belief is that a majority of dbt users will expect dbt list -s this that and dbt list -s this -s that to be equivalent, so I'm in favor of set union.


Copyright header enforcement

Had a second and it was quick.

Was in the process of sending the PR for this here. Did you already include stylecop.json. Looks like that is being excluded by gitignore


Failing test for runtime polymorphism.

Add a (failing) test for runtime polymorphism.
This covers https://github.com/apple/swift/issues/62354 and will need to be fixed when that bug is fixed. Currently the vtable is not used for dispatching, so it ends up calling the statically-typed method.

Yeah this is a good point. I wonder if we want to fix this test or just disable calling virtual methods. I don't mind landing this in the meantime.

@swift-ci please test

thanks


minor fixes to the blog post

@aslesarenko My notes:

I'm not sure, but it might make sense to add a short description after the send --dry-run output for what's inside those three output boxes (transfer, miner reward, change).
I cannot help but comparedlistAddressBoxes output "before" vs "after" the transfer and they don't make sense.

@aslesarenko My notes:
* I'm not sure, but it might make sense to add a short description after the `send --dry-run` output for what's inside those three output boxes (transfer, miner reward, change).

* I cannot help but compared`listAddressBoxes` output "before" vs "after" the transfer and they don't make sense.

Could you please clarify?

I'm not sure, but it might make sense to add a short description after the send --dry-run output for what's inside those three output boxes (transfer, miner reward, change).

There are three outputs and it might be useful for a novice user to describe the meaning of every output box(transfer itself, miner reward, return change). I suppose the audience of ergotool will be quite diverse.

I cannot help but compared listAddressBoxes output "before" vs "after" the transfer and they don't make sense.

Nevermind. My bad. I missed that "after" output is from the recipient's address. I thought it was from the sender's address.
However, I don't see created box  with id "4eaed414ae763158126859bbf912fa9ffb9ea67ac13d81d473b1c81ec65b06fd` among the recipient's boxes.


Fix pay invoice status

Summary
This PR addresses an issue for failed outgoing payments.
If an outgoing payment (invoice paid by the user) is marked as failed, then it will be deleted after a certain time interval.
The (current) reason for deleting the failed outgoing payment is to unlock the user funds. Because while the payment is still present the amount is considered locked.
The issue is that sometimes the outgoing payment can be marked as failed for technical reason, BUT the invoice is not actually canceled.
The solution in this PR is to:

never mark a payment as failed unless the funding source explicitly returns a status that says the payment is failed
any technical errors will keep the invoice as pending
make sure get_payment_status for all funding sources returns failed under some condition

alby and poenixd have an issue here

Note: regtest fails for reasons outside this PR. Should be fixed soon.


.predefined_sub_entries property to global

It doesn't have to be a property to each entry.

category creates groups with .predefined_sub_entries with value *:shot or *:asset.
Cannot promote it to global until the use case is resolved.


Refactor to template

See https://github.com/Senzing/repository-template/issues/12
Tasks
:ballot_box_with_check: Check History. In pull request, add issue number. In issue, add Pull Requests
:ballot_box_with_check: Update CHANGELOG.md
:ballot_box_with_check: Update to Dockerfile version 1.3.0
:ballot_box_with_check: Update to PULL_REQUEST_TEMPLATE.md
:ballot_box_with_check: Compare to docker-template
:ballot_box_with_check: Pull into master
:ballot_box_with_check: Close GitHub issue
Legend
:black_square_button: Not done
:ballot_box_with_check: Done

Pull request:

https://github.com/Senzing/docker-init-container/pull/28


Updating for v2 and adding prometheus options for scraping

This PR updates the chart for V2. I also removed the CRD's from the templates directory and created a template file to reference the crds directory - this should allow for the use of both Helm 2 and Helm 3.
I add the prometheus.enabled option that allows for configuring the metrics port and path along with an option of also creating a PodMonitor for the Prometheus Operator.
I am wondering if there be a v2 branch that this PR should instead go against?

Can we rebase this since it has been changes since then please?
Might have some conflicting changes with https://github.com/kedacore/charts/pull/69 so we'll need to 👀 that.

The Helm 3 lint check had me change the CRD apiVersoin from apiextensions.k8s.io/v1beta1 to apiextensions.k8s.io/v1 but it looks like that is now causing an issue when I try to install it locally:
Error: failed to install CRD crds/scaledjobs.keda.sh.yaml: CustomResourceDefinition.apiextensions.k8s.io "scaledjobs.keda.sh" is invalid: spec.versions[0].schema.openAPIV3Schema: Required value: schemas are required

It looks like there are some changes that would be needed to adapt to the updated api - https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/
Can we update KEDA to use this new schema?

The other linting problem that appears to be introduced in Helm 3.3 is:
[ERROR] templates/21-metrics-clusterrolebinding.yaml: object name does not conform to Kubernetes naming requirements: "keda-operator:system:auth-delegator": invalid metadata name, must match regex ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])+$ and the length must not longer than 253

The Helm 3 lint check had me change the CRD apiVersion (see this kedacore/charts/runs/1147109297?check_suite_focus=true) from apiextensions.k8s.io/v1beta1 to apiextensions.k8s.io/v1 but it looks like that is now causing an issue when I try to install it locally:
Error: failed to install CRD crds/scaledjobs.keda.sh.yaml: CustomResourceDefinition.apiextensions.k8s.io "scaledjobs.keda.sh" is invalid: spec.versions[0].schema.openAPIV3Schema: Required value: schemas are required

It looks like there are some changes that would be needed to adapt to the updated api - kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning
Can we update KEDA to use this new schema?
These linting errors are only appearing in the most recent version of Helm 3 (3.3.3). I did not encounter the problems locally using version 3.2.3

Woops, missed this comment before reviewing. We decided to ignore it for now since we dont' want to force users to use Kubernetes 1.16 - Sorry should've told you.
If using Helm 3.2.3 doesn't show this we should maybe change our CI to use that?

Yeah, we discussed it here: https://github.com/kedacore/keda/issues/701#issuecomment-693331121
We can regenerate the CRDs for apiextensions.k8s.io/v1 and we should document that KEDA is supported only on k8s 1.16+

@zroubalik I merged in the changes you did for the CRD API changes today.

@tbickford awesome, thanks. Just let us know, when this PR is ready :)

I am still trying to dig into:
templates/21-metrics-clusterrolebinding.yaml: object name does not conform to Kubernetes naming requirements: "keda-operator:system:auth-delegator": invalid metadata name, must match regex ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])+$ and the length must not longer than 253

If we use a prior minor version of helm3 the lint command should work.

I am still trying to dig into:
templates/21-metrics-clusterrolebinding.yaml: object name does not conform to Kubernetes naming requirements: "keda-operator:system:auth-delegator": invalid metadata name, must match regex ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])+$ and the length must not longer than 253

If we use a prior minor version of helm3 the lint command should work.

If that's the biggest problem, I think that we could rename that cluster role binding to conform the requirements. But we should rename that in the keda repo first, so the resources are in sync

@zroubalik FYI - https://github.com/helm/helm/issues/8835

@zroubalik I merged in the changes you did for the CRD API changes today.

@tbickford just be sure that you are mergin in the patched version of ScaledJob CRD, ie the output of make release or make deploy.
The ScaledObject CRD is being patched due to the problems with the required fields in the generated resources. See https://github.com/kedacore/keda/pull/1208 and https://github.com/kedacore/keda/issues/927

@tbickford I will merge this with the current error so we can include it in the RC; would you mind creating an issue for your follow-up please?
@zroubalik I'll take a look at the CRD.


Performance regression (>10x) from 4.1.2 to 4.1.3

Our users observed a significant performance regression (10x and more) and it turns out to be introduced somewhere between 4.1.2 and 4.1.3 (release on 29th September 2021). The awkward version is the latest 1.8.0.
I went through the release notes in https://github.com/scikit-hep/uproot4/releases/tag/4.1.3 and I first reverted https://github.com/scikit-hep/uproot4/pull/441 which also needed the objectarray1d function from uproot._util (see https://github.com/scikit-hep/uproot4/pull/442/files) but it did not help.
I also went through the other PRs but they seemed unrelated, so I started a git bisect with
Good: 382bb62f47a05f6111d3787e3235f9e56d9e113e (4.1.2)
Bad: 03cb08ccb1f47ce0b082117f41a112af1ab403ee (4.1.3)
and identified the https://github.com/scikit-hep/uproot4/commit/007b10014003a74d0e89e0166e21a6218de0d445 from @nsmith- which introduced the performance regression:
░ tamasgal@silentbox-(2):uproot4   (git)-[4.1.3~8|bisect]- py-system
░ 13:30:56 > git bisect good
007b10014003a74d0e89e0166e21a6218de0d445 is the first bad commit
commit 007b10014003a74d0e89e0166e21a6218de0d445
Author: Nicholas Smith<EMAIL_ADDRESS>Date:   Mon Sep 20 14:09:59 2021 -0500

    Implement regular array support for TClonesArray (#442)

    * Implement regular array support for TClonesArray

    * Add a small test

    * Fix issue with incidentally regular TRefArray lists

    * Cannot trust dict order

 src/uproot/_util.py                     | 13 +++++++++
 src/uproot/containers.py                | 45 ++++++++++++++++++++++---------
 src/uproot/interpretation/identify.py   |  4 +--
 src/uproot/interpretation/library.py    | 20 +++++++++++---
 src/uproot/interpretation/numerical.py  | 11 ++++++++
 src/uproot/interpretation/objects.py    | 48 +++++++++++++++++++++++++++------
 tests/test_0442-regular-TClonesArray.py | 40 +++++++++++++++++++++++++++
 7 files changed, 155 insertions(+), 26 deletions(-)
 create mode 100644 tests/test_0442-regular-TClonesArray.py

I investigated our codes and found the exact call which causes the problem: it's indeed the reading of doubly nested arrays.
With uproot 4.1.2, the following code is almost instantaneous whereas with uproot 4.1.3 it takes about 1.5 minutes (for a 1.5GB file):
>>> import uproot
>>> f = uproot.open("doubly_nested_regression.root")
>>> f["E/Evt/trks/trks.rec_stages"].array()
<Array [[[1, 2, 5, 3, 5, 4], ... 1], [1], [1]]] type='158262 * var * var * int32'>

Here is the file http://<IP_ADDRESS>:30002/doubly_nested_regression.root
@jpivarski you probably remember that you introduced some special hack to squeeze a lot out of doubly-nested structures, see https://github.com/scikit-hep/awkward-1.0/issues/968 and https://github.com/scikit-hep/awkward-1.0/blob/main/src/awkward/_connect/_uproot.py#L35 so my first thought was that these became ineffective with the changes introduced in https://github.com/scikit-hep/uproot4/commit/007b10014003a74d0e89e0166e21a6218de0d445 but I am just speculating ; )

If this is related to the hack for performance in doubly-nested structures, that hack will need to give way to AwkwardForth at some point. Adding an AwkwardForth implementation to all types is @aryan26roy's May‒July 2022 project, so... soon!
I actually hadn't realized that you were still relying on that hack. It doesn't even work for all doubly-nested structures, just a particular combination of vectors and pointers.
Is it the case that 007b10014003a74d0e89e0166e21a6218de0d445 is preventing the code flow from entering the gateway into that hack, which is this block:
https://github.com/scikit-hep/uproot4/blob/be92c96e9c3f73ee08277f20e68b81a489f8fdcb/src/uproot/interpretation/objects.py#L142-L154
?
I've started downloading the file to check.

Thanks for the quick answer! Indeed, we are heavily relying on these doubly-nested structures, unfortunately. It's roughly 20% of your MC and reconstruction data ; )
Yes I can confirm that awkward_can_optimize returns False for uproot 4.1.2 but True for uproot 4.1.3.

The backdoor in Awkward Array relies on the type matching exactly, and 007b10014003a74d0e89e0166e21a6218de0d445 changes the "uproot" parameter by one key-value pair. I think that including the "inner_shape" at that point was a mistake, so if @nsmith- actually needs it, I'll show him how to get it through the NumpyForm instead (and then merging this would require coordination with Coffea, so I hope it's simpler than that).
But this is a good reminder of how much of a difference this makes. It will be great to get this all converted to AwkwardForth, and then I won't have to keep calling it a "hack." (Maybe I could call it a "prototype that we didn't go with, in favor of AwkwardForth.")

Many thanks for the quick fix :)