network reconciler

added network reconciler.
It creates the IPAM resources per network based on the network CRD
it also assigns VLANs if requested on the network.
The selector in the network CRD allows to select prefixes/subnets per cluster.
The network controller also generates a network config that can be picked up be a controller to actuate on the target network device.

No I can move these if you want. This is separate, but this creates a dependency. So let's test this. I will create a parallel PR for the api and after we update this repo.

Ok, I take that to mean "merge this PR". :)
/approve
/lgtm


Template completion fails to complete attribute on :

Platform: All
Vetur version: 0.8.1
VSCode version: 1.13

Changing completion item's filterText field does resolve this. But I think we should instruct vscode not to put : in filter.

hmmm, it seems that we have to add : to filterText.


Attempting to close a dialog and display a snackbar at the same time fails.

What Angular MDC version are you using?
0.37.3
What browser(s) is this bug affecting?
I am using Chrome but it could be affecting other browsers as well.
What OS are you using?
OSX 10.12.6
What are the steps to reproduce the bug?
You can see it on StackBlitz.
What is the expected behavior?
If a snackbar is shown at the same time that a dialog is to be closed, the snackbar should be shown and the dialog should be closed.
What is the actual behavior?
The first time you click the button to close the dialog and show the snackbar, nothing happens. If you click the button again, the snackbar is shown and the dialog is not closed.
Any other information you believe would be useful?
I solved this in my own project by wrapping the call to display the snackbar in a setTimeout call like so:
setTimeout(() => {
    this.snackbar.show("This is a snackbar");
});

Thanks for the StackBlitz. I've been tied up with the upcoming v0.38.0 release but will take a look.

Adding the StackBlitz edit url
https://stackblitz.com/edit/angular-mdc-snackbar-dialog

While adding Snackbar parent support for #1144, I encountered this issue as well.
reference #1144 as related.

Fixed in upcoming v0.40.


mark some least_squares tests as slow

Re-enabling tests for least_squares makes the optimize test run slower by almost a factor of three. Some tests can probably use too large problem sizes and some are likely best marked as @slow.
cross-ref https://github.com/scipy/scipy/pull/5556

Looks like there are no disabled tests, or tests marked slow in test_least_squares.py. Can this issue be closed @ev-br?

Yup, the runtime turned out to be tolerable after all :-).


Add reference

https://osc.github.io/ood-documentation-test/add-reference/
Add a reference section. Attempt to resolve #231 but also could be a place to add additional reference documentation for form.yml and submit.yml.erb.
The submit I think is important because there are a lot of options in script or batch_connect that folks simply don't know they can override and having a plain old reference section detailing this may be helpful.

Do we have thoughts on this?  I copied the ood-portal-generator directly and it's bin/generate instead of sbin/update_ood_portal so I know that could change.

In https://osc.github.io/ood-documentation-test/add-reference/reference/files/ood-portal-yml.html the first line suggest using an example file as a starting point:
sudo cp share/ood_portal_example.yml /etc/ood/config/ood_portal.yml

This should be updated to reflect the new monorepo and install location of these files: /opt/ood/ood-portal-generator/ood_portal_example.yml
Also I wonder if this is actually auto generated on a new install now. If that is the case, a copy is no longer required and instead it should be stated that a file was dropped here to be edited, and an example file can be referenced at /opt/ood/ood-portal-generator/ood_portal_example.yml

On the ood-portal-generator page https://osc.github.io/ood-documentation-test/add-reference/reference/commands/ood-portal-generator.html this is problematic:

The command that generates the Apache configuration file is given as:
bin/generate [OPTIONS]

Rather it is
/opt/ood/ood-portal-generator/bin/generate

But even though that command exists, it is done only the first time, and then every time after that it is as you state above update_ood_portal. In fact, if you install via rpm, you would probably only ever do update_ood_portal.
It is also important to note that we changed the way Apache starts so that update_ood_portal is executed prior to starting Apache - so the config is updated every time you restart Apache.
So this is an example of something missing from these references - at the top there should be a section, maybe right after the summary and before the details of the options, that is "When would I edit this file?" or "When would I run this program?"

Project and code and library documentation may be useful but I think that Reference here is higher level than that. Reference here seems to be targeted towards providing helpful information to admins that is actionable. The mod_ood_proxy section should be removed from this, because it is documentation about an implementation detail of OnDemand, but itself is not actionable. Utilizing or customizing the user of those handlers is done in ood_portal.yml.

For the ood_auth_map directory with the two scripts, there is so little information there that it could be all moved to the Authentication section. So we could remove the ood_auth_map section from Reference as well.

Another thought on this Reference section - a lot of this detailed documentation can become easily out of sync with the code itself - it will be harder to keep this up to date. It would be worth looking into options for auto-generating reference documentation from a specified set of example configuration files, documentation of the scripts themselves, etc.

I've updated from the comments.  I've replaced bin/generate with sbin/update_ood_portal.  I don't believe users need to use bin/generate at all. Removed mod-ood-proxy and moved ood-auth-map section to authentication/setup auth map because that section already existed.

Can this be included in 1.8?


WIP: micro-xrce-dds-agent: 1.0.3-1 Renamed to microxrcedds_agent:1.0.3-1 in 'crystal/distribution.yaml'

Rename micro-xrce-dds-agent to microxrcedds_agent:
upstream repository: https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
release repository: https://github.com/micro-ROS/microxrcedds_agent-release.git
distro file: crystal/distribution.yaml

Is there any other way to rename an existing package?.

Is there any other way to rename an existing package?.

Bloom doesn't have a mechanism for detecting renamed packages. One option is to release the new package and then remove the old one separately.
Another is to run the bloom release without creating the pull request and then rename and update the bloom release in a single manual pull request.

@BorjaOuterelo what is the status of this pull request?

Sorry, @nuclearsandwich. It is still a WIP pull request. I updated its name accordingly.
I will notify you once it's ready.

@nuclearsandwich, I had the time to revisit this PR, and the issues have been solved.

@nuclearsandwich, I had the time to revisit this PR, and the issues have been solved.

Great. There is a Crystal sync today so this PR will be merged after that is completed.


M2m xstore milestoning fix

What type of PR is this?

bug fix
What does this PR do / why is it needed ?

Which issue(s) this PR fixes:

Fixes #
Other notes for reviewers:
Does this PR introduce a user-facing change?

Closing PR as changes here have been merged from this PR https://github.com/finos/legend-engine/pull/2328


Window is not defined react-sortable-tree/dist/main.js:1080

Hello I have this problem, 5 days ago The library worked fine, but today I'm trying to run 'npm run dev' in my project, and gives me this error.. (I have reinstalled through npm and it doesn't work)

This was solved replacing:
import { SortableTree } from 'react-sortable-tree'
with
const isBrowser = typeof window !== 'undefined'
const SortableTree = isBrowser ? require('react-sortable-tree').default : undefined

Hi, I've got the same issue. If this component is supposed to be used with SSR I suppose this is a bug.


Expose DataFrame select_exprs method

Which issue does this PR close?
Closes #12519.
Rationale for this change
Explained in #12519

What changes are included in this PR?

Are these changes tested?

yes
Are there any user-facing changes?

yes, there is additional public method in DataFrame

No braking changes

This is an interesting addition! I'll take a look at it today.

thanks lads!
btw, if anybody knows why parse_sql_expr strips alias would be of the great help :)

The API looks reasonable to me and this is a very nice add. One suggestion on the unit test.

Thanks everyone


Group linking from required spec fails without additional property

Should work:
local banana = require('lush_theme.banana')
return lush(function(){
  Normal { banana.Normal } -- nil effect
})

but the props aren't inherited without setting a prop along side:
local banana = require('lush_theme.banana')
return lush(function(){
  Normal { banana.Normal, fg = banana.Normal.fg }
})

Regular inheritance linking does work without additional properties
return lush(function(){
  Normal { fg=... },
  Comment { Normal }
})

Note this still ends up being a link group, which will give you nil result unless you actually define that group somewhere. Possibly an option to tell the compiler to compile out any links to actual definitions might be wanted. Unclear on performance or plugin interoperability implications.


Bump jmh version to 1.36

Currently the latest version is 1.36 with a lot of improvements and bug fixes: https://github.com/openjdk/jmh/compare/1.35...1.36

Currently the latest version is 1.36 with a lot of improvements and bug fixes<EMAIL_ADDRESS>
Fixed.

@johanandren Can you maybe merge this PR and release a new version, please? 🙏

Should I also update readme in this PR?

Looks like a bad day to interact with sonatype it seems, will try again later.

Yep, oss.sonatype.org is extremely unstable these days: https://status.maven.org/

0.4.4 with this bump of jmh available from maven central now

Thanks @johanandren 🙏


Segementation fault using precompiled binary

[jberkus@fedora ~]$ nordvpn-client
Segmentation fault (core dumped)
(no core file found)
● fedora:fedora/36/x86_64/silverblue
Version: 36.20230119.0 (2023-01-19T00:49:43Z)
BaseCommit: 69e3c81e83c35969d2bdc6197cd42e29c21bc93f32a73f3b642051139d92fc45
LayeredPackages: gstreamer1-plugin-openh264
Next steps?

Hi @jberkus!!! first time I see this error, from reading a bit about it seems that the SBCL core can't be found, yet the executable is supposed to be standalone and not have any dependencies. For example, I can run it outside the development Toolbox, where sbcl is not installed.
I generated a new, fresh executable from an updated Toolbox and using a slightly different setup that I found in the Common Lisp cookbook.
Let me know how it goes after giving it a try. In the meantime I will keep looking to repro in my local.
Thank you!

Feh, still getting a core dump with no core.  I'm tinkering with system settings to see if there's something preventing the core file from being created.

Hey there, sorry for the delay, had crazy week.
I did try a few more things but no luck. I don't have another Silverblue system to test but there's a Workstation laptop where it ran OK.
Did you find something in your system?

Will close this, but feel free to reopen if you have any updates.


Update to image-spec v1.0.0 and revendor

Update from image-spec 1.0.0rc6 to the final one.
(Yes, this does not change a single bit of the code from image-spec that we actually use, so we are updating only to look good; OTOH it does add quite a few updates from other packages. Potentially notable is that opencontainers/go-digest now refuses uppercase digits in digest values.)

@rhatdan FYI

LGTM

LGTM

LGTM

Can we get this merged?


Remove version: Sejda.PDFDesktop version 7.3.1

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sejda-cdn.com/downloads/sejda-desktop_7.3.1_x64.msi
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 910)


WG and Transmission Not Connecting to One Another After Update

I recently ran into an issue where I deleted the containers and pulled the latest versions. All the configs and all stayed the same but the two are not talking. I am 100% positive that I took the IP from the wg0.conf and put it into the transmission config. That is the only thing configuration-wise would have failed. I'm still a novice with Docker. Where are the log files for these containers located on Ubuntu? Any suggestions of what to check for?
CONTAINER ID   IMAGE                              COMMAND                  CREATED        STATUS        PORTS                                                  NAMES
ccb3739fbb97   ghcr.io/linuxserver/transmission   "/init"                  21 hours ago   Up 21 hours                                                          transmission
62b28fbbb2b9   ghcr.io/linuxserver/wireguard      "/init"                  21 hours ago   Up 21 hours   <IP_ADDRESS>:9091->9091/tcp, :::9091->9091/tcp, 51820/udp   wireguard

While waiting, I renamed the directory to .bak and redownloaded everything from scratch and got it working again but what would have caused that and where would the log files be for both wireguard and transmission to debug that next time?

Did you use docker compose to bring down the containers and re-create them or did you manually stop and delete the containers with docker container stop and docker container rm? If you used docker compose for creation and deletion, the transmission and wireguard containers should be on the same network and should be able to communicate.


About training results

Excellent project.
The quality of the build is good, but the results don't seem that normal.
In the results I got, the corgi has 5 legs, is this normal?

cmd used：
python main.py --config-name=base prompt.prompt="A high quality photo of a corgi" init.prompt="a corgi"

Yes. As the training process is based on a single view each step and the basic sd model does not know the exact camera position, the generated object might have multi-heads or legs.


Cache for BINARY, TEXT?

Hello',
Thanks for your awesome work! :)
I was wondering: why the cache is disallowed for BINARY and TEXT?
cf. : Assets::loadAsset:
	public static function loadAsset(id:String, type:AssetType, useCache:Bool):Future<Dynamic>
	{
		#if (tools && !display)
		if (useCache && cache.enabled)
		{
			switch (type)
			{
				case BINARY, TEXT: // Not cached <<<--- yes, but why?!
					useCache = false;
(...)

Users have to make their own cache.
loadText and loadBytes should have another parameter to allow or not cache. Like all others methods (loadFont, loadImage, loadAudioBuffer, etc...).
If not, why?
Thanks in advance,
Théo Sabattié

Hi,
I don't know why the cache is disabled in this case; but the #if tools on top should mean that this code is valid only when building the lime executable itself. If so, its effects should happen only when you call lime via command line; that is, only during compilation of a project and not during execution of that project.

Maybe some concern about filesize? But that doesn't make sense. The other asset types could be large files too.
For backwards compatibility we'd probably have to default to no cache, but I don't see why we couldn't add the option.


Drop dependency on futures-intrusive

The crate seems to be unmaintained and unsound:

https://github.com/Matthias247/futures-intrusive/issues/56
https://github.com/Matthias247/futures-intrusive/issues/42

Alternatives:

Use tokio Semaphores

Always (I personally wouldn't mind, I'm not a fan of async-std)
Find an alternative for async-std users (might complicate the implementation)

There's async-lock which would be an okay replacement, although the current implementation of Pool requires being able to manually release permits to the semaphore which neither async_lock::Semaphore nor tokio::sync::Semaphore supports.
It wouldn't be super difficult to fix that, as it's just a workaround for the fact that we need an Arc-backed guard but want to store more than just the semaphore itself in that Arc, but none of these crates support that kind of API. It just feels really dumb to have the pool's SharedState in an Arc and then inside of that have an Arc<Semaphore>.
Dropping async-std is an orthogonal proposal which I've been meaning to draft. It would simplify a lot, but if people are actually still using it, I don't really want to kick them to the curb. There's async-compat of course but that would be a significant refactor on the user's end.

I guess the SharedState struct could be #[repr(C)] and then if the semaphore is the first field we could potentially convert Arc<SharedState> to Arc<Semaphore>, but the documentation for Arc::from_raw() only allows that if the source and the destination type are the same alignment and size.

We could also just roll our own semaphore, basically just re-implement async_lock::Semaphore using the crate it's built on, event-listener. That was the part that was easiest to get wrong anyway, which was the waiter queue.

What I was thinking with tokio is that if their Semaphores were to work as a replacement to futures-intrusive we could always import it, even when async-std is enabled. This doesn't mean that we break support for async-std. because tokio Semaphores don't depend on the tokio runtime (AFAIK), it's just that we would be treating async-std as a second class citizen and independently of which runtime gets enabled tokio would always be in the dependency tree.

Getting rid of async-std would simplify a lot of things so I've opened #1669 to discuss it.

being able to manually release permits to the semaphore which neither async_lock::Semaphore nor tokio::sync::Semaphore supports.

Actually, tokio::sync::Semaphore does support this. The method is here.

Ah, I scanned right past that method because I was looking for one with release in the name.

If we keep async-std support, however, there is potential pushback from requiring Tokio, since importing it just for tokio::sync::Semaphore would still bring along a lot of unused code: https://github.com/launchbadge/sqlx/issues/1669#issuecomment-1028792680

@abonander After acquiring a semaphore permit, you can forget it. Then call add_permit to add it back. The API is aimed to push you towards RAII, but you can go "manual" if needed.
Also, if you find API gaps, please report them. We are always happy to fill those gaps when possible.

As the author of futures-intrusive, I can tell you that its pretty much the same as tokio's implementation. Both will use intrusive linked lists, and apparently there's some theoretical issues with those which don't manifest itself anywhere in pratice.
It apparently works fine for you in pratice, so I don't think there's any downside in keeping it. However if you want to go tokio-only anyway and reduce dependencies, it probably makes sense. async-lock might have more allocations in the hot path and different fairness guarantees than the other 2 impleemntations.

Yeah, for the record, Tokio appears to have the same soundness issue: https://github.com/tokio-rs/tokio/issues/3399
NoopMutex is an orthogonal concern, but we don't utilize that.

Since the underlying soundness concern seems to be just a bad interaction between how async works and LLVM's noalias, I'm going to close this as it's not really something we can fix without avoiding self-referential types entirely.

@Matthias247 I am somewhat concerned, however, about the maintenance status of futures-intrusive. It seems like you might have been gone for a while. Are you willing to continue maintaining futures-intrusive, and, particularly, adopt a solution for the above if and/or when Rust provides one?
I myself have a number of crates that I've just kind of forgotten about and haven't had the energy to maintain, so I understand if that's where you're coming from, but since SQLx is deployed in mission-critical applications I don't want to have a bit-rotting dependency to worry about.

@abonander What is your current stance on dropping futures-intrusive? The crate currently still depends on version 0.11 of parking_lot, which causes duplicate dependencies if used with other popular libraries such as axum. An update was merged with https://github.com/Matthias247/futures-intrusive/pull/62, but @Matthias247 doesn't seem to be willing to publish a new patch release, even after multiple pings.

@abonander Hello fren, any updates on this? I'm getting dinged with criticals from RustSec advisory about the futures-intrusive crate.

@abonander Any updates?


SDC-pepolar: topup implementation

Here's a solution that works for us (ref https://github.com/poldracklab/sdcflows/issues/37).
topup.py is a modification of pepolar.py and reuses many of the functions/workflows found in pepolar.py.
Note, I had to decrease the bet threshold in gre.py as the epis (which are used as magnitude inputs to fmap_wf) already got skullstripped in topup/init_prepare_epi_wf. This is probably not the best solution, as the relevant BET node is also used by other workflows with non-skullstripped mag-images. However I see that there's an ongoing discussion about changing the approach to something more robust than BET (https://github.com/poldracklab/sdcflows/issues/23).

Hello @markushs, thank you for submitting the Pull Request!

In the file sdcflows/workflows/base.py:

Line 143:100: E501 line too long (109 > 99 characters)
Line 174:31: E231 missing whitespace after ','

In the file sdcflows/workflows/topup.py:

Line 18:1: F401 'niworkflows.interfaces.CopyHeader' imported but unused
Line 23:1: F401 'nipype.interfaces.afni' imported but unused
Line 25:1: E302 expected 2 blank lines, found 1
Line 30:100: E501 line too long (132 > 99 characters)
Line 41:100: E501 line too long (195 > 99 characters)
Line 99:100: E501 line too long (113 > 99 characters)
Line 132:31: E231 missing whitespace after ','
Line 353:1: E302 expected 2 blank lines, found 1
Line 354:71: W292 no newline at end of file

To test for issues locally, pip install flake8 and then run flake8 sdcflows.

Thank you for starting this PR! I was wondering if you have run into any left-right flips between the fieldmaps and the epi data. Topup in some versions of FSL assumes that the image orientation is LAS+. Since fmriprep uses RAS+ this might be difficult to spot.

@mattcieslak I haven't seen any left-right flips, no. And visually inspecting epi data pre-post topup (i.e. distorted epi input and undistorted epi output) + inspecting headers suggest no flips have occured. Any bullet-proof way to test if something like this has occured?

I was wondering if you have run into any left-right flips between the fieldmaps and the epi data.

Are you referring to inconsistency between them? i.e., one of them has an x-form header where there is an X-flip and the data are therefore interpreted in reversed way.

Topup in some versions of FSL assumes that the image orientation is LAS+.

Assumes LAS+ or assumes the same orientation information for both images? The former would be really dangerous, the latter would be just unfortunate but understandable from a historical point of view.

I did some additional testing, and with our data it looks like topup works better when epi fieldmaps are not skullstripped. The latest commit to my branch reflects this. As the "magnitude" input to fmap.py now contains skull, the frac-threshold in gre.py could be reverted to its original value (0.6).

Hi @markushs, is there anything we can do to help you finalize this?

Hi @oesteban, have you had a chance to look at the draft? If the approach seems ok I can try to fix the remaining problems (some tests that need to be updated and an issue with the _desc_fieldmap_bold.svg, If I recall correctly). The skullstripping could also be refined, but that seems to be work in progress (ref https://github.com/nipreps/sdcflows/issues/23)

Hi,
Sorry for the delay here (has been crazy times...)
I have some time now to finalize this, if it's still of interest @oesteban?
As I have to re-familiarize myself with the code (including my own) I was wondering if it would be cleaner to open a new PR based on the current master?

I'll have a closer look later today or tomorrow. Since this PR seemed a bit abandoned, I made some progress on this front here: https://github.com/nipreps/dmriprep/pull/97/files. Hopefully, we can find the common points of that PR to dmriprep and this one to come up with a solution that works well regardless of the input dataset.

Let's move the conversation to #106.


fix: invalid breakpoints line number error

Types

[x] 🐛 Bug Fixes

Background or solution

🤖 Generated by Copilot at 44a6c09

Prevent setting and rendering breakpoints on lines that exceed the editor model's maximum line count (link, link, link)
Refactor the code for updating the breakpoint description from the BreakpointsService class in debug-breakpoints.service.ts to the DebugModel class in debug-model.ts (link)

close #3022.
Changelog

🤖 Generated by Copilot at 44a6c09
This pull request improves the breakpoint functionality and rendering in the debug editor. It fixes some bugs with invalid breakpoints and breakpoint descriptions, and refactors the code to move some logic from the breakpoints.service.ts file to the debug-model.ts file.

@geekeren 修复了，可以试试这个版本

/next

/backport to v2.26


Bring back send money option for newDot

Details

Updated the code to bring back Send Money option on global create and DM chat reports. Also, tested the send money option with gold wallet that we recently launched.
Fixed Issues

$ https://github.com/Expensify/App/issues/25960
PROPOSAL: N/A
Tests

You may need to override the permission to test this feature. Return true from canUseIOUSend method.

Login to newDot and go to any DM chat report and confirm you can see the send money option.
Confirm you are able to see the Send money option in global create.
[Only for Internal testing] Follow the manual steps from this SO answer https://stackoverflowteams.com/c/expensify/a/10608/473 to setup a gold wallet and confirm you see an option to Pay with Expensify.

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

Offline tests

N/A
QA Steps

Login to newDot and go to any DM chat report and confirm you can see the send money option.
Confirm you are able to see the Send money option in global create.

[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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[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 code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[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

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] 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 grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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 code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] 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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] 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

@techievivek, just to make sure, is this supposed to just add a 'Send Money' option and all of the subsequent flow will be added later?
Currently, if you select 'Send Money' and proceed through the steps, the button on the last step still says 'Request'
https://github.com/Expensify/App/assets/9059945/f40d3942-0ca1-40b2-a57e-2354512e1043

Currently, if you select 'Send Money' and proceed through the steps, the button on the last step still says 'Request'

Hmm, that's odd that is not expected, it should actually show the option to pay the amount. Let me verify this on my end.

@eVoloshchak That should be fixed now, looks like we were not getting the value from the ref correctly.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] 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 grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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 code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] 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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] 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

@eVoloshchak, I am unable to reproduce the console error. What steps did you take to produce that error?

@techievivek

Press FAB -> Send Money
Enter an amount
Click 'Next'

https://github.com/Expensify/App/assets/9059945/c82dbd9b-26a8-4860-8a5f-c4c5b6fec3e2

https://github.com/Expensify/App/assets/35863227/1926da7a-c1ad-4135-9272-bb7ea96a4da6
Am I doing something wrong here? I think selectedTab should be optional because we don't utilize the tab for the send money, right? We only use that for the request money?

@eVoloshchak Made the selectedTab optional as we don't require it for the send money. It's only required in case of request money.

Oops conflicts

Fixing the conflict so we can get this merged ASAP.

@marcochavezf resolved the conflicts. Ready for a review.

It can't be merged because the PR is still marked with changes requested cc @joelbettner

So excited for this!!

: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.

@aimane-chnaif Interesting, when I was testing this it looked just fine to me. Maybe it could be a result of my subsequent commits.

🚀 Deployed to staging by https://github.com/joelbettner in version: 1.3.81-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/joelbettner in version: 1.3.83-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR resulted in https://github.com/Expensify/App/issues/29318


Ensure we have a timestamp as lastTransitionTime

This PR fixes an issue where the status.conditions[].lastTransitionTime is null due to a CRD change here #129
This should set the lastTransitionTime to LastProbeTime if its not of type metav1.Time

/hold

/lgtm


Linking error

Hey, I'm kinda new to C++, and I've been trying to include your .hpp file in my project and it gave me these linking errors:
I've included the file in the project and the IDE recognizes it, but It gives these linking errors when I try to build it.
Do you have any tips to fix this issue?

#pragma comment(lib, "Ws2_32.lib")

Yes, you have to link ws2_32.lib to your executable.

Thank you so much! It works! 😀😀


please help

Validation OK but...
INFO ESPHome 2023.10.3 INFO Reading configuration /config/esphome/thermostat-pid-complete.yaml... INFO Generating C++ source... Traceback (most recent call last):   File "/usr/local/bin/esphome", line 33, in <module>     sys.exit(load_entry_point('esphome', 'console_scripts', 'esphome')())   File "/esphome/esphome/__main__.py", line 1036, in main     return run_esphome(sys.argv)   File "/esphome/esphome/__main__.py", line 1023, in run_esphome     rc = POST_CONFIG_ACTIONS[args.command](args, config)   File "/esphome/esphome/__main__.py", line 403, in command_compile     exit_code = write_cpp(config)   File "/esphome/esphome/__main__.py", line 189, in write_cpp     generate_cpp_contents(config)   File "/esphome/esphome/__main__.py", line 201, in generate_cpp_contents     CORE.flush_tasks()   File "/esphome/esphome/core/__init__.py", line 650, in flush_tasks     self.event_loop.flush_tasks()   File "/esphome/esphome/coroutine.py", line 246, in flush_tasks     next(task.iterator)   File "/esphome/esphome/__main__.py", line 181, in wrapped     await coro(conf)   File "/data/external_components/d4d3a138/components/opentherm/number.py", line 34, in to_code     keys = await generate.component_to_code(   File "/data/external_components/d4d3a138/components/opentherm/generate.py", line 107, in component_to_code     entity = await create(conf, key, hub)   File "/data/external_components/d4d3a138/components/opentherm/number.py", line 18, in new_openthermnumber     await number.register_number(var, config, min_value = config[input.CONF_min_value], max_value = config[input.CONF_max_value]) TypeError: register_number() missing 1 required keyword-only argument: 'step'

@krzysiek200 your esphome config would help

Hi i have the same error using the example from git, it is something with number config when i remove that part it works compiling.

See this https://github.com/arthurrump/esphome-opentherm/issues/17#issuecomment-1719748608 for solution.
PR https://github.com/arthurrump/esphome-opentherm/pull/15 should really be merged...


YNAB gem not loading

Checklist

[X] Upgrade Jets: Are you using the latest version of Jets? This allows Jets to fix issues fast. There's a jets upgrade command that makes this a simple task. There's also an Upgrading Guide: http://rubyonjets.com/docs/upgrading/
[X] Reproducibility: Are you reporting a bug others will be able to reproduce and not asking a question. If you're unsure or want to ask a question, do so on https://community.rubyonjets.com
[X] Code sample: Have you put together a code sample to reproduce the issue and make it available?  Code samples help speed up fixes dramatically. If it's an easily reproducible issue, then code samples are not needed. If you're unsure, please include a code sample.

My Environment

Software
Version

Operating System
Ubuntu 18.04

Jets
3.0.9

Ruby
2.7.3

Expected Behaviour
When the YNAB gem is in the Gemfile, it's loaded correctly into the project
Current Behavior
Trying to use the gem results in an error
{
  "errorMessage": "uninitialized constant YNAB",
  "errorType": "Function<NameError>",
  "stackTrace": []
}

Step-by-step reproduction instructions

Create a new Jets project (example: jets new example-project)
Add gem "ynab" to your Gemfile
Create a job that tries to use the YNAB gem. Example:

# path: example-project/app/jobs/test_job.rb
# frozen_string_literal: true

class TestJob < ApplicationJob
  def run
    ynab = ::YNAB::API.new(ENV['YNAB_TOKEN'])
  end
end

Run jets deploy
Invoke the Lambda function with an empty event

I checked the Lambda layer and confirmed that the YNAB gem is there, so it's not a problem of Layer generation. Also, I use multiple other gems, but the YNAB one is the only that presents this problem. Additionally, I was already using the YNAB gem ~2 months ago and I didn't have any problem. I stopped executing that code path until 15-20 days ago, and then is when I started getting the errors.
The code that uses the gem has multiple tests, and those run perfectly fine both locally and in my CI environment (CircleCI). The problem is only present in Lambda.
Let me know if there is any additional information I can provide to help. Thanks in advance!

Adding the full error trace, in case it contains anything else that can be useful
Could not open library 'libcurl': libcurl: cannot open shared object file: No such file or directory.
Could not open library 'libcurl.so': libcurl.so: cannot open shared object file: No such file or directory.
Could not open library 'libcurl.so.4': libcurl.so.4: cannot open shared object file: No such file or directory
WARNING: Unable to require "bundler/setup"
There may be something funny with your ruby and bundler setup.
You can try upgrading bundler and rubygems:

    gem update --system
    gem install bundler

Here are some links that may be helpful:

* https://bundler.io/blog/2019/01/03/announcing-bundler-2.html
* https://community.rubyonjets.com/t/jets-1-9-8-install-issue-bundler-setup-missing/185/2

Also, running bundle exec in front of your command may remove this message.
START RequestId: b78c372f-bc17-42b1-9e65-5f4a5f5c9b25 Version: $LATEST
RubyError: NameError: uninitialized constant TestJob::YNAB
  /var/task/app/jobs/test_job.rb:5:in `run'
  /opt/ruby/gems/2.7.0/gems/jets-3.0.9/lib/jets/job/base.rb:25:in `process'
  app/jobs/test_job.rb:1:in `run'
  /opt/ruby/gems/2.7.0/gems/jets-3.0.9/lib/jets/processors/main_processor.rb:32:in `instance_eval'
  /opt/ruby/gems/2.7.0/gems/jets-3.0.9/lib/jets/processors/main_processor.rb:32:in `run'
  /opt/ruby/gems/2.7.0/gems/jets-3.0.9/lib/jets/core.rb:120:in `process'
  /var/task/handlers/jobs/test_job.rb:6:in `run'
  /var/runtime/lib/lambda_handler.rb:26:in `call_handler'
  /var/runtime/lib/runtime.rb:99:in `<main>'
Critical exception from handler
{
  "errorMessage": "uninitialized constant TestJob::YNAB",
  "errorType": "Function<NameError>",
  "stackTrace": [

  ]
}
END RequestId: b78c372f-bc17-42b1-9e65-5f4a5f5c9b25
REPORT RequestId: b78c372f-bc17-42b1-9e65-5f4a5f5c9b25	Duration: 23.42 ms	Billed Duration: 24 ms	Memory Size: 1536 MB	Max Memory Used: 154 MB	Init Duration: 2552.57 ms
Unknown application error occurred
Function<NameError>

So this gem relies on libcurl system package but it doesn't specify it in its gemspec. Hence, jets does not detect that it's a native gem that requires some system packages.
Did a couple of things to make this happened, including adding an api call to the serverlessgems service for these special case gems. Jets will be better able to detect these special cases now and use a pre-compiled gem with the external package if possible. The ynab gem should work now.
Note: You will need Jets 3.0.11+

It works perfectly now, thanks a million for the help!


2.3.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.236%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2100

Relevant Lines:
2121

💛  - Coveralls


Drag on horizontal bar graph always resets one end to graph start

Having some trouble figuring out what i've done wrong. I'm not sure if it's my Dataset class i've created or just something else.
If i add my data via the class then the drag of the graph data stops working, when dragging it will put the start of the data way off to the start of the chart. Yet the data is correctly displayed.
Best i can tell is that what is being passed into the onDrag callback should be an array of values, but when its not working it's just a single value, not an array
I've created a fiddle showing what it should do https://jsfiddle.net/e4ohu2f5/3/ and this is what it does https://jsfiddle.net/e4ohu2f5/2/ the class data is in the "tuesday" slot.
I think the class is correct? Its the first time i've really done anything with javascript classes. Any pointers would be good.

Hey @macka601,
Thanks for raising an issue! There are two things in your example that cause the plugin to misbehave:

We're currently using a very lazy check to see if a bar chart is considered a floating bar chart → https://github.com/chrispahm/chartjs-plugin-dragdata/blob/cb96a4844dbce1ac8d80b9b0ee95e48de260399a/src/index.js#L50 → we're just checking if the first datapoint in the chart is an array of length 2. Since you filled the datapoints with empty array ([]) of length 0, that check didn't succeed. A possible solution is to just fill the initial array with [undefined, undefined]
The data passed to the plugin is an array of strings in the format HH:mm. While the plugin receives the correct value from the click event through Chart.js own getValueForPixel, the second value in the array remains a string. Internally, the plugin now tries to identify if the user dragged at the beginning or at the end of the bar. However, there is no way to compare the string value passed from the Chart.js instance (e.g. "10:39") to the dragged value (which is a number in milliseconds, e.g.<PHONE_NUMBER>768.9). A possible solution is to convert all datapoints to milliseconds when creating the chart. You could do that using a simple formula like the following:

function arrayToDate(dateArray) {
    return [
      DATE
        .fromFormat(dateArray[0], "HH:mm")
        .toMillis(),
      DATE
        .fromFormat(dateArray[1], "HH:mm")
        .toMillis()
    ];
  }

// later when creating the chart.js instance
// ...
datasets: [
        myData, {
          label: "",
          data: [
            arrayToDate([
              "08:25", "08:39"
            ]),
            arrayToDate([
              "09:45", "09:55"
            ]),
            [undefined, undefined],
            [undefined, undefined],
            [undefined, undefined],
            [undefined, undefined],
            [undefined, undefined]
          ],
         // ...

Here's an updated fiddle which should work like intended https://jsfiddle.net/wo9zku6s/16/

@chrispahm!
Thank you so much for the explanation and the fix! REALLY appreciate that and it works well now!
thank you soo soo much.


(WIP) HEP 578 event and audit log [CI SKIP]

Signed-off-by: Jian Wang<EMAIL_ADDRESS>IMPORTANT: Please do not create a Pull Request without creating an issue first.
Problem:

Add event and audit logs.
Solution:

Per HEP doc.
https://github.com/w13915984028/harvester/blob/hep578/enhancements/20220822-event-and-audit.md
Related Issue:
https://github.com/harvester/harvester/issues/578
Test plan:

@guangbochen @bk201 @joshmeranda @yasker
In progress. Please take a look first and add your comments, the Audit part needs more consideration, as RKE2 server and kube-apiserver are base serivces, marked with TODO in HEP.


Fix column context menu is triggered after drag (column resizing).

Hello @bosskmk
Column context menu tap should be canceled after the slightest movement.

This PR simply sets _isPointMoving = true whenever onPointMove is triggered.

Thanks for your code contribution.
I will deploy it in the next version.

https://github.com/bosskmk/pluto_grid/issues/518
This problem seems to be related to the link above.
FYI I can't test on the mobile app. (PC = Windows, Mobile = iPhone)
If I apply this PR, will the menu open when I tap the menu button?

@bosskmk Thank you for your quick reply, and yes the menu will work unless a drag event occurs. I've tested on Android 12 actual device, web and Macos.

@bosskmk I've revised the issue you mentioned, I guess to be save we can do something like this
 void _handleOnPointMove(PointerMoveEvent event) {

    // if at least one movement event has distanceSquared > 0.5 _isPointMoving will be true
    _isPointMoving |= (_columnRightPosition - event.position).distanceSquared > 0.5;

    if (!_isPointMoving) {
      return;
    }
///...
}

What do you think?

Thanks for testing.
I will update with the code you posted.
Or, if you want, you can do an additional PR.

It's ok, you can update the code.

Updated to PlutoGrid 5.4.5.
Thanks for your code contribution.


chore: remove logAndError

As discussed I'm removing the logAndError helper and let control logging for those three occasions in the error block. If you disagree with me on the Debug instead of the Info log, please feel free to just change it around. :)

Pull Request Test Coverage Report for Build 59148f0ae-PR-839

6 of 10 (60.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 45.114%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

server/handle_map_layer_zxy.go
6
10
60.0%

Files with Coverage Reduction
New Missed Lines
%

server/handle_map_layer_zxy.go
1
77.5%

Totals

Change from base Build 2fad34008:
-0.02%

Covered Lines:
5485

Relevant Lines:
12158

💛  - Coveralls

@gdey do you think Debug or Info should be used in these log statements. That's the only real question in this PR.

@gdey do you think Debug or Info should be used in these log statements. That's the only real question in this PR.

I think debug is fine. I don't think these are really Info-level messages, as it might be expected to have these happen, but if you are trying to figure out why it's not happening then opening it up to debug would be good. The only other level I can think of that might make sense is TRACE, but that's supposed to be even more verbose than debug.  So, debug is good.


Remote Path 2.2413.51-beta is broken

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
https://raw.githubusercontent.com/wppconnect-team/wa-version/main/html/2.2413.51-beta.html is no longer available..
Expected behavior
we need looking for a new link for the web cache..
Steps to Reproduce the Bug or Issue
just click on the link
Relevant Code
No response
Browser Type
Chromium
WhatsApp Account Type
Standard
Does your WhatsApp account have multidevice enabled?
Yes, I am using Multi Device
Environment
windows
Additional context
No response

https://github.com/MobCode100/whatsapp-web.js/issues/6#issuecomment-2208084237


Update FindNanopb to follow more modern CMake best practices

Do I understand correctly that NANOPB_GENERATE_CPP_TARGET gets set by the nanopb_generate_cpp(TARGET proto RELPATH proto?
Some kind of test case needs to be added to verify that old CMakeLists.txt formats remain functional after this change.

Yeah NANOPB_GENERATE_CPP_TARGET gets set by cmake_parse_arguments(NANOPB_GENERATE_CPP "" "RELPATH;TARGET" "" ${ARGN}).  Are there currently any tests that run CMake or would you like me to write a SCons test that runs CMake?

Currently the .github/workflows/binary_packages.yml workflow tests the build of cmake_simple and cmake_relpath examples.
I think it would make sense to have the build tests under separate directory. Whether the cmake build is called by SCons or by a github workflow doesn't matter, whatever is easiest. I would expect a github workflow to be easier.
From directory organization point of view, tests/ should be for testcases that are run by SCons. I think we could add build-tests folder on top level for the build system test cases run by GitHub workflows. Later spm-test could be moved there also.
@twam Do you have a time to take look at the FindNanopb.cmake changes? It looks reasonable to me but I don't use CMake much.

Thanks for adding the test cases.
@twam Thanks for the detailed review. Is there anything remaining that you feel should be addressed before merge?


Fix deprecation error on read() calls

php-business-sdk is throwing deprecation errors on read() calls in the latest release.
https://github.com/facebook/facebook-php-business-sdk/blob/3.3.3/src/FacebookAds/Object/AbstractCrudObject.php#L286

Thanks!


cuda error

Hi,
can not use cuda but can use cpu for train. error is given below;
 RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
regards
arkin

I also encountered this problem. I  found the liegroups do not support cuda.


Fix & improve activation offloading

The torch.distributed.algorithms._checkpoint.OffloadWrapper seems also offloading the parameters (not only the activations) to cpu, because autograd Function also saves parameters for backward. This can be verified by the script below, see print(tensor.shape) in pack_hook, which also prints for Linear.weight.
cc @rohan-varma @awgu
To implement the method, combining activation checkpointing and activation offloading, described in the PyTorch blog. We can call checkpoint_module forward (which only saves inputs, not parameters, for backward) under save_on_cpu_overlap. This trades off cpu memory and communication for recomputation.
The benefits of save_on_cpu_overlap over save_on_cpu:

Copy is done in a separate stream, which overlaps with computation.
pack_hook is non-blocking now, which (hopefully) does not block the prefetch allgather for the next layer.

Below is a script to test performance and check for correctness by setting use_stream to True/False. Note that if without proper synchronization, for example, omitting on record_stream, the printed sampled elements are different.

Click me
import collections

import torch
import torch.nn as nn

torch.manual_seed(123)

class FreeEventQueue:
  """https://github.com/pytorch/pytorch/blob/main/torch/distributed/fsdp/_limiter_utils.py"""
  def __init__(self):
      self._queue = collections.deque()
      self._max_num_inflight_copy = 2

  def enqueue(self, free_event):
      self._queue.append(free_event)

  def dequeue_if_needed(self):
      if len(self._queue) >= self._max_num_inflight_copy:
          return self._dequeue()
      return None

  def _dequeue(self):
      if self._queue:
          event = self._queue.popleft()
          return event
      return None

class save_on_cpu_overlap(torch.autograd.graph.saved_tensors_hooks):
  def __init__(self):
      copy_stream = torch.cuda.Stream()
      current_stream = torch.cuda.current_stream()
      pack_event_queue = FreeEventQueue()
      unpack_event_queue = FreeEventQueue()

      def _deque_event_and_synchronize(queue):
          event = queue.dequeue_if_needed()
          if event:
              event.synchronize()

      def _enque_event(queue):
          free_event = torch.cuda.Event()
          free_event.record()
          queue.enqueue(free_event)

      def pack_to_cpu(tensor):
          _deque_event_and_synchronize(pack_event_queue)
          copy_stream.wait_stream(current_stream)
          with torch.cuda.stream(copy_stream):
              packed = tensor.to("cpu", non_blocking=True)
          tensor.record_stream(copy_stream)
          #print(tensor.shape)
          _enque_event(pack_event_queue)
          return (tensor.device, packed)

      def unpack_from_cpu(packed):
          _deque_event_and_synchronize(unpack_event_queue)
          device, tensor = packed
          with torch.cuda.stream(copy_stream):
              unpacked = tensor.to(device, non_blocking=True)
          current_stream.wait_stream(copy_stream)
          unpacked.record_stream(current_stream)
          _enque_event(unpack_event_queue)
          return unpacked

      super().__init__(pack_to_cpu, unpack_from_cpu)

from torch.distributed.algorithms._checkpoint.checkpoint_wrapper import checkpoint_wrapper, CheckpointImpl
from functools import partial

class Model(nn.Module):
  def __init__(
      self,
      n: int,
  ):
      super().__init__()
      self.layers = nn.ModuleList()
      self.n = n
      wrp = partial(
          checkpoint_wrapper,
          checkpoint_impl=CheckpointImpl.REENTRANT,
          preserve_rng_state=False,
      )
      for i in range(self.n):
          l = nn.Linear(dim, dim)
          l = wrp(l)
          self.layers.append(l)

  def forward(self, x):
      for i in range(self.n):
          x = self.layers[i](x)
      return x

dim = 4096
bsz = 2048 # bsz * seq_len

inputs = torch.randn(bsz, dim).cuda().requires_grad_()
out_grad = torch.ones(bsz, dim).cuda()
print("inputs ", inputs.detach()[0:5, 0])

#seq_module = nn.Sequential(*[nn.Linear(dim, dim) for _ in range(5)]).cuda()
seq_module = Model(5).cuda()

# warmup
for _ in range(5):
  out = seq_module(inputs)
  out.backward(out_grad)
torch.cuda.synchronize()

#use_stream = True
use_stream = False

for _ in range(5):
  start_event = torch.cuda.Event(enable_timing=True)
  end_event = torch.cuda.Event(enable_timing=True)
  start_event.record()
  if use_stream:
      with save_on_cpu_overlap():
          out = seq_module(inputs)
  else:
      with torch.autograd.graph.save_on_cpu(pin_memory=True):
          out = seq_module(inputs)
  out.backward(out_grad)
  end_event.record()
  torch.cuda.synchronize()
  print("elapsed time: ", start_event.elapsed_time(end_event))
  print("sampled elements: ", inputs.grad[0, :5])

On a single V100, 20% speedup is observed for this toy model.  I will take a closer look at this when I get a chance.


‘official download page’ link encountered 404 error

Hi
‘official download page’ link encountered 404 error.
Plz check the website can work normally.

hey, which link didn't work for you? could you please post it? there was a server error a couple of days ago but it has been resolved yesterday.
Is this work for you https://cs.stanford.edu/people/dorarad/gqa/download.html
?

@dorarad
The link didn't work. https://github.com/stanfordnlp/mac-network/blob/gqa/visualreasoning.net/download.html
The new provided link can work now.  Does "Download Questions" in the new link mean new version of GQA 1.1.2?

Yea it is the most updated version. Will update github page to point the correct link as well.
The correct link is: visualreasoning.net/download.html (which points to https://cs.stanford.edu/people/dorarad/gqa/download.html)

btw where did you see the link "https://github.com/stanfordnlp/mac-network/blob/gqa/visualreasoning.net/download.html" I can't find where in the repo I point to that address

oh ok found it. Solved now!

Thanks for your help~


v2.1.0 adds proprietary components and tracking, increasing APK size by more than factor 5

Looks like your adding of QR Code creation had some very unwanted side effects:
Offending libs:
---------------
* Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* ML Kit (/com/google/mlkit): NonFreeDep,Tracking

3 offenders.

The trouble-maker here is MLKit, which drags in the other two – so essentially I'd have to add 3 anti-features which would scare potentially interested people away from your app: NonFreeNet, NonFreeDep and Tracking. Instead, I've just rolled back the latest updated and disabled its daily update checks in the hope you can find a free replacement. Not sure what your requirements are there, but why wouldn't e.g. ZXing an option? If not, could you maybe at least offer a FOSS flavor coming without those proprietary components? Thanks in advance!

v2.1.0 Add CameraX, MLKit-Barcode-Scannning and QRCodeGen:

    // CameraX
    def camerax_version = "1.2.2"
    implementation "androidx.camera:camera-core:${camerax_version}"
    implementation "androidx.camera:camera-camera2:${camerax_version}"
    implementation "androidx.camera:camera-lifecycle:${camerax_version}"
    implementation "androidx.camera:camera-video:${camerax_version}"
    implementation "androidx.camera:camera-view:${camerax_version}"
    implementation "androidx.camera:camera-extensions:${camerax_version}"

    // BarcodeScan
    implementation 'com.google.mlkit:barcode-scanning:17.1.0'

    // QRCode Gen
    implementation 'com.github.kenglxn.QRGen:android:3.0.1'
    // implementation 'com.github.kenglxn.QRGen:javase:3.0.1'

The native libs of those dependencies cause a big APK size increasing:

Android Studio would remove unuse Java code when build a release apk, so Java code is not the main problem.
I need most Android devices could use this app, so default apk do not set abi filters and it caused apk size big increasing. You can built apk with abiFilters or Get It On Google Play.

I built apks for each cpu architecture，hope it could solve your problem. 😊v2.1.0

For most of Android devices, choose arm64 is ok.

I built apks for each cpu architecture，hope it could solve your problem

Thanks! Those alleviate the size issue (still factor 2.5), but not the main issue with the proprietary libraries:
Offending libs:
---------------
* Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* ML Kit (/com/google/mlkit): NonFreeDep,Tracking

3 offenders.

Can something be done about those as well?

For most of Android devices, choose arm64 is ok.

Not quite correct, but if you wish that can be done. While only very few 64bit devices (e.g. the Pixel 7 plus) do not support 32bit apps, not a single 32bit device supports 64bit apps (naturally). Further, with arm64 already being beyond 10 MB per APK, I will only keep the last 2 versions then (with armeabi at below 9 MB I'd keep 3 – and with a FOSS build flavor coming without MLKit & deps, probably 3 of the "fat APK" supporting all 4 ABIs).

@Tans5 any word?


NO_TOKEN_WARNING broken URL

Note on Map Tokens link, which is triggered by NO_TOKEN_WARNING by the MapBox visualization type, is broken.
Expected results
A working link.
Actual results
https://uber.github.io/react-map-gl/#/Documentation/getting-started/about-mapbox-tokens is broken
How to reproduce the bug

Run docker-compose-non-dev.yml
Create a dataset with a time column, latitude and longitude
Set up a MapBox visualization
Click on Run
Click on the link to get extra information

Environment
(please complete the following information):

superset version: Superset 0.0.0dev
python version: 3.7.9
node.js version: command not found
any feature flags active:

Docker image: apache/superset@sha256:7c7d0b1c05380c884c0f0825b8864b364d8e6c4ba997d1eb9e526f278a7b7175
docker pull apache/superset:4dc859f89e5668ed3f94cd1ef0532a301a3ab85a
Tip: bug report template could include some suggestion on how to extract those data for Docker users.
Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Should https://docs.mapbox.com/help/getting-started/access-tokens/#how-access-tokens-work be used instead?

Not stale.

I don't think it even shows this warning anymore, if I'm not mistaken.

If I'm misinterpreting, I'm happy to re-open this, but otherwise I think this can finally be closed :)


Bugfix for keysym_to_utf8.

Bugfix for keysym_to_utf8.
xkb_keysym_to_utf8 actually returns the length plus the null terminator of the string.

Thanks for this PR.
Sorry it has closed because I rebased your PR and pushed forced a "cargo fmt" fix.
I will recreate it.


modularize map category

Description

modularizes the map category except display map which was already done in beta
replaces deprecated methods in samples that don't have properties to go back and add in later.

Checklist:

[ ] Set target branch to main (current release) or v.next (next release)
[ ] Request a reviewer
[ ] Assign a reviewer
[ ] Tag reviewer in comment

@Luiy0 ignored my own advice of splitting them up, sorry this is a big one!!!


The new versioning scheme is annoying

It means we can't put restriction over the ppx_tools versions. The versioning should use be something like VERSION+COMPILER instead.

I expect there will be one major version of ppx_tools for each version of OCaml, so I'm only suggesting to use VERSION = the one from OCaml.  So if the version corresponding to 4.03.0 is "backported" to support 4.02.0 (by adding some abstraction layers, etc), it could be called 4.03.0+4.02.0.

And what does that gives us over "1.0+4.02" ? It seems really over complicated, and, as I said, it prevents proper version constraints.

I agree with @Drup. Currently porting Bisect_ppx to 4.03. The current version constraint looks worrisome for the backported 4.02 release, and it's not clear that this scheme can work if more than one backported release is made. The alternative 4.03.0+4.02.0 seems quite confusing – it is hard to immediately see which part of that means what. 1.0+4.02 has the advantages of being immediately readable, easy to order for constraints, and allowing major releases of ppx_tools without waiting for an OCaml version, should the need ever arise.

Ok.  I guess that it would be a bad idea to have the next released version have a version number smaller than the current one, so let's start at 5.0 (I almost wanted to propose 4.03.0, but I thought this would be bad style) if everyone agrees.

Actually, I just did a quick grep for version constraints on ppx_tools dependencies, and I see that the only package using the new numbering scheme is the bisect_ppx version I just PR'd: https://github.com/ocaml/opam-repository/pull/6171
So, you might be able to sneak in a retroactive update... Are there other potential problems?
Otherwise, 5.0 seems fine :)

Well, I guess there are people's internal projects that aren't in OPAM.

@alainfrisch The starting number doesn't matter much, so whichever you prefer is fine. I would appreciate a release with @aantron's new interface soonish, though. :)

I'd like to wait for #38 before creating a new release. @Drup Is it ok for you?

Any word on a release? At least Bisect_ppx and TyXML are blocked on it, AFAIK, and Markup.ml is also blocked transitively.

A new release 5.0 is out, with a 5.0+4.02.0 variant.

Thanks!


[Snyk] Security upgrade com.amazonaws:aws-java-sdk from 1.12.318 to 1.12.364

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
:sparkles: Snyk has automatically assigned this pull request, set who gets assigned.
As this is a private repository, Snyk-bot does not have access. Therefore, this PR has been created automatically, but appears to have been created by a real user.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

uasdm-server/pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

616/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.9
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038424
com.amazonaws:aws-java-sdk:  1.12.318 -> 1.12.364
No
Proof of Concept

616/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.9
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038426
com.amazonaws:aws-java-sdk:  1.12.318 -> 1.12.364
No
Proof of Concept

399/1000  Why? Has a fix available, CVSS 3.7
Information Exposure SNYK-JAVA-COMMONSCODEC-561518
com.amazonaws:aws-java-sdk:  1.12.318 -> 1.12.364
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
👩💻 Set who automatically gets assigned
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)
🦉 Denial of Service (DoS)

Out of date


NOWFULL Erin Bugis Viral Leaks Video On Social Media X Twitter[1710K]

⭐⭐⭐⭐⭐
25 sec ago Erin Bugis Leaked Video Viral On Social Media. NOWFULL Erin Bugis Viral Leaks Video On Social Media X Twitter[1710K]

Erin Bugis, a young and talented digital creator, recently captured the public's attention with an intriguing video that has gone viral across various social media platforms. The video, known as the "Erin Bugis Spiderman," has drawn in countless viewers and sparked discussions among users on Instagram, Twitter (X), and Discord. This remarkable success not only highlights Sophie’s ability to create engaging content but also demonstrates how social media can serve as a powerful tool for promoting creative works. Many people are eager to watch the video and learn more about the individual behind it.
For those interested in watching the full video of Erin Bugis, numerous links have been shared across these platforms, making it easy for fans to access the content that has taken the internet by storm. This phenomenon illustrates how quickly information and entertainment can spread in today’s digital age. As more individuals engage in conversations about the video, Erin Bugis is not only gaining popularity but also opening up new opportunities in her career as a content creator.


I want to perform authorization based upon a body's content.

Hi,
I have been playing with Ambassador in a Kubernetes environment as an API gateway. I have got an Authentication service to confirm if a user is whom they say they are.
I now want to perform an authorization request where I confirm if that user is allowed to perform a certain action. To do this I want to pass the request body onto an external service. I was considering putting this into the Authentication service until I noticed that the request body is removed. Is there any way I can call out to another service with the request body and only proceed if it returns a HTTP 200 status?
I do not want to put the Authorization logic in the end service.
Many thanks in advance
Darren

Yes please please.

Use case from @djmax is AWS Request Signatures

I think the only way to really do this safely is to allow some sort of plugin or function to run on the body content, because sending the whole content is nuts, and different apps may have different hashing needs. Maybe it's some setting that can pick from a handful of canonical digesting schemes?

I'm also having this requirement but request body is coming as NULL with "Authservice"
Is there a way to capture the request body content using "Authservice" ?
@darren-west, @djMax

This is now supported in EA7.

Thanks @richarddli
are you saying - the ambassador "Authservice" does not remove the body content in latest version ?

@kasrajag these are questions that are not directly related to this issue, so please use our Slack forum (https://d6e.co/slack) or purchase commercial support, please.


Use NextJS

https://www.webstacks.com/blog/gatsby-nextjs-breakdown-for-2022

not likely to happen.


2nd click on ? and paper clip does not generate DM

Since the bot does not remove the reaction when a user click on the ? or paper clip, a second click (i.e. remove the reaction) does not trigger the DM.  User must re-add the reaction to get the bot to send the DM.

fixed by #32


[600] Added throttling

Context
throttling
Changes proposed in this pull request
Added throttling
Guidance to review
Run
rails dev:cache

Then spank the server
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

We should set the limits and enable in production. Can you work out a reasonable requests per minute limit by checking logit?

There is the wider issue of caching, do we need an external store, or each to their own.

This is a NO go.


ci: reduce duplication of action runs

This stops both push and pull_request actions from running on the same PR (from branches in this repo).

Go study.

:trollface:

(pls do oprish, pandemonium and todel next)


⚠ Avatar API Endpoint has degraded performance

In dd6eb07, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 4366 ms

Resolved: Avatar API Endpoint performance has improved in 6c46d1b after 3 minutes.


Remove duplicated content from 'Upgrading from 7.6 and earlier'

Context

Below two parts are duplicated:

Adding jst.ejb with the eclipse wtp plugin now removes the jst.utility facet

https://docs.gradle.org/8.0-rc-2/userguide/upgrading_version_7.html#adding_jst_ejb_with_the_eclipse_wtp_plugin_now_removes_the_jst_utility_facet
https://docs.gradle.org/8.0-rc-2/userguide/upgrading_version_7.html#adding_jst_ejb_with_the_eclipse_wtp_plugin_now_removes_the_jst_utility_facet_2

Changing test framework after setting test framework options is now an error

https://docs.gradle.org/8.0-rc-2/userguide/upgrading_version_7.html#changing_test_framework_after_setting_test_framework_options_is_now_an_error
https://docs.gradle.org/8.0-rc-2/userguide/upgrading_version_7.html#changing_test_framework_after_setting_test_framework_options_is_now_an_error_2

Also, it fixes markdown syntax:

https://docs.gradle.org/8.0-rc-2/userguide/upgrading_version_7.html#adding_jst_ejb_with_the_eclipse_wtp_plugin_now_removes_the_jst_utility_facet_2

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] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
n/a Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
n/a Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation

@bot-gradle test BD

I've triggered the following builds for you:

BuildDistributions build

@bot-gradle test and merge

No milestone for this PR. Please set a milestone and retry.

@bot-gradle test and merge

I've triggered a build for you.


Forge build not working

Hello Antoine,
Since 3 hours hours we have the problem that we can not longer build our app (Android and iOS) using forge.
Is there a known problem?
running cd native-android-staffbasePublicStore/ && forge --username xxx --password ######## build android
/bin/sh: 1: forge: not found
[ FAILED]Error: Command failed: cd native-android-staffbasePublicStore/ && forge
--username xxx --password ######## build android
/bin/sh: 1: forge: not found

Fatal error: this.async is not a function

Can you please give us a quick indication of what it could be. We are currently preparing the next big release, which is quite difficult without app buildings.

forge version 3.5.4

This doesn't look like a problem with our side of things.
Going by the error message it looks like your build scripts can't find the forge executable:
...
/bin/sh: 1: forge: not found

Ok maybe that was not the best error log.But I can see the  [Errno 54] Connection reset by peer in that log
[ FAILED]Error: Command failed: native-android-staffbasePublicStore/ && forge --username XXX --password ######## build android
[   INFO] Forge tools version: 3.5.4
[   INFO] Update result: you already have the latest tools
[   INFO] Your Forge platform has been updated, downloading updated build instructions.
[   INFO] Fetching generation instructions for v2.8.6 into "/var/folders/ld/3_fjw82n1fz3ch2d6m8v3jtm0000gn/T/forge-templates-Ktafdj/.template"
[   INFO] Removing old templates if present
[   INFO] Using new templates
[   INFO] Running from build-tools
[   INFO] Update result: you already have the latest tools
[   INFO] Using generate_dynamic.buildtools for build
[   INFO] Comparing app assets against build cache
[   INFO] Your app configuration has changed since your last build of this platform, performing a remote build of your app. Once this is downloaded future builds will be faster.
[   INFO] no assets to inject
[   INFO] Starting new build
[   INFO] This could take a while, but will only happen again if you modify config.json
[  ERROR] Something went wrong that we didn't expect:
[  ERROR] [Errno 54] Connection reset by peer
[  ERROR] Please contact<EMAIL_ADDRESS>

Argh, my apologies.
Since a few months ago there's been a recurring issue where Apple's servers are randomly refusing Xcode permission to sign builds until we log out and log in again on the build machines. (please don't ask me why Xcode has to talk to Apple's servers before signing builds)
So far we've been unable to get any acknowledgement from them that it's a problem or what the root cause may be.
I've bumped the build machines and things should be running again.

Thanks it is working again


Consistency for Windows paths in config files

With release 1.2.1, the repository paths in the user .ceylon/config files require a different syntax than before, and a different syntax to the project .ceylon/config file.
Maybe it already is : while the global and and user config files can be platform-specific, the project config file needs to be platform-agnostic.
Here is the config working for me right now:

User config file

[defaults]
encoding=UTF-8
offline=false

[repository "CACHE"]
url=/D:/work/ceylon/cache

[repository "USER"]
url=/D:/work/ceylon/repo

[formattool]
profile=default

Project config file

[compiler]
source=.\\system
source=.\\help
source=.\\server

@akberc this is an IDE problem, Ceylon itself has not changed in this aspect (in fact Ceylon itself never writes to the config files and if you tell it to write something it writes exactly what you give it, to it they are only strings)
@davidfestal we should move this to ceylon-ide-common? Or somewhere else?

Thanks @quintesse . I mistakenly thought that ceylon-ide-common was part of the OBR. It is not.
I will also modify the issue with more details.

Ok!


FixedChannelPool concurrency issue

Netty 4.0.37.Final
Context:
    private EventLoopGroup workerGroup = new NioEventLoopGroup(httpClientConfig.getWorkersCount());

    private final ChannelPoolMap<HostAndPort, FixedChannelPool> channelPoolMap = new AbstractChannelPoolMap<HostAndPort, FixedChannelPool>() {
        @Override
        protected FixedChannelPool newPool(HostAndPort hostAndPort) {
            Bootstrap bootstrap = new Bootstrap();
            bootstrap
                    .option(ChannelOption.TCP_NODELAY, httpClientConfig.isTcpNoDelay())
                    .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, httpClientConfig.getConnectionTimeoutMs())
                    .option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024)
                    .option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 16 * 1024)
                    .group(workerGroup)
                    .channel(NioSocketChannel.class)
                    .remoteAddress(hostAndPort.getHostText(), hostAndPort.getPort());
            return new FixedChannelPool(bootstrap, httpClientChannelPoolHandler,
                    ChannelHealthChecker.ACTIVE, FixedChannelPool.AcquireTimeoutAction.FAIL, 1,
                    httpClientConfig.getMaxConnectionsPerHost(), Integer.MAX_VALUE);
        }
    };

Problem:
I found concurrency issue with FixedChannelPool in case if we pass bootstrap configured with EventLoopGroup with more than 1 thread.
In case of above configuration we will have channel leaking in FixedChannelPool because code below will be executed in eventLoops of passed channels. Different channels from same pool could be bound to different eventLoops and decrementAndRunTaskQueue() could be executed concurrently in fact without any synchronization inside this method:
    @Override
    public Future<Void> release(final Channel channel, final Promise<Void> promise) {
        final Promise<Void> p = executor.newPromise();
        super.release(channel, p.addListener(new FutureListener<Void>() {
            @Override
            public void operationComplete(Future<Void> future) throws Exception {
                ...
                if (future.isSuccess()) {
                    decrementAndRunTaskQueue();
                    promise.setSuccess(null);
                } else {
                    Throwable cause = future.cause();
                    // Check if the exception was not because of we passed the Channel to the wrong pool.
                    if (!(cause instanceof IllegalArgumentException)) {
                        decrementAndRunTaskQueue();
                    }
                    promise.setFailure(future.cause());
                }
            }
        }));
        return p;
    }

    private void decrementAndRunTaskQueue() {
        --acquiredChannelCount;

        // We should never have a negative value.
        assert acquiredChannelCount >= 0;

        // Run the pending acquire tasks before notify the original promise so if the user would
        // try to acquire again from the ChannelFutureListener and the pendingAcquireCount is >=
        // maxPendingAcquires we may be able to run some pending tasks first and so allow to add
        // more.
        runTaskQueue();
    }

So, looks like for now it's not safe to use FixedChannelPool in case of EventLoopGroup size > 1.
Related to #5455

@Spikhalskiy hmm ... The ChannelFutureListener should be executed in the executor thread. So it should be thread-safe. Do you have a test-case that can demonstrate this ?

Yep, sorry, you are right, still have the same channels leak with one eventLoop. So, this part works correctly inside one event loop and doesn't require synchronization.


Take advantage of the new modules.json at editor path root

With some of the newer versions of the editor, there's now a modules.json file that defines each modules download location and if they're enabled (selected).
Find-UnitySetupInstaller is a great candidate for this.

Thinking on this further, it seems like you'd have to have versions of Unity installed already to use this in Find-UnitySetupInstaller right?
Thanks for the contribution for using this with Get-UnitySetupInstance =).
Wondering if we can close this if we can't find a way to leverage modules.json within Find-UnitySetupInstaller.

I think as long as we find the main editor installer, it could be a post step?
Yeah it doesn't make much sense bc we don't have the editor installed yet, huh?
Well we could def take advantage of it when updating already existing installations.

Closing unless this is holding us back from anything.


waybar crashes when trying to start

fresh install of waybar (from jakoolit's hyprland dots), gdk error 71: dispatch to wayland failure
how do I fix this? also happens on ags (end-4 hyprland dots)

logs

logs
FIXED IT

idk how but there was a ghost display


IE9: Selection column missing in RC21

I updated to RC21 and the Selection column is all white in IE9.
I was also able to emulate this with Dev-tools in IE11.

This is because the selection columns are ending up at the top of the page:

Probably due to us using incorrect absolute positioning.

I have encountered this problem. How to fix it?

I am also having the same problem. How should it be fixed

IF i remove position absolute, then the border are not applied properly

Can someone help me on this?