Move test agents to Linux+wptagent

Move the test agents to the new linux-based agent.  This will open up the possibility of running lighthouse testing in the future.

The plan is to have the 5/1 crawl run on the new agents so hang on, the metrics may move or things may break (hopefully not but I know better than to assume it will be smooth).  Everything SHOULD continue to work, including response bodies.
I'm starting the migration now since the 4/15 crawl is complete.  While I'm deploying new VM's I'll also take the opportunity to upgrade VMWare to the latest version on each of the 7 hosts.
The plan:

Secure-erase the SSD's in the 7 VM servers (the earlier VM's used most of the disk space and SSDs don't like running with few free blocks)
Install the latest ESXi on the VM servers
Partition each SSD to only use 80% of the free space (leave 20% for block management for performance)
Set up a master VM using Ubuntu 16.04.2 (configured to auto-update the OS and agent code daily)
Clone the master VM to all of the hosts for the same number of agents that were previously running (134 total, 14 on each of the 3 older servers and 23 on each of the 4 newer servers with more cores)
When the 5/1 crawl starts, watch the host CPU utilization to see if more VMs can be deployed (the linux VM's use much less CPU than the WIndows ones on the public WPT instance)
Watch the batch status to see the test thruput.  The Windows VM's were running ~950 tests per 30 minute interval.  Need to make sure we continue running at at least that pace to complete the crawl in time (hopefully much faster with more agents, making room for testing lighthouse).

the metrics may move

Are there any Windows/Linux differences in Chrome that we can expect to manifest in the metrics?

There shouldn't be.  I use the linux agent for a few of the public WPT locations and no issues have been reported.
The timings will actually get a bit better because the video frames are no longer limited to 10fps but we generally don't expose the visual metrics (hopefully we will be able to after the migration though that may take a few more cycles of tuning and addressing issues).

And of course, 6 of the servers went nice and smooth but the seventh went belly-up and even the IPMI interface went offline.  I'll see if I can find a way to revive it tomorrow and if not I'll ping the local hands-and-eyes but worst case I may need to ask one of you guys to road trip to the data center in redwood city with a laptop, USB drive and a few utilities and I'll try walking you through reflashing it remotely.
As far as the VM's that are running, they look to be working well.  Here are sample desktop and mobile runs.  The metrics, bodies and blink feature usage information all looks good (to me anyway) in the HARs.

Send a note to the local hands and eyes (onsite tech) to see if they can take a look.  I have the uneasy feeling that the motherboard toasted itself during the power cycles for the re-install.  The server was ordered 4/2015 and has a 5-year hardware warranty with parts cross-shipment so getting replacement parts shouldn't be an issue (actually replacing them may be).

Holding my fingers crossed.. Worst case, I guess we can run with reduced capacity until the problem is resolved. In theory, if the perf gains for new agents are there, perhaps we have just enough to squeeze in all the runs on the working hardware.

Absolute worst case I can spin up some VM's in Dulles to help fill the gap and make sure we complete on time.  Pretty big unknown since this was the pass where we are tuning scaling and perf :(

Trying tuning a few things to see if I can get the thruput up but it looks like while CPU usage during the test is a lot lower, the overall CPU usage and thruput is actually worse.  In particular, getting the video frames and bodies after the test completes instead of recording it all during testing appears to add a fair bit of time to each run.
The ~1000 test/30min thruput is running closer to 500 right now (on reduced hardware but the hardware is only responsible for a tiny fraction of that.

Yikes, OK, what are our options here then? We can reduce number of sites we crawl, we can spin up more VM instances in Dulles.. these are temporary solution though.

Separating out the 2 issues for now.  Long-term, assuming the 7th server comes back:

Switch back to the Windows c++ agent

Would effectively get us back to where we were before
Need to add Lighthouse support for future testing (at which point capacity becomes a concern/question)
Would need to keep supporting the agent (was hoping to sunset it in favor of the cross-platform one)

Improve the python agent (running Linux testing). Basically a bunch of iterating on finding what the slow points of the analysis are and optimizing them.  I had already done a lot of this so there isn't a lot of "low hanging fruit".  By far the slowest part is getting the trace events from Chrome over the remote devtools websocket.  There are a few other ways to get the events but improving this may require upstream changes in Chrome (with an added benefit of helping other tooling).

My preference is option 2 but I'm not sure there's 100% speedup on the table.  Nether option looks like it buys us enough headroom to add Lighthouse without other tradeoffs (fewer URLs, less frequency or more capacity).

ISC pulled the module and reset it and it seems to have come back to life so I'll get the 7th VM server configured now and then see where things stand.

The 7th VM server is back so we have all of our physical machines.  I made one pass today at optimizing the trace processing (avoid reading back the traces from disk just to process them).
I'm also giving the VM's more RAM since we're not going to be deploying as many as I earlier hoped (going from 2GB to 4GB).  I'll finish rolling out the new VM's tonight and let the new code run overnight so we can see what the thruput looks like and how much tuning is left to do.
Net opportunity for optimization is going to be around the video frame processing.  The new agents get frames at up to 60fps and do a lot more processing to fix them up.  I can add logic to sample them at no higher of a rate than the old desktop agents but it would be kind of a shame to give up on the increased accuracy.
There is also a lot of work around fixing up the PNG's that come from dev tools, converting them to JPEG, cropping, etc which is probably where I'll put most of the initial optimization focus (10's of seconds of processing in each test so pretty good area to target).

Thanks for the updates Pat, curious to see tonights results.
Re, accuracy: true, but perhaps for HA specifically it's not a huge deal? As in, perhaps we should intentionally run at lower accuracy for frame metrics, since we don't necessarily trust latency based metrics anyway in the context of HA?

7th VM  and trace optimizations brought us up to ~625.
I added support for seeing what test and agent is currently running to debug the pathological where an agent can get stuck running a test for over an hour.  First finding was that we were running the in-page javascript for extracting metrics and bodies for failed tests but each step would timeout with no response and take a really long time to complete.  Javascript modal popups were causing similar issues.
I added some code to automatically dismiss modal alerts and to not do the processing on failed tests and that fixed all of the current failcases I had.  From the looks of the status page, 10+ agents at any point in time were stuck in this state so hopefully it buys us another hundred or so runs per hour. I just pushed the update and will watch the agents and pluck off any more failcases as I see them pop up.
In the meantime, I also have a 260MB trace from a page that takes ~5 minutes to process that I'm using to fix some N^2 issues with the trace parsing.

In the meantime, I also have a 260MB trace from a page that takes ~5 minutes to process that I'm using to fix some N^2 issues with the trace parsing.

Ah, the wonders of modern web.. Dare I ask which site that is?

Not sure about that one right now but here is a test from the set that I was looking at that timed out loading the mobile site (2 minutes) but managed to rack up 300MB in trace data up to that point.
At some point I may just turn off timeline capture since we aren't actually using it for anything but the data could be valuable so I don't want to completely give up on it (and I am making good progress on fixing the issues that the extreme cases bring up).

Recent round of fixes brought us up into the 700 range.  Still not clear but I'm cautiously optimistic that continuing to focus on the more extreme cases (mostly around trace and video processing) will get us back to where we need to be.

ok, now we're cooking with gas.  Latest round of optimizations brought it up to ~900 which puts us right around 12 days run time (pretty much where we were before).  There's still some room left and I'll plug away at it more to see how far I can push it but we're out of crisis mode now.

That's great news. Thanks Pat!

@pmeenan you, sir, are awesome. But I guess we already knew that... :-)

ok, I think I'm done tuning and optimizing.  It's running in the 1000-1050 range which puts us around 10% faster than the Windows agents were running.
I think the timing data is finally going to be useful (maybe for the next run since this one started out pretty hot).  The server is running hot but not oversubscribed (90-95% CPU) and the few tests I looked at looked to have reasonable request timings and matched some spot tests I ran against the public WPT instance.  They won't necessarily be useful for down-to-the-millisecond timings but directional and ballparks look good.
I'll leave this open until the crawl completes and we validate that the HAR processing and custom metrics all worked with the new agents.

ok, I think I'm done tuning and optimizing. It's running in the 1000-1050 range which puts us around 10% faster than the Windows agents were running.

That's awesome. Great job Pat - as usual.
Re, timing: what throttling logic do we have in place for these runs? I presume we don't cpu-throttle the tests?

We traffic-shape the connections (netem) but don't CPU throttle yet.  I made one pass at getting the CPU throttling working but it didn't seem to actually change the js execution times so I need to figure out how I'm holding it wrong.  There is code in place to benchmark the test machine so the throttling can be applied in such a way that different environments will all throttle to the same effective speed.
The VM's only have a single CPU allocated so they are pretty low-end on the desktop scale of things but still significantly faster than say, a Moto G4.
We're also currently emulating a Nexus 5 (screen and UA string).  It's probably worth re-visiting that when the CPU throttling is working.

We're also currently emulating a Nexus 5 (screen and UA string). It's probably worth re-visiting that when the CPU throttling is working.

Agreed, it seems like lots of folks are converging on ~Moto 4G profile.

Rather than use the built-in CPU emulation I think I'm going to look at kernel-level throttling with cgroups/cfs/etc (at least for linux).  That will give much more accurate throttling and looks like it might not be that hard.

CPU throttling is ready to go as soon as this crawl completes (need to re-deploy the VM's with cgroup support added).  Also switched the default mobile profile to the Moto G4.

Throttling kicked in for the 5/15 crawl and I verified to make sure it is working as expected.  That said, the perf data from 5/1 will be about the same.  The throttling code benchmarks the test system and determines the actual multiplier to use from the calibrated profiles and it looks like the VM's aren't all that much faster than a Moto G when they are under testing load and the effective multiplier ends up being 1.024x.  That does mean the desktop results will skew towards slower desktop systems but the unthrottled mobile tests are about the same as throttled.

Reminded of... "You get a Moto 4G, and you get Moto 4G, everyone..." :-)
@pmeenan any other outstanding TODO's on agent migration?

Only TODO's are sorting out the drop in HTML/CSS/JS bytes (or verifying that it really is fixed in the 5/15 crawl).
We should also make sure the HAR's look good and that the Blink Feature Usage data made it in there.
Otherwise I think we're good.

Trends are now reporting HTML, JS and CSS sizes in-line with what we'd expect which is the last known issue with the Linux agent migration.  Closing this as complete.


Tags vehicle=no + bicycle:conditional=yes@… should trigger warning instead of failing to route in cycle profiles

Graphhopper should route along the waymarked route (or close) - https://graphhopper.com/maps/?point=47.169217%2C11.465069&point=47.174048%2C11.480668&point=47.176764%2C11.502712&profile=mtb&layer=TF+Cycle
Instead it routes around. Probably something similar to https://github.com/graphhopper/graphhopper/pull/2863 would give better results, i.e. a warning.
Tagging there looks correct: The more specific key overrides the less specific one. If anything is wrong with the tagging, it is that the detour is lacking the correct tagging.
PS: The dotted line in the end is fine, but the dotted line in the middle makes me ache, there is some steep terrain there:

Context: https://www.openstreetmap.org/way/1216602928#map=17/47.17239/11.47752
I think this is already solved with #2863 being merged.


[2518] Pull in all dttp schools but filter on active

Context
https://trello.com/b/BBEuhbHM/publish-register-sprint-board
Changes proposed in this pull request
In order to reduce some of the Sentry noise related to missing school data, we've decided to pull in the entire list of dttp schools into our look up table.
We're also filtering these on a new field statuscode (active) which is used to map the status of the dttp school account . This is to reduce the duplicate URNs.
We've also decided to raise if we can't find a school to use so we can intervene manually.
Guidance to review
It's quite tricky to test this but you'll have to pull down the dttp school prod data locally using the sidekiq job and interrogate the data. I was able to find a URN for a job that's failing in prod at the moment.

 Remove filter on schools look up process


Visual Studio Cookiecutter Cannot Clone Any Repository

When I try to clone a repository I get this error:
----- Cloning template 'Microsoft/python-sklearn-classifier-cookiecutter' -----
The system cannot find the file specified
A task was canceled.
----- Failed to clone template 'Microsoft/python-sklearn-classifier-cookiecutter' -----
I don't know what to do I am a newbie in coding If you could help I would be grateful.

Cloning template 'Microsoft/python-sklearn-classifier-cookiecutter' -----
The system cannot find the file specified
A task was canceled.
----- Failed to clone template 'Microsoft/python-sklearn-classifier-cookiecutter' -----


Test coverage for render during component integration test setup

Assuming this PR lands in ember-qunit, we can support  the use of this.render during component integration test setup hooks, as discussed in the comments to https://github.com/switchfly/ember-test-helpers/pull/38.
This PR updates the embedded copy of ember-qunit's test function to match that change, and adds test coverage.

This got rolled into #60.


dangerouslySetInnerHTML?

Sometimes it's necessary just to insert bulk of raw HTML. React has the function dangerouslySetInnerHTML. How to accomplish the same with Snabbdom?

Hello @avesus this is a dupe of #105, but the simple solution is div({ props: { innerHTML: htmlString } }).


Genrule for Running Auth Logic Verification; Integration Test

For some reason, building with the provenance file is taking much longer to run than it normally does locally... I'm pushing this now in part to see if it will work here.

@rbehjati @tiziano88 Neither of you would happen to have secret insider info about why building is now taking 20m, would you? I think building from provenance files used to take less time than it does now... kind of a long shot, so if you don't have any info that's okay :)

Yes, I think the build used to take less time. We should perhaps refactor the code so that those large tests do not all actually fetch the Oak repo and build it. That functionality does not need to be checked multiple times.
But on this PR the CI is not even running the tests. The build step ("${GITHUB_WORKSPACE}/bin/bazel" build //...) is failing, and taking 20mins.

Yes, I think the build used to take less time. We should perhaps refactor the code so that those large tests do not all actually fetch the Oak repo and build it. That functionality does not need to be checked multiple times.
But on this PR the CI is not even running the tests. The build step ("${GITHUB_WORKSPACE}/bin/bazel" build //...) is failing, and taking 20mins.

Thanks for looking into this and thinking about it. I think I figured out the problem for this specific PR, and I think I am about to fix it, so you shouldn't need to spend more time on this.

@rbehjati Oh but actually, once this is working, there will be two tests in the auth-logic subidirectory that both involve building from provenance files:

one is provenance_build_wrapper_test
the new one in this PR also calls the provenance_build_wrapper

One relatively cheap way to keep the time for CI lower would be to deprecate provenance_build_wrapper_test so that just one of these is built. Although deprecating tests is not usually desirable. WDYT ?


refactor: Almost break stream_data out of the cluster.

This mostly breaks stream_data out of our cluster of dependencies.
There is still some indirect entanglement with UI modules via stream_topic_history and message_util that I need to finally break it out, but these changes move us forward.

This is great, merged, thanks @showell!


How to enable ultra-ssd

Tell us about your request
Trying to enabled and use ultra-ssd for nodepool created by karpenter
Tell us about the problem you're trying to solve.
No
Additional Context
No response
Attachments
No response
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Thanks for creating an issue!
Leaving some notes as Ultra SSD and my inital thoughts on how it conflicts with karpenter today(not to say we will never implement)

Ultra disks can't be used as OS disks, they can only be created as empty data disks. Currently we only are creating the os disk in current karpenter implementation.
Ultra Disks require zonal knowledge to know if its available.  This introduces a new dimension to karpenter's requirements

We need to design and think through data disks and requirements being zonal aware.

Yeah the usecase is not for OS disks for sure. However I believe to start with we need to find a way to modify AdditionalCapabilities.UltraSSDEnabled = true.

We should add enabling UltraSSD by default when using VM SKU that supports it, in supported zone - we have this information from SKU API.


[Question] Anyone tried using tailwindcss-rtl along with twin.macro?

Has anyone around here tried using tailwindcss-rtl along with twin.macro?
I love both libs and I have to create a demo project for a talk on i18n and rtl designs and I am wondering if anyone attempted this combination before... I would test it myself, but I am a little bit time constrained. :)
My assumption is that it should work without issues. However, tailwindcss-rtl is a plugin for tailwind which expects directives to be in className I am left unsure if there is some sort of compatibility issues, since twin.macro full out expects you to use tw and css props instead and I know for certain that twin.macro does not support some tailwind directives.

From my testing, it is not possible to use both of these in combination. I might have configured something incorrectly.


Segvault when stopping backend (supervisor)

I am running backend using supervisor.
When i issue a supervisorctl stop bitclout it results in a Segfault.
https://github.com/bitclout/backend/blob/2ed0152433d52ea38e9a010983c7fdbe47a706f7/routes/server.go#L1151
I0707 14:44:25.979160   25058 server.go:1140] APIServer.Stop: Gracefully shutting down APIServer
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x238 pc=0xf2f7f0]

goroutine 1 [running]:
github.com/bitclout/backend/routes.(*APIServer).Stop(...)
        /src/backend/routes/server.go:1141
github.com/bitclout/backend/cmd.(*Node).Stop(0xc108e16d48)
        /src/backend/cmd/node.go:99 +0x90
github.com/bitclout/backend/cmd.Run.func1(0xc108e16d48)
        /src/backend/cmd/run.go:37 +0x2f
github.com/bitclout/backend/cmd.Run(0x1d438e0, 0xc000896100, 0x0, 0x2)
        /src/backend/cmd/run.go:42 +0x1a6
github.com/spf13/cobra.(*Command).execute(0x1d438e0, 0xc0008960e0, 0x2, 0x2, 0x1d438e0, 0xc0008960e0)
        /go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x1d43660, 0xf331f0, 0x0, 0x0)
        /go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
        /go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
github.com/bitclout/backend/cmd.Execute()
        /src/backend/cmd/root.go:24 +0x2d
main.main()
        /src/backend/main.go:15 +0x25

I am trying to find a way to gracefully shutdown backend, as ctrl C or this segv seem often to trigger corruption in TxIndex with "Duppl Block" errors and having to restart TxIndex.

Thanks for reporting! I'll prioritize this

Looks like this is still an issue - I was hoping https://github.com/bitclout/core/pull/75 https://github.com/bitclout/core/pull/74 would fix this, but backend still crashing on shutdown.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xa8 pc=0xf63770]

goroutine 1 [running]:
github.com/bitclout/backend/routes.(*APIServer).Stop(...)
        /src/backend/routes/server.go:1194
github.com/bitclout/backend/cmd.(*Node).Stop(0xc000063d48)
        /src/backend/cmd/node.go:74 +0x90
github.com/bitclout/backend/cmd.Run.func1(0xc000063d48)
        /src/backend/cmd/run.go:38 +0x2f
github.com/bitclout/backend/cmd.Run(0x1da4520, 0xc0003f7dc0, 0x0, 0x2)
        /src/backend/cmd/run.go:43 +0x1a6
github.com/spf13/cobra.(*Command).execute(0x1da4520, 0xc0003f7da0, 0x2, 0x2, 0x1da4520, 0xc0003f7da0)
        /go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x1da42a0, 0xf67450, 0x0, 0x0)
        /go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
        /go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
github.com/bitclout/backend/cmd.Execute()
        /src/backend/cmd/root.go:24 +0x2d
main.main()
        /src/backend/main.go:15 +0x25

Yes my PR should resolve this, there are two bugs.

Closing this, thanks @gfodor


Use 01.07.0000 superpack

Use 01.07.0000 superpack
During the installation process, the <IP_ADDRESS>:443 server cannot be connected

Try again to make sure there were no server issues.
Otherwise it is likely that the drone-hacks.com server is blocked on your network.


Move PRs-welcome text up above the fold

We could also move the rust implementation install instructions much further down.


Create devcontainer

Create ubuntu dev container as the default container for the application to ensure consistency across different development environments
Create gitignore to not commit the vscode settings

In the future, after we define the technical stack, it would be a good idea to update the dev container with a compose containing the other modules and with a docker file with the packages and requirements for the project.


Photos exported to zero size jpeg

Describe the bug
While exporting my Library's photos with osxphotos export command, a certain number of photos come out zero sized.
To Reproduce

I run the following command: /usr/local/bin/osxphotos export --verbose --db /Volumes/Photos/Libraries/2022.photoslibrary/database/Photos.sqlite --skip-original-if-edited --retry 3 --ramdb --update --convert-to-jpeg --jpeg-quality 1.0 --cleanup /Volumes/photos-1/Gallery/2022/
The source Library is on an USB drive (/Volumes/Photos), destination directory is on a remote SMB drive (/Volumes/photos-1)

Expected behavior
having at destination the entire collection of photos, instead many photos are zero sized.
I'm attaching some info of one of the source image that is exported to zero size:

I attach the screenshot of the zero-sized destination image:

Desktop (please complete the following information):

OS: Darwin 11.7
osxphotos version: 0.51.8

I've never seen this behavior before. It could be an osxphotos bug or could be something weird going on with the SMB drive. Here are a couple things to try to get additional data.

Try to export one of the affected photos to a folder on the local computer.  You can limit the export by add the option --uuid 6E3E4723-6933-4BDC-BDC3-D58DF4F83383.  That limits the export to the one image in your example screenshot.  Alternatively you could use  --name "Lou-9" which would export any photo with a matching name to the one in your example.

Run the following command to get debug output and either post the output here or email it to me at<EMAIL_ADDRESS>(note the output may contain sensitive information such as precise locations the photo was taken).

osxphotos debug-dump --db /Volumes/Photos/Libraries/2022.photoslibrary/database/Photos.sqlite --dump photos --uuid 6E3E4723-6933-4BDC-BDC3-D58DF4F83383 > debug.txt

Hey, thank you for your answer!
Here is the dump:
Opening database: /Volumes/Photos/Libraries/2022.photoslibrary/database/Photos.sqlite
Done; took 0.64 seconds
_dbphotos['6E3E4723-6933-4BDC-BDC3-D58DF4F83383']:
{'UTI': 'public.jpeg',
'UTI_original': 'public.jpeg',
'UTI_raw': None,
'_uuid': '6E3E4723-6933-4BDC-BDC3-D58DF4F83383',
'added_date': datetime.datetime(2022, 9, 25, 22, 22, 25, 826251),
'adjustmentFormatID': None,
'adjustmentUuid': None,
'albums': [],
'alt_master_uuid': None,
'burst': False,
'burstPickType': 0,
'burstUUID': None,
'cloudAssetGUID': None,
'cloudAvailable': None,
'cloudLibraryState': None,
'cloudLocalState': None,
'cloudStatus': None,
'cloudbatchpublishdate': None,
'cloudownerhashedpersonid': None,
'countryCode': None,
'customRenderedValue': 0,
'datastore_subtype': None,
'depth_state': 0,
'directory': '6',
'extendedDescription': None,
'favorite': 0,
'filename': '6E3E4723-6933-4BDC-BDC3-D58DF4F83383.jpeg',
'fok_import_session': None,
'hasAdjustments': 0,
'hasAlbums': 0,
'hasKeywords': 0,
'hasPersons': 1,
'has_raw': False,
'hdr': False,
'height': 4480,
'hidden': 0,
'imageDate': datetime.datetime(2022, 4, 24, 16, 4, 39, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200))),
'imageDate_timestamp': 672501879,
'imageTimeZoneOffsetSeconds': 7200,
'import_session': 51,
'import_uuid': '3A04E520-E936-4D15-9AAB-019A1B398916',
'incloud': None,
'intrash': False,
'isMissing': 0,
'isreference': False,
'keywords': [],
'lastmodifieddate': None,
'lastmodifieddate_timestamp': None,
'latitude': None,
'live_photo': False,
'localAvailability': 1,
'longitude': None,
'masterFingerprint': 'AbaBLVY8m17rLVgown4Wkj46nE9F',
'masterUuid': None,
'modelID': None,
'momentID': 12,
'name': None,
'non_raw_master_uuid': None,
'orientation': 1,
'originalFilename': 'Lou-9.jpg',
'original_filesize': 9075743,
'original_height': 4480,
'original_orientation': 1,
'original_resource_choice': 0,
'original_width': 6720,
'panorama': False,
'persons': [302, 498, 296, 382, 355],
'pk': 911,
'placeIDs': None,
'placeNames': None,
'portrait': False,
'raw_data_length': None,
'raw_info': None,
'raw_is_original': False,
'raw_master_uuid': None,
'remoteAvailability': 0,
'resource_type': None,
'reverse_geolocation': None,
'saved_asset_type': 3,
'screenshot': False,
'selfie': False,
'shared': False,
'slow_mo': False,
'subtype': 0,
'time_lapse': False,
'trasheddate': None,
'trasheddate_timestamp': None,
'type': 0,
'visibility_state': 0,
'visible': True,
'width': 6720}

Nothing in the debug dump jumps out as abnormal. Did you try exporting to the local disk and if so, is the file still zero length?

@riccardo-casazza Are you still having problems with zero-length files? Were you able to test an export onto local disk?

@RhetTbull when I export locally, I don't have the problem. I assume it is my Ubuntu SMB server's fault, I tried to change some SMB server parameters, but I still get the problem.
Either you close the ticket and write in README.md that there might be problems writing on SMB, or you may try to reproduce. Still, I'll be available to test on my side as well, if you need help.

The fact that this works locally but not on the SMB indicates an issue with the SMB, not osxphotos.  Currently osxphotos uses a native Mac API (copyItemAtPath:toPath:error:) for copying files to take advantage of copy-on-write on newer file systems. It may be this that's causing the issue. The internal design of osxphotos makes it easy to support an alternative copy mechanism.  When I get a chance I'll implement an a copy that uses a different method (setting with a command line flag) and so you can test that.

In v0.54.2 I've added an --alt-copy flag to osxphotos export that causes the export to use an alternate copy method. I'm hoping this solves the problem with the zero-length file on the NAS. Please give your export a try with --alt-copy added to your command and let me know if it works.


Parameterize hardcoded constant

Some constant may be better configurable

BatchCreationPeriod : default 10 blocks
BatchMaxElements: default 100
ObservedEthereumHeightPeriod: default 50 blocks

solve by https://github.com/crypto-org-chain/gravity-bridge/pulls?q=is%3Apr+is%3Aclosed


ENYO-1670 Update docs on spot()

Enyo-DCO-1.1-Signed-off-by: Roy Sutton<EMAIL_ADDRESS>

In the README.md changes, shouldn't "Spotlight" (referring to the module) be lower-cased?  Otherwise, LGTM.

We used var Spotlight = require('spotlight') so they are fine.  However, the README does need to be updated further.  Suggest we create a followup issue.


Any reason to query __typename in AddTodoMutation?

https://github.com/relayjs/relay-examples/blob/567ad0ff0c329a566369991d4e860c43df8c01d1/todo/js/mutations/AddTodoMutation.js#L23
Is this required for new edge or can be ignored?

relay needs this to figure it out which node to update

remember that relay modern does not do any query for you
you should describe the entirely query

Wouldn't id be enough to know which node to update?

you need both, I guess

So the example should be fixed to have id as well?
I am asking because it means that I should start adding both id and __typename to all mutations queries.
With classic, I didn't specify it and had no problem.

relay modern adds id to the query \o/

It seems only id is necessary and __typename is not. CLosing this issue.


"Moșoaia", "Bătrâni" are listed in the drop-down menu

Description:
When user writes "Moșoaia", "Bătrâni" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Moșoaia"

Expected results
The location appears in the drop-down menu as "Moșoaia, Argeș (Moșoaia)"

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Bătrâni"

Expected results
The location appears in the drop-down menu as "Bătrâni, Argeș (Moșoaia)"


Lecture 5: Why does ArrayList::get(...) violate Tell Don't Ask?

Description
Lecture 5 Quiz
Question: What can you say about the ArrayList::get(..) method that returns an element from the list?
Answer: Violates the Tell-Don't-Ask principle.
Since we have ArrayList, isn't the purpose of the ArrayList to help store multiple pieces of data? Since there's no general operation that clients really want from ArrayList (other than possibly the standard map, reduce, forEach, filter, sort, which are accessible through the .stream method returning a Stream), but if you just really want one piece of data, for instance, using the ArrayList to build other data structures efficiently, you wouldn't want the ArrayList to automatically go through the other data without you doing so.
Should the ArrayList be subclassed if additional functions that require accessing a subset of elements directly need to be implemented so that get() just needs to be a protected method? However, if so, it also may be possible to use a has-a relation here, because out custom subclass doesn't need to parrot all methods the ArrayList has, making it harder to test, which means ArrayList::get() is still useful in this instance for our other class that manages the ArrayList to organise our data.
So, should ArrayList.get() be considered to violate Tell Don't Ask, and why?
Topic:
Tell Don't Ask, ArrayList
Screenshots

Actually you hit the nail on the head.  The question was meant to lead students to see the use of "the standard map, reduce, forEach, filter, sort,"... If we do that, we don't need to expose a get() method.

How so, if all we want is one piece of data from the ArrayList?
Would a better design be defining get() as protected and doing this?
class GettableArrayList extends ArrayList {
public T get(int index) {
super.get(index);
}
}
such that the GettableArrayList would be used if the .get is essential to the application?


If I am unable to post a message, because all nodes are frozen, I should see an descriptive error message when I hit "post"

Here's how this works.
If nodes are frozen, it means I cannot post to them. But I can still read messages.
So I see a bunch of messages, but when I hit the POST button, I get the following error, and maybe it links to a documentation page (coming soon).
"You cannot post messages until you are friends with someone who has their own node. Alternatively, you can start a node yourself."

@mreider  Wouldn't it be more correct to show this message at once instead of the posting form?


Payment Reminder of deleted Customers

As i was testing this plugin i created random Users but i deleted them later.
Now i am getting an daily E-Mail: Payment reminder. (Attached)
I even deleted the plugin and reinstalled it.
Is there a file to maybe delete these manually?
Thanks

Are these invoices still available in the WC Invoices -> Invoices list?
Also check the Trash view.
You may then permanently remove these invoices so you wont get the reminder anymore.

There is nothing listed. Nothing in All and Trash.

This line expected to have the invoices in the list and not marked as paid or deleted
https://github.com/ole1986/wc-invoice-pdf/blob/master/model/invoice-task.php#L60
So it might be that due to the removal of it customer that the list does not show them... But they still exists.
You may need to resolve it yourself by careful cleaning up the wc-invoice table

Ok thanks. Should have worked


Regularly logs out, breaks, needs to be reinstalled

I am not sure how to reproduce this bug, since I don't know what's causing it. But briefly, the behaviour is that:
(1) I get a "Failed to sign in." error when trying to login (after having previously logged in). However, my phone and computer gives me the 2fa login screen fine.
(2) After I uninstall and reinstall the plugin, then try login again, it works.
(3) After some unspecified period of time (I honestly don't know how long -- days? weeks?), the behavior of (1) and (2) is observed again.
Practically this means uninstalling and reinstalling the plugin every second or third time I go to use it. Which defeats the purpose of the plugin I suppose.
If there's anything I can do to provide more information on the bug, please let me know. I wish I knew TS and could help contribute and debug it. Very useful and excellent plugin otherwise.

Hi @mpr1255! Thanks a lot for reporting this issue. Haven't managed to reproduce it myself yet.
Are you running the extension on Firefox or Chromium?
It would be very useful if you could capture some debugging context next time you encounter this error. In particular, when you encounter the same error again:

Accept the 2fa login prompt of Apple
Close the extension pop-up.
Go to chrome://extensions and Inspect the views of the service worker [0]
A new DevTools browser window will pop up. Minimise the window and go back to your main browser window.
Open the extension pop-up and try logging-in again. You should be presented with the same error message.
Go back to the DevTools window:
Under the Console tab, you will find the logs of the service worker. Please past them here.
Under the Network tab, you will find all network calls initiated by the service worker. Please paste the requests and response here. Make sure to redact your Apple ID username and password.

Thank you very much in advance. I understand that this isn't the simplest debugging workflow.
[0]

Hello there, whenever i login, it sends the request successfully, I receive a 2fa code on my phone, but there is an issue after that as you can see on the screenshot.

Thank you, I’m looking forward for this update when I’m back from vacation.

 I'm really sorry I didn't follow through on all the debugging... Glad you were able to figure it out, and well done.

Can confirm that I also experience a lot of log outs. Keenly awaiting new version as re-logging in each time makes this un-usable. Thanks.

Hey!
I'm using Brave(Chromium). I observed, that every time i update the browser the extension logs me out, i assume because of the browser fingerprint change, but honestly no idea (shouldnt it use cookies?).

I hope, that this will be resolved with the apple site login.

@Target0998 Since Jul '23, Brave has a bug due to which declarativeNetRequest rules of extensions stop working when the browser process is terminated: https://github.com/brave/brave-browser/issues/30854
Without its declarativeNetRequest rules, the extension cannot make requests to the Apple APIs, hence it automatically signs you out. This is also why subsequent sign-in attempts do not even trigger a 2FA prompt.
You will notice that if you if you refresh the extension through brave://extensions, it will start working again, but only until you shut down the browser.
In the brave issue above, there are some super hacky workarounds suggested (like having the extension periodically refresh itself) but I'd probably prefer to wait for the Brave team to fix this regression.

@micnguyen is this still a problem? How often do you need to sign-in? What browser are you on?

FYI the brave team has pushed a fix for this bug. The plan to release this in late Feb.


ASE: Moving some global variables declaration out of ase_common.h

ASE: Moving some global variables declaration out of ase_common.h with some other changes.

This changes has been validated on external GitHub with help_fpga test
Will check it on Jenkin soon

Jenkins' ase-testing tests passed for this pull requests.

It's okay to merge this one. In the future, can we also have a link to PSG regtests in the review comments?

Yes, for the next pull requests with Windows support, I will run full regression tests on MCP and DCP


Steam dir taking up drive space?

Hi. Why does the steam dir keep downloads? Is it supposed to? The mods etc get copied over to the ARK dir but why not moved or deleted after?
Thanks :)

You can delete mods from the Steam workshop directory after installing them by using the arkmanager remove-mods --args <mod1> <mod2> ...
If you want to remove all mods from the Steam workshop directory after installing them, you can remove the entire ~/Steam/steamapps/workshop directory.
Note that this will break mod update detection, as the workshop manifest is used to detect if a mod update is available.  Simply removing the mod's directory can cause the next mod update to be broken, so that remove-mods command also removes it from the manifest, which will result in an update always being detected the next time an update is checked for.  Note that the mod file stored in the Mods directory does not contain the mod version, and so cannot be used to determine if a mod update is available.

Ah OK thanks for the reply. Ye thats a problem.
I am using these tools inside a docker container. The ARK install volume is large enough that this doesnt matter, but the OS root volume isnt. I am not sure how to make the image also store Steam on the larger volume. I think it would need a rewrite. Offtopic but would be nice if we had an offical docker image :)
I think ARK Server Manager or something else makes a file for each mod to monitor versions. Is that not something that can be done here?
Chris

You can try symlinking the Steam directory to a directory in your container volume in the docker startup script.

41556ff should add support for checking the installed mod version against the version on Steam.

Thanks. So the latest version should not need to maintain separate downloads?


Error on YouTube.get(type) when the video list includethe same type multiple times

Just loaded the package.
Thank you for the package it nice and simple.
pprint(yt.videos)

Video: MPEG-4 Visual (.3gp) - 144p - Simple,
Video: MPEG-4 Visual (.3gp) - 240p - Simple>,
Video: Sorenson H.263 (.flv) - 240p - N/A>,
Video: H.264 (.mp4) - 360p - Baseline>,
Video: H.264 (.mp4) - 720p - High>,
Video: VP8 (.webm) - 360p - N/A>]

video = yt.get('mp4')
MultipleObjectsReturned: Multiple...teria.',)

This is the expected behavior, you have two mp4 videos but .get() can only be used if only one object matches your criteria.
To fix, you will need to specify the resolution, e.g.:
video = yt.get('mp4', '720p')
# or
video = yt.get('mp4', '360p')

Finally, if you always want the highest resolution video, you could do this:
video = yt.filter('mp4')[-1]

Thanks


feature: add test ci and coverage badge

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c46f7dc). Click here to learn what that means.
 Consider uploading reports for the commit 7c9f049 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##             master       #6   +/-   ##
=========================================
  Coverage          ?   91.66%
=========================================
  Files             ?        1
  Lines             ?      132
  Branches          ?        0
=========================================
  Hits              ?      121
  Misses            ?        7
  Partials          ?        4

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

The badge will display normal after merging to master.

LGTM


[AOT] Remove UseWPF and UseWindowsForms in Common.UI and clean up AOT build issue

Summary of the Pull Request

Remove UseWPF and UseWindowsForms properties from Common.UI.csproj
Modify OpenSettings method in SettingsDeepLink.cs to use System.AppContext.BaseDirectory
Mark this csproj as AOT compatible.

PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[x] Tests: Added/updated and all pass
I have tested this PR in my local env.
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments
Let me explain why we need this change.

Currently, we can not enable AOT in a project which are using WPF and WindowsForm. https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/incompatibilities
It seems that we don't need to import WPF and WindowsForm in this infra project. So, I removed it and tested. All things seems well.
If we want to mark this project is AOT compatible, we need to remove reflection usage.

Validation Steps Performed

/azp run

CI isn't passing because different dll versions for the same dependencies are being used. This is one of the reasons why both WPF and UseWindowsForms are in Common.UI

@jaimecbernardo Could you please give me more context about why we need to do this check?
I did some investigate and find out those dll (such as System.Drawing.dll) ref from "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/9.0.0" and seems that it's hard to specific a version for those dll.
Thoese assemblyVersion are the same (<IP_ADDRESS>) but the fileVersion are different.

Hi @moooyo , This requires some context indeed 😄
Before https://github.com/microsoft/PowerToys/pull/27451 , every application resided on their own folders. Since we do the applications as self-contained, this means we would end up having duplicated library files all over the place, since every application would have their own WinAppSDK dlls and .NET dlls. We tried doing things like deep links to try to save on installed disk space, but when users clicked the File Explorer properties for PowerToys, it still showed 3.10 GB.
So we've done some work to try to have every application in the same folder. This reduced the size reported by File Explorer to 538 MB at that time ( a ~83% reduction in reported size!!! )
(Actually WinUI 3 apps are on their own separate folder since we never figured how to make those work together, since WebView2 dlls at the time reported the same version but were incompatible between WinUI 3 and the version directly referenced by our preview handlers. Still, used disk space reduced a lot.)
Keeping every application in the same runtime folder meant every dll should be the one that's expected by the applications, or we could have runtime crashes (we had runtime crashes where one application or another would work depending on build order and which application would manage to copy their dependency dll last). So we decided that dll name reported in deps.json files and fileVersion would be what we would use.
When we upgraded to .NET 9, different .NET dlls where shipped on the 9.00 SDKs with different file versions. Here's a snippet of my analysis at the time. Not even assembly Versions match.
So, "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/9.0.0" ships with
          "Microsoft.VisualBasic.dll": {
            "assemblyVersion": "<IP_ADDRESS>",
            "fileVersion": "<IP_ADDRESS>809"
          },
          "System.Drawing.dll": {
            "assemblyVersion": "<IP_ADDRESS>",
            "fileVersion": "<IP_ADDRESS>809"
          },
          "WindowsBase.dll": {
            "assemblyVersion": "<IP_ADDRESS>",
            "fileVersion": "<IP_ADDRESS>809"
          },

While "runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64/9.0.0" ships with
          "Microsoft.VisualBasic.dll": {
            "assemblyVersion": "<IP_ADDRESS>",
            "fileVersion": "<IP_ADDRESS>901"
          },
          "System.Drawing.dll": {
            "assemblyVersion": "<IP_ADDRESS>",
            "fileVersion": "<IP_ADDRESS>901"
          },
          "WindowsBase.dll": {
            "assemblyVersion": "<IP_ADDRESS>",
            "fileVersion": "<IP_ADDRESS>902"
          },

It's not clear to me why PowerToysColorPickerUI would pick System.Drawing.dll from "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/9.0.0" and WindowsBase.dll from "runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64/9.0.0"
And then PowerToys.GcodeThumbnailProvider picks System.Drawing.dll from "runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64/9.0.0" and Windows Base.dll from "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/9.0.0"

So on the .NET 9 Upgrade PR, we made everything depend on WPF and WinForms to make sure the latest dll version would be picked for every dependency.
https://github.com/microsoft/PowerToys/pull/35716/commits/04dc5cec08d01d237542c86bb0655ef40e1f2b20
I hope this helps.

@jaimecbernardo  Thanks for your reply. That's a amazing work.
In mu understanding, we do need to let UseWPF and UseWinForms stay in the csproj unless we find a way to solve this conflict.
Make a exception (add some change to let them use different dll) maybe a choice, but I don't wan to solve by this way. If we add one exception, I believe there will be more and more exceptions...
So, how about adding another props file to do the same thing? I mean we can create a props file and add UseWPF in this file. Then let every csproj file import it. By this way, we can keep the aot compatibility  of common.UI logic code  and avoid the new code to break it.

Currently, most of our modules use WPF or WindowsForm to implement UI. We can not make these publish with AOT enabled.
But some are not, such as AdvancedPaste and settings.UI. For these project, we have the possibility to make them publish with AOT.
That's why I want to remove UseWPF and UseWindowsForms in common.UI.

@moooyo , you can give it a try, but I think you'll likely still get these conflicts on different applications reporting using different dll versions 🤔
By the way, here's an incantation I run locally on PowerShell when I'm trying to solve this issues. It's basically the script that runs in CI:
$targetDir = 'D:\janeasystems\PowerToys\x64\Release'
$referencedFileVersionsPerDll = @{}
$totalFailures = 0

Get-ChildItem $targetDir -Recurse -Filter *.deps.json -Exclude UITests-FancyZones*,MouseJump.Common.UnitTests* | ForEach-Object {
    $depsJsonFullFileName = $_.FullName
    $depsJsonFileName = $_.Name
    $depsJson = Get-Content $depsJsonFullFileName | ConvertFrom-Json

    # We're doing a breadth first search to look for every runtime object.
    $iterateThroughEveryField = New-Object System.Collections.Generic.Queue[System.Object]
    $iterateThroughEveryField.Enqueue($depsJson)

    while($iterateThroughEveryField.Count -gt 0)
    {
        $currentObject = $iterateThroughEveryField.Dequeue();
        $currentObject.PSObject.Properties | ForEach-Object {
            if($_.Name -ne 'SyncRoot') {
                # Skip SyncRoot to avoid looping in array objects.
                # Care only about objects, not value types.
                $iterateThroughEveryField.Enqueue($_.Value)
                if($_.Name -eq 'runtime')
                {
                    # Cycle through each dll.
                    $_.Value.PSObject.Properties | ForEach-Object {
                        if($_.Name.EndsWith('.dll')) {
                            $dllName = Split-Path $_.Name -leaf
                            if([bool]($_.Value.PSObject.Properties.name -match 'fileVersion')) {
                                $dllFileVersion = $_.Value.fileVersion
                                if ([string]::IsNullOrEmpty($dllFileVersion) -and $dllName.StartsWith('PowerToys.'))` {
                                    # After VS 17.11 update some of PowerToys dlls have no fileVersion in deps.json even though the
                                    # version is correctly set. This is a workaround to skip our dlls as we are confident that all of
                                    # our dlls share the same version across the dependencies.
                                    continue
                                }
                                # Add the entry to the dictionary of dictionary of lists
                                if(-Not $referencedFileVersionsPerDll.ContainsKey($dllName)) {
                                    $referencedFileVersionsPerDll[$dllName] = @{ $dllFileVersion = New-Object System.Collections.Generic.List[System.String] }
                                } elseif(-Not $referencedFileVersionsPerDll[$dllName].ContainsKey($dllFileVersion)) {
                                    $referencedFileVersionsPerDll[$dllName][$dllFileVersion] = New-Object System.Collections.Generic.List[System.String]
                                }
                                $referencedFileVersionsPerDll[$dllName][$dllFileVersion].Add($depsJsonFileName)
                            }
                        }
                    }
                }
            }
        }
    }
}
$referencedFileVersionsPerDll.keys | ForEach-Object {
    if($referencedFileVersionsPerDll[$_].Count -gt 1) {
		$dllName = $_
		Write-Host $dllName
		$referencedFileVersionsPerDll[$dllName].keys | ForEach-Object {
			Write-Host "`t" $_
			$referencedFileVersionsPerDll[$dllName][$_] | ForEach-Object {
				Write-Host "`t`t" $_
			}
		}
        $totalFailures++;
    }
}

@jaimecbernardo Ohh, you are right. That's no benefit to solve this problem. Let me add them back first.

/azp run

Anyway, we can continue to move on this PR. Could you please review again.
In addition, I saw you mentioned that currently, WinUI3 app use their own dlls not the root folder one.
Now, we can not enable AOT in the WinUI3 modules. That's a trick thing I guess. Maybe we can change the check script to do the independent check for root folder and WinUI3 folder?
I'm not sure my understanding is true. Any insight? @jaimecbernardo

@moooyo , That might be something that works, but I do wonder I then some dlls that are conflicting won't be verified because of "dependencies of dependencies" which deps.json file would be verified in root but not in WinUI3Apps folders 🤔 Something that can be tried out, I guess, but it must be verified that we still get a good check within WinUI3Apps folder.
Something that might be tried as well can be to understand what the WinUI3Apps need from Common.UI, make that a different project and try to see if conflicts are still detected if WinUI3 apps don't depend on WinForms and WPF.

That might be something that works, but I do wonder I then some dlls that are conflicting won't be verified because of "dependencies of dependencies" which deps.json file would be verified in root but not in WinUI3Apps folders 🤔 Something that can be tried out, I guess, but it must be verified that we still get a good check within WinUI3Apps folder.
Something that might be tried as well can be to understand what the WinUI3Apps need from Common.UI, make that a different project and try to see if conflicts are still detected if WinUI3 apps don't depend on WinForms and WPF.

Sure, Thanks! I will continue to investigate. Anyway, we can continue to move on this PR without the change of remove UseWPF and UseWindowsForms.


Correct ineffectual assignment

/review @tommysitu

Thank you. It reminds me that we are overdue for some go linting.


bugfix-annotations-removed

bugfix-annotations-removed

fixes: #36

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

40 of 40 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.1%) to 68.245%

Totals

Change from base Build<PHONE_NUMBER>6:
1.1%

Covered Lines:
634

Relevant Lines:
929

💛  - Coveralls


Updating Subworflow logic to enable async mode execution for start wi…

…th delays, and subworkflow task status to reflect the actual workflow state.

@mudit3774 this is important for us. @kishorebanala , when this is supposed to go, live?

@mudit3774 this is important for us. @kishorebanala , when this is supposed to go, live?

This is ready for review and will most likely be available in next release.

Pull Request Test Coverage Report for Build 3738

23 of 27 (85.19%)  changed or added relevant lines in 5 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 69.942%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/src/main/java/com/netflix/conductor/core/execution/tasks/SubWorkflow.java
12
13
92.31%

grpc/src/main/java/com/netflix/conductor/grpc/AbstractProtoMapper.java
2
3
66.67%

common/src/main/java/com/netflix/conductor/common/metadata/tasks/TaskResult.java
2
4
50.0%

Files with Coverage Reduction
New Missed Lines
%

core/src/main/java/com/netflix/conductor/core/execution/WorkflowExecutor.java
3
84.55%

Totals

Change from base Build 3733:
0.02%

Covered Lines:
11402

Relevant Lines:
16302

💛  - Coveralls


UVIS fixes and unit tests

Draft for now, more work to do on the unit tests including rebasing to include the updates from the G102 PR.

Ahh I missed that. Thanks!


filename-case complains about s3fs.js

Is it my wrong or is the plugin a little bit too strict in this case? I don't really want to rename it to s-3-fs.js because it looks really weird.

I think this was fixed in https://github.com/sindresorhus/eslint-plugin-xo/commit/198bb6a7deb946ab17d0b223e3dbfe3ef05779a2.

Will check it again later today. Thought I reinstalled XO but will try it again.

@SamVerschueren It's not yet part of XO. I'm planning a new XO release soon.

Oh ok. You can close it if you like or keep it open for tracking.

I confirm that this should be fixed in 198bb6a. I'll close, but do re-open it if you find it to still be broken.


Expression widget empty for ADORA3

When viewing the RNA and protein baseline expression widget on the target profile page, no data is shown, which is unexpected. This may be related to the 400 returned by a different call (https://www.ebi.ac.uk/gxa/json/baseline_experiments).
The page can be viewed at https://www.targetvalidation.org/target/ENSG00000282608.

I have talked to Laura Huerta (Expression Atlas) regarding this.
There may be a problem in their pipeline. They are checking this as we speak. The gene has lower levels of expression but nevertheless should be picked up by them.
At any rate, the ADORA3 protein is shown in Protein Atlas and Illumina body map does show expression at its RNA level.

Expression Atlas to check whether issue with low expressed genes missing baseline expression is widespread or a one off.

Any update on this @deniseOme?

@ElaineMcA @MichaelaEBI - meeting scheduled w/Atlas team on 09Jan2019 to get update.

Laura has mentioned en passant that the issue may be due to a "GRCh37 versus GRCh38 assembly" thingy.
Thanks @ElaineMcA for the update. I have just had a look at this and here is what I've found:

No baseline expression for ADORA3 (greyed-out in the page below):
https://www.ebi.ac.uk/gxa/genes/ensg00000282608?ds={"kingdom"%3A["animals"]}#differential

Expression Atlas, Ensembl (latest human assembly GRCh38) and ourselves have ADORA3 as ENSG00000282608 but Ensembl GRCh37 does not have ENSG00000282608 at all:
http://grch37.ensembl.org/Multi/Search/Results?q=ENSG00000282608;site=ensembl

ADORA3 in GRCh37 has the following Ensembl gene ID: ENSG00000121933

So the culprit here may be the wrong ID given to the same gene from one assembly to the other.
At any rate, please make sure that Laura Huerta is in this meeting as she may have additional information on this. Or catch her as soon as possible as sadly she will be leaving the EBI soon.

Thanks for further analysis, @deniseOme . Aware of Laura's departure, meeting scheduled does include Laura -  Agree that it is vital that knowledge is handed over and pipeline process documented before team members depart, she is happy to help with this as always.

Atlas will provide an updated baseline expression file for the 19.09 release that should fix this issue.

New file has been received but it needs to be processed so it won't be ready for 19.09, aiming at 19.11.

@AsierGonzalez and @deniseOme - was this issue resolved in 19.11 or should it be re-assigned to 20.02?

I'm afraid it wasn't, I still need to re-run the baseline expression pipeline. Let's target to do it for 20.02

Perfect - will move to 20.02 release

Baseline data has been updated for 20.06 and this gene has baseline expression information


Detect when proxy host is blocked

Some nodes have blocked the rest.cosmos.directory proxy from serving traffic to their domain. This doesn't affect health checks but then fails when the node is used to serve traffic under the proxy. Not sure how best to detect this, potentially just setting the host to the relevant proxy domain when checking the health endpoints?
Offending node:
https://meme-api.kleomed.es/
Marked as rate limited for now so it won't be used unless no non-rate limited nodes are available. No way to fully block it right now (also needs implementing).

Checking status here ?  It's the other source of errors i'm getting.


There is no XCFramework found at '/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/Structure.xcframework'.

when i test it on xcode it display : There is no XCFramework found at '/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/Structure.xcframework'.
how can i solve it

-- Please reply above this line --
        Hi,

I need to learn more about the issue. Can you go to the command line,
run 'cd
/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/Structure.xcframework'
the type ls please?
How would you rate my reply?
Great [1]    Okay [2]    Not Good [3]
Daniel Shnaider
Technical Solutions Engineer
Looking for more information? Check out our other developer
resources.

Support Articles [4]
Structure SDK (Read Me) Documentation within our Structure SDK [5]
Developer's Page [6]
Developer Forums [7] (Retired)

Links:
[1]
https://secure.helpscout.net/satisfaction/732966073/record/8165212707/1/
[2]
https://secure.helpscout.net/satisfaction/732966073/record/8165212707/2/
[3]
https://secure.helpscout.net/satisfaction/732966073/record/8165212707/3/
[4] https://store.structure.io/support
[5] https://developer.structure.io/portal
[6] https://structure.io/developers
[7] https://forums.structure.io/
    > On Fri, Sep 13, 2024 at 9:20 PM UTC, Structureio/sample-Scanner<EMAIL_ADDRESS>wrote:

when i test it on xcode it display : There is no XCFramework found at
'/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/Structure.xcframework'.
how can i solve it

Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you are subscribed to this
thread.Message ID:
@.***>
Links:
[1] https://github.com/structureio/sample-scanner/issues/19
[2]
https://github.com/notifications/unsubscribe-auth/AF4TEHBG6VTXZLJWRMAV5PTZWNJJBAVCNFSM6AAAAABOGDRUA2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGUZDKNZRG44TSNI

when i click to build to run the it display:
Showing Recent Issues
There is no XCFramework found at '/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/Structure.xcframework'.

-- Please reply above this line --
        Please do the following.

* Open your terminal

* run: cd

/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/
* run: ls

* Tell me what you see

How would you rate my reply?
Great [1]    Okay [2]    Not Good [3]
Daniel Shnaider
Technical Solutions Engineer
Looking for more information? Check out our other developer
resources.

Support Articles [4]
Structure SDK (Read Me) Documentation within our Structure SDK [5]
Developer's Page [6]
Developer Forums [7] (Retired)

Links:
[1]
https://secure.helpscout.net/satisfaction/734123226/record/8175361220/1/
[2]
https://secure.helpscout.net/satisfaction/734123226/record/8175361220/2/
[3]
https://secure.helpscout.net/satisfaction/734123226/record/8175361220/3/
[4] https://store.structure.io/support
[5] https://developer.structure.io/portal
[6] https://structure.io/developers
[7] https://forums.structure.io/
    > On Thu, Sep 19, 2024 at 1:05 PM UTC, Structureio/sample-Scanner<EMAIL_ADDRESS>wrote:

when i click to build to run the it display:
Showing Recent Issues
There is no XCFramework found at
'/Users/mohamedyassinemessaoud/Downloads/sample-scanner-main/Frameworks/Structure.xcframework'.

Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you commented.Message ID:
@.***>
Links:
[1]
https://github.com/structureio/sample-scanner/issues/19#issuecomment-2360928941
[2]
https://github.com/notifications/unsubscribe-auth/AF4TEHA2BG3HVBQCITTRKMLZXLDQPAVCNFSM6AAAAABOGDRUA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRQHEZDQOJUGE

-- Please reply above this line --
        What is the version of the SDK which you are using?

How would you rate my reply?
Great [1]    Okay [2]    Not Good [3]
Daniel Shnaider
Technical Solutions Engineer
Looking for more information? Check out our other developer
resources.

Support Articles [4]
Structure SDK (Read Me) Documentation within our Structure SDK [5]
Developer's Page [6]
Developer Forums [7] (Retired)

Links:
[1]
https://secure.helpscout.net/satisfaction/734130452/record/8175593331/1/
[2]
https://secure.helpscout.net/satisfaction/734130452/record/8175593331/2/
[3]
https://secure.helpscout.net/satisfaction/734130452/record/8175593331/3/
[4] https://store.structure.io/support
[5] https://developer.structure.io/portal
[6] https://structure.io/developers
[7] https://forums.structure.io/
    > On Thu, Sep 19, 2024 at 1:33 PM UTC, Structureio/sample-Scanner<EMAIL_ADDRESS>wrote:

i fixed the issues , but there is other problem :
Cannot find 'kSTCaptureSessionOptionST01CompatibilityKey' in scope

Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you commented.Message ID:
@.***>
Links:
[1]
https://github.com/structureio/sample-scanner/issues/19#issuecomment-2361001636
[2]
https://github.com/notifications/unsubscribe-auth/AF4TEHC6IIMAIFYCGRR4ABDZXLHBPAVCNFSM6AAAAABOGDRUA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRRGAYDCNRTGY

SDK 3.0.3

-- Please reply above this line --
        Try this repository

https://github.com/structureio/sample-scanner/tree/8c7fe59383904eff0c1bff2a074c86476cff3135
[1]
Links:
[1]
https://github.com/structureio/sample-scanner/tree/8c7fe59383904eff0c1bff2a074c86476cff3135
How would you rate my reply?
Great [1]    Okay [2]    Not Good [3]
Daniel Shnaider
Technical Solutions Engineer
Looking for more information? Check out our other developer
resources.

Support Articles [4]
Structure SDK (Read Me) Documentation within our Structure SDK [5]
Developer's Page [6]
Developer Forums [7] (Retired)

Links:
[1]
https://secure.helpscout.net/satisfaction/734143251/record/8176201416/1/
[2]
https://secure.helpscout.net/satisfaction/734143251/record/8176201416/2/
[3]
https://secure.helpscout.net/satisfaction/734143251/record/8176201416/3/
[4] https://store.structure.io/support
[5] https://developer.structure.io/portal
[6] https://structure.io/developers
[7] https://forums.structure.io/
    > On Thu, Sep 19, 2024 at 2:21 PM UTC, Structureio/sample-Scanner<EMAIL_ADDRESS>wrote:

SDK 3.0.3

Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you commented.Message ID:
@.***>
Links:
[1]
https://github.com/structureio/sample-scanner/issues/19#issuecomment-2361132461
[2]
https://github.com/notifications/unsubscribe-auth/AF4TEHDV3PC72NAVP64DHTLZXLMWBAVCNFSM6AAAAABOGDRUA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRRGEZTENBWGE


Remove unused asm.rs

armv8a/src/asm.rs seems not be used anywhere nor included by mod statement.
Note : First commit to islet, so feel free to correct any convention violation.

First commit to islet

I didn't know this. It feels like you've contibuted a lot already-:


Use Large pools instead of hosted VMs in build-docs pipeline

Moves some of the build-docs pipeline jobs to use the large pool so we don't exhaust the shared pool resources.

Should we temporarily move everything out of the small pool since it's unusable for the rest of the month?

Should we temporarily move everything out of the small pool since it's unusable for the rest of the month?

Good idea. I'll do that in a separate PR to make it easier to revert.

Should we temporarily move everything out of the small pool since it's unusable for the rest of the month?

@scarlettjlee I looked more closely, and AFAICT the only pipeline using the hosted pool is this one: https://github.com/microsoft/FluidFramework/blob/fabf127dfce485c9abc775fb53c834d0de27c167/tools/pipelines/templates/include-copy-chart.yml#L15-L16
The Small and Large pools are both self-hosted, so the limit we hit shouldn't affect those pools. Do you think it's worth changing the one above to use the Small pool?

Should we temporarily move everything out of the small pool since it's unusable for the rest of the month?

@scarlettjlee I looked more closely, and AFAICT the only pipeline using the hosted pool is this one:
https://github.com/microsoft/FluidFramework/blob/fabf127dfce485c9abc775fb53c834d0de27c167/tools/pipelines/templates/include-copy-chart.yml#L15-L16
The Small and Large pools are both self-hosted, so the limit we hit shouldn't affect those pools. Do you think it's worth changing the one above to use the Small pool?

@tylerbutler I'm not sure what this is. Looks like this affects the historian and routerlicious pipelines. Which I think we don't run that often?


[SDL 0256] Refactor Fuel Information Related Vehicle Data

Proposal: Refactor Fuel Information Related Vehicle Data

This proposal is to consolidate Fuel Information related vehicle data so that it supports multiple types of propulsion sources used by the vehicle.

Review: https://github.com/smartdevicelink/sdl_evolution/issues/854
Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions.  The author will make the following changes to the proposal: add KILOGRAM to CapacityUnit; change maxValue of level and capacity in FuelRange to larger upper limit (1000000); fix fuelLevel and fuelLevel_State typos; update descriptions of fuelLevel and fuelLevel_State to state the param is deprecated as of x.x.x of the rpc spec, please see fuelRange; modify description of fuelRange param to be more descriptive of its extended capabilities.  The author can work with the Project Maintainer to finalize this description.

The proposal .md file was updated to reflect these revisions on 11/14/19.

Proposal markdown file has been updated per the revisions included in accepted Evolution Proposal SDL 0256 Revisions - Refactor Fuel Information Related Vehicle Data. The revisions include updating missing type for structure and adding history for deprecated parameters in Mobile_API.  Please reference the issue and proposal markdown file for more details.

Closed via https://github.com/smartdevicelink/rpc_spec/pull/262


Error reading persistent compilation cache entry: Instruction name is not unique

Description
I am encountering this error while trying to run a function which I have a compiled executable for in the persistent compile cache.  It only seems to happen on larger batch sizes/resolutions (the script I am using operates on ~40 different input shapes with a fairly wide range of total area, on some batch sizes only half of my inputs will be affected).  Functions work absolutely fine regardless of size once compiled, but cannot be loaded from cache.  This happens with jit compilation and AOT compilation.  I have also experienced the same issue on both CUDA 11 and CUDA 12 (currently using 12) versions of JAX and at least as far back as 0.4.18.
I suspect that it may be related to specific CUDA kernels being selected during benchmarking since it only happens on larger input sizes? I can provide HLO dumps or other diagnostic info if needed.
Here is the error that shows up (empty lines removed).  The name of the constant is not always the same.

GPU
Additional system info?
1.26.2 3.11.7 | packaged by conda-forge | (main, Dec 15 2023, 08:38:37) [GCC 12.3.0] uname_result(system='Linux', release='6.1.0-16-amd64', version='#1 SMP PREEMPT_DYNAMIC Debian 6.1.67-1 (2023-12-12)', machine='x86_64')
NVIDIA GPU info
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA A100-SXM4-40GB          Off | 00000000:04:00.0 Off |                    0 |
| N/A   31C    P0              30W / 400W |      4MiB / 40960MiB |      0%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+

An HLO dump would be helpful, please. Failing that, some other sort of reproducer would be necessary.

576x576x4_working_lowered.txt
576x576x16_bugged_lowered.txt
Here are the lowered forms of the function, one on an input size where the function works as expected, and one on an input size where the function fails to save to the compile cache correctly.
I have the compiled forms of the function saved, but they are over 500MB each.  They will be difficult to upload, so tell me if you do explicitly need them.  I did search for the misbehaving constant which in this instance is constant_29335, and did in fact find two instances of it in the compiled function:
  %constant_29335 = bf16[] constant(0.5), metadata={op_name="jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/down_blocks_0/attentions_0/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/down_blocks_0/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/up_blocks_3/attentions_0/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/up_blocks_3/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/up_blocks_3/attentions_2/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/up_blocks_3/attentions_2/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/up_blocks_3/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/up_blocks_3/attentions_0/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/down_blocks_0/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/down_blocks_0/attentions_0/transformer_blocks_0/ff/net_0/mul"}
  %convert.27249 = f32[] convert(bf16[] %constant_29335)
  %constant_29335 = bf16[] constant(0.5), metadata={op_name="jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/down_blocks_0/attentions_0/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/down_blocks_0/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/up_blocks_3/attentions_0/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/up_blocks_3/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/jvp(FlaxUNet2DConditionModel)/up_blocks_3/attentions_2/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/up_blocks_3/attentions_2/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/up_blocks_3/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/up_blocks_3/attentions_0/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/down_blocks_0/attentions_1/transformer_blocks_0/ff/net_0/mul;jit(train_step)/jit(main)/transpose(jvp(FlaxUNet2DConditionModel))/down_blocks_0/attentions_0/transformer_blocks_0/ff/net_0/mul"}
  %convert.34794 = f32[] convert(bf16[] %constant_29335)


Feature: Adding flag for giving starting Espers

-stesp <MIN> <MAX>
--starting-espers <MIN> <MAX>
This flag will gives a player between MIN-MAX espers at the start of the seed
These are marked in the spoiler log similar to how we do lores: https://pastebin.com/S40YpYZ5
*Odin       58 MP                                           Bahamut    70 MP
    Life 3  x20                                                 Merton  x6
    Bolt    x4                                                  Cure 3  x20
    Imp     x20                                                 Bolt 3  x8
    Life    x6                                              SPEED +2
STAMINA +2                                                  Equipable: All
Equipable: All

* = Starting Esper

I believe starting with max espers can fail with character gating. Character rewards are assigned first to ensure a path and try to make the checks (somewhat) equally likely. If characters are not randomly assigned to character/esper checks (e.g. magitek factory, FC, FT, doma wor, veldt, ...) then there will not be any remaining rewards available. I have not counted what the max number of espers can be without failing but I believe it is somewhere around 20.
To increase the chances of failure, assign 4 starting characters with character gating:
python3 wc.py -i ff3.smc -cg -sc1 random -sc2 random -sc3 random -sc4 random -stesp 27 27
Those flags almost always fail. However, I ran it 1000 times with 20 starting espers and did not encounter an error. I believe subtracting the number of character/esper only rewards from the max will be safe.

Thanks Atma - This crossed my mind but never followed up on it - I'm counting 7 Char/Esper only rewards, so 20 makes sense. Will do some more testing as well

Updates merged into beta branch for &dev seeds.


Danloader

Diff Coverage
File Path

••••••     67%
new samples/go/downloader/downloader.go

•••••••    77%
go/diff/diff.go

••••••••   87%
new go/diff/patch.go

•••••••••  93%
new samples/go/downloader/resource_cache.go

•••••••••  95%
new samples/go/downloader/treewalker.go

•••••••••  96%
new samples/go/downloader/updater.go

•••••••••  97%
new go/diff/apply_patch.go

Powered by Codecov. Last update bbfc27d...397b7ca

@aboodman Please take a look at these comments and give me your responses.

@aboodman PTAL

lgtm!
let's get with the danloading

!!
On Tue, Nov 8, 2016 at 4:46 PM, Dan Willhite<EMAIL_ADDRESS>wrote:

Merged #2794 https://github.com/attic-labs/noms/pull/2794.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/attic-labs/noms/pull/2794#event-852378863, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAE6BLgF5zkB2p12_s1j6SKv0BHJCPfBks5q8RgAgaJpZM4KneUD
.

hook it up hook it up hook it up
On Tue, Nov 8, 2016 at 4:47 PM, Aaron Boodman<EMAIL_ADDRESS>wrote:

!!
On Tue, Nov 8, 2016 at 4:46 PM, Dan Willhite<EMAIL_ADDRESS>wrote:

Merged #2794 https://github.com/attic-labs/noms/pull/2794.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/attic-labs/noms/pull/2794#event-852378863, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAE6BLgF5zkB2p12_s1j6SKv0BHJCPfBks5q8RgAgaJpZM4KneUD
.


Provide a distinct lint code and message for undefined names in starred-import contexts

See: #138.

This seems to be handled by ImportStarUsage already, doesn't it?


Fix typo; "Recritation" -> "Recitation"

Fixes https://github.com/quran/audio.quran.com/issues/97

thank you @aam1r


Invisible character "￼" (U+FFFC) inserted at end of dictation input on iOS.

A user reports:

Reporting an odd bug that I have not been able to get around. When using dictation on iOS, a bizarre character is added 1 to many times and is not visible on mobile - but when reading the message on desktop app or web - it is visible. From the various tests I've done I was able to partially correlate this to the blue squiggly auto-corrections that iOS is recommending after dictation is finished.
Here is the character that appears after using dictation:
sample message ￼

Anyone have any insight into this OBJ character and what causes it, can it be avoided, etc?
It renders the dictation function unusable because when you dictate a multi sentence response, it is peppered with these characters.

Looking around our issue tracker, it looks like we've had at least one known bug with dictation on iOS before this: #2659. The problem there was in some code in React Native, and it was solved by taking a fix in a new React Native release.
There's another bug in the React Native tracker that looks different from that one, and seems like a plausible explanation for the current bug, but I haven't dug deeply yet: facebook/react-native#22139. Unfortunately, that one was unceremoniously closed and discussion was locked by a maintainer after that maintainer confirmed that it was a real bug.
I think a good first debugging step would be to check and see if onKeyPress is being called in our case, at the end of a dictation input. And if so, with what character.

facebook/react-native#22139. Unfortunately, that one was unceremoniously closed and discussion was locked by a maintainer after that maintainer confirmed that it was a real bug.

Ouch. Yeah, that's pretty unhelpful.
If after some debugging it looks like this is an issue in RN, we should go ahead and report a new issue there. It may or may not get it fixed -- quite apart from that previous thread, RN doesn't have a great record there -- but perhaps it will help someone else who runs into the same bug.

There is now an open issue in the RN tracker for a symptom like this: https://github.com/facebook/react-native/issues/36521

Any reason why OBJ is inserted at end of dictation text input on iOS?


[Bug]: the sql content is not highlighted when the database change task panel is shown at first

ODC version
4.2.3
OB version
not related
What happened?

execute several sqls that can not executed directly and the database change task panel will be shown:

as you can see: the content is not highlighted and the violation location function does work, we need to wait for a while.
What did you expect to happen?
the content should be highlighted when task panel is shown.
How can we reproduce it (as minimally and precisely as possible)?
follow 'what happened'
Anything else we need to know?
No response
Cloud
No response

Fixed In Commit f7de18b7fae938488489828a3ca0fc4614012c40
------
陈朝俊
Wed Dec 13 09:27:46 2023 +0800

pass


To use Coreinfo64 for 64 bit processor.

To improve the documentation to recommend the use of Coreinfo64 for 64 bit processor.

Docs Build status updates of commit 77d7cbd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/coreinfo.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 7db571a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/coreinfo.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c572a97:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/coreinfo.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


No-arg methods annotated with @Command must be public

Methods annotated with @Command but without parameters must be public otherwise an illegal access exception occurs:
    java.lang.IllegalAccessException: class picocli.CommandLine cannot access a member of class io.dconnelly.TestCommand with modifiers ""
    	at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
    	at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:591)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:558)
    	at picocli.CommandLine.executeUserObject(CommandLine.java:1802)
    	at picocli.CommandLine.access$900(CommandLine.java:145)
    	at picocli.CommandLine$RunLast.handle(CommandLine.java:2141)
    	at picocli.CommandLine$RunLast.handle(CommandLine.java:2108)
    	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1975)
    	at picocli.CommandLine.execute(CommandLine.java:1904)

It appears that setAccessible(true) is only called for methods with parameters in MethodParam but not for parameterless methods. Not sure if createIfAnnotated was supposed to handle this but that is not called for methods annotated with @Command.

Nice catch!!
Thanks for raising this! I haven’t looked in detail yet but it sounds like it should be easy to fix.

@dconnelly, All,
picocli 4.2.0 has been released, including this fix. Enjoy!


Add profile of Hannah Xue

Merged via https://github.com/Cornell-CS5356-Fall2015/cs5356/commit/ae1be8ce775f049823659150117ea3fdd7ae96c6.
Because I had to merge a conflict (someone else's commit was merged earlier), your master is now out of sync with this reposittory's master. It's one of the reasons why you would have wanted to work on a branch, right now you'd just destroy the branch and be done.  I just sync my local repo's master. Next time I will create a new branch for any change. Thanks a lot for the reminder!


Issue with black status bar

I have a UI requirement to use a black background color for the status bar. For that, we need to use the status bar tint color as white. Is it possible to do that?

@sandeepbol Your app is also crashing while selecting country after search the country from the list ?

nope @arun-macrew Everything is working fine except this styling.

How are you setting the status bar color? How can the library help? I'm not sure I understand this issue, so kindly explain further.

This is how status bar color is set:
       UIApplication.shared.statusBarView?.backgroundColor = .black
Now time, network provider, etc. is invisible as it's in black color. Since after presenting the CountryPickerView, I do not have control over setting the tintColor, I am looking for help.

Okay, so how are you setting the tint of the status bar items in other parts of the app?

By overriding
    public override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

and in the navigation bar:
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return self.topViewController?.preferredStatusBarStyle ?? .default
    }

Unfortunately, this is not supported.
If you are pushing the picker on your own nav controller stack, in your preferredStatusBarStyle property, you can check the top view controller and return the desired value if it is the picker else proceed with the usual.


fix: normalize AbiFallback.inputs type between abitype and zod

Description
This PR aligns the following AbiFallback.inputs type between Zod schema and abitype
type Left = AbiFallback['inputs']; // readonly []
type Right = z.infer<typeof AbiFallbackSchema>['inputs']; // never[]

After:
type Left = AbiFallback['inputs']; // readonly never[]
type Right = z.infer<typeof AbiFallbackSchema>['inputs']; readonly never[]

Additional Information
Before submitting this issue, please make sure you do the following.

[X] Read the contributing guide
[X] Added documentation related to the changes made.
[X] Added or updated tests (and snapshots) related to the changes made.

PR-Codex overview
Focus of the PR:
This PR focuses on normalizing the AbiFallback.inputs type and zod.
Detailed summary:

Normalize AbiFallback.inputs type and zod
Update packages/abitype/src/abi.ts to use readonly never[] instead of readonly [] for AbiFallback.inputs
Update packages/abitype/src/zod.ts to use z.tuple([]).readonly().optional() for AbiFallback.inputs
Add AbiFallback and AbiFunction to packages/abitype/src/zod.test-d.ts
Update imports in packages/abitype/src/zod.test-d.ts
Add tests for AbiFunction and AbiFallback in packages/abitype/src/zod.test-d.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

I've tested the ABI output of the fallback function on every major solidity compiler and the ABI JSON output does not have the inputs property. I think instead of normalizing the type between TS and Zod we should remove this property all together. I also believe that Vyper doesn't support fallback functions.

So you mean completely removing AbiFallback['input']?

If @tmm agrees I would say so

@Raiden1411 @tmm just wanted to know your opinion about removing fallback from fallback function

@Raiden1411's comment is spot on! Wasn't able to push to this PR for some reason so created a new one here https://github.com/wevm/abitype/pull/248


Unreliable Events Tracking

Describe the Bug
I'm currently tracking two types of events. The first one is working most of the time, the second one isnt responding.

<FaFacebookSquare size={28} className="cursor-pointer" />
<button onClick={showVideo} id="watch-demo" data-umami-event="Demo Video" className="relative">
 Watch a Demo
 </button>

For the first href, it registers most of the time. However for the second one, it only registers sometimes in dev mode (when i deploy it locally) but doesn't register in production (after deploying on vercel). After deployment, Ive confirmed that the "id" and "data-umami-event" is correct in the web inspector.
I have yet to use javascript to track the events, as I'm slightly confused how to use umami.track(). Do i have to yarn add umami to my front end vercel site? Ideally, I'd like to use the data attributes method.
Database
PostgreSQL
Relevant log output
No response
Which browser are you using? (if relevant)
Chrome
How are you deploying your application? (if relevant)
Front End on Vercel (NextJS), Umami fully on Railway.

 Are you intercepting the click event and not letting it pass through. Umami does attribute tracking by using a global click handler.

Hi Mike, thanks for the quick reply and explanation. From there, I checked what it was logging when i clicked. And I realised the issue!
useEffect(() => {
      document.addEventListener("click", function (evnt) {
         console.log(evnt.target)
      })
}, [])

For the second instance of the button, I noticed that it was registering the div inside rather than the button wrapping it, so I put the id and data-umami-event attribute on the button instead and it worked!
However, I then noticed that for the first situation of clicking on a react-icon, it was unreliable as sometimes it was tracking the svg, and sometimes it was tracking the path.
If it tracked correctly it would register this.
<svg id="hi" data-umami-event="hi"><path></path></svg>
Otherwise it would register this, which wouldnt send the event to umami as it doesnt have the attributes.
<path></path>
I suppose its no longer a bug, perhaps more on react-icon's side than umami. But does anyone have any work around for this? I'm not sure how i can cause it to track reliable for the svg.

Ok, I solved the first scenario as well. Adding pointer events none to the svg and adding the umami attributes to the parent works! Hope this is useful to anyone who's facing the same issues. Not sure if its in the docs, but if it isnt, could use this to improve the docs for tracking events. Thanks!

    <FaFacebookSquare size={28} className="pointer-events-none " />


Print stylesheets not working with dev server

[x] I have tried upgrading by running bundle update vite_ruby.
[x] I have read the troubleshooting section before opening an issue.

Description 📖
I'm building a Rails app that includes both screen and print media. When the dev server is running, bin/vite dev, the print styles are loaded onto the page, but the style tag does not include a media attribute, causing the print styles to override the screen styles. With only the Rails server, the styles are correctly loaded with a media attribute.
Reproduction 🐞
Repo with example of the issue

Vite Ruby Info
Run bin/rake vite:info and provide the output:
bin/vite present?: true
vite_ruby: 3.3.4
vite_rails: 3.0.15
rails: 7.0.7
node: v18.12.0
npm: 8.19.2
yarn: 1.22.19
pnpm:
ruby: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]

installed packages:
vite_with_print_media_in_dev@ /Users/arice/dev/EducationAdvantage/vite_with_print_media_in_dev
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
└──<EMAIL_ADDRESS>

Hi Adam!
In order to control the media for styles you should avoid importing CSS from JS, as Vite does not provide a way to configure that.
Use vite_stylesheet_tag with a CSS entrypoint instead.


Add option to override alert priority while raising exception alerts

Right now for all alerts priority is same, the one which is set while initialising the extension. We need to have a param which can override the default priority when raising the exception.

Initially lets address this for the manual exceptions. Gevent needs to be addressed in a different way.


Signup Form Documentation?

Expected content
When attempting to navigate to information about Integrating a Signup Form after creating a Signup Form, we are directed to a page with a missing anchor.
There is no mention of 'forms' on the page to which we are directed.

Hey @SeanSith,
Thanks for the feedback! Was that link in the app itself? Or from another place in the docs?

It was in app.sendgrid.com just after we created a Signup Form through the Marketing section.

@SeanSith,
I've reported this to our product team and they're fixing the link in the app. Thank you for the feedback!


Does this construct have a solve function versioning

Does this construct have a solve for function versioning that takes into account the "builded function code" in order to base the hash off that?

no...
it use "source function code" hash.


MQ Client configuration for SSL with Spring Boot - Provision to provide keystore and trustore

Please include the following information in your ticket.
Could you please also support configuring SSL using user provided keystore using mqclient to connect to Queue Manager. Currently i dont find place to provide keystore,

Use the standard jvm options
-Djavax.net.ssl.keyStore specifies the keystore file.
-Djavax.net.ssl.keyStorePassword specifies the passphrase of the keystore.
-Djavax.net.ssl.trustStore specifies the truststore file to use to validate client certificates.
-Djavax.net.ssl.trustStorePassword specifies the passphrase to access the truststore file

Hey there.
Unfortunately, this option does not work if I am connecting to multiple Queue Managers with different keystores.
In one case, I have read-only authority, in another case, I have authority to send a message.

I would also prefer a dedicated configuration option for that, because I'd like to separate the keys/certificate chain used for MQ from the chain used for the rest...

We're currently solving this with a custom com.ibm.mq.spring.boot.MQConnectionFactoryCustomizer
@Bean
  public MQConnectionFactoryCustomizer mqConnFactoryCustomizer() {
    return new MQConnectionFactoryCustomizer() {
      @Override
      public void customize(MQConnectionFactory factory) {
        try {
          factory.setObjectProperty(CommonConstants.WMQ_SSL_SOCKET_FACTORY, createSSLSocketFactory());
        } catch (Exception e) {
          throw new IllegalStateException("Adding SSLSocketFactory to WebSphereMQ Factory failed", e);
        }
      }
    };
  }

The createSSLSocketFactory method reads keystore and trustore from files provided in the configuration and creates a SSLSocketFactory instance using them.
config basically looks like that:
ibm.mq:
  jks:
    keystore:
      path: mykestore.jks
      password: 'awesome password'
    truststore:
      path: ${ibm.mq.jks.keystore.path}
      password: ${ibm.mq.jks.keystore.password}

I'd like to contribute that to the project but i'm not sure wether the CustomizerApproach is ok for that.
It's probably preferable to adjust com.ibm.mq.spring.boot.MQConnectionFactoryFactory
so @ibmmqmet What do you prefer?

Putting something in the customizer method is definitely wrong for core code - that method should only be used by user-level configuration like you have done for yourself. Permanent changes would belong in the MQConnectionFactoryFactory.
The problem I've seen with some of the TLS configuration options is that different JREs might have different JSSE providers, and hence you might need further configuration on which provider class to invoke to get at the real SocketFactory. And then the options on how to set properties like the keystore. That's why I've preferred to delegate/ignore the problem and allow it to be set at the more global level for the Spring application. Usually with -Djavax.net.. options on startup.
But I'm always open to looking at alternatives if they don't make assumptions about the environment. Perhaps doing it more simply with a configuration method that does things like System.setProperty("javax.net.ssl.keystore"...) is preferable.


wal colors dont transfer over to new terminals

See: https://github.com/dylanaraps/pywal/wiki/Getting-Started#applying-the-theme-to-new-terminals

thanks :D