HTML tags are automatically removed from user name but error in workspace name

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Try setting a new user display name with html tag like
Notice that the is tag removed in name
Try changing the workspace name to
Notice the error that html tags are not allowed

Expected Result
While setting the name, the user should be alerted that tags are not allowed just like it happens in workspace
Actual Result
There is no error, the tags just get removed silently
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.72-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/219444891-683f904a-a355-4d9e-bcfc-afbf5e300f99.mov
https://user-images.githubusercontent.com/43996225/219444921-3166e00a-3330-4248-814f-60c6f66e93a8.mp4
Expensify/Expensify Issue URL:
Issue reported by: @esh-g
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1676493009198069
View all open jobs on GitHub

Triggered auto assignment to @laurenreidexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I think it's expected based on... https://github.com/Expensify/App/pull/13978
And also already planned here to update other places https://github.com/Expensify/App/issues/14610
Not convinced we should prioritize this or handle it differently. Anyone entering HTML here is basically a hacker trying to do an xss attack. cc @ctkochan22 does that sound right to you? I think we can close this one out.

Yeah, it's known and will be handled here: https://github.com/Expensify/App/issues/14610

Cool am closing. also agree with @marcaaron that this is not our mainstream user behaviour.


[SPARK-44007][SQL] Unresolved hint cause query failure

What changes were proposed in this pull request?

After the Resolve Hints Rules are completed, immediately remove unknown Hints to avoid query errors caused by Unresolved Hints.
Why are the changes needed?

// create t0,t1
CREATE TABLE t0(c0 bigint) USING PARQUET
CREATE TABLE t1(c1 bigint) USING PARQUET

// query with unknown hint
 with w0 as (select * from t0),
 w1 as (select c0 from w0 group by c0),
 w2 as (select  /*+ userHint(t1) */  c1 from t1 ),
 w3 as (
 select w2.c1, w0.c0, w1.c0
 from w2
 join w0 on w2.c1 = w0.c0
 join w1 on w2.c1 = w1.c0
 )
 select * from w3;

23/06/08 17:25:23 WARN HintErrorLogger: Unrecognized hint: userHint(t1)
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `w2`.`c1` cannot be resolved. Did you mean one of the following? [`w2`.`c1`, `w0`.`c0`].; line 8 pos 11;
'WithCTE
:- CTERelationDef 4, false
:  +- SubqueryAlias w0
:     +- Project [c0#0L]
:        +- SubqueryAlias spark_catalog.default.t0
:           +- Relation spark_catalog.default.t0[c0#0L] parquet
:- CTERelationDef 5, false
:  +- SubqueryAlias w1
:     +- Aggregate [c0#0L], [c0#0L]
:        +- SubqueryAlias w0
:           +- CTERelationRef 4, true, [c0#0L]
:- CTERelationDef 6, false
:  +- SubqueryAlias w2
:     +- Project [c1#1L]
:        +- SubqueryAlias spark_catalog.default.t1
:           +- Relation spark_catalog.default.t1[c1#1L] parquet
:- 'CTERelationDef 7, false
:  +- 'SubqueryAlias w3
:     +- 'Project ['w2.c1, 'w0.c0, 'w1.c0]
:        +- 'Join Inner, ('w2.c1 = 'w1.c0)
:           :- Join Inner, (c1#1L = c0#0L)
:           :  :- SubqueryAlias w2
:           :  :  +- CTERelationRef 6, true, [c1#1L]
:           :  +- SubqueryAlias w0
:           :     +- CTERelationRef 4, true, [c0#0L]
:           +- SubqueryAlias w1
:              +- CTERelationRef 5, true, [c0#0L]
+- 'Project [*]
   +- 'SubqueryAlias w3
      +- 'CTERelationRef 7, false

// query without unknown hint
 with w0 as (select * from t0),
 w1 as (select * from w0 group by c0),
 w2 as (select c1 from t1 ),
 w3 as (
 select w2.c1, w0.c0, w1.c0
 from w2
 join w0 on w2.c1 = w0.c0
 join w1 on w2.c1 = w1.c0
 )
 select * from w3;
Time taken: 12.666 seconds

Does this PR introduce any user-facing change?

NO
How was this patch tested?

add test

cc @cloud-fan @wangyum


Stack underflow on yielding

Godot version:
3.2.1
OS/device including version:
Windows 10
Issue description:
Stack underflow on yielding
Throws error:
E 0:00:12.232   _disconnect: Disconnecting nonexistent signal 'checkpoint_reached', slot: 1305:_signal_callback.   <C++ Error>   Condition "!s->slot_map.has(target)" is true.   <C++ Source>  core/object.cpp:1522 @ _disconnect()
I am unsure whether this error occurs because of the stack underflow or causes the stack underflow.
Steps to reproduce:
Running the following script attached to a node:
extends Spatial

export (Array) var checkpointPaths
export var moveSpeed := 100
onready var tween : Tween = $Tween
onready var rotate : Tween = $Rotate

signal checkpoint_reached
var moveToObjective = null

func _ready():
	print("Ready:", checkpointPaths)
	moveToObjective = move_to_objective()

func move_to_objective():
	var nav = get_node("../")
	for checkpointPath in checkpointPaths:
		var checkpointObject = get_node(checkpointPath)
		var navPoint = nav.get_closest_point(checkpointObject.translation)
		var path = Array(nav.get_simple_path(transform.origin, navPoint, true))
		follow_current_path(path)
		yield(self, "checkpoint_reached")
		print("Here")

func lookAtTarget(target):
	if (target != transform.origin):
		look_at(target, Vector3.UP)
		self.rotate_object_local(Vector3.UP, PI);

func follow_current_path(path) -> void:
	for p in path:
		p.y = 0
		print("Going to:", p)
		var duration = translation.distance_to(p) / (moveSpeed * get_physics_process_delta_time())
		lookAtTarget(p)
		tween.interpolate_property(self, 'translation', translation, p, duration, Tween.TRANS_LINEAR, Tween.EASE_IN)
		tween.start()
		yield(tween, "tween_completed")
	emit_signal("checkpoint_reached")

Minimal reproduction project:
3DTowerDefense.zip

(unsure how to attach it as I don't see any option to upload zip archive. I can upload to dropbox/google drive if required)

Drag and drop a ZIP archive smaller than 20 MB to the comment window while you're editing the comment.

(unsure how to attach it as I don't see any option to upload zip archive. I can upload to dropbox/google drive if required)

@xoSauce Bump :slightly_smiling_face: Could you upload a minimal reproduction project, please?

3DTowerDefense.zip
That should hopefully do it!
Apologies for the delay on this. The GitHub email got sent to spam (figures ...).
I notice the stack underflow when it turns towards the 2nd checkpoint.

I don't get the stack underflow error, but there are errors about nonexistent signal and instance gone, both invalid.
I wonder if it has something to do with yields inside for loops.


Updated misleading documentation for getcandles #53

I was going to submit this as a PR too.  The _ param is simply used as a cache buster and is not needed by the API client.

and again, thanks a lot!


Fix code scanning alert - DOM text reinterpreted as HTML

When collecting user input HTML is not escaped.  This really is not a security issue as this is a local app and I don't expect the users to do much with this variability.  I expect this to be more of an annoyance than anything else.
td.find("*:first").val();

Tracking issue for:

[ ] https://github.com/zekrom-vale/ShinySQLBrowser/security/code-scanning/1

Now replaces & < > ' "  with & ... ; values to escape them.


Add support for anamorphic squeeze

The anamorphic squeeze factor is the ratio of height to width of the image on the focal plane when the lens captures an axis-aligned square. For example, given a lens with a squeeze factor of 2.0, and a sensor with square pixels, the image on the focal plane might be 1000 pixels high and 500 pixels wide.
Encode as a ratio of two positive integers in the range 0..2,147,483,647.

Addressed at 35a9774cdbcc0a0879953dc02d13709b7ab4d331


keyboard rates on X11 are changed

Version Information:

uname -a :
Linux FrameWork 5.16.12-arch1-1 #1 SMP PREEMPT Wed, 02 Mar 2022 12:22:51 +0000 x86_64 GNU/Linux
swhkd -V :
swhkd 1.1.2

Describe the bug:
When on X11, the keyboard's delay and repeat rates are not respected. They get set to delay: 660 and repeat: 25.
Expected behavior:
For the keyboard rates to remain unchanged.
Actual behavior:
Keyboard rates are changed to 660 25.
To Reproduce:
$ xset r rate 300 50
$ swhks &
$ pkexec swhkd -c ~/.config/swhkd/swhkdrc
$ xset q
...
  auto repeat delay:  660    repeat rate:  25
...

Hi! thank you for the bug report
can you try the following?
git clone https://github.com/waycrate/swhkd/
cd swhkd
git checkout testing_auto_repeat
make setup
make
sudo make install
and then try to repro again?

No change :(

@vainiovano I think we need your assistance here 🙏🏽.

Those are Xorg's default key repeat settings. The settings are probably per-keyboard, which is why they change when switching to swhkd's virtual keyboard.

@vainiovano Is it possible to set it for the uinput device?

we could call the get autorepeat function and pass it to uinput ?

I think that evdev's autorepeat settings are per-fd, so Xorg can't read them, and I think that Xorg implements its own autorepeat itself anyway.

Hmm, from checking Linux' source code (and testing with evtest) it looks like repeat settings are global. I should probably remove setting them in swhkd. Anyway, they don't affect Xorg as it ignores repeat events.

Hmm, from checking Linux' source code (and testing with evtest) it looks like repeat settings are global. I should probably remove setting them in swhkd. Anyway, they don't affect Xorg as it ignores repeat events.

I guess we can try to call xset rate with a shell command after uinput creation?

if on x environment that is.

About this issue. @loiccoyle I was thinking of adding a flag to set custom repeat rates, which will just call xset after setting up the uinput device, what do you think?

About this issue. @loiccoyle I was thinking of adding a flag to set custom repeat rates, which will just call xset after setting up the uinput device, what do you think?

I think that would be a reasonable work-around. Ideally, the user shouldn't have to worry about this at all though, imo.

About this issue. @loiccoyle I was thinking of adding a flag to set custom repeat rates, which will just call xset after setting up the uinput device, what do you think?

I think that would be a reasonable work-around. Ideally, the user shouldn't have to worry about this at all though, imo.

You are absolutely correct, I just don't have enough knowledge about the X11 protocol so I don't know how to do that automatically.
If you know any viable solutions then lmk!

I am looking into how xset does it, based on the available source: xorg-xset.
There are many X11 bindings for Rust, I found x11rb to be well documented and it seems maintained.
It should not be too hard to communicate directly with the X11 server instead of calling xset.
I am not sure how to detect whether a server is running, though.

I am not sure how to detect whether a server is running, though.

What if we check if WAYLAND_DISPLAY is set or not? That way we can rule out wayland entirely.

swhkd does not have access to the user's environment variables, though.
This is already proving to be tricky for this issue, as we cannot use the $DISPLAY environment variable.

Hm that is correct, what if we approach this in swhks? It has access to user env vars.

We need the daemon online and the virtual input created before changing the keyboard rates.
While we could detect this in swhks, we also need to retrieve the previous rates, before swhkd has created the virtual device. I don't see how we could do that reliably as we have no control over which binary is started first.
Could we find a way for swhks to send environment variables values to swhkd? This would solve a number of issues and make it easier in many places.

Could we find a way for swhks to send environment variables values to swhkd? This would solve a number of issues and make it easier in many places.

I actually don't know why I didn't think of this earlier....this can fix a lot of things for us such as XDG_RUNTIME_DIR not being picked up on and defaulting to /run/user/$(PKEXEC_UID).
What if we had a initiation sequence between swhks and swhkd where the server syncs the state for the daemon? We could have some panic message from the daemon indicating that initiation must take place again in the case that swhkd has to be restarted after initiation has already taken place.
This sounds like a good plan should we track this idea in a separate ticket?

Yeah, this seems like a separate implementation plan.
Regarding the X11 keyboard rates: this seems trickier than I thought it would be. I will try to push a proof of concept later in the week.


Update CensoredDataSuite.R

Fix notification bug where function relies on no flag values = NA when flag values may = NA at this point in the function. This notification lets user know when det conds are missing, but it doesn't at this point need all flags to be not-NA.

Codecov Report

Merging #320 (11e5d60) into develop (1eae68e) will decrease coverage by 2.94%.
The diff coverage is 100.00%.

:exclamation: Current head 11e5d60 differs from pull request most recent head a957318. Consider uploading reports for the commit a957318 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #320      +/-   ##
===========================================
- Coverage    53.47%   50.54%   -2.94%
===========================================
  Files           12       12
  Lines         2573     2578       +5
===========================================
- Hits          1376     1303      -73
- Misses        1197     1275      +78

Files Changed
Coverage Δ

R/CensoredDataSuite.R
66.27% <100.00%> (ø)

R/GenerateRefTables.R
85.00% <100.00%> (+0.27%)
:arrow_up:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Using available BinaryClient methods for zrange operations from BinaryJedis

Currently, in BinaryJedis, those calls are forwarded to similar public methods. But in Jedis, similar operations are done other way.
Only zremrangeByScore was not in BinaryJedis and it is added.

@sazzad16
Btw you can open the build result to see why it fails, and rebuild if it is intermittent. Unless there's specific reason (there's known issue in Redis unstable branch, master branch already broken, etc.) we should verify the build success.

@HeartSaVioR Thx!
Actually, I looked for rebuild option but didn't find it. So I thought that there isn't any. After you said, I looked again, found sign in option, signed in, looked again and found restart job option.

LGTM!.

Merged into master, 2.10.


removed isClosed() check

no need for trip to driver/db for closing con.
http://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#close() states
Calling the method close on a Connection object that is already closed is a no-op.
moreover isClosed() was not guarded by network timeout.

Reasonable.


className on svg doesn't work

I've got some JSX:

        <svg className={c.indicator}>

and in the output DOM I see:

        <svg className="some-class">

Looks like the className doesn't get converted to class on the svg element.
If I tried to work around it by changing it to class={c.indicator}, but TypeScript complains that class is not a valid property (I have @types/react in place, because this is a React project in which I'm incrementally introducing solid-based components).

Alright, I was able to add the class attribute type by augmenting the react module:
declare module 'react' {
  interface SVGAttributes<T> extends AriaAttributes, DOMAttributes<T> {
    class?: string;
  }
}

but the output is still
        <svg className="some-class">

Yeah I haven't added any camelcase mapping for SVG attributes since they aren't props. Maybe I should be doing that. React actually went back and forth on it but ultimately landed back on camelCase for SVG. The thinking for not mapping was why handle SVG different than custom elements. Like if you are setting an attribute why not set it as an attribute etc. That decision was reversed though.

This should be fixed in the latest version. v0.12.0.

I did it for statics as well in the latest version of the babel plugin v0.13.2.


bugs: dimension without coordinates and real transforms

This bugs are on the lastest published version of xrft:
Bug 1 : Impossible to compute this example (a value error is raised in _new_dims_and_coords():
s = xr.DataArray(np.random.rand(5,7,8,12), dims=('x','y','z','t'), coords={'x':range(5), 'y':range(5,12), 'z':range(12,20)})
S = xrft.dft(s, dim=('y','t'))
There is no more error when dimension "t" has coordinates.
Bug 2: Real transforms
s = xr.DataArray(np.random.rand(5,10,8,12), dims=('x','y','z','t'), coords={'x':range(5), 'y':range(5,15), 'z':range(12,20), 't':range(12)})
S=xrft.dft(s, dim=('y','t'), real='y')
In S, it should be dimension 'y' to be divided by 2 (because of real transform) but it appears to be dimension "t". A bug somewhere...
I am currently working on a update of _new_dims_and_coords() that, I hope, will not suffer from these bugs. But if you want to publish some fast release patch...

For bug 2:
S = xrft.dft(s, dim=('t','y'), real='t')
and
S = xrft.dft(s, dim=('y','t'), real='t')
do not give the same result and have different shapes.


Direct local .aar file dependencies are not supported when building an AAR.

I have 3 rn modules that uses aar files. They reference it in their own build.gradle file like this:
compile files('libs/mylib.aar')

Until now, it was working fine.
I recently upgraded my app project from react native 0.63 to react native 0.66 and now when I assembleRelease it, I get:

Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packaged in the resulting AAR. Previous versions of the Android Gradle Plugin produce broken AARs in this case too (despite not throwing this error).

I workaround the problem by importing those aar files in my app's build.gradle file but that sucks, my app should not be aware of those aar files at all...
Is there any way to use aar files in rn modules now with gradle 4.2+ ?

@zabojad I'm wondering if you've found a solution for this issue

@a-eid => https://github.com/facebook/react-native/issues/33062#issuecomment-1226945185


[Search] Add setting for error header in search results (Fix #6442)

Fix #6442. Thanks @jloewe907 !

As discussed in discord you need to change the function to have another argument instead of getting the text from the global settings.

Yeah, we clearly need to find another approach to fix this... shall we close this PR or keep using this one ?

Leave this open we can just modify what you currently have


[PropTypes / Default Props] Modify components to be compatible with new Onyx Lint rule

Details

With this PR, we are bumping eslint-config-expensify to v2.0.31, to add the use of the new lint rule that checks and insists that any props originating from withOnyx should be optional and a default value should be provided.
This PR also modifies the existing components using the withOnyx HOC so that the above mentioned code style is followed.
Related PR: https://github.com/Expensify/eslint-config-expensify/pull/58, more details there and in the proposal.
Fixed Issues

$ https://github.com/Expensify/App/issues/14309
PROPOSAL: https://github.com/Expensify/App/issues/14309#issuecomment-1399459298
Tests

The list of components affected by this PR are listed below, a total of 55 files, 51 components:
BaseAnchorForAttachmentsOnly
ArchivedReportFooter
DeeplinkWrapper/index.website
EmojiPicker/EmojiPickerMenu/index
EmojiPicker/EmojiPickerMenu/index.native
IOUBadge
IOUConfirmationList
kycWallPropTypes
IOUPreview
ReportWelcomeText
SettlementButton
createOnyxContext
withCurrentUserPersonalDetails
AuthScreens
ConciergePage
DetailsPage
OnfidoPrivacy
TermsStep
GetAssistancePage
LogOutPreviousUserPage
NewChatPage
BankAccountStep
CompanyStep
EnableStep
ReimbursementAccountPage
RequestorOnfidoStep
ReportDetailsPage
ReportParticipantsPage
ReportSettingsPage
RequestCallPage
SearchPage
ValidateLoginPage
HeaderView
ReportScreen
IOUDetailsModal
IOUModal
IOUAmountPage
IOUParticipantsRequest
IOUParticipantsSplit
InitialSettingsPage
paymentsPagePropTypes
PriorityModePage
CloseAccountPage
ResendValidationForm
WalletStatementPage
WorkspaceInitialPage
WorkspaceInvitePage
WorkspaceMembersPage
WorkspaceNewRoomPage
WorkspaceSettingsPage
WorkspaceBillsFirstSection
WorkspaceCardVBANoECardView
SidebarLinks

Each of these need to be navigated to ensure that no console errors are thrown.
Also, to test the rule itself a sample new component can be added making use of the withOnyx HOC and ensure that no error is thrown if the coding style is followed correctly.

[x] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

All the components mentioned above need to be navigated to and ensure no console errors are thrown.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos
N/A

@grgia @mollfpr One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@Prince-Mendiratta We have a conflict.

@Prince-Mendiratta We have another conflict.

@grgia everything looks good to me, except the one component that needs input. Also, should we put NoQA for this PR?

Well done @Prince-Mendiratta! 2 components left!

I'll look at this tomorrow! I think seeing as this is a huge PR that updates so many components, once we get to the final stage, we will add the ready to build label and have Applause run a full regression suite on the test build. Does that sound okay for you @Prince-Mendiratta ?

Use the links below to test this build in android and iOS. Happy testing!

:test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:

android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/15590/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/15590/index.html

desktop :computer:
web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/15590/NewExpensify.dmg
https://15590.pr-testing.expensify.com

Internal convo started here about getting regression tests done for this!

Chat - Error message appears when uploading and viewing a PDF file
Action Performed:

Go to URL https://15590.pr-testing.expensify.com/
On a conversation, click on the + button in the compose box
Click on add attachment
Upload a PDF
Verify a preview of the PDF is displayed before uploading to the conversation
Click on upload
Verify you can see the PDF in the conversation
Click on the PDF preview
Verify a larger preview of the PDF is displayed

Expected Result:
Preview of the PDF is displayed before uploading
Actual Result:
Error message appears when uploading a PDF file.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] iOS / Safari
[x] Windows / Chrome

Reproducible in staging?: NO
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/225300473-0e442c1e-d4da-45a0-9fa4-abcc3e4b1148.mp4

@grgia @Prince-Mendiratta @kbecciv I can't reproduce the above issue in DEV.

@mollfpr did you use https://15590.pr-testing.expensify.com/ URL?

@mvtglobally Yes! It’s reproducible with the QA Url.

Chat - Navigated to concierge chat which opens in a new browser.
Action Performed:

Navigate to URL https://15590.pr-testing.expensify.com/
Open a chat other than your concierge chat.
Send a message in that chat including the url https://15590.pr-testing.expensify.com/concierge
Click on the link sent in the chat on previous step
Verify that you're navigated to concierge chat

Expected Result:
Verify that you're navigated to concierge chat should open in same tab.
Actual Result:
Navigated to concierge chat which opens in a new browser.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] iOS / Safari
[x] Windows / Chrome

Reproducible in staging?: NO
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/3256362
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/225389430-6030178d-8881-4072-a9be-98176c7ea849.mp4

@Prince-Mendiratta @mollfpr how can I best help here? Are all of the mentioned issues not reproducible locally? Maybe I need to trigger a fresh build? Or if tests are working well we can talk about a plan for final review and merge

https://github.com/Expensify/App/pull/15590#issuecomment-1470439832 This issue only reproduces if the domain is not staging.new.expensify.com.
https://user-images.githubusercontent.com/25520267/226606187-dc43997f-4927-464a-964d-3b06c4ed8989.mov
I tried running the web on the latest main with ngrok and got the issue. You can use the deep link on DEV with the domain staging.new.expensify.com or new.expensify.com.

https://github.com/Expensify/App/pull/15590#issuecomment-1469861207 Still not able to reproduce it in DEV. @grgia @Prince-Mendiratta any idea?
Here's the error from the https://15590.pr-testing.expensify.com/

@mollfpr @Prince-Mendiratta how do you feel about merging the conflict and then merging this? It seems like besides the URL tests, it tests fairly well? Have we addressed all the outstanding errors we encountered?

@grgia I think it's safe to merge it; some of the concerns about the change have already been addressed and resolved it. The above issues are most likely due to the domain.

@Prince-Mendiratta Could you resolve this lint error?

@Prince-Mendiratta another conflict 🤣

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/grgia in version: 1.2.89-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Prince-Mendiratta @mollfpr @roryabraham Can you validate this internally? We are not able to easily identify each component

I validated this and it seems to be working well.

🚀 Deployed to production by https://github.com/luacmartins in version: 1.2.89-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add support for using pyproject-flake8

The pyproject-flake8 wrapper [1] allows for having the flake8 configuration in pyproject.toml. I'm using it for the CWE tool I'm building. Not sure we want to adopt it for RecordFlux - it's an alpha release which hasn't been updated for almost a year. However, I found no issues with it so far. @treiher What do you think?
[1] https://pypi.org/project/pyproject-flake8/

It would be nice to have all tool configuration in a single config file. As you did not have any problems so far and the change is simple, I think it is worth a try. Is there a reason for not removing the .flake8 file with this PR?
I had to re-enable the GH workflows, the checks and test should be executed on the next push.

It would be nice to have all tool configuration in a single config file. As you did not have any problems so far and the change is simple, I think it is worth a try. Is there a reason for not removing the .flake8 file with this PR?

Mainly because I wasn't sure whether we'd use the old tool in parallel. I removed it and adapted the tests.

I had to re-enable the GH workflows, the checks and test should be executed on the next push.

That's annoying. The tests run and pass now.


update themeSelector config to support nested selectors

similar to the selectors config, it'd be nice to be able to do something like:
module.exports = createConfig({
  themeSelector: (mode) => [`@media (prefers-color-scheme: ${mode})`, ':root']),
});

increasing to high priority to support Radix P3 colours


feat: add ARIMA model

Closes #570
Summary of Changes

added time_series_from_csv to  TimeSeries-class.
added  split_rows to  TimeSeries-class.
added ArimaModel
added compare_timeseries to  TimeSeries-class.

You can see test workflow on the test function test_arima_model()

I don't really understand the mk-docs builder and why is it failing here.

My Idea:

Change the prediction method, so it takes a TimeSeries and returns a TimeSeries with the predicted values
Remove the plot_prediction function and add a plot function: compare_time_seires which takes a list of time series and plots them

The current workflow with TimeSeries and first statistical Model:
# load time series from csv

    time_series = TimeSeries.timeseries_from_csv_file(
        path=resolve_resource_path(_inflation_path),
        target_name="value",
        time_name="date",
    )

# split it into train and test set
    train_ts, test_ts = time_series.split_rows(0.8)

# create the model and train it
    model = ArimaModel()
    trained_model = model.fit(train_ts)

# make prediction with the new time series and compare thhem
    predicted_ts = trained_model.predict(test_ts)
    predicted_ts.plot_compare_time_series([test_ts])

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

v0.21.0
GitHub release

Your semantic-release bot :package::rocket:


Impl expansion incorrectly adding lifetime from method

Hi there,
Thanks for the library as well as the concept! I might have discovered a case of incorrect expansion in a certain scenario. I'll try to explain below:
I have a handwritten trait named Foo in crate A which I then want to implement as MyFoo in crate B.
The expansion in crate B is causing errors due to the lifetime specified in the method I prescribed in my handwritten trait.
The DoFoo method in my trait contains a lifetime parameter (my real implementation involves tokenizing some input string, and preferably I would like to avoid clones).

Crate A (no issues)
Crate A:
#[entrait(FooImpl, delegate_by = FooDelegate)]
trait Foo {
    fn DoFoo<'a>(&self, input: &'a str) -> &'a str;
}

Crate A expanded (no issues):
trait Foo {
    fn DoFoo<'a>(&self, input: &'a str) -> &'a str;
}

trait FooImpl<EntraitT>: 'static {
    fn DoFoo<'a>(__impl: &::entrait::Impl<EntraitT>, input: &'a str) -> &'a str;
}
pub trait FooDelegate<T> {
    type Target: FooImpl<T>;
}

impl<EntraitT: Sync> Foo for ::entrait::Impl<EntraitT>
where
    EntraitT: FooDelegate<EntraitT> + Sync + 'static,
{
    #[inline]
    fn DoFoo<'a>(&self, input: &'a str) -> &'a str {
        <EntraitT::Target as FooImpl<EntraitT>>::DoFoo(self, input)
    }
}

Crate B
Crate B
struct MyFoo;

#[entrait]
impl FooImpl for MyFoo {
    fn DoFoo<'a, D>(deps: &D, input: &'a str) -> &'a str {
        input
    }
}

Crate B expanded (issue is here)
impl MyFoo {
    fn DoFoo<'a, D>(deps: &D, input: &'a str) -> &'a str {
        input
    }
}

// Issue lies here: as the lifetime is added to the impl for the trait and in the wrong order (it is not needed at all)
impl<EntraitT: Sync, 'a> FooImpl<EntraitT, 'a> for MyFoo {
    #[inline]
    fn DoFoo<'a>(__impl: &::entrait::Impl<EntraitT>, input: &'a str) -> &'a str {
        Self::DoFoo(__impl, input)
    }
}

I am using version 0.5.3 of the crate.

Hi, thanks for your interest and for reporting an issue! I'll try to look into it.
Entrait is not something I engage with every day. Whether it's really a viable design pattern for production code is for me an open question, and the answer to that is dependent on people evaluating it, so thanks :)
This (on first glance) seems like a proper bug.
PS: PRs are very welcome!

0.6.0 released. The reason for the major bump is that unimock was already bumped some time ago on the main branch. I initially planned some other changes before 0.6.0 but I never got to do them.


Build webhooks

Coverage remained the same at 94.419% when pulling 5132d504e01fc3ebfe33973cb4e1a018fab02213 on build-webhooks into 02ad3c958c7e63ea619a8ea47f39560729660d91 on master.


Execute shell on workload page not work correctly

Rancher Server Setup

Rancher version: 2.6.3
Installation option: Helm Chart on kubernetes OVH  v1.20.2

Information about the Cluster

Kubernetes version:  v1.20.2
Cluster Type : OVH

User Information

What is the role of the user logged in:  Admin/Cluster

Describe the bug
When using  "Execute Shell" submenu on workload screen, if there is many workload on different namespace, it will allways connect to the same container, even if we select a specific namespace
This bug not happen when doing execute shell directly on pod
To Reproduce

deploy same workload on differents namespaces (ex on namespace a,b,c)
go to workload screen
add filter on namespace b
click on execute shell

Result
you may connected to pod that run on another namespace than expected one.
Expected Result
you connected to pod that run on namespace b
Screenshots

We are facing the same issue.

We are facing the same issue on Rancher 2.6.3 with an Custom Kubernetes 1.21 RKE Downstream Cluster.

Same problem too.

Yep same here, also from the Deployments screen.
We have a preproduction and a production namespace and the Execute Shell button always ends up at preproduction, unless you specifically click through to a running pod inside the production namespace and select Execute Shell from there.
Rancher v2.6.4 and EKS 1.21 cluster

We are experiencing the same issue on 2.6.5. It looks like it runs shell on the first namespace in alphabetical order.

I'm seeing the same issue on 2.6.5. When multiple namespaces have a service with the same name, trying to execute the shell from the main UI, it always opens the service residing in the namespace that comes first alphabetically. We are having to drill down and execute the shell from the pod level.

We are experiencing same issue. Any updates?

We are seeing the same issues on a v2.6.6 Cluster with RKE Downstream-Clusters running v1.22.9.
If there are deployments using the same name in different namespaces, the "execute shell" option will start the shell on the first pod in alphabetical order, regardless of the namespace they are running.

The issue is still relevant


Blinkpy accepts incorrect 2FA Code

Describe the bug
The Blinkpy module accepts any 2FA code that I enter, even if it is completely wrong from the 2FA code that Blink sends in an email.
Steps to reproduce the behavior:

use no_prompt=False in the Auth() method
Run script
Get email from Blink for 2FA code.
Enter wrong code from Blink Email
Blinkpy will accept the code and continue on.

Expected behavior
The Blinkpy module should deny access if the 2FA code is incorrect from Blinkpy.
blinkpy version:
blinkpy==0.16.4
Log Output/Additional Information
pferland@rpi4:/mnt/6T/blink $ python3 main.py
/mnt/6T/blink/config/.blink_config
Enter code sent to <REMOVED>: 7
Downloading Videos
Blink Cameras
Front Door - Outdoors
{'name': 'Front Door - Outdoors', 'camera_id': '<REMOVED>', 'serial': '<REMOVED>', 'temperature': 33, 'temperature_c': 0.6, 'temperature_calibrated': 33, 'battery': 'ok', 'battery_voltage': 145, <TRUNCATED>}

I reached out to the Blink Support team about this and they put the blame on the Blinkpy module. I do not believe them that this is an issue with the python module. I believe that it is an issue with their API not authenticating users correctly with the 2FA code.
So I just wanted to cover the bases and have you take a look if possible and if you are able to replicate and verify that it is not an issue with the python module I will go back to Blink Support with that evidence.

Thank you for contacting Blink Technical Support.
Regarding about the third party script that you were using right now, we no longer have any support with any third party script. If you were having trouble with your third party script. We apologize but we can't help you with that matter. We suggest you may contact the third party script operator that you were using. If the issue is with the blink application, we can definitely help you with that.
Looking forward for your response.
Best regards,
Blink Technical Support

Thank you!
-Phil

Hmm that does seem a bit of a slippery slope there.

Hmm that does seem a bit of a slippery slope there.

The Official Blink App does not allow bad 2FA Pins, this seems to be they are limiting access via their app artificially.
I was able to bypass the 2FA in my script by doing the following:
auth = Auth({"username": "<USERNAME>", "password": "<PASSWORD>"}, no_prompt=True)

blink.auth = auth
blink.start()
time.sleep(5)
blink.auth.send_auth_key(blink, "1")

<Continue on with code>

And it still works downloading the videos.
So, no need for 2FA even thought Blink "Requires" it for unverified clients.

The Official Blink App does not allow bad 2FA Pins, this seems to be they are limiting access via their app artificially.
I was able to bypass the 2FA in my script by doing the following:
auth = Auth({"username": "<USERNAME>", "password": "<PASSWORD>"}, no_prompt=True)

blink.auth = auth
blink.start()
time.sleep(5)
blink.auth.send_auth_key(blink, "1")

<Continue on with code>

And it still works downloading the videos.
So, no need for 2FA even thought Blink "Requires" it for unverified clients.

This one probably can be closed too since the validation is corrected in the new rc.

What I am seeing is that many calls do not need the 2FA to be completed successfully. Call to homescreen is an important example. If the 2FA was not successful, but you call blinkpy again with the last token, it returns successfully from the homescreen call and the check for verification_required is not set (at least from what I've seen playing around). This allows the script to continue and calls to functions that need 2FA, such as the video download, fail.
Regret that I am not also offering how to code around that :).

@macleajb As I noted in #426,  I am able to disarm and arm my system with an invalid 2FA pin (using the older blinkpy that doesn't validate the 2FA and exit on invalid pin)


Encode key/payload with schema

Description
Fixes ConduitIO/conduit-connector-sdk#197
Quick checks:

[ ] I have followed the Code Guidelines.
[ ] There is no other pull request for the same update/change.
[ ] I have written unit tests.
[ ] I have made sure that the PR is of reasonable size and can be easily reviewed.

@lyuboxa thanks for this:) This fix will land in the SDK: https://github.com/ConduitIO/conduit-connector-sdk/pull/196.
However, your cleanup of the code looks good to me, so I've extracted it here: https://github.com/ConduitIO/conduit-connector-postgres/pull/218.


clean up wrapper.rs, moved/renamed some functions

@thesuhas Can you check if all functions wrapper.rs are necessary? Can some be replaced wasm-tools according to this PR? https://github.com/bytecodealliance/wasm-tools/pull/1655/files

I removed one more function but I'm not sure of what else we can remove


k8s: Use TTY to cancel execution

Add TTY to ExecInPod() to cancel command execution on timeout. Add a
new ExecInPodWithTTY() to allow the caller to proceed in parallel and
stream stdin and stdout. util.SyncBuffer can safely be used with
streamed stdout, while utils.CtrlCReader can be used as stdio that
sends a CTRL-C CTRL-D sequence when closed, which should tell the
remote execution to stop.
Based on local testing using TTY has negligible effect on test
execution speed.
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>

external workloads GH action failed due to pending clustermesh-apiserver deployment. Issued a new PR to catch this earlier in the cilium clustermesh status phase (https://github.com/cilium/cilium-cli/pull/353).

@ti-mo Addressed the nits :-)

rebased to pick up fixes (e.g., #354) from master.

Rebased to pick up fixes from master.

Rebased again to pick up latest fixes.


Develop to master sprint 14

Closing as there are two large current bugs in develop branch right now. Bug tickets have been created for them:
#1392 and #1393


Allow EntityCache to function at any point in the transformer pipeline

EntityCache currently must store and return only the values at the very end of the transformer pipeline.
This works well when the end result of the pipeline is an easily serializable type such as text or JSON:

However, it’s problematic when the transform pipeline produces a model, which can be difficult for an EntityCache to store and retrieve:

Attempts to solve this problem by keeping models in a database quickly become problematic:

The database needs to be able to look up models by REST URL, which mixes abstraction layers and leads to hackish workarounds.
The EntityCache API is not designed to work with databases. (For example, it wants to pass cached entities across threads, which Realm doesn’t like.)

Suppose, however, that an EntityCache could insert itself at any point in the transformer pipeline and not just the end. In other words, this is currently the only supported structure:
→ JSON transformer → Model transformer → (EntityCache) →

…but suppose the pipeline instead supported this:
→ JSON transformer → (EntityCache) → Model transformer →

When there is a cache hit, the pipeline would pick up immediately after the cache's position in the pipeline. An EntityCache could then work only with its preferred data type:

…or even:

This would require some hard thought in the plumbing, but seems to make sense. @annicaburns, would this solve the problems you were having with EntityCache? Would you still want to use Realm even with a mechanism like this in place?

Thanks for giving this so much thought, Paul. What you are suggesting above looks like it would work well for us and would solve the one roadblock we hit attempting to use Siesta and Realm in an integrated way.
We would still want to use Realm because we need database functions beyond persistence. We need to query objects and relationships and perform other business logic (calculations, summaries, rollups) on our data while offline (disconnected from the server).
I'm really excited to hear you are considering making a change like this for v1. Many Thanks.

Thanks for giving it a look, Annica. Since writing this up, I also started wondering if I shouldn’t just make all EntityCache implementations work at the beginning of the pipeline, i.e. NSData only. Your scenario answers that: yes, there is potential value to exposing models to caches too.
In that case, would the change I’m proposing here help you? Maybe. You could do something like this:

…where the Siesta → Realm flow is unidirectional: the Realm cache’s writeEntity updates Realm every time new data arrives, but its readEntity never returns anything. That means you don’t have to stuff URLs in the database. (There’s still the main thread problem, but that’s easily solved.)
In this scheme, Realm is only there for queries and rollups; the app doesn’t rely on Realm to make network requests work offline. When you make a request, Siesta first asks the Realm cache, but that one always says “Not it!” It then checks with the JSON cache, which might actually return something.
Does this make any sense? It seems like it would work if Realm is just a cache too, but it would fall apart if you’re trying to update Realm locally and pushing those changes back.

There’s a deeper problem here I’ve been trying to avoid: I don’t want to make Siesta try to handle bidirectional sync. That pushes too deep into API-specific behavior.
Right now, Siesta is strictly a cache, and the server remains the ultimate source of truth. It’s up to the app to manage updates: what they look like, when they happen, what to do with client-side state if they fail. That seems like the right line to draw. However, I think a lot of Siesta client projects (including yours) are going to push up against it, and I don’t have a clear answer. Thus my interest in your case.

I totally agree that Siesta should NOT try to be responsible for syncing data or state back up to the server. We were not expecting or even hoping for that - we are writing our own code manage that process. So I support the line you are drawing there.
However I do have concerns about the evolution you are proposing to your original suggestion. BUT... they may be specific to our requirements and beyond your scope. Because of the security requirements in our industry (Health Care) we cannot save any data to disk that is not encrypted. Any data we persist to disk will need to be inside an encrypted Realm instance so we wouldn't be able to make use of the File-based EntityCache you propose above (unless we can encrypt it somehow). I was depending on us being able to re-populate the EntityCache from the models in our encrypted Realm Instance - which means we would need to save the URL's in the database AND have a way to read the data back into the EntityCache from the data stored in Realm.
And now that I think about it... I guess this is a problem that existed in your original suggestion as well. Any caching we do will need to read/write to and from an encrypted store - which is one of the two reasons I was trying point your PersistantCache at Realm in the first place. The second reason, of course, is the additional processing we need to do on the data we plan to persist: object and relationship queries and rollups.
Hmmmm....

I think the need for encrypted caching is widespread. Right now, of course, Siesta doesn’t even provide an implementation of EntityCache for you, so … you can write one that’s encrypted or not. Eventually (1.1?) I do think Siesta should provide default implementation(s) supporting both NSData and JSON input, and storing files both encrypted and unencrypted. For 1.0, though, I just want to stabilize the API.
To that end:

I’m thinking to go ahead with the API changes necessary to support what described above, and
I should also let caches specify their preferred GCD queue, which would solve your Realm problem.

And an addendum to that: even though you’re not relying on Siesta to handle the sync problem (yay!), I’m very interested to know about any roadblocks you hit in the course of doing that that do fall squarely on Siesta’s side of the line.

That works for me, Paul. We will plan to write an encrypted implementation of EntityCache for now, and follow the roadmap you laid out above.... and wait patiently for v 1.0 with the solution to our Realm problem. Again... many thanks.

Hey there, was wondering if there has been any progress with the Realm integration and if/when to expect to get a sneak peak? Thanks.

@jyounus Well, I don’t have a paying client for Siesta improvements at the moment, so it’s (alas) a spare time project, taking a backseat to the teaching and other urgent things. But this feature is definitely high on my list! I will post to this issue when I have something testable.

No worries, I was just wondering if this got anywhere. Appreciate all the work and efforts that have and are being put into this project! :)

After some head-scratching and light prototyping, I have a design proposal for this.
Background
The challenge here is that the transformer pipeline currently is just an unstructured (and uninspectable) array, and depends on users writing configuration so that transformers get added in the order they should run, with no opportunity to insert or replace specific ones. This design was already stretched a little thin, but this issue clearly breaks it: clients need to be able to say “add cache X at point Y in the pipeline” where Y is not necessarily the end.
We therefore need some way to say “point Y in the pipeline.” Because transformers are usually structs, using instance equality is not an option. Because they are often closures wrapped in a single ResponseContentTransformer type, using dynamic type information is not an option. There’s no natural way to say “the JSON transformer that’s in the pipeline.”
I originally considered letting clients specify an optional ID when adding a transformer. However, this turns out to be fairly awkward at the point of use, and is also brittle.
Proposal
Concept
The big API change is that the pipeline would have a sequence of identifiable named stages:

Clients can customize the set of stages and their order.
Each stage has zero or more transformers:

…and a cache:

During response processing, each cache receives an entity for writing after all the stage’s transformers have run.
When reinflating a new resource, Siesta checks each cache in turn starting with the end of the pipeline. If there is a cache hit, Siesta takes whatever the cache returned and runs it through the pipeline’s subsequent stages.
API
The opaque resourceTransformers property would go away.  Instead, you would configure transformers by attaching them to a pipeline stage:
service.configure {
    $0.config.pipeline[.parsing].add(SwiftyJSONTransformer, contentTypes: ["*/json"])
    $0.config.pipeline[.cleanup].add(GithubErrorMessageExtractor())
}

The ability to identify transformers by stage creates the new ability to remove or replace specific transformers in the pipeline. This is frequently request feature for model transformers. To this end, Service.configureTransformer(…) will no longer always append the transformer; instead, it will by default replace the transformer at the model stage:
service.configureTransformer("/users/*") {
  User(json: $0.content)
}

// ...is shorthand for:

service.configureTransformer("/users/*", atStage: .model, replaceExisting: true) {
  User(json: $0.content)
}

// ...which is shorthand for:

service.configure("/users/*") {
    $0.config.pipeline[.model].removeTransformers()
    $0.config.pipeline[.model].add(
        ResponseContentTransformer(
            User(json: $0.content)))
}

@MPiccinato, I think this would nicely solve #47?
service.configureTransformer("/products/*") { Product(...) }
service.configureTransformer("/products/filters") { Filter(...) }  // overrides line above

Each stage has an optional cache:
service.configure {
    $0.config.pipeline[.rawData].cache = encryptedFileCache
    $0.config.pipeline[.model].cache = realmCache
}

Clients can create custom stages with an arbitrary order:
service.configure {
    $0.config.pipeline.order = [.munging, .twiddling, .blending, .baking]
}

My tentative list of default stages:

rawData: unprocessed data (to attach cache; wouldn’t typically have transformers at this stage)
decoding: bytes → bytes: decryption, decompression, etc.
parsing: bytes → ADT / general type: JSON, UIImage, etc.
model: general object → model
cleanup: catch-all for (Maybe “postprocessing” instead?)

Thanks everyone for your patience on this. I have a precious window of time right now to move fast on implementing this, if we can get to a satisfactory design quickly. Please send your reactions and nitpicks!

I’ve pushed a draft implementation of this to the structured-pipeline branch. It’s a work in progress, but I think it’s testable if you want to experiment with it.

Does anyone have made some kind of working entity cache with realm ? Or a realm extension ?


Don't give operator permissions to create CRDs if not needed

Tetragon Operator has an option to skip CRD creation, but even if it's used, the operator ClusterRole still contains permissions to create CRDs. For slightly better security hygiene, these permissions can be included conditionally, only if needed.

I would like to contribute to this issue, can you guide me on how to get started

@itsCheithanya Thanks! To implement the fix, you'll need to use the Helm if block in the operator ClusterRole. It should be a pretty small change.
To test it, first create a local kind cluster:
./contrib/localdev/bootstrap-kind-cluster.sh

then create a local values.yaml file with CRD creation disabled:
tetragonOperator:
  skipCRDCreation: true

and install Tetragon with using local Helm chart and your values.yaml file:
./contrib/localdev/install-tetragon.sh --values values.yaml

Then, check the operator ClusterRole using kubectl:
kubectl get clusterrole tetragon-operator -oyaml

I hope this gives you a starting point.


Local e2e test

The main vertica image is modified to use package manager  to install jre-headless, depending on whether the image should be minimal or not. The /opt/vertica/sdk folder is preserved if image is not minimal. A symlink to python3 interpreter in vertica is installed in /usr/bin. The java udx tests are added. The sample manifests are added.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Zhuoyu Ji:x: jizhuoyuZhuoyu Ji seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


fix: add missing subThoroughfare to Address type

Does any other open PR do the same thing?

NO
What issue is this PR fixing?
fixes: https://github.com/react-native-maps/react-native-maps/issues/4786
How did you test this PR?

subThoroughfare Should be available on Android & iOS for Google Maps and Apple Maps

@huextrat this doesn't seem like an accurate fix, specifically the subThoroughfare seems to be only relevent to apple maps, I can't find it in google maps docs.. I will reply in the relevent issue to have a discussion about this.

Still relevant


Cameras don't have deconstruction steps

Description

This is after i tapped "start deconstruction" (I made sure of it)
Screenshots

I wasn't able to reproduce it, someone else should give it a go and see if it happens for them

I wasn't able to reproduce it, someone else should give it a go and see if it happens for them

Seems to show the deconstruction steps normally for me as well


Chiseled me crash

latest.log

You have OptiFine installed, which is (for now) not compatible with Chiseled Me
And it is the first one in the list of mods to be checked for compatibility issues
Closing this as another duplicate of #16


prevent the creation of private hosted zone in Route53

What is this?
Change in SCP to prevent the creation of a private hosted zone in Route53
Why is this important?
Private hosted zone are really expensive, and should be managed as shared deployments.
How to implement it?

[ ] change SCP in production
[ ] validate the behavior
[ ] change sample SCP provided with SPA
[ ] change workbook on preventive controls

Thanks to Nassim Benmalek for reporting the issue

Hello,
I don't have the feeling private hosted zone are expensive :
(ref aws
Zones :
$0.50 per hosted zone / month for the first 25 hosted zones
$0.10 per hosted zone / month for additional hosted zones
Queries (STD) :
$0.40 per million queries – first 1 Billion queries / month
$0.20 per million queries – over 1 Billion queries / month
Furthermore private hosted zone are a mandatory element for a lot of tests/behaviors based on internal naming of computer ; for example in Microsoft domains environments

this issue is dropped, as suggested by Bertrand


Add a rake task to republish all documents with non-english attachments

https://trello.com/c/3BeDlugo/2761-republish-whitehall-documents-containing-non-english-html-attachments-5

Gives rise to #6397.


Question: same-file opening from multiple processes with access=read

Hi OpenCoarray team, Fortran 2018 allows multiple processors to open the same file simultaneously to read its contents, independently of each other. Is this feature already supported by OpenCoarrays? Intel ifort 2019.4 supports this new feature introduced in Fortran 2018.
Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information.
The title of the issue should start with Question: followed by a
succinct title.

[x] I am not reporting a bug or asking for a new feature
[x] I am asking a general question about, e.g., the internal workings of this software, the direct use of this software, or use cases for this software, etc.
[x] I have already searched for the answer to my question on Google and Stack Overflow

Please be descriptive, precise and concise. Thanks!

@shahmoradi can you please point me to the relevant text in the standard of in "Modern Fortran Explained" just so I can be 100% sure of the answer I give you?
Without going into specifics, I believe the answer to your question is "yes" with the caveat that there probably is little or no optimization for this feature currently, so it may not scale well, and it may not be doing anything more fancy than just opening the file on each image and reading it normally.

Thanks, Izaak, that's all I need. Basically, I have an input file that has to be read by all images to begin their work. There is nothing performance-critical in this section of the code. Previously, only the first image used to read the file and broadcast the data to all other images, but that was very unpleasant and messy. So, I have converted all input-file-read tasks to be executed by all images (instead of only the first), independently of each other. This is possible in ifort 19.4, and I wanted to make sure it is also possible with OpenCoarrays (OC), as I don't have OC installed yet. The code has to work with both compilers. Anyways, thanks again for your response!


tikal not showing up on sonics intro cutscene

Encountered behavior
tikal not showing up in intro cutscene
Expected behavior
tikal as glowing orb following the helicopter
Installed mods

sadx-input-mod
sadx-dc-lighting
sadx-dc conversion

Thanks for the report. This issue isn't related to the Lantern Engine mod. It's been fixed in DC Conversion.


Adopt a single allocation API

Alternative implementation to address #5 next to #6 based on Thomas' idea of a single API call for the different allocation scenarios, for direct and per-worker arrays, respectively:
MapContext.alloc(shape=None, dtype=None, order=None, fill=None, like=None)
MapContext.alloc_per_worker(shape=None, dtype=None, order=None, fill=None, like=None)

It comes in 113 lines (!) lighter than the numpy array API, and I was quite chatty in its docstring 😃
I'm still tempted to fold the second method into a per_worker keyword, as it's really just a flag to modify the result. This is nicely highlighted by the fact it's using the same test.
Also, one may make all arguments keyword-only, to ensure nobody is putting any meaning in its order. But it may be a bit too much on pushing a particular style.

I'm still tempted to fold the second method into a per_worker keyword, as it's really just a flag to modify the result. This is nicely highlighted by the fact it's using the same test.

That's OK with me if you prefer. I was thinking of them as separate mostly because I wouldn't attach alloc to the context,  but you don't seem to be buying that part of my argument. :wink:
I might even argue that a boolean flag doesn't really add anything over making it explicit:
ctx.alloc_per_worker(100)
ctx.alloc(100, per_worker=True)
ctx.alloc((ctx.n_workers, 100))

Though obviously that depends how you use it - e.g. using alloc(like=x, per_worker=True) to get an array of shape (n_workers,) + x.shape saves a bit of typing.

Also, one may make all arguments keyword-only, to ensure nobody is putting any meaning in its order. But it may be a bit too much on pushing a particular style.

I might allow shape & dtype as positional args, and make the rest keyword-only - I tend to think that beyond a couple of arguments, it's clearer to pass them by name. But that's not super important.

I'm still tempted to fold the second method into a per_worker keyword, as it's really just a flag to modify the result. This is nicely highlighted by the fact it's using the same test.

That's OK with me if you prefer. I was thinking of them as separate mostly because I wouldn't attach alloc to the context, but you don't seem to be buying that part of my argument. 😉
I might even argue that a boolean flag doesn't really add anything over making it explicit:

I've found this case, which I find somewhat more expressive with the keyword, as you don't need to switch the method:
one_result = psh.alloc(my_shape, my_dtype, per_worker=True)
other_result = psh.alloc(like=one_result)

Both arrays are meant to be per_worker, but using alloc for the second might be misleading of they differ.

I might allow shape & dtype as positional args, and make the rest keyword-only - I tend to think that beyond a couple of arguments, it's clearer to pass them by name. But that's not super important.

Good point, it also gives a minimal amount of compatibility with numpy.
This is as far as I'd take it, any more comments? Thanks for the review so far!

This interface is pretty neat; fill and like make sense as keywords. While https://github.com/European-XFEL/pasha/pull/6 may be more familiar to heavy numpy users, I don't think that is worth the extra wrapping paper and API bloat.
I think per_worker is fine as a keyword. The docstring does indicate that it is "just" there for conveniently adding an axis without having to recall the number of workers. If it's a separate function, I start wondering if the allocation strategy is somehow different.

Alright, let's keep it like this. Thanks for the reviews!
I've added some final docstring fixes and moved the initialization via fill into the low-level method _alloc. Quick googling demonstrated a more-than-trivial improvement when allocating large zeroed arrays, see [1] and [2]. This way we can use np.zeros for the heap and actually skip it for shared memory, as MAP_ANONYMOUS already guarentees zeroes.

Quick testing on a maxwell node gave 7 us vs 800 ms for allocating a zeroed (1000, 1000, 1000)-shaped array.


[CHALLENGE SUBMISSION]

Please provide the following information for your submission:
What is your name? (First, Last)
Drew Skwiers-Koballa
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/dzsquared/25-days-of-serverless-day5
What Challenge is this for? (Challenge number between 1 and 25)
5
(Optional) Anything else we should know? e.g., language used, location, blog post?
https://www.drewsk.tech/2019/12/05/25-days-of-serverless-day-5/

THANK YOU FOR YOUR #25DaysOfServerless SUBMISSION
We checked out your repository. We're thrilled to say your solution is now listed in our Hall of Fame
Thank you for your contributions!
This issue is now resolved! 🎉


[GHSA-9pgh-qqpf-7wqj] Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in @xmldom/xmldom and xmldom

Updates

Affected products
Description

Comments
Dead link and redundant content in the description

Hi there @karfau! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory


Git: Unified GitAccounts, GitClient and GitClone

Description
Unified GitAccounts, GitClient and GitClone into one module, making it easier to navigate everything Git related.
Checklist

[x] I read and understood the contributing guide as well as the code of conduct
[x] My changes generate no new warnings
[x] My code builds and runs on my machine
[ ] I documented my code
[x] Review requested

@lukepistrol you can merge


Add ru_ru.json

Thank you for the work done, but we already have ru_ru locale made by me (commit 316790d80bf98a15a32a1705a1e1be52cc7348f3)
As well, your translation based on old version of en_us locale (dsurround.config.thunderStorms.* no longer exists)


I want to be able to set a payment target, which is transferred as a parameter

User Story
As Chris, I want to be able to set a payment target, which is transferred as a parameter so that I know who I am going to pay.
Acceptance criteria
Tasks
Story Points

@kelsos Is this included in #62 ?

@christianbrb This will also be part of #339.

Closing as it is included in #339


Add support for Consul gRPC check

This add support for Consul gRPC check which was first introduced with Consul 1.0.5 release. The backends doc is also updated.

@josegonzalez by any chance - can this be merged. If not could you please comment what need to be done to make it happen

@josegonzalez @mattatcha @nicofuccella Any chance of this being merged in soon?  I'm not the author but I'd be happy to resolve conflicts (related to http_method addition I assume) and submit a separate PR.

Worth resubmitting.

I'm not really paying attention to this repo, other than helping @nicofuccella with any issues...

@nicofuccella see #672 which is a rebase of this PR.


Add ability to specify initial multi-column sort using ts-default?

Is there a method for specifying a default sort that spans multiple columns?

You can set ts-default on several columns.

Is there anyway to control the order of the multiple ts-defaults?

No, you cannot do that. It sorts by the first ts-default and then the second and so on. In practice, I have never needed to control that. I think that if you have a column with several rows that you want to sort by, then it makes sense to sort by the leftmost column first. This means that the table will look like this

column 1
column 2

A
1

A
2

A
3

B
1

B
2

instead of this

column 2
column 1

1
A

2
A

3
A

1
B

2
B

In the first table, it is easy to see that the table has been sorted by column 1 first and then column 2. In the second table that is not as obvious.


Rule 'unique-operation-name' requires 'parserOptions.operations' to be set and loaded.

Describe the bug

I am getting the error

Rule 'unique-operation-name' requires 'parserOptions.operations' to be set and loaded.

However, I believe I have set the settings correctly according to the Readme.
To Reproduce
Steps to reproduce the behavior:
I am

Expected behavior

Environment:

OS: macOs Big Sur 11.4
@graphql-eslint/...: v1.0.1 (sha512-+7nOx36ZgP57iL4tUbMTmILasqaL9FeYiH8G+/Co7mY871OmHNIS91izHaAZHh28emCE6dW/J1Wt9dhmag/OUw==)
NodeJS: v14.15.1

Additional context
eslintrc.yaml
---
extends: react-app
overrides:
  - files:
      - "*.graphql"
    parser: "@graphql-eslint/eslint-plugin"
    plugins:
      - "@graphql-eslint"
    parserOptions:
      operations:
        - "./src/**/*.graphql"
      schema: "./schema.graphql"
    rules:
      "@graphql-eslint/unique-operation-name": 2

Relevant stack-trace-error:
[Error - 1:43:34 PM] ESLint stack trace:
[Error - 1:43:34 PM] Error: Rule 'unique-operation-name' requires 'parserOptions.operations' to be set and loaded. See http://bit.ly/graphql-eslint-operations for more info
Occurred while linting /myproject/src/components/Approve/OrderApprovals.graphql:1
    at requireSiblingsOperations (/myproject/node_modules/@graphql-eslint/eslint-plugin/index.cjs.js:24:15)
    at OperationDefinition (/myproject/node_modules/@graphql-eslint/eslint-plugin/index.cjs.js:1559:34)
    at /myproject/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/myproject/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/myproject/node_modules/eslint/lib/linter/node-event-generator.js:293:26)
    at NodeEventGenerator.applySelectors (/myproject/node_modules/eslint/lib/linter/node-event-generator.js:322:22)
    at NodeEventGenerator.enterNode (/myproject/node_modules/eslint/lib/linter/node-event-generator.js:336:14)
    at CodePathAnalyzer.enterNode (/myproject/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:711:23)
    at /myproject/node_modules/eslint/lib/linter/linter.js:956:32

Could you share a reproduction on CodeSandbox or somewhere else?

I tried to create a MVE here, but it seems to work correctly there. I'll try to look a bit more into reproducing this.

Turns out, there was a hidden .graphql-config file that I did not know about in the project. I think it is outdated.
For now, I set skipGraphQLConfig: true as suggested in ./docs/parser-options.md
I think we can close this now.


refactor: custom error types for cargo-util-schemas

What does this PR try to resolve?
Add custom error types for  cargo-util-schemas.
Four rror types are exposed:

PartialVersionError
RustVersionError
PackageIdSpecError
NameValidationError

How should we test and review this PR?
Commit by commit should be good to review. Some error messages are slightly modified.
Additional information
Prior efforts and issues:

https://github.com/rust-lang/cargo/issues/10160
https://github.com/rust-lang/cargo/issues/12235
https://github.com/rust-lang/cargo/pull/12424
https://github.com/rust-lang/cargo/pull/12310
https://github.com/rust-lang/cargo/pull/13050

Addressed all review comments. Thanks for your help Ed!
@bors r=epage

:pushpin: Commit 0b0e78fa3fdc069da9bf8d8c67e9963b46b62630 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 0b0e78fa3fdc069da9bf8d8c67e9963b46b62630 with merge a9c749c33ea42e64d423d0174518793412f7b5c4...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing a9c749c33ea42e64d423d0174518793412f7b5c4 to master...


Add source type and name when creating a network map from ocp to ocp

Ref:
https://issues.redhat.com/browse/MTV-1201
Issue:
When creating a network map from with OCP provider as source, we need to indicate the type of the network.
Fix:
Add 'type' and 'name' to source network when source provider is openshift

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 36.20%. Comparing base (13484d0) to head (10f58a6).
Report is 72 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1344      +/-   ##
==========================================
- Coverage   36.81%   36.20%   -0.61%
==========================================
  Files         158      158
  Lines        2548     2574      +26
  Branches      599      588      -11
==========================================
- Hits          938      932       -6
- Misses       1428     1640     +212
+ Partials      182        2     -180

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


test: Add tests for using worktrees and sparse checkouts

What does this PR try to resolve?
Based on @eminence's comment, Add tests for using worktrees or spase checkouts.
How should we test and review this PR?
Checkout and run tests:
cargo test --package cargo --test testsuite -- git::git_worktree_with_original_repo_renamed

cargo test --package cargo --test testsuite -- git::git_worktree_with_bare_original_repo

Looks great. Thanks!
@bors r+

:pushpin: Commit 062d8ce66aaad77a8dbab7e7d8507c2a0f1a0e99 has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit 062d8ce66aaad77a8dbab7e7d8507c2a0f1a0e99 with merge fe5de0755d26ed0698208136b76f615480aca537...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing fe5de0755d26ed0698208136b76f615480aca537 to master...

I still have this issue running 1.83.0-nightly.

@codewriter3000 could you share more details and a minimal reproduction?


working fine

this is working fine can u look at my scenario
this is my test case
[TestMethod]
public void MockbypassUploadTest()
{
	int j = 0;
	int w = 0;
	HttpContext context = FakeHttpContext();
	Smocks.Smock.Run(context1 => {
		context1.Setup(() => GlobalFunctions.NullToZero("91")).Returns(91);
		context1.Setup(() => GlobalFunctions.NullToZero(20)).Returns(92);
		//j = GlobalFunctions.NullToZero(10);
		//w = GlobalFunctions.NullToZero(20);
		Test_upload test_upload = new Test_upload();
		j = test_upload.testFromdata(context);
	});
	Assert.AreEqual(13, j);
}

this is my method
public int testFromdata(HttpContext httpContext)
 {
	bool idExpectedID = httpContext.Request.Form.AllKeys.Contains("ExpectedID");
//this is what i want to mock but it is throwing the following error
	this.clientID = GlobalFunctions.NullToZero(httpContext.Session["clientID"].ToString());
	int ExpectedID = -1;
	if (idExpectedID)
	{
		ExpectedID = int.Parse(httpContext.Request.Form["ExpectedID"]);
	}
	return ExpectedID;
}

please let me know in case am i missing any thing or is this a bug

i am actually writing a test case for my generic handler that upload a file , before that i want to mock this static method as this is throwing an exception
this is the static method
 public static int NullToZero(Object objCheck)         {             if (objCheck is DBNull || objCheck.Equals(string.Empty))                 return 0;             return Convert.ToInt32(objCheck);         }
and when i directly trying to access the value (int)httpContext.Session["clientID"] this is working fine
but when i passing the value it is throwing error.


feat: add support for nodejs20.x to vercel adapter

fixes #11063
Also relaxed the checks in the adapter a bit, so we don't need to adjust it as often - Vercel will fail the build itself with a descriptive error if the value is wrong
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

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

Tests

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

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

I am now setting node version in
.nvmrc
Vercel dashboard
and
svelte.config.js
Is this really necessary?


docker can't start with lastest version

As what the error logs says:
Status: Downloaded newer image for yandex/clickhouse-server:18.14
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = File not found: ${CLICKHOUSE_CONFIG}, e.what() = File not found

 docker run  --name some-clickhouse-server  --ulimit nofile=262144:262144 yandex/clickhouse-server
mkdir: cannot create directory '': No such file or directory
chown: cannot access '': No such file or directory
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = File not found: ${CLICKHOUSE_CONFIG}, e.what() = File not found

both latest and yandex/clickhouse-server:18.14 has the same error.
yandex/clickhouse-server:1  is OK.

I you use ClickHouse with docker compose you can fix this by adding the correct upstart command. Here's my docker-compose.yml:
clickhouse:     ulimits:       nproc: 65535       nofile:         soft: 20000         hard: 362144     image: yandex/clickhouse-server:18.12     logging:       driver: json-file     volumes:       - /dev/shm:/dev/shm       - ./config.xml:/etc/clickhouse-server/config.xml     ports:       - "8123:8123"       - "9000:9000"     command: /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml

Will be fixed in next release (soon)
https://github.com/yandex/ClickHouse/commit/394b9760f499f12bf478ebe61b48ef3a2d107e94

yes ,it works .


Split JS into different files

Currently HTML templates are very busy with all the js

Closed by #77