97 readme tests

Description
Please include a summary of the changes.
Fixes # (issue)
Instructions for Reviewer
In order to test the code in this PR you need to ...
Please pay special attention to ...
Checklist:

[ ] I have refactored my code out from notebooks/
[ ] I have checked the code runs
[ ] I have tested the code
[ ] I have run pre-commit and addressed any issues not automatically fixed
[ ] I have merged any new changes from dev
[ ] I have documented the code

[ ] Major functions have docstrings
[ ] Appropriate information has been added to READMEs

[ ] I have explained this PR above
[ ] I have requested a code review

@lizgzil feel free to review the readme - if you have any github actions based suggestions, feel free to make those changes to this branch!


Use TaskGroups instead of array of tasks

Rationale for this comes from this thread https://forums.swift.org/t/taskgroup-vs-an-array-of-tasks/53931
Apparently launching a lot of Tasks just like that is not very good, and we should use task groups instead.
I did not test the performance implication of this change, though. Maybe it’s actually worse because of the additional sort needed. In theory it should be better though.

Instead of sorting does it make sense to do something like:
var results = Array<T?>(repeating: nil, count: self.count)
...
for try await result in group {
    results[result.offset] = result.value
}
return results.compactMap { $0 }

@AndrewBarba I’d say yes. And it’s probably faster too. I’ll push your alternative.

Done. However, count is not available in a generic Sequence, so I have to grow the result array as I retrieve the results. I’m not sure we actually gain anything compared to the sort solution. We should measure both solution to find the fastest.
Previous implementation is still available here 1105df4.

You’re not wrong. I have pushed your method.

Fully support these changes. Not only will it make the functions more performant, but it will ensure each function  participates in Task cancellation inheritance correctly.


Resync kube upstream and fix SBT build

Only unclean cherry picks were:

https://github.com/palantir/spark/pull/208/commits/125ec71ab65fb321393dc57192eff36904ba3562
https://github.com/palantir/spark/pull/208/commits/3e1d3ed95c2f82818c1c920c347ae0c63cd69aa5

Please pay special attention to the later commits:

"Fix sbt build" (trickiest conflict resolution)
"Handle Spark-internal API breaks for k8s shuffle service" (accommodates API breaks between k8s spark and apache spark master)

4128 [error] /home/ubuntu/spark/resource-managers/kubernetes/core/target/java/org/apache/spark/scheduler/cluster/kubernetes/SchedulerAffinity.java:5: error: unexpected text^M
4129 [error]  * @see https://kubernetes.io/docs/concepts/configuration/assign-pod-node^M
4130 [error]    ^^M

@mccheah @robert3005 good to merge?
This now does two things:

resync kube upstream
fix SBT build

This has been flaky, but notice from https://circleci.com/gh/palantir/spark/tree/resync-kube-upstream that build 910 passed even though later build 912 failed, all on the same commit 60dd793


Feat: add service start up duration in log

In other EdgeX services, we can always see the log like:

Service started in: 2.729020742s

However, app-service-configurable doesn't print this log message.

add @cherrycl for awareness

All other service have use the message bootstrap handler which logs this information.
https://github.com/edgexfoundry/edgex-go/blob/a7fc36b9b3e04c465199d9026bf92f5d2cd5f3b5/internal/core/command/main.go#L80
Should be as simple as adding this to the SDK's call to bootstrap.RunAndReturnWaitGroup()


How to import?

I added the library using cocoapods but i cant use it, xcode does not find the module to import SwiftyUserDefaults

Just had this, make sure you do a build in xcode, then the import statement will autocomplete

Yes now its working thanks!


Take and upload a screenshot of the barcode when it's recognized

Take and upload a screenshot of the barcode when it's recognized
We have too many errors in barcodes. Having a screenshot taken at the moment of the barcode recognition would enable us to correct the barcode afterwards.
Related discussion on the upstream library: https://github.com/journeyapps/zxing-android-embedded/issues/183

@teolemon So, when a new barcode is scanned and after the user fills the details and images, both the barcode image and image upload too. Right?

I would like to pursue this. Is somebody already working on this issue?


Account.getTransactionHistory: unconfirmed time -1 sorts as oldest tx

Timestamp -1 for unconfirmed txs sorts most recent transaction as the oldest one, suggest using<PHONE_NUMBER> instead

@dashameter can you run the released sdk in the tests once the new branch has been released and close if no issues?

@dashameter can you run the released sdk in the tests once the new branch has been released and close if no issues?

will retest once released in the next sdk version

@dashameter can you run the released sdk in the tests once the new branch has been released and close if no issues?

will retest once released in the next sdk version

Please retest with SDK v3.21.8

retest passed


Issue with automatic source detection

I found a couple of issues with the EWP tool in which I need some help.

I noticed that the it does not detect *.asm and *.s51 assembly source files. Even if I have to migrate the Assembly source code on these files, I would like to have my project populated with them, since dozens of files are involved.

I noticed that the tool also populates the project with *.a libraries. This is counterproductive as pre-compiled libraries aren't really source code. I understand that adding a library as a node in the source tree will work when building the project. But I rather prefer to have the libraries set manually. There were several cases in which I had to remove many libraries which were unsuitable for the Release configuration and vice-versa.

I am using EW8051 version 10.40.1, which has the "Project Connection" feature available.
Thx.

Hi @sharpgeek,
Thank you for this great feedback.
It is true that the architectures relying on the XLINK technology use different extensions for their assembly source files.
We plan to add support for more extensions soon on the next release so you can benefit from it.
We will take your requests into consideration.
I will leave this ticket open so you can get a notification when we merge the related update.
Stay tuned.
Best regards.


Setting group as dynatrace_owner?

Hello,
I'm not sure if this was coded intentionally or it is a mistake. Line 89 in recipes/wsagent_package.rb is setting group of dtwsagent.ini as dynatrace_owner.
When I apply the recipe it fails since the owner attribute I override is not recognised as a group on the OS.
Sorry if this has already been discussed and thanks for reply.
Francesco

I'm experiencing a strange behaviour.
If I override only the owner attribute (say I set it to "dtuser") and run the cookbook, I encounter no error. But I found out that the recipe creates two groups, one named "dtuser" and another named "dynatrace" (the default group attribute value).
Instead, if I override both the owner and the group (say I set them to "oracle" and "dba" respectively), the recipe hangs on line 89, saying it cannot find "oracle" group.
Why this is happening? I do not understand both behaviours.
Many thanks.
Francesco

Thanks @giglio91 for filing this issue. We'll have a look at it, stay tuned!

There was an error while setting the group for the dtwsagent.ini file (see commit270ceea365). Fix committed to master, 6.3 and 6.5 branches.

Thanks a lot @metmajer @pozieblo. I saw you released a lot of features today, I'll try the new cookbook asap. Good work!


Update experiment manager package so different engines can register themselves

Following the approach in engines/experiment/runner. This is so that Turing API (the user of experiment managers)
does not need direct reference to the available experiment managers in the Go code.

Resolved by #15


Greys ~ CSS

makes masthead buttons grey
makes links grey sitewide
makes main page background grey, and each content pane a "panel" with a white background.

Sans a few nit picks…

thanks for code review @sukima :D

I removed the page2 css problem directly on master just now since it had already been reverted :sparkles:

Do we also want the gray background for individual blog posts too? I just noticed that's the only part of the site where it isn't showing up.


Ability to put jobs in paused state

I am using DJ with Mongoid and RailsAdmin so it's very easy for me to carefully edit the job (change the cron expression).  It would be nice to have boolean "active" flag so that I could pause the job via browser.

If you could write a pull request for that, I would be pleased to merge this feature.

Closed because of inactivity.


Speedometer: Adding closing of tabs function to teardown to avoid ove…

…rloading the browser

Please fix the commit message.


lxc doesn't boot anymore.

Distribution: ubuntu
Distribution version: 18.04.4
The output of "lxc info" or if that fails:

Kernel version: 4.15.0-91-generic
LXC version:
LXD version: 3.23 (snap)
Storage backend in use: lvm (xfs)

Issue description
lxd fail to start. I think the problem is related to some update watch during the starting process.
No container starts and I can't use lxc command.
Here the /var/snap/lxd/common/lxd/logs/lxd.log output. It's looping.
t=2020-03-24T09:13:07+0100 lvl=info msg="LXD 3.23 is starting in normal mode" path=/var/snap/lxd/common/lxd
t=2020-03-24T09:13:07+0100 lvl=info msg="Kernel uid/gid map:"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - u 0 0<PHONE_NUMBER>"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - g 0 0<PHONE_NUMBER>"
t=2020-03-24T09:13:07+0100 lvl=info msg="Configured LXD uid/gid map:"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - u 0 1000000<PHONE_NUMBER>"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - g 0 1000000<PHONE_NUMBER>"
t=2020-03-24T09:13:07+0100 lvl=info msg="Kernel features:"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - netnsid-based network retrieval: no"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - uevent injection: no"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - seccomp listener: no"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - seccomp listener continue syscalls: no"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - unprivileged file capabilities: yes"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - cgroup layout: hybrid"
t=2020-03-24T09:13:07+0100 lvl=warn msg=" - Couldn't find the CGroup memory swap accounting, swap limits will be ignored"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - shiftfs support: disabled"
t=2020-03-24T09:13:07+0100 lvl=info msg="Initializing local database"
t=2020-03-24T09:13:07+0100 lvl=info msg="Starting /dev/lxd handler:"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - binding devlxd socket" socket=/var/snap/lxd/common/lxd/devlxd/sock
t=2020-03-24T09:13:07+0100 lvl=info msg="REST API daemon:"
t=2020-03-24T09:13:07+0100 lvl=info msg=" - binding Unix socket" inherited=true socket=/var/snap/lxd/common/lxd/unix.socket
t=2020-03-24T09:13:07+0100 lvl=info msg=" - binding TCP socket" socket=[::]:8443
t=2020-03-24T09:13:07+0100 lvl=info msg="Initializing global database"
t=2020-03-24T09:13:07+0100 lvl=info msg="Firewall loaded driver \"xtables\""
t=2020-03-24T09:13:07+0100 lvl=info msg="Initializing storage pools"
t=2020-03-24T09:13:07+0100 lvl=info msg="Applying patch \"storage_rename_custom_volume_add_project\""
t=2020-03-24T09:13:07+0100 lvl=info msg="Skipping already renamed custom volume \"default_####data\" in pool \"data\""
t=2020-03-24T09:13:07+0100 lvl=info msg="Skipping already renamed custom volume \"default_####Virtual\" in pool \"data\""
t=2020-03-24T09:13:07+0100 lvl=info msg="Skipping already renamed custom volume \"default_####data\" in pool \"data\""
t=2020-03-24T09:13:07+0100 lvl=info msg="Skipping already renamed custom volume \"####virtual\" in pool \"data\""
t=2020-03-24T09:13:07+0100 lvl=info msg="Skipping already renamed custom volume \"####virtual\" in pool \"data\""
t=2020-03-24T09:13:08+0100 lvl=info msg="Renaming custom volume \"####report\" in pool \"data\" to \"default_####report\""
t=2020-03-24T09:13:19+0100 lvl=eror msg="Failed to start the daemon: Failed applying patch \"storage_rename_custom_volume_add_project\": Failed to run: lvrename /dev/lxcDATA/custom_####report /dev/lxcDATA/custom_default_####report: Existing logical volume \"custom_####report\" not found in volume group \"lxcDATA\""

@esosan this is being caused by the custom volumes in projects upgrade patch failing.
Please can you show me the output of the lvs command on your system please.
Also, are you using the LVM volume group for non-LXD volumes by any chance?

Hi tomponline, here my las output.
There is a LVM VG. The VG used by lxc it's a nested LVM.

LV                                    VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
containers_####--PROD                 lxc     -wi-a-----  11.00g
containers_####--mgnl--auth--PROD     lxc     -wi-a-----  11.00g
containers_####--mgnl--pub--PROD      lxc     -wi-a-----  11.00g
containers_awstats                    lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  24.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####--PROD                 lxc     -wi-a-----  11.00g
containers_####--PROD                 lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_mgnl--####                 lxc     -wi-a-----  11.00g
containers_####db                     lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####--auth--PROD           lxc     -wi-a-----  11.00g
containers_####--pub--PROD            lxc     -wi-a-----  11.00g
containers_####                       lxc     -wi-a-----  11.00g
containers_####--gtw--PROD            lxc     -wi-a-----  11.00g
containers_####--PROD                 lxc     -wi-a-----  11.00g
custom_default_####                   lxcDATA -wi-a-----   5.00g
custom_default_####                   lxcDATA -wi-a-----  15.00g
custom_default_####                   lxcDATA -wi-a-----   2.00g
custom_default_####--auth--virtual    lxcDATA -wi-a-----  11.00g
custom_default_####--pub--virtual     lxcDATA -wi-a-----  11.00g
backup                                vg      -wi-ao----  60.00g
####ASSETS                            vg      -wi-ao---- 500.00m
####VIDEO                             vg      -wi-ao---- 600.00g
home                                  vg      -wi-ao---- <10.00g
lxc00                                 vg      -wi-ao----  50.00g
lxc01                                 vg      -wi-ao----  50.00g
lxc02                                 vg      -wi-ao----  50.00g
lxc03                                 vg      -wi-ao----  30.00g
lxc04                                 vg      -wi-ao----  60.00g
lxc05                                 vg      -wi-ao---- 100.00g
lxcDATA00                             vg      -wi-ao----  50.00g
lxcDATA01                             vg      -wi-a-----  50.00g
sambashare                            vg      -wi-ao----   5.00g
swap                                  vg      -wi-ao----  15.00g

@esosan so what appears to be the issue is that in your LXD database you have a custom volume called ####report which would expect to have an associated LVM volume called custom_####report in your lxc volume group.
As per the new custom volumes in projects feature the patch is attempting to rename the custom_####report LVM volume to custom_default_####report, but from your lvs output I can see that the expected custom_####report volume doesn't exist.
Is it possible that the custom volume has been removed in the past manually from the volume group and the database entry left in LXD?

@esosan in that output you also seem to have multiple logical volumes in the same volume group sharing the same name, this shouldn't be possible, is that a direct dump of lvs output?

@tomponline I can mail you the original output to<EMAIL_ADDRESS>?

@esosan yes that would be fine thanks

@esosan ah, so have you artificially blanked out some of the LV names to avoid publicly posting them?

@esosan please can you also send me the unredacted error log from LXD

done

@esosan so I didn't get your unredacted LXD error log, but looking at your unredacted lvs output I can see that there is no logical volume ending in report so I suspect the issue is that at some point a logical volume has been removed manually rather than deleting it through LXD's cli, and as such LXD doesn't know it has gone. This is why the rename is failing.
If you could send me the unredacted error log I can advise which logical volume you need to manually re-create.

I'm not really sure because this server was online for a very long time. But it seems strange to me to have manually removed the volume. I just mounted the container volume and the report directly exists and it's full of updated data.

@esosan thanks for the log, so its as I thought, the logical volume has been manually deleted at some point and LXD doesn't know about that.
So I suggest re-creating the volume manually so that LXD can rename it and start cleanly.
Full name has been redacted.
Size doesn't matter if you are going to delete it later (via lxc storage volume delete <pool> <volname>)
sudo lvcreate -n custom_###creport -L 1G lvm

However I am interested that you say you can still mount the report volume, can you show me how you do that?
Then if LXD starts, if you truly don't need that

Sorry for the misunderstanding. I have mounted the container root volume: the supposed directory that mount report volume have is files. I did it to see if the report was still in use.

GREAT! All the container are coming back online!
Thank you very much @tomponline.
I really appreciate your commitment to this project!

@esosan excellent, glad that resolved the issue!

I'm having the same problem, but haven't used LVM for my volumes. I do use BTRFS and have automated snapshots.

@rldleblanc can you send the full output of the lxd startup logs please so we can see what it is trying to rename.

It is trying to rename snapshots that I did remove. There could be hundreds of them... :( If I have to restart the daemon after every one to find the next one, that will be sad. Can I edit the database directly to drop those snapsots?

@rldleblanc please can you enable debug logging so I can get a picture of what it is trying to do.
And you're saying that you've removed snapshots manually rather than using LXD cli? Thanks

sudo snap set lxd daemon.debug=true
sudo systemctl reload snap.lxd.daemon

Or at least query the database to generate all the snapshots in a loop. I thought I was using LXD cli, but I must have not been. I sent the logs to your e-mail.

You can get an idea of roughly what's in the DB with:
sqlite3 /var/snap/lxd/common/lxd/database/global/db.bin "SELECT * FROM storage_volumes;"

But note that this is a convenience read-only DB dump, making changes to it will not help.
In generate the best option is to manually re-create what's missing and then properly delete it through the LXD API.
If not an option, then you can write a SQL patch file at /var/snap/lxd/common/lxd/database/patch.global.sq which will be run by LXD on startup, but that's obviously far riskier as it's easy to accidentally remove the wrong records.

Thanks @rldleblanc the issue looks like this volume mythtv_data/mythtv.mythtv_data.2019-11-05_06:34:59 because it contains a / in the name (which is supposed to be exclusively used to indicate a snapshot volume).  Let me see how this could occur.

thanks @stgraber  yes @rldleblanc it would be good to get a copy of what in your LXD database for comparison too.

I had just found the db and installed squlite when @stgraber mentioned it. At least that way I can generate all the snapshots again. Sending the db to your e-mail.

@rldleblanc I would hold off making any DB or storage changes right now, as it may not be missing snapshots. A copy of the  storage_volumes table would be useful.

I did remove all those snapshots as they were holding too much storage for very transient data.

The '/' in the name allowed me to group snapshots for containers into subdirectories.

@rldleblanc ok so what is confusing me right now is that the parent volume mythtv_data has a vol type of 2 meaning custom, which is expected.
However the snapshots should not have been returned as part of the DB query when selecting custom volumes to rename.
id|name|storage_pool_id|node_id|type|description|project_id
56|mythtv_data|4|1|2||1

The snapshots are held in a separate table
select * from storage_volumes_snapshots where storage_volume_id = 56;
id|storage_volume_id|name|description
5874|56|mythtv.mythtv_data.2019-11-05_06:34:59|
5892|56|mythtv.mythtv_data.2019-11-06_06:35:21|
5910|56|mythtv.mythtv_data.2019-11-07_06:34:13|
5928|56|mythtv.mythtv_data.2019-11-08_06:34:42|
5946|56|mythtv.mythtv_data.2019-11-09_06:34:09|
5964|56|mythtv.mythtv_data.2019-11-10_06:35:22|
5982|56|mythtv.mythtv_data.2019-11-11_06:34:07|
6000|56|mythtv.mythtv_data.2019-11-12_06:35:07|
6018|56|mythtv.mythtv_data.2019-11-13_06:33:52|
6036|56|mythtv.mythtv_data.2019-11-14_06:35:14|
6054|56|mythtv.mythtv_data.2019-11-15_06:34:07|
6072|56|mythtv.mythtv_data.2019-11-16_06:35:40|
6090|56|mythtv.mythtv_data.2019-11-17_06:34:09|
6108|56|mythtv.mythtv_data.2019-11-18_06:36:31|
6126|56|mythtv.mythtv_data.2019-11-19_06:34:27|
6144|56|mythtv.mythtv_data.2019-11-20_06:35:05|
6162|56|mythtv.mythtv_data.2019-11-21_06:35:29|
6180|56|mythtv.mythtv_data.2019-11-22_06:35:06|
6198|56|mythtv.mythtv_data.2019-11-23_06:36:43|
6216|56|mythtv.mythtv_data.2019-11-24_06:37:32|
6234|56|mythtv.mythtv_data.2019-11-25_06:34:43|
6252|56|mythtv.mythtv_data.2019-11-26_06:36:32|
6270|56|mythtv.mythtv_data.2019-11-27_06:34:16|
6288|56|mythtv.mythtv_data.2019-11-28_06:36:18|
6306|56|mythtv.mythtv_data.2019-11-29_06:37:14|
6324|56|mythtv.mythtv_data.2019-11-30_06:34:18|
6342|56|mythtv.mythtv_data.2019-12-01_06:35:30|
6360|56|mythtv.mythtv_data.2019-12-02_06:32:18|
6378|56|mythtv.mythtv_data.2019-12-03_06:33:39|
6396|56|mythtv.mythtv_data.2019-12-04_06:32:12|

@rldleblanc im going to try and re-create this locally and see if the query is not doing the right thing.

@rldleblanc I think this is caused by a bug in the database query used to select the custom volumes to rename, it is currently returning snapshots too. I'm not sure whether the the function used to retrieve the custom volumes is at fault or whether that was expected, but I've added a fix to this patch to ignore any snapshots returned by the function.
I've asked @stgraber and @freeekanayaka whether the DB function itself needs changing also.

Thanks for digging into this, anything I can do on may end to get the environment up?

I tried to downgrade, but the scheme change prevented a start up.

@rldleblanc its a bit tricky, but if you rename the BTRFS directories in storage-pools/<pool>/custom/ to have the prefix default_, and likewise the directories in storage-pools/<pool>/custom-snapshots/ to also have a prefix of default_ then the patch should detect this and skip over them.

It is skipping those directories, but it's still trying to change the non-existent snapshot.

Not sure how to manually patch the patch file in your PR. I guess I'll have to wait for a new build.

Can you mail me the new error ur getting please?

I downloaded the edge version of the snap and it started up, my containers are running again. I'd like to move back to stable once this is included.

We have the fix in candidate now and it will be in stable in the next hour hopefully.

I had to create all the missing btrfs snapshots (since snaps are just subvolumes, I just created empty subvols) then I could delete them all through LXD (failed to remove a snapshot if it didn't exists). Easy enough to do with some oneliners now that LXD is running. Thanks, I'll keep an eye out for it and move back to stable.


Resolve VETEXT_SID issue

Value Statement
Every time a push notification is sent we check if the task definition has set the mobile app registry sids (VETEXT_SID and VA_FLAGSHIP_APP_SID). Add the VeText prod appSid to our task definitions and optimize out the work with MobileAppRegistry and MobileApp.
Acceptance Criteria

Add the task definition for VETEXT_SID in prod
Clean up MobileAppRegistry, it should not need to be initialized

Checklist

[ ] Acquire a prod appSid from VETEXT
[ ] Add prod appSid to task definition
[ ] Remove excessive environment calls
[ ] Remove unnecessary instantiation
[ ] Update tests

Additional Info/Resources

Init of MobileAppRegistry probably doesn't need to be instanced.
Push notification area to clean up.

Should have a default return instead of logic within the push notification to get the default:

Hey team! Please add your planning poker estimate with ZenHub @EvanParish @ianperera @jakehova @jessecanderson @k-macmillan @kalbfled

@kalbfled FYI - let's be sure to not do this in ENP for Push.

@cris-oddball Can you revise/spin up a new ticket? Thank you!


chore(ci): update semantic release version

Coverage: 100.0%. Remained the same when pulling 4b0ccebc40511f80aded106d04acb4dc87c2d8b6 on semantic-version into 9a0fa01a2cfed9d152227aee1944d4585df2fe5a on main.


[Question] Single sign out doesn't seem to work

Hello,
I followed this link:
https://brockallen.com/2016/02/08/single-sign-out-and-identityserver3/
and
https://identityserver.github.io/Documentation/docsv2/advanced/signout.html
and using the samples for my testing.
Server: https://github.com/IdentityServer/IdentityServer3
Client: https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients/MVC%20OWIN%20Client

Start the Identity Server with port 44333 (https)
Opening the client in two different browsers: one in Chrome, another in Edge (https)
Both is logged in with username: alice (get from identity server)
Logged out from Chrome
Refresh the page in Edge -> alice is still logged in

I think the client in Edge browser have to be logged out as well as it is expected with the single sign out.
I don't now if I misunderstood or not.
Please help to point out
Thank you.

At the end of the day the session is still denoted by a cookie so any sign out will only affect the browser it occurred in. Of course you could implement some kind of server-side session storage which has the ability to control all sessions for a given user but that would have to be something you built yourself I think.

At the end of the day the session is still denoted by a cookie so any sign out will only affect the browser it occurred in

What @mackie1001 says.


Show toolchain list only once when the -i/--installed flag is provided

Here's the output of running cargo sweep -r -i:
[INFO] Using all installed toolchains: ["stable-2022-09-22-x86_64-unknown-linux-gnu", "stable-x86_64-unknown-linux-gnu", "nightly-2022-06-20-x86_64-unknown-linux-gnu", "nightly-2022-08-06-x86_64-unknown-linux-gnu", "nightly-x86_64-unknown-linux-gnu", "1.35.0-x86_64-unknown-linux-gnu", "1.57.0-x86_64-unknown-linux-gnu", "1.58.1-x86_64-unknown-linux-gnu", "1.59.0-x86_64-unknown-linux-gnu", "1.60.0-x86_64-unknown-linux-gnu", "1.61.0-x86_64-unknown-linux-gnu", "1.63.0-x86_64-unknown-linux-gnu", "1.64.0-x86_64-unknown-linux-gnu", "1.65.0-x86_64-unknown-linux-gnu"]
[INFO] Cleaned 0.00 bytes from "/home/marcospb19/PROJECT_1/target"
[INFO] Using all installed toolchains: ["stable-2022-09-22-x86_64-unknown-linux-gnu", "stable-x86_64-unknown-linux-gnu", "nightly-2022-06-20-x86_64-unknown-linux-gnu", "nightly-2022-08-06-x86_64-unknown-linux-gnu", "nightly-x86_64-unknown-linux-gnu", "1.35.0-x86_64-unknown-linux-gnu", "1.57.0-x86_64-unknown-linux-gnu", "1.58.1-x86_64-unknown-linux-gnu", "1.59.0-x86_64-unknown-linux-gnu", "1.60.0-x86_64-unknown-linux-gnu", "1.61.0-x86_64-unknown-linux-gnu", "1.63.0-x86_64-unknown-linux-gnu", "1.64.0-x86_64-unknown-linux-gnu", "1.65.0-x86_64-unknown-linux-gnu"]
[INFO] Cleaned 0.00 bytes from "/home/marcospb19/PROJECT_2/target"
... repeats for a total of 26 projects ...

But here's what the first line looks like in the terminal emulator:
[INFO] Using all installed toolchains: ["stable-2022-09-22-x86_64-unknown-linux-gnu", "stable-x86_64-unknown-linux-gnu", "nightly-2022-06-20-x86_64-unknown-linux-gnu", "nightly-2022-08-06-x86_64-unknown-linux-gnu", "nightly-x86_64-unknown-linux-gnu", "1.35.0-x86_64-unknown-linux-gnu", "1.57.0-x86_64-unknown-linux-gnu", "1.58.1-x86_64-unknown-linux-gnu", "1.59.0-x86_64-unknown-linux-gnu", "1.60.0-x86_64-unknown-linux-gnu", "1.61.0-x86_64-unknown-linux-gnu", "1.63.0-x86_64-unknown-linux-gnu", "1.64.0-x86_64-unknown-linux-gnu", "1.65.0-x86_64-unknown-linux-gnu"]
My home dir has 26 projects, so this gets shown 26 times, making the output unreadable.

IMHO the toolchain list should be shown only once if the -i/--installed flag is provided.

Yes, makes sense to me :) I think the way to avoid this is to move this rustup_toolchain_list call: https://github.com/holmgr/cargo-sweep/blob/57a72021ee1b4cd9c27afff004a1d98d21835d62/src/fingerprint.rs#L407-L415
out of the project loop: https://github.com/holmgr/cargo-sweep/blob/42cf364d1615e85bc1b5a0e3a47c2e73ffc076fa/src/main.rs#L250-L252
As a bonus, that will avoid calling rustup once for each project.

Oops, this needs to be reopened, #87 would fix this but I reverted the commits as requested because the PR was too big, so this issue isn't fixed.


fix: correctly deserialize undefined

  Open in CodeSandbox Web Editor | VS Code

Hi @kiliman, what a wonderful project!
While reading through the source code, I spotted a minor bug with the
serialisation of undefined. This PR fixes that.

Awesome. Thanks!


boards: Add CI build instructions to STM32MP1 board

Signed-off-by: Milosz Wasilewski<EMAIL_ADDRESS>

Docs for ce3efb7e92e3b8daa182e54349ea00fe42e4d709 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/1203/docs/artifacts/html/index.html

Docs for e3f3b72ce43df00ebdb31694382d22dd1d5e5e9e are browesable at: https://ci.foundries.io/projects/fio-docs/builds/1252/docs/artifacts/html/index.html

@kprosise should I fix the broken link? it's not a part of this patch, so maybe it should be fixed separately?

@mwasilew the broken link was already fixed in master, if you rebase your PR it should go away

Docs for 8bf80b5c25a2148de025d23015620a441b8f7c04 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/1315/docs/artifacts/html/index.html

Should I merge it or will @kprosise do that?


Command "/vagga/bin/apk" "--allow-untrusted" "--initdb" "add" "--force" "/vagga/bin/alpine-keys.apk"; environ[4]>: error when executing: No such file or directory (os error 2)?

Hi, I got this error when running every example?
My system is openSUSE 42.3(Linux4.4.92 x86-64).
/home/mxo/Downloads/cache/vagga/examples/firefox
 D/c/vagga/e/firefox ╍ vagga firefox
ERROR:vagga::builder: Error building container "browser": step Ubuntu("xenial") failed: Error running <Command "/vagga/bin/apk" "--allow-untrusted" "--initdb" "add" "--force" "/vagga/bin/alpine-keys.apk"; environ[4]>: error when executing: No such file or directory (os error 2)
ERROR:vagga::wrapper: Error executing _build: Builder exited with code 1
Command <Command "/proc/self/exe" "__wrapper__" "_build" "browser"; environ[4]; uid_map=[UidMap { inside_uid: 0, outside_uid: 1000, count: 1 }, UidMap { inside_uid: 1, outside_uid: 100000, count: 65535 }]; gid_map=[GidMap { inside_gid: 0, outside_gid: 100, count: 1 }, GidMap { inside_gid: 1, outside_gid: 100000, count: 65535 }]> exited with code 124
 D/c/vagga/e/firefox                                                                                (121)

You need to run vagga from a directory which has also busybox and apk. It looks like you don't. Do you? This is the reason why cargo install doesn't work for vagga.
You need to use vagga (download binary) to build vagga, or try make in the source folder, and you can take a look at install.sh to see what's should be installed.

Oh, thanks you very much.


Fix #244: Response codes for exceptions

Handles uploading exceptions and responds with appropriate status

Nice :) Thanks!

:dancer:


Workspace - User can navigate to deleted workspace editor while offline

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

Version Number: v9.0.78-4
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Action Performed:

Create a workspace
Navigate to the workspace and enable workflows
Go to connect bank account and copy the URL
Go offline
Delete the workspace
Send the copied URL in any chat
Click on it to navigate to the editor
Change any value while offline

Expected Result:
User should not be able to navigate to workspace editor after the workspace has been deleted (as in PR #27743)
Actual Result:
User is able to navigate to workspace editor in a deleted workspace while offline
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/ba34b5b1-4334-4286-935c-0dc480049dd7
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
User is able to navigate to workspace editor in a deleted workspace while offline
What is the root cause of that problem?
The condition to display not found page now doesn't check the policy is pending delete
https://github.com/Expensify/App/blob/56e35ce5f0d88551149f1b21b7a8f39ee42a0bf3/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx#L436-L439
What changes do you think we should make in order to solve the problem?
We should display not found page if the policy is pending delete
if (!isLoading && (isEmptyObject(policy) || !PolicyUtils.isPolicyAdmin(policy) || PolicyUtils.isPendingDeletePolicy(policy))) {

https://github.com/Expensify/App/blob/56e35ce5f0d88551149f1b21b7a8f39ee42a0bf3/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx#L436-L439
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

What alternative solutions did you explore? (Optional)
NA
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Updated proposal to fix other places if we want to fix this here.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Workspace - User can navigate to deleted workspace editor while offline
What is the root cause of that problem?
We already show not found page for pending delete for both WorkspaceInitialPage
https://github.com/Expensify/App/blob/12e0941f859c61385baa4b05e7513b0bd04b1d1f/src/pages/workspace/WorkspaceInitialPage.tsx#L351
and WorkspacePageWithSections
https://github.com/Expensify/App/blob/12e0941f859c61385baa4b05e7513b0bd04b1d1f/src/pages/workspace/WorkspacePageWithSections.tsx#L163
but that only happens in online mode b/c shouldShowPolicy returns true for pending delete workspaces for offline case
https://github.com/Expensify/App/blob/12e0941f859c61385baa4b05e7513b0bd04b1d1f/src/libs/PolicyUtils.ts#L218-L223
this behaviour is correct for WorkspaceListPage here because we want to show the pending delete workspace in offline mode but not in these places.
What changes do you think we should make in order to solve the problem?

We should first rename isOffline param of shouldShowPolicy to shouldShowPendingDeleteWorkspace then we pass false for the shouldShowPolicy we are using in
https://github.com/Expensify/App/blob/12e0941f859c61385baa4b05e7513b0bd04b1d1f/src/pages/workspace/WorkspacePageWithSections.tsx#L154-L155
and additionally here to display not found for the case of worspace inital setting page
https://github.com/Expensify/App/blob/12e0941f859c61385baa4b05e7513b0bd04b1d1f/src/pages/workspace/WorkspaceInitialPage.tsx#L347-L348
And additionally for WorkspacePageWithSections there is a problem of offline indicator showing on the top of the page for small screen (because we shouldForceFullScreen that will make the view fixed position and it distorts the normal display of the offline indicator on the bottom of the screen)  so as we don't show the wide screen offline indicator when not found page is displayed here we can make it consistent with it and disable the small screen offline indicator when displaying not found page so add
            shouldShowOfflineIndicator={!shouldShow}

but if we want to show offline indicator when displaying not found page in WorkspacePageWithSections like we do in WorkspaceInitialPage we can make the shouldForceFullScreen here to apply only to large screens (!shouldUseNarrowLayout or !isSmallScreenWidth) because we don't need it for small screen and the offline indicator will display in the bottom correctly.
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
What alternative solutions did you explore? (Optional)


urgent: low loss but very bad predictions on my dataset

I have tried on  5  images each having around 2000 of annotated rbc. I am running the model : as first
with 3 warm up epoch then with 100 epochs. Also I have tried all the learning rates from 1e-3 to 1e-8.
1e-3 and 1e-4 are generating nan loss while 1e-5 onwards are generating results in a pattern as seen in the image. Also the loss is very low around 0.1 but still no prediction.

I have followed the exact details in READ ME section but still I am getting wrong result.
Please help because I am not able to figure out the problem.

reason of detection failure
reason of formation of these patterns

Look the pattern in your predicted image, your YOLO has a grid size of 13x13, and if you are using the defaults anchors, this means that you have 5 anchors for each cell, which implies that your network can predict at max 845 objects in a single image.
You should create a custom network with a bigger grid size.

thank you for the reply. but i have 1 question. I am new to ML so can you please tell me from where I can change the grid size.

@rodrigo2019 thank you sir, I understood how to change the grid size and input size. but again the result is not improving. Now it does show more numbers of circles as prediction boxes but its not predicting correctly. Its showing any random predictions. can you tell me where I might be doing wrong.

@rodrigo2019 Okay I solved it by giving more number of epochs and setting input_size and train times correctly. thank you for your help.


ParseError syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')'

I was just about to test the package, but it gives me this error in \vendor\optimistdigital\nova-menu-builder\src\Nova\Resources\MenuResource.php:44
Laravel Nova 3.11.1
Php 7.3.19
Any way to fix this ?

Hi! Sorry, I accidentally used PHP 7.4 syntax in there. Fixed it in version 4.0.2.


[DO NOT MERGE] Messing with the Message Index

I need to know what scrutinizer thinks about the commit. ;D

I'm closing this one since in the meantime I have other ideas I think.


Add a "copy to clipboard" icon to the langchooser

This change adds a copy icon to the upper right of the langchooser,
and copies the selected code body to the clipboard when clicked.
This is part of pulumi/docs#1023. I do think we should explore whether
we can use this in other places -- e.g., none of the API docs samples
will benefit from this because they don't use the langchooser -- but
doing so is a little more complex. We could just look for  elements, but it's not clear, visually, where we'd
put the icon. Perhaps floating with a negative offset in the upper
right would work, but there are also plenty of
elements we probably wouldn't want this for.

@joeduffy, if you'd like, I can take care of fixing the merge conflicts and addressing the feedback this week.

Sounds great, I appreciate it!

Replaced by #1363


Added lazy loading in /about page

Added Lazy Loading in About Page

Closes #532

I'm unfamiliar with the changes here to the Gemfile. What do these packages do?

I am currently on a windows machine, so to make it work on my local. I added those packages. I have mentioned the stackoverflow link in the comment.

Okay. That's fine for your setup if it works but we should leave it out of this pull request since it's not directly related to your patch.

I have made a new commit. Sorry I didn't know that we need to remove dependencies.

Great. Thanks. Another thing now: I don't see your edits to the about.md page in the pull request. Are you sure you committed and pushed your changes? Check the "Files changed" tab at the top here and you'll see what I mean.

Hi @palewire. I tried to fix the issue. But it got closed somehow. Can you please guide me ?

@dn-flixee want to just try opening a new pull request, with only the /about changes in there?

@dn-flixee want to just try opening a new pull request, with only the /about changes in there?

The about.html file is under _site which is gitignored and hence my changes are not being tracked by git.

Gotcha. The _site folder is the built site after all of our code is run. That's the result of your work, not where you work. The file you want to edit is /about.md here https://github.com/jupyter/jupyter.github.io/blob/master/about.md

I don't know, how to integrate lazy loading to a md file. I didn't get the part where you have to dynamically add lazy loading to the html. I worked on the statically generated about.html and didn't noticed that it is dynamically getting created and being gitignored. @palewire

The md file is an HTML template that allows for some looping and other programming tricks. You'll want to find the line there that outputs the HTML you'd like to change and edit it there.
Let's give you a simple one to change. See if you can add the loading="lazy" attribute to the tags here. Let's limit your patch to that one change. https://github.com/jupyter/jupyter.github.io/blob/master/_includes/cards.html#L9

Can you please open this issue again @palewire  ? Thanks!


Automatically alphabetise source file in an async job

We often have to give feedback on PRs asking people to put things in alphabetical order. See, for example, https://github.com/quarkiverse/quarkiverse-docs/pull/160#discussion_r1624473116.

That's a good idea

Reminded of this by https://github.com/quarkiverse/quarkiverse-docs/pull/171#issuecomment-2271111454 :)

Instead of doing it in an async job, wouldn't be better if it performed this validation when the PR is opened?

I think something that happened when the PR was opened could mark the PR red, but not fix the problem. So that would be a better experience for us, and faster feedback for extension authors, but we'd still be knocking their contributions back and asking them to manually do what a computer could do.
On the other hand, it avoids all the scariness of automated changes, and it would be easy to do.

https://github.com/orgs/community/discussions/24945 seems to imply that commits can be added to someone else's PR, and provides an action for it. So maybe it is possible, in which case we should ignore all my comments above. :)


GridLayer clipping issue

Do you have any idea why I get this issue with GridLayer?

@martennilsson Looks like depth testing is not enabled. If you check the examples they usually set depthTest: true in an initialization callback.
We plan to make depthTest: true default in the next major release, but for now this step is still needed for extruded layers.

Thanks! Didn't see that.


Highlight Commander's orders

When a pilot is sent an order, text appears in red on the screen. It would be
nice if orders from the Commander stood out, perhaps by changing the colour to
orange.
Imported from trac ticket #14,  created by juckto on 01-05-2010 at 10:02, last modified: 07-17-2010 at 00:34

Commander orders are now orange.
r734
Trac comment by Xynth on 07-17-2010 at 00:34


Z axis label - improve readability

Depending on starting elevation levels, axis labels on Z are very difficult to read.
Might also make a 0 point axis line  and make the shape fill transparent, see how that looks.  Possibly adjust Z scale to better fit in screen space and see if min/max tick marks on the graph make sense.

tried various gridlines approaches, finally settled on minimalist with only top/bottom labels - but aligned colors for readability.


string terminate pointer buffer since were treating it as string

If you send a short string after sending a long one , the remains of the long one still print and sometimes junk.
Seems like the other side is not sending a terminating \0
Found this 11 months ago. The time has come.

@EdwinFairchild status on this one?

@yc-adi @AbbyWolf-ADI can you guys give this a glance it simply terminates a string before we print it, because sometimes we print junk

I can dig it!


Optional Cover Image

How would you make the post cover image optional? Currently if you omit the cover in .md files the project will not build.

You could do something like use a defaultValue.
Hee's a good thread that talks about this issue:
https://github.com/gatsbyjs/gatsby/pull/5495
Let me know if you're able to get it to work!


Rework project section

Thinking of a react component that takes a json containing all relevent project informations

similar to the codepen project overview
i18n support
filter for projects
allow filtering by clicking and combining certain tags
tags should have a counter of how much projects have that tag
project collections/groups that are expandable

bs


MINOR: Fully specify CompletableFuture type

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

This seems the same with #11044

Thanks for the PR.
Closing as a duplicate of #11043, since we just committed that one


ISPN-8982 Remove ORM 5.2 support

I've forgotten to commit removal of 5.2 module.

@rvansa For the ORM neophytes amongst us, could you explain here or in the JIRA why you're removing 5.2 and keeping 5.1?

@danberindei ORM 5.1 is used in some versions of WF so we want to keep that updates with bugfixes etc. 5.2 is not, so we're saving resources by dropping that completely.
Regrettably we can't drop 5.2 support in 9.2 micro, so I had to have an impl for 9.2.2.


[Feature Request] Updating existing errors to work with the Go 1.13+ error

After Go 1.13, the standard way to handle wrapped errors is with the standard library: https://blog.golang.org/go1.13-errors
Implementing Unwrap will allow to check the original error with errors.Is and errors.As.
I try to switch from 1.8 driver because of ~20% fail rate with with Aura even after the last fix in 1.8.3 and now I try to migrate to the new driver and I'm trying to implement the error handling. I noticed for some error it's more comfortable to not to use the neo4j.Isxxx methods but the 1.13 API may improve the usability bit more.

Thanks for trying out 4.0!
You don't have to use the neo4j.Isxxx functions on 4.0, the error types are exported so you can check with as/is. Regarding unwrap would only make sense on ConnectivityError as that is the only exported error with a single inner error and you would only be able to determine if it is io.EOF or not.
Maybe better if you specify the failures you see with Aura so that we can fix that instead, it is easier to fix within the driver than outside.
You should only use session.ReadTransaction/WriteTransaction when working with Aura, session.Run and Session.BeginTransaction are not covered by the retry logic.

Hi @marvinkite
I can see from your previous issue on "Driver fail to reconnect" that you are using session.Run. We probably need to be a lot clearer in documentation about when it is safe to use session.Run, against a cluster it is not.
You must rewrite your code to use ReadTransaction/WriteTransaction. To use the returned error to reimplement the retry logic is not recommended.

Hi Peter,
Thanks for the advises. Yes indeed some more accurate documentation could help. Until yesterday I was using 1.8.3 with session.Run() everywhere and indeed I see high number of failure with Aura. List night I migrated the driver to latest 4.0 and I learned the new API and I rewrote to use the ReadTransaction/WriteTransaction instead. Let me share with you my experience and please correct me if I don't use the driver appropriately so the documentation can be updated bases on my mistakes.
We are building a platform on top of Neo4j for millions of users so stability and performance will be critical for us. We desperately looking for Noe4j experts in Scandinavia or in that timezone but it's hard to find. We have a growing service mesh and many of our services depends on Neo4j so I'm trying to make a library which makes easy to use the graph.
When the application starts I create a neo4j.NewDriver and when the application exits I Close it. Extreme case when I use in a serverless environment. Either I do the full New-Close lifecycle in scope of handling a single request which seems an overkill or I lazy initialise the Driver and due to the nature of Google CloudFunction or CloudRun I have no way to close the driver and release the resources. I hope it does not leave too much open connection at server side.
Once I have the Driver instance I share the same instance among concurrent calls. In each function when I handle concurrently request each time I create a new session.
	if readOnly {
		session := driver.NewSession(neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead})
		resp, err = session.ReadTransaction(func(tx neo4j.Transaction) (interface{}, error) {
			return op(parent, tx.Run)
		}, opts...)
		_ = session.Close()
	} else {
		session := driver.NewSession(neo4j.SessionConfig{AccessMode: neo4j.AccessModeWrite})
		resp, err = session.WriteTransaction(func(tx neo4j.Transaction) (interface{}, error) {
			return op(parent, tx.Run)
		}, opts...)
		_ = session.Close()
	}

Here the AccessMode has no relevance because I'm not using Run or BeginTransaction. The ReadTransaction/WriteTransaction returns with a retryableTransaction which only have one the Run method that can be used. (The Commit/Rollback/Close returns UsageError).
At the end I have an http handler function that willing to execute some Cypher. I made a utility  that creates a new session, configures it and hands over to my operation CypherOp a single function to execute one or more cyphers in the same transaction.
type (
	TxRun    func(cypher string, params map[string]interface{}) (neo4j.Result, error)
	CypherOp func(context.Context, TxRun) (interface{}, error)
)

For performance I'd like to also measure the execution time so I have OpenTelemetry trace around it.
I don't know yet how the best use the metadata and what for. For now I just put the trace span id and I will investigate it further.
  opts = []func(*neo4j.TransactionConfig){neo4j.WithTxMetadata(map[string]interface{}{
    "span_id": span.SpanContext().SpanID.String()})}

Back to the Error handling, I try to establish a convention among our developer how to handle response and errors like when response may or may not have a single record.
	result, err := rx.Run(cypherQuery, params)
	if err != nil {
		return nil, err
	}
	record, err := result.Single()
	if neo4j.IsUsageError(err) {
		if "Result contains no more records" == err.Error() {
			err = errEmptyResponse
		} else if "Result contains more than one record" == err.Error() {
			err = errMultipleResponse
		}
	}
	if err != nil {
		return nil, err
	}

I used to have my own Single implementation and I think I will go back because I don't like to check the error based on the message.
We still need to learn more about how the server responses and adjust this code more but I still share it. It's a last night quick draft so I will change. Maybe try to use more the 1.13+ functions here but I will keep you updated. We try to match to gRPC error and probably logging now to learn more but so far we just use this function to understand the error.
func StatusError(err error) *status.Status {
	if err == nil {
		return nil
	}
	if v, ok := err.(interface {
		GRPCStatus() *status.Status
	}); ok {
		return v.GRPCStatus()
	}

	switch e := err.(type) {
	case *neo4j.Neo4jError:
		if e.IsAuthenticationFailed() {
			return status.New(codes.Internal, err.Error())
		} else if e.IsRetriableCluster() || e.IsRetriableTransient() {
			return status.New(codes.Unavailable, err.Error())
		}
		switch e.Code {
		case "Neo.ClientError.Schema.ConstraintValidationFailed":
			return status.New(codes.AlreadyExists, err.Error())
		case "Neo.ClientError.Statement.ParameterMissing", "Neo.ClientError.Procedure.ProcedureCallFailed":
			return status.New(codes.Internal, err.Error())
		default:
			return status.New(codes.InvalidArgument, err.Error())
		}
	case *neo4j.UsageError:
	case *neo4j.ConnectivityError:
	case *neo4j.TransactionExecutionLimit:
	}
	if err == errEmptyResponse {
		return status.New(codes.NotFound, err.Error())
	}
	return status.New(codes.Unknown, err.Error())
}

I'm also using Zap structured logger and I will experiment bit more with it.
type logger struct {
	log  *zap.SugaredLogger
	core *zap.Logger
}

func (l *logger) Error(name string, id string, err error) {
	l.core.Error("Error", zap.String("name", name), zap.String("id", id), zap.Error(err))
}
func (l *logger) Errorf(name string, id string, msg string, args ...interface{}) {
	if l.core.Core().Enabled(zap.ErrorLevel) {
		l.core.Error(fmt.Sprintf(msg, args...), zap.String("name", name), zap.String("id", id))
	}
}
func (l *logger) Warnf(name string, id string, msg string, args ...interface{}) {
	if l.core.Core().Enabled(zap.WarnLevel) {
		l.core.Warn(fmt.Sprintf(msg, args...), zap.String("name", name), zap.String("id", id))
	}
}
func (l *logger) Infof(name string, id string, msg string, args ...interface{}) {
	if l.core.Core().Enabled(zap.InfoLevel) {
		l.core.Info(fmt.Sprintf(msg, args...), zap.String("name", name), zap.String("id", id))
	}
}
func (l *logger) Debugf(name string, id string, msg string, args ...interface{}) {
	if l.core.Core().Enabled(zap.DebugLevel) {
		l.core.Debug(fmt.Sprintf(msg, args...), zap.String("name", name), zap.String("id", id))
	}
}

I will keep you updated how it goes. Our next release is planned in a month and after that I can share more feedback.

On overall it looks like it should work now that you are using transaction functions.
For the serverless environment, I guess you mean that you "lazy" initialize driver in init func as in PubSub example here?
https://cloud.google.com/functions/docs/bestpractices/networking
Connections to the database will be closed when the instances are removed.
I like your usage of the transaction interface where you only expose the Run function. That is the way the API should look but that would make the Go driver different API wise than the other drivers, I think that the API for transactional functions might change in the future to only have a Run function.
For the error handling... The UsageError means something that should be fixed while developing, you shouldn't see these in production if you test properly. I would even consider panic for these kind of errors or just map to internal error since you should really hit all of these before reaching production.
That also applies to the intended usage of Single, it is assumed to be used on Cypher
statements that is defined to return only a single record, otherwise the Cypher is wrong.
If you can get zero or more than one record back you shouldn't use Single. Consider
using Collect instead (but be careful on potentially large results, since it will be
buffered) and check the size of the slice to return your own custom errors instead.
I would also consider some of the Neo4jError errors programming errors like ParameterMissing, ConstraintValidationFailed, ProcedureCallFailed.
As long as you use transactional functions you shouldn't see or at least there is nothing
for you to do on IsRetriableCluster or IsRetriableTransient errors, you should
get TransactionExecutionLimit error instead and that is clearly a codes.Unavailable.
I have never used Zap, looks nice! I guess that the driver could use a map instead
of a formatting string with variadic fields to make it more structured but I'm not sure
how useful it would be in practice.
We appreciate the feedback and it is really nice that you started using 4.0! We hope to get a beta out really soon.


Implement simple delta compression class

Fill out the skeleton class by integrating the chosen delta compression library into the storage backend
NOTE: It is likely that this issue will be broken up into smaller issues after we decide which library to use.

I've got a simple working delta compression wrapper around the filesystem cache storage here. There's some other stuff that needs to be done outside of scrapy to get this working, but I'll follow up with details later.


Repo copy

Hello, this repo looks like a copy-pasted slimmed down version of ikostrikov/pytorch-a2c-ppo-acktr (MIT license). That's cool, but you should be clear in attributions.

Definitely, I made attribution clear in README and LICENSE now.


docs(web): fixes some assertions, documentation typos, and adds missing imports

Improved the examples mentioned in the documentation of the Page Element Query Language Section inside the Web Testing Module. Improvements include:

Adding missing imports in examples
Documentation typo fixes
Fixing some assertion checks in the examples

Nice one, thanks @Himanshu21git!


Have patterns as returns instead of coma separated variables

Gospel only allows comma-separated variable names as return values at the moment.
Allowing patterns would be closer to OCaml and more convenient and generic (e.g. when destructing records).

#128 suggest to use [@ghost x: t, y: t']
Also, as there is only one OCaml return value, we could have a comma separated list of patterns, the last one being the actual return value and the other, if any, the ghost values. The downside being that it may be too much implicit. Also, a function that would return unit and a ghost value would have to explicitly mention the unit in its header.

A comma-separated list of patterns is ambiguous since patterns can be comma-separated identifiers.
It looks like [@ghost x: t, y: t'] could work, I forgot about this suggestion. It's a bit more verbose but ghost variables are not that frequent.
Does someone else have a suggestion or should we go with that?


cog run does not work with A100

Trying to do inference on a machine with an A100 GPU. Here's my cog file:
image: "myimage"
build:
  gpu: true
  python_version: "3.8"
  cuda: "11.3"
  python_packages:
    - "transformers==4.15.0"
    - "torch==1.10.1"
    - "ray[serve]==1.5.0"
    - "kfserving==0.6.1"

When I do sudo cog run python model.py I get the following error:
/root/.pyenv/versions/3.8.12/lib/python3.8/site-packages/torch/cuda/__init__.py:106: UserWarning:
NVIDIA A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA A100-PCIE-40GB GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

  warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
> /src/model.py(24)predict()
-> output_ids = self.model.generate(input_ids.cuda())

So apparently my CUDA installation is missing some capabilities. Looking at stack overflow, it seems like doing
pip3 install torch==1.10.1+cu113 -f https://download.pytorch.org/whl/cpu/torch_stable.html
might fix that problem? But I can't pin 1.10.1+cu113 since cog doesn't allow us to specify custom pip archives via pip -f

Thanks for reporting and following up, @mitchellgordon95 👍🏼


[New .UPX V3.5.2] How can I decrypt it?

Excuse me, recently I wanted to root my device, and I was lucky enough to find it here. First of all, thank the developers for sharing.  I couldn't find the corresponding key in the latest BooxKeys.csv, and tried GetBooxUpxKeysApp-v0.1.1-release.apk to get it, but.apk always flashed back after running, and it didn't work.  Also tried to extract libot_jni.so file, I do not know if there is a problem with my configuration environment or a new file update: Follow algorithm-zh_cn.md related instructions to operate, you can get the results of the.so file in the test folder in the repository, but I extracted the .so file myself can not calculate the results.  Therefore, I hope there are kind-hearted people who can help me, thank you very much!
PS:
update.upx
V3.5.2
"buildDisplayId": "2024-05-15_18-13_3.5.2_50da13250"
"model": "NoteX3Pro"
getfromboox.zip
the getfromboox.zip contains OnyxOtaService.apk and libota_jni.so（psw：123）
Thanks！

It's added to BooxKeys.csv now.

It's unbelievable! Your efficiency is too amazing! Excellent! Thank you very much!


Math.random() is not secure

Consider replacing getUid() with secure-random-string for cryptographically secure random numbers.
It has the option to continue to make them 16 characters log as before if you prefer.

might drop in with a pr on this one later =3, could be pretty dangerous in PrOduCtiOn :o


Error while installing the kubectl tool

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks install-cli
Errors:
[Errno 13] Permission denied: '/usr/local/bin/kubelogin'
Traceback (most recent call last):
az/lib/python3.6/shutil.py, ln 550, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/tmp/tmpt6v1r9kp/bin/linux_amd64/kubelogin' -> '/usr/local/bin/kubelogin'

...

az/lib/python3.6/shutil.py, ln 121, in copyfile
    with open(dst, 'wb') as fdst:
PermissionError: [Errno 13] Permission denied: '/usr/local/bin/kubelogin'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks install-cli --install-location={}

Expected Behavior
Environment Summary
Linux-4.15.0-1095-azure-x86_64-with-debian-stretch-sid (Cloud Shell)
Python 3.6.10
Installer: DEB

azure-cli 2.12.0 *

Extensions:
ai-examples 0.2.3

Additional Context

aks

duplicate with https://github.com/Azure/azure-cli/issues/15432

@milanchavda Apologies for the late reply. This is documented here if you do not have full access to the /usr/local/bin path.
You can try with the sudo az aks install-cli and check if that helps. Alternatively, You can follow the below to install in a different location (download to a specified path) in the home folder, for example:
**:~$ az aks install-cli --install-location mykubetools/kubectl1.19.1 --client-version 1.19.1 --kubelogin-install-location mykubetools/kubelogin
Downloading client to "mykubetools/kubectl1.19.1" from https://storage.googleapis.com/kubernetes-release/release/v1.19.1/bin/linux/amd64/kubectl
Please ensure that mykubetools is in your search PATH, so the kubectl1.19.1 command can be found.
Downloading client to "/tmp/tmps1qp6p1e/kubelogin.zip" from https://github.com/Azure/kubelogin/releases/download/v0.0.11/kubelogin.zip
Please ensure that mykubetools is in your search PATH, so the kubelogin command can be found.

**@Azure:~$ ./mykubetools/kubectl1.19.1 version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T11:26:42Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

Hope this helps.


Description of the metadata in Grist

For the grist spreadsheet a description of the various metadata could help user a lot to understand the source / calculation of various values we are showing. Such a description could be added manually via the Grist front-end, or ideally should be added to the Python script that creates the columns in the first place, so that this data is stored in a repository and can be easily recreated.

Hi, is this open? How can I make a contribution to the documentation here?

Hey @DeeptiN1, thank you for taking on this issue. A good way to get started would be to create a markdown table defining all the metadata that you can see in the spreadsheet.
Here some documents that are relevant for the work.
Spreadsheet: https://docs.getgrist.com/doc/gSscJkc5Rb1Rw45gh1o1Yc
Here the script that pulls data from the ecosystem.ms service. Some data from ecosyste.ms is just forwarded but other parts are just data is been created inside this script: https://github.com/protontypes/open-sustainable-technology/blob/main/.github/workflows/ecosystems_to_grist.py
The backend source can be find here: https://github.com/ecosyste-ms/ost
The api documentation can be found here. So far not all available data is documented by Ecosyste.ms.: https://ost.ecosyste.ms/docs/index.html
To get started, it would be very helpful if you could simply write what you think this data describes for each column of the projects and organisations. This would help us to understand where the naming of the values might already be totally off. If you make a first serve I can support you further.

Hey @DeeptiN1, thank you for taking on this issue. A good way to get started would be to create a markdown table defining all the metadata that you can see in the spreadsheet.
Here some documents that are relevant for the work. Spreadsheet: https://docs.getgrist.com/doc/gSscJkc5Rb1Rw45gh1o1Yc Here the script that pulls data from the ecosystem.ms service. Some data from ecosyste.ms is just forwarded but other parts are just data is been created inside this script: https://github.com/protontypes/open-sustainable-technology/blob/main/.github/workflows/ecosystems_to_grist.py
The backend source can be find here: https://github.com/ecosyste-ms/ost The api documentation can be found here. So far not all available data is documented by Ecosyste.ms.: https://ost.ecosyste.ms/docs/index.html
To get started, it would be very helpful if you could simply write what you think this data describes for each column of the projects and organisations. This would help us to understand where the naming of the values might already be totally off. If you make a first serve I can support you further.

Hi @Ly0n Thank you very much for sharing all the details. I am eager to start on this. However, I have an update regarding the timeline. I have to travel and will be away from December 22 to January 03, with limited internet access. I am sorry for the inconvenience but I will definitely be able to work on this after I'm back.


feat(app): Add search functionality

@ernum
Looks overall good, except for some issues

It says, "Erbjuder"/"Offers", when there is no offers made. Should just be blank instead.
Currently the search is case sensitive. In my opinion, it should not be.

Some issues with the filter as well:

Filter function not filtering properly
No possible way to reset filters as well

Some issues with the filter as well:

Filter function not filtering properly

Nice catch, years were from 0-4 not 1-5 in the database.


Align 2.3 image with upstream 1.14

Match the versions of the packages.
https://github.com/istio/tools/blob/release-1.14/docker/build-tools/Dockerfile

/retest


Bug fix (support batch_size != 2), disable useless ref_sparsity loss, remove duplicated guidance eval

Both commits stand on their own, recommend "rebase and merge".

Looks good to me!


dataset_setup.py --imagenet --framework pytorch # impossible to extract ILSVRC2012_img_train.tar (hundreds of duplicate tar-files)

dataset_setup.py --imagenet --framework pytorch needs unusual huge disk space (> 1000 GB after downloading)
GETTING_STARTED.md tells "2 TB in storage (for datasets)" is fine.
Description
For comparision: tiny-imagenet-200.zip (about 200 MB, train = 200x500 jpg) creates similar size of extracted files (as .jpg cannot be compressed by zip).
ImageNet-1000 (train = 1000x1000 jpg, 141 GB download, as tar file of tar files) should also create similar overall size of JPG-files.
But we run out of disk space far before 10% of files are extracted!
Steps to Reproduce
python3 datasets/dataset_setup.py --data_dir /extra2tb/data --imagenet --temp_dir /extra2tb/data/tmp --framework pytorch --imagenet_train_url https://image-net.org/data/ILSVRC/2012/HIDDEN_train.tar --imagenet_val_url https://image-net.org/data/ILSVRC/2012/HIDDEN_img_val.tar # filenames hidden here (as they need a login)
Download is ok (about 151 GB), still 1 TB free on disk now.
I0307 16:08:02.928054<PHONE_NUMBER>29952 dataset_setup.py:556] Extracting imagenet train data (everything ok until here)
Script is extracting 1000x n*.tar files (144 GB together) in /extra2tb/data/imagenet/pytorch/train (still fine).
Now it's starting to get strange. (soon after disk is full - but hundreds of huge identical files cause this)
Different folders (each containing the same 1000 tar files) !!
All of these folders include the same list of file names (and matching names also match in content, checked for some of them).
Each of these tar-files include 1300 JPEG files (different tar name causes different JPEG files inside).
One example of  (randomly picked).
/extra2tb/data/imagenet/pytorch/train$ cmp n03692522/n01440764.tar n03602883/n01440764.tar # same content other folder
/extra2tb/data/imagenet/pytorch/train$ cksum n03692522/n01440764.tar n03602883/n01440764.tar
2049352163 157368320 n03692522/n01440764.tar
2049352163 157368320 n03602883/n01440764.tar
/extra2tb/data/imagenet/pytorch/train$ du -h
138G    ./n04442312
138G    ./n04239074
138G    ./n04356056
138G    ./n04228054
etc etc etc (expect 1000 of these folders would need 138 GB x 1000 = 138 TB disk size of extracting this dataset = very huge !!.

Disk is running full of identical files, much over 1000 GB, but GETTING_STARTED.md tells "2 TB in storage (for datasets)" is fine.
This seems to be a bug in dataset_setup.py.
Only to show the filename repeating issue...
/extra2tb/data/imagenet/pytorch/train$ ls n03692522/*.tar | head
n03692522/n01440764.tar
n03692522/n01443537.tar
n03692522/n01484850.tar
n03692522/n01491361.tar
n03692522/n01494475.tar
n03692522/n01496331.tar
n03692522/n01498041.tar
n03692522/n01514668.tar
n03692522/n01514859.tar
n03692522/n01518878.tar
/extra2tb/data/imagenet/pytorch/train$ ls n03602883/*.tar | head
n03602883/n01440764.tar
n03602883/n01443537.tar
n03602883/n01484850.tar
n03602883/n01491361.tar
n03602883/n01494475.tar
n03602883/n01496331.tar
n03602883/n01498041.tar
n03602883/n01514668.tar
n03602883/n01514859.tar
n03602883/n01518878.tar

Source or Possible Fix
The behaviour above is abviously not intended.

It looks like it's copying the entire dataset in the subfolders. I'll try to reproduce and fix this.

Merged https://github.com/mlcommons/algorithmic-efficiency/pull/692 into dev.
Also added a flag to skip_download.
If you remove the imagenet/pytorch/train and imageent/pytorch/val directories, I think you should be able to just resume the setup with your original command and the --skip_download flag.
python3 datasets/dataset_setup.py --data_dir $DATA_DIR --imagenet --temp_dir $DATA_DIR/tmp --imagenet_train_url=<redacted> --imagenet_val_url=<redacted> --framework pytorch --skip_download True

I'll merge this fix into main shortly but feel free to checkout dev and try it out.

Thanks, it (dev-branch) works much better now.


[!Full*Video!] Mathira Original Video Trending Anu Kanu Viral Video Telegram Links (18+) #679

33 sec ago
🔴📺📱Click Here To Watch Video Link
🔴📺📱Click Here To Download Video Link
🔴📺📱Click Here To Watch Video Link
Who Is Imsha Rehman? Pakistani TikTok Star Deactivates Social Media Accounts After Private Video Leaks Online
Pakistani TikToker Imsha Rehman is currently facing intense trolling after her explicit videos went viral on social media. Reacting to the controversy, Imsha Rehman has deactivated her social media account.
The TikToker became the new victim of privacy breach after her explicit videos went viral, being shared widely on WhatsApp. After the controversy, Imsha Rehman has become a scapegoat for social media trolling and hate messages. Meanwhile, in interviews to local channels, Rehman has said that she was born on 7 October 2002 in Lahore.
After facing immense trolling, the social media influencer deactivated her Instagram and TikTok accounts, according to a report by Economic Times. Imsha Rehman has fallen prey to privacy breaches, and there is no information on whether she has taken any legal action in the matter. The incident raises questions about the privacy of influencers as, a few days ago, Pakistani TikToker Minahil Malik received immense hate on social media after her explicit videos went viral online.
Imsha Rehman viral video: Why Pakistani TikToker has deactivated her account? What’s there in the ‘explicit’ clip?
Pakistani TikToker Imsha Rehman has met a similar fate to that of social media influencer Minahil Malik. The Instagrammer is facing intense trolling after her explicit videos went viral on social media. Reacting to the controversy, Imsha Rehman has deactivated her social media account.
The young TikToker has become the new victim of privacy breach after her explicit videos have gone viral on social media and have been shared widely on WhatsApp. After the controversy, she has become a scapegoat for social media trolling and hate messages.
After facing immense trolling, the social media influencer deactivated her Instagram and TikTok accounts, reported Economic Times. Imsha Rehman has fallen prey to privacy breaches, and there is no information on whether she has taken any legal action in the matter.


Add an open-source license

Hello!
I wanted to implement your project in other languages, but I am not sure if I am legally allowed to do that. So open-sourcing your work would be a good idea.

Done!


The obligation to pay the small and big blinds moves clockwise through the players; if I paid the big blind in this game-round, the player to my left should pay it in the next one.

Closed in commit: 937317224af2009d37736890c155ed60dcb2fcf8


RangeError (index): Invalid value: Not in range 0..5, inclusive: 6

RangeError (index): Invalid value: Not in range 0..5, inclusive: 6

This error occurs to me, what happened, I followed the example file.

        itemBuilder: (context, index) {
          if (index >= normalList.length) {
            print(index);
            return normalList[0];
          }
          print(index);
          return normalList[index];
        },

Through debug I found that in the nomalList we have 12 items [0..11], but here for any reason the itemBuilder iterate to 35.

Never mind, my mistake.


Basic logging functions

Added two new files to .gitignore
Updated README.md
Added a custom logger for the ChatAPI class __get_class_logger, with a custom anonymous formatter class __IOFormatter
Added new LOGGING_DIR constant in const.py, and updated chatgpt-api config and logging paths.
Session messages are now logged to a custom file, using the already existing data keys, and look like the following:

{"timestamp":"1670535995.683926", "input": "color red", "output": "Red is a color that is often associated with passion, love, and warmth. It is often seen as a bold and vibrant color that can add a lively and energetic vibe to any space. In nature, red is the color of many fruits and flowers, and is also often seen in fire and in sunsets. In art and design, red can be used to draw attention and create a sense of urgency or excitement. It is also often used to represent danger or warning.", "id": "986f79bf-414f-4850-82bd-74aa20099892", "conversation_id": "a0f8932d-07d3-483c-a5e9-6e3e0235cbaf", "parent_message_id": "986f79bf-414f-4850-82bd-74aa20099892"}
{"timestamp":"1670536023.16458", "input": "color blue", "output": "Blue is a color that is often associated with calmness and serenity. It is the color of the sky and the ocean, and is often used in design and art to create a sense of tranquility and peace. In nature, blue is the color of many flowers and plants, and is also often seen in the feathers of birds. In art and design, blue can be used to create a sense of depth and distance, and is often used in combination with other colors to create a sense of balance and harmony. Blue is also often associated with trust and reliability.", "id": "840ed997-af3f-479e-9107-4964523854c1", "conversation_id": "a0f8932d-07d3-483c-a5e9-6e3e0235cbaf", "parent_message_id": "840ed997-af3f-479e-9107-4964523854c1"}
...

Fixed 3 tests, not passing in closed merge request

Never used pre-commit and was not able to see the flake8, mypy etc checks. Read a bit about it, installed it, and all good now.
What do you think about black? It is a hustle free code formatter. We could set the line length to ur standard of 79. The command would be something like: black --line-length 79 ./chatgpt/*

Many changes in this PR are just in reverse to what recently had been pushed to main branch.
Looks like you have on your fork version <0.2.1.
I like it how you handled logging, but unfortunately I can't approve this PR before it won't be up to date with main.
I didn't comment any of the test files for that reason. If you want me to help you with that, just let me know.

Never used pre-commit and was not able to see the flake8, mypy etc checks. Read a bit about it, installed it, and all good now.
What do you think about black? It is a hustle free code formatter. We could set the line length to ur standard of 79. The command would be something like: black --line-length 79 ./chatgpt/*

I agree, pre-commit is a great tool that I started to use on a daily basis recently 😀
I use black (with line length set to 79), just haven't added it to pre-commit. I forgot 🙄

About the tests, I would indeed need your help... I am having trouble making them work with the mock module to fake the creation of the directory. Tried with both os.path and Pathlib I removed this test def test_cli_setup_config_file_does_not_exist_and_do_not_create(mocker): , because confirmation is not longer ask.
I comment out the other two:
def test_cli_setup_chatgpt_dir_exist(mocker):
    """Test flow when CHATGPT_DIR exists"""

def test_cli_setup_chatgpt_dir_does_not_exist_and_create(mocker):
    """Test flow when CHATGPT_DIR does not exist"""


Report cloud upload errors in a more structured way

Introduction and Explanation
Right now, we have .errors in the upload result object, but it's all just strings. Return a bit more data so that at least the failed URLs are machine readable.
JIRA
Fixes https://linear.app/encord/issue/EC-3107/report-upload-errors-to-the-sdk-in-a-reasonably-machine-readable
Documentation
Some dosctrings are there
Tests
Coming together with the BE implementation here: https://github.com/encord-team/cord-backend/pull/3206
Known issues
We'll need to do the same on the Storage side; will have a follow-up probably next week.

Not sure why or how has this ended up "closed"; we just need to wait until after 2024-04-24 release before we merge and release this...


branch control helper tester

this is good Monthrie keep it up, but you really should make more changes if we're going to add this to the branch, I suggest working on it a little more and sending another pull request.


Progress logging

Often we're running queries or creating indexes that take a lot of time. Having any type of progress indicator (e.g. # of repos already processed) would be very useful. While not possible or common in most DB's, in gitbase case it should be very doable.

There is no straightforward way to do it. On MySQL we have SHOW FULL PROCESS LIST command that can do the trick: https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html

I think we can reuse the SHOW INDEX query: https://dev.mysql.com/doc/refman/8.0/en/show-index.html
For instance we can put it in Comment:

Comment
Information about the index not described in its own column, such as disabled if the index is disabled.

Implementing progress should be more or less trivial with partitions, since we now have the very-well defined chunks. Lower than the repository level I don't think it's viable to show progress, since we don't know the number of rows ahead of time (except maybe with indexes).
@ajnavarro since that needs some global registration on the engine, I think it could even be done in go-mysql-server (the query for sure needs to be on gms). We need something that keeps track globally of the queries that are running (which we currently do not have) and their progress and hooks so the queries can update the progress as they process stuff. I don't see any of this as something gitbase specific. We can use partitions to estimate the progress, but it's an iterator, though. So maybe we would need to precompute all partitions before and I'm not sure it's worth it just for having viewable progress.
@kuba-- what about queries without indexes? Besides, indexes already log their progress.

@erizocosmico do this on go-mysql-server makes a lot of sense for me. We can implement a way to get total partition count if the implementor allows that (in the gitbase case, we know beforehand the number of repositories that we have). If we don't have the total number of partitions, we can provide just the number of processed partitions.

Yep, that sounds good.
Also, we need to take into account that there might be multiple tables with different number of partitions. So we will need to find all tables in the query tree and track their processing stats.

@erizocosmico - I overlooked full question and focused on:

...creating indexes that take a lot of time.
I agree, for regular queries it will require totally different approach.

Closing this and moving it to go-mysql-server.


fix: remove tailwind post css config to get proper nesting

fix: remove tailwind post css config to get proper nesting
docs: changeset

#179  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @kylemcd and the rest of your teammates on  Graphite


[chore] fix spring-petclinic example

Description:
The images for spring-petclinic example used in the repo does not use dockerize anymore (spring-petclinic PR). This PR cleans up the example objects for petclinic app to make it functional again.

We have a script that auto generates or updates the spring-petclinic demo that I think we need to update as well. I'll update the script unless someone else gets to it first.

https://github.com/signalfx/splunk-otel-collector-chart/blob/main/examples/enable-operator-and-auto-instrumentation/update-demos.sh


This hash look up in calculateColorProfile is the slowest part of saving an image.

I have profiled nimPNG code saving with VTune and 45% of the time is spent on this line:
https://github.com/jangko/nimPNG/blob/676bca486ac32f9ab32a00d388a56f768cf965ed/nimPNG.nim#L2358
This line is in calculateColorProfile ... should it just be computed once? It seems like a very slow operation with the hashing taking up most of the time. Is there a way to compute calculateColorProfile only once?

I used vTune with  nim c -d:release --debugger:native to produce this.

Thank you, I think I know what's wrong with the hash function.

Amazing improvement, from the hottest function:

To being almost nothing:

Amazing!
Now the hottest path is the compression which is expected:


Start of top-level documentation

Some links are TBD

As discussed plz add a owners file also and add yours, mine and mike's name to both reviewers and maintainers to begin with


Added examples directory for quick start example files

Added a python quick start example to simulate the quick start guide.

This looks quite good! Thank you for doing this. Just a few more nits. And we need a examples/python/README.md for instructions on how to run the examples.

minor comments. other than that, lgtm


Google Vr Video View Error

after videoWidgetView.loadVideo(Uri.parse("http://<IP_ADDRESS>:8888/googlemap/MageComp.mp4"));
or
videoWidgetView..loadVideoFromAsset("3dtest3.mp4");
// 3dtest3.mp4 stored in my asset forlder
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.google.vr.sdk.widgets.video.VideoTexture.getIsTextureSet()' on a null object reference
at com.google.vr.sdk.widgets.video.VrVideoPlayerInternal.prepareFrame(VrVideoPlayerInternal.java:318)
at com.google.vr.sdk.widgets.video.VrVideoRenderer.onDrawFrame(VrVideoRenderer.java:57)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1566)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)

I think these two are related
https://github.com/googlecodelabs/vr_view_app_101/issues/2

@RamIndani , Yap , in some devices its works better but in some cases it facing this error.

@Sabinay-android around four similar bugs are reported and closed but none of them provide any resolution.

I have Samsung S3 and Samsung S6 both crashes with this message almost 99% of the time and not always.


Height of buttons with text content isn't consistent with icons

After #74 the height of buttons that use text isn't consistent with the height of buttons that use an icon.

Before: https://media-chrome-djevl3pei-mux.vercel.app/examples/control-elements/media-seek-backward-button.html
After: https://media-chrome-err0093s8-mux.vercel.app/examples/control-elements/media-seek-backward-button.html

This is called out in the notes on #74 . The updated implementation is more consistent with the way a "plain ol' <button/>" would behave. Given that the previous solution for consistent height between image-only use and text-only use caused issues with responsive designs, I think we should evaluate whether this is something that should be solved in a "built-in" way for our "built-in" buttons, particularly since these examples are unlikely to occur in a real-world production use case (though even if they did, I believe this should be a discussion).


Release0.3

Project almost functional, comments are not available as of now but tweets, likes, account, and pfp works atm.
So we are moving to the last or close to last release.

Fixed conflicts by merging production branch into release, merging now after tests


Table schema not changes until data pushed

Lately I noticed something that on changing the table version, the update is not reflecting straight away until some data is pushed on to the updated schema. The sample code that I followed is provided below, is it the expected behavior
       ` var db = new Dexie("test_db");
               db.version(1).stores({
               friends: 'name,shoeSize' });
	   db.version(2).stores({
               friends: 'name,shoeSize,brand'
               }).upgrade(tx => {
		return tx.friends.toCollection().modify(friend => { friend.brand='n/a' })
	  });

      //
      // Put some data into it
      //

	  db.friends.put({name: "zerocool", shoeSize: 8, brand:'nico'}).then (function(){
          //
          // Then when data is stored, read from it
          //
          return db.friends.get('Samuel');
      }).then(function (friend) {
          //
          // Display the result
          //
          alert ("Samuel has shoe size " + friend.shoeSize);
      }).catch(function(error) {
         //
         // Finally don't forget to catch any error
         // that could have happened anywhere in the
         // code blocks above.
         //
         alert ("Ooops: " + error);
      });`

The upgrade will happen once you do any of the following:

call db.open()
Interact with the database in any way (which will implicitly call db.open() under the hood)

So if you want to make sure the upgrade happens, do db.open().then(...)

Thanks, tried as you suggested and it's working like a charm. Once again thanks for the quick response.


Filename artist and album separator should be a dash not an underscore

Right now the code generates files in this format.
yankee_grey_untamed-1999-album.xml
yankee_grey_untamed-1999-audiocd.xml
yankee_grey_untamed-1999-cd01-index.xml

The separator symbol between the artist and the disc title should be a dash, not an underscore.

Commit:
https://github.com/cjcodeproj/musicscan/commit/6159ceab15ba2fa813adff98b1a0daa945bdf94c


Different serializers for passwords hex & base64

https://github.com/mprudnik/node-soa-template/blob/main/src/lib/crypto.js
It throws an error with the wrong password,  it can't compare two different strings

Thank you for opening the issue!
Fixed in https://github.com/mprudnik/node-soa-template/commit/d2b601882c324dee4ed646f205f01795e1548df9.
Please reopen this issue if it won't help.


Documentation update: sl-calender's demo model is not in sync with demo model template

demo model: https://github.com/softlayer/sl-ember-components/blob/EmberCli-1.13.8/tests/dummy/app/routes/demos/sl-calendar.js
demo template: https://github.com/softlayer/sl-ember-components/blob/EmberCli-1.13.8/tests/dummy/app/templates/demos/sl-calendar.hbs

@notmessenger: I am working this


Parse optional vert at the beginning of a match branch

This syntax was stabilized in https://github.com/rust-lang/rust/issues/44101.
extern crate syn;
use syn::Expr;

fn main() {
    let m = "match x { | A => {} }";
    println!("{:#?}", syn::parse_str::<Expr>(m).unwrap());
}

Fixed in 18cc4d4769c2662e2f3d9a611f430603d7d1d2c9.


macOS: Failed to lookup symbol 'stat$INODE64'

import 'package:posix/posix.dart';

void main() {
  stat('/Users/ben/test');
}

Unhandled exception:
Invalid argument(s): Failed to lookup symbol 'stat$INODE64': dlsym(0x3dd75f480, stat$INODE64): symbol not found
#0      DynamicLibrary.lookup (dart:ffi-patch/ffi_dynamic_library_patch.dart:33:70)
#1      MacStatCall._call (package:posix/src/stat/mac.dart)
#2      MacStatCall._call (package:posix/src/stat/mac.dart)
#3      MacStatCall.sysCall (package:posix/src/stat/mac.dart:25:20)
#4      OsStatCall.call (package:posix/src/stat/os.dart:21:14)
#5      stat (package:posix/src/stat/stat.dart:30:38)
#6      main (file:///Users/ben/development/posix_playground/main.dart:4:3)
#7      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:296:19)
#8      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)

Tested using version 5.0.0 on macOS 13.5 and 14.0
Dart SDK version: 3.0.6 (stable) (Tue Jul 11 18:49:07 2023 +0000) on "macos_arm64"

I'm a little perplexed by this one and a little time poor as I'm dealing with a dcli issue.
Any additional research you can do would be appreciated.

I am afraid I can't dig into this right now. I switched to using the stdlibc package which worked as expected for our use case.


adjustor: init at 3.6.0

Adjustor is a plugin for handheld daemon that allows TDP control on AMD powered handhelds

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This has been working well for me! Is there a reason it's still marked as a draft?

I still need to add an option to enable adjustor from services.handheld-daemon, plus I also noticed some weirdness with ppd emulation.
Iirc power profiles would only apply when you changed the tdp, as well as some errors showing up.

I'm not sure how to tackle adjustor's energy management feature, since it does different things depending on the hardware you run it on.
On handhelds it emulates power-profiles-daemon, while on everything else it uses it. Since there's no way to only disable energy management without disabling TDP control entirely,  right now I think the thing to do is add an option (adjustor.energyManagement) what disables ppd when enabled, and assures handheld-daemon starts after ppd when disabled. That way we'll avoid conflicting with ppd unless the user wants to use the energy management feature.

This seems like a good solution, it ought to also conflict with tuned (not yet merged into nixpkgs) and other power management daemons.
Looking into Bazzite, Bazzite masks tuned on handhelds that use adjustor, while it's unmasked on laptops and other devices. Adjustor is only installed on handhelds afaict. Is there another way to mark these as conflicting (assertions?) if adjustor is enabled?

Also, iirc PPD emulation is an option within the HHD UI, not sure how that factors in here.

Yeah, PPD emulation can be turned off as well as energy management, which I missed initially.

Looking into Bazzite, Bazzite masks tuned on handhelds that use adjustor, while it's unmasked on laptops and other devices. Adjustor is only installed on handhelds afaict. I know they have plans for other types of devices but for now it seems like everyone is using tuned or PPD.

Adjustor does have some logic to deal with this with HHD_PPD_MASK, however it involves masking ppd and tuned, which we can't do on NixOS.


protocol: adding ftp scheme support

Related #1612

@deepak1556
If I remember correctly, the FTP handler have some Chromium resource dependencies.
I test it just now on Windows with window.open('<ftp-url>'), and it renders a blank page.

Yeah, it should render folders list or something.

@hokein chromium injects some scripts and styling for the directory display, i still havnt found how it does that. But if you try to open any renderable file with this scheme it will work. So yeah this is a partial PR.

@deepak1556
Yeah, Some scripts are injected to render ftp directory. net_resource_provider maybe a good start point. But it relies on some resources in some chrome pak file.

@hokein its fixed now. Thanks!

@zcbenz fixed, depends on https://github.com/atom/libchromiumcontent/pull/119

:+1:


quickForm allowed values vs autoForm+afQuickField

This might not rise to the level of being a bug, more of a behavioral observation:
When the schema is defined like such:
"settings.port":
  type: Number
  label: "Port"
  allowedValues: [25, 587, 465, 475, 2525]
  optional: true

and you use a quickform, the port field will be a select with available options from the allowedValue.
When you use an autoform with a afQuickField
{{>afQuickField name='settings.port'}}

You don't get the automatic select/options.
I know that you can supply them with options=  but seems like it would be intuitive for the select options to be the same as on a quick form.
Just wondering if I missed something, or options= is expected implementation.

I think
options="allowedValues"

would be more intuitive.


Adding support for optional and auto-generating titles per #49

As discussed, here's a pass at implementing a solution for #49 and having optional titles.  Here are a few notes on implementation that might warrant further discussion.

needs_max_title_length: By default, there is no max length.  I felt that kept things backwards compatible, and people can opt into this feature if required.

Handling :title_from_content: or needs_title_from_content = True when a title is provided: The behavior I went for was to allow the title provided as the directive argument to take precedence.  If a title was provided and :title_from_content: was also present on the need, then I issued a warning to the log. However, I did not issue a warning if the setting was simply from the conf.py file as I could see legitimate cases where one might want to override the generated title.

Handling of a requirement with a blank title, no content, and generating a requirement ID:  I opted to raise a InvalidNeedException as I could see no reasonable way of handling it.

Tests for warnings: I didn't create tests to validate the warnings were being created.  pytest has the caplog feature for this, but I didn't see an easy way to inject that feature using @with_app

The ellipsis on the elided requirements was difficult to test because the smartquotes feature converts them into a unicode character, but how this is done isn't consistent across Sphinx versions.  I opted to just disable the conversion using the smartquotes_action setting.

When generating a title for a requirement, I left the title in the heading of the requirement. This leads to some duplication of content in the rendered document.  This was brought up in the thread on #49, but I don't think we decided anything.   Do you think we should suppress the title in the rendered need if it was auto-generated (we'd still use it in other things such as needtable)?  I it would introduce some extra complexity in the template, but could be done.

If a generated title is used, I opted to hash on the title vs. the full content.  I figured that was a way to enforce that a duplicate title wasn't introduced, but that behavior could be changed.

On an unrelated note, I noticed that lineno doesn't seem to provide the correct line in the source RST document.   I'll probably log a separte issue on that.

Also - are you OK with having the generated title show up in the rendered need?  Basically having the title and first sentence match?  It’s consistent, but some duplication for the reader

Im fine with that.
And it may be necessary: if the title gets shorten, you still be able to find it in the content.