React CKEditor5

How can I use it with react ckeditor?
In React my code is
import EditorConfig from '../../utils/EditorConfig';

<CKEditor onChange={this.handleContent} config={EditorConfig} name="upload" editor={ClassicEditor} />

and EditorConfig is
const EditorConfig = {

	toolbar: [
		'heading', '|', 'bold', 'italic', 'blockQuote', '|',
		'selectAll', 'undo', 'redo', 'link', '|', 'numberedList', 'bulletedList', 'indent', 'outdent', '|',
		'insertTable', 'tableColumn', 'tableRow', 'mergeTableCells', '|',
		'uploadImage',
			'imageTextAlternative', 'toggleImageCaption', 'imageStyle:inline', 'imageStyle:alignLeft', 'imageStyle:alignRight', 'imageStyle:alignCenter',
			'imageStyle:alignBlockLeft', 'imageStyle:alignBlockRight', 'imageStyle:block', 'imageStyle:side', 'imageStyle:wrapText', 'imageStyle:breakText',
			"|",
		'ckfinder',  'mediaEmbed',
	],

	language: 'fa',

	ckfinder: {
		uploadUrl: "http://localhost:8000/ckeditor/upload/",

	}

}

after I chose image in React-CKEditor file seems to be Uploaded but

also in serverside (django) I got

so how can I upload Image to there?

See https://github.com/django-ckeditor/django-ckeditor#required-for-using-widget-with-file-upload , point 5.
All uploader views are protected by staff_member_required by default. You can see that all POST requests redirect to the admin login page.
Since the aim of this project is to allow integrating CKEditor with Django's admin panel it's working as intended.
Thanks!

See https://github.com/django-ckeditor/django-ckeditor#required-for-using-widget-with-file-upload , point 5.
All uploader views are protected by staff_member_required by default. You can see that all POST requests redirect to the admin login page.
Since the aim of this project is to allow integrating CKEditor with Django's admin panel it's working as intended.
Thanks!

See https://github.com/django-ckeditor/django-ckeditor#required-for-using-widget-with-file-upload , point 5.
All uploader views are protected by staff_member_required by default. You can see that all POST requests redirect to the admin login page.
Since the aim of this project is to allow integrating CKEditor with Django's admin panel it's working as intended.
Thanks!

So if I want create won file saver on django what should I sen as response to ckeditor? I create view that saves image or file but when I send 200 response not thing realy happend and err is there


Correct way to validate if something is an int or float? (Or any other "multiple allowed classes" scenario.)

My attempt:
from typing import Union
import numbers

import attr

@attr.s(auto_attribs=True)
class Trigger:
    value: Union[float, int] = attr.ib(kw_only=True, validator=attr.validators.instance_of(numbers.Real))

This works but mypy complains. What to do? For now I scrapped it and just went with value: int. But for future reference, how do we check if a value is either int or float?

To me, mypy complains about the mismatch of you type annotation and your instance_of validators:
error: Incompatible types in assignment (expression has type "Real", variable has type "Union[float, int]")

Changing it to     value: Union[float, int] = attr.ib(kw_only=True, validator=attr.validators.instance_of((float,int))) makes it pass.

Also please use StackOverflow for questions in the future to make the fixes googleable (and doesn't require only the maintainers to respond) – thank you!

@hynek Thanks a lot for your answer and sorry for taking up your time! At least this ticket is indexed by Google if someone searches for this problem.
For reference:
http://www.attrs.org/en/stable/api.html#attr.validators.instance_of
I hadn't seen the isinstance() subtlety of that function that the first time I read it and thought it only took 1 type. That's why I tried numbers.Real since both int and float are "reals". But I see now that the validator also takes a tuple of possible valid types. That's great!

To me, mypy complains about the mismatch of you type annotation and your instance_of validators:
error: Incompatible types in assignment (expression has type "Real", variable has type "Union[float, int]")

Changing it to  value: Union[float, int] = attr.ib(kw_only=True, validator=attr.validators.instance_of((float,int))) makes it pass.
Also please use StackOverflow for questions in the future to make the fixes googleable (and doesn't require only the maintainers to respond) – thank you!

Just came across this - mypy complains about this in my case (perhaps because I am using a newer version of mypy ?)
error: Argument 1 to "instance_of" has incompatible type "Tuple[Type[float], Type[int]]";
expected "Union[Tuple[Type[int], ...], Type[int]]"  [arg-type]
            validator=attr.validators.instance_of((float, int)), default=1

What version of mypy are you using?  And which version of attrs

@euresti -
attrs v19.3.0
mypy v0.770
and my reproducible example is
from typing import Union
import attr

@attr.s(kw_only=True, auto_attribs=True)
class A:
    p: Union[float, int] = attr.ib(
        validator=attr.validators.instance_of((float, int)), default=1
    )

expected "Union[Tuple[Type[int], ...], Type[int]]"  [arg-type]
            validator=attr.validators.instance_of((float, int)), default=1

Interesting.  Must've been a mypy bug that got fixed. The code you posted works fine with with mypy 0.782 and attrs 19.3.0

I see - thanks for checking :)


editors - fix mergeAllGroups (#118268)

This PR fixes #118268

Code change looks good and I have verified this indeed fixes the issue -> approved.

Just curious: Would it make sense to add a test for this?

Yes, feel free to add one via PR.

Not sure where to put it...

@janosh this made me actually move the method into the IEditorGroupsService and write a test: https://github.com/microsoft/vscode/commit/1bb87db91d3c1f1427392e80be47c37d0602b374

@bpasero Thanks a lot!


Port GC changes from coreclr - 2

This port continues https://github.com/dotnet/corert/pull/7332
Porting strategy: extracting patches via format-patch from coreclr, adjusting paths, then am them on corert.
Glossary:

already merged: change already exists in corert
gc only port: change only affected the gc directory and patch applied with no conflicts
manual port: change applied with custom changes
omitted changes: contains changes to files that do not exists in corert and were discarded

Changes since lastly ported commit:

https://github.com/dotnet/coreclr/commit/51e968b013e9b1582035f202e004ed024f747f4f (gc only port, omitted changes)
https://github.com/dotnet/coreclr/commit/4627704051a81c65d81771d7e776b676b8a2d44f (already merged)
https://github.com/dotnet/coreclr/commit/9e1e0b7c8f4d5ef1602ab6947a597559effbe60f (gc only port)
https://github.com/dotnet/coreclr/commit/1b827b5a82f8c6f8a9ed760ee127938dea5a7ea4 (manual port, omitted changes)
https://github.com/dotnet/coreclr/commit/8bc067c194f0b44e95c6e6a490b99078a2fa9719 (gc only port)
https://github.com/dotnet/coreclr/commit/fc3220f19a8ee8266e0782bf8878790453f790e6 (gc only port)
https://github.com/dotnet/coreclr/commit/d5906ff3e0d0f864c1432f1f39d586ca3d79fbb6 (gc only port, omitted changes)
https://github.com/dotnet/coreclr/commit/992d37064fa76ea7633734607381545e228806a5 (gc only port, omitted changes)
https://github.com/dotnet/coreclr/commit/ecdf277ce50f29cccb494157cdbbfda86517feac (gc only port)
https://github.com/dotnet/coreclr/commit/b2b4ea22fcf71ef61ff84aa9669da2419c7541a5 (omitted, need guidance)

dotnet/coreclr@b2b4ea2 (omitted, need guidance)

For CoreRT, we will want to switch to use the GC/OS interface implementation that comes with the GC. That switch should be separate PR from porting commits. Maybe you can create issue where we will track the follow up GC work for the porting.

Opened https://github.com/dotnet/corert/issues/7339 to track the missing GC features.


Add DOI for each Study to template Citation statement

There is a template Citation statement in the NIH Data Intake sheet:

The results analyzed and  here are based in whole or in part upon data generated by the INCLUDE (INvestigation of Co-occurring conditions across the Lifespan to Understand Down syndromE) Project <insert accession number(s) and/or study DOI(s)>, and were accessed from the INCLUDE Data Hub and <insert other database(s)>, and used the NIMH Data Archive Global Unique Identifiers.

When DOIs are available for each Study, add it to the template and update the Study metadata with that statement for each Study.

This is an Intake Team issue


The video plugin cannot recognize the link shared by Video Station in the NAS.

I'm sharing a link in the video station of NAS, and I can't play it in the plug-in by filling in the URL field (I can play it normally with a computer browser), so how to deal with it? Thank you

It can be played on both computer and mobile browsers.

The problem has been resolved, thanks


Webpack always passes DEBUG as true even in production

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
Running webpack -p on any project will compile all instances of __DEFINE__ found in source files/modules as true. This is most alarming in the case of Bluebird, as it essentially means performance-hog longStackTraces is always going to be enabled unless you explicitly set it to false
If the current behavior is a bug, please provide the steps to reproduce.
Repo to reproduce: (and contains additional specifics)
https://github.com/Cleod9/minimal-bluebird-webpack-debug-issue

What is the expected behavior?

__DEBUG__ should never be passed as true in production mode
DefinePlugin should be able to override DEBUG regardless of webpack being compiled with -p or not
Documentation should address the use of  __DEBUG__

If this is a feature request, what is motivation or use case for changing the behavior?
N/A
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Windows 10 64-bit
Node v6.11.1
NPM 3.10.10
Webpack 3.8.1 (Reproducible in 2.x as well)
Bluebird 3.5.1

Sorry, spent about an hour trying to figure out if this was a Bluebird or a Webpack issue, but apparently more appropriate for Bluebird

New issue opened in Bluebird: https://github.com/petkaantonov/bluebird/issues/1478


Web console: fix table scrolling [backport]

Fixes https://github.com/apache/incubator-druid/issues/7869
Fixes #7836
This PR is a backport of a small section of https://github.com/apache/incubator-druid/pull/7723
The pagination controls will no longer go off screen:

The integration tests part 1 failed because of the timeout of Travis. I ran them manually in my laptop and they succeeded. I'm going to merge this PR shortly.


Fix enabling/disabling automations.

I noticed that enabling/disabling automations was broken as 'set_active' method was renamed to 'enable'. With this change, I'm able to enable/disable the Abode automations.
Without this change:
$ abodepy -u ... -p ... --deactivate xxx
2021-05-10 10:51:52 INFO (MainThread) [abodepy] Updating all devices...
2021-05-10 10:51:52 INFO (MainThread) [abodepy] Login successful
2021-05-10 10:51:52 INFO (MainThread) [abodepy] Updating all automations...
2021-05-10 10:51:53 INFO (MainThread) [abodepy] Logout successful
Traceback (most recent call last):
File "/home/sarvjeet/.local/bin/abodepy", line 8, in
sys.exit(main())
File "/home/sarvjeet/.local/lib/python3.8/site-packages/abodepy/main.py", line 454, in main
call()
File "/home/sarvjeet/.local/lib/python3.8/site-packages/abodepy/main.py", line 339, in call
if automation.set_active(False):
AttributeError: 'AbodeAutomation' object has no attribute 'set_active'
$
With this change:
$ abodepy -u ... -p ... --deactivate xxx
2021-05-10 22:09:33 INFO (MainThread) [abodepy] Updating all devices...
2021-05-10 22:09:33 INFO (MainThread) [abodepy] Login successful
2021-05-10 22:09:33 INFO (MainThread) [abodepy] Updating all automations...
2021-05-10 22:09:33 INFO (MainThread) [abodepy.automation] Set automation XXX enable to: False
2021-05-10 22:09:33 INFO (MainThread) [abodecl] Deactivated automation with id: xxx
2021-05-10 22:09:34 INFO (MainThread) [abodepy] Logout successful
$
Thanks.

@MisterWil Please let me know if you need anything from my side to review this pull request. Thanks

Thank you. Yes, that would be great.

abodepy-1.2.2 is now available via pypi


Update Issue - 66128682

default description
URL tested: http://ci.bsstag.com/welcome
Open URL on Browserstack

Property
Value

Browser
Chrome 38.0

Operating System
Windows XP

Resolution
1024x612

Screenshot Attached
Screenshot URL

Click here to reproduce the issue on Browserstack

Updated Screenshot Attached


Connection closed by timeout when POSTing data

I'm POSTing a file which is quite big and can't be transmitted in default 120 seconds. Thus transmission breaks after 120 seconds.
Also, there's no way to change timeOutInterval for RKRequest object, obtained with [RKClient post:...], since this method starts immediately and schedules a timer with 120 seconds interval.

If you are using the development branch, you can specify a longer timeout on the RKClient. You can also using the block forms of the RKClient invocations to modify the request before it is dispatched:
[[RKClient sharedClient] post:@"/somewhere" params:whatever usingBlock:^ (RKRequest *request) {
  request.timeoutInterval = 500;
}];

Please reopen the issue if this does not solve your problem.

Thank you for the advice with block. However, it is intuitive, that connection should be closed by timeout when there is no network activity. In the case I've described earlier, connection is closed by timeout during transmission, when connection is live and data is transmitting. So I'd  reopen the issue, with the exception of the part with timeoutInterval, but I don't have a permissions to do so.

Agreed that didReceiveData should invalidate the timer. @bmorton care to tackle?

Hmm, it does invalidate the timer in didReceiveData.  Let me see if I can reproduce it.

Since my question was about POSTing the data, I think that didSendBodyData should invalidate timer as well. didReceiveData is already invalidating the timer as we can see above.


pod install giving issue.

On pod install getting error : "Unable to find a specification for TrezorCrypto (~> 0.0.8) depended upon by TrustCore"

Solves my problem by :
pod setup
pod install


Regenerated pubsub surface

Improved code samples
Client side validation of resource names
Updated GAX

Coverage decreased (-0.04%) to 82.856% when pulling e619db5f5da74d779b9e373012f88017e1f0a122 on michaelbausor:pubsub-alpha into 1eded7e86fc161a504f0e6e75b33662c56c5b863 on GoogleCloudPlatform:pubsub-alpha.

Coverage decreased (-0.04%) to 82.856% when pulling da345eb390c9fd66950d3e0e5af99224c328cc59 on michaelbausor:pubsub-alpha into 1eded7e86fc161a504f0e6e75b33662c56c5b863 on GoogleCloudPlatform:pubsub-alpha.

/cc @jgeewax


SAKIII-5075 - No way to set height for remote content

https://jira.sakaiproject.org/browse/SAKIII-5075

Verified and merged.


Add Tag Response

Any plans to return response so you can notify the user if they were successfully say added to a tagged group?

I started looking into a solution and found out that Urban Airship SDKs will automatically handle the retry internally if the tag operation fails to complete. So we really don't need to worry about it.

Yes! This why we initially didn't add response to addTag others methods. The react-native-ua is just a bridge to the SDKs ;) Thanks for add the explanation into the issue!


Add myself

as per https://github.com/lunny/gitea/blob/33df11e82312e8306885c34d5125fcca1ba3dd9b/CONTRIBUTING.md
You can find my name in the commit log (not sure which PR number to reference here)

LGTM

LGTM

Yeah, test succeed.

sss

ffff

fsfdfs

LGTM

not in lunny/gitea/MAINTAINERS ?

This is a lgtm test. Please send pr to go-gitea

Yeah, I figured, was trying to help testing :)

:)


black mesa no ui or background when starting game

as in the title, nothing shows up when i start black mesa , i use 7launcher to play

i tried and nothing works

thekovic is exactly right. The new Black Mesa UI cannot work on Windows with DXVK.
I also have no idea what 7launcher is but given that they advertise a modded CSGO client, I'm gonna assume it's piracy.

iys not piracy its a launcher for the game you need the oficial data

Either way, point still stands. -oldgameui works around the issue and the game is known to work fine.

it does not
i have windows 7 ultimate 64bits
4gb ram
and an intel gma 4500mhd graphics driver

Intel GMA does not even support Vulkan or DirectX 11.

my pc supports directx 11 and i can prove it


Add tests for validation from source

Update base.py and add tests.
Remember the change is backwards incompatible (default value has changed)

LGTM however, there are a few minor pylama issues, could you fix them, please?

I'm so sorry. I should not open a PR after midnight.


Expose preview embed URL in embed dropdown

Reworks the embed code dropdown in the preview inspector to display the raw embed URL alongside the embed code as well as links to relevant documentation pages.
'Copy to clipboard' links are shown when hovering over the relevant area (i.e. code or URL).
More discussion here: #441

This is awesome, thank you @allmarkedup ... with the Embed URL we'll be able to add this to Notion and/or a standard iframe where we aren't able to include the Lookbook JS

@leighhalliday okay great! I'll merge this in now then and get it out in the next release :-) Cheers.


Package request: OpenAudible

Project description
OpenAudible is a cross-platform audiobook manager designed for Audible users allowing to manage/download all audiobooks with one desktop application.
Metadata

homepage URL:https://openaudible.org/
source URL:https://github.com/openaudible/openaudible
license: Apache v2.0
platforms: linux

The most straightforward way to package this would probably be their AppImage. It already runs just fine with appimage-run.
Add a :+1: reaction to issues you find important.

Ah, I just noticed that this software is not actually free and open source. The github repository in particular is out of date. Libation is the free and open source alternative to this. Feel free to close this, I won't be needing it.


RFC: benchmarks for m5d.2xlarge

These are the parachain weights for an m5d.2xlarge instance with a general purpose SSD (gp2 in AWS console). It's very similar to the c5ad.2xlarge instance (also gp2), except for the most expensive extrinsic, import_header, which has a 24% higher weight due to CPU alone. Unfortunately the c5 instances have half the memory of m5.
How much memory do we need to run a parachain node? If 16GB is fine, then I'd recommend c5ad.2xlarge with provisioned IOPS maxed out to lower the DB read/write weights.

I'm a bit confused when you mention c5ad.2xlarge with provisioned IOPs. That instance type has a local SSD on the host machine, so provisioned IOPs (an EBS feature) should be irrelevant for that. But we need to ensure that local SSD is mounted, formatted, and that the benchmarks are using it.
Can you check the output of lsblk on your running c5ad/m5ad instance? It will tell us more details about the attached block devices.
The import_header dispatchable being much faster on c5ad is definitely compelling. Though if it turns out we're not using the local SSD, then we'll need to run those benchmarks again.

Though if we're not using the local SSD and switch over to using it, then the performance boost will be so much as to make the import_header difference between c5d and m5d inconsequential.
Which means we can hopefully just stick with m5d.

Here's the lsblk output from c5ad (stock standard. I didn't mount any devices myself):
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0         7:0    0  33.3M  1 loop /snap/amazon-ssm-agent/3552
loop1         7:1    0  55.5M  1 loop /snap/core18/1988
loop2         7:2    0  55.5M  1 loop /snap/core18/1997
loop4         7:4    0  70.4M  1 loop /snap/lxd/19647
loop5         7:5    0  32.3M  1 loop /snap/snapd/11588
loop6         7:6    0  32.3M  1 loop /snap/snapd/11402
loop7         7:7    0  67.6M  1 loop /snap/lxd/20326
nvme1n1     259:0    0 279.4G  0 disk
nvme0n1     259:1    0   100G  0 disk
└─nvme0n1p1 259:2    0   100G  0 part /

And from m5d:
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0         7:0    0  33.3M  1 loop /snap/amazon-ssm-agent/3552
loop1         7:1    0  70.4M  1 loop /snap/lxd/19647
loop2         7:2    0  55.5M  1 loop /snap/core18/1997
loop3         7:3    0  32.3M  1 loop /snap/snapd/11588
loop4         7:4    0  67.6M  1 loop /snap/lxd/20326
nvme1n1     259:0    0 279.4G  0 disk
nvme0n1     259:1    0   100G  0 disk
└─nvme0n1p1 259:2    0   100G  0 part /

I'm a bit confused when you mention c5ad.2xlarge with provisioned IOPs. That instance type has a local SSD on the host machine, so provisioned IOPs (an EBS feature) should be irrelevant for that. But we need to ensure that local SSD is mounted, formatted, and that the benchmarks are using it.

I think the confusion stems from the fact that we have two SSDs on these instances: an instance store SSD and an EBS SSD (that's apparently a thing now: https://aws.amazon.com/ebs/features/). You can see those in lsblk output. Only the EBS SSD is mounted. We can be fairly certain we're using an SSD because our DB weights are similar to Substrate here.
Two things:

If EBS uses an SSD, why bother with an instance store at all? It might be marginally faster, but we'd also have to take care of data permanence ourselves.
I increased provisioned IOPS and, while the fio benchmark significantly improved, it didn't improve DB weights at all.

I now think a c5a is actually best for us.

Ahh, ok, thanks for clarifying.
c5ad looks like the best choice then, as you say. :+1:
EBS with provisioned IOPs is certainly an option. Though it introduces other complexities. Like determining how much provisioned IOPs we require and the cost thereof. According to some rough math I did a while back, max provisioned IOPs can get very expensive.

EBS with provisioned IOPs is certainly an option. Though it introduces other complexities. Like determining how much provisioned IOPs we require and the cost thereof. According to some rough math I did a while back, max provisioned IOPs can get very expensive.

Good / bad news is that provisioned IOPS don't improve our weights at all. I re-ran the benchmarks on an m5d with maxed out IOPS last night, but didn't have the data yet when I created this PR. I was really surprised that it didn't perform any better. Not even slightly. So no need to spend money on that.

I'm discarding this PR in favour of https://github.com/Snowfork/polkadot-ethereum/pull/395 since we've decided the c5a is a better match.


MixedRealityEditorSettings checks for IsSinglePassInstanced on Android

Describe the bug
MixedRealityEditorSettings's LogConfigurationWarnings logs a warning on Android because on Android you cannot use Single Pass Instanced (at least not in Unity 2018.4.15.f1).
Additionally, the recommended action in the Optimize Window provides this changes, but it's getting reverted of course.
To reproduce
Steps to reproduce the behavior:

switch to android
watch the console

Expected behavior
Optimization should be satisfied with single pass on android
Your setup (please complete the following information)

Unity Version 2018.4.15f1
MRTK Version mrtk_development

Target platform (please complete the following information)

Editor

Is this more likely a unity bug, or do you feel there is some setting that needs to be altered for Android/Quest builds @Alexees

@SimonDarksideJ if you check the Stereo Rendering Mode for Android, there is simply no Single Pass Instanced option

So what in your opinion is setting/sending a single passed option?  Is it something in the MRTK?

Here are relevant portions for the problem:
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/31f1a04118d3a35a1c7855d0a01034bfa7a0cb77/Assets/MRTK/Core/Inspectors/Setup/MixedRealityEditorSettings.cs#L91-L94
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/31f1a04118d3a35a1c7855d0a01034bfa7a0cb77/Assets/MRTK/Core/Utilities/Editor/MixedRealityOptimizeUtils.cs#L13-L16
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/31f1a04118d3a35a1c7855d0a01034bfa7a0cb77/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs#L473-L490
All these would need to accommodate to Androids lack of instanced rendering

Right I see the problem, this is mainly due to the focus of the MRTK being on the HL2 platform as all of those functions expect UWP to top be the platform.
Although, they don't look like they are actually changing anything, so likely it's just a spurious error you should be able to ignore and shouldn't affect your project.
You can probably update your local code to add "#if !UNITY_ANDROID" around the debug messages if you don't want to see them.

Thanks for the heads up! @davidkline-ms, something to keep an eye on as you're working on Oculus Quest support.

I read a bit about this and got a but confused about what devices support what. According to this page, Android devices supporting the MultiView Extension support Single Pass Instancing:
https://docs.unity3d.com/Manual/SinglePassInstancing.html
This post is talking about it, but not about which devices it does support:
https://blogs.unity3d.com/2017/11/21/how-to-maximize-ar-and-vr-performance-with-advanced-stereo-rendering/
And then there is this one only mentioning Single-Pass Multi-View, which seems to be yet another rendering technique:
<EMAIL_ADDRESS>

There is also a problem with Unity itself.
Since the PlayerSettings.stereoRenderingPath seems to be a cross platform setting, selecting the Android tab is enough to revert it to Single Pass, because of the lack of Android supporting it. I guess that's a Unity 2018 problem.
Nevertheless, The optimization window should probably set some "remember that setting" flag and keep it updated whenever it's lost.
I did not find a property that told me which PlayerSettings tab was highlighted or if it was switched. If any of the two were possible one could deal with this. But at the moment you have to remember to not switch to Android unless settings SinglePassInstanced again afterwards.


Remove TimeZoneBroadcastReceiver from each item

Thanks for submitting a pull request. Please include the following information.
What I have done and why
We use TimeZone broadcast receiver registered for each item composed on screen.
This is not necessary and takes precious time when composing an item as it takes ~1ms - 3ms contributing to jank.
Trace from before:
https://ui.perfetto.dev/#!/?s=2613b122d01fb9a070616ad3adf9157f1d034f1266d0bf0a2fe224efc5a50a4f

Trace after:
https://ui.perfetto.dev/#!/?s=ff59121daa4469dda32b9c94db3e1223bf89e35a4f15538dd374d254b8406d18
The change I propose is to have TimeZoneMonitor similarly to NetworkMonitor and subscribe to this only once.
Do tests pass?

[x] Run local tests on DemoDebug variant: ./gradlew testDemoDebug
[x] Check formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

I can't seem to reproduce the error given in CI. @mlykotom it may be that you need to merge main and run ./gradlew dependencyGuardBaseline.


<EMAIL_ADDRESS>

Add license annotations (requires new module dependency on rules_license).
Test with Bazel 8.x (in addition to existing supported versions).

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (zlib) have been updated in this PR. Please review the changes.


Problem to install Pysensor in python 2.7

Required Info

Camera Model
{ R200 / F200 / SR300 / ZR300 / D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
I want yo change the exposure in depth image and in order to do that i have to install pysensor.
it give following error:
Collecting PySensors
Using cached https://files.pythonhosted.org/packages/4e/11/c17454160e80a60587adcb511b760a6ddf8b2d60683bb0edd85919199adf/PySensors-0.0.3.tar.gz
Complete output from command python setup.py egg_info:

Traceback (most recent call last):

  File "<string>", line 1, in <module>

  File "c:\users\appdata\local\temp\pip-install-fhhqvm\PySensors\setup.py", line 4, in <module>

    import sensors

  File "sensors\__init__.py", line 19, in <module>

    SENSORS_LIB = CDLL(LIB_FILENAME)

  File "c:\users\appdata\local\continuum\anaconda2\lib\ctypes\__init__.py", line 366, in __init__

    self._handle = _dlopen(self._name, mode)

TypeError: expected string or Unicode object, NoneType found
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in c:\users\appdata\local\temp\pip-install-fhhqvm\PySensors\

I suspect what you need is pyrealsense2: pip install pyrealsense2
I'm not sure what is PySensors.

[Realsense Customer Engineering Team Comment]
Hi @RZz96,
Still use "pyrealsense2". Try the code like below. By the way, which camera do you use?
import pyrealsense2 as rs
pipeline = rs.pipeline()
profile = pipeline.start(config))
depth_sensor = profile.get_device().first_depth_sensor()
depth_sensor.set_option(rs.option.exposure, )

[Realsense Customer Engineering Team Comment]
Hi @Rzz96,
If no further support required for this topic, will close it.


Not able to migrate existing metro project to Re.pack: Cannot read the property of undefined

I am trying to migrate an already existing app which is on Metro to Repack and I am getting various errors related my JS code which works fine with Metro.

Would be great to have the errors you're getting, ideally with a repro we could download and inspect :)

Here is my webpack.config.mjs
`import path from 'path';
import TerserPlugin from 'terser-webpack-plugin';
import * as Repack from '@callstack/repack';
/**

More documentation, installation, usage, motivation and differences with Metro is available at:
https://github.com/callstack/repack/blob/main/README.md

The API documentation for the functions and plugins used in this file is available at:
https://re-pack.netlify.app/
*/

/**

Webpack configuration.
You can also export a static object or a function returning a Promise.

@param env Environment options passed from either Webpack CLI or React Native CLI

       when running with `react-native start/bundle`.

*/
export default (env) => {
const {
mode = 'development',
context = Repack.getDirname(import.meta.url),
entry = './index.js',
platform = process.env.PLATFORM,
minimize = mode === 'production',
devServer = undefined,
bundleFilename = undefined,
sourceMapFilename = undefined,
assetsPath = undefined,
reactNativePath = new URL('./node_modules/react-native', import.meta.url)
.pathname,
} = env;
const dirname = Repack.getDirname(import.meta.url);
if (!platform) {
throw new Error('Missing platform');
}
/**

Using Module Federation might require disabling hmr.
Uncomment below to set devServer.hmr to false.

Keep in mind that devServer object is not available
when running webpack-bundle command. Be sure
to check its value to avoid accessing undefined value,
otherwise an error might occur.
*/
// if (devServer) {
//   devServer.hmr = false;
// }

/**

Depending on your Babel configuration you might want to keep it.
If you don't use env in your Babel config, you can remove it.

Keep in mind that if you remove it you should set BABEL_ENV or NODE_ENV
to development or production. Otherwise your production code might be compiled with
in development mode by Babel.
*/
process.env.BABEL_ENV = mode;

return {
mode,
/**
* This should be always false, since the Source Map configuration is done
* by SourceMapDevToolPlugin.
/
devtool: false,
context,
/*
* getInitializationEntries will return necessary entries with setup and initialization code.
* If you don't want to use Hot Module Replacement, set hmr option to false. By default,
* HMR will be enabled in development mode.
/
entry: [
...Repack.getInitializationEntries(reactNativePath, {
hmr: devServer && devServer.hmr,
}),
entry,
],
resolve: {
/*
* getResolveOptions returns additional resolution configuration for React Native.
* If it's removed, you won't be able to use <file>.<platform>.<ext> (eg: file.ios.js)
* convention and some 3rd-party libraries that specify react-native field
* in their package.json might not work correctly.
*/
...Repack.getResolveOptions(platform),
modules: [
path.resolve(dirname, 'node_modules'),
'node_modules',
'invariant',
'@react-native-async-storage/async-storage',
'@walletconnect/react-native-dapps',
'@walletconnect/client',
'keyvaluestorage',
'recoil',
'@react-navigation/native',
'recompose',
'browserify-sign',
'engine.io-client',
'socket.io-parser',
'socket.io-client',
'structError',
'react-native-device-info',
'react-native-redash'
],
alias: {
'@walletconnect/client': path.resolve(
dirname,
'node_modules',
<EMAIL_ADDRESS>),
},
  /**
   * Uncomment this to ensure all `react-native*` imports will resolve to the same React Native
   * dependency. You might need it when using workspaces/monorepos or unconventional project
   * structure. For simple/typical project you won't need it.
   */
  // alias: {
  //   'react-native': reactNativePath,
  // },
},
/**
 * Configures output.
 * It's recommended to leave it as it is unless you know what you're doing.
 * By default Webpack will emit files into the directory specified under `path`. In order for the
 * React Native app use them when bundling the `.ipa`/`.apk`, they need to be copied over with
 * `Repack.OutputPlugin`, which is configured by default inside `Repack.RepackPlugin`.
 */
output: {
  clean: true,
  path: path.join(dirname, 'build/generated', platform),
  filename: 'index.bundle',
  chunkFilename: '[name].chunk.bundle',
  publicPath: Repack.getPublicPath({platform, devServer}),
},
/**
 * Configures optimization of the built bundle.
 */
optimization: {
  /** Enables minification based on values passed from React Native CLI or from fallback. */
  minimize,
  /** Configure minimizer to process the bundle. */
  minimizer: [
    new TerserPlugin({
      test: /\.(js)?bundle(\?.*)?$/i,
      /**
       * Prevents emitting text file with comments, licenses etc.
       * If you want to gather in-file licenses, feel free to remove this line or configure it
       * differently.
       */
      extractComments: false,
      terserOptions: {
        format: {
          comments: false,
        },
      },
    }),
  ],
  chunkIds: 'named',
},
module: {
  /**
   * This rule will process all React Native related dependencies with Babel.
   * If you have a 3rd-party dependency that you need to transpile, you can add it to the
   * `include` list.
   *
   * You can also enable persistent caching with `cacheDirectory` - please refer to:
   * https://github.com/babel/babel-loader#options
   */
  rules: [
    {
      test: /\.[jt]sx?$/,
      include: [
        /node_modules(.*[/\\])+react/,
        /node_modules(.*[/\\])+@react-native/,
        /node_modules(.*[/\\])+@react-navigation/,
        /node_modules(.*[/\\])+@react-navigation\/native/,
        /node_modules(.*[/\\])+@react-native-community/,
        /node_modules(.*[/\\])+@expo/,
        /node_modules(.*[/\\])+pretty-format/,
        /node_modules(.*[/\\])+metro/,
        /node_modules(.*[/\\])+abort-controller/,
        /node_modules(.*[/\\])+@callstack\/repack/,
        /node_modules(.*[/\\])+stan-club/,
        /node_modules(.*[/\\])+sp-react-native-in-app-updates/,
        /node_modules(.*[/\\])+invariant/,
        /node_modules(.*[/\\])+react-native-svg/,
        /node_modules(.*[/\\])+@react-native-community\/datetimepicker/,
        /node_modules(.*[/\\])+@react-native-async-storage\/async-storage/,
        /node_modules(.*[/\\])+@walletconnect\/react-native-dapp/,
        /node_modules(.*[/\\])+@walletconnect\/client/,
        /node_modules(.*[/\\])+keyvaluestorage/,
        /node_modules(.*[/\\])+recoil/,
        /node_modules(.*[/\\])+recompose/,
        /node_modules(.*[/\\])+browserify-sign/,
        /node_modules(.*[/\\])+engine.io-client/,
        /node_modules(.*[/\\])+socket.io-parser/,
        /node_modules(.*[/\\])+socket.io-client/,
        /node_modules(.*[/\\])+superstruct/,
        /node_modules(.*[/\\])+react-native-device-info/,
        /node_modules(.*[/\\])+react-native-redash/,
      ],
      use: 'babel-loader',
    },
    /**
     * Here you can adjust loader that will process your files.
     *
     * You can also enable persistent caching with `cacheDirectory` - please refer to:
     * https://github.com/babel/babel-loader#options
     */
    {
      test: /\.[jt]sx?$/,
      exclude: /node_modules/,
      use: {
        loader: 'babel-loader',
        options: {
          /** Add React Refresh transform only when HMR is enabled. */
          plugins:
            devServer && devServer.hmr
              ? ['module:react-refresh/babel']
              : undefined,
        },
      },
    },
    /**
     * This loader handles all static assets (images, video, audio and others), so that you can
     * use (reference) them inside your application.
     *
     * If you wan to handle specific asset type manually, filter out the extension
     * from `ASSET_EXTENSIONS`, for example:
     * ```
     * Repack.ASSET_EXTENSIONS.filter((ext) => ext !== 'svg')
     * ```
     */
    {
      test: Repack.getAssetExtensionsRegExp(Repack.ASSET_EXTENSIONS),
      use: {
        loader: '@callstack/repack/assets-loader',
        options: {
          platform,
          devServerEnabled: Boolean(devServer),
          /**
           * Defines which assets are scalable - which assets can have
           * scale suffixes: `@1x`, `@2x` and so on.
           * By default all images are scalable.
           */
          scalableAssetExtensions: Repack.SCALABLE_ASSETS,
        },
      },
    },
  ],
},
plugins: [
  /**
   * Configure other required and additional plugins to make the bundle
   * work in React Native and provide good development experience with
   * sensible defaults.
   *
   * `Repack.RepackPlugin` provides some degree of customization, but if you
   * need more control, you can replace `Repack.RepackPlugin` with plugins
   * from `Repack.plugins`.
   */
  new Repack.RepackPlugin({
    context,
    mode,
    platform,
    devServer,
    output: {
      bundleFilename,
      sourceMapFilename,
      assetsPath,
    },
  }),
],

};
};`
This is the error which I am getting

RootNavigation.js file
`import { createNavigationContainerRef } from '@react-navigation/native';
export const NavigationRef = createNavigationContainerRef();
export function movetoScreen(name, params) {
if (NavigationRef?.isReady?.()) {
NavigationRef?.navigate?.(name, params);
} else {
setTimeout(() => {
movetoScreen?.(name, params);
}, 1000);
}
}
`
movetoScreen function is being imported and used in APICalls.js file
if I comment the import in APICalls.js the above error will not come.
This scenario is occurring at many places. And the code base works fine with Metro I think there is some issue with the webpack config.
Basic folder structure
index.js
RootNavigation.js
src
|-- apis/APICalls.js
I will try to reproduce this issue in a seperate repo and provide the link for that too. Till then do let me know if there is anything else I can provide to help you.

Here is my webpack.config.mjs
import path from 'path';
import TerserPlugin from 'terser-webpack-plugin';
import * as Repack from '@callstack/repack';

/**

More documentation, installation, usage, motivation and differences with Metro is available at:
https://github.com/callstack/repack/blob/main/README.md
The API documentation for the functions and plugins used in this file is available at:
https://re-pack.netlify.app/
*/
/**

Webpack configuration.
You can also export a static object or a function returning a Promise.
@param env Environment options passed from either Webpack CLI or React Native CLI
       when running with `react-native start/bundle`.
*/
export default (env) => {
const {
mode = 'development',
context = Repack.getDirname(import.meta.url),
entry = './index.js',
platform = process.env.PLATFORM,
minimize = mode === 'production',
devServer = undefined,
bundleFilename = undefined,
sourceMapFilename = undefined,
assetsPath = undefined,
reactNativePath = new URL('./node_modules/react-native', import.meta.url)
.pathname,
} = env;
const dirname = Repack.getDirname(import.meta.url);

if (!platform) {
throw new Error('Missing platform');
}

/**
Using Module Federation might require disabling hmr.
Uncomment below to set devServer.hmr to false.
Keep in mind that devServer object is not available
when running webpack-bundle command. Be sure
to check its value to avoid accessing undefined value,
otherwise an error might occur.
*/
// if (devServer) {
// devServer.hmr = false;
// }
/**

Depending on your Babel configuration you might want to keep it.
If you don't use env in your Babel config, you can remove it.
Keep in mind that if you remove it you should set BABEL_ENV or NODE_ENV
to development or production. Otherwise your production code might be compiled with
in development mode by Babel.
*/
process.env.BABEL_ENV = mode;
return {
mode,
/**
* This should be always false, since the Source Map configuration is done
* by SourceMapDevToolPlugin.
/
devtool: false,
context,
/*
* getInitializationEntries will return necessary entries with setup and initialization code.
* If you don't want to use Hot Module Replacement, set hmr option to false. By default,
* HMR will be enabled in development mode.
/
entry: [
...Repack.getInitializationEntries(reactNativePath, {
hmr: devServer && devServer.hmr,
}),
entry,
],
resolve: {
/*
* getResolveOptions returns additional resolution configuration for React Native.
* If it's removed, you won't be able to use <file>.<platform>.<ext> (eg: file.ios.js)
* convention and some 3rd-party libraries that specify react-native field
* in their package.json might not work correctly.
*/
...Repack.getResolveOptions(platform),
modules: [
path.resolve(dirname, 'node_modules'),
'node_modules',
'invariant',
'@react-native-async-storage/async-storage',
'@walletconnect/react-native-dapps',
'@walletconnect/client',
'keyvaluestorage',
'recoil',
'@react-navigation/native',
'recompose',
'browserify-sign',
'engine.io-client',
'socket.io-parser',
'socket.io-client',
'structError',
'react-native-device-info',
'react-native-redash'
],
alias: {
'@walletconnect/client': path.resolve(
dirname,
'node_modules',
<EMAIL_ADDRESS>),
},

  /**
   * Uncomment this to ensure all `react-native*` imports will resolve to the same React Native
   * dependency. You might need it when using workspaces/monorepos or unconventional project
   * structure. For simple/typical project you won't need it.
   */
  // alias: {
  //   'react-native': reactNativePath,
  // },
},
/**
 * Configures output.
 * It's recommended to leave it as it is unless you know what you're doing.
 * By default Webpack will emit files into the directory specified under `path`. In order for the
 * React Native app use them when bundling the `.ipa`/`.apk`, they need to be copied over with
 * `Repack.OutputPlugin`, which is configured by default inside `Repack.RepackPlugin`.
 */
output: {
  clean: true,
  path: path.join(dirname, 'build/generated', platform),
  filename: 'index.bundle',
  chunkFilename: '[name].chunk.bundle',
  publicPath: Repack.getPublicPath({platform, devServer}),
},
/**
 * Configures optimization of the built bundle.
 */
optimization: {
  /** Enables minification based on values passed from React Native CLI or from fallback. */
  minimize,
  /** Configure minimizer to process the bundle. */
  minimizer: [
    new TerserPlugin({
      test: /\.(js)?bundle(\?.*)?$/i,
      /**
       * Prevents emitting text file with comments, licenses etc.
       * If you want to gather in-file licenses, feel free to remove this line or configure it
       * differently.
       */
      extractComments: false,
      terserOptions: {
        format: {
          comments: false,
        },
      },
    }),
  ],
  chunkIds: 'named',
},
module: {
  /**
   * This rule will process all React Native related dependencies with Babel.
   * If you have a 3rd-party dependency that you need to transpile, you can add it to the
   * `include` list.
   *
   * You can also enable persistent caching with `cacheDirectory` - please refer to:
   * https://github.com/babel/babel-loader#options
   */
  rules: [
    {
      test: /\.[jt]sx?$/,
      include: [
        /node_modules(.*[/\\])+react/,
        /node_modules(.*[/\\])+@react-native/,
        /node_modules(.*[/\\])+@react-navigation/,
        /node_modules(.*[/\\])+@react-navigation\/native/,
        /node_modules(.*[/\\])+@react-native-community/,
        /node_modules(.*[/\\])+@expo/,
        /node_modules(.*[/\\])+pretty-format/,
        /node_modules(.*[/\\])+metro/,
        /node_modules(.*[/\\])+abort-controller/,
        /node_modules(.*[/\\])+@callstack\/repack/,
        /node_modules(.*[/\\])+stan-club/,
        /node_modules(.*[/\\])+sp-react-native-in-app-updates/,
        /node_modules(.*[/\\])+invariant/,
        /node_modules(.*[/\\])+react-native-svg/,
        /node_modules(.*[/\\])+@react-native-community\/datetimepicker/,
        /node_modules(.*[/\\])+@react-native-async-storage\/async-storage/,
        /node_modules(.*[/\\])+@walletconnect\/react-native-dapp/,
        /node_modules(.*[/\\])+@walletconnect\/client/,
        /node_modules(.*[/\\])+keyvaluestorage/,
        /node_modules(.*[/\\])+recoil/,
        /node_modules(.*[/\\])+recompose/,
        /node_modules(.*[/\\])+browserify-sign/,
        /node_modules(.*[/\\])+engine.io-client/,
        /node_modules(.*[/\\])+socket.io-parser/,
        /node_modules(.*[/\\])+socket.io-client/,
        /node_modules(.*[/\\])+superstruct/,
        /node_modules(.*[/\\])+react-native-device-info/,
        /node_modules(.*[/\\])+react-native-redash/,
      ],
      use: 'babel-loader',
    },
    /**
     * Here you can adjust loader that will process your files.
     *
     * You can also enable persistent caching with `cacheDirectory` - please refer to:
     * https://github.com/babel/babel-loader#options
     */
    {
      test: /\.[jt]sx?$/,
      exclude: /node_modules/,
      use: {
        loader: 'babel-loader',
        options: {
          /** Add React Refresh transform only when HMR is enabled. */
          plugins:
            devServer && devServer.hmr
              ? ['module:react-refresh/babel']
              : undefined,
        },
      },
    },
    /**
     * This loader handles all static assets (images, video, audio and others), so that you can
     * use (reference) them inside your application.
     *
     * If you wan to handle specific asset type manually, filter out the extension
     * from `ASSET_EXTENSIONS`, for example:
     * ```
     * Repack.ASSET_EXTENSIONS.filter((ext) => ext !== 'svg')
     * ```
     */
    {
      test: Repack.getAssetExtensionsRegExp(Repack.ASSET_EXTENSIONS),
      use: {
        loader: '@callstack/repack/assets-loader',
        options: {
          platform,
          devServerEnabled: Boolean(devServer),
          /**
           * Defines which assets are scalable - which assets can have
           * scale suffixes: `@1x`, `@2x` and so on.
           * By default all images are scalable.
           */
          scalableAssetExtensions: Repack.SCALABLE_ASSETS,
        },
      },
    },
  ],
},
plugins: [
  /**
   * Configure other required and additional plugins to make the bundle
   * work in React Native and provide good development experience with
   * sensible defaults.
   *
   * `Repack.RepackPlugin` provides some degree of customization, but if you
   * need more control, you can replace `Repack.RepackPlugin` with plugins
   * from `Repack.plugins`.
   */
  new Repack.RepackPlugin({
    context,
    mode,
    platform,
    devServer,
    output: {
      bundleFilename,
      sourceMapFilename,
      assetsPath,
    },
  }),
],
};
};

This is the error which I am getting

RootNavigation.js file
import { createNavigationContainerRef } from '@react-navigation/native';

export const NavigationRef = createNavigationContainerRef();

export function movetoScreen(name, params) {
if (NavigationRef?.isReady?.()) {
NavigationRef?.navigate?.(name, params);
} else {
setTimeout(() => {
movetoScreen?.(name, params);
}, 1000);
}
}

movetoScreen function is being imported and used in APICalls.js file
if I comment the import in APICalls.js the above error will not come.
This scenario is occurring at many places. And the code base works fine with Metro I think there is some issue with the webpack config.
Basic folder structure
index.js
RootNavigation.js
src
|-- apis/APICalls.js
I will try to reproduce this issue in a seperate repo and provide the link for that too. Till then do let me know if there is anything else I can provide to help you.

I tried a similar scenario in another app there I am not able to reproduce this issue

Please create a minimal reproduction repository in which you can constantly reproduce the issue. I'm going to have some time early next week to take a look into your issue if you'll manage to send the repo link here :)

Closing for now, but please feel free to add a reproduction repo that I can use to investigate the problem that you're facing. Otherwise, I'm not able to help you.

@RafikiTiki
I am able to resolve the issue, we are using wallet connect for which we are using rn-nodify which assigns alternate entry points of some packages for react-native and browser. I have removed those and it worked. But I will have to look for an alternative solution for that. Is there any easier way around it?
here are the fields generated by  rn-nodify

  "react-native": {
    "zlib": "browserify-zlib",
    "console": "console-browserify",
    "constants": "constants-browserify",
    "crypto": "react-native-crypto",
    "dns": "dns.js",
    "net": "react-native-tcp",
    "domain": "domain-browser",
    "http": "@tradle/react-native-http",
    "https": "https-browserify",
    "os": "react-native-os",
    "path": "path-browserify",
    "querystring": "querystring-es3",
    "fs": "react-native-level-fs",
    "_stream_transform": "readable-stream/transform",
    "_stream_readable": "readable-stream/readable",
    "_stream_writable": "readable-stream/writable",
    "_stream_duplex": "readable-stream/duplex",
    "_stream_passthrough": "readable-stream/passthrough",
    "dgram": "react-native-udp",
    "stream": "stream-browserify",
    "timers": "timers-browserify",
    "tty": "tty-browserify",
    "vm": "vm-browserify",
    "tls": false
  },
  "browser": {
    "zlib": "browserify-zlib",
    "console": "console-browserify",
    "constants": "constants-browserify",
    "crypto": "react-native-crypto",
    "dns": "dns.js",
    "net": "react-native-tcp",
    "domain": "domain-browser",
    "http": "@tradle/react-native-http",
    "https": "https-browserify",
    "os": "react-native-os",
    "path": "path-browserify",
    "querystring": "querystring-es3",
    "fs": "react-native-level-fs",
    "_stream_transform": "readable-stream/transform",
    "_stream_readable": "readable-stream/readable",
    "_stream_writable": "readable-stream/writable",
    "_stream_duplex": "readable-stream/duplex",
    "_stream_passthrough": "readable-stream/passthrough",
    "dgram": "react-native-udp",
    "stream": "stream-browserify",
    "timers": "timers-browserify",
    "tty": "tty-browserify",
    "vm": "vm-browserify",
    "tls": false
  }

I changed the title so that people looking for rn-nodeify compatibility with Repack will have an easier time finding that issue.
I'm not familiar with rn-nodeify and how it works so unfortunately I won't be able to help you. If you find a solution or want to discuss some things please write in this issue for the future reference.

Update
anyone is using walletconnect v1 or rn-nodify for any other use case you can do the following to make it work
let say rn-nodify generates the following config in your package.json
"react-native": {
    "zlib": "browserify-zlib",
    "console": "console-browserify",
    "constants": "constants-browserify",
    "crypto": "react-native-crypto",
    "dns": "dns.js",
    "net": "react-native-tcp",
    "domain": "domain-browser",
    "http": "@tradle/react-native-http",
    "https": "https-browserify",
    "os": "react-native-os",
    "path": "path-browserify",
    "querystring": "querystring-es3",
    "fs": "react-native-level-fs",
    "_stream_transform": "readable-stream/transform",
    "_stream_readable": "readable-stream/readable",
    "_stream_writable": "readable-stream/writable",
    "_stream_duplex": "readable-stream/duplex",
    "_stream_passthrough": "readable-stream/passthrough",
    "dgram": "react-native-udp",
    "stream": "stream-browserify",
    "timers": "timers-browserify",
    "tty": "tty-browserify",
    "vm": "vm-browserify",
    "tls": false
  }

you just need to add following alias in your webpack config file
resolve: {
...
    alias: {
        ...
        'path': path.resolve(dirname, 'node_modules', 'path-browserify'),
        'zlib': path.resolve(dirname, 'node_modules', 'browserify-zlib'),
        'console': path.resolve(dirname, 'node_modules', 'console-browserify'),
        'constants': path.resolve(dirname, 'node_modules', 'constants-browserify'),
        'crypto': path.resolve(dirname, 'node_modules', 'react-native-crypto'),
        'dns': path.resolve(dirname, 'node_modules', 'dns.js'),
        'net': path.resolve(dirname, 'node_modules', 'react-native-tcp'),
        'domain': path.resolve(dirname, 'node_modules', 'domain-browser'),
        'http': path.resolve(dirname, 'node_modules', '@tradle/react-native-http'),
        'https': path.resolve(dirname, 'node_modules', 'https-browserify'),
        'os': path.resolve(dirname, 'node_modules', 'react-native-os'),
        'querystring': path.resolve(dirname, 'node_modules', 'querystring-es3'),
        'fs': path.resolve(dirname, 'node_modules', 'react-native-level-fs'),
        '_stream_transform': path.resolve(dirname, 'node_modules', 'readable-stream/transform'),
        '_stream_readable': path.resolve(dirname, 'node_modules', 'readable-stream/readable'),
        '_stream_writable': path.resolve(dirname, 'node_modules', 'readable-stream/writable'),
        '_stream_duplex': path.resolve(dirname, 'node_modules', 'readable-stream/duplex'),
        '_stream_passthrough': path.resolve(dirname, 'node_modules', 'readable-stream/passthrough'),
        'dgram': path.resolve(dirname, 'node_modules', 'react-native-udp'),
        'stream': path.resolve(dirname, 'node_modules', 'stream-browserify'),
        'timers': path.resolve(dirname, 'node_modules', 'timers-browserify'),
        'tty': path.resolve(dirname, 'node_modules', 'tty-browserify'),
        'vm': path.resolve(dirname, 'node_modules', 'vm-browserify'),
        'tls': false,
      }
...
}

@kartik-stan I'm not using rn-nodify, I'm trying to migrate an existing project to repack, and I'm encountering the same initial error. If I add a setTimeout, it works.

setTimeout(() => {
movetoScreen?.(name, params);
}, 1000);

It works.
setTimeout(() => {
  console.log(store)
}, 100)

It doesn't work.
console.log(store)

Hi @kartik-stan  @malikKartik  How where you able to go about this.
I am trying to use react native crypto which requires rn_nodeify installation....
It works fine on metro  but on repack it doesn't... I was able to run the app on repack with no error but crypto library is not working and it is not grtting logged.. I can not log the process library in shim.js too


Support for XXH3_128bits

Hey there,
Are you planning on adding support for XXH3_128bits (similar to what xxh128sum does)?

Here is what I am trying to build:
import icedhash

proc verify*(file: string, checksum: string): bool =
    checksum == xxhash3_128(readFile(file))

Where file is a .tar.gz tarball (I'll be using make-4.4.tar.gz as an example.
I am using xxh128sum to get the expected checksum 15bf27bd70e74eb8c4f71a1028513adf.
Is this doable?


Added British English translation

Added a British English localisation for Errands. Thanks for the program, it's very useful.

Thanks!


CLI rewrite / improve dependency management

I want to rewrite the mach-nix CLI mainly to get rid of the the self baked dependency management contained in the current cli tool.
The plan is:

add nix with flakes as a mandatory dependency
have mach-nix init as a minimal code generator for a flake
other mach-nix ... commands should mostly be wrappers around nix flakes ....
automatically initialize flake-compat.nix for compatibility with older nix versions

this should not be necessary anymore afterwards: https://github.com/DavHau/mach-nix/issues/246

So this is only about the CLI? Because I'm unable to use flakes in general at this time.

Just the CLI. I won't deprecate the normal nix interface until nix flakes is officially stable for at least a while.


fix #1726

Thanks a lot! Any changes also needed for the kv operations?

Thanks a lot! Any changes also needed for the kv operations?

Add another commit.
There's no guarantee that KvGet result is read-only, so leave it as it is for now.

Add another commit.
There's no guarantee that KvGet result is read-only, so leave it as it is for now.


Normalize APP_HOME in the Windows app start script

Normalizing an app home like
C:\app\cli\build\install\ort\bin\..

to
C:\app\cli\build\install\ort

results in a more readable and shorter path. The latter is especially
useful to shorten the total length of the CLASSPATH variable which uses
APP_HOME to refer to all required JAR libraries. This in turn might help
to avoid running into Windows' command line length limitation when
java.exe is called with CLASSPATH.
Also see the related discussion in issue #1989.

Fixes #?
Context

Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[x] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

Thanks @rieske for updating the test for me!

Thank you for the contribution @sschuberth
After some internal discussions, we are a bit concerned about the use case being solved by this change and would like to get some better understanding first.
Would you mind providing a sample that demonstrates the problem and how this change addresses it?
It would help a lot if you could demonstrate how the fix actually helps improve the size of paths used.

Sure @rieske, let me quickly provide you with some background information. The underlying issue was reported to our project at https://github.com/heremaps/oss-review-toolkit/issues/1938, and I've worked around it with https://github.com/heremaps/oss-review-toolkit/pull/1939.
While Gradle 6.0 added Automatic shortening of long command-lines for Java applications on Windows, this does not fully address https://github.com/gradle/gradle/issues/1989 as the Gradle wrapper still concatenates all JARs to a single string to generate the classpath.
I admit this change is not a full fix, but it helps to shorten the classpath and thus reduces the risk to run into the classpath limit on Windows by shortening all classpath entries from something like
C:\oss-review-toolkit\cli\build\install\ort\bin\..\lib\config4k-0.4.1.jar

to something like
C:\oss-review-toolkit\cli\build\install\ort\lib\config4k-0.4.1.jar

So it saves 7 chars per classpath entry, and as a bonus in makes the classpath more readable.
BTW, I decided against fixing the issue by simply using a wildcard for the classpath like I did in my work-around for our project and as suggested here for security reasons, because that would also use (potentially malicious) JARs that have been copied to the lib directory afterwards.
In any case, I regard this only as an intermediate step towards a full fix.

@rieske this looks like a small enough change that we should accept it as-is, even if it doesn't fix the underlying issue.

Thank you @sschuberth!


Balder/handle operation with shorter vectors

@havardpe PR
Only the second commit has any semantics. The first is just code maintenance.

@toregge PTAL

@toregge PTAL


readme: add pipe errors to FAQ

All credits to @mafintosh for explaining this. This fixes #21. Thanks!

Woot! Thanks!


从v0.3.3更新到v0.4.0之后，微调Yi-6B-200K, 出现Current loss scale already at minimum - cannot decrease scale anymore. Exiting run.

Reminder

[X] I have read the README and searched the existing issues.

Reproduction

环境：V100x4

训练方式
accelerate启动，fp16训练，训练参数完全按照教程配置。

问题描述
按照v0.3.3的requirements, 建立的虚拟环境，执行训练脚本。看到代码更新到v0.4.0，执行了同步。代码同步到v0.4.0之后，按照新的requirements新建了虚拟环境，运行脚本和数据集与v0.3.3完全一致。运行训练脚本后，开始出现错误：
Current loss scale already at minimum - cannot decrease scale anymore. Exiting run.

已尝试方案
1）按照其他issue的建议，改deepspeed配置，loss_scale 改为大于0的数可以训练，但是loss不正常
2）减小loss_scale_window或者增大initial_scale_power均不能训练，依然报：Current loss scale already at minimum - cannot decrease scale anymore. Exiting run.只是延迟了几个step报错

新的虚拟环境

Name: transformers
Version: 4.36.2
Summary: State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow
Home-page: https://github.com/huggingface/transformers
Author: The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/transformers/graphs/contributors)
Author-email<EMAIL_ADDRESS>License: Apache 2.0 License
Location: /home/xxx/miniconda3/envs/llama_factory/lib/python3.10/site-packages
Requires: filelock, huggingface-hub, numpy, packaging, pyyaml, regex, requests, safetensors, tokenizers, tqdm
Required-by: peft, trl
---
Name: accelerate
Version: 0.25.0
Summary: Accelerate
Home-page: https://github.com/huggingface/accelerate
Author: The HuggingFace team
Author-email<EMAIL_ADDRESS>License: Apache
Location: /home/xxx/miniconda3/envs/llama_factory/lib/python3.10/site-packages
Requires: huggingface-hub, numpy, packaging, psutil, pyyaml, safetensors, torch
Required-by: peft, trl
---
Name: peft
Version: 0.7.1
Summary: Parameter-Efficient Fine-Tuning (PEFT)
Home-page: https://github.com/huggingface/peft
Author: The HuggingFace team
Author-email<EMAIL_ADDRESS>License: Apache
Location: /home/xxx/miniconda3/envs/llama_factory/lib/python3.10/site-packages
Requires: accelerate, huggingface-hub, numpy, packaging, psutil, pyyaml, safetensors, torch, tqdm, transformers
Required-by:
---
Name: trl
Version: 0.7.7
Summary: Train transformer language models with reinforcement learning.
Home-page: https://github.com/huggingface/trl
Author: Leandro von Werra
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /home/xxx/miniconda3/envs/llama_factory/lib/python3.10/site-packages
Requires: accelerate, datasets, numpy, torch, transformers, tyro
Required-by:
---
Name: deepspeed
Version: 0.12.6
Summary: DeepSpeed library
Home-page: http://deepspeed.ai
Author: DeepSpeed Team
Author-email<EMAIL_ADDRESS>License: Apache Software License 2.0
Location: /home/xxx/miniconda3/envs/llama_factory/lib/python3.10/site-packages
Requires: hjson, ninja, numpy, packaging, psutil, py-cpuinfo, pydantic, pynvml, torch, tqdm
Required-by:

Expected behavior
目前只看到Yi的template有修改，还有其他可能的问题么？
System Info
No response
Others
No response

Yi 的 template 目前仅适用于 Yi-Chat 模型，Base 模型请使用 default 等模板训练

您的邮件我已经收到！

您的邮件我已经收到！


Add timeout to queries

Probably needs a config option to change the default value too.

Does this need work on Dgraph's end as well to cancel queries done over HTTP?

@danielmai Yes, the reason I haven't touched on this issue is I was told timeout support is coming to dgraph. But that was back in November or so, I haven't followed up on the implementation.
AFAIK there's no good way to cancel an HTTP request from the browser / Ratel code, nor there a benefit in doing so.
We opened this feature in order to prevent play.dgraph.io from becoming unresponsive when users run expensive queries.
Even when a Ratel page is reloaded Dgraph server keeps working on the abandoned query at the expense of all other requests, often resulting in failed health checks


add some perf logging in SimulationDriver

Cherry pick performance logging change by @martyvona, from https://github.com/NASA-AMMOS/aerie/pull/1269. This seems useful as we continue to work on optimizing simulation performance.

Seems to work as expected 👍

Thanks @parkerabercrombie and @JoelCourtney, I'd be happy to resolve the PR review comments above, however, I think perhaps we should just close this PR without merging for the following reasons:

it looks like @DavidLegg has a different branch now with a more sophisticated implementation of resource profiling
it's just a small PR, not MVP, and we all have a lot going on right now

Closing this PR based on @martyvona 's comment above. I'll frame the rationale a couple additional ways:

The Clipper mission's requirements for performance are (in theory) more easily met with recent simplifications to their approach to using Aerie
There are many efforts in flight that affect the simulation driver (#1096 , #1323 , #669), so the kinds of things that would be useful to log are in flux


Add default issue template

Partially touches https://github.com/XollabOS/talktometechnology/issues/6 - but a simple version with Markdown.

@Pradumnasaraf Thanks, good idea. I thought of that but never have done the YAML version before.

@Pradumnasaraf Thanks, good idea. I thought of that but never have done the YAML version before.

Markdown is good for the start, in future someone will update that  : )


Custom HttpLogWriter - access to HttpServletRequest and HttpServletResponse

Hi, guys I'm looking for a way to log all my requests and responses in the database (1 record = 1 request + 1 response).
My use case in details:

Log record in database with request URl, params, IP, start date etc.
Update database record (when request finish) and save response, exceptions, end date etc.
In addition in this step I would like to get some attributes from HttpServletRequest.

Can I do this using your library?  I am trying to write custom HttpLogWriter. But I have problem with access to HttpServletRequest and HttpServletResponse (static way - RequestContextHolder.getRequestAttributes() return null). I have also problem with autowiring my repository in this context, in other places (eg. controllers) it work's without problem. Maybe I could realize it with other components of your library? Maybe filters?
My PoC implementation of custom HttpLogWriter:
@Autowired
private RequestAuditRepository repository;

@Override
public void writeRequest(Precorrelation<String> precorrelation) throws IOException {
    HttpRequest logbookHttpRequest = precorrelation.getOriginalRequest();

    RequestAuditLog requestAuditLog = new RequestAuditLog();
    requestAuditLog.setRequestPayload(logbookHttpRequest.getBodyAsString());
    //..setting url, IP, start date etc

    RequestAuditLog savedRequest = repository.save(requestAuditLog);
    getHttpServletRequest().setAttribute("log_id", savedRequest.getId());
}

@Override
public void writeResponse(Correlation<String, String> correlation) throws IOException {
    HttpResponse logbookHttpResponse = correlation.getOriginalResponse();

    Long logId = (Long) getHttpServletRequest().getAttribute("log_id");
    RequestAuditLog requestAuditLog = repository.findById(logId).
            orElseThrow(() -> new ResourceNotFoundException("Log", logId.toString()));

    requestAuditLog.setEndDate(LocalDateTime.now());
    requestAuditLog.setResponsePayload(logbookHttpResponse.getBodyAsString());
    repository.save(requestAuditLog);
}

private HttpServletRequest getHttpServletRequest() {
    RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
    return ((ServletRequestAttributes)requestAttributes).getRequest();
}

WebConfig:
 @Bean     public Logbook logbook() {         return Logbook.builder()                 .writer(new CustomLogWritter())                 .condition(exclude(                         requestTo("/health"),                         requestTo("/admin/**")))                 .build();     }
RequestAuditRepository:
@Repository public interface RequestAuditRepository extends JpaRepository<RequestAuditLog, Long> { }
Thank you in advance for your help :)

My use case in details:

Log record in database with request URl, params, IP, start date etc.
Update database record (when request finish) and save response, exceptions, end date etc.
In addition in this step I would like to get some attributes from HttpServletRequest.

Can I do this using your library?

Why do you want to update? You could just wait for the response and then log both parts in a single step. #229 might give you some hints as well.

But I have problem with access to HttpServletRequest and HttpServletResponse

Logbook is meant for any kind of HTTP traffic. Outgoing and incoming. Therefore it's not built on top of the servlet API. The HttpRequest and HttpResponse abstractions should give you everything you need to access the information you listed, e.g. request URI, IP, etc.


Switch warn_parallel to look at number of available threads

Switch from the previous reliance on the environment variable JULIA_NUM_THREADS being set to counting the threads that are currently available via Threads.nthreads()

good catch, makes much more sense like this!


Versioning for models

Models should be versioned so changes do not break existing templates. This may be particularly sensitive since we refer/access them using URI.

Problem
Changes to models should be managed so that dependent projects can reliably incorporate backwards compatible changes and block breaking changes.
Today, once a model is published it can not be easily modified, in case it should break a dependent system. For example, renaming an attribute in a concept or adding a new non-optional attribute will cause validation failures for systems that are unaware of breaking changes.
New model versions can be released, but require unique URI / filenames to distinguish them from older versions. There is currently no standard convention for making name changes. See https://models.accordproject.org/time.html, https://models.accordproject.org/v2.0/time.html
This restriction makes contributors hesitant to make changes to models in case they break dependent systems.
Proposal
Versioning for models should be based on a semantic version in the filename. Models should not be packaged into archives (as templates are).
Syntax in this proposal is indicative only.
For example:
<EMAIL_ADDRESS><EMAIL_ADDRESS>
model-0.1.0.cto
model-1.2.3-alpha.cto

This will allow the current mechanism for importing models by name in Concerto and Ergo to continue to work unchanged. e.g.
import org.accordproject.cicero.runtime.* from<EMAIL_ADDRESS>
Future enhancement
To allow model references based on semantic version expressions, e.g. ^0.1, > 2.1 | <= 3.4, we could make the following changes.

Modify the import syntax to include a semantic version expressions, for example:

import org.accordproject.cicero.runtime.* from<EMAIL_ADDRESS>
The absence of an expression would default to the existing behaviour.

Repositories that host models should include an index.json in each directory that lists the available models.

When downloading a model, the resolver should first download the index file and find the most recent model instance that satisfies the expression. This can be determined by sorting according to the usual semver precedence rules, and selecting the first version that satisfies the expression.

This model repository page generation could collapse models with the same base name into the same page, to avoid bloating pages with many versions of models. Perhaps similarly to the dropdown for versions at templates.accordproject.org.

[Optional extension] It is feasible that tooling could be developed to recommend a version change based on a model change. For example, a diff between models should be able to reveal the nature of the change and bump the version accordingly. @jeromesimeon?

@jeromesimeon @dselman
Do you have any preference on the filename structure?
For example:
<EMAIL_ADDRESS><EMAIL_ADDRESS>
model-0.1.0.cto
model-1.2.3-alpha.cto

The second option follows the pattern used by other web-resources, e.g. https://code.jquery.com/jquery-3.4.1.min.js, however, using the dash as a delimeter makes it more difficult to parse the semver string because - is a valid character to denote a prelease.

No strong preference. Note that we also use the @ prefix to denote models downloaded from external URLs in templates.

We've been using @mttrbrts 's versioning strategy for a while now. Closing this issue.


Incorrect workspace copy, causing host/container repo sync issue

Thanks for sharing this example. There is one mistake in it though. It took me a couple hours to figure out, using this example, why my git repo in devcontainer was not in sync with that on my host. It's because of your last line COPY . /workspace.
The whole point of dev containers is that so the workspace from your host and container is shared (by mounting it), not copied!
The dev container docker image that Microsoft provides, mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT},  creates a mount correctly, but then I guess your COPY command overwrites this and creates a static snapshot view of the repository from the host at the point in time when the image is created.
Removing this line fixes everything. Thank you!
https://github.com/louis70109/fastapi-vscode-example/blob/715e6eabfcc9e93cf18128eeac6e280a456f9cb8/.devcontainer/Dockerfile#L28

@shreyansp Thanks for feedback. This Dockerfile just refer to video :P
Could you please send a PR to fix it ~~ 👍


{if can_access_cp} always evaluates true

This is probably true for the others as well, but {if can_access_cp} as recommended in the docs always evaluates true because {can_access_cp} renders as either y or n. The right conditional here would be {if can_access_cp == 'y'}.

Nice catch, that should be the only tag not returning a proper boolean. I've updated the documentation to reflect this.


Bump yq to use v4.44.1

Please specify the area for this PR
build-tools
What does does this PR do / why we need it:
Bumps yq to v4.44.1 to fix issues found in older v4 versions of yq.
Changes also include:

Changes needed to work with yq v4.44.1
build-tools/dl_starter_projects.sh now lets you override STACKS_DIR
Fixes problem where if a cached sample directory exists build-tools/cache_samples.sh breaks, resolved by skipping directory creation if exists, related to devfile/api#1553

Which issue(s) this PR fixes:
Fixes #?
related devfile/api#1142
PR acceptance criteria:

[ ] Test Coverage

Are your changes sufficiently tested, and are any applicable test cases added or updated to cover your changes?

Documentation (WIP)

[ ] Does the REST API doc need to be updated with your changes?
[ ] Does the registry library doc need to be updated with your changes?

How to test changes / Special notes to the reviewer:
Run bash build-tools/cache_samples.sh tests/registry/extraDevfileEntries.yaml .cache/samples

Fixes problem where if a cached sample directory exists build-tools/cache_samples.sh breaks, resolved by skipping directory creation if exists, related to devfile/api#1553

Run STACKS_DIR=tests/registry/stacks bash build-tools/dl_starter_projects.sh

[ ] Does the REST API doc need to be updated with your changes?
[ ] Does the registry library doc need to be updated with your changes?

N/A


[bug] Echo problem

Describe the bug
In version 1.4.3, the speaker hears her own voice again after her voice goes to the other side. This problem occurs on some phones, only the speaker can hear their own voice again.
To Reproduce
The example project has the same problem
Platform information

Flutter version: Flutter 3.13.1
Plugin version: livekit_client: ^1.4.3
Flutter target OS: Android

This happens due to the audio mode being set to Media instead of Communication by default. Echo cancellation is not enabled in Media mode.
We'll fix this in the next release (1.5.0)


No module named styleGalleryExport.OptionCreator

Hi,
Using release 0.9.3 with ArcGIS 10.8 I get a bunch of import errors for modules.
Debugging presents the first problem as not being able to find the OptionCreator module with "No module named styleGalleryExport.OptionCreator"
The OptionCreator script is present in the styleGalleryExport directory, but the mapqonverter.py script is unable to resolve the path and load the module.

Hi amgiss,
the release 0.9.3 was not uptodate. I created https://github.com/WhereGroup/mapqonverter/releases/tag/0.9.4 that has the newer commits from the master.
This Error should be fixed there

Hi Peter,
Thanks for the updated 0.9.4 version.
The module import errors are now fixed.
I can now get through the exporting of layers, but the tool is now failing on "Creating Layout" and the resulting QGIS project is empty.
Several problems are happening during the layout export.
I get an access violation " File "C:\Python27\ArcGIS10.8\lib\site-packages\comtypes_init_.py", line 292, in setattr
value)
WindowsError: exception: access violation reading 0x00000028"
The ArcMap Project becomes corrupted during the layout export so that the spatial data is drawing outside of the layout frame in the project layout view, which shouldn't be possible. The data seems to be drawing relative to the layout view of the ArcMap application layout view rather than the layout data frame. Closing and reopening the project restores the layout.
I did catch an error dialog after an unsuccessful conversion attempt which appears to have a reference to a location on the development machine.
Thanks for your help.

Hi amgiss,
thanks for the fast feedback. Unfortunately, i dont know, if there are changes concerning the layout in 10.8 - in 10.7 it worked well.
I will need some time to find out about the error - but at first glance this directory does not exist on the development machine - not sure where this path comes from.
Greetings


WIP: cms data disclaimers

To test, the following 3 disclaimers should be active (in the location page header):

"Disclaimer for all NY and CT counties"
"Disclaimer for Harris County, TX and Philadelphia County, PA"
"Disclaimer for CA state page"

No longer needed (for now)


Updated terra dev site version

Summary
Updated terra dev site package version
What was changed:
Updated the terra dev site package version to 7.7.0
Why it was changed:
Testing

This change was tested using:

[ ] WDIO
[ ] Jest
[ ] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[ ] UX review
[ ] Accessibility review
[ ] Functional review

Additional Details

This PR resolves:
UXPLATFORM-9532

Thank you for contributing to Terra.
@cerner/terra

<EMAIL_ADDRESS>has been released which should have the fix for the issue caused by 7.8.0.
https://github.com/cerner/terra-application/pull/345
https://www.npmjs.com/package/@cerner/terra-dev-site


Add a macro for creating js translation functions

I noticed there's a lot of repeated code for javascript FFI. This macro means that instead of writing
/// Docs docs docs
fn focus( &self ) {
    js! { @(no_return)
        @{self.as_ref()}.focus()
    }
}

/// Other docs
fn dataset( &self ) -> StringMap {
    unsafe {
        js!(
            return @{self.as_ref()}.dataset;
        ).into_reference_unchecked().unwrap()
    }
}

/// More docs
fn get_bounding_client_rect( &self ) -> Rect {
    js! (
        return @{self.as_ref()}.getBoundingClientRect();
    ).try_into().unwrap()
}

you can just write
js_translate_function!{
    /// Docs docs docs
    focus:focus() => noreturn:()
}

js_translate_function!{
    /// Other docs
    dataset:dataset none => reference:StringMap
}

js_translate_function!{
    /// More docs
    get_bounding_client_rect:getBoundingClientRect() => into:Rect
}

Sorry for the delay. Thanks for the PR!
Hmm.... I'd definitely like something like this, but I'm not sure if we want it in the current form. In general I'd like to eventually make stdweb compatible with the wasm-bindgen-based ecosystem, so that would mean that at very least we'd probably want a procedural macro which has exactly the same syntax as wasm-bindgen's, but instead of generating wasm-bindgen-compatible code would generate cargo-web-compatible bindings.


What is the new application?
OpenSSL is a widely used SSL security component in a number of products
The purpose of adding this App to Evergreen is primarily for reporting purposes (although the download for the latest version could be useful for developers "openssl-*.tar.gz")
OpenSSL publish all the latest releases on both their downloads page (https://www.openssl.org/source/) and on GitHub (https://api.github.com/repos/openssl/openssl/releases)
As (currently) OpenSSL keep 3 different versions of their products available (v3.0.x, v3.1.x and v3.2.x) it would not (IMHO) be possible to use the 'latest' version via the Github API (https://api.github.com/repos/openssl/openssl/releases/latest) as this would only show the latest v3.2.x version
I'm wondering if it is possible to get all the OpenSSL releases from the API (https://api.github.com/repos/openssl/openssl/releases), then sort by version number and filter the top version of each?
I did attempt to create a Get-OpenSSL.ps1 (App) and OpenSSL.json (Manifest) but found I got no results.
Get-OpenSSL.ps1:
Function Get-OpenSSL {
    <#
        .SYNOPSIS
            Returns the latest OpenSSL version numbers and downloads.

        .NOTES
            Author: Adrian Scott
    #>
    [OutputType([System.Management.Automation.PSObject])]
    [CmdletBinding(SupportsShouldProcess = $False)]
    param (
        [Parameter(Mandatory = $False, Position = 0)]
        [ValidateNotNull()]
        [System.Management.Automation.PSObject]
        $res = (Get-FunctionResource -AppName ("$($MyInvocation.MyCommand)".Split("-"))[1])
    )

    # Pass the repo releases API URL and return a formatted object
    $params = @{
        Uri          = $res.Get.Uri
        MatchVersion = $res.Get.MatchVersion
        Filter       = $res.Get.MatchFileTypes
    }
    $object = Get-GitHubRepoRelease @params
    Write-Output -InputObject $object
}

OpenSSL.json:
{
    "Name": "OpenSSL",
    "Source": "https://www.openssl.org/source/",
    "Get": {
        "Uri": "https://api.github.com/repos/openssl/openssl/releases/latest",
        "MatchVersion": "openssl-(\\d+(\\.\\d+){1,4}).*",
        "MatchFileTypes": "\\.tar\\.gz$"
    },
    "Install": {
        "Setup": "openssl-*.tar.gz",
        "Preinstall": "",
        "Physical": {
            "Arguments": "/S",
            "PostInstall": []
        },
        "Virtual": {
            "Arguments": "/S",
            "PostInstall": []
        }
    }
}

Vendor site
https://www,openssl.org
Does the vendor require a sign-in to download the app?
No
Does the application include an updater?
No
Have you reviewed the list of supported applications?

[X] Supported apps at: https://stealthpuppy.com/evergreen/apps/

BTW ShiningLight make EXE/MSI builds for this rather than relying on just the zips, and they have a JSON file with download links and hashes:
https://raw.githubusercontent.com/slproweb/opensslhashes/master/win32_openssl_hashes.json

@AScott-WWF no releases are returned because the .tar.gz file is not included in the releases. These files are just a rollup of the entire repo.

-ReturnVersionOnly could be used to return the version number from the OpenSSL repo, and then hardcode URLs with text replacement in the JSON.
Otherwise, go with the Shining Light version because the OpenSSL version requires compiling anyway, so not usable for most administrators.


Chapter-3 - webserver not showing proper html format.

I've been trying to compare my code to what's here on the repo but i don't see any meaningful differences.
And i'm not seeing the text with Header and Paragraphs as supposed to, instead i see this:

user_data.sh:
#!/bin/bash

cat > index.html <<EOF

Hello, World

DB address: ${db_address}

DB port: ${db_port}

EOF

nohup busybox httpd -f -p ${server_port} &

cluster config:
provider "aws" {
  region = "eu-west-1"
}

terraform {
  backend "s3" {
    bucket          = "nsalfos-terraform-up-and-running-state"
    key             = "stage/services/webserver-cluster/terraform.tfstate"
    region          = "eu-west-1"
    dynamodb_table  = "terraform-up-and-running-locks"
    encrypt         = true
  }
}

resource "aws_launch_configuration" "example" {
  image_id          = "ami-05e786af422f8082a" #Ubuntu 22.04
  instance_type          = "t2.micro"
  security_groups = [aws_security_group.instance.id]

  user_data = templatefile("user_data.sh", {
    server_port = var.server_port
    db_address  = data.terraform_remote_state.db.outputs.address
    db_port     = data.terraform_remote_state.db.outputs.port
  })

  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_autoscaling_group" "example" {
    launch_configuration = aws_launch_configuration.example.name
    vpc_zone_identifier  = data.aws_subnets.default.ids

    target_group_arns = [aws_lb_target_group.asg.arn]
    health_check_type = "ELB"

    min_size = 2
    max_size = 10

    tag {
      key = "Name"
      value = "terraform-asg-example"
      propagate_at_launch = true
    }

    lifecycle {
      create_before_destroy = true
    }
}

resource "aws_security_group" "instance" {
   name = "terraform-example-instance"

  ingress {
    from_port   = var.server_port
    to_port     = var.server_port
    protocol    = "tcp"
    security_groups = [aws_security_group.alb.id]
  }
}

resource "aws_lb" "example" {
  name                = "terraform-asg-example"
  load_balancer_type  = "application"
  subnets             = data.aws_subnets.default.ids
  security_groups     = [aws_security_group.alb.id]
}

resource "aws_lb_listener" "http" {
  load_balancer_arn = aws_lb.example.arn
  port = 80
  protocol = "HTTP"

  default_action {
    type = "fixed-response"

    fixed_response {
      content_type = "text/plain"
      message_body = "404: page not found"
      status_code  = 404
    }
  }
}

resource "aws_lb_listener_rule" "asg" {
  listener_arn = aws_lb_listener.http.arn
  priority = 100

  condition {
    path_pattern {
      values = ["*"]
    }
  }

  action {
    type              = "forward"
    target_group_arn  = aws_lb_target_group.asg.arn
  }

}

resource "aws_security_group" "alb" {
  name = "terraform-alb-example"

  ingress {
    cidr_blocks = [ "<IP_ADDRESS>/32" ]
    description = "Ingress rules for Load Balancer"
    from_port   = var.alb_port
    to_port     = var.alb_port
    protocol    = "tcp"
  }

  egress {
    cidr_blocks = [ "<IP_ADDRESS>/0" ]
    description = "Egress rules for Load Balancer"
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
  }
}

resource "aws_lb_target_group" "asg" {
  name      = "terraform-asg-example"
  port      = var.server_port
  protocol  = "HTTP"
  vpc_id    = data.aws_vpc.default.id

  health_check {
    path                = "/"
    protocol            = "HTTP"
    matcher             = "200"
    interval            = 15
    timeout             = 3
    healthy_threshold   = 2
    unhealthy_threshold = 2
  }
}

data "aws_vpc" "default" {
  default = true
}

data "aws_subnets" "default" {
  filter {
    name   = "vpc-id"
    values = [data.aws_vpc.default.id]
  }
}

data "terraform_remote_state" "db" {
  backend = "s3"

  config = {
    bucket          = "nsalfos-terraform-up-and-running-state"
    key             = "stage/data-stores/mysql/terraform.tfstate"
    region          = "eu-west-1"
   }
}

Hard to know without a bit more context!

Are you sure you're testing the right URL? Not some URL of a different ASG/ELB from earlier? One way to test is to run destroy and then apply again from scratch.
Did you deploy an ASG originally with the old user data script (without markup), then change the user data script after? If so, did you run apply again to redeploy? If so, did you get to the part about how changing the launch configuration does not automatically roll out changes? If not, read on for how to do "zero downtime deployment" with ASGs.

Thanks, not sure what happened but, i kept on with the book, and naturally i had to destroy old ASG to be modified, and when re deployed the markup was there.


1057 Pick Full Time or Part Time Course Options

Context
Some courses are available in a part-time study mode. This change adds the ability to select study mode for those courses that present an option.
Changes proposed in this pull request

Add a study mode selection page after the candidate has chosen a course.
Only show this screen if there is actually an option - where there isn't, resolve the study mode for that course automatically and simply display the next step (site selection, or the review page in cases where there's only one site).

Study mode selection page is as follows:

Followed by site selection, filtered to only show sites that support the selected study mode:

Guidance to review

I'd suggest pulling the branch down and clicking through locally. You may need to change a specific course and its course options to see the new page. Specifically, Course#study_mode needs to be 'full_time_or_part_time', and it should have at least two course options with different study_mode values set (part_time and full_time).
Per-commit review may be useful as each commit describes a distinct part of the feature.

Note - the site selection functionality shown above should probably be modified so that if only one choice is available, we select this automatically and move the candidate on. This PR is probably large enough as it stands - once reviewed I'll write a followup PR to add this functionality.
Link to Trello card
https://trello.com/c/JnW7TR8k
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

Everything looks 👍 to me, but this should be behind a feature flag so we can ship it and test it more easily.
Have also tested it on the review app.

Good point, will add one in.

@tvararu I've opted to not hide the route changes in order to reduce the amount of feature flag noise in code. To quote the commit message:

[this commit] does not hide the route changes or the updated method signature of
the site selection page path helper. These are largely cosmetic changes
from the user's perspective and do not alter pre-existing functionality.

This means the site selection page will have a study_mode in its URL, but that won't alter the behavior of the page. WDYT?

@malcolmbaig 👍


feat(FileUploader): System Setting to enable or disable uploads on public access

https://github.com/newmatik/newmatik/issues/1356

I think we can just make this by default checked. No need to write more custom code. And in case of files which needs to be public like blogger images and KB cover image, it will be easy to set them public.
https://github.com/newmatik/frappe/blob/version-12/frappe/public/js/frappe/file_uploader/FileUploader.vue#L50

@ronelvcabrera @creamdory I think we can just make this by default checked. No need to write more custom code. And in case of files which needs to be public like blogger images and KB cover image, it will be easy to set them public.
https://github.com/newmatik/frappe/blob/version-12/frappe/public/js/frappe/file_uploader/FileUploader.vue#L50

@KanchanChauhan https://github.com/newmatik/newmatik/issues/1356#issuecomment-520822201

@dottenbr @KanchanChauhan because of issue https://github.com/newmatik/newmatik/issues/2307, It would be best if the design is this way:

There is a global System Setting to force upload to private as the design above.
There is a Doctype-specific checkbox to Allow Upload to Public for that Doctype.

@KanchanChauhan the purpose of the forced upload and not defaulting it only to checked is because we want to make sure the User cannot edit it. This is what happen in our first implementation resulting it to be custom to hide the checkbox in current version.

@creamdory Unable to tag Project for this PR. I dont know why.

@ronelvcabrera it is in recent tab. I already tagged it.

@creamdory @ronelcabrera As you are aware we are re-doing it. It was done before Stavros but not accepted by Frappe, we updated and lost our code. Now we are doing it again. So this is an endless cycle every time we update. If the team is ok with it, I am ok too.

@creamdory @ronelcabrera As you are aware we are re-doing it. It was done before Stavros but not accepted by Frappe, we updated and lost our code. Now we are doing it again. So this is an endless cycle every time we update. If the team is ok with it, I am ok too.

Yes as discussed, will update that this is only applied to our repo only. Will update once done.

@KanchanChauhan @creamdory Updates made. Tested. All good. Kindly review. Thank you.


chore: add graph generation

This PR achieved:

supporting view graph of CPU profiling online.
making previous generated SVG files viewable online.
adding multi profiling output types for user to choose by using button with dropdown menu.

The previous generated SVG can only view the Graph or Flame Graph:

User can view Graph, Flame Graph and download raw data of a single instance:

As the first impression I have two ideas:

You may want to use a button with dropdown menu, instead of a dropdown and a menu, to eliminate one click:

doc: https://ant.design/components/button-cn/

Seems that the table row is no longer vertically aligned. Could you fix it?

@baurine @shhdgit PTAL

/merge


First-class theming

The concept of first-class theming, a mechanism to make widget theme management more modular and less error-prone, was introduced by iced some months ago in its version 0.5, but I kept delaying the introduction of this feature in Sniffnet because it was something requiring lots of refactoring.
Well… I’ve finally decided to upgrade the theme management strategy of Sniffnet to follow the best practices recommended by iced 🎉
This has no impact on what the end users see but it makes the code of the GUI more readable and compact.

Awesome! Theming is a great addition. So we created type aliases that we use across the entire app. If you notice, we import these types from our widget module where we've defined the type aliases.
So any place where we return a specific widget type or need to add concrete type annotations, we ensure to use those type aliased imports that use our internal theme.


[TRI-1449] Display warning message when duplicate job IDs are detected

Closes #691
✅ Checklist

[x] I have followed every step in the contributing guide
[x] The PR title follows the convention.
[x] I ran and tested the code works

Testing

Tried to define two jobs with identical IDs:  client.defineJob({
    id: "same-job-id",
  });

  client.defineJob({
    id: "same-job-id",
  });

Got this warning message printed out to the console: Warning: The Job "same-job-id" you're attempting to define has already been defined. Please assign a different ID to the job.

Changelog

Added the colorette library; couldn't use chalk because it's a pure ESM package while trigger-sdk is being compiled to CJS.

💯

This shouldn't be an async method
This looks good, but I think it should be something like what you have but with a bit that makes it clear the warning is from Trigger.dev<EMAIL_ADDRESS>Warning: the Job ...

@ericallam Done!


Incorrectly truncating the characters in utf8 string

ACH Version
1.41.1
What were you trying to do?
We created an ach file, and found the file to be corrupted. One of the ach entries had an identification number set to Testée Samples01
What did you expect to see?
Expected to see the identification number set to Testée Samples0, and a valid ach file.
What did you see?
On creating the ach file, identification number got truncated to Testée Samples instead of Testée Samples0, and the ach file was corrupted, as it had one less character.
On debugging it, the bug is caused by the following code:
// alphaField Alphanumeric and Alphabetic fields are left-justified and space filled.
func (c *converters) alphaField(s string, max uint) string {
ln := uint(utf8.RuneCountInString(s))
if ln > max {
return s[:max]
}
m := int(max - ln)
pad, exists := spaceZeros[m]
if exists {
	return s + pad
}
// slow path
return s + strings.Repeat(" ", int(max-ln))

}
s[:max] does not truncate correctly, it just gives the first n bytes and not first n characters.
How can we reproduce the problem?
Create an ach file where the ach entry detail has the string Testée Samples01 as the identification number.

Thanks, that's defiantly a bug we should fix.


Cannot log raw SQL

Hi.
I tried finding a way to log the requests being sent to the server but I couldn't find anything related to that in the code. Is there a way to do this that I'm unaware of or this is not currently possible? I saw Sequel has an option but that would mean having direct access to the DB object and I see it's under a couple of layers in the code and I couldn't find a way to reach it simply (which of course seems logical by design).
Thanks

@davidpelaez Hey, thanks for asking :+1: It's a missing feature that we want to address. :smile: For now it's not possible unless you fiddle with low level Sequel connection.

Ok. Thanks for replying. Can we leave this opened and include it in a feature release?

@davidpelaez Absolutely :+1: I'm gonna create a special GH label for this purpose.