[STM32F3xx] Refactor analogin, analogout and pwmout

use STM_PIN_DATA_EXT macro for pinout definition
some clean-up

Hello @bcostm
thanks for reorganising the next target. I've already started the same but you was faster ;-)
Unfortunatly we found a problem with PWM, not on all STM targets but on several. The F0 targets have only one clock source for all timers but F3 and F4 have two. And not in every target they are running with the same frequency. Until now I didn't check every configuration but it seams that one clock source runs with SYSCLK and the other with SYSCLK/2. So some PWMs (timers) have a correct periode and other are using  a doubled periode.
I'm already working on that and hope I can submit a PR in a couple of days.

Hi @ohagendorf,
Sorry if you have already started to work on this... It should be great if we can write somewhere in GitHub who is working on what at a moment...
For the PWM, I didn't think of it. I let you finish your work on this problem if you don't mind. On my side I will continue testing deeply the DISCO_F334C8 with automatic tests.

For instance, you could use issues as a tracker. Create an issue, propose a fix within a comment or write in progress in the opened issue and start working on it. You can share a branch, to track the progress.

ok good idea... I'll do this next time.


Backwards compatibility broken for cached datasets that use .filter()

Describe the bug
After upgrading to datasets 1.12.0, some cached .filter() steps from 1.11.0 started failing with
ValueError: Keys mismatch: between {'indices': Value(dtype='uint64', id=None)} and {'file': Value(dtype='string', id=None), 'text': Value(dtype='string', id=None), 'speaker_id': Value(dtype='int64', id=None), 'chapter_id': Value(dtype='int64', id=None), 'id': Value(dtype='string', id=None)}
Related feature: https://github.com/huggingface/datasets/pull/2836
:question:  This is probably a wontfix bug, since it can be solved by simply cleaning the related cache dirs, but the workaround could be useful for someone googling the error :)
Workaround
Remove the cache for the given dataset, e.g. rm -rf ~/.cache/huggingface/datasets/librispeech_asr.
Steps to reproduce the bug

Delete ~/.cache/huggingface/datasets/librispeech_asr if it exists.

pip install datasets==1.11.0 and run the following snippet:

from datasets import load_dataset

ids = ["1272-141231-0000"]
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
ds = ds.filter(lambda x: x["id"] in ids)

pip install datasets==1.12.1 and re-run the code again

Expected results
Same result as with the previous datasets version.
Actual results
Reusing dataset librispeech_asr (./.cache/huggingface/datasets/librispeech_asr/clean/2.1.0/468ec03677f46a8714ac6b5b64dba02d246a228d92cbbad7f3dc190fa039eab1)
Loading cached processed dataset at ./.cache/huggingface/datasets/librispeech_asr/clean/2.1.0/468ec03677f46a8714ac6b5b64dba02d246a228d92cbbad7f3dc190fa039eab1/cache-cd1c29844fdbc87a.arrow
Traceback (most recent call last):
  File "./repos/transformers/src/transformers/models/wav2vec2/try_dataset.py", line 5, in <module>
    ds = ds.filter(lambda x: x["id"] in ids)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 185, in wrapper
    out: Union["Dataset", "DatasetDict"] = func(self, *args, **kwargs)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/fingerprint.py", line 398, in wrapper
    out = func(self, *args, **kwargs)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 2169, in filter
    indices = self.map(
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 1686, in map
    return self._map_single(
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 185, in wrapper
    out: Union["Dataset", "DatasetDict"] = func(self, *args, **kwargs)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/fingerprint.py", line 398, in wrapper
    out = func(self, *args, **kwargs)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 1896, in _map_single
    return Dataset.from_file(cache_file_name, info=info, split=self.split)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 343, in from_file
    return cls(
  File "./envs/transformers/lib/python3.8/site-packages/datasets/arrow_dataset.py", line 282, in __init__
    self.info.features = self.info.features.reorder_fields_as(inferred_features)
  File "./envs/transformers/lib/python3.8/site-packages/datasets/features.py", line 1151, in reorder_fields_as
    return Features(recursive_reorder(self, other))
  File "./envs/transformers/lib/python3.8/site-packages/datasets/features.py", line 1140, in recursive_reorder
    raise ValueError(f"Keys mismatch: between {source} and {target}" + stack_position)
ValueError: Keys mismatch: between {'indices': Value(dtype='uint64', id=None)} and {'file': Value(dtype='string', id=None), 'text': Value(dtype='string', id=None), 'speaker_id': Value(dtype='int64', id=None), 'chapter_id': Value(dtype='int64', id=None), 'id': Value(dtype='string', id=None)}

Process finished with exit code 1

Environment info

datasets version: 1.12.1
Platform: Linux-5.11.0-34-generic-x86_64-with-glibc2.17
Python version: 3.8.10
PyArrow version: 5.0.0

Hi ! I guess the caching mechanism should have considered the new filter to be different from the old one, and don't use cached results from the old filter.
To avoid other users from having this issue we could make the caching differentiate the two, what do you think ?

If it's easy enough to implement, then yes please 😄  But this issue can be low-priority, since I've only encountered it in a couple of transformers CI tests.

Well it can cause issue with anyone that updates datasets and re-run some code that uses filter, so I'm creating a PR

I just merged a fix, let me know if you're still having this kind of issues :)

Definitely works on several manual cases with our dummy datasets, thank you @lhoestq !

Fixed by #2947.


Non-functional Oculus Quest focus awareness option

Godot version:
3.2.2.stable
OS/device including version:
Oculus Quest
Issue description:
The Xr Features/Focus Awareness option is non-functional. Enabling the option does not add focus awareness support to the app.
This is caused by the fact that the manifest update logic adds a String value to the focus awareness meta-data instead of a boolean value.
Steps to reproduce:

Enable the Xr Features/Focus Awareness option
Run the app on an Oculus Quest using the Godot Oculus mobile plugin.
Press the Oculus Home button on the right touch controller
When focus awareness is enabled, the Oculus universal menu should show within the running app. Instead the user is taken outside of the app to the Oculus Home environment.

Minimal reproduction project:
https://github.com/GodotVR/godot_oculus_mobile/tree/master/demo

The workaround for Godot v3.2.2 is to manually edit the res://android/build/AndroidManifest.xml file and replace oculus_focus_aware_value in <meta-data android:name="com.oculus.vr.focusaware" android:value="oculus_focus_aware_value" /> to the desired option (either true or false).


[WIP] Enable Pytorch GPU acceleration for M1 chips

Add MPS support
Disable MPS when torch < 2.0

TODO:
[ ] PyTorch support for bfloat16 on MPS: https://github.com/pytorch/pytorch/issues/78168 causing the two dtype tests to fail
[ ] Remove torch 2.0 requirements from TOML once PR ready
Encountered Poetry bug where poetry install doesn't update torch to the latest compatible version (2.0.1) as claimed in the docs, but setting the package to 2.0.1 manually in the toml works.
Can't use torch < 2.0 due to torch broadcasting bug with MPS, e.g. here where mask is [15,15] and attn_scores is [8,8,15,15],  issue: https://github.com/pytorch/pytorch/issues/86239

@luciaquirke  failing formatting check?

Closing because PyTorch doesn't support the bfloat16 data type on MPS yet. I will reopen in another few months or when I figure out how to contribute to PyTorch 😄
If anyone is here because they want to use TransformerLens with MPS, this branch should work (unless you encounter a model that uses the failing data type, I haven't yet).

@luciaquirke I think it's fine to just not support mixed floating point precision for MPS?
Was it preventing other things from working? Otherwise it seems reasonable to merge this in for now, and then just support bfloat16 if/when it's added to PyTorch.

Sounds good to me!

Yep it's a very well-know issue with MPS as well

@jbloomAus please may I have a merge 😛

Looks good. Thanks Lucia!


--quiet argument seems to be ignored by R Host when using MRO

I'm using MRO 3.2.3 and set the command line arguments to inlcude --quiet but it seems to be ignored when the host is started.
Additional information:
OS Information
Version:       Microsoft Windows NT 10.0.10586.0
RTVS Information:
Assembly: Microsoft.VisualStudio.R.Package, Version=0.3.20418.1523, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
R Install path:
C:\Program Files\Microsoft\MRO\R-3.2.3

Can you please provide more information when this is important. Thanks.

Not essential but used to suppress startup messages in the interactive session, e.g:
"C:\Program Files\Microsoft\MRO\R-3.2.3\bin\x64\Rgui.exe" --quiet
Will launch the gui without the startup messages, same with R and RTerm.
But defining this seems to not pass that to the host before starting it:

Maybe I defined something wrong?

No, it's a bug on our side - specifically, in our host. We call R_set_command_line_arguments which does propagate command line arguments to R, but then we never call R_common_command_line, which is where R actually parses them and sets options accordingly.

(so commandArgs work properly in R code and can be parsed by R scripts as usual, but all options affecting R behavior, like --quiet, are not applied.)

Understood, could see people using things like --vanilla and --internet2 as well depending on environment conditions.


Add ChecksummedHexEncode trait.

About These Changes

Introduces a new trait ChecksummedHexEncode<const N: usize> with a checksummed_hex_encode() method.
Implements ChecksummedHexEncode on a few [u8; _] types.

This trait does not appear to be necessary.  Is there an analogous trait that the hex crate introduces that we are copying here?  If not let's try to be API compatible with the hex crate.


Migrate from MkDocs to Just-The-Docs

After some research I found a professional documentation template called Just-The-Docs. The goal is to migrate from MkDocs to Just-The-Docs template.

I was able to deploy Just-The-Docs portal on a Proxmox server using the template .
After setting up the website locally on a VM, I was able to use VSCode to connect and view the webpages locally on the computer. Its taken be a few weeks but I have created a template that I like and can configure.
I was able to use WinSCP to download the files from the VM to my machine locally, once that was done it was a straight GitHub upload request. It did take me a few attempts to figure out how to setup the build process but I've got it working.
The goal now is to build on top of the template.


Changed View::findViewFile method visibility

It's necessary for controller customizations

Could you elaborate about the use case?

In my case i want to modify Controller::renderAjax behavior.
I don't need that view renders asset files, but i need of js widgets in a specifc case.
For this i did:
public function renderAjax($view, $params = [])
{
    $vw = $this->getView();
    $method = new \ReflectionMethod(View::className(), 'findViewFile');
    $method->setAccessible(true);
    $viewFile = $method->invoke($vw, $view, $this);

    ob_start();
    ob_implicit_flush(false);

    $vw->beginBody();
    echo $vw->renderFile($viewFile, $params, $this);
    echo View::PH_BODY_END;
    $vw->endPage(false);

    return ob_get_clean();
}

You can use custom View component instead.


std::aligned_storage deprecated in C++23

When compiling in C++23 mode, there is a deprecation warning. What about removing std::aligned_storage and use an unsigned char instead? (With C++17, also std::byte could be used.)
diff --git a/include/tsl/hopscotch_hash.h b/include/tsl/hopscotch_hash.h
index ed5f858..cf87532 100644
--- a/include/tsl/hopscotch_hash.h
+++ b/include/tsl/hopscotch_hash.h
@@ -386,11 +386,9 @@ class hopscotch_bucket : public hopscotch_bucket_hash<StoreHash> {
   }

  private:
-  using storage = typename std::aligned_storage<sizeof(value_type),
-                                                alignof(value_type)>::type;

   neighborhood_bitmap m_neighborhood_infos;
-  storage m_value;
+  alignas(value_type) unsigned char m_value[sizeof(value_type)];
 };

 /**

Thanks, I made the change. Sorry for the delay.


Revert "[DispatchCreation] Extend multi-use producer fusion"

Reverts iree-org/iree#18551

@benvanik I updated the description of the PR
Also, the pr mentioned in the description (https://github.com/iree-org/iree/pull/1885) does fix the original issue, but I'm not sure how long that would take to land. If anyone wants to take a look at that and sees it as easy to land, I could do that instead.


Add xdr command to root

What
Add xdr command to root of cli command structure.
Why
It is currently under the lab, but at some point in the past we had commented about moving it to the root because really the majority of the CLI is "lab-like" commands and so having some commands under a lab subcommand makes little sense. XDR is also so prevalent that functionality to use it should be accessible. As a first step this PR adds it to the root. A follow up PR can remove it from the lab command.

noticed that rpc tests are (still?) failing.

RPC tests are a bit flakey, it needs investigation separately.


SMD-652 - Extract mappings from the Pathfinders template

WIP, best to merge after this PR: SMD-636 - integrate PF table extraction, processing and validation
Ticket
https://dluhcdigital.atlassian.net/browse/SMD-652
Change description

Added a new EPV (Extract, Process, Validate) config dictionary to support extraction of tables containing required mappings data located in hidden sheets of Pathfinders Reporting Template
Added a new function create_pathfinders_mappings in core/controllers/ingest.py to take extracted tables and pull out the following mappings: programme name → programme ID, project name → project ID, programme name → project names, programme name → allowed bespoke outputs, programme name -> allowed outcomes, and lists of allowed standard outputs and allowed standard outcomes (not technically mappings)

Idea will be that once integration PR (see above) has been merged, we can call the extract_process_validate method with workbook_data and the new EPV config defined in this PR, and then pass the returned extracted and validated tables to the create_pathfinders_mappings function. We can then pass the mappings to the transformation function (further integration work required outside the current scope of integration PR, which is focused on pre-transformation integration).
Note that for this process to work, tags are required above and below tables in hidden sheets of Pathfinders Reporting Template in the same way they are required for extraction of all other tables.

Output -> Intervention Theme and Outcome -> Intervention Theme mappings also need to be extracted.

Hey @cyrusdobbs I've just updated this PR to address your comments and also to improve elsewhere. Specifically...
In relation to your comments:

As this is PF specific it doesn't feel right to keep it here. We could keep it with the transformation code as it transforms the extracted mapping tables into more usable mappings?
This was in regards to having create_pathfinders_mappings in ingest.py. I have restructured so that this function now sits in a new module: core/transformation/pathfinders/round_1/mappings.py.

Is the plan to combine this with the existing mappings?
This was in regards to the new EPV config for mappings tables. I have moved this config into the same module as the "user data" extraction config: core/table_configs/pathfinders/round_1.py and renamed to PF_MAPPINGS_CONFIG. PF_TABLE_CONFIG is a separate dict in the same module.

Where do you anticipate us using these mappings?
This was in regards to the allowed standard outputs and allowed standard outcomes mappings. I figured that we could these for validation for the standard outputs and standard outcomes tables, rather than having those lists hard-coded our side. Even if we eventually decided not to use these for validation though, feels useful to have them available to us at this stage?

Other changes made include:

After moving create_mappings to a new module, I decided to split out the processing into sub-functions similar to how we do for pathfinders_transform. I have prefixed private methods with an underscore as discussed in that other PR, and also took the opportunity to add the underscore prefix to the sub-functions in the transform module for consistency. Slightly out of scope but saves having another ticket / PR for something quite trivial
I added mock data for the extracted mappings tables and a series of unit tests that use this mock data


Resize inline image to fit within content height

If an inline image exceeds the height of the content area, shrink it until it fits.
This behavior is implemented in the block image converter.

Due to the chicken-egg nature of writing text fragments in Prawn, the best we can to is ensure the inline image fits on a single page. If the height of the image exceeds a single page, most likely Prawn will advance to the next page to render it. Therefore, we still recommend tuning the pdfwidth attribute so that the height is a reasonable length.


Resource Filtering

User committee comment: I got no results when filtering by a word in a resource title, either as keyword or Dublin Core title.
This is because exact word matches seem to be required.  In the short term we need partial word matching.  Over the longer term we need a better faceted search.

Looks like there is a duplicate id on input elements: Lines 16 and 34 in
hs_core/templates/pages/my-resources.html
<input type="text" ... id="dccontent1"


feat: avatar-circles

Feature:
Overlapping circles of avatars.

Also, fixed typo in registry/components/example/word-rotate-demo.tsx
Changed TextRevealDemo() to WordRotatelDemo()

Similar to the one found on Magic UI Pro homepage.


Uncaught Error: toString failed

I'm getting this error when trying to print a (rather large) variable. After the error, trying to run other lines gives a checkmark but no actual output.

This shouldn't happen but I can't reproduce it.
Could you post the exact command you are trying to run and a screenshot of the development console (cmd-alt-i)?

https://github.com/nodejs/node/pull/4394

It may be some kind of timeout when printing a huge variable(?). In this case it's trying to print what was originally a Matlab .mat file. The file is loaded with scipy.io.loadmat, which results in a numpy.ndarray encapsulated in a dict or something like that. In any case, when trying to print one of the dict items, using say print matdata['dw1078araw'], does not do the typical "only print first/last few rows of huge array" behavior. Executing the same command in the Jupyter console requires several seconds before it spews out the result. Executing this command in Atom/hydrogen results in the toString error after several seconds.
Hopefully the development console screenshot below is helpful:

@dnowacki-usgs Node (and thus Atom) currently can't convert large buffers (larger than 192MB) into strings. See https://github.com/nodejs/node/issues/4266 .
I've committed a workaround to the jmp repository, so that any messages that throw this exception are dropped. This change won't fix the issue with large buffers, but it should let you keep using Hydrogen.

@dnowacki-usgs I've just published<EMAIL_ADDRESS>that works around this issue. If you have a chance to test it. Please, reinstall Hydrogen and post here whether printing a large output still renders the kernel unresponsive.

@n-riesco: Hmm, still throwing the error for me, and the kernel remains unresponsive. I uninstalled Hydrogen, restarted Atom, reinstalled Hydrogen, restarted Atom, and tested the same code with the same output. How can I test to make sure Hydrogen is using the latest jmp?

The latest version of jmp is only used in the development version of Hydrogen.
The fix will be released in Hydrogen 1.0.0 (soon). If you cannot wait, you can install the latest development version by following this steps: https://github.com/nteract/hydrogen#development.


Adding Automation.md

Adding Automation.md that hold current information and documentation around the automation in the DSC Resource Kit.

Fixes #364
Fixes #365
Fixes #401
Fixes #408

This change is

Merging this so we get all the information in one place, instead of 4 issues.


Refactor running of interactive commands

more unified implementation,
raises RunError when command fails, dealing with the fallout is left to the caller,
login may ignore it, execute/internal will not - interactive tests apparently could not fail.

Pull Request Checklist

[ ] implement the feature
[ ] write the documentation
[ ] extend the test coverage
[ ] update the specification
[ ] adjust plugin docstring
[ ] modify the json schema
[ ] mention the version
[ ] include a release note

Today I've found that there is a standard for debugger-ide interface: https://microsoft.github.io/debug-adapter-protocol/. Saw it because CMake recently implemented it. Any ideas if it can fit around this, or would it need a lot more backend?

Today I've found that there is a standard for debugger-ide interface: https://microsoft.github.io/debug-adapter-protocol/. Saw it because CMake recently implemented it. Any ideas if it can fit around this, or would it need a lot more backend?

@LecrisUT not sure I follow your thoughts, you would like to be able to debug (step by step) the test execution somehow via vscode interface? :) It should be possible now to drop to an interactive shell if you run tmt in the vscode shell right? (I wonder what I am not understanding)

Today I've found that there is a standard for debugger-ide interface: https://microsoft.github.io/debug-adapter-protocol/. Saw it because CMake recently implemented it. Any ideas if it can fit around this, or would it need a lot more backend?

No idea, TBH, but I'm tempted to say "not really". The patch tries to address how tmt runs "interactive" commands, so it'd be no longer different than how non-interactive commands are handled, especially when it comes to exceptions and return values. I suppose anything as sophisticated as debugging protocols is not related to this particular PR.
If what you're thinking about is something like running a test with a debugging session open elsewhere, to your IDE or gdb in another SSH session, e.g. for runtime inspection of the debugged test process, then we should probably look into test checks. Those should enhance or spice up the test process, by checking related events (abrt, AVC denials raised during the test, etc.), but I can imagine also some kind of "middleware" check that would do something - open this debugger-IDE session - and then proceed running the test as usual. Did you mean something along these lines?

I think the protocol is more geared towards providing the IDEs the data model they need for interacting with the debugger, e.g. setting environment variables, context, etc.
Currently the scope of this PR is to get the interactive shell, maybe analogous to the ansible debugger shell, where you have to actively step through each step and interact with the shell environment?

Currently the scope of this PR is to get the interactive shell, maybe analogous to the ansible debugger shell, where you have to actively step through each step and interact with the shell environment?

Yes and no. It is aiming at this use case, i.e. when a user adds /bin/bash into their test, running the test in "interactive" mode would mean this spawned shell would be accessible to the user. But, also no in the sense that it is not a new feature added by this PR, it's been present already. This PR tries to fix some issues discovered in December, namely the failure of a test in interactive mode is ignored. Which is acceptable with the login subcommand, but not with regular tests. Plus there were logging issues, some steps the code takes in the case of the non-interactive mode would not happen in the interactive mode, and so on.
In other words, you got the right idea, but I'm not adding it, just trying to fix a few bugs and unify implementation to make future reasoning about the interactive mode easier :)

/packit test -i full

Seems that /tests/execute/duration will now need more time for the extra loop (timeouted) --> increased.

/packit test -i full

Seems that /tests/execute/duration will now need more time for the extra loop (timeouted) --> increased.

Actually, when run in the interactive mode the duration is ignored which means the long test waits 120 seconds doing nothing. Do we really want/need to exercise this scenario?

I'd say we can make it shorter, e.g. 60 seconds or something, although I'd advise against being stingy & cutting it too close to 5 seconds...

Sounds ok. I'd just go a bit lower, what about 20 seconds? It's still 4 times more that the duration. Should be safe, hm? I would like to avoid slowing down the test suite unnecessarily.

I'd say we can make it shorter, e.g. 60 seconds or something, although I'd advise against being stingy & cutting it too close to 5 seconds...

Sounds ok. I'd just go a bit lower, what about 20 seconds? It's still 4 times more that the duration. Should be safe, hm? I would like to avoid slowing down the test suite unnecessarily.

TBH, I can't tell. Nobody can. Feel free to lower it down to 20 seconds, it's probably going to work as well as it used to. It's probably not much worse than 21 seconds, or 30 seconds. I simply have a bad experience with this kind of optimization, let's finish the discussion here.

Ok, adjusted in 3b85b370. Should save us ~16 minutes of waiting.

/packit test -i full

Rawhide failures are irrelevant --> merging.


Real time download

Hi i've been using TL for a while now and it's really useful. Usually i download video from real time stream, not full vod. With the new update I can't download a part of the live video with specific time anymore. And my streamer always private video after stream so I can't download after the stream end. Can you check out this one please.

#687

Can you bring back this feature?


MANUAL_ADJUST adjustment type is adding instead of overriding the current stock

Configure OAuth2 access token for authorization: oauth2
SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken(API_KEY_SQUARE);
$api_instance = new SquareConnect\Api\V1ItemsApi();
$body = new \SquareConnect\Model\V1AdjustInventoryRequest(); // \SquareConnect\Model\V1AdjustInventoryRequest | An object containing the fields to POST for the request.  See the corresponding object definition for field details.

$body->setQuantityDelta($value);
$body->setAdjustmentType("MANUAL_ADJUST");

doesn't work

Hey @TravisCornelius are you receiving an error? In the title you mention it adds instead of overrides, but in the body you say it just doesn't work.
Just to clarify: it's meant to add instead of override (that's why we call it a delta value, implying it's the difference, not the new amount). So if that's the issue, then it is not an issue (it works properly). However, if you're actually not able to get it to work, can you provide any errors you're receiving?

Works properly then, I just figured it should override, since the same result can be done via sale or recieved enums


Readme adjustments

Hey there :)
README has an extra item in the end of the unordered list of Web3 Roadmaps.
Assign it to me please.
P.S. Can I update the .gitignore with IDE preferences as well?

Uhm... okay, actually, I wanted to close it by myself 😕


Update verify-downloads.md

Added in instructions on how to verify signatures

@AllienWorks have you checked this out? I updated the page to include mac users and also on how to verify signatures instead of just hashes. Thanks

Hello and sorry it took so long. Lots of stuff going on now :)
Thanks very much for the contribution!


exported KubernetesContainerRunner, KubernetesContainerRunnerOptions,…

In my previous PR I forgot to export public symbols and generate api-report.md
ref: https://github.com/backstage/backstage/pull/12839
Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Can somebody help me understend why e2e tests are failing after I uploaded the api-report.md?

Thanks for the PR! We had some build issues last week and had to force push to the mater branch in order to clear up the issues. Rebase your PR on master and it should hopefully clear up 🤞

Guys I added @types/js-yaml and @types/request to the backend-common package.json, it fixed a couple of workflows but still some e2e tests are failing because of js-yaml and I don't have any other ideas to fix it. Can you give me a hand?

Hi @matteosilv!
It looks like this is due to an underlying issue in the Kubernetes client library for javascript. There's currently an open issue in kubernetes-client/javascript#883 describing the problem. I don't think we want to add these dependencies in the create-app template as it's likely that it might cause issues for users later. Could we wait with this until we have gotten an update from the kubernetes folks? Most likely this is a mistake that should be reverted.

Absolutely! It seemed a little odd to me too

Don't know what changed, but taking in recent master branch commits seems to have fixed the issue. I just removed the edits to the create-app package.json.hbs template, because I want to be sure they are actually needed, before issuing an un-needed patch version for a module

Something is moving 😄 https://github.com/kubernetes-client/javascript/pull/890

https://github.com/kubernetes-client/javascript/pull/890 was merged so this should be addressed with next release

kubernetes-client/javascript#890 was merged so this should be addressed with next release

We need to wait for 0.17.2 and merge after then! Thanks!

Just wanted to re-open this as we are waiting for javascript kubernetes client  0.17.2 to come out

There is still no date for 0.17.2...

This request is stuck since September.... Do we have any alternative to merge it in, without relying on Kubernetes javascript client being updated?

Hi @matteosilv! Yeah it's taking a looong time 😩 I asked around and got news that we have pinned the version to 0.17.0 for now which means we shouldn't need those additional dependencies. Could you try rebasing and removing the dependencies. Hopefully it should work! 🤞

Ok trying force pushing the initial commit from scratch

yeaaaaaahhhh all checks passed. Guess we can finally merge 😄

@danmontgomery the KubernetesContainerRunner is finally released with backstage v1.9.0, package backend-common 0.17.0


Update shader-model-6-0.md

@briannagerads : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@BitMD

@briannagerads : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Remove unused error return

Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

LGTM assuming janky is happy

LGTM


Cndit 1542: Rearrange the structure of all the RTR micro-services so that they are at the git repo root level

Rearrange the structure of all the RTR micro-services so that they are at the git repo root level

Tested in DTS1 env. LGTM as an interim solution before migrating to a new repo. Do we need any current updates for the sonarcloud coverage?
Thank you for the update!

i think we should be good on the sonarcloud for now.. We will take a separate ticket to increase coverage.


Found new version WeChat.exe exited

[DoChat] 盒装微信 v0.8.0
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited
📦 DoChat Exited with code [0]

Yes, that means that the WeChat has updated itself.
Just restart it and everything will be fine.

And what should I do to restart it

If it has already exited, then just run it again.

Restart did not solve the problem

docker run \
>   --name DoChat \
>   --rm \
>   -i \
>   \
>   -v "$HOME/DoChat/WeChat Files/":'/home/user/WeChat Files/' \
>   -v "$HOME/DoChat/Applcation Data":'/home/user/.wine/drive_c/users/user/Application Data/' \
>   -v /tmp/.X11-unix:/tmp/.X11-unix \
>   \
>   -e DISPLAY \
>   \
>   -e XMODIFIERS=@im=fcitx \
>   -e GTK_IM_MODULE=fcitx \
>   -e QT_IM_MODULE=fcitx \
>   -e GID="$(id -g)" \
>   -e UID="$(id -u)" \
>   \
>   --ipc=host \
>   --privileged \
>   \
>   zixia/wechat
[DoChat] 盒装微信 v0.10.4
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

I'm having this problem too. I've rebooted, but rebooting doesn't seem to solve the problem.

An update has been published as the zixia/wechat:<IP_ADDRESS> and zixia/wechat:<IP_ADDRESS>.
Please try it again and let me know if it helps.

Update
We have just published the WeChat <IP_ADDRESS>, you can use it by specifying the DOCHAT_VERSION environment variable:
curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh \
  | DOCHAT_WECHAT_VERSION=<IP_ADDRESS> bash

Update 2
It seems that it has some issues related to the WeChat version higher than 2.7.
I have tested the 2.8 & 2.9 it seems that they all have this problem.
Currently, I can use the version zixia/wechat:<IP_ADDRESS> without any problem.

All got failed.
[DoChat] 盒装微信 v0.11.1
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

[DoChat] 盒装微信 v0.10.20
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

[DoChat] 盒装微信 v0.10.21
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

[DoChat] 盒装微信 v0.11.3
Disabling patch for /home/user/.wine/drive_c/users/user/AppData/Roaming/Tencent/WeChat ...
Disabling patch for /home/user/.wine/drive_c/users/user/Application Data/Tencent/WeChat ...
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] WeChat.exe exit with code 0
[DoChat] Found new version?
[DoChat] WeChat.exe exited

$  DOCHAT_SKIP_PULL=true ./dochat.sh

       ____         ____ _           _
      |  _ \  ___  / ___| |__   __ _| |_
      | | | |/ _ \| |   | '_ \ / _` | __|
      | |_| | (_) | |___| | | | (_| | |_
      |____/ \___/ \____|_| |_|\__,_|\__|

      https://github.com/huan/docker-wechat

                +--------------+
               /|             /|
              / |            / |
             *--+-----------*  |
             |  |           |  |
             |  |   盒装    |  |
             |  |   微信    |  |
             |  +-----------+--+
             | /            | /
             |/             |/
             *--------------*

      DoChat /dɑɑˈtʃæt/ (Docker-weChat) is:

      📦 a Docker image
      🤐 for running PC Windows WeChat
      💻 on your Linux desktop
      💖 by one-line of command

🚀 Starting DoChat /dɑɑˈtʃæt/ ...

[DoChat] 盒装微信 v0.11.1
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[0428/052925:INFO:exception_record.cc(518)] [QB]Process ID: 48 Type: 1
[0428/052925:ERROR:network_change_notifier_win.cc(156)] WSALookupServiceBegin failed with: 8
[0428/122948.650:ERROR:gl_surface_egl.cc(770)] ANGLE Platform initialization failed.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  185
  Current serial number in output stream:  184

It's finally booting out, thankfully. But the transparent box that had been hovering over the screen never went away.
Same as the one that appears in the link below.
https://github.com/huan/docker-wechat/issues/47

Version 0.10.22 of docker-wechat boots out normally, but I click on log in and agree to log in on my phone and it automatically exits. As follows.
$ docker run \
>   --name DoChat \
>   --rm \
>   -i \
>   \
>   -v "$HOME/DoChat/WeChat Files/":'/home/user/WeChat Files/' \
>   -v "$HOME/DoChat/Applcation Data":'/home/user/.wine/drive_c/users/user/Application Data/' \
>   -v /tmp/.X11-unix:/tmp/.X11-unix \
>   \
>   -e DISPLAY \
>   \
>   -e XMODIFIERS=@im=fcitx \
>   -e GTK_IM_MODULE=fcitx \
>   -e QT_IM_MODULE=fcitx \
>   -e GID="$(id -g)" \
>   -e UID="$(id -u)" \
>   \
>   --ipc=host \
>   --privileged \
>   \
>   zixia/wechat
[DoChat] 盒装微信 v0.10.22
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

Finally, I don't use DOCKER-WECHAT in ubuntu 18.04. It works!
Follow the steps: https://ferrolho.github.io/blog/2018-12-22/wechat-desktop-on-linux

Install Wine 5.0

@shuming1008 great to know that you finally get WeChat on your Linux desktop, and thanks for the sharing!

All got failed.
[DoChat] 盒装微信 v0.11.1
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

[DoChat] 盒装微信 v0.10.20
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

[DoChat] 盒装微信 v0.10.21
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] Found new version
[DoChat] WeChat.exe exited

[DoChat] 盒装微信 v0.11.3
Disabling patch for /home/user/.wine/drive_c/users/user/AppData/Roaming/Tencent/WeChat ...
Disabling patch for /home/user/.wine/drive_c/users/user/Application Data/Tencent/WeChat ...
[DoChat] WeChat <IP_ADDRESS>
[DoChat] Starting...
[DoChat] WeChat.exe exit with code 0
[DoChat] Found new version?
[DoChat] WeChat.exe exited

same here！


AuctionManager component - renderMedia - initialData

in the AuctionManager component renderMedia does not seem to support the token object as a prop, what would the best strategy be to pass the token object in so we can use it for initialData in the NFTPreview component?

It looks like this is working as desired but the way the portal is assigned for the modal is breaking SWR with the nft-components library. Will investigate further.


Declarative Tests do not clean up after themselves

The Declarative tests leave behind artifacts and use a shared test bed, which can affect test results.  This was verified by updating the case_3 test which should have verified a resource wouldn't be created when ExternalDB/Storage was specified, but the secret still existed.  renaming the test case_0 would make the test pass, suggesting the resource was left over from a previous case.

Migrated to Jira: https://issues.redhat.com/browse/RHOAIENG-1636


Threading issues accessing ADLSGen2 table from Python

Environment
Delta-rs version: v0.6.2
Binding: Python 3.8
Environment:

Cloud provider: Delta table on ADLS Gen2; Process running in container
OS: Debian 10
Other: pyarrow 10.0.0 (but repros w/ earlier versions too)

Bug
What happened:
I'm following the tutorial here:
from deltalake import DeltaTable
import pyarrow.dataset as ds
storage_options = {"AZURE_STORAGE_ACCOUNT_KEY": "..."}
dt =<EMAIL_ADDRESS>storage_options=storage_options)
dataset = dt.to_pyarrow_dataset()
df = dataset.to_table(filter=(ds.field("my_date") == date(2022,11,3)) & (ds.field("my_field") == 'some_key')).to_pandas()

thread '<unnamed>' panicked at 'dispatch dropped without returning error', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.14.20/src/client/conn.rs:329:35
---------------------------------------------------------------------------
PanicException                            Traceback (most recent call last)
Cell In [54], line 1
----> 1 df = dataset.to_table(filter=(ds.field("my_date") == date(2022,11,3)) & (ds.field("my_field") == 'some_key')).to_pandas()

File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/_dataset.pyx:332, in pyarrow._dataset.Dataset.to_table()
File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/_dataset.pyx:2661, in pyarrow._dataset.Scanner.to_table()
File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/error.pxi:144, in pyarrow.lib.pyarrow_internal_check_status()
PanicException: dispatch dropped without returning error

Sometimes the first line (thread '<unnamed>'...) is printed more than once. Sometimes I get this error instead:
...
File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/_dataset.pyx:332, in pyarrow._dataset.Dataset.to_table()
File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/_dataset.pyx:2661, in pyarrow._dataset.Scanner.to_table()
File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/error.pxi:144, in pyarrow.lib.pyarrow_internal_check_status()
File ~/.conda/envs/my_env/lib/python3.8/site-packages/pyarrow/error.pxi:115, in pyarrow.lib.check_status()
OSError: Tried reading 8369271 bytes starting at position 50076484 from file but only got 4908220

What you expected to happen:
No errors. pd.DataFrame comes back.
How to reproduce it:
Run above code.
More details:
Possibly related, running the DeltaTable(...) constructor in Jupyter notebook hangs and never returns - so I'm running in a raw python / ipython interpreter. I don't see the hang there, but I do see the above threading issues.
(delta-rs is awesome by the way. Thank you! 🙏)

Thanks for reporting this. I think I might have reproduced something similar while working on #893. I'll look into this specific example (the other one was in S3) in #912. My guess is there are some places we were panicking (calling .unwrap()) in the filesystem dispatch and we need to make sure we are handling those.

Let me know of any possible workarounds to the Jupyter hang or the ADLS threading issues (maybe same root cause.) I can file a separate issue for the Jupyter hang, if that'd be helpful. I can try to help out w/ the fix / tests too, if you point me in the right direction.

QQ @craustin - we just recently released delta-rs python 0.6.3 which includes #893, I was wondering if the same behavior is happening with the latest release?  Thanks!

Yes, we see the same behavior in v0.6.3.

Got it - thanks for the update!  Will dive into this a bit, thanks!

@craustin Quick confirmation, if you ran below
df = dataset.to_table().to_pandas()
instead of the filtered statement, the query would work as expected?
Thanks!

I get the same errors when I remove the filter. When I run df = dataset.to_table().to_pandas() I get the following error (for different filenames each time:
PyDeltaTableError: Generic MicrosoftAzure error: Error performing get request data/part-00000-caeae246-493e-46fb-9df0-724b1521604c.c000.snappy.parquet: response error "request error", after 0 retries: error sending request for url (https://stmystorageaccount.blob.core.windows.net/my-container/data/part-00000-caeae246-493e-46fb-9df0-724b1521604c.c000.snappy.parquet): dispatch task is gone: runtime dropped the dispatch task

There are ~70 transactions in the delta log - and ~50 parquet files (snappy format, from Databricks.) ~1M rows and 20 columns.

Got it, thanks for the additional info. I'll setup a larger example to see if I can repro. Any chance you can run this on a smaller dataset to see if you can get the same error in the interim?

I think it might not be size-related, but rather something wrong with threading - at least in my environment somehow. I just tried with a table w/ 1 transaction, 6 snappy parquet files, 6 rows, and 4 columns  - and I still get the same runtime dropped the dispatch task error - with one of the 6 filenames each time.

Gotcha, thanks for diving in more. Okay, let me see if I can repro your specific environment and go backwards from there.

Thanks for the additional info. Can you do me a favor and ping me on Delta Users Slack via dennyglee as I have a few more questions.
Don't worry, will update this issue with pertinent info; I just didn't want to flood it with lots of small Qs

Quick update, it appears that this may be too many open files via the Azure Rust SDK?  For example, for the above scenario, could you try using the max_open_files?
write_deltalake(table_root, df, partition_by=["x"], storage_options=storage_options, max_open_files=8)
Note, when I write this locally, the write_deltalake(table_local, df, partition_by=["x"]) works as expected.

This appears to be affecting more than just ADLSGen2, and is also affecting reading. I'm having similar issues with aws s3.
tbl = DeltaTable(table_uri).to_pyarrow_dataset().to_table()
Results in:
PyDeltaTableError: Generic S3 error: Error performing get request root_prefix/delta_table/parta=A/partb=B/part-00003-3ba999ac-4e93-4ec0-9866-2ffde6d0b0f1.c000.snappy.parquet: response error "request error", after 0 retries: error sending request for url (https://s3.us-east-1.amazonaws.com/my_bucket/root_prefix/delta_table/parta%3A/partb%3DB/part-00003-3ba999ac-4e93-4ec0-9866-2ffde6d0b0f1.c000.snappy.parquet): dispatch task is gone: runtime dropped the dispatch task
Per Denny's suggestion, I tried looking into reducing max_open_files, but this doesnt exist for the to_table function. Instead, we have fragment_readahead for files and batch_readahead for batches.
I tried two things:
dt1.to_table(fragment_readahead=1, batch_readahead=1)
This resulted in a new errors:
PyDeltaTableError: Generic S3 error: Error performing get request <file_path>/part-00082-ce112410-8fc0-4f4e-9435-220c209d7cf3.c000.snappy.parquet: response error "request error", after 0 retries: error sending request for url (https://s3.us-east-1.amazonaws.com/<file_path>/part-00082-ce112410-8fc0-4f4e-9435-220c209d7cf3.c000.snappy.parquet): connection closed before message completed
Wondering if this may just be a speed/performance issue from reducing things so low, I tried increased batch_readahead up again, but keeping fragment_readahead to 1.
dt1.to_table(fragment_readahead=1, batch_readahead=8) This resulted in me being able to succesfully read the entire table into memory.
The also appears to be affecting other dataset operations, and I get the orginal dispatch error while trying to use the deltalake -> pyarrow dataset -> duckdb interoperability. However, it seems to be rather intermittent, perhaps supporting the idea that this may be related to the number of files accessed.
Details:

python 3.8
deltalake 0.6.3
pyarrow 10.x (issue exists in 9.x but the fragment_readahead workaround is not).
Dataset is about 5gbs of snappy-compressed parquet, less than 10 columns. It uses hive partitioning and has ~100 files (Perhaps I should compact it later :) )

Let me know if this may be different enough to merit opening up a new ticket.
Thanks!

I'll be able to look at it this weekend, but if you have time to reproduce this issue and see if it fixes, that would be helpful.

Reopening to await confirmation from the affected :)

Let me know if I can help repro / test it as well, eh?!

If you could build current main and see if that fixes it, that would be awesome.

You got it! I’ll check later tonight :-)
On Thu, Nov 17, 2022 at 14:54 Robert Pack @.***> wrote:

If you could build current main and see if that fixes it, that would be
awesome.
—
Reply to this email directly, view it on GitHub
https://github.com/delta-io/delta-rs/issues/915#issuecomment-1319313896,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALBHLK3NPHWL2TVF23EEQDWI2ZS3ANCNFSM6AAAAAARXSXIWM
.
You are receiving this because you commented.Message ID:
@.***>

Ran a few of the queries that were causing errors in main very often. No dispatch errors so far! Looking great! 💯
tbl = DeltaTable(table_uri).to_pyarrow_dataset().to_table() runs as expected.
More advanced queries via duckdb and datafusion also seem to be working much better in my very small query collection

Like @PadenZach I also re-ran my repo steps and works like a charm :)

just realized that #882 likely has the same root cause, just for keeping track :)

Latest main build looks good to me. I don't see any of these "dispatch dropped" errors anymore!


Feedback from initial usage

While implementing a heating controller, I came to this missing features:

[x] easily usable crate-wide allocator to alloc block instances
[ ] some entry-point function returning T or &mut T context
[ ] this context shall then be passed to factory functions (allocator could be passed this way too)
[x] ports! macro shall accept more then just plain struct (at least field comments), i.e.:

ports! {
    #[allow(non_snake_case)]
    pub struct Params {
        /// proportional gain
        Kp: In 1 1,
        /// integrator constant
        Ki: In 1 1,
        /// derivator constant
        Kd: In 1 1,
    }
}

[x] either Shared or ports! macro generated struct shall have some fill/set function, user can write:

shared.add_ports(Ports::report());
shared.add_params(Params::report());

instead of
let ports = Ports::report();
let params = Params::report();

shared.ports[..ports.len()].copy_from_slice(ports);
shared.used_ports_len = ports.len() as u32;
shared.params[..params.len()].copy_from_slice(params);
shared.used_params_len = params.len() as u32;

[ ] maybe add support for cargo-generate? https://github.com/cargo-generate/cargo-generate

Done in 0.1.3


integration-tests » quickstart-docker failure

there seems to be an issue with how github is configure for this build:
https://jenkins.inmanta.com/job/integration-tests/job/quickstart-docker/job/master/661/console

I removed the quickstart-docker job, because this quickstart is no longer used.


Adds management command to generate enrollment codes for legacy learners

Pre-Flight checklist

[X] Testing

[X] Code is tested
[X] Changes have been manually tested

What are the relevant tickets?
Fixes #961
What's this PR do?
Adds a management command, generate_legacy_enrollment_codes, that will generate a 100% off discount code for learners that have paid for a courserun but aren't enrolled for it. (See #960.) The discount codes are:

100% off
One-time use
Associated with the specified course run
Set as a user discount (so, barring other discounts, they will autoapply when the learner attempts to purchase the course)
Formatted MM-legacy-<username>-<readable_id>
The generated codes and the email addresses for the learners they apply to are written to a CSV file.

This also adds a management command, find_paid_unenrolled_learners, which will look in the MITxOnline database for users that have purchased a courserun but aren't enrolled in it at all. This outputs in a format that can be ingested by the generate_legacy_enrollment_codes command.
How should this be manually tested?
The generate_legacy_enrollment_codes checks for the existence of the learner and the specified courserun but nothing else, so it can be tested with any learner that exists in the system.

Generate an input CSV file. The file should be in the format learner email,readable id.
Run the generate_legacy_enrollment_codes command: ./manage.py generate_legacy_enrollment_codes <learner list file> <code output file>
Check that the discount codes are created and set up correctly in Django Admin.

Once the codes are generated, a learner that doesn't have any other automatic discounts (like, for instance, financial assistance) should have the newly generated discount applied when they add the course to their cart automatically. If the learner does have another discount, the code should work to apply it manually. (Financial assistance discounts take precedence over other discounts other than ones that are manually applied.)

The code looks good to me. For find_paid_unenrolled_learners command, it works as expected.
But I got errors when running generate_legacy_enrollment_codes, It looks like some discount code is too long and there is a limit of 50 characters. After I remove a few characters in the code, it then ran fine. so we might want to expand discount_code?

@pdpinch thoughts on the generated enrollment code format? I erred on the side of more or less human readable but we could do something less so (like, say, MM-legacy-<user_id>-<courserun_id> (or something completely random or something else). Or, I can keep it as is and up the length limit on the codes; I don't recall there being a real reason for the code length to be 50 other than maybe that's how it was in MicroMasters.

@jkachel I don't think that we can provide course run key for the input file for this task, it's just a course id.

Ok - I updated in https://github.com/mitodl/mitxonline/pull/1039/commits/08edfc5c5596562efda14366b10d4cd0933a2051 to look for a matching course object as well. It'll use the first_unexpired_run to determine what courserun to use in that case (since products can't be for a course, and as such neither can discounts).

The updated code looks good to me.
I tested a couple of course IDs, and it was able to generate discount code for unexpired run for course ID.
Just need to figure out the format of the coupon code in case someone's user name is too long

We should use something less transparent, but still filterable, like: MM22-

https://github.com/mitodl/mitxonline/pull/1039/commits/ca4f92bdc673c023e6cdedc3609f5d9f003c15d0 updates the code format and adds in a check for the numeric ID mapping if the supplied course ID is an integer.


Wrong key for dropout in config file

Issue description
The dropout key in configuration file does not correspond to the expected key in models' definitions.
Current behavior
In config files (including config_default.json) and in the documentation, the key for dropout in the model parameter is dropout_rate. This key is passed to the model in training in model_params here: https://github.com/ivadomed/ivadomed/blob/bc1b543fd3df448a18b8ed87f99f18ca19af2fe7/ivadomed/training.py#L100
However, all models are expecting the key to be drop_rate.
Ex:ample here in Unet model: https://github.com/ivadomed/ivadomed/blob/bc1b543fd3df448a18b8ed87f99f18ca19af2fe7/ivadomed/models.py#L489
So dropout_rate from the config is never used and the default drop_rate of each model applies.
Expected behavior
For the models to use the correct dropout from the config files.
I see 3 options for fixing it.
Option 1:

Update all the config files in ivadomed/config with the key drop_rate instead of dropout_rate.
Update the documentation accordingly.

Option 2:

Update all the config files in ivadomed/config with the key drop_rate instead of dropout_rate (same as option 1).
Update the documentation accordingly (same as option 1).
Make a key change in config_manager.py to change dropout_rate to drop_rate, so both are supported.

Option 3:

Change the key in all models' definitions to dropout_rate.

I'm more in favor of option 1 for retrocompatibility purposes i.e. old training with the wrong key will remain the same and still be wrong if the training is run again.
Option 2 and 3 would change the behavior of old config files.
Let me know what you think.

... shame

Marie-Helene Bourget, aka Oeil de Lynx :-)
Anyway.. in other words: good catch and thank you!
I do like Option 1 too, but drop_rate is not very intuitive.. I do prefer dropout_rate.
 Option 2 and 3 would change the behavior of old config files.

I understand for Option 3, but not sure for Option 2: Why would Option 2 change the behavior of old config files? Can you help me with this one?

I understand for Option 3, but not sure for Option 2: Why would Option 2 change the behavior of old config files? Can you help me with this one?

In Option 2, dropout_rate would be changed to drop_rate by the config manager, similar to previous keys that changed (ex: log_directory --> path_output here: https://github.com/ivadomed/ivadomed/blob/959b54d7f0094479b64182a7a386978d0147618e/ivadomed/config_manager.py#L69-L93
In this scenario, both drop_rate and dropout_rate would end up in the drop_rate argument of the models. So an "old" model where the dropout_rate was NOT applied (because of the wrong key), would now be applied.

As discussed in meeting, I'll fix the issue with Option 3 as we prefer to keep only 1 key, dropout_rate is a better name than drop_rate, and retrocompatibility of old config files is not an issue.


Can't disable Never expire option

I've skimmed trough the issues but I don't seem to find anything related.
Is there a way to disable the Never expire option?
Thanks in advance.

The expiring options are not configurable.
We are thinking about moving from a python configuration file to a toml one, and change a bit how conf is done in general. Being able to change the expiring options is probably our number one request (well, number 2 if you count publish an up to date doc).
So I'll close the ticket, but we are not closing the door to this.


fix: Bedrock support

Fixes https://github.com/VinciGit00/Scrapegraph-ai/issues/226
Example: https://gist.github.com/JGalego/67a3db0005f5ed052224e549e8ee627c

Superseded by https://github.com/VinciGit00/Scrapegraph-ai/pull/228


Energy/power sensor is unknown

The problem
I have gotten the Easee integration to work really well, and I am able to charge and monitor lifetime energy usage.
But one of the sensor which is showing the actual power draw is "Unknown" in HA, even when it is charging.
Why is that?
Version of Easee integration having the issue?
2023.4.6
Version of Home Assistant Core having the issue?
2023.4.6
Anything in the logs that might be useful for us?
No response
Additional information
No response

I don't know :)
I take it you mean that the sensor is available, but the value is unknown?
Can you see any error or warning messages in the logs related to Easee?

Well it has been like that since I installed the integration.
I thought it was because it wasn't charging, but even when charging, it does not change.
I have enabled debug logging in the HA ui and added the logging line to my configuration.yaml - but how can I share the log?

You can send the log file to me at olal (a) plea.se if you want to send the complete file.

I might have found some of the log that might cause the error (by searching for pyeasee in the home-assistant.log):
Traceback (most recent call last):   File "/config/custom_components/easee/controller.py", line 651, in refresh_sites_state     await charger_data.async_refresh()   File "/config/custom_components/easee/controller.py", line 185, in async_refresh     observations = await self.product.get_observations(*self.poll_observations)   File "/usr/local/lib/python3.10/site-packages/pyeasee/charger.py", line 197, in get_observations     return await (await self.easee.get(f"/state/{self.id}/observations?ids={observation_ids}", base=1)).json()   **File "/usr/local/lib/python3.10/site-packages/pyeasee/easee.py", line 131, in get     response = await self.session.get(f"{self.base[base]}{url}", headers=self.headers, **kwargs)**   File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request     conn = await self._connector.connect(   File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect     proto = await self._create_connection(req, traces, timeout)   File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection     _, proto = await self._create_direct_connection(req, traces, timeout)   File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection     raise ClientConnectorError(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.easee.com:443 ssl:default [Try again] 2023-05-24 04:02:08.410 WARNING (SyncWorker_1) [urllib3.connectionpool] Retrying (Retry(total=2, connect=None, read=False, redirect=None, status=3)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f41cdd5d0>: Failed to establish a new connection: [Errno -3] Try again')': /v1/me/player?additional_types=episode 2023-05-24 04:02:08.673 WARNING (MainThread) [homeassistant.components.camera] Updating xiaomi_cloud_map_extractor camera took longer than the scheduled update interval 0:00:05 2023-05-24 04:02:13.391 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.spotify_jakob_schou is taking over 10 seconds 2023-05-24 04:02:14.023 WARNING (SyncWorker_1) [urllib3.connectionpool] Retrying (Retry(total=1, connect=None, read=False, redirect=None, status=3)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f6b3d0e50>: Failed to establish a new connection: [Errno -3] Try again')': /v1/me/player?additional_types=episode 2023-05-24 04:02:18.675 WARNING (MainThread) [homeassistant.components.camera] Updating xiaomi_cloud_map_extractor camera took longer than the scheduled update interval 0:00:05 2023-05-24 04:02:20.235 WARNING (SyncWorker_1) [urllib3.connectionpool] Retrying (Retry(total=0, connect=None, read=False, redirect=None, status=3)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f423bebc0>: Failed to establish a new connection: [Errno -3] Try again')': /v1/me/player?additional_types=episode 2023-05-24 04:02:26.455 WARNING (Thread-4 (_listen)) [homeconnect.sseclient] Exception while reading event:  Traceback (most recent call last):   File "/usr/local/lib/python3.10/site-packages/homeconnect/sseclient.py", line 81, in __next__     next_chunk = next(self.resp_iterator) StopIteration

Well, this indicates that the api server does not respond when the initial polling of states happens.
But this is only done at startup. After that data is streamed over a SignalR.
If the initial poll does not work, it just means that sensors will have unknown state until there are new values available.
So if the other sensors are updating, I doubt that this is the main issue.
Did you enable the debug logging for the Easee component? Because I am not seeing any printouts from it here, this is just what python by default outputs when things go wrong.
Are you using v0.9.52?


[Backend Issue]: No Login/SignUp backend logic

🛠 Backend Issue
Description
I saw there is no proper backend for signup and login. I would like to contribute to this. Assign me on this under GSSOC'24 extd and hacktoberfest'24. I am a mern stack web developer. I will be using proper and professional backend setup.

Yes

good issue please go ahead and try to complete it asap @tarunkumar2005

@dhairyagothi Can i talk to you i need to confirm some things related to the backend logic. reply ASP how can i connect with you or contact you.

@dhairyagothi Can i talk to you i need to confirm some things related to the backend logic. reply ASP how can i connect with you or contact you.

sure connect with me on LinkedIn or discord
https://www.linkedin.com/in/dhairya-gothi/


Refactor focus outline

This PR adjusts the focus outline on a number of form elements, according to the mockups provided in #11.
Screenshot of buttons in focus on different backgrounds (couldn't be bothered to switch text colors for all examples, but you get the gist of it):

Screenshot of other form elements with the updated focus outline:

Fixes #11

Coverage remained the same at 80.521% when pulling f4b66a8eb9ece021bf452cbd218c68560849d206 on refactor-focus-outline into 5a8daf4eb18c1d83c088152c06f95bc07cbd4ef9 on develop.

Based on Adis mockups, the color of the focus outline is lighter..See screenshot.
 If I remove the transparency the focus outline appears a bit darker. Should we update the color while we're at it? @adidick What color is the outline in your mockups?
Here's how it would look without the transparency:

Looks good and seems to work well on all types of backgrounds.
@antidecaf
The focus colour I've used in the mockups is: #A1DFFF
That probably means we should update @ffe-blue-focus to that as well (instead of #44C0FF as it is now).


[FLINK-13430][build] Configure sending travis build notifications to<EMAIL_ADDRESS>

What is the purpose of the change
Send travis build notifications the<EMAIL_ADDRESS>mailing list.
Brief change log
Integrate builds mailing list to the travis yaml according to the travis doc.
Verifying this change
This change is trivial without any test coverage.
Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

I setup a CRON job on my testing branch to test the email setting: https://travis-ci.org/wuchong/flink/builds/563609665

how can we prevent this from sending notifications for contributor repositories?

That's a good question @zentol . How do we handle this for slack channel?

@zentol @wuchong Sending notifications for contributor repositories as well seems not be useless as it looks like.
I could receives build notifications from my own Flink repository and public Flink repository by
subscribe builds mail-list and custom my own email forwarding rules.
Otherwise, I may need custom travis config in my own repository.

@wuchong the slack channel credentials are bound to the repository, and are simply invalid in all other repositories.
Having all contributor builds in<EMAIL_ADDRESS>just turns it into a massive spam fest, with the majority of builds not being relevant to the majority of subscribers.

Could you try this instead and check whether there still are notifications for contributor forks?
  email:
    recipients:
        secure: Tnf61eG2XC4uH9VOS2FnmDZVKMQqoXxQh1tPBuj7wcXCxSBtRKZtwrLHeQYDaH+cdDvy4rgzInKxq0imUyVnZ3vl3eTJyCtUW33RanUN8g4zZANy1nj9NbyhE7U8MCkIOMEuIkqGrI1XfFU0k+OMKaeLlUWtNUkBxeZVueL0iP0=
    on_success: change
    on_pull_requests: false

Thanks @zentol , I will try that.

Could you try this instead and check whether there still are notifications for contributor forks?
(and check whether it still works for apache/flink by pushing this PR into a temporary branch)
  email:
    recipients:
        secure: Tnf61eG2XC4uH9VOS2FnmDZVKMQqoXxQh1tPBuj7wcXCxSBtRKZtwrLHeQYDaH+cdDvy4rgzInKxq0imUyVnZ3vl3eTJyCtUW33RanUN8g4zZANy1nj9NbyhE7U8MCkIOMEuIkqGrI1XfFU0k+OMKaeLlUWtNUkBxeZVueL0iP0=
    on_success: change
    on_pull_requests: false

Good news! The secure works. The fail notification from my branch wuchong/flink:builds is sent to my own mail address.  And the notification from apache/flink:builds-test is sent to<EMAIL_ADDRESS>

Well that sounds perfect then, +1.

Well that sounds perfect then, +1.

However, we still need to figure out how to accept builds emails. Currently, all notification from<EMAIL_ADDRESS>are rejected.

@wuchong see https://apache.org/dev/committers.html#mail-moderate

Yes @zentol . I have read it and tried to reply -accept and -allow address. But it still doesn't work.

I checked the<EMAIL_ADDRESS>has already been in the subscriber list and allow list.

@wuchong Could you reach out to INFRA on what the problem might be? As far as I can tell we should've setup everything correctly.

Thanks for the advice @zentol , I have created an INFRA issue INFRA-18843.

Hi @zentol , the INFRA guys have figured out the problem and the<EMAIL_ADDRESS>works now. I removed the fast-fail commit.
I think it's ready to be merged now.
Cheers,
Jark

+1 from my side.

I would like to hold this PR a bit moment @zentol . Because I find it will lose the notification to my own email address for the branches in my own repo.
After reading the Travis documentation, I think we will also lose the build notification to the committer who pushed the commit, which I think is important.

I had hoped this wouldn't apply to contributor builds since the mail was encrypted...
oh well, back to the drawing board instead. I guess we'll have to setup some kind of proxying over slack or similar for this to work then.

Hi @zentol , I have setup a webhook to receive travis' notifications and generate a email and send to mailing list.
All the things looks good (send to my own email address), I will test on the mailing list then.

@wuchong awesome, looking forward to seeing this in action. Once the mail passes through moderation and retains the formatting when posted on<EMAIL_ADDRESS>feel free to merge this.
Can you expand on how you setup the webhook? Just to ensure we can set this up elsewhere if anything happens to your setup.

@zentol , Sure, here is the source code: https://github.com/wuchong/flink-notification-bot
I deployed it in my VM.

Once it is done. I can contribute it to, e.g., https://github.com/flinkbot

Progress Update:
The mailing list doesn't accept "text/html" context type. So I send a request to the INFRA to enable html the builds.  NFRA-18918

The HTML is enabled. And I tested several emails and looks good now. I will merge this then.


Studying users

Ruby stdlib, mostly utils, same name to make easy of finding(think filter and find_all).
Java builder pattern. Lambda in Python is bad. Lambda with context in Kotlin.
Ruby is great for DSLs, common lib in DSLs.
Python is like ruby, but worse. Import system in Python is better than Ruby, Ruby recursively imports everything(reminds me of OCaml). Import system in Ruby, no LSP for imports. Auto import in Rails.
Don't mind Python syntax, don't mind whitespace sensitivity.
Operator overloaded in Ruby.
Type system in Kotlin, null safety. Kotlin constraints. Kotling DSLs, use case similar to Ruby but different to define, json { blablabla }, related to lambda with context.
It should be elegant and it should be fast.
Kotlin auto setting. Kotlin data class.

Database split domain from database data. Like the model data mapper, automatic data mapping. Hanami framework.
JPA create magic queries based on the name of the function(find_all_record), magic is interesting but kind of bizarre.
Like an intermediary between Rails and Sinatra, mix and matching such as different ORM and logs.
Played a bit with Haskell in the APDA, Hackerrank using Haskell, got some of the vibe from Haskell.

I need to do more of those


[EmbeddingAPI] Update usecase for API isFirstAttempt

-Update usecase for API isFirstAttempt as part of public XWalkHttpAuthHandler
-Cover the XWalkActivity and XWalkInitializer two ways
Impacted tests(approved): new 0, update 2, delete 0
Unit test platform: [Android]
Unit test result summary: pass 2, fail 0, block 0
BUG=https://crosswalk-project.org/jira/browse/XWALK-6609

@Shao-Feng please help to review.


Fixed "Ram Available" value in GetRamUsage()

Regarding issue #12
The value is now correct, the "Ram Available" displays free RAM instead of used

Good catch @S-Maciejewski !


Add requireCtrlKey & requireMultiTouch props

https://github.com/ValentinH/react-easy-crop/issues/356

This could be achieved by listening for onTouchMove & onWheel event on the parent so I'm not really sure if it's needed 😅

I gave this a second thought and I think I found a way that combines your approach and my requirements of providing an event to build custom UI upon.
Instead of using boolean options, I would use directly 2 callbacks:
  onDragRequest: (
    e: React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement>
  ) => boolean
  onWheelRequest: (e: WheelEvent) => boolean

The first one being called on mouse down:
  onMouseDown = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
    if (!this.props.onDragRequest(e)) {
      return
    }
    e.preventDefault()
    document.addEventListener('mousemove', this.onMouseMove)
    document.addEventListener('mouseup', this.onDragStopped)
    this.onDragStart(Cropper.getMousePoint(e))
  }

and on touch start:
  onTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {
    if (e.touches.length === 2) {
      this.onPinchStart(e)
    } else if (e.touches.length === 1) {
      if (!this.props.onDragRequest(e)) {
        return
      }
      this.onDragStart(Cropper.getTouchPoint(e.touches[0]))
    }
    document.addEventListener('touchmove', this.onTouchMove, { passive: false }) // iOS 11 now defaults to passive: true
    document.addEventListener('touchend', this.onDragStopped)
  }

and the second one on wheel:
  onWheel = (e: WheelEvent) => {
    if (!this.props.onWheelRequest(e)) {
      return
    }

    e.preventDefault()
   // rest of the logic
  }

Here how it would be used:

What do you think about this approach?

If you want it to be more flexible then I'd move onDragRequest higher inside onTouchStart so that you can prevent also in other scenarios. My approach was more strict but I wanted to make it work as on Maps.
  onTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {
    if (this.props.onDragRequest && !this.props.onDragRequest(e)) {
      return
    }
    if (e.touches.length === 2) {
      this.onPinchStart(e)
    } else if (e.touches.length === 1) {
      this.onDragStart(Cropper.getTouchPoint(e.touches[0]))
    }
    ...
  }

I get your point but then the name doesn't really match anymore : onDragRequest while it also called for pinch gestures. 🤔
What do you think?

Yes , and we can move the part in onMouseDown for now as we don't need it for the original issue this PR is solving.
Would you like to do the changes or should I directly do it?

I created this demo: https://codesandbox.io/s/react-easy-crop-scroll-demo-fp21qd?file=/src/Crop.js

@all-contributors please add @MatixYo  for code

@all-contributors please add @MatixYo  for code


feat(swc): support fetch.macro  swc

Todos

[x] dev shells with nix - see shell. nix at this branch
[ ] re-implement fetch.macro.js in swc/src/lib.rs
[ ] github-actions support for rust project "./swc"

The swc support was following pveyes/raw.macro project structures.
Thanks to @pveyes

Codecov Report

Merging #8 (4864d12) into main (25abb01) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 4864d12 differs from pull request most recent head 21897a7. Consider uploading reports for the commit 21897a7 to get more accurate results

@@            Coverage Diff            @@
##              main        #8   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         2    -1
  Lines           40        30   -10
  Branches         5         4    -1
=========================================
- Hits            40        30   -10

Impacted Files
Coverage Δ

src/fetch.macro.js
100.00% <0.00%> (ø)

tests/test-cases.js

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Error in lesson: Basic JavaScript - Manipulate Arrays With shift()

Describe your problem and - if possible - how to reproduce it
When running this program the example array, "removedFromOurArray" on line 3 isn't declared so it gives the error, "removedFromOurArray is not defined". This happens even if the individual practicing got the lesson correct.
Add a Link to the page with the problem
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift
Tell us about your browser and operating system

Browser Name: Google Chrome
Browser Version: 66.0.3359.181 (Official Build) (64-bit)
Operating System: Windows 10

If possible, add a screenshot here

the issue is here on line 3, the variable provided in the lesson template is not declared with var.
@OrionYEC to pass the lesson in the meanwhile, please add the var keyword to line 3 in the editor. Thank you for reporting this issue.

Hi @OrionYEC, thanks for reporting the issue. It was addressed in #17287 and the fix was already merged (https://github.com/freeCodeCamp/freeCodeCamp/pull/17239). All we can do now is to wait for the next deployment for the change to take effect.
You can use @mstellaluna 's solution to pass the challenge for now.

Thank you for reporting this issue @OrionYEC
This is a standard message notifying you that this issue appears to be very similar to issue #17287 , so I am closing it as a duplicate.
If you think I’m wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding.


Cannot use a sc.variable in a patch file to change the location of generated classes

I'm trying to use a variable defined in a dev patch file that allows the dev to specify the source root folder.  We don't use the webroot as the source root.  Unicorn let's me do this.  With Synthesis it is passed along as a string.
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <synthesis>
      <providers>
        <generatorParametersProvider type="Synthesis.Configuration.ConfigurationGeneratorParametersProvider, Synthesis">
          <ItemOutputPath>$(sourceRoot)/Website/Code/Synthesis/Synthesis.Model.Concrete.cs</ItemOutputPath>
          <InterfaceOutputPath>$(sourceRoot)/Website/Code/Synthesis/Synthesis.Model.cs</InterfaceOutputPath>
        </generatorParametersProvider>
      </providers>
    </synthesis>
  </sitecore>
</configuration>

This is caused because Sitecore does not expand variables in element bodies, only attributes.
For example,
<InterfaceOutputPath foo="$(sourceRoot)">hello</InterfaceOutputPath>
would resolve sourceRoot, whereas as you found
<InterfaceOutputPath>$(sourceRoot)\hello</InterfaceOutputPath>
will not expand. You can see expansion in the showconfig.aspx page - the variable is applied at the config provider level.
Unicorn gets it because you're injecting it on an attribute as opposed to a body.
Unfortunately without altering the configuration schema significantly and breaking backwards compatibility there is little I can do about this. It's Sitecore's rules that are being followed.
Now that said, since multiple configs are supported it would be fairly easy to alter the way the default config is registered and/or register your own config - which can expand whatever variables you like since at that point the registration is in C#.

I decided to make a workaround anyway because you're probably not the last person to run into this issue.
See https://github.com/kamsar/Synthesis/commit/d96e1143f2219f0a983dcec14c7c807e81ed8f50
Essentially you can use variables in a setting that is prepended to all configs' output paths.
This will be in the next release.

Fixed in 8.2.1


Wish list displays out of stock

A product that is in stock can be added to the wish list. If that product goes out of stock while it is in the wish list the add to cart option should not be visible but it should display "Out of stock".

PR: #5821
To test

Go to backoffice > products > search for 553637
Select product in online catalog
Go to stock > Find stock level for product
Click the search icon to the left of text box > expand search fields
Search by warehouse equal to warehouse_e
Select warehouse in the list below
Set Available Amount to 1
In Spartacus: Login > add product 553637 to wish list > go to wish list page
You should see the add to cart button
In backoffice set Available Amount to 0
In Spartacus refresh wish list page
You should see out of stock

Test successful


Feature/issue 2

Github Issue: #2
Description
Initial code to create and populate AWS DynamoDB tables for Hydrocron.
Overview of work done
Create Hyrocron_DB class with supporting methods to create tables and load SWOT hydrology shapefiles into dynamodb.
Overview of verification done
Added sample data shapefiles for testing and created unit tests for all methods. Tests pass with local installation of dynamoDB running.
Overview of integration done
Full workflow of creating table, loading shapefile data, running a test query, deleting an item, and deleting the table was run with local offline dynamodb installation.
PR checklist:

[ ] Linted
[ ] Updated unit tests
[ ] Updated changelog
[ ] Integration testing

See Pull Request Review Checklist for pointers on reviewing this pull request

@frankinspace this PR is ready for review. Could you take a look when you have some time? I don't think I have access to assign you as a reviewer.

@frankinspace all requested changes are integrated, please review again.


Hydration warnings

Using NextJS's new app directory, there are some issues with hydration coming from this package.
I believe the issues are related to the fact that <template> gets removed by supported browser runtimes, and it also gets removed manually to match that behavior.

It appears suppressHydrationWarning has changed its behavior to exclude child elements, with the React team claiming the prior behavior was a bug. So there's absolutely no way to suppress these warnings for this particular use case after upgrading React.
With as difficult as this is to work around, I'm tempted to raise the white flag and call this a bug with React. There has been some conversation around this already, and no reasonable workarounds have been suggested so far, short of changing react-dom directly.
Although the false errors are distracting and annoying, there's nothing simple I can do to prevent them. It doesn't prevent this package from working as intended, but it could certainly harm the case for adopting it.  I'll leave this issue open for now, in case I stumble upon an acceptable workaround, or an aspiring OSS contributor figures something out, or if there is any response at all from the React team about this bug.

It hurts my soul to add this to the main README.md file, but it's better than leaving it unaddressed.

https://github.com/jonathandewitt-dev/react-shadow-scope#readme

I'm closing this, because as of version 1.0.0, we now have a workaround by wrapping the app in a context provider to set the config to "emulated dsd":
<ShadowScopeConfigProvider config={{ dsd: 'emulated' }}>
  ...
</ShadowScopeConfigProvider>


teams-for-linux: 1.4.2 -> 1.4.3

https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.4.3
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

teams-for-linux


How to convert YUV to RGB?

Can you please just post a few samples how to convert YUV to RGB? (Image to bitmap)
I looked at the main activity but couldn't figure out how to use it.

YUV420-NV21 to Bitmap
val nv21Buffer = Nv21Buffer.wrap(ByteBuffer.allocateDirect(yuvdata.size).put(yuvdata), width, height)
val agbrBuffer = AbgrBuffer.allocate(width, height)
try
{
    nv21Buffer.convertTo(agbrBuffer)
    val bitmap = agbrBuffer.asBitmap()
} finally {
    nv21Buffer.close()
    agbrBuffer.close()
}

great thanks!


Some advanced options on S3 page should be dropdowns

The "s3-client" option is an enumeration with only the selected options: aws and minio.
The options "s3-storage-class" and "s3-location-constraint" are strings but have a list of common options. These options can be retrieved by calling the webmodule.

@kenkendk these fields are forwarded as configured on the backend, it dynamically consume how the backend is sending down s3-storage-class so if its an enum then just pass the enum with the options (aka ValidValues) there along with the item.

We don't currently "suggested values" but we could easily add it but i would prefer it to be part of the api so we have one source of truth

For the s3-client you are correct, the backend should provide this.
The reason why the storage-class and location-constraint values are not encoded, is because they have a dictionary of (label, value).
The options could be set to any string value chosen by the user, but the common ones are reported through the s3-config webmodule.

With the newly added dynamic field overwrites we can also add enumeration options in the frontend so both fields are now handled correctly in the frontend
If the user want to override enumerations they can override using the edit target url feature i guess thats fine?


stable/airflow: added horizontal pod autoscaler for Celery workers

Added horizontal pod autoscaler for Celery workers. Also added possibility to set "resources" for git-sync container, to be able to use hpa with pods it is attached to.
Signed-off-by: Maksym Shalak<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
Right now we are not able to scale Celery workers dynamically, which is a limitation in case we have hundreds of tasks at some point and 0 at other. Using HPA will allow Airflow to use resources better and process more tasks when required.
Which issue this PR fixes
n/a
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @gsemet

/ok-to-test

/lgtm


please make this self replicating

Can you please add a checkbox so that it automatically installts itself to every PC of my teammates and enemys.
I want to get rid of this toxic Champion during my games, so It would be great if no one can pick him.

Sorry for late response... Unfortunately that's not an option, instead... You can use https://www.github.com/ponita0/YESuo and pick yasuo yourself.
Think of it, if you picked it, no one else will


xilem_masonry: Add filter ("All", "Active", "Completed") to todomvc example

This adds the filters of TodoMVC via checkboxes currently (as we currently don't have better widgets for that...).
It also revealed (at least) 2 bugs, one being fixed by #264 and another I (or someone else) needs to investigate (difficult to describe just add a few todos, check them, and click all the filters, it should be easy to reproduce).

Nicely done, but as you point out, this PR makes these other bugs very visible. I'd rather not merge it until they are fixed, since this is our showcase. ^^

Sure, I also think this should only be merged, when it doesn't produce obvious bugs at this point :). But I think it's probably good for debugging these bugs.

(Now this weird issue can be debugged, since #264 is merged)

I ran in (I think) the same issue that you are describing, put some reproduction steps here: https://xi.zulipchat.com/#narrow/stream/354396-xilem/topic/TodoMVC.20example/near/437314215

Since #278 is merged, I've tested this again, it works now as expected

I tested this. I think this filter should be placed before the list:

This makes it so that it doesn't move around when you're using it.
I do find that it's in need of polish. You're using multi-select checkboxes as radio buttons. If we're going with multi-select, you technically don't want an All option, and instead check both options.
I don't know what level of polish we're going for this week.

I think this filter should be placed before the list:
This makes it so that it doesn't move around when you're using it.

For what it's worth, it also moves around in the examples on todomvc.com.

Yes checkboxes are not ideal indeed, these should be exchanged with the right widgets, when they're implemented.
I'm not sure how much we're striving towards the original TodoMVC.

I've been looking through our PR backlog, and I'd be interested in merging this, if everything works correctly after a rebase.
I'm fine having checkboxes masquerade as combo buttons for now, as long as we track it in an issue. We can add a big ugly "TODO - replace with combo buttons" comment to the example.

I've rebased it (+ added comment), and well it revealed yet another new bug^^ (this example seems to be a quite good test as well)
To reproduce:
Press "Active" and then
"Buy milk"

Hmm, so the behaviour we see is that the checkbox "thinks" it is clicked, but without sending an action.
That's very strange

I rebased this again, to check whether that issue resolved itself - not the case.
I've found another issue (that is actually the issue for the other one as well):
It's possible to toggle the checkboxes, whereas I'd expect, that these should behave more like radio-buttons, since they should be driven by xilem.
So the issue is related to two-way dataflow and non-keyed widgets/viewsequences. I.e. masonry modifies the checkbox value while it shouldn't do it (at least in this case).
This opens the broader question about two-way/unidirectional dataflow/state again.
I think this is an example, that two-way dataflow can be a pitfall for declarative frameworks on top of masonry. I think it would be great to find a general clean solution for this issue (something like opt-in control of the state in masonry, as in this case).
I've pushed a "fix"/workaround, which should make this work as expected.

This seems like a very "brute force" solution to the two-way dataflow problem, buuuuut nobody has a better idea, so we may as well ship it.


Close to system tray option

Spotify on windows will minimize itself rather than closing when you hit the close button. I think it would be better if psst had an option to close to a system tray icon rather than closing outright. This would more closely match and imho exceed spotify's behavior

Good idea!


v2.0.2 planning

I released v2.0.1 today, but several important fixes have been already merged for v2.0.2:
https://github.com/containerd/nerdctl/milestone/46?closed=1

Will make a release after merging:

https://github.com/containerd/nerdctl/pull/3746

https://github.com/containerd/nerdctl/releases/tag/v2.0.2


Dag and Steps unsual behaviour for loop with withParams

Checklist

[x ] Double-checked my configuration.
[x ] Tested using the latest version.
[x ] Used the Emissary executor. (:latest)

Summary
What happened/what you expected to happen?
The behavior of a workflow with DAG and STEPS is different in loops with withParam
What version are you running?
argo version
argo: v3.3.5
BuildDate: 2022-05-04T00:58:31Z
GitCommit: eefc60b155c4011a3706d2e3cba90f099ee93b39
GitTreeState: clean
GitTag: v3.3.5
GoVersion: go1.17.9
Compiler: gc
Platform: linux/amd64
Kubernetes Version
Client Version: v1.24.0
Kustomize Version: v4.5.4
Server Version: v1.23.6
Diagnostics
With a DAG Workflow
# This workflow demonstrates the use of a generator step which produces a list of items as a result.
# This list is subsequently used for expanding the next step into multiple parallel steps.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: loops-param-result-
spec:
  entrypoint: loop-param-result-example
  templates:
  - name: loop-param-result-example
    dag:
      tasks:
      - name: generate
        template: gen-number-list
      - name: sleep
        template: sleep-n-sec
        withParam: "{{tasks.generate.outputs.parameters.values}}"
        arguments:
          parameters:
          - name: seconds
            value: "{{item}}"
  - name: gen-number-list
    outputs:
      parameters:
      - name: values
        valueFrom:
          path: /tmp/values.txt
    script:
      image: python:alpine3.6
      command: [python]
      source: |
        import json
        import sys
        values=['{0}'.format(i) for i in range(20, 31)]
        json.dump(values,sys.stdout)
        f=open('/tmp/values.txt', 'w')
        json.dump(values, f)
        f.close()
  - name: sleep-n-sec
    inputs:
      parameters:
      - name: seconds
    container:
      image: alpine:latest
      command: [sh, -c]
      args: ["echo value in seconds :{{inputs.parameters.seconds}}"]

The logs are:
Name:                loops-param-result-7kt7b
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Error
Conditions:
 PodRunning          False
 Completed           True
Created:             Tue Jun 21 15:01:56 +0000 (17 seconds ago)
Started:             Tue Jun 21 15:01:56 +0000 (17 seconds ago)
Finished:            Tue Jun 21 15:02:06 +0000 (7 seconds ago)
Duration:            10 seconds
Progress:            1/1
ResourcesDuration:   4s*(1 cpu),2s*(100Mi memory)

STEP                         TEMPLATE                   PODNAME                                              DURATION  MESSAGE
 ⚠ loops-param-result-7kt7b  loop-param-result-example
 ├─✔ generate                gen-number-list            loops-param-result-7kt7b-gen-number-list-1492933679  6s
 └─⚠ sleep                   sleep-n-sec                                                                               withParam value could not be parsed as a JSON list: {{tasks.generate.outputs.parameters.values}}: invalid character '{' looking for beginning of object key string

Workflow with a  STEPS
However with the following STEPS workflow :
# This workflow demonstrates the use of a generator step which produces a list of items as a result.
# This list is subsequently used for expanding the next step into multiple parallel steps.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: loops-param-result-
spec:
  entrypoint: loop-param-result-example
  templates:
  - name: loop-param-result-example
    steps:
    - - name: generate
        template: gen-number-list
    - - name: sleep
        template: sleep-n-sec
        withParam: "{{steps.generate.outputs.parameters.values}}"
        arguments:
          parameters:
          - name: seconds
            value: "{{item}}"
  - name: gen-number-list
    outputs:
      parameters:
      - name: values
        valueFrom:
          path: /tmp/values.txt
    script:
      image: python:alpine3.6
      command: [python]
      source: |
        import json
        import sys
        values=['{0}'.format(i) for i in range(20, 31)]
        json.dump(values,sys.stdout)
        f=open('/tmp/values.txt', 'w')
        json.dump(values, f)
        f.close()

  - name: sleep-n-sec
    inputs:
      parameters:
      - name: seconds
    container:
      image: alpine:latest
      command: [sh, -c]
      args: ["echo value in seconds :{{inputs.parameters.seconds}}"]

Name:                loops-param-result-nxjq8
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Running
Conditions:
 PodRunning          False
Created:             Tue Jun 21 14:56:11 +0000 (25 seconds ago)
Started:             Tue Jun 21 14:56:11 +0000 (25 seconds ago)
Duration:            25 seconds
Progress:            1/12
ResourcesDuration:   3s*(1 cpu),2s*(100Mi memory)

STEP                         TEMPLATE                   PODNAME                                              DURATION  MESSAGE
 ● loops-param-result-nxjq8  loop-param-result-example
 ├───✔ generate              gen-number-list            loops-param-result-nxjq8-gen-number-list-1492933679  5s
 └─┬─◷ sleep(0:20)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-3410121937      15s       PodInitializing
   ├─◷ sleep(1:21)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-1843571807      15s       PodInitializing
   ├─◷ sleep(2:22)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-3326085877      15s       PodInitializing
   ├─◷ sleep(3:23)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-413280631       15s       PodInitializing
   ├─◷ sleep(4:24)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-2596170073      14s       PodInitializing
   ├─◷ sleep(5:25)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-1631419543      14s       PodInitializing
   ├─◷ sleep(6:26)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-593953141       14s       PodInitializing
   ├─◷ sleep(7:27)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-753577647       14s       PodInitializing
   ├─◷ sleep(8:28)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-2918238593      14s       PodInitializing
   ├─◷ sleep(9:29)           sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-1351688463      14s       PodInitializing
   └─◷ sleep(10:30)          sleep-n-sec                loops-param-result-nxjq8-sleep-n-sec-3476527655      13s       PodInitializing

Everything seems to work as expected

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

Actually there is a way to remove the "unsual" this behaviour, by adding a dependency over between the steps on the DAG. In the DAG configuration the values in withParams ARE not evaluated before.