Add RSSTextures16K

Fixes #7699.

Running NetKAN for NetKAN/RSSTextures16K.netkan
106539 [1] FATAL CKAN.NetKAN.Program (null) - https://spacedock.info/mod/1357/VaNnadin's 16K RSS texture pack/download/1.2.1 is not a valid ZIP file: Wrong Central Directory signature
Build step 'Execute shell' marked build as failure

#rebuild

Hmm, same error on GitHub:
Running NetKAN for NetKAN/RSSTextures16K.netkan
199781 [1] FATAL CKAN.NetKAN.Program (null) - https://github.com/Vannadin/VaNnadin-s-16K-RSS-texture-pack/releases/download/2.2.1/VaNnadin_16K_RSS_texture_2.2.1.zip is not a valid ZIP file: Wrong Central Directory signature
Build step 'Execute shell' marked build as failure

As far as I can tell, that error is incorrect and the ZIP is fine. The "Central Directory signature" potentially means one of two things in a ZIP file (probably the first one):

Central directory file header signature = 0x02014b50
End of central directory signature = 0x06054b50

Both of these are present and correct in this ZIP when inspecting with a hex editor.
Another team has had this same error for no reason when using ICSharpCode.SharpZipLib:

https://sourceforge.net/p/ikvm/mailman/message/35481537/

At this point I don't know what our path forward should be.

how's it going? can you tell me what's the problem exactly?

How was the zip created? Adherence to the zip format varies widely between implementations.

How was the zip created? Adherence to the zip format varies widely between implementations.
I used a program called "bandizip".
https://en.bandisoft.com/
there are several options about compress so you might be able to check it.

there are several options about compress so you might be able to check it.

I don't run windows or mac, so it's been a while since I've used a zip application that wasn't either on the cli or built into the desktop! I haven't ever heard of bandisoft, might be worth trying 7zip (just make sure to set the zip compression type) as it's a pretty popular open source utility - https://www.7-zip.org/

roger. btw bandizip is a well known tool in Korea. not the most famous but I like it cuz of its speed and many additional functions.
I didn't know that it has this kind of problem. I'll reupload file using 7z

roger. btw bandizip is a well known tool in Korea. not the most famous but I like it cuz of its speed and many additional functions.
I didn't know that it has this kind of problem. I'll reupload file using 7z

Neat. I figured it was just because I didn't use windows much :smile: 7zip likes to use it's own format, so make your you select 'zip'. The poor zip library has enough troubles with the format it's designed for!

#rebuild

sorry for the late. I had so many things in real life..
https://github.com/Vannadin/VaNnadin-s-16K-RSS-texture-pack/releases/tag/2.2.2
this is 7z compressed version. please check it.

#rebuild

I think it worked that time!


Revamp Google Chrome & Firefox Extension

Introduction
Revamp the google chrome extension.
We can remove its dependency over google slides add-on(which is not available). By using google apis for slide and token based oauth 2.0.
By this we can make that user friendly.
Tasks list

[x] UI Design Design Here
[x] Convert to manifest v3. As support of manifest v2 going to removed in 2023
[x] OAuth 2.0 Implicit Token Based Authorization
[x] Implementation of  API for Insert Image and add hyperlink to it
[x] UI Implement
[x] Integrate UI

Are you working on this issue ?
Yes

Can u please assign me this issue i can resolve this issue

Can u please assign me this issue i can resolve this issue

It's already resolved. I have created PR ans waiting for the reply. If you want to more on that, you can check that out obviously


Can't add repo  https://github.com/Limych/hassio-addons

Running clean install of 2021.4.3 Home Assistant.
-->
Version of the add-on
-->
Add version number here.
Configuration

Add your configs here.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
If applicable, describe the steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Debug log

Add your logs here.

Additional context
Add any other context about the problem here.

Sorry for being vague.  Are you able to fix the code in the repo? It worked in the older version of Home Assistant, can't remember which, but since I did a clean install, it won't add it. Just blanks out. Never restored from a snapshot. I attached a video clip.
https://user-images.githubusercontent.com/62868926/114325098-2e4d3e80-9ae3-11eb-85f9-45a39a040c2c.mp4


Fix crash that occurs when loading a save file in certain condition

In previous versions of the plugin, the game would crash upon loading a save file that was created without KC_MoveRouteTF present

This commit history is borked


add weather and geo webclient for current and forecast weather, also …

…add tests, but still need to test WeatherHandler and webclients.
Describe your changes
Issue ticket number and link
closes https://github.com/MocStepan/STIN-semestral-project/issues/41
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.

Codecov Report
Attention: Patch coverage is 65.29851% with 93 lines in your changes are missing coverage. Please review.

Project coverage is 74.61%. Comparing base (3c7db21) to head (58abd51).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main      #43      +/-   ##
============================================
- Coverage     78.64%   74.61%   -4.04%
- Complexity       83      133      +50
============================================
  Files            36       47      +11
  Lines           412      642     +230
  Branches         14       38      +24
============================================
+ Hits            324      479     +155
- Misses           82      154      +72
- Partials          6        9       +3

Flag
Coverage Δ

backend
74.00% <65.29%> (-4.99%)
:arrow_down:

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

Files
Coverage Δ

.../backend/auth/base/config/SecurityConfiguration.kt
59.57% <100.00%> (+1.79%)
:arrow_up:

...kend/auth/base/service/CustomUserDetailsService.kt
90.90% <ø> (ø)

.../tul/backend/auth/controller/AuthUserController.kt
100.00% <100.00%> (ø)

...c/main/kotlin/com/tul/backend/auth/dto/LoginDTO.kt
100.00% <100.00%> (ø)

...ain/kotlin/com/tul/backend/auth/entity/AuthUser.kt
100.00% <100.00%> (ø)

...in/com/tul/backend/auth/service/AuthUserService.kt
100.00% <100.00%> (ø)

.../tul/backend/auth/service/AuthenticationHandler.kt
100.00% <ø> (ø)

...ckend/shared/jackson/TrimmingStringDeserializer.kt
100.00% <ø> (ø)

...ul/backend/weather/controller/WeatherController.kt
100.00% <100.00%> (+100.00%)
:arrow_up:

.../com/tul/backend/weather/dto/ForecastWeatherDTO.kt
100.00% <100.00%> (ø)

... and 20 more

... and 1 file with indirect coverage changes


Once logged in it should have email address

Once a user is logged in, it should no longer say user name but should have the actual user's email address.

Resolved in previous PR.


Historical replace_landsurface.py python interpreter

The replace_landsurface.py scripts currently uses a python interpreter in hh5
https://github.com/ACCESS-NRI/access-esm1.5-configs/blob/def5a8a19787cbd5bed9802b3aa8d33f30013551/scripts/update_landuse.py#L1
If changed to #!/usr/bin/env python3, it currently runs into errors when run as a user-script on payu as it defaults to /bin/python3 - https://github.com/payu-org/payu/issues/490
A temporary workaround until the above in fixed in payu, could be to use payu/1.1.4's python interpreter which has access to mule and xarray, so it'll be #!/g/data/vk83/apps/payu/1.1.4/bin/python3

Another workaround is to use the existing environment variable $PAYU_PATH which is the directory that contains the payu install. So call $PAYU_PATH/python3 scripts/update_landuse.py  in scripts/update_landuse_driver.sh


Is it possible to create module in two different folder?

I want to create a module in two different folders one in default Modules folder and another in theme folder.

why? what's the point?

I want to create theme module outside of module folder.

I dont think that is possible right now

It isn't indeed, and doubt it would be something worth support at this time.


Thanks! And Some Small Bugs/Suggestions

First of all, just wanted to say thank you for making this! My global game jam team was looking for a dialogue tree option that generated JSON and didn't lock us into an entire ecosystem, found Equinox Dialogue, and we ended up making our whole game with it- https://hobg0blin.github.io/the-tower/. Really impressed with it, and credited the project on our Global Game Jam page (https://globalgamejam.org/2023/games/tower-8)
This is obviously a smaller personal project, so I don't expect you to resolve these issues, and if I have time I might even try to take them on myself in the future - I just wanted to let you know that people are using this and appreciate you making it.
That said, if you do end up building on this project more, a few things we did have trouble with:
Bugs
When running the dev server, if you load a previous .dlg.src file, it doesn't seem to save changes to nodes that already exist in the loaded file - we ended up having to delete some nodes and rewrite them when we changed them.
We also ran into some recurring issues with jump nodes failing to save their "jump_to" node id.
Sometimes it seems to get stuck and unable to drag - clicking out of the browser tab or clicking one of the menu buttons fixes it.
Suggestions
I would suggest adding the ability to "save as" so you can name files, instead of automatically naming it untitled.dlg.src.
Exporting: would be great to have the option to just export to JSON (for folks like us who are using it outside of the broader Equinox project), so we don't have to manually rename files to .json
Zoom & drag: being able to zoom out further would be great -- we ended up with some pretty giant dialogue trees.
Desktop (please complete the following information):

OS: Ubuntu Linux
Browser: Firefox
Version: 109.0

Again, thanks so much for making this! Thought you'd appreciate knowing that people are finding and using your project.

Thanks for the valuable feedback, it's great that you were able to use it in a game jam! I've since moved away from using a custom game engine for my project so I'll be able to make the implementation more generic. This means moving away from the .dlg format entirely and exporting as .json by default.


[POC] Create a makefile

Context
As part of their work, the CNES + sub-contractors developers work from a basic python env. For ease of implementation some tools use a Makefile. We therefore suggest copying this method to xdem.
This requires:

[ ] that the setup.cfg and setup.py files are organized as in demcompare
[ ] reflect on the use of requirements.txt
[ ] some opencv dependencies may be missing
[ ] Copy the demcompare makefile: https://gitlab.cnes.fr/3d/demcompare/-/blob/master/Makefile
[ ] `PYTHON_VERSION_MIN fixed at 3.9
[ ] replace "demcompare" with "xdem"
[ ]  remove dependencies related to notebooks, coverage, remove pylint, docs
[ ] add xdem's pre-commits dependencies

3d estimation

Here are some remarks:

Makefile depends on several sub topics and is just a helpful wrapper for dev:

python, pip, packaging if it is ok to use python pip install as the basic for developers (and not conda/mamba).
linting #550
test pytest (coverage is linked also and why remove it ? can be useful as information)
documentation generation (i would not remove it from the list, only use the current workflow to generate docs)
ok for notebook removal for now
pre-commit to be decided (ruff on commit ? have to choose strategy)
clean and linked .gitignore is very important also: make clean must remove perfectly all dev parts to be able to start over (very useful when in a not stable place, especially for support for other dev and contribution)

Maybe add or link to adequate issues for subtopics ?
A first Makefile can be done without all sub topics and each sub topic can be added little by little to have a full dev framework
I think before Makefile, the pip install and packaging must be converged, especially the mix with mamba/conda. I find the link between requirements.txt and environment.yaml not clear and have questions for maintenance.  Ok for an another issue (or have not found one if it exists) on that ?
For a clean and a "pure" python project, it is also possible to simplify setup.py and setup.cfg and have only a pyproject.toml now.
To be discussed and be sure of the dev ways to go.
I would separate the pure python packaging with its dependencies (and not fixed one) from the dependencies from conda/mamba (and fixed one if needed to keep users stable for this installation).
Fixed dependencies can be really problematic in a mix environment with other programs with same dependencies.
My 2cts, this last part would be more in a "packaging" issue... but for now, i put it here:
requirements.txt (generated from environment.yaml, can we change that ?)
geopandas>=0.12.0  -> ok
numba==0.* -> why  == ?
numpy==1.* -> can be complex with numpy 2 now
matplotlib==3.* -> idem
pyproj>=3.4,<4 -> less than 4 can be problematic in a complex mixed environment
rasterio>=1.3,<2 > idem for rasterio
scipy>=1.0,<1.13 > idem
tqdm
scikit-image==0.* > idem
scikit-gstat>=1.0,<1.1 > idem
geoutils==0.1.8 > idem
pip -> why pip in dependency, not useful i think

Some additional points:

I see you identified the delicate OpenCV dependency @adebardo. The good news here is that it should be removed soon altogether (affine transformation is done in NumPy since #531, and ICP will be moved to NumPy soon too #483; I'm working on this in the next weeks). OpenCV is a heavy dependency to have (even if optional), which created a lot of hassle when solving environments in the past. We'll be glad to be rid of that.

Regarding your interrogations on the requirements.txt and the content of the environment file, here's the logic behind it:

For the generation of requirements.txt: It is inspired by the way Pandas deals with Pip+Conda: https://github.com/pandas-dev/pandas/blob/main/scripts/generate_pip_deps_from_conda.py. It allows to keep a consistent environment for both package managers based on a single file (environment.yml). We additionally have checks that verify that dev-environment.yml matches environment.yml. See https://github.com/GlacioHack/xdem/pull/429 for details. We did a lot of digging to ensure things were up-to-date (especially on the setuptools side), but are not experts in this. Happy to modify this if you know of other ways to keep the environment management consistent! :slightly_smiling_face:
For the pinning of major versions: We pin the least amount possible (usually there's a reason due to incompatibility or temporary bug fix going on in those packages, such as Rasterio>1.3 is incompatible; or Scipy<1.13 because of a breaking bug fix in SciKit-GStat not yet released: https://github.com/GlacioHack/xdem/issues/509). We learned recently that it is a good practice to always pin a max only for the next major version for backwards-compatibility. The reason behind this is that major versions (so just to be clear only X.0.0, neither 0.X.0 or 0.0.X) are synonym with breaking changes for nearly all packages. Pinning them is not such a big constraint on the environment because major releases are not frequent (for instance, NumPy/Pandas happen every 5-10 years, other packages every couple years), but they are crucial for long-term working of older package versions. For example, the recent NumPy 2.0 release (and Pandas 2.0 a couple years ago) broke a large part of packages in the Python ecosystem exactly because of this (no pinning of the upper version in most packages). The first thought for most packages is that "we can easily either update the code or pin the max version, and push a new release which supports it". That works for the latest release, but not for the older versions that also all depended on NumPy 1.X and break with NumPy 2.0. Their environment was not associated to any upper constraint, and might make those older versions break forever. And that would be a big problem for reproducibility (let's say a study used v1.5 of our package but NumPy 2.0 came out and we updated for it only in 1.6, then all versions before 1.5 are now gone for the users if we did not pin for that package; or at least can't be solved directly without breaking).

There a nice article explaining the pinning of max versions here: https://iscinumpy.dev/post/bound-version-constraints/. It especially insist about the negative effects of pinning max versions in general, but does specify an exception for major releases, or in general releases likely to trigger breaking changes: "Only add a cap if a dependency is known to be incompatible or there is a high (>75%) chance of it being incompatible in its next release". And there's another blog post explaining this in relation to NumPy 2.0 (and how to upgrade code with Ruff): https://pythonspeed.com/articles/numpy-2/.


Update Pages “about”

Automatically generated by Netlify CMS

👷 Deploy Preview for safehavenaccounting processing.

Name
Link

🔨 Latest commit
f8d13d54667a251ba180e799e6e63268937f789e

🔍 Latest deploy log
https://app.netlify.com/sites/safehavenaccounting/deploys/6492521192e1150008132a61


SRO race getting Dexterity bonus instead of Strength

In Races compendium, there is two SRO races available, SRO and SRO (small).
I suppose that SRO should receive the strength bonus, but it is getting the dexterity bonus.
I also noticed that the size is incorrect too, for the default SRO the size should be medium.

Submitted PR correcting all playable races from all books. This issue is resolved.


Controller should not return a payload for created and deleted entities

Description

Related issue and scope

[x] I opened an issue to propose and discuss this change (#3274)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[ ] I signed an Apache CLA.
[ ] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Isn't this a breaking change to the api?

Isn't this a breaking change to the api?

@bdoyle0182 Yes, it is a breaking change to the API. Please help me identify the areas which need to be fixed too along with this change.


raspberrypiWirelessFirmware: 2019-08-16 -> 2020-12-01

Motivation for this change
NOTE: no tests run b/c I don't have a raspberry pi available for testing currently w/ NixOS. Found this out of date while looking around the repository.
Things done

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

[ ] NixOS
[ ] macOS
[x] other Linux distributions

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

Closing this in favor of upcoming PR that upgrades a lot of the raspberry pi-specific packages together, with testing. Will link that here when it's ready.


viur-session user keys are mistakenly handled as repr() values

It seems that the "user" column of viur-session is handled inappropriately: The str()-representation (which falls back to repr()) of the db.Key object is written there, and also None (where, by the code, "guest" was intended). In ViUR2, the str()-representation of db.Keys always was a string now known as legacy-urlsafe.

The pull request https://github.com/viur-framework/viur-datastore/pull/17 would elegantly resolve this mistake.
Nonetheless, some parts of the code in session.py like this dbSession["user"] = str(userid) or "guest" either producing the repr-version of the key or the string "None" otherwise should be fixed.

...and this is the reason why I created https://github.com/viur-framework/viur-core/issues/13 two years ago...

Fixed by #544


Add option to call initialize and end methods in workers

Summary

There is no way to make jest-worker call an initialize method before calling a method in the worker for the first time.
This PR adds the possibility to call an initialize method if it exists in the worker and an initializeArgs option has been passed (I've opted to not call by default this method to not make this PR a breaking change, but I can change this easily).
Also, to make the behaviour consistent, I've added some logic to call an end method in the worker if it exists when the Worker farm is being ended.
Test plan
I've created unit tests to verify the behaviour

What about setup and teardown? They feel more symmetrical than initialize and end. or onStart onEnd

👍

I've renamed the methods to setup and teardown and also the config param to setupArgs to make it consistent


Generic solution for linking lib dir install path based on linux architecture

CMAKE_LIBRARY_ARCHITECTURE is used to represent the x86* or i386* lib folder in different linux architecture

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #13   +/-   ##
=======================================
  Coverage   57.21%   57.21%
=======================================
  Files           6        6
  Lines        1907     1907
  Branches      371      371
=======================================
  Hits         1091     1091
  Misses        616      616
  Partials      200      200

Continue to review full report at Codecov.

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


useFocusWithin onBlurWithin not triggering in situation where focused component is unmounted

🐛 Bug Report
onBlurWithin callback is not firing when I click the clear (X) button and focus changes to document body
🤔 Expected Behavior
When clear (X) button is clicked the textboxText value gets set to ""  and as a result the clear button gets unmounted and focus is changed to document body. onBlurWithin callback should fire as a result.
😯 Current Behavior
onBlurWithin doesn't fire when clear (X) button is pressed and focus is changed to body.
https://user-images.githubusercontent.com/10248395/121790167-98996280-cbaa-11eb-80f7-dc1303918d08.mov
🔦 Context
Can't add a simple custom clear button to a textbox.
💻 Code Sample
import { useFocusWithin } from '@react-aria/interactions'

export default function Searchbox({ searchInputRef }) {
  const [textboxText, setTextboxText] = useState('')

  let { focusWithinProps } = useFocusWithin({
    onFocusWithin: e => console.log('FOCUS WITHIN'),
    onBlurWithin: e => console.log('FOCUS BLUR')
  })

  return (
    <div className="relative w-min" {...focusWithinProps}>
      <input className="text-gray-900" value={textboxText} onChange={event => setTextboxText(event.target.value)} />
      {textboxText !== '' && (
        <button className="absolute top-0 right-0 flex h-full text-gray-500 px-2" onClick={event => setTextboxText('')}>
          X
        </button>
      )}
    </div>
  )
}

🌍 Your Environment
react-aria/interactions 3.4.0, Google Chrome 91.0.4472.101 (arm64), MacOS 11.4
🧢 Your Company/Team
Personal project / education

This is probably since React doesn't fire a blur event when a component is unmounted, perhaps we could use a MutationObserver to watch for any changes in the component's children (more specifically, if a child node was focused but then removed) and then either fire onBlurWithin manually ourselves or perhaps move focus back to the wrapper

@LFDanLu I'm having a problem where useFocusRing({ within: true }) keeps returning true for isFocused after the focused child component is unmounted. Focusing other elements doesn't remove the isFocused state. These are different hooks but I would assume these issues are related.
Do you know if there is any workaround for this issue? Or whether a real fix will be developed?


Remove reactive endpoint from quickstart example

The reactive endpoint in quickstart is confusing and should be removed.

Merged both into master and 2.x


Network error does not result in Connect future error

When connecting the client with faulty network addresses, I caused an error ("no route to host"). I had the driver spawned on the current thread runtime and a block_on() for a simple closure trying to write to a BiStream after connecting. However, the connect phase didn't fail due to the network error. Let's discuss how this scenario should work?

For the most part, QUIC deliberately ignores ICMP feedback of any kind as it's not authenticated, and hence vulnerable to spoofing. A timeout is the expected behavior here.

djc@djc-mbp quinn $ git diff
diff --git a/quinn/src/tests.rs b/quinn/src/tests.rs
index 56ac624..7032ddd 100644
--- a/quinn/src/tests.rs
+++ b/quinn/src/tests.rs
@@ -30,7 +30,7 @@ fn simple_echo() {
     });
     server.logger(log.clone());
     server.listen(server_config.build());
-    let (_, server_driver, server_incoming) = server.bind("[::1]:14433").unwrap();
+    let (_, server_driver, server_incoming) = server.bind("[::]:14433").unwrap();

     let mut client_config = ClientConfigBuilder::default();
     client_config
@@ -39,7 +39,7 @@ fn simple_echo() {
     let mut client = Endpoint::new();
     client.logger(log.clone());
     client.default_client_config(client_config.build());
-    let (client, client_driver, _) = client.bind("[::1]:24433").unwrap();
+    let (client, client_driver, _) = client.bind("[::]:24433").unwrap();

     let mut runtime = tokio::runtime::current_thread::Runtime::new().unwrap();
     runtime.spawn(server_driver.map_err(|_| ()));
@@ -52,7 +52,7 @@ fn simple_echo() {
     runtime
         .block_on(
             client
-                .connect(&"[::1]:14433".parse().unwrap(), "localhost")
+                .connect(&"[::]:14433".parse().unwrap(), "localhost")
                 .unwrap()
                 .map_err(|_| ())
                 .and_then(move |conn| {

Yields the following output on my macOS laptop and never terminates:
test tests::simple_echo ... test tests::simple_echo has been running for over 60 seconds


Pylint complains about E1123 unexpected-keyword-arg when using field aliases with Pydantic dataclasses

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
I'm not entirely sure if this is a Pylint bug or a Pydantic one, but it's unexpected behavior that I suspect could be resolved on the Pydantic end, so I'm reporting it here first.
I'm using the dataclasses feature in Pydantic v2.3.0 and I have a dataclass with an aliased field, like so:
from pydantic import Field
from pydantic.dataclasses import dataclass

@dataclass
class Example:
    number: int = Field(alias='n')

example = Example(n=5)

This is valid code and runs just fine, but pylint complains with the following
E1123: Unexpected keyword argument 'n' in constructor call (unexpected-keyword-arg)
For reference:
$ pylint --version
pylint 2.17.5
astroid 2.15.6
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]

If anyone can point me in the right direction, I'm happy to try putting together a PR to resolve this.
Example Code
from pydantic import Field
from pydantic.dataclasses import dataclass

@dataclass
class Example:
    number: int = Field(alias='n')

example = Example(n=5)

Python, Pydantic & OS Version
pydantic version: 2.3.0
        pydantic-core version: 2.6.3
          pydantic-core build: profile=release pgo=true
                 install path: /home/bjmc/.cache/pypoetry/virtualenvs/ska-tmc-cdm-Rgii95BG-py3.10/lib/python3.10/site-packages/pydantic
               python version: 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]
                     platform: Linux-6.2.0-33-generic-x86_64-with-glibc2.35
     optional deps. installed: ['typing-extensions']

I don't think this is a bug in pydantic, it's fundamental incompatibility between pydantic and pylint.
If you know of a fix, PR welcome, or please explain how it can be fixed.
It would obviously be great if pylint fix this, but I see that it's probably well outside their desire to fix.
Basically I think you need to mute the warning on lines like this unless you know of a better fix.
BTW, there have been other similar reports of compatibility problems with pylint in the past, might worth checking them.

@samuelcolvin you're obviously in a better position than I am to evaluate this, but I'm surprised to hear it's a fundamental incompatibility because pylint somehow correctly handles the same scenario with native Pydantic models:
from pydantic import Field, Model

class Example2(Model):
    number: int = Field(alias='n')

example = Example2(n=5)

The above code does not trigger a E1123: unexpected-keyword-arg warning from pylint.

For reference, possibly related https://github.com/pylint-dev/astroid/pull/1178
Maybe this is better resolved on the Pylint end...


EDC 0.4.1: Fetch Catalog with Bad Gateway / Method Not Allowed

Describe the bug
Fetching catalog with EDC 0.4.1 results in a bad gateway (502) or method not allowed (405) error.
To Reproduce

Deploy an EDC 0.4.1; in my case an update from EDC 0.3.0.
Execute the following POST call:

URL: {{CONSUMER_DATAMGMT_URL}}/catalog/request
Body: `{
"@context": {
    "vocab": "https://w3id.org/edc/v0.0.1/ns/"
},
"protocol": "dataspace-protocol-http",
"providerUrl": "{{PROVIDER_EDC_URL}}/api/v1/dsp",
"querySpec": {
    "offset": 0,
    "limit": 100,
    "filter": "",
    "range": {
        "from": 0,
        "to": 100
    },
    "sortField": "",
    "criterion": ""
}}`

The provider EDC control plane returns an HTTP status code 502 (bad gateway). In the error message it, however, says http status code 405 (method not allowed).

Example:
[     {         "message": "org.eclipse.edc.spi.http.EdcHttpClientException: Server response to Request{method=POST, url=https://edc.apps.int.ocp.cx.dps.oncite.cloud/api/v1/dsp/catalog/request, headers=[Content-Type:application/json, Authorization:ey...]} was not successful but was 405: \n\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=ISO-8859-1\"/>\n<title>Error 405 HTTP method POST is not supported by this URL</title>\n\n
HTTP ERROR 405 HTTP method POST is not supported by this URL
\n
\n
URI:	/api/v1/dsp/catalog/request
\n
STATUS:	405
\n
MESSAGE:	HTTP method POST is not supported by this URL
\n
SERVLET:	org.eclipse.jetty.servlet.ServletHandler$Default404Servlet-7e8279e5
\n
\n
Powered by Jetty:// 11.0.15
\n\n\n\n",         "type": "BadGateway",         "path": null,         "invalidValue": null     } ]
In the above example it says that the endpoint https://edc.apps.int.ocp.cx.dps.oncite.cloud/api/v1/dsp/catalog/request does not support the POST method.
Expected behavior
It is expected that the endpoint {{PROVIDER_EDC_URL}}/api/v1/dsp/catalog/request accepts POST calls, so that the catalog can be fetched.
Screenshots/Error Messages
[     {         "message": "org.eclipse.edc.spi.http.EdcHttpClientException: Server response to Request{method=POST, url=https://edc.apps.int.ocp.cx.dps.oncite.cloud/api/v1/dsp/catalog/request, headers=[Content-Type:application/json, Authorization:ey...]} was not successful but was 405: \n\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=ISO-8859-1\"/>\n<title>Error 405 HTTP method POST is not supported by this URL</title>\n\n
HTTP ERROR 405 HTTP method POST is not supported by this URL
\n
\n
URI:	/api/v1/dsp/catalog/request
\n
STATUS:	405
\n
MESSAGE:	HTTP method POST is not supported by this URL
\n
SERVLET:	org.eclipse.jetty.servlet.ServletHandler$Default404Servlet-7e8279e5
\n
\n
Powered by Jetty:// 11.0.15
\n\n\n\n",         "type": "BadGateway",         "path": null,         "invalidValue": null     } ]
Context Informations
Add any other context about the probleme here.

Used version: EDC control plane and data plane with PostgreSQL and Azure Key Vault extension in version 0.4.1.
OS: Open Shift

Possible Implementation
No idea.

Problem is solved.
Reason was that the configuration edc.dsp.callback.address was not properly set in EDC control plane config map.


ringbuf 0.4.3 breaks dependants calling SharedRb::new

songbird 0.4.3 no longer compiles as it is simply calling SharedRb::new which is now ambiguous between ringbuf::SharedRb<Heap<T>::new and ringbuf::SharedRb<Owning<[MaybeUninit<T>; N]>>. The full error is
error[E0034]: multiple applicable items in scope
   --> /home/lothrop/.cargo/git/checkouts/songbird-bfb5fd0fe254c2b1/8f66320/src/input/adapters/async_adapter.rs:159:47
    |
159 |         let (bytes_in, bytes_out) = SharedRb::new(buf_len).split();
    |                                               ^^^ multiple `new` found
    |
    = note: candidate #1 is defined in an impl for the type `ringbuf::SharedRb<Heap<T>>`
    = note: candidate #2 is defined in an impl for the type `ringbuf::SharedRb<Owning<[MaybeUninit<T>; N]>>`

The line quoted is https://github.com/serenity-rs/songbird/blob/2d7dc29fd68826fb6998eb748be05387ea2fe91b/src/input/adapters/async_adapter.rs#L159 and this was probably caused by 6f637f14cb15614732ae1f8421822a71641a604c.

+1
https://github.com/cycle-five/cracktunes/actions/runs/10432496012/job/28893244435#step:7:1473

Thank you for your report!
The issue seems to be in adding a StaticRb::new method. I did not expect that this is a breaking change, sorry.
I've yanked 0.4.2 and 0.4.3

Quick FYI here I couldn't find it reported anywhere else. Yanking 0.4.3 seems to break async-ringbuf 0.3.0
error: failed to select a version for the requirement `ringbuf = "^0.4.3"`
candidate versions found which didn't match: 0.4.1, 0.4.0, 0.4.0-rc.4, ...
location searched: crates.io index
required by package `async-ringbuf v0.3.0`
    ... which satisfies dependency `async-ringbuf = "^0.3.0"` of package `rust-playground v0.1.0 (/usr/local/google/home/brunodalbo/Documents/git/rust-playground)`
if you are looking for the prerelease package it needs to be specified explicitly
    ringbuf = { version = "0.4.0-rc.4" }

https://crates.io/crates/async-ringbuf/0.3.0/dependencies

Quick FYI here I couldn't find it reported anywhere else. Yanking 0.4.3 seems to break async-ringbuf 0.3.0

Thanks! I've published ringbuf-0.4.4, it seems to fix this.

Magic, can't ask for any response better!


Fixing CSS for notification and cookie banners

Note this is a v0 pull request! @abchatra and I made a change to support the notification banner in V0 and it ended up affecting the cookie banner as well. This fixes that issue along with a another I found while testing (the simulator was positioned incorrectly when the notification banner shows on tablet/mobile view)
Fixes https://github.com/Microsoft/pxt-microbit/issues/1000
Fixes https://github.com/Microsoft/pxt-microbit/issues/997

Try on /Prev before bumping live


Can't get the Scenario Outline title on a BeforeScenario hook

Hey folks!
I am hooking an
/**
* @BeforeScenario
* @param BeforeScenarioScope $scope
*/
public function setupBeforeScenario(BeforeScenarioScope $scope)

on my Context but am having an problem when trying to get the Scenario title for an Scenario Outline with
$scope->getScenario()->getTitle()

instead of getting whats after the Scenario Outline: key, I am getting the Example being executed for the current scenario run.
e.g.:

For the Scenario above I should get Title as the return of
$scope->getScenario()->getTitle()

for each scenario run, but am getting | zzz | then | www |.
Am I doing something wrong or expecting something I shouldn't??
Thanks for the help!

The best thing to do here is to use hooks if you want to continue with your course of actions. That said, it seems to me you're doing something extremely complex and there should be a better way to achieve your outcome than hacking Behat event system.

I know this is closed, but I'm not sure why you think this is 'extremely complex' or that he's 'hacking Behat event system'?
$scope->getScenario()->getTitle()
... is the standard way to get the title of the scenario and it works for a 'scenario', but for a 'scenario outline' it gives the field being substituted instead.
I'm having the same issue trying to create a runtime report file and this looks 100% like a bug in the Behat hook system to me?

I'm also have this issue. I need to create a report if something went wrong with Scenario/Scenario Outline, and it seems to be great if I have title of Scenario Outline to get more verbose report.


Feedback from me

For the whole website is pretty good and smooth. only a few bugs were found, for swap and earn, etc. everything is pretty good and fast.
Address: 0x24aea31Dd03Dda163e18c376774fFd468754d239

Thank you for your testing and we hope to continue delivering high quality features and improvements!


Update LKG docs spliting PhysX Collider into PhysX Primitive Collider and PhysX Mesh Collider.

Signed-off-by: moraaar<EMAIL_ADDRESS>PR updating the o3de docs: https://github.com/o3de/o3de.org/pull/2293

Thanks @FuzzyCarterAWS for applying the feedback! I searched for componenents and found another one. I fixed it. Thanks!


Problem using async=True

Hi,
I'm having trouble using an asynchronous producer. I'm running the latest copy of the code from github.
I have a simple script which exhibits the problem:
from kafka.client import KafkaClient
from kafka.producer import SimpleProducer

if __name__ == '__main__':

    kafka = KafkaClient("<IP_ADDRESS>", 9092)
    producer = SimpleProducer(kafka, "test", async=True)

    producer.send_messages("Hello")

The log output is as follows:
Traceback (most recent call last):
  File "kafka_test.py", line 7, in <module>
    producer = SimpleProducer(kafka, "test", async=True)
  File "C:\Users\astock\envs\midmarket\lib\site-packages\kafka\producer.py", line 176, in __init__
    batch_send_every_t)
  File "C:\Users\astock\envs\midmarket\lib\site-packages\kafka\producer.py", line 72, in __init__
    self.proc.start()
  File "c:\python27\Lib\multiprocessing\process.py", line 130, in start
    self._popen = Popen(self)
  File "c:\python27\Lib\multiprocessing\forking.py", line 271, in __init__
    dump(process_obj, to_child, HIGHEST_PROTOCOL)
  File "c:\python27\Lib\multiprocessing\forking.py", line 193, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "c:\python27\Lib\pickle.py", line 224, in dump
    self.save(obj)
  File "c:\python27\Lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "c:\python27\Lib\pickle.py", line 419, in save_reduce
    save(state)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "c:\python27\Lib\pickle.py", line 681, in _batch_setitems
    save(v)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\multiprocessing\forking.py", line 66, in dispatcher
    self.save_reduce(obj=obj, *rv)
  File "c:\python27\Lib\pickle.py", line 401, in save_reduce
    save(args)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 548, in save_tuple
    save(element)
  File "c:\python27\Lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "c:\python27\Lib\pickle.py", line 419, in save_reduce
    save(state)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "c:\python27\Lib\pickle.py", line 681, in _batch_setitems
    save(v)
  File "c:\python27\Lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "c:\python27\Lib\pickle.py", line 419, in save_reduce
    save(state)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "c:\python27\Lib\pickle.py", line 681, in _batch_setitems
    save(v)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "c:\python27\Lib\pickle.py", line 686, in _batch_setitems
    save(v)
  File "c:\python27\Lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "c:\python27\Lib\pickle.py", line 419, in save_reduce
    save(state)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "c:\python27\Lib\pickle.py", line 681, in _batch_setitems
    save(v)
  File "c:\python27\Lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "c:\python27\Lib\pickle.py", line 419, in save_reduce
    save(state)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 548, in save_tuple
    save(element)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "c:\python27\Lib\pickle.py", line 681, in _batch_setitems
    save(v)
  File "c:\python27\Lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\Lib\pickle.py", line 748, in save_global
    (obj, module, name))
pickle.PicklingError: Can't pickle <built-in method recvfrom_into of _socket.socket object at 0x02D36F48>: it's not found as __main__.recvfrom_into
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\python27\Lib\multiprocessing\forking.py", line 374, in main
    self = load(from_parent)
  File "c:\python27\Lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "c:\python27\Lib\pickle.py", line 858, in load
    dispatch[key](self)
  File "c:\python27\Lib\pickle.py", line 880, in load_eof
    raise EOFError
EOFError

The same code works if I change async to False.  This is running on Python 2.7.3 on Windows against Kafka 0.8.0. Any suggestions gratefully received

HI ,
I am using modified tail2kafka which is log2 kafka  when i run i get the below error
Traceback (most recent call last):
File "log2kafka.py", line 46, in
main()
File "log2kafka.py", line 40, in main
producer = kafka.producer.Producer(options.topic,options.host,int(options.port))
File "/home/nandhu/kafka/kafka-storm-cassandra-master/kafka/producer.py", line 29, in init
self.connect()
File "/home/nandhu/kafka/kafka-storm-cassandra-master/kafka/io.py", line 21, in connect
self.socket.connect((self.host, self.port))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
TypeError: coercing to Unicode: need string or buffer, int found
my Producer is import atexit
import contextlib
import itertools
import struct
import threading
import kafka.io
import kafka.request_type
class Producer(kafka.io.IO):
"""Class for sending data to a Kafka <http://sna-projects.com/kafka/>_ broker.
:param topic: The topic to produce to.
:param partition: The broker partition to produce to.
:param host: The kafka host.
:param port: The kafka port.
:param max_message_sz: The maximum allowed size of a produce request (in bytes). [default: 1MB]

"""
PRODUCE_REQUEST_ID = kafka.request_type.PRODUCE
def init(self, topic, partition=3, host='localhost', port=9092, max_message_sz=104):
kafka.io.IO.init(self, host, port)
self.max_message_sz = max_message_sz
self.topic = topic
self.partition = partition
self.connect()
def _pack_payload(self, messages):
"""Pack a list of messages into a sendable buffer.
  :param msgs: The packed messages to send.
  :param size: The size (in bytes) of all the `messages` to send.

"""
payload = ''.join(messages)
payload_sz = len(payload)
topic_sz = len(self.topic)
# Create the request as::
#   <REQUEST_ID: short>
#   <TOPIC_SIZE: short>
#   <TOPIC: bytes>
#   <PARTITION: int>
#   <BUFFER_SIZE: int>
#   <BUFFER: bytes>
return struct.pack(
  '>HH%dsii%ds' % (topic_sz, payload_sz),
  self.PRODUCE_REQUEST_ID,
  topic_sz,
  self.topic,
  self.partition,
  payload_sz,
  payload
)

def _pack_kafka_message(self, payload):
"""Pack a payload in a format kafka expects."""
return struct.pack('>i%ds' % len(payload), len(payload), payload)
def encode_request(self, messages):
"""Encode a sequence of messages for sending to a kafka broker.
  Encoding a request can yeild multiple kafka messages if the payloads exceed
  the maximum produce size.

  :param messages: An iterable of :class:`Message <kafka.message>` objecjts.
  :rtype: A generator of packed kafka messages ready for sending.

"""
encoded_msgs = []
encoded_msgs_sz = 0
for message in messages:
  encoded = message.encode()
  encoded_sz = len(encoded)
  if encoded_sz + encoded_msgs_sz > self.max_message_sz:
    yield self._pack_kafka_message(self._pack_payload(encoded_msgs))
    encoded_msgs = []
    encoded_msgs_sz = 0
  msg = struct.pack('>i%ds' % encoded_sz, encoded_sz, encoded)
  encoded_msgs.append(msg)
  encoded_msgs_sz += encoded_sz
if encoded_msgs:
  yield self._pack_kafka_message(self._pack_payload(encoded_msgs))

def send(self, messages):
"""Send a :class:Message <kafka.message> or a sequence of Messages to the Kafka server."""
if isinstance(messages, kafka.message.Message):
messages = [messages]
for message in self.encode_request(messages):
sent = self.write(message)
if sent != len(message):
raise IOError('Failed to send kafka message - sent %s/%s many bytes.' % (sent, len(message)))
@contextlib.contextmanager
def batch(self):
"""Send messages with an implict send."""
messages = []
yield(messages)
self.send(messages)
class BatchProducer(Producer):
"""Class for batching messages to a Kafka <http://sna-projects.com/kafka/>_ broker with periodic flushing.
:param topic: The topic to produce to.
:param batch_interval: The amount of time (in seconds) to wait for messages before sending.
:param partition: The broker partition to produce to.
:param host: The kafka host.
:param port: The kafka port.

"""
MAX_RESPAWNS = 5
PRODUCE_REQUEST_ID = kafka.request_type.PRODUCE
def init(self, topic, batch_interval, partition=3, host='localhost', port=9092):
Producer.init(self, topic, partition=partition, host=host, port=port)
self.batch_interval = batch_interval
self._message_queue = []
self.event = threading.Event()
self.lock = threading.Lock()
self.timer = None
atexit.register(self.close)
self.respawns = 0
def check_timer(self):
"""Starts the flush timer and restarts it after forks."""
if (self.timer and self.timer.is_alive()) or self.respawns > self.MAX_RESPAWNS:
return
self.respawns += 1
self.timer = threading.Thread(target=self._interval_timer)
self.timer.daemon = True
self.timer.start()
self.connect()
def _interval_timer(self):
"""Flush the message queue every batch_interval seconds."""
while not self.event.is_set():
self.flush()
self.event.wait(self.batch_interval)
def enqueue(self, message):
"""Enqueue a message in the queue.
  .. note:: These messages are implicitly sent every `batch_interval` seconds.

  :param message: The message to queue for sending at next send interval.

"""
with self.lock:
  self.check_timer()
  self._message_queue.append(message)

def flush(self):
"""Send all messages in the queue now."""
with self.lock:
if len(self._message_queue) > 0:
self.send(self._message_queue)
# Reset the queue
del self._message_queue[:]
def close(self):
"""Shutdown the timer thread and flush the message queue."""
self.event.set()
self.flush()
if self.timer:
self.timer.join()


KAFKA-15623: Migrate streams tests (processor) module to JUnit 5

Migrate streams tests module to JUnit 5
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@frankvicky please rebase code and remove the draft state :)

Hi @chia7712, I have update the PR, PTAL 😄

Hi @chia7712 , I have make some changes based on comments, PTAL 😺

Hi @chia7712, I have do some cleanup, PTAL 😄


Installation with no canister ids regression?

I am using the build script that you supplied to me and it had been working fine, but now I get this error
I validated by going and rerunning a successful build and it now fails
I do NOT use canisters, just make libraries
Error:
node:fs:590
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open '/opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/.dfx/local/canister_ids.json'
    at Object.openSync (node:fs:590:3)
    at Object.readFileSync (node:fs:458:35)
    at getNetwork (file:///opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/ic-mops/mops.js:33:2[7](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:8))
    at mainActor (file:///opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/ic-mops/mops.js:57:16)
    at checkApiCompatibility (file:///opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/ic-mops/mops.js:209:20)
    at Command.<anonymous> (file:///opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/ic-mops/cli.js:59:26)
    at Command.listener [as _actionHandler] (/opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:4[8](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:9)2:17)
    at /opt/hostedtoolcache/node/16.1[9](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:10).1/x64/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:1283:65
    at Command._chainOrCall (/opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:[11](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:12)77:[12](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:13))
    at Command._parseCommand (/opt/hostedtoolcache/node/[16](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:17).[19](https://github.com/edjCase/motoko_xml/actions/runs/4327983889/jobs/7683274808#step:7:20).1/x64/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:1283:27) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/opt/hostedtoolcache/node/16.19.1/x64/lib/node_modules/.dfx/local/canister_ids.json'
}

github workflow:
name: Makefile CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3
        with:
          node-version: "16"

      - uses<EMAIL_ADDRESS>        with:
          vessel-version: 0.6.3
          dfx-version: 0.13.0

      - name: install dfx
        run: dfx cache install

      - name: install mops
        run: npm i ic-mops -g --yes

      - name: Download MOPS packages
        run: mops install

      - name: Run Tests
        run: make test

Mops.toml
[dependencies]
base = "0.8.3"
xtended-numbers = "0.2.0"

[package]
name = "candid"
version = "1.0.0"
description = "A Candid library for encoding and decoding candid bytes"
repository = "https://github.com/edjcase/motoko_candid"

[dev-dependencies]
test = "1.0.1"

Facing same issue with mops init on my local system.
mops init
Initializing...
node:fs:585
  handleErrorFromBinding(ctx);
  ^

Error: ENOENT: no such file or directory, open '/usr/lib/node_modules/.dfx/local/canister_ids.json'
    at Object.openSync (node:fs:585:3)
    at Object.readFileSync (node:fs:453:35)
    at getNetwork (file:///usr/lib/node_modules/ic-mops/mops.js:33:27)
    at mainActor (file:///usr/lib/node_modules/ic-mops/mops.js:57:16)
    at checkApiCompatibility (file:///usr/lib/node_modules/ic-mops/mops.js:209:20)
    at init (file:///usr/lib/node_modules/ic-mops/commands/init.js:61:26)
    at Command.<anonymous> (file:///usr/lib/node_modules/ic-mops/cli.js:32:9)
    at Command.listener [as _actionHandler] (/usr/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:482:17)
    at /usr/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:1283:65
    at Command._chainOrCall (/usr/lib/node_modules/ic-mops/node_modules/commander/lib/command.js:1177:12) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/usr/lib/node_modules/.dfx/local/canister_ids.json'
}

Node.js v19.7.0

I don't know what the issue is, but it appears to be related to the recent version of mops.
You can revert to the previous version (0.8.3) using this command: npm i<EMAIL_ADDRESS>-g
This should work as a temporary fix while the issue is being resolved.

Thanks for reporting the issue @Gekctek @darkdrag00nv2 !
Fixed in 0.8.7.
To update run npm i ic-mops -g
If that didn't help, also run this command  mops set-network ic

Works now. Thanks for the fix


adds a conda recipe

Just wanted to offer a conda recipe to build redistributable binary packages with the conda package manager. To create the actual package, one would install conda, then install conda-build, and finally run "conda build conda.recipe".

Thanks @ddale. A recipe is now in conda-recipes, which is probably a better home than inside the repo: https://github.com/conda/conda-recipes/pull/369
Note that development has moved to https://github.com/PyWavelets/pywt, so we're closing all PRs here.


chore: use the latest cometbft-db in v0.38.x

The goal of this PR is to allow users to use the latest set of db backends with the 38 release series.  Alternatively, we could add something to the cometbft-db v0.13.0 release notes that let users of cometbft-db know that it and following versions are incompatible with v0.38.x.

https://github.com/cometbft/cometbft/issues/4295

PR checklist

[ ] Tests written/updated
[ ] Changelog entry added in .changelog (we use unclog to manage our changelog)
[ ] Updated relevant documentation (docs/ or spec/) and code comments

oh hey thank you!  I noticed that this landed in the latest release, really appreciate it :)
Should I close this PR now?

It would be nice to update cometbft-db to v0.15.0 and Go to 1.23 here. Would you mind updating the PR? If not, I can do it myself, too. Thanks 👍

Yeah I'm happy to update the PR 🙂

Yeah I'm happy to update the PR 🙂

@melekes - I think that I got the merge right but am not 100% sure.

Thanks for the review!

You probably need to run go mod tidy once again.

tidy did it :)


Macros for creating solutions and workups

@skearnes tests passing now

Looks like pylint picked up two new rules we are now violating: W1514 (open() must be used with explicit encoding) and C0209 - use f-strings instead of .format(). what do you want to do about these? The first seems fix-worthy, the second kind of annoying.

Looks like pylint picked up two new rules we are now violating: W1514 (open() must be used with explicit encoding) and C0209 - use f-strings instead of .format(). what do you want to do about these? The first seems fix-worthy, the second kind of annoying.

Those both seem like things that should be fixed. If there are places where f-strings don't make sense, we can disable them inline.

added tests / resolve comments

currently debugging the test_notebooks failure.
Traceback (most recent call last):
File "/usr/share/miniconda/lib/python3.7/site-packages/traitlets/traitlets.py", line 537, in get
value = obj._trait_values[self.name]
KeyError: 'kernel_dirs'
...
File "/usr/share/miniconda/lib/python3.7/os.py", line 223, in makedirs
mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/home/runner/.ipython'
I believe this is caused by Treon running multiple jupyter kernels at once, and there is likely a race condition where each kernel sees that the lazily populated kernel_dirs traitlet doesn't exist and then tries to create it...

this recent commit seems like alikely culprit: https://github.com/ipython/ipython/commit/7a20999bb2097a781b81e3098ba3e379cdd6b14e#diff-3adb2b67c2d8a4ccf260824b6391483e94429fcd20e547c4729bb5a55855eae9

in the meantime, I reran the test and it seems to have randomly not triggered the race condition.


change the default view for the login manager

Yesterday in the demo when sam was trying the playground for the first time he was blocked by the fact the first tab was login and he was asked for a password, I checked the flow in foldit.tf, what they do is if there's a local storage item they show the login option

and if not (indication it's the first time to use on that device they show the create account form)

Verified Devnet 5e5c622,
First time using the playground will only display the connect your wallet tab

After that both login and connect tabs will be shown.

Just missing a small fix is needed,
First time connecting your wallet, the password field will give an error once its open.


Clean Clone + Yarn Test fails

Observed Behavior
Cloning apollo-link-state, followed by calling yarn run test fails.
Console Log Failures from Lerna
[… snipped: hub clone apollographql/apollo-link-state]; cd apollo-link-state]
$ yarn test
yarn run v1.3.2
$ lerna run -- test
lerna info version 2.5.1
lerna info versioning independent
lerna ERR! test Errored while running script in 'apollo-link-state'
lerna ERR! execute callback with error
lerna ERR! Error: Command failed: npm run test
lerna ERR! ● Validation Error:
lerna ERR!
lerna ERR!   Module <rootDir>/node_modules/ts-jest/preprocessor.js in the transform option was not found.
lerna ERR!
lerna ERR!   Configuration Documentation:
lerna ERR!   https://facebook.github.io/jest/docs/configuration.html
lerna ERR!
lerna ERR! npm ERR! code ELIFECYCLE
lerna ERR! npm ERR! errno 1
lerna ERR! npm ERR<EMAIL_ADDRESS>test: `jest`
lerna ERR! npm ERR! Exit status 1
lerna ERR! npm ERR!
lerna ERR! npm ERR! Failed at the<EMAIL_ADDRESS>test script.
lerna ERR! npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
lerna ERR! npm WARN Local package.json exists, but node_modules missing, did you mean to install?
lerna ERR!
lerna ERR! npm ERR!      /Users/fbarthelemy/.npm/_logs/2017-12-30T05_53_36_993Z-debug.log
lerna ERR!
lerna ERR! ><EMAIL_ADDRESS>test /Users/fbarthelemy/Code/apollo-link-state/packages/apollo-link-state
lerna ERR! > jest
lerna ERR!
lerna ERR!
lerna ERR!     at Promise.all.then.arr (/Users/fbarthelemy/Code/apollo-link-state/node_modules/execa/index.js:236:11)
lerna ERR!     at <anonymous>
(node:32631) UnhandledPromiseRejectionWarning: Error: Command failed: npm run test
● Validation Error:

  Module <rootDir>/node_modules/ts-jest/preprocessor.js in the transform option was not found.

  Configuration Documentation:
  https://facebook.github.io/jest/docs/configuration.html

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test: `jest`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR!      /Users/fbarthelemy/.npm/_logs/2017-12-30T05_53_36_993Z-debug.log

><EMAIL_ADDRESS>test /Users/fbarthelemy/Code/apollo-link-state/packages/apollo-link-state
> jest

    at Promise.all.then.arr (/Users/fbarthelemy/Code/apollo-link-state/node_modules/execa/index.js:236:11)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:160:7)
(node:32631) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
(node:32631) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Running yarn run jest also fails due to some missing dependencies.

Expected Behavior
Off of a clean clone, it should be possible to run the test-suite for apollo-link-state, or further documentation should be provided on how to do so.

Thanks for reporting this @fbartho! Given that we're planning on merging apollo-link-state's functionality into apollo-client directly (in the not too distant future), we aren't going to be addressing outstanding project infrastructure items like this (since this infrastructure will be removed when this repo's functionality is moved into apollo-client). Closing for now - thanks again!


Use LF for newlines everywhere

Related to #4335
I'm addressing the comment here in 2 ways:

I added a rustfmt.toml to force LF newlines.

I added * text=auto eol=LF to .gitattributes. This causes git to automatically normalize all line ends to LF. Contributors on Windows now don't have to worry about having to configure git to checkout LF or CRLF.
I have this line in the .gitattributes in a bunch of project. It generally makes it easier for Windows and Unix people to co-operate, since everyone checks out/in the exact same files. No newline weirdness. So I can only recommend this.

If you think that forcing everyone to use LF is too harsh/could create problems, I can also think of a different way to make the rustfmt call in webidl use the correct newlines. The problem is that the rustfmt tries to detect the existing newlines of a file to determine which ones to use, but the raw output of webidl is a .rs file with all tokens in a single line. There is no newline to detect. So it defaults to the native newline, which is the cause of the problem. So the solution could be to detect the newlines from another existing file, and then pass what we detected to rustfmt.

I'm against enforcing this on a Git level.

That means I can close this PR. There's no point in having a rustfmt.toml, because we cannot specify the correct newline format there. Manually detecting it is, but that will be a separate PR.

I'm against enforcing this on a Git level.

That means I can close this PR. There's no point in having a rustfmt.toml, because we cannot specify the correct newline format there. Manually detecting it is, but that will be a separate PR.

I'm not following exactly. We should still apply the rustfmt.toml so the call from rustfmt does the correct thing. The fact that git might interfere can still be up to users to fix on their end. Or what am I missing here?

I'm not following. We should still apply the rustfmt.toml so the call to rustfmt does the correct thing. The fact that git might interfere can still be up to users to fix on their end. Or what am I missing here?

Having new_line = Unix in rustfmt.toml will cause problems for anyone that checks out the repo with CRLF on Windows. Saying that users have to fix it on their end in nonsense. If you don't use * text=auto eol=LF, then you are saying "both line ends work." To then turn around and require LF anyway is just horrible. You are just pushing the task of configuring git for this repo onto the user after they've run into issues caused by this.  I just want to make a quick PR to OSS, CI fails because of formatting, I run the formatter, 5k files changed. Great, now I can look up the git commands for re-configuring line ends, renormalize everything, and hope I didn't forget anything.
Right now, git is configured so that users are allowed to have CRLF and rustfmt naturally supports that. I'm not going to implement a line ending change that I know will just cause issues for contributors.

Saying that users have to fix it on their end in nonsense. If you don't use * text=auto eol=LF, then you are saying "both line ends work." To then turn around and require LF anyway is just horrible. You are just pushing the task of configuring git for this repo onto the user after they've run into issues caused by this.  I just want to make a quick PR to OSS, CI fails because of formatting, I run the formatter, 5k files changed. Great, now I can look up the git commands for re-configuring line ends, renormalize everything, and hope I didn't forget anything.

Please refrain from non-technical statements or arguments, this is not the place for it.
Clearly you have a very negative experience around this issue. I didn't. This is why we discuss this, so you can lay out your point of view and I mine.
My experience was the opposite. Enforcing line endings on a git level caused various issues for me where it wasn't possible to commit files that purposefully had different line endings in them. So the OSS culture that I've interacted with refrains from this kind of override. Commits should always happen as-is, conversions happening on the git level is considered bad in my circles.

Having new_line = Unix in rustfmt.toml will cause problems for anyone that checks out the repo with CRLF on Windows.

How so?
This is an area I have no experience in as a Linux user. I do remember that back then when I used Windows I set up line endings globally to address these issues, but I have no idea anymore what the problem was exactly in the first place.

If you don't use * text=auto eol=LF, then you are saying "both line ends work."

That's not what Git says this means. Please see the documentation. I have no idea if this is used to signify that popularly though.

You are just pushing the task of configuring git for this repo onto the user after they've run into issues caused by this.

I am because AFAIK there is no way to tell Git to tell users that this repo is LF. The best setting I know that is representative is core.autocrlf=false, which just says checkout and commit as-is. But AFAIK this isn't recommended because it interferes with what users might actually want and I have no idea if that actually solves the problem you are trying to describe.

Commits should always happen as-is, conversions happening on the git level is considered bad in my circles.

When installing git on Windows, this is what you see as step 8/11:

(Screenshot from a yt video, because I couldn't find documentation for the installer.)
The default for core.autocrlf is false on Linux, but here you can see what they are for Windows. You see the problem? They even call it the "recommended setting on Windows."
This is why I said that it's "up to users to fix on their end" is nonsense. If you require checkout and commit as-is, you already messed things up anyone not having core.autocrlf=false, which are most people on Windows. Git supports all of these configurations, so if your repo doesn't, then your repo is the problem, not how users configure git.

If you don't use * text=auto eol=LF, then you are saying "both line ends work."

That's not what Git says this means. Please see the documentation. I have no idea if this is used to signify that popularly though.

Nope, this is pretty much what it means. To quote the docs:

Unspecified
If the eol attribute is unspecified for a file, its line endings in the working directory are determined by the core.autocrlf or core.eol configuration variable (see the definitions of those options in git-config[1]). If text is set but neither of those variables is, the default is eol=crlf on Windows and eol=lf on all other platforms.

If you don't define eol, then it's up to the user to decide how to check out files. Ergo, users can decide whether they want LF or CRLF. You gave them this choice.
If your project only works with one type of line endings, then specify eol=<value>. If you want checkout and commit as is, then make it binary. This is also how GitHub says you should do per-repo line end settings. (Along with again recommending core.autocrlf true on Windows.)
Note specifying eol but requiring a specific checkout is just a trap for users to fall into. And that trap will disproportionately affect Windows users.

Btw, my core.autocrlf is set to input, because I got tired of so many repo's tooling assuming LF line ends.
But guess what? Now I have the problem of another kind of bad tooling that assumes that everyone on Windows uses CRLF. It just doesn't end. This is also the reason why most modern tooling has given up on platform-specific line ends and instead of just detects line ends from file content and uses that. That's also what rustfmt does by default.

This is why I said that it's "up to users to fix on their end" is nonsense. If you require checkout and commit as-is, you already messed things up anyone not having core.autocrlf=false, which are most people on Windows. Git supports all of these configurations, so if your repo doesn't, then your repo is the problem, not how users configure git.

I really don't know what justifies this kind of wording choice. Again, lets keep this conversation civil and technical. I have a hard time finding anything useful in that paragraph to work with.

If you don't use * text=auto eol=LF, then you are saying "both line ends work."

That's not what Git says this means. Please see the documentation. I have no idea if this is used to signify that popularly though.

Nope, this is pretty much what it means. To quote the docs:

Unspecified
If the eol attribute is unspecified for a file, its line endings in the working directory are determined by the core.autocrlf or core.eol configuration variable (see the definitions of those options in git-config[1]). If text is set but neither of those variables is, the default is eol=crlf on Windows and eol=lf on all other platforms.

If you don't define eol, then it's up to the user to decide how to check out files. Ergo, users can decide whether they want LF or CRLF. You gave them this choice.

We are talking about two different things. You are talking about the check out mechanism, but I was talking about telling the users what kind of file ending this file should have. These are two different things, even if Git is recommending settings that try to gloss over what kind of line-endings files really have and give something different to the user.

I'm tired of this conversation as its not really constructive. I'm gonna make my stance as clear as I possible can:

I don't know how all this works.
I had bad experiences with this in the past and I'm suspicious of repeating the same mistakes here again. As I don't know how it all actually works, my suspicions might be totally unfounded.
I don't really know how the experience is for a Windows user and what kind of problems they actually encounter.

If you are interested in resolving this, you have to:

Explain to me exactly what the problem is. You have been going off on a rant rather then explaining it to me.
Engage the concerns that I have and try to address them.
Explain how the solution works exactly and how it would resolve the problem.
Keep the conversation civil and technical. There's no way we will have a constructive conversation if you call things "nonsense", "your repo is the problem", "this crap". They simply don't contain any useful information apart from making other people not want to engage in this conversation anymore.

Yeah, no. I'm not going to continue this as is. All of this could have been resolved by reading up on the basics of how to do newlines cross-platform in git and doing some research on autocrlf. Heck, I even linked to the GH docs on the former.
 So far, you haven't clearly listed any of your "experiences", "mistakes", and "suspicions" (quoted to highlight plural). The only thing I found you mentioning was "it wasn't possible to commit files [with] different line endings", which is about as specific as saying "my rust code doesn't run." Similarly, if you want me to explain something, then say what you want explained. Telling me to "explain [...] the problem" doesn't mean much, especially when you just reductively dismissed a previous explanation as a "rant".


chore: Remove deprecated setup.py and fix license

Remove setup.py as it is unnecessary, as pyproject.toml is a superset of it.
Also fix the license, not sure why it was labelled MIT, when all our license files and headers are Apache-2.0.

Great work! 😁

I manually ran the command (build) with setup.py deleted and it created the same files as when setup.py were present.


Scrollable Blocks should have gravity.

I think the right API here is to just change the "direction" argument to take four values instead of two. Instead of horizontal/vertical, have it be right (what we do now for horizontal)/down (what we do now for vertical)/left (horizontal with reverse gravity)/up (vertical with reverse gravity).

Would you change the semantics of scrollOffset also?  For example, in the up direction, would offset zero correspond to the last item in the scrollable list being visible?  For example, [A, B, C, D, E, F, G], direction: up, scrollOffset: 0
-
C
D
E
F
G
-

Presumably we shouldn't reverse the order of the list, so [A, B, C], direction: up would display as:
-

A
B
C
-

Rather than:
-

C
B
A
-

I imagined that [A, B, C, D, E, F, G], direction: up, scrollOffset: 0 would render as:
-
E
D
C
B
A
-

That makes a certain amount of sense, but it would solve @apwilson 's problem.  Maybe that means we should solve his problem in a different way.  Here's the effect that @apwilson wants:
Start out with a list [A, B, C, D, E, F, G, H, I, J]
-
D
E
F
G
H
-

Now, he wants to remove E from the list and end up with:
-
C
D
F
G
H
-

Now, he wants to remove D from the list and end up with:
-
C
F
G
H
I
-

In other words, he doesn't want the order of the list to change visually, he just wants to control whether new items are pulled into the viewport from the top or the bottom when the content size decreases.

I'm assuming based on our IRC conversation that when removing E and removing D, the gravities are configured differently.
What should happen when the list has only 5 items and one is removed in the reverse-gravity case?

I would expect empty space to appear from the top.
-

W
X
Y
Z
-

That seems equivalent to reversing the list and using "direction:up", then, no? Or is the requirement really that different removals back to back cause the list to collapse in different directions?

That seems equivalent to reversing the list and using "direction:up", then, no?

Yes.

Or is the requirement really that different removals back to back cause the list to collapse in different directions?

The same list needs to exhibit both collapsing directions at different times (but not at the same time).  It might be easier to show you what @apwilson is building than to work this all out via bugthread.


DOC: Only include CLI page when building man pages

[x] Closes #735
[ ] Tests added
[ ] Fully documented, including history.rst for all changes and api/*.rst for new API

@sebastic, you can build with:
cd docs/ && make man

and the file will be in docs/_build/pyproj.1
Mind trying it out?

The docs sources were excluded from the Debian package, after restoring that and some hackery to get the pybuild path, building the manpages works.

Thanks for testing @sebastic :+1:


feat: 🎸 add raw ID to BaseAsset class

Description
add getter method to return asset ID in hex format
Breaking Changes

JIRA Link
DA-1345
Checklist

[ ] Updated the Readme.md (if required) ?

/fast-forward

:tada: This PR is included in version 26.0.0-alpha.8 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 26.0.0-beta.5 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[ManagedCommon.dll & ManagedTelemetry.dll] Unify exe/dll naming

Summary of the Pull Request
What is this about:
Rename ManagedCommon.dll to PowerToys.ManagedCommon.dll
Rename ManagedTelemetry.dll to PowerToys.ManagedTelemetry.dll
What is include in the PR:
How does someone test / validate:

start PT
check if some of the modules that are using ManagedCommon.dll and ManagedTelemetry.dll works (e.g. FZ Editor)

Quality Checklist

[x] Linked issue: #2125
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

Didn't mean to close. Misclicks due to Github page refreshing and jumping around on my browser windows. Sorry about that.


updates for openpilot-base image have stopped

Describe the bug
Since stopping multi-architecture support for Docker, the openpilot-base image has not been updated. Will the openpilot-base image not be updated until the aarch64 build is reinstated?
OS Version
Ubuntu
openpilot version or commit
No response
Additional info
No response

should be fixed with https://github.com/commaai/openpilot/pull/32801


[5.4] Why not a Illuminate\Mail\Events\MessageSent event?

Laravel Version: 5.4.16
PHP Version: 7.1
Database Driver & Version: n/a

Description:
There is a Illuminate\Mail\Events\MessageSending event that's triggered before the mailer attempts to send an email. Why not also triggering a Illuminate\Mail\Events\MessageSent event after the email is sent?
I think the use case in the example from the official doc is a bit clumsy (https://laravel.com/docs/5.4/mail#events), because the listener for logging the message is executed whether the email is actually sent or not. There could be an error while actually sending the email (ex: network issue, temporary API error from Mandrill / SparkPost etc...) and MessageSending would still be triggered. However, it would be guaranteed that MessageSent is actually triggered only if the email was successfully sent.
On top of that, we could access the message id (SES) / transmission id (SparkPost) that's set into the swift message's headers AFTER the email is sent, allowing us to do nice things like this:
public function handle(MessageSent $event)
{
    $sparkpostId = $event->message->getHeaders()->get('X-SparkPost-Transmission-ID');

    // log message with sparkpost id, useful for processing webhooks later
}

Can you please use https://github.com/laravel/internals for such suggestions?
We keep this repo for bug reporting only.

Is this implemented yet? Would be amazing!

Looks like it's here:
https://github.com/laravel/framework/tree/5.5/src/Illuminate/Mail/Events

I upgraded from 5.2 and It's not included.. That's odd.

Yes https://github.com/laravel/framework/commit/9a16e9f625e8b31072aaa7cb9a70f0f6e88456f4


add Opportunity Assessment process to the Product section in the Meltano handbook

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1108
Originally created by @dmor on 2019-10-09 13:13:36

Our opportunity assessment process has been very beneficial to clarifying what to work on and how it connects to our vision and KPIs. Let's make sure to capture it, so anyone new to contributing to Meltano can learn.

[x]  Update with internal team process on the handbook
[x]  Consider linking to this update in the Contributing section of the docs

View 3 previous comments from the original issue on GitLab


Prompt multi select

Type

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
Added prompt to select multiple choices

Scratchpad to see it in action:
import { Command, Prompt } from "@effect/cli"
import { NodeContext, NodeRuntime } from "@effect/platform-node"
import { Array, Console, Effect, pipe } from "effect"

const run = Command.make("example", {}, () =>
  Effect.gen(function*() {
    const choices = pipe(Array.range(1, 20), Array.map((n) => ({ title: `Option ${n}`, value: n })))
    const selectMulti = yield* Prompt.selectMulti({
      message: "select a option",
      choices
    })
    yield* Console.log(`You selected: ${selectMulti.join(", ")}`)
  })).pipe(
    Command.run({
      name: "Test",
      version: "1.0.0"
    })
  )

const main = Effect.suspend(() => run(globalThis.process.argv))

main.pipe(
  Effect.provide(NodeContext.layer),
  Effect.tapErrorCause(Effect.logError),
  NodeRuntime.runMain
)

@joepjoosten - this looks good to me! The only additional request I have is that we make this a patch release since we're only adding a feature, which is backward compatible.

Thanks!
Should i add min/max choices support? Then it can be used in the wizard when there is a repeated choice option?

Sure! That would be a cool addition :)

I'm also not really fond of using default text for the select all/none and inverse selection. This is not very international because there in English. I don't know if there are universal symbols for select all/none and inverse?

And nothing more difficult than naming things: "selectMulti", i'm still not happy with this name...

I've added the min max functionality, and renamed it to multiSelect

The only additional request I have is that we make this a patch release since we're only adding a feature, which is backward compatible.

@joepjoosten - only one thing left to take care of before we can merge this in 👍

Sorry, i missed that comment. Is this what you mean? (see latest commit)

Thanks @joepjoosten !


[BUG] EMR-Serverless README not updated

Describe the bug
[A clear and concise description of what the bug is.  Be ABSOLUTELY sure to give the path of the module (ex modules/optionals/networking).
Any bug that does not explicitly refer to a pertinent module will be closed without inspection.](https://github.com/awslabs/idf-modules/tree/main/modules/compute/emr-serverless)
EMR serverless app.py outputs do not match the README

Taking a look


Improve docs for destroy()

Please mention, that destroy() supports { removeNode: false } to unsubscribe from all listeners but to maintain the associated DOM.
Thanks.

Fixed by https://github.com/marko-js/marko-widgets/pull/66


Update bundle, cloudwatch, sdk-core, ses, sns, ... to 2.25.29

About this PR
📦 Updates

software.amazon.awssdk:bundle
software.amazon.awssdk:cloudwatch
software.amazon.awssdk:sdk-core
software.amazon.awssdk:ses
software.amazon.awssdk:sns
software.amazon.awssdk:sqs
software.amazon.awssdk:ssm

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

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

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

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

Superseded by #3166.


record files

fasd on zsh/bash also takes care of figuring out files used in the arguments to commands.

This is solved by https://github.com/oh-my-fish/plugin-fasd
See https://github.com/oh-my-fish/plugin-fasd/issues/11 for how.

Opened a PR for fixing this in #8

Going to close as it has been a long time and I'm not sure if this is relevant anymore.


Provide a backoff function to ACME

What this PR does / why we need it:
This PR adds a special back-off function to the ACME client which will make sure the library returns an error to our code when it hits a Retry-After header.
Which issue this PR fixes
fixes #2741
Special notes for your reviewer:
replaces #3212
Release note:

Let cert-manage handle ACME backoff when Retry-After is set on a rate limit error

/retest

/kind bug


GetAwaiter.GetResult vs Task.Factory.StartNew

I ran into issue with generated client for .NET Framework.
I used to stick with what my VisualStudio was using under the hoods - one of older autorest versions.
It generated *Extensions.cs file with sync methods like this:
            public static IList<Country> GetCountriesWithRegions(this IDRRFQ operations)
            {
                return Task.Factory.StartNew(s => ((IDRRFQ)s).GetCountriesWithRegionsAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
            }

Recently I changed my approach and started using autorest directly. New version generates *.Extensions.cs this way:
            public static IList<Country> GetCountriesWithRegions(this IDRRFQ operations)
            {
                return operations.GetCountriesWithRegionsAsync().GetAwaiter().GetResult();
            }

We then noticed issues during runtime. Randomly we had ThreadAborted exceptions. Sample stack trace:
Thread was being aborted.
   at System.Threading.Monitor.ObjWait(Boolean exitContext, Int32 millisecondsTimeout, Object obj)
   at System.Threading.ManualResetEventSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.SpinThenBlockingWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.InternalWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at ***Extensions.GetCountriesWithRegions(IDRRFQ operations)

I found the issue to be connected with GetAwaiter().GetResult() code.
I have the following versions:
Type       Extension Name                           Version
core       @autorest/core                           3.0.6320
core       @microsoft.azure/autorest-core           2.0.4417
extension  @microsoft.azure/autorest.csharp         2.3.90
extension  @microsoft.azure/autorest.modeler        2.3.55
My workaround for the moment is to get back to VS Add->REST API Client.

@pakrym v3 version generates code the same way
autorest/csharp                         3.0.0-beta.20210406.5beta.20210406.5
return operations.GetCountriesWithRegionsAsync().GetAwaiter().GetResult();

Can you please include a larger snippet of code?

I am generating using autorest command with this .md file:
# Services.Lead

This file contains the configuration for generating Services.Lead API from the OpenAPI specification.

> see https://aka.ms/autorest

` ` `json
{
"input-file": "./swagger.json",
"csharp": true,
"namespace": "Services.Clients.Lead",
"output-folder": ".",
"add-credentials": true
}
` ` `

The problem is how sync methods are generated based on async counterparts. It can be any operation.
/// <summary>
            /// Returns list of supported countries with regions
            /// </summary>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            public static IList<Country> GetCountriesWithRegions(this IDRRFQ operations)
            {
                return operations.GetCountriesWithRegionsAsync().GetAwaiter().GetResult();
            }

            /// <summary>
            /// Returns list of supported countries with regions
            /// </summary>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<Country>> GetCountriesWithRegionsAsync(this IDRRFQ operations, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetCountriesWithRegionsWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }

I found another solution which is similar to what was generated in older versions. I am using AsyncHelper class and I call directly async method avoiding to use that faulty .GetAwaiter().GetResult(); Async programming is not my forte. Maybe this works just fine on netcore/net5+, but on net4.8 we had those thread aborted exceptions being thrown.
Code of AsyncHelper is coming from internal framework code and is similar to what was generated in older versions:
    public static class AsyncHelper
    {
        private static readonly TaskFactory TaskFactory = new
            TaskFactory(CancellationToken.None,
                TaskCreationOptions.None,
                TaskContinuationOptions.None,
                TaskScheduler.Default);

        public static TResult RunSync<TResult>(Func<Task<TResult>> func)
            => TaskFactory
                .StartNew(func)
                .Unwrap()
                .GetAwaiter()
                .GetResult();

        public static void RunSync(Func<Task> func)
            => TaskFactory
                .StartNew(func)
                .Unwrap()
                .GetAwaiter()
                .GetResult();
    }

If this indeed is just faulty on .net4.8 maybe additional parameter for generator could be added?
My current invocation when code is not asynchronous:
AsyncHelper.RunSync(() => client.DRRFQ.XXXXAsync(request));

For async methods everything works just fine.

After reviewing this issue, it sounds like you have at least a partial solution using TaskFactory.
The V2 generator has design decisions that make resolving this issue difficult without a rewrite (as we did in feature/v3).
The V2 generator is only getting critical bug fixes, and this does not meet that bar.
If in the future you've migrated to the V3 generator (feature/v3) and are seeing this please consider opening a new issue with details.
Thanks!

v3 version generates code the same way
autorest/csharp 3.0.0-beta.20210406.5beta.20210406.5
return operations.GetCountriesWithRegionsAsync().GetAwaiter().GetResult();

Reopening for review.

@mdzieg , can you please clarify couple of things about the issue:

When you call GetCountriesWithRegions directly, is it called from UI thread, unit-test thread or random background thread?
What kind of application do you have? Is it a WPF client app, an ASP.NET Core, or something else?

Thank you!

@AlexanderSher  sure. It is ASP.NET 4.8 app build on Sitefinity CMS. It has to be synchronous because of CMS limitations.
Application is build on Sitefinity. So it may not be the thread that is serving the request originally as the code is in so called widget (it is still MVC but not sure 100% on how it is implemented under the hoods). I can investigate more when I am back to work in a few days. I can give more details on how this is called in the Sitefinity engine as it indeed may be the difference that does not play nice with the generated code.
Other services were using async methods of the API and I did not test them with sync version.


doc: add __abi-generate features to docs generated

It's not convenient that JsonSchema/BorshSchema cannot be checked on docs
https://docs.rs/near-sdk/5.7.0/near_sdk/struct.PublicKey.html of various types,
for being implemented or not.

[x]  "__abi-generate" should be added here https://github.com/near/near-sdk-rs/blob/189897180649bce47aefa4e5af03664ee525508d/near-sdk/Cargo.toml#L101

[x] change
[package.metadata.docs.rs]
features = ["__abi-generate"]

here https://github.com/near/near-sdk-rs/blob/master/near-sdk-macros/Cargo.toml#L31

[x] following diff applied here https://github.com/near/near-sdk-rs/blob/master/near-contract-standards/Cargo.toml

diff --git a/near-contract-standards/Cargo.toml b/near-contract-standards/Cargo.toml
index e4ab1dfe..ccc8dcba 100644
--- a/near-contract-standards/Cargo.toml
+++ b/near-contract-standards/Cargo.toml
@@ -24,4 +24,7 @@ near-sdk = { path = "../near-sdk", default-features = false, features = [

+[package.metadata.docs.rs]
+features = ["abi"]
+
 [features]
 default = []
-abi = ["near-sdk/abi"]
+abi = ["near-sdk/__abi-generate"]

[ ] following diff applied here https://github.com/near/near-sdk-rs/blob/master/.github/workflows/test.yml#L126-L128

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 06bda06c..ca9fb168 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -125,5 +125,5 @@ jobs:
       run: |
-        cargo doc -p near-sdk --features unstable,legacy,unit-testing,__macro-docs
-        cargo doc -p near-sdk-macros
-        cargo doc -p near-contract-standards --no-deps
+        cargo doc -p near-sdk --features unstable,legacy,unit-testing,__macro-docs,__abi-generate
+        cargo doc -p near-sdk-macros --features __abi-generate
+        cargo doc -p near-contract-standards --no-deps --features abi
         cargo doc -p near-sys

Closed by #1286


Should providence.go file be renamed provenance.go?

Description
The file here is named providence.go
Should its name actually be provenance.go?
I see that the struct created in the file is called Provenance.
I can put in a simple PR changing the file's name if changing the name is desirable.

makes sense to me, tagging @sabre1041 to make sure that was a typo on his part

Fixed by https://github.com/sigstore/rekor/pull/758


Linux ARM64 release

Could you release a version for Linux ARM?

Hello, unfortunately some dependencies are not compiled for linux-arm64 architecture yet. Also, due to the diversity of arm versions on which linux can be installed (just think of armv7 and armv8 for raspberries) it's difficult to setup a compile process that will work for everyone. Which version of ARM are you interested in?

Hello, I verified that both cia-unix and ctrdecrypt can be compiled for linux-aarch64.
I recommend you to compile binaries directly on the ARM host following the common build instructions, because cross-compilation on x86_64 might be tricky.
As for ctrtool and makerom, I recommend you to compile the programs with the makefile you can find in the 3DSGuy repository directly on the ARM device.

See https://github.com/Sith-Magnus/Project_CTR-LinuxARM64

I checked the repo, but unfortunately it does not include an automated build process (since GitHub actions does not yet support running linux on arm machines). I hope it will be added soon to include the build in the yml file.
Side note: ctrdecrypt can already be cross-compiled for linux-aarch64, however cia-unix cannot be cross-compiled so easily due to some limitations of the crystal compiler.

What is missing?

I think it's missing the which command

Termux Android
https://f-droid.org/packages/com.termux/

I don't have the which package installed, this which is from zsh

now it works

Nice, can I consider the issue closed? I will eventually add the linux arm support later (when gh will add linux aarch64 build docker). For the moment, please keep compile binaries with your local compilers :)

Can close but Add compilation instructions to Readme

I haven't tested it with a real encrypted game yet

I have to download one to test

Ok, so I will leave it open, I will eventually try some roms with my raspberry pi 4, thank you for your collaboration


fix: do not panic when when_matched condition yields 0 matches

This works around https://github.com/lancedb/lance/issues/1954


Various DMR-9 fixes

See https://issues.jboss.org/browse/DMR-9 discussion

A build of this passed WildFly core's testsuite. I'm running full's now.
BTW, thanks for the _next thing and the split into 3 commits; that is really helpful.

No problem. I don't expect problems. I've tested both WildFly-Core and WildFly with this PR before sending it.


Feature Request: Add routeSettings, transitionBuilder and navigatorKey Parameters to Dialog Methods

Description:
It would be beneficial if showDialog, showCustomDialog, and related methods provided additional parameters to enhance customization options:
•	RouteSettings? routeSettings
•	GlobalKey<NavigatorState>? navigatorKey
•	RouteTransitionsBuilder? transitionBuilder,

Use Case:
These parameters would allow:
•	Custom Routing: routeSettings would enable setting a name and arguments for the dialog’s route, which can assist in analytics and tracking.
•	Navigator Targeting: navigatorKey would provide flexibility to show dialogs in specific navigator instances, which is helpful in applications with multiple navigators or nested navigation.
•	Custom Transitions: transitionBuilder would allow for custom transition animations when displaying dialogs. This is useful for creating a unique user experience or matching the dialog transitions with the app’s design style.

Example image for routing log:
The first line is without routeSettings parameter. The second line is with routeSettings parameter.

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

v1.6.0
GitHub release

Your semantic-release bot :package::rocket:


little changes

A small handful of little changes I separated from the button work - no changes in behavior.

All very clear changes, LGTM!

All very clear changes, LGTM!


Adde the possibility to fold the menu items, just it is a draft runni…

Adde the possibility to fold the menu items, just it is a draft running proposal

Hello, especially thanks to you
All things great, but when Sidemenu in collapse mode icons of sidemenu item is not center

Hello, especially thanks to you All things great, but when Sidemenu in collapse mode icons of sidemenu item is not center

I'm trying to improve it. I hope to post a new pull request ASAP.
Cheers, Tony

At first thank you,
But sorry I have to rollback this RP
In code user shouldn't define folders in SideMenu
If a SideMenuItem has folder list it should shown as a foldable item, else it should shown as normal SideMenuItem