Thumb-enabled deselect breaks app

See thus post by Greg Jensen.
https://groups.google.com/forum/#!topic/aipowerusers/kc9N6dDeEB4

fixed by pull request #478

#478 was merged
closing


Setting cell width manually, using setHasFixedWidth(true)

hi,
Each cell in a given row can have varying width, which i will assign dynamically using my data model, data model holds the width for each cells. I wont write anything on rowHeader because its perfectly working(aligning) with the tables data content.

First thing is define width of columnHeaderRow, here all cells will have same width.
I override onCreateColumnHeaderViewHolder() and return my generic CellViewHolder which will
handle both columnHeader and the dataHeader's data bindings.
Second is dataHeader, here each cell can have varying width but the total row width will always match
the columnHeader total width. I override onCreateCellViewHolder and return the same CellViewHolder
which i did for columnHeader.
This is how i set the width inside setData() method of CellViewHolder:
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) itemView.getLayoutParams(); layoutParams.width = size;
and as per guidelines from this https://github.com/evrencoskun/TableView/issues/18 i avoid calling below lines of code
// It is necessary to remeasure itself.      viewHolder.cell_container.getLayoutParams().width = LinearLayout.LayoutParams.WRAP_CONTENT;      viewHolder.cell_textview.requestLayout();

Also i seemed to have read this from the previous issue discussion and whens it gonna take place

I have written down your both requests. In my opinion, 1.0 version should has these type of features.

Issue is misalignment between dataRow and columnHeader.

Version used: Latest. I did a zip of your repo and started using.

Please let me know when this is gonna be fixed. Take your time though, I am asking time so that i can update my CTO. I am attaching a video: For easy observation, only first row has varying cell width, rest all rows cell width match with that of columnHeader cell width. So all you might want to do is to just observe the first row.
Video link: https://drive.google.com/open?id=1daZ_Dkaenzo6JNpvc8FWa79A-r9AY9SE
I appreciate your time and very thankful your contribution

Hi @djinnovations
With 0.8.8 version, you can change column width value programmatically. However, It doesn't support stretching yet.
tableview.setColumnWidth(columnPosition, width);
Please let me know the result.

can we do this onBind() of CellViewHolder, didnt get the expected result :(

I don't understand what you mean actually?


CMakeLists.txt with Internal Variables Fails

I was following original post stm32-cube-cmake-vscode where basic CMakeLists.txt and gcc-arm-none-eabi.cmake files are introducted and explained. However, if I try generating CMake from files given under template folder, I get bunch of errors referring to sr: ... variables. This is the output log I get after running cmake --preset Debug:

Preset CMake variables:

  CMAKE_BUILD_TYPE="Debug"
  CMAKE_EXPORT_COMPILE_COMMANDS="ON"
  CMAKE_TOOLCHAIN_FILE:FILEPATH="C:/Users/Luka/Desktop/TEST/cmake/gcc-arm-none-eabi.cmake"

-- The C compiler identification is GNU 10.3.1
-- The CXX compiler identification is GNU 10.3.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/ST/STM32CubeIDE_1.12.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_<IP_ADDRESS>301161003/tools/bin/arm-none-eabi-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/ST/STM32CubeIDE_1.12.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_<IP_ADDRESS>301161003/tools/bin/arm-none-eabi-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: C:/ST/STM32CubeIDE_1.12.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_<IP_ADDRESS>301161003/tools/bin/arm-none-eabi-gcc.exe
Build type: Debug
CMake Error at CMakeLists.txt:72 (add_executable):
  The target name "{{sr:project_name}}" is reserved or not valid for certain
  CMake features, such as generator expressions, and may result in undefined
  behavior.

CMake Error at CMakeLists.txt:75 (target_sources):
  Cannot specify sources for target "{{sr:project_name}}" which is not built
  by this project.

CMake Error at CMakeLists.txt:78 (target_include_directories):
  Cannot specify include directories for target "{{sr:project_name}}" which
  is not built by this project.

CMake Error at CMakeLists.txt:86 (target_compile_definitions):
  Cannot specify compile definitions for target "{{sr:project_name}}" which
  is not built by this project.

CMake Error at CMakeLists.txt:98 (target_link_libraries):
  Cannot specify link libraries for target "{{sr:project_name}}" which is not
  built by this project.

-- Configuring incomplete, errors occurred!

As far as I know, PROJECT_NAME is one of internal variables and maybe that's why it gives an error. However if project_name is changed to something random, I get the same errors.
I modified CMakeLists.txt and gcc-arm-none-eabi.cmake files only with paths and some flags so I assume it should work. Unless I misunderstood some other part of the process.
gcc-arm-none-eabi.txt
CMakeLists.txt

Can you sbow me full path of your cubemx/cubeide project, includinf path on a disk, and a command you have invoked?

So when you generated project from CubeMX, which IDE have you selected? It must be STM32CubeIDE.
Can you show the response from python converter script?
Again, template folder is not meant for user, it is mean for converter.py script, that does automatic project conversion from STM32CubeIDE-based project to CMake.
You can get STM32CubeIDE-based project with 2 options:

Use STM32CubeMX and select STM32CubeIDE as IDE when generating the code
Actually use STM32CubeIDE to generate the project

True, I'm building my STM32 project as Makefile project from CubeMX. If I would use STM32CubeIDE then I would probably have to take additional step of re-generating files from CubeIDE like you have shown in your vscode guide.
Then, I guess I will be using the basic template :)

If you use Makefile project (which is obsolete, btw), then why do you even use CMake? You anyway need to do "manual" work.
If you use CubeMX/CubeIDE, make sure project is generated as CubeIDE project and you run the auto-script, that takes care of everything. I guess we can close the issue.


Could'n install plugin: Plugin ID mismatch

Thanks for plugin! I have this error:

Also tested in fresh vault, same error. No further details in console. I use Arch. Obsidian version - 1.4.14.
Currently works if install from Releases manually.

Same issue here

Same issue

Same issue

Found the solution. Download it from the releases (Github) and drop unzipped folder to your vault / .obsidian/plugins
then restart and it will work

Currently works if install from Releases manually.

YEs

unfortunately this plugin doesn't seem to be maintained. sad. it looked perfect for this simple task of learning words!

unfortunately this plugin doesn't seem to be maintained. sad. it looked perfect for this simple task of learning words!

If it works well, it doesn’t have to be maintained. And also feel free to fork it into your own :)

as you say "if it works" alas it doesn't according to several people.
I surely feel free to fork - but i surely wouldn't know what to do with that ^^
thanks for the advice

mine works, I just have checked.
If yours does not, here is my version. Put it to .obsidian/plugins
obsidian-vocabulary-cards.zip


Added selfSSL option to fix https request rejection + og:description support

To fix these errors :
Error: unable to verify the first certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:929:36)
    at TLSSocket.emit (events.js:104:17)
    at TLSSocket._finishInit (_tls_wrap.js:460:8)

And for supporting meta og:description

Is this npm package not maintened anymore ?

Yes it is. Sorry i missed this PR. Ill take a look later today

Added support for og:image relative path and added a test for og:description

Please merge!

Published new version with bumped minor. Thanks all!

Thanks! :beers:


Adding more xcm transfers for Moonriver

Moonriver < BNC > Bifrost Kusama ✅

Tested

Bifrost Kusama -> Moonriver
amount - 1
sent - 1.028184000000
received - 1
fee - 0.028184000000
Extrinsic:
https://bifrost-kusama.subscan.io/extrinsic/2148065-2
Event:
https://moonriver.subscan.io/extrinsic/2244715-0?event=2244715-2

Moonriver -> Bifrost Kusama
amount - 1
sent - 1.005120000000
received - 1
fee - 0.00512
Extrinsic:
https://moonriver.subscan.io/extrinsic/2244840-3
Event:
https://bifrost-kusama.subscan.io/extrinsic/2148192-1?event=2148192-120

Moonriver < KINT > Kintsugi ✅

Tested

Kintsugi-> Moonriver
amount - 1
sent - 1.000845000000
received - 1
fee - 0.000845000000
Extrinsic:
https://kintsugi.subscan.io/extrinsic/1183541-2
Event:
https://moonriver.subscan.io/extrinsic/2244904-0?event=2244904-2

Moonriver -> Kintsugi
amount - 0.5
sent - 0.500248640000
received - 0.5
fee - 0.000248640000
Extrinsic:
https://moonriver.subscan.io/extrinsic/2244914-3
Event:
https://kintsugi.subscan.io/extrinsic/1183553-1?event=1183553-10

Also it fixes some problem in generation script

Task linked: CU-2t7uc5a XCM transfers for Moonriver


I use the 1Password CLI and a custom script to inject the secrets. That script is wrapped into an app, made in Platypus. It asks for the environment (Staging or Production) and should then choose the right secret.

          I use the 1Password CLI and a custom script to inject the secrets. That script is wrapped into an app, made in Platypus. It asks for the environment (**Staging** or **Production**) and should then choose the right secret.

The script runs fine, but I get a similar error.
Staging
Installing Requirements
Requirement already satisfied: configparser in /opt/homebrew/lib/python3.11/site-packages (from -r requirements.txt (line 1)) (6.0.0)
Requirement already satisfied: requests in /opt/homebrew/lib/python3.11/site-packages (from -r requirements.txt (line 2)) (2.31.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/homebrew/lib/python3.11/site-packages (from requests->-r requirements.txt (line 2)) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /opt/homebrew/lib/python3.11/site-packages (from requests->-r requirements.txt (line 2)) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/homebrew/lib/python3.11/site-packages (from requests->-r requirements.txt (line 2)) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in /opt/homebrew/lib/python3.11/site-packages (from requests->-r requirements.txt (line 2)) (2023.11.17)
Running Jamf2Snipe
Traceback (most recent call last):
  File "/PATH/Jamf2Snipe.app/Contents/Resources/jamf2snipe", line 52, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'
This is the end

What could be the culprit here? I followed the instructions and also created the virtualenv .
Originally posted by @kMikaZu in https://github.com/grokability/jamf2snipe/issues/67#issuecomment-1866188108

@jerm

Any news on this? Could be useful for the Kandji Sync script as well!

@kMikaZu This seems like an issue with how Playpus is (not?) using the virtualenv, rather than a jamf2snipe issue. I just double-checled that we're not specifying a python binary, but rather picking it from the environment
#!/usr/bin/env python3

So that should "just work"..... but I really know nothing about how Platypus do.
Is this something you'd be willing to open-source? It's a cool use-case, but if it's a closed app, it's such a niche, possibly Platypus-specific, issue that this is where I'd direct you to our support plans.
If we're helping out the community, though, it's way easier to justify diving into it pro bono ;)

Don't know for sure what you are meaning with open-source? If you mean like: Providing a guide how to make a Platypus-app of this nice script, of course! With instructions etc. I have plans to make it happen for the Kandji Snipe script as well.


Closes #1

This PR implements new broker-side backoff mechanics that is covered with tests

Codecov Report

Merging #8 into master will increase coverage by 7.58%.
The diff coverage is 94.38%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
+ Coverage   86.48%   94.06%   +7.58%
==========================================
  Files           4        8       +4
  Lines         185      489     +304
==========================================
+ Hits          160      460     +300
- Misses         25       29       +4

Flag
Coverage Δ

#unittests
94.06% <94.38%> (+7.58%)
:arrow_up:

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

Impacted Files
Coverage Δ

amqp_events/config.py
80.00% <ø> (ø)

demo/tasks.py
83.33% <90.00%> (ø)

demo/tests.py
93.66% <91.81%> (-6.34%)
:arrow_down:

amqp_events/celery.py
99.17% <99.15%> (ø)

amqp_events/task.py
100.00% <100.00%> (ø)

demo/celery.py
100.00% <100.00%> (ø)

demo/events.py
58.33% <0.00%> (ø)

... and 2 more

Continue to review full report at Codecov.

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

👍
Could you move https://github.com/just-work/celery-amqp-events/issues/1#issuecomment-694379510 into README or just refer to it. This comment describes the concept clearly.


Logging/Saving Settings and Instructions for Inference Jobs

There needs to be a way to log or save all settings and instructions provided for every inference job that the vLLM inference server receives. This would be useful for debugging purposes, as it would allow us to track and analyze the input data and configurations used for each job.
Proposed solution :
Implement a logging mechanism that captures and stores the following information for each inference job:

Model parameters (e.g., model name, version, quantization settings)
Input data (e.g., prompt, context, or other input files)
Inference settings (e.g., temperature, top-k, top-p, number of tokens, etc.)
Timestamp and other relevant metadata

Alot of information is stored in the save directory in history.json for every inference job.  It has everything you mentioned, except not perhaps as much detail -- e.g.no input files, but just whether there are input files.
In addition, vLLM or TGI can also change its logging.

Hi, the API call and history.json does contain 'save_dict['sources']` as the list of sources used.

I see, thanks!


Patch 1

Field "id_lang" in emailsubscription table
Issue: https://github.com/PrestaShop/PrestaShop/issues/13453

Thank you @Codencode
Is it possible to display the language in the module below ?

This could be usefull to avoid going into databse to get this information

Thank you @Codencode
Is it possible to add a column to display the language in the module below ?

This could be usefull to avoid going into databse to get this information

Thank you @Codencode
Is it possible to add a column to display the language in the module below ?

This could be usefull to avoid going into databse to get this information

@marionf
I just added the code to do it.

@Codencode
I have the error below when I try to configure the module

@Codencode
I have the error below when I try to configure the module

@marionf
Sorry I made a copy/paste error.
Anyway I solved it.

@marionf
Previously I also proposed a solution to an error, if you want you can take a look here:
https://github.com/PrestaShop/PrestaShop/pull/13668
Thanks!

@Codencode
I just found a new issue after subscribing to the newsletter with GB language

Previously I also proposed a solution to an error, if you want you can take a look here:
PrestaShop/PrestaShop#13668

Your PR should be reviewed by our developers before to be tested

@marionf
I also did some tests with the GB language and I haven't found problems. However, the error should not depend on the changes I have made.
I believe that the system did not correctly evaluate the "newsletter_date_add" field when registering for the newsletter.

Humm, that's weird because I don't have it when I switch on master branch
https://drive.google.com/file/d/15px51utBqqBFaXnhX2BkP0v9VPO3OPd7/view?usp=sharing

Could you send me a copy of your database?

@marionf
I solved it.
Moreover, I noticed that when the user is registring at the site and simultaneously he is registring to the newsletter, if the newsletter voucher is active (configuration NW_VOUCHER_CODE) the system does not send the email with the code. Can I make the change in this patch, or do I need to make a new pull request?

Humm, that's weird because I don't have it when I switch on master branch
Please, take a look at the screenrecord below
https://drive.google.com/file/d/15px51utBqqBFaXnhX2BkP0v9VPO3OPd7/view?usp=sharing

@marionf
I solved it.
Moreover, I noticed that when the user is registring at the site and simultaneously he is registring to the newsletter, if the newsletter voucher is active (configuration NW_VOUCHER_CODE) the system does not send the email with the code. Can I make the change in this patch, or do I need to make a new pull request?

@Codencode
It seems there is still an issue with GB language.
I try to register to the newsletter with GB language and the subscriber isn't displayed in the module
https://drive.google.com/file/d/1zeCY4sXOO7fsf_j6jUWQwk2f-z1fLIVu/view?usp=sharing

Moreover, I noticed that when the user is registring at the site and simultaneously he is registring to the newsletter, if the newsletter voucher is active (configuration NW_VOUCHER_CODE) the system does not send the email with the code. Can I make the change in this patch, or do I need to make a new pull request?

Could you please create another PR as it's another issue ?

@marionf

It seems there is still an issue with GB language.
I try to register to the newsletter with GB language and the subscriber isn't displayed in the module

The list shows only the active emails. To view the last one, you need to activate the registration via the email sent to you.

Could you please create another PR as it's another issue?

Yes, can I use version 2.3.3 for the new PR?

Oh yes, my bad I forget that !
It seems good for me, thank you @Codencode
Let's ask for code review now @PrestaShop/prestashop-core-developers
And sorry but I don't have the answer for the version, let's ask also to @PrestaShop/prestashop-core-developers

Oh yes, my bad I forget that !
It seems good for me, thank you @Codencode
Let's ask for code review now @PrestaShop/prestashop-core-developers
And sorry but I don't have the answer for the version, let's ask also to @PrestaShop/prestashop-core-developers

@marionf
Ok,
I asked it because this new modification requires the module to be hooked to 2 hooks, so I have to create instructions for upgrading from the previous version.
Thanks!

Hello @Codencode
I'm wondering why do you need to store the language of the user? As you can get it through the customer table, and it is more up to date.
Or do you only need it for visitors that subscribed to the newsletter without creating an account yet?
Also since this is a new feature the new version number should rather be 2.4.0 (the last digit is used for bug fixes)

Hello @Codencode
I'm wondering why do you need to store the language of the user? As you can get it through the customer table, and it is more up to date.
Or do you only need it for visitors that subscribed to the newsletter without creating an account yet?

It is useful to know the language of visitors registered for the newsletter and not to the site.

Also since this is a new feature the new version number should rather be 2.4.0 (the last digit is used for bug fixes)

It's true, I hadn't really thought of it.
Thank you!

Also you need to target the dev branch the master branch is only used by the PrestaShop team when we will release the new module version

Oh my bad you still need to update the config.xml file for the version as well

Yes, I just did it.

Also you need to target the dev branch the master branch is only used by the PrestaShop team when we will release the new module version

Ok. Could you explain me how can I do it?

You just need to"edit" your PR and change the target branch (I did for you 😉)

You just need to"edit" your PR and change the target branch (I did for you 😉)

OK, thanks!

Hello @Codencode
Thank you for your contribution :)

Thanks @Codencode


[docs] Update a few types

Is it clearer if all the *.server files have a load function with  LayoutServerLoad or PageServerLoad type?
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Test failures are unrelated, doing another PR to fix it


Add support for initilializers

Fixes #1395

coverage: 90.841% (-0.2%) from 91.07%
when pulling 0d9a54d1938439877ef549d4e1b5c6f8cd95aaa2 on Mohammad3id:swift2objc-initializers
into 75805b2f46d747643af3fb71c2abc84296ba4e32 on dart-lang:main.


OSS Index

Hi
I have checked that when you activate OSS Index, you open a connection with their servers. Do you know if they store any information about the report, project, etc?
Thanks

Honestly - I have no idea. That was contributed by the OSS Index Analyzer team. However, companies that operate public repos like maven central, docker hub, etc. already have records of the downloads by IP address...


About GPU consumption

Thanks for your excellent work!
If I want to reproduce the result in paper, how many Tesla V100s or GPU memory are needed?

Thanks for your interest in our work!
A single Tesla V100 can reproduce the result.


Connectors for Teradata and Microstrategy

Is your feature request related to a problem? Please describe.
Connector for Teradata and MicroStrategy are required to ingest data in OpenMetadata

duplicate of #1077


Hide the number of places left for activities for people that are not signed in

You can see the number of places left for an activity when you click on the activity even when you are not logged in.

We are hiding the number when there are more then 10 places left ("There are places left for this activity") and otherwise the number.


fixed 'element not visible' when 'high-resolution' flag on

by clicking the "big_play_button" the control bar becomes visible hence we're able to select the high-resolution source

@li-xinyang please reopen #90

reopened the issue


[Hotfix] Add missing org policies

Gallery hotfix... see:

https://github.com/NuGet/NuGetGallery/issues/6191
https://github.com/NuGet/NuGetGallery/issues/6194

As reported by @loic-sharma , is regression from https://github.com/NuGet/NuGetGallery/pull/6140

Should we add a test for this?

@dtivel Missed your comment, but opened tracking item against myself for adding test
https://github.com/NuGet/Engineering/issues/1550

AAd doesn't work, now 500 errors


api

When will opensearch have its own Java API client to replace the Java API of elastic search?
Besides, when can we have a fully functional Python API client?

Java client was released today: https://github.com/opensearch-project/opensearch-build/issues/585#issuecomment-949054159


Workspace files are not platform agnostic

Issue Type: Bug

Create a workspace file (.code-workspace) on a Windows machine.
Add the file to the git repository so the rest of the team can take advantage of a preconfigured one.
Clone the repository on a Linux machine (supposedly another team member who is a Linux user instead of a Windows one).
VS Code will complain about being unable to locate some workspace folders.

Expected Behavior
VS Code would automatically convert Window-styled paths into Unix-styled paths (internally only) and vice versa.
Walkthrough
Duplicate the file and manually convert the paths.
Windows Machine Details (which created the file)
VS Code version: Code 1.66.2 (dfd34e8260c270da74b5c2d86d61aee4b6d56977, 2022-04-11T07:46:01.075Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.89GB (5.19GB free)

Process Argv
--crash-reporter-id 900e10ac-fc10-4c51-8225-4957ba5ee1d8

Screen Reader
no

VM
0%

You should be able to use relative paths with /, can you share an example?

Here's our workspace file:
{
	"folders": [
		{
			"name": "labeeb (workspace)",
			"path": ".",
		},
		{
			"name": "frontend (client)",
			"path": "packages\\client",
		},
		{
			"name": "backend (server)",
			"path": "packages\\server",
		},
	],
	"settings": {
		"typescript.tsdk": ".yarn/sdks/typescript/lib",
		"typescript.enablePromptUseWorkspaceTsdk": true,
	}
}

If you replace the \\ with / it should be fine. On POSIX, \ is a valid character for a file path.

On POSIX, \ is a valid character for a file path.

But you can see in the screenshot attached to the first comment vscode complaining about Unable to resolve folder
The folder do exist but vscode is not recognizing it.
The issue contains the machine details of the Windows machine.
But the screenshot is from a Linux machine and so the error exists on the Linux machine.
The workspace file works fine on windows.

If you replace the \ with / it should be fine.

Upon replacing all the \\ with / in the workspace file works fine on both Windows and Linux.
What is the problem?

Workspace files with paths containing \\ don't work properly on Linux machines. They are causing the Unable to resolve folder error.

Why it's considered a "non platform agnostic problem"?

Because if a workspace file is created using a Windows machine, then used in a Linux machine it doesn't work.

What's the expected behavior?

If a workspace file is created using a Windows machine, it should work fine on a Linux machine.
Manually replacing \\ with / is a manual solution to the issue, it's expected for vscode to have an automatic solution in itself.

Please tell me if the issue is still not clear.

When a workspace file is created from windows, we use backslash by default to keep it platform specific. If you want to share the file across OS you can change the separators to slashes.
@sandy081 @aeschli I believe one of you also contributed to the format used in multi root workspaces right? Do you remember our reasoning around picking either backslash or slash for paths in the workspace file?

Heyy, keeping it platform specific is not really bad!
But can vscode on Linux machines automatically detect Windows paths and convert them on the fly in-memory?
Just like how Windows does for Unix paths.

@Rami-Sabbagh yeah we could, but keep in mind that backslash is a valid file character on Linux, so this would essentially disable support for any paths with a backslash on Linux.

I do not remember exactly and I assume there is no particular reason. We just followed the path semantics in the platform and we never thought about this specific use case.

I was not involved in the initial decision.
I think for relative paths we should generate forward slashes by default. Workspaces with relative paths are suited to be shared in SCM and we want them to work cross platform.

Yeah I like that 👍

After some discussion we had the idea to use slash on all platforms for all paths. Advantages:

looks and reads great (vs the \\ today)
works cross platform for relative paths
you can copy and paste paths with slash and open in windows explorer and terminal

The only exception is UNC paths.


Get a passing score for CII Best Practices Badge

This is a requirement for CNCF:
https://bestpractices.coreinfrastructure.org/en

Yeah - We started on it and should actually finish it.

Badge is now there. We currently have 77%. Improving it should be simple, just minor gaps. The main point is that we also need some kind of dynamic code analysis (fuzzing), and I am not sure how other tools are solving that.

@caniszczyk what are other golang projects using for dynamic code analysis? I see that many have 100% on the badge, but I don't see what they do in this area.


refactor, expand coverage

https://trello.com/c/WQIINwnC
I feel I should try and get this merged now before I start making some more adventurous changes...

Yeah we could change the default easily and probably should TBH.


trainer.fit() stuck with accelerator set to "ddp"

🐛 Bug

The problem is that trainer.fit() with accelerator set to ddp takes extremely long time to do something before it can get CPUs and GPUs working. And I cannot interrupt the kernel but have to restart it.
Please reproduce using the BoringModel

To Reproduce
I tried the Boring Model, and I can reproduce the issue.
The only modification I made is in Define the test section. The code is below
def test_x(tmpdir):
    # init model
    model = BoringModel()

    # Initialize a trainer
    trainer = pl.Trainer(
        max_epochs=1,
        progress_bar_refresh_rate=20,
        gpus = 4, # added to use 4 gpus
        accelerator='ddp' # added to use ddp
    )

    # Train the model ⚡
    trainer.fit(model, train, val)

    trainer.test(test_dataloaders=test)

And my code that initially encountered this issue is in the discussion post.

Expected behavior
The expected behavior is that the training should start in a couple of minutes, but trainer.fit() is stuck while GPUs and CPUs stay idle.

Environment
My environment is below as detected by the official python script. I run my code on a shared GPU cluster after I apply for computation resources. I usually apply for 512GB memory, 32 cores and 4 V100. The environment is managed by my personal conda without messing with others' environment. If you want to know more about the configuration, just let me know.
(torch) [liangf@gpu208-14 liangf]$ python collect_env_details.py
* CUDA:
        - GPU:
                - Tesla V100-SXM2-32GB
                - Tesla V100-SXM2-32GB
                - Tesla V100-SXM2-32GB
                - Tesla V100-SXM2-32GB
        - available:         True
        - version:           11.0
* Packages:
        - numpy:             1.20.0
        - pyTorch_debug:     False
        - pyTorch_version:   1.7.1
        - pytorch-lightning: 1.1.8
        - tqdm:              4.56.0
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                - ELF
        - processor:         x86_64
        - python:            3.9.1
        - version:           #1 SMP Tue Nov 17 13:59:11 UTC 2020

Additional context

If I changed the code above in the boring model to the below, the trainer "works" as expected. The trainer with accelerator='dp' takes less than 1min to get everything set up and keeps CPUs and GPUs busy while the one with accelerator='ddp' takes 10min and more and does not successfully get things running before I lose my patience.
def test_x(tmpdir):
    # init model
    model = BoringModel()

    # Initialize a trainer
    trainer = pl.Trainer(
        max_epochs=1,
        progress_bar_refresh_rate=20,
        gpus = 4, # added to use 4 gpus
        accelerator='dp' # changed to use dp instead of ddp
    )

    # Train the model ⚡
    trainer.fit(model, train, val)

    trainer.test(test_dataloaders=test)

By "works" I meant it can get GPUs running, but later a runtime error is thrown. And I think this will be another issue, which maybe that the code in the boring model notebook is not runnable in multi-GPU environment. However, I don't know what is the cause, since I am just transferring from ordinary pytorch to pytorch-lightning, and the code in the notebook looks reasonably good for me.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-10-1f9f6fbe4f6c> in <module>
----> 1 test_x(tmpdir)

<ipython-input-9-8b8914eff5a4> in test_x(tmpdir)
     12
     13     # Train the model ⚡
---> 14     trainer.fit(model, train, val)
     15
     16     trainer.test(test_dataloaders=test)

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py in fit(self, model, train_dataloader, val_dataloaders, datamodule)
    508         self.call_hook('on_fit_start')
    509
--> 510         results = self.accelerator_backend.train()
    511         self.accelerator_backend.teardown()
    512

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/accelerators/accelerator.py in train(self)
     55     def train(self):
     56         self.trainer.setup_trainer(self.trainer.model)
---> 57         return self.train_or_test()
     58
     59     def teardown(self):

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/accelerators/accelerator.py in train_or_test(self)
     72         else:
     73             self.trainer.train_loop.setup_training()
---> 74             results = self.trainer.train()
     75         return results
     76

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py in train(self)
    559                 with self.profiler.profile("run_training_epoch"):
    560                     # run train epoch
--> 561                     self.train_loop.run_training_epoch()
    562
    563                 if self.max_steps and self.max_steps <= self.global_step:

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/training_loop.py in run_training_epoch(self)
    548             # ------------------------------------
    549             with self.trainer.profiler.profile("run_training_batch"):
--> 550                 batch_output = self.run_training_batch(batch, batch_idx, dataloader_idx)
    551
    552             # when returning -1 from train_step, we end epoch early

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/training_loop.py in run_training_batch(self, batch, batch_idx, dataloader_idx)
    716
    717                         # optimizer step
--> 718                         self.optimizer_step(optimizer, opt_idx, batch_idx, train_step_and_backward_closure)
    719
    720                     else:

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/training_loop.py in optimizer_step(self, optimizer, opt_idx, batch_idx, train_step_and_backward_closure)
    483
    484         # model hook
--> 485         model_ref.optimizer_step(
    486             self.trainer.current_epoch,
    487             batch_idx,

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/core/lightning.py in optimizer_step(self, epoch, batch_idx, optimizer, optimizer_idx, optimizer_closure, on_tpu, using_native_amp, using_lbfgs)
   1296
   1297         """
-> 1298         optimizer.step(closure=optimizer_closure)
   1299
   1300     def optimizer_zero_grad(

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/core/optimizer.py in step(self, closure, make_optimizer_step, *args, **kwargs)
    284
    285         if make_optimizer_step:
--> 286             self.__optimizer_step(*args, closure=closure, profiler_name=profiler_name, **kwargs)
    287         else:
    288             # make sure to call optimizer_closure when accumulating

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/core/optimizer.py in __optimizer_step(self, closure, profiler_name, *args, **kwargs)
    142         else:
    143             with trainer.profiler.profile(profiler_name):
--> 144                 optimizer.step(closure=closure, *args, **kwargs)
    145
    146         accelerator_backend = trainer.accelerator_backend

~/miniconda3/envs/torch/lib/python3.9/site-packages/torch/optim/lr_scheduler.py in wrapper(*args, **kwargs)
     65                 instance._step_count += 1
     66                 wrapped = func.__get__(instance, cls)
---> 67                 return wrapped(*args, **kwargs)
     68
     69             # Note that the returned function here is no longer a bound method,

~/miniconda3/envs/torch/lib/python3.9/site-packages/torch/autograd/grad_mode.py in decorate_context(*args, **kwargs)
     24         def decorate_context(*args, **kwargs):
     25             with self.__class__():
---> 26                 return func(*args, **kwargs)
     27         return cast(F, decorate_context)
     28

~/miniconda3/envs/torch/lib/python3.9/site-packages/torch/optim/sgd.py in step(self, closure)
     84         if closure is not None:
     85             with torch.enable_grad():
---> 86                 loss = closure()
     87
     88         for group in self.param_groups:

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/training_loop.py in train_step_and_backward_closure()
    706
    707                         def train_step_and_backward_closure():
--> 708                             result = self.training_step_and_backward(
    709                                 split_batch,
    710                                 batch_idx,

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/training_loop.py in training_step_and_backward(self, split_batch, batch_idx, opt_idx, optimizer, hiddens)
    814                 # backward pass
    815                 with self.trainer.profiler.profile("model_backward"):
--> 816                     self.backward(result, optimizer, opt_idx)
    817
    818                 # hook - call this hook only

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/training_loop.py in backward(self, result, optimizer, opt_idx, *args, **kwargs)
    840             self.trainer.accelerator_backend.backward(result, optimizer, opt_idx, *args, **kwargs)
    841         else:
--> 842             result.closure_loss = self.trainer.accelerator_backend.backward(
    843                 result.closure_loss, optimizer, opt_idx, *args, **kwargs
    844             )

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/accelerators/accelerator.py in backward(self, closure_loss, optimizer, opt_idx, *args, **kwargs)
    107             # do backward pass
    108             model = self.trainer.get_model()
--> 109             model.backward(closure_loss, optimizer, opt_idx, *args, **kwargs)
    110
    111             # once backward has been applied, release graph

~/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/core/lightning.py in backward(self, loss, optimizer, optimizer_idx, *args, **kwargs)
   1160         """
   1161         if self.trainer.train_loop.automatic_optimization or self._running_manual_backward:
-> 1162             loss.backward(*args, **kwargs)
   1163
   1164     def toggle_optimizer(self, optimizer: Optimizer, optimizer_idx: int):

~/miniconda3/envs/torch/lib/python3.9/site-packages/torch/tensor.py in backward(self, gradient, retain_graph, create_graph)
    219                 retain_graph=retain_graph,
    220                 create_graph=create_graph)
--> 221         torch.autograd.backward(self, gradient, retain_graph, create_graph)
    222
    223     def register_hook(self, hook):

~/miniconda3/envs/torch/lib/python3.9/site-packages/torch/autograd/__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
    124
    125     grad_tensors_ = _tensor_or_tensors_to_tuple(grad_tensors, len(tensors))
--> 126     grad_tensors_ = _make_grads(tensors, grad_tensors_)
    127     if retain_graph is None:
    128         retain_graph = create_graph

~/miniconda3/envs/torch/lib/python3.9/site-packages/torch/autograd/__init__.py in _make_grads(outputs, grads)
     48             if out.requires_grad:
     49                 if out.numel() != 1:
---> 50                     raise RuntimeError("grad can be implicitly created only for scalar outputs")
     51                 new_grads.append(torch.ones_like(out, memory_format=torch.preserve_format))
     52             else:

RuntimeError: grad can be implicitly created only for scalar outputs

I answered in the discussion post about usage of ddp in Jupyter environment.
About your second error:

By "works" I meant it can get GPUs running, but later a runtime error is thrown. And I think this will be another issue, which maybe that the code in the boring model notebook is not runnable in multi-GPU environment.

The boring model runs fine for multi gpu (current code from this repo), I can confirm that on master and also with your version  1.1.8.
Please post your full boring model as one script so that I can run it.

The only modification I made just gpus=4 and accelerator, but anyway, my notebook is here and you can see the backtrace stack and environment settings. I ran it using Jupyter Lab on a shared GPU cluster. Neither accelerator=dp nor accelerator=ddp_spawn works, which is weird.

Have you tried pytorch-lightning 1.1.6? For me, after 1.1.7, ddp training is stuck.. I also wonder what a cause is.

Dear @ifsheldon,
ddp doesn't work in notebook if you are trying to do so.
Best,
T.C

I have had this kind of issue. The training just got stuck after two epochs when using ddp. I tried out a couple of things that didn't work, including lessening the number of workers in the data loader. This only happened when I used 3 gpus. when using two gpus, this didn't happen.  Cuda version 10.2. I also tried in another server, with the same issue repeating itself

Have you tried pytorch-lightning 1.1.6? For me, after 1.1.7, ddp training is stuck.. I also wonder what a cause is.

I have tried uninstalling 1.1.7 and installing 1.1.6 and it worked without any issue !

Hi @IhabBendidi can you check if this https://github.com/PyTorchLightning/pytorch-lightning/issues/5604#issuecomment-785314359 fixes your problem?
That might be a more appropriate issue than this one

Hi @IhabBendidi can you check if this #5604 (comment) fixes your problem?
That might be a more appropriate issue than this one

That solved it thanks !


feat: allow users to transfer money to a .stark name

This PR adds support to sending money to a .stark domain.
Close #185

We did some revamp on the SNAP, and some of the RPC is consist by new structure

Thanks @stanleyyconsensys , I updated my PR


Change actondb default gossip port

I think it's a short-coming in the gossip protocol so we only gossip one of the ports, the normal port that clients connect to, so to find the gossip port we just take that port + 1. Thus, users are not really free to set the gossip port however they want. Maybe it shouldn't even be configurable given this constraint... however, changing the default port is at least a simple way of leading users to the right thing.

@aagapi FYI

@aagapi FYI

Yes, this is the correct change to make for now, to allow server to be run with default args, as per the discussion thread in https://github.com/actonlang/acton/issues/907. Please go ahead and merge it.

Hell, maybe gossip port shouldn't even be configurable given that things will just not work if you change it...

Hell, maybe gossip port shouldn't even be configurable given that things will just not work if you change it...

I think the correct solution is probably to allow both ports to be configurable, and advertise both ports in gossip messages, such that RTSs learn RPC ports of servers dynamically as servers join via gossip. This would allow most flexibility in case people have special constraints on what ports they can keep open for servers in their particular deployment.
At the moment, only gossip ports are gossiped between servers (and configured as seed contact points initially), and the RPC ports are derived by clients (RTSs) by convention on base of the gossip port, which is a bit more rigid and requires the user to be aware of the implicit port offset convention when deploying, which I don't really like.


Unhandled Rejection (TypeError): secondary.bands is undefined When gateway loses 5g

Whenever The gateway loses 5G it seems to trigger the error

Thanks for reporting, @hamhamfreak

@hamhamfreak fixed - new release is out https://github.com/highvolt-dev/tmo-live-graph/releases/tag/v0.0.6


react/future/react-0.13 improvements for support in IntelliJ

-slight reordering of definitions so that IntelliJ/Webstorm new support for TypeScript 1.4 syntax does not choke
-loosening of React.createElement definition so that imported Component classes can be easily passed as parameters. See project at https://github.com/bgrieder/react-templates-typescript-test.git for example (main.rt.ts)

It looks like you have a bug in your main.rt.ts file. Your Counter component requires an initialCount prop, not count.

@vsiao  main.rt.ts fixed. Thanks

I will close this request and re-opened one as needed for the re-ordering of the .d.ts file if this is still needed


Add calls to action to homepage

Courtesy of this article, I should add some calls to action to the homepage. Maybe links to the games or such.

As in #18, the landing page now has a "list" of things I make. I could add links to parts of the page, i. e. games would link to the games card.


fix build for mill

This PR fix the mill build which failed for a long time.
It can be work with freechipsproject/chisel3#1504
Request review from @chick

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@chick request for review.


Mutating Open Assessments

Currently, missions that are open are no longer updated when the updater run. Im guessing this rule was created to ensure that missions are not mutated after it is open.
However, over the last sems, mistakes with missions do happen and when they do they are labeled with the OBSOLETE in the title and a new one is created in place.
This creates some issues. Its confusing for students keeping track of the right assessments and two it makes it impossible to track progress cause the number of missions keep increasing. See https://github.com/source-academy/cadet/issues/129
To solve this, I propose we make the check a little smarter. I suggest we allow alterations to open missions provided no questions are added or removed. (This messes with the foreign keys).

This would be a huge improvement. We could remove typos, or add clarifications.

Addressed by https://github.com/source-academy/cadet/pull/458

This is now possible with #258


Support writing to Pubsub with ordering key; Add PubsubMessage SchemaCoder

Fixes #21162
I wasn't able to use the existing PubsubMessageWithAttributesAndMessageIdCoder because it doesn't encode/decode the message's topic, which is needed for dynamic destinations. There are already a number of existing coders (6) developed over the years. Every time a new feature/parameter is added to PubsubMessage, we need to make a new coder and fork the code to maintain update compatibility.
To mitigate this for the future, this PR introduces a SchemaCoder for PubsubMessage. SchemaCoder allows us to evolve the  schema over time, so hopefully new features can be added in the future without breaking update compatibility.

Note that PubsubMessage's default coder is PubsubMessageWithAttributesCoder, which can't be updated without breaking backwards compatibility (see #23525). Wherever PubsubMessages are created in a pipeline, we would have to manually override the coder to PubsubMessageSchemaCoder.getSchemaCoder() or the ordering key will get lost.

Confirmed that ordering key is preserved with both direct runner and dataflow runner

Thanks @ahmedabu98! At first glance, this approach seems massively preferable to the set of bespoke coders that already exist, and those future ones that might need to exist later. I’d be happy to take a closer look next week!

@iht and I have been looking into this today for a Dataflow customer and we came across a few details that seem to be missing on this PR:

This does not work with DataflowRunner unless --experiments=enable_custom_pubsub_sink is specified since Dataflow's native implementation for PubsubUnboundedSink omits the ordering key before publishing.
PubsubUnboundedSink.PubsubSink and PubsubUnboundedSink.PubsubDynamicSink do not group on the ordering key property, which will cause multiple ordering keys to end up in the same batch for publishing.
PubsubUnboundedSink sets a fixed number of shards (100) on both PubsubUnboundedSink.PubsubSink and PubsubUnboundedSink.PubsubDynamicSink to improve latency within the sink. Simply adding the ordering key as an additional property may result in many small batches being produced which can have a negative impact due to the per call overhead on batch publishing.

The issue we're working on is time-sensitive so we're trying to wrap up our patches today.
To avoid user confusion this PR must incorporate changes to PubsubUnboundedSink.ShardFn to avoid triggering this error in Pub/Sub:
In a single publish request, all messages must have no ordering key or they must all have the same ordering key. [code=539b]

A nice to have would be enabling users to customize the output sharding range based on ordering keys. Given the fact that throughput per ordering key is capped to 1 MBps I'd almost be inclined to say the ordering key should replace the output shard entirely.
@ahmedabu98 I'm happy to share our changes in a bit and I'll set up a PR against the source branch of this PR.

@sjvanrossum thank you for these insights, I'd be happy to take a look at your PR
I'm not familiar with the internal implementation and how it relates to this one, but looks like we'd need changes there too.

@scwhittle or @reuvenlax may be able to shed a light on Dataflow's implementation and the complexity of changes needed to accommodate this feature.
Context:
To publish messages with an ordering key the sink must prepare publish batches per topic and ordering key.
My proposal for the OSS sink is to reuse the dynamic destinations sink and to append the ordering key to the topic name in the sharding key.
User configuration of the number of output shards or the use of a single output shard for messages with ordering keys (due to 1 MBps throughput limit per ordering key) is an open topic.

The DataflowRunner overrides the pubsub write transform using org.apache.beam.runners.dataflow.DataflowRunner.StreamingPubsubIOWrite so org.apache.beam.runners.dataflow.worker.PubsubSink is used.  It would be nice to prevent using the ordering key for now with the DataflowRunner unless the experiment to use the beam implementation is present.
To add support for it to Dataflow, it appears that if PUBSUB_SERIALIZED_ATTRIBUTES_FN is set, that maps bytes to PubsubMessage which already includes the ordering key.  But for the ordering key to be respected for publishing, additional changes would be needed in the dataflow service backend.  Currently it looks like it would just be dropped but if it was respected the service would also need to be updated to ensure batching doesn't occur across ordering keys.

User configuration of the number of output shards or the use of a single output shard for messages with ordering keys (due to 1 MBps throughput limit per ordering key) is an open topic.

Are you considering producing to a single ordering key from multiple distinct grouped-by keys in parallel?  Doesn't that defeat the purpose of the ordering provided? I'm also not sure it would increase the throughput beyond the 1Mb per ordering key limit. An alternative would be grouping by partitioning of the ordering keys (via deterministic hash buckets for example) and then batching just within a bundle.

The DataflowRunner overrides the pubsub write transform using org.apache.beam.runners.dataflow.DataflowRunner.StreamingPubsubIOWrite so org.apache.beam.runners.dataflow.worker.PubsubSink is used. It would be nice to prevent using the ordering key for now with the DataflowRunner unless the experiment to use the beam implementation is present.

Agreed, I'll throw an exception if the runner is DataflowRunner and the enable_custom_pubsub_sink experiment is not present during PubsubIO.Write#expand() with details and instructions to resolve the issue.

To add support for it to Dataflow, it appears that if PUBSUB_SERIALIZED_ATTRIBUTES_FN is set, that maps bytes to PubsubMessage which already includes the ordering key. But for the ordering key to be respected for publishing, additional changes would be needed in the dataflow service backend. Currently it looks like it would just be dropped but if it was respected the service would also need to be updated to ensure batching doesn't occur across ordering keys.

Agreed, I'll create a new bug for this to continue this discussion internally.

User configuration of the number of output shards or the use of a single output shard for messages with ordering keys (due to 1 MBps throughput limit per ordering key) is an open topic.

Are you considering producing to a single ordering key from multiple distinct grouped-by keys in parallel? Doesn't that defeat the purpose of the ordering provided? I'm also not sure it would increase the throughput beyond the 1Mb per ordering key limit. An alternative would be grouping by partitioning of the ordering keys (via deterministic hash buckets for example) and then batching just within a bundle.

The initial patch I wrote concatenated topic and ordering key and left output shards unchanged.
After I reviewed the ordering key limitations I realized there's almost nothing to be gained there because of the per key throughput limit.
Since messages with and without ordering keys can be published to the same topic and these limitations only apply to messages with ordering keys I'll leave the shard allocation as is for messages without an ordering key and apply a deterministic hashing function on the ordering key to determine the shard number for messages with an ordering key.
PubsubBoundedWriter batches by topic per bundle and I'll extend and reuse that in PubsubUnboundedSink to batch by topic and ordering key like you suggested.
That closely resembles what a KafkaProducer does behind the scenes to batch by topic and partition.

Highlighting this here as well, while trying to retrofit ordering keys onto the existing sinks I thought of rewriting the sink using GroupIntoBatches for ordering keys and GroupIntoBatches.WithShardedKeys for normal messages. This would unify the bounded and unbounded writers, allow runners to determine sharding for normal messages instead of 100 shards and allow ordering keys to be grouped exactly by topic and ordering key instead of explicitly bucketing with murmur3_32.
While writing that sink I stumbled on some issues regarding message size validation as documented in #31800.
I've got a few fixes in progress which will:

Fix the validation issue in PreparePubsubWriteDoFn for both REST and gRPC clients.
Use a more ergonomic batching mechanism than I had initially proposed in ahmedabu98/beam#427.

My thoughts on fixing the validation issue is to introduce a PubsubMessage.SizeValidator interface, a visitor over all fields of the message which returns size parts and is summed by PubsubMessage#validateSize(), allowing messages and attributes to be overridden to account for things like the size implicit attribute entries timestampAttribute (values are up to 20 B, millis since epoch Long#toString()) and idAttribute (values are 24 B in Dataflow's native sink, 36 B in PubsubUnboundedSink).
Coincidentally, the revised batching mechanism I had imagined turns out to be very close to the implementation found in Google Cloud Pub/Sub Client for Java (https://github.com/googleapis/java-pubsub/blob/main/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Publisher.java) and would live in PubsubClient instead of the existing implementations in BoundedWriter and PubsubUnboundedSink. Side note: The batching mechanism in the client library does not account for the encoding overhead of the topic and messages field of PublishRequest (1-3 bytes for topic, 1-5 bytes per message) which could cause batched publish requests to fail today and may still cause them to fail when Pub/Sub switches to explicit size validation if this isn't fixed, but I'll happily raise an issue or propose a fix for them separately.
@ahmedabu98 the fixes to the batching mechanism should address the comments you had raised on ahmedabu98/beam#427 about my use of variable assignments in the condition of an if statement so I'll get those commits added to that PR.
A separate PR makes more sense for the other bugfix.
In a separate comment we discussed including a GIB/GIB-WSK sink as the default sink for writes with ordering keys, but the design and implementation of that sink may add unnecessary bloat to this PR and reviews since it could be toggled for all types of writes if exposed through PubsubIO.Write#withAutoSharding() for example.
@robertwb, @Abacn any thoughts as reviewers?

I saw @scwhittle @egalpin already entered some ideas. Do you plan to finish the review in the near future? If not available I can do a first pass.
I see this new feature is guarded by a flag so won't affect existing uses if the flag is not set. So the current change looks fairly safe to get in.

I saw @scwhittle @egalpin already entered some ideas. Do you plan to finish the review in the near future? If not available I can do a first pass.

I'll have the batching fix added ahmedabu98/beam#427 before US business hours start tomorrow and I'll defer the rest to separate PRs. 👍

@Abacn no need to hold anything up on my account, I'm +1 on the concept for sure (though I haven't taken a deep dive on the latest impl). Let me know if you need extra eyes for review, but don't let me hold anything up :-) Thanks for your consideration.

Can you explain the use case for ordering keys here? Apache Beam provides
no guarantees on what order records will be written to the sink, so how are
ordering keys being used?
On Mon, Jul 8, 2024 at 12:02 PM Evan Galpin @.***>
wrote:

@Abacn https://github.com/Abacn no need to hold anything up on my
account, I'm +1 on the concept for sure (though I haven't taken a deep dive
on the latest impl). Let me know if you need extra eyes for review, but
don't let me hold anything up :-) Thanks for your consideration.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/31608#issuecomment-2214957009, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFAYJVLDWXMFEBCXBXFYCYDZLLO3TAVCNFSM6AAAAABJLI4KDOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJUHE2TOMBQHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Even though Beam itself makes no guarantee of publishing order, OrderingKeys can still be useful for creating partitions of data where the resulting partitions can be consumed (and re-consumed) in a deterministic order. It's not particularly about ordering from Beam to Pubsub, but ordering guarantees from Pubsub to downstream consumers thereafter.

So in this case you don't care exactly what the partitions are, as long as
they are created?
On Mon, Jul 8, 2024 at 2:00 PM Evan Galpin @.***> wrote:

Even though Beam itself makes no guarantee of publishing order,
OrderingKeys can still be useful for creating partitions of data where the
resulting partitions can be consumed (and re-consumed) in a deterministic
order. It's not particularly about ordering from Beam to Pubsub, but
ordering guarantees from Pubsub to downstream consumers thereafter.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/31608#issuecomment-2215291806, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFAYJVN6Z2WLMMUGYDRQY7DZLL4W5AVCNFSM6AAAAABJLI4KDOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJVGI4TCOBQGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Can you explain the use case for ordering keys here? Apache Beam provides no guarantees on what order records will be written to the sink, so how are ordering keys being used?

For a customer I'm currently working with they're aware of that and they can deal with out of order delivery through sequence IDs. Ordering keys would enable them to limit push message delivery delivery to a downstream consumer since there can be only one outstanding message per ordering key. See https://cloud.google.com/pubsub/docs/ordering#subscriber_client_behavior_for_message_ordering for details on the limitations on ordering key consumers.

So in this case you don't care exactly what the partitions are, as long as they are created?

I would want to be able to partition based on some attribute of the data (ex. user_id) such that data for user_id n always ended up in partition x.  I believe that should be fully doable with support for ordering key here; I've done that before with great effort haha (enabling dataflow experiments, building local versions of pubsubIO, etc).  And similar to what @sjvanrossum mentioned, I would deal with out-of-order data using application layer logic within consumers and using data within the message payloads to decide desired order.

@ahmedabu98 addressed your comments in ahmedabu98/beam#427.

Hey @sjvanrossum, your patches have been added and tests are green! Do you mind giving it a last look before I merge?

Thanks for reviewing @scwhittle, @sjvanrossum
Can you take another look? If everything's good, I can merge this PR

Friendly ping @scwhittle @sjvanrossum

@scwhittle I just realized that the PubSubClient implementations used by the writer transforms do not apply flow control to publish calls. The throughput quota per ordering key is capped to 1MB/s and would only be enforced by server-side rejections if exceeded by this connector. The official Pub/Sub client library for Java provides client-side flow control and batching per ordering key as well as an executor service that sends batches for different ordering keys concurrently and sequentially sending batches for a single ordering key.
Would it make sense to change the client implementation to the official client library or should we duplicate that functionality by extending the Beam clients to handle this?

@scwhittle I just realized that the PubSubClient implementations used by the writer transforms do not apply flow control to publish calls. The throughput quota per ordering key is capped to 1MB/s and would only be enforced by server-side rejections if exceeded by this connector. The official Pub/Sub client library for Java provides client-side flow control and batching per ordering key as well as an executor service that sends batches for different ordering keys concurrently and sequentially sending batches for a single ordering key.
Would it make sense to change the client implementation to the official client library or should we duplicate that functionality by extending the Beam clients to handle this?

I think using the pubsub provided client would be good to do and was wondering why we weren't using it.  I'm guessing it might not have been available when the original Beam implementation was done. Perhaps this could go in with some minimal backoff sleeping to retry such errors and that can be done separately?


Make entities extendable

This makes it possible to extend entities in sylius-like manner.

@sylius/core-team up ? :)

@Zales0123 What we also need is integration with other changes that occurred in Sylius 1.4 ( i.e. the .env files convention).
The update of Sylius version in InvoicingPlugin will happen in a while, merging the update-related PR and then rebasing this one with master will make the whole process much easier.
To sum up, stay tuned :D

@bartoszpietrzak1994 it depends how long the "in a while" is but ok, i will wait :)

We can also JUST FOR NOW stay on Sylius 1.3 only (as it has been done for RefundPlugin) to make this PR pass and update to Sylius 1.4 afterward. In the end, supporting ^1.3 (which allows Sylius 1.4) is quite misleading, as we're not sure it works in 100% together ⚖

@Zales0123 @tautelis The integration with Sylius 1.4 has just been merged. I'll rebase this PR, resolve potential conflicts and see how it'll work.

Hello @tautelis
After some investigation, it occurred that unfortunately there is a bug in Sylius which make the combination of MappedSuperclass and embeddable not working.
The only possible solution that would make your changes work right now is to provide a hotfix in the InvoicingPlugin code and remove it once new minor Sylius version is released. It is hard to tell how time-consuming it would be.
The other solution that comes to my mind is to get rid of the embeddables and provide associations between both Invoice and InvoiceChannel and Invoice and ShopBillingData. However, that would cause unpleasant BC-breaks (as well as data migrations) and would not solve the root of the problem.

@bartoszpietrzak1994 it's not a stable version yet so people are expecting BC breaks. Event Sylius itself had a BC breaks even on bugfix versions.

@bartoszpietrzak1994 @tautelis for now maybe juste don't make extendable the embeddable entities I think the only one embedded is InvoiceShopBillingData.
@tautelis plz add the PhpCsFixer config and remove the mapped-superclass for InvoiceShopBillingData.
The rest of the PR should be merged as it is. There should be no BC break.

@wadjeroudi what do you mean by "remove the mapped-superclass for InvoiceShopBillingData". InvoiceShopBillingData is not mapped-superclass. Invoice is mapped superclass so probably you mean to remove mapped-superclass from invoice (the main plugin entity)?

Anyhow, for certain reasons our project is locked to symfony 3.4 and sylius 1.3.8 so the latest InvoicingPlugin version available for us is 0.6.0. Therefore we decided to continue developing this plugin on my fork from 0.6.0 version.
If interested here we made it extendable:
https://github.com/Sylius/InvoicingPlugin/compare/v0.6.0...tautelis:v0.6.0_entities_made_extendable
Here useless invoice repository definition removed to follow sylius standard:
https://github.com/Sylius/InvoicingPlugin/compare/v0.6.0...tautelis:v0.6.0_standard_invoice_repository
The latter should work for latest master as well.

This is also a problem in the RefundPlugin. I tried this blindly without checking in #122 and ran into the embedded-Problem.
We really need to fix this.
Our temporary solution for this is to override the place where doctrine looks for mappings for a bundle and move all the doctrine mappings to app/Resources//config/doctrine and change the mapping type to mapped-superclass where needed (currently only on the invoice entity, but on 1.3. the embedded works for some reason)
Relevant PR on RefundPlugin: https://github.com/Sylius/RefundPlugin/pull/130

Addendum to my last comment: We told doctrine to look for mappings in a different folder for a bundle, but only changed one entity from entity to mapped superclass. That entity does not use embeddables which is why our setup works.
We had to put every mapping into the new folder though, because otherwise doctrine will miss the other mappings.
I can offer more information if needed :)

This PR should pass after https://github.com/Sylius/SyliusResourceBundle/pull/89 is merged and used by this plugin.

Thank you, Vytautas! :1st_place_medal:


2021-02-22 Version 1.0.5: Updated translations

Codecov Report

Merging #33 (ac6c706) into master (2899871) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #33   +/-   ##
=========================================
  Coverage     67.90%   67.90%
  Complexity        1        1
=========================================
  Files            49       49
  Lines          1156     1156
  Branches         67       67
=========================================
  Hits            785      785
  Misses          326      326
  Partials         45       45

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 2899871...ac6c706. Read the comment docs.


State change not working

Describe the bug
I am using the otbr-posix on Ubuntu 22.04 Server.
I am using the ot-rcp project from the Silicon Labs Simplicity Studio 5 example projects for EFR32.
Everything builds and installs fine.
The RCP gets detected by otbr-agent and I can setup a Thread network properly.
We have other Silicon Labs Thread devices on the network that are on an old stack of Thread. Let's call this 'IOT Network'.
When this OTBR joins the 'IOT Network', the OTBR remains a 'child' forever and does not become a 'router'.
User@Ubuntu2204-08082022:~$ sudo ot-ctl version
OPENTHREAD/0a41196; POSIX; Aug 10 2022 12:54:44
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl state
child
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl state router
Error 27: NotCapable
User@Ubuntu2204-08082022:~$ sudo ot-ctl routereligible
Disabled
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl routereligible enable
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl routereligible
Disabled
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl routereligible disable
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl routereligible enable
Done
User@Ubuntu2204-08082022:~$ sudo ot-ctl routereligible
Disabled
Done
To Reproduce
Information to reproduce the behavior, including:

Git commit id - 4659195 https://github.com/openthread/ot-br-posix/commit/4659195ef8faec0ab51120689d4ee759737b574e
IEEE 802.15.4 hardware platform - Silicon Labs EFR32 (MGM12P32F1024GE)
Build steps - Clone otbr-posix, build and install OpenThread Border Router. Use ot-rcp example project for EFR32 and flash to EFR32 radio board. Connect the RCP to the OTBR and setup a sample network. Use the same network dataset on 2 other EFR32 based nodes.
Network topology - 3 devices (1 x OTBR + 2 x Silicon Labs Thread Stack devices)

Expected behavior
In the past versions of OTBR, I have seen the state change as per the sudo ot-ctl state router / sudo ot-ctl state leader command.
Console/log output
Outputs attached above in the description.
Additional context

routereligible remains disabled throughout. How do I enable it?
What is Error 27. Not Capable. How do I make it capable of changing states?

The "Not Capable" error indicates that MleRouter::IsRouterEligible() is returning false.
There are a number of reasons why this may be the case. One reason could be due to how the Active Operational Dataset is configured. Can you provide the output of dataset active?

User@Ubuntu2204-08082022:~$ sudo ot-ctl dataset active
Active Timestamp: 1
Channel: 11
Channel Mask: 0x07fff800
Ext PAN ID: 7ec1e5de5fa2e4e6
Mesh Local Prefix: fdaa:4cd3:a4e0:1::/64
Network Key: 2a5345435552452a706173732a484631
Network Name: IOT-Network
PAN ID: 0x5601
PSKc: 12699c676905b6c3576dd1dbe272270a
Security Policy: 672 onrc
Done

Could this be a bug where the RCP is downgrading irreversibly into a End-Device rather than moving to 'child' role reversibly?

Could this be a bug where the RCP is downgrading irreversibly into a End-Device rather than moving to 'child' role reversibly?

I'm not aware of how this could happen.
Are you able to check what condition is causing MleRouter::IsRouterEligible() to return false?

Closing stale issue.


Is it possible to obtain the text representation generated fake examples?

Thank you for this Pytorch implementation! I'm quite new with GANs and curious if it's possible to text representation of the generated examples. Thought this would be possible since GANs when applied in computer vision tasks can generate images (i.e human faces). Hoping to hear from you soon :)

Unfortunately to the best of my knowledge, there is no method to derive a text from the generated vectors. I worked on this topic but it is quite challenging.
GANs are effective in computer vision for generating images, but images are really different from texts. Images are made of pixels whose "values" are in a continuous space: in other words, you can slightly change the RED channel of a pixel and you just see it... less red. If you change just one byte in a sentence you can radically change its meaning.
(More technically, it is difficult to generate a text in the GANBERT training process as a sentence is not differentiable)
I would suggest considering different language models, such as GPT3 or BART.
Hope it helps
Bests
Danilo


Update client3:circe, client3:core, ... to 3.8.10

Updates

com.softwaremill.sttp.client3:circe
com.softwaremill.sttp.client3:core
com.softwaremill.sttp.client3:zio

from 3.8.3 to 3.8.10.
GitHub Release Notes - Version Diff
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 = "com.softwaremill.sttp.client3" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.softwaremill.sttp.client3" }
}]

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

Superseded by #423.


Split spanner integration tests that cannot use the emulator

What component of google-cloud-cpp is this feature request for?
Cloud Spanner
Is your feature request related to a problem? Please describe.
Some of the integration tests and examples cannot run against the emulator. The tests detect when the emulator is in use and return immediately (via GTEST_SKIP() or something similar).
Describe the solution you'd like
If we can split them to separate programs then we can label the program as integration-test-no-emulator and the CI scripts will run them against production. Best of both worlds?
Describe alternatives you've considered
Run all the tests against production works, but it is too slow in the coverage build.

Closing. Things are working fine as they are now.


verify cities populations

Search using this type of query to verify each city's population: https://www.google.com/?gws_rd=ssl#q=city+of+oakland+population

i guess this is related, so i didn't want to create a new issue, but alexandria, va does not have a population of 4 million that is shown here http://openprocure.us/?queries[state]=VA
its actually around 148,892

good catch @jalbertbowden

@carlvlewis what do you think about making the source of truth for population data whatever is displayed on census reporter? Might be able to do something programmatically as well: https://github.com/censusreporter/census-api

@hellerpdx I think that's a solid idea. We definitely need a definitively agreed-upon data point (which, as I think we've reached consensus, is the 2016 ACS estimates). And, sure, we can likely pull that data in programmatically . -- especially if the idea is to minimize the barrier to entry for contributions. The procurement data itself is the real goal -- using other existing data points to shed new light need not be something contributors dig up themselves.
I was also thinking about -- in addition to the GH PR method of contributing –– setting up a publicly editable Google Sheet to serve as an API, which contributors could easily update without having to know the Git workflow. Thoughts?

@carlvlewis i can't think of any real downside to setting up the Google Sheet method of contributing. Regarding population, I think it's clearer to instruct to use Census Reporter to get the population number. Project documentation and comments now mention 2016 ACS estimates and to just google it.

I'm actually not even sure we should ask for contributors to provide that
data. We can easily pull it in from anywhere programmatically.
What we can't easily get, however, are the procurement thresholds. That's
what we, I think, should refine the focus on for the project.
Thoughts?
On Thu, Jun 8, 2017 at 11:18 PM Carl V. Lewis<EMAIL_ADDRESS>wrote:

On Thu, Jun 8, 2017 at 8:18 AM David Heller<EMAIL_ADDRESS>wrote:

@carlvlewis https://github.com/carlvlewis i can't think of any real
downside to setting up the Google Sheet method of contributing. Regarding
population, I think it's clearer to instruct to use Census Reporter to get
the population number. Project documentation and comments now mention 2016
ACS estimates and to just google it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/munirent/openprocure/issues/3#issuecomment-307086146,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnnIS8fBuS2GSxkvWRatacSN4AMUK30ks5sB-aEgaJpZM4GJTWq
.

I'm

I agree, the focus should be on getting the thresholds. It makes sense to make adding the population part of our data pipeline instead of having the contributor look it up.

@hellerpdx Sorry, thought I replied back here. Okay, in the new setup, which will use tabletop.js to pull in Google Sheets data as an API, I'm fundamentally confident in giving full edit access to the public, as Google Sheets has pretty thorough version control, as well as built-in notifications to sheet owners when changes are made to sheets. And the only fields we ask for are the thresholds, the name of the municipality, a URL to the source and the name of the contributor (we can also turn that into a Google form to provide another entry point for contributions).
Addendum: At this point, I think we shouldn't let the scope go too broad to include all different types of agencies, as it then loses its focus sort of. I think we should focus first on getting data for the remaining 30 cities in the top 100 most populous U.S. cities by population. If anyone disagrees, feel free to speak now!


Conditional template generation

I have blog posts categorised as 'jobs' within wordpress posts.
I want to create pages from posts that have category 'jobs'. I think this is a good use case for templates but this will create pages from all of the posts not just the one with category 'jobs'.
Is there a way to conditionally create pages from posts with a certain category?
I'm thinking something like:
WordPressPost: [
     {
       name: 'jobs',
       path: (node) => {
         if (node.category === 'jobs') {
           return `/jobs/job-blog/${node.slug}`
         }
       },
       component: './src/templates/Blogs.vue'
     }
   ]

Thanks in advance!

Hi @pislarm,
I hope I understood your problem correctly.
The goal is to create only pages which has jobs as category?
You can use the Pages API to create your own pages.
There you can check whatever you want and set then the template which should be used:
https://gridsome.org/docs/pages-api/#createpageoptions
You can find an example here: https://gridsome.org/docs/pages-api/#create-pages-from-graphql
In your gridsome.config.js you have to ensure, that in the templates section, you only have defined the path but not component.
Also, ensure that the name from the template ( the vue file ) is different to the name from the collection.
Alternative, you could use the onCreateNode to filter the not needed records. Then you got only the required nodes.
Hope that helps.
Regards,
Marcus

Hey @noxify  yes this helped resolve the issue!
Many thanks for you prompt reply and help!
Best!


Macros for spawn threads

I've added two macros

actor! to spawn single thread
actors! to spawn bunch of threads

Sorry that I was impatient and did not wait you answer about it in #44

I'm not sure if these macros belong in stainless. They could also both be functions, which can be packaged in their own crate; I think stainless should stay focused on just providing the scaffolding for tests.

Probably, you are right.
Because guys from OpenJDK team are developing JCStress framework for testing concurrency issues as separated project.
I close this PR and issue. Thanks.


Don't skip osx

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@conda-forge-admin please rerender

With nng now being available for all platforms on conda-forge (https://github.com/conda-forge/nng-feedstock/pull/8), it could make sense to just use the version built directly on conda-forge and patch out the nng build steps for pynng in setup.py.

@conda-forge-admin please rerender

With nng now being available for all platforms on conda-forge (conda-forge/nng-feedstock#8), it could make sense to just use the version built directly on conda-forge and patch out the nng build steps for pynng in setup.py.

the problem is that currently pynng is compatible only with an older version of nng, not sure which one. So we should back-release nng on conda-forge to get this working.

@conda-forge-admin please rerender

@conda-forge-admin please rerender

@carlodri and @jan-janssen, what do you think?

Thanks for your work @ThomasMarwitzQC! Looks fine to me, I'm going to merge.
My only concern at the moment is that the tests here are quite "thin", just the Python import, but we might improve that later.

Yes, something like that, simple send/receive on a Pub/Sub, Req/Rep etc., which might catch something more than a simple import.

Ok, there are some other example interactions, we might take some of them as a test.
And @carlodri could you re-run the timed-out Python 3.12 osx build?

Uhm...I don't think I can do that....or at least I cannot find a way...

Sadly, I discovered a problem when importing on osx-arm64:
>>> import pynng
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/Users/thomasmarwitz/mambaforge/envs/pipdag/lib/python3.12/site-packages/pynng/__init__.py", line 3, in <module>
  from ._nng import lib, ffi
ImportError: dlopen(/Users/thomasmarwitz/mambaforge/envs/pipdag/lib/python3.12/site-packages/pynng/_nng.abi3.so, 0x0002): symbol not found in flat namespace '_nng_aio_abort'

I didn't run into this problem when building locally. I don't now whether this is due to the cross compile taking place. But the import pynng seemed to work on conda-forge 🤔

I'm afraid this has something to do with the  packaging of nng in conda-forge, but I don't have time to investigate right now...
Maybe it's best if you open an issue against this so we can gather evidence there.


Force restart after assets are installed

Issue Template
Due to interactions with other plugins it would be nice to restart the application after chcp_assetsInstalledOnExternalStorage is called.
I have searched through the doc but I did not found a way to do it.
Is there any ?

You mean like window.location.reload() ?

This is not enough because when this chcp_assetsInstalledOnExternalStorage is called
the location is to be changed!

I think you can infer which location you should point to from the version you just updated to. Maybe something along this: https://github.com/nordnet/cordova-hot-code-push/issues/283#issuecomment-287013496

Good catch!
I will make a try thanks!


no work

hoW TO USE

yes please give usage tutorial @Body-Alhoha

Look in the readme, I'll make a tutorial soon

btw what is this actually for (purpose)

u can use this to make injectable mc clients, basically you can modify a java class while the jvm is running


New version: Wasmer.Wasmer version 4.3.3

Created by 🥟 Dumplings in workflow run #6342.

Log
Updated: 4.3.2 → 4.3.3
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run

https://github.com/microsoft/winget-pkgs/issues/142854