MINOR: closable object Memory leak prevention

closable object Memory leak prevention
Committer Checklist (excluded from commit message)

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

@abbccdda
Please review again thank you :)

@abbccdda
thanks for review
I was mistaken and wrong
close issue


fix: remove deprecations

Changes included

fix(focus-ring): remove deprecated default token in outline color

fix(preflights): use v2/resets.css url

fix(slider): remove deprecated slider rules

fix(focus-ring): remove deprecated --w-s-color-border-focused token

Maybe you can add peerDependency on this PR

@imprashast I thought I should add @warp-ds/uno as a peerDependency in the @warp-ds/css repo and not here. But maybe I've misunderstood it? For example, in the @warp-ds/core repo I added @floating-ui/dom as a peerDependency and I used @floating-ui/dom in the core-repo, but we're not using @warp-ds/css in the drive-repo.


Native JSX parsing with TS

Hey! Your extension has two downsides:

it creates second tree, instead of integrating nodes into one united
it does unnecessary parsing work, so when you type a character, outline gets evaluated twice: TypeScript builtin support & your extension

When sticky scroll came out (that uses outline), I started to investigate how to make TypeScript see these JSX nodes natively, and I came with an easy solution:
https://github.com/zardoy/typescript-vscode-plugins/blob/ec33dc3f71ac0e92815aa845d7f56eaeacf6b5dd/typescript/src/getPatchedNavTree.ts#L22
You can check it, it works natively like a charm! (I've been using it for a few weeks)
I even made a post about it
I'd say that I contribute, but I think it'd fun to you to play with it and you can copy it yourself!
However I didn't add support for JSXFragment, but that's three lines of code!
Feel free to ask any kind of questions, I'd be happy to help you!

Hey @zardoy,
Yes I am aware that React Outline is a different tree than TS and both tree get evaluated twice.
I am not aware of how to integrate JSX tree inside TS outline and need to look into it.
The code that you've shared it's a little complex for me to understand, I am looking into it's working
Thanks for pointing out the approach

The code that you've shared it's a little complex for me to understand

@ShubhamVerma1811 😆 Oh, yeah, I can understand this, but this is a best solution I could actually use. Some guy even pointed that I did make it on purpose, so nobody can read it later. But I didn't! So I'll try to explain my code in a few words.
TypeScript is the only language in VScode, which provider results can be edited (documentSymbol in our case), so we got lucky here. The only way to do this, is to write TypeScript plugin.
In TypeScript this file and function is responsible for giving us outline (in TS context its navigrationBar): https://github.com/microsoft/TypeScript/blob/33a34e5b96bfe086266f4765ab9789a2a02507f9/src/services/navigationBar.ts#L66.
Notice that the file is self-contained namespace (eg all needed methods to parse outline are in the same namespace). mainScript in referenced code is a tsserver.js that is bundled into vscode. You can see how this namespace gets bundled by opening https://raw.githubusercontent.com/microsoft/TypeScript/main/lib/tsserver.js or VSCODE_INSLLATION_DIR/extensions/node_modules/typescript/lib/tsserver.js and searching for var NavigationBar; (this is what the plugin actually does). When this file contents (namespace) is found, we do the patching (this is the easiest part). Then we do requireFromString, which is almost the same as eval. Then our patched module is ready to be used in proxy.getNavigationTree.
I decided to do patching of existing file, instead of providing patched copy of navigationBar.ts, so we don't break something specific that could be added in the future (and don't make extension size bigger).
The difference between babel parser here, as we use absolutely the same TS parsing and it doesn't matter how deep JSX tag is and it works with syntax errors!
When I was implementing I wan in a hurry (needed to implement as fast as possible). I thought that this hack could break in some day, so I added integration tests, which runs on every new release, but now I understand that this workaround works surprisingly well and stable.
Again, feel free to ask questions!

You can use my fixed new plugin


HDDS-5123. Use the pre-created apache/ozone-testkrb5 image during secure acceptance tests

What changes were proposed in this pull request?
Today ozonesecure compose clusters (and ozonesecure-ha and ozonesecure-mr) use an adhoc keytab issuer. The issuer is download during the image creation and uses a third party go lang application to create the keytabs on-demand.
As discussed earlier, it would be faster to use a dedicated, pre-built container image which includes the pre-created keytabs instead of issuing them on-the fly (keytab generation is slow + container creation is slow)
For each of the tagged images we can export to current keytabs to hadoop-ozone/dist/src/main/compose/ which can be mounted to compose clusters.
It makes the overall acceptance test faster (instead of creating keytab, which is quite slow, we can start the cluster immediately). And we don't need to depend on an external utility app.
Pre-created keytabs are also more similar to production environment...
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5123
How was this patch tested?
CI is passed on my fork:
https://github.com/elek/ozone/actions/runs/763590947
The time between starting test.sh script and first robot test:
master: 3:30 (01:43:08 --01:46:38)
this patch: 2:10 (12:59:29 13:02:39)
(note: there are some variances between different builds, and in general the mentioned patch build was a slower one. It can be even faster).

The build is green, merging it now. Thanks, @adoroszlai the review.


Consider error handling improvements

https://github.com/jan-zabloudil/release-manager/pull/21#discussion_r1581128376
https://github.com/jan-zabloudil/release-manager/pull/29#discussion_r1583100401
https://github.com/jan-zabloudil/release-manager/pull/29#discussion_r1583122465
https://github.com/jan-zabloudil/release-manager/pull/29#discussion_r1583129829

I guess you'd arrive at it naturally when debugging the application, but it's good that we make it explicit and maybe even proactive here. 🤙

Also, I mentioned a couple times that having errors defined outside the domains / 3rd party services packages doesn't always feel smooth.
I guess can be discussed here.

Done 🎉


Update copy and design for Learn More screen

Reason
New user requirements for the rewards pilot need to be detailed
Description
The Learn More (offer detail) screen needs to detail the new requirements for users to receive payouts, including listing out all the supported retailers / merchants.
This is where we need to expound on anything that can't reasonably fit on the other screens.
Success Criteria

[ ] Design new layout based on wireframes (see references)
[ ] Compile full list of supported merchants for account linking
[ ] Compile full list of supported merchants for email linking
[ ] Acquire icons to use for retailers
[ ] Write new copy
[ ] New screen / page fully implemented in example app

Additional Information

https://github.com/tiki/apps-receipt-capacitor/issues/186#issuecomment-1728963476
Supported for account linking: https://ereceipts.blinkreceipt.com/account-linking
Supported for email linking: https://ereceipts.blinkreceipt.com/us
Markdown source: https://github.com/tiki/apps-receipt-capacitor/blob/main/src/assets/learn-more.md
Vue source: https://github.com/tiki/apps-receipt-capacitor/blob/main/src/components/learn-sheet.vue

Learn more.docx
Review req'd @timoguin. Initial draft


Sphinx build breaks, possibly due to recent version change

The travis build for docs in this repo breaks due to the following error:
Exception occurred:

  File "/home/travis/virtualenv/python2.7.13/lib/python2.7/site-packages/sphinx/themes/classic/../basic/layout.html", line 108, in template

    {%- for css in css_files %}

TypeError: 'NoneType' object is not iterable

The full traceback has been saved in /tmp/sphinx-err-_fpLfF.log, if you want to report the issue to the developers.

Please also report this if it was a user error, so that a better error message can be provided next time.

A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!

make: *** [html] Error 1

The command "make html" exited with 2.

0.00s$ cd ../

This issue was resolved by upgrading to a newer version of sphinx.


Mod prevents loading or creating worlds

When trying to create or load existing worlds with Gilded Armor installed, the game shows the following message:

Clicking Safe Mode does nothing. This doesn't occur in version 1.1.2.
Minecraft 1.16.5
Forge 36.2.6
Mods: Gilded Armor Forge 1.16.5 - v1.1.3

Forge 1.17.1 37.0.73
gildedarmor-forge-1.17.1-1.2.0
Log


Remove allowed values from Orgs

For the Policies Finder, we now pull these dynamically from Rummager, so the Orgs don't need to be included in this facet. Ticket.
Relies on https://github.com/alphagov/finder-frontend/pull/212 being merged first.

This is now good to go.


cancel PR running jobs from previous CI builds to save build resource

Summary

[x] Re-disable SonarCloud scan in PR CI
[x] Use trivy-action instead of Azure/container-scan for checking vulnerabilities in Docker images - see blocker issue https://github.com/Azure/container-scan/issues/122
[x] Uninstall scanitizer app
[x] Cancel running jobs from previous pipelines of the same workflow on PR to save resource when commits are pushed quickly.
Note that we don't want this behavior on default branch

How did you test this change?

[ ] Test(s) added
[x] Manual testing (please provide screenshots/recordings)
[ ] No testing (please provide an explanation)

@maoo Can you help me uninstall the app https://github.com/apps/scanitizer now that we have switched to use trivy to scan for CVEs in Docker images? Thanks!

Scanitizer uninstalled. Well done with trivy! Is this going to be mentioned/documented somewhere? I'd love to link it as part of our project onboarding docs, so that other projects can use the same approach. If so, please keep me posted. TY!


Move xy_range and friends

Consider moving xy_range, get_xy_grids, and get_xy_contiguous_bounded_grids to the plot module.

Looks like this has been considered for four years... and we decided not to.


[bundle] Remove sanitize-html/postcss/source-map from client bundles.

Replaces a previously added dependency and its transitive dependencies with a leaner one.
Before

After

Looks good! Not sure if you care about that codecov warning, otherwise feel free to merge.

Nope, I didn’t do anything to reduce coverage 🤷♂

The codecov check is on the coverage of the diff, which with the existing tests is 50%. I’d take this as a suggestion that this function could use a test, but not blocking.

@eessex Gotcha, makes sense, thanks!


move docker/listeners to pkg/listeners

This code will be used in containerd and is quite useful in general to
people who want a nice way of creating listeners from proto://address
arguments (even supporting socket activation). Separate it out from
docker/ so people can use it much more easily.
In addition, make it less Docker-specific (despite there still being some
open questions as how to deal with some of the warnings that listeners
has to emit). We should move as much of the Docker-specific stuff
(especially the port allocation) to docker/ where it belongs (or maybe
pass a check function?).
This was somewhat inspired by docker/containerd#178 and #21700.

/cc @calavera

LGTM

LGTM


Persist and restore trace headers in workqueue

I left a TODO here tagging @tcnghia because he worked this magic for Pub/Sub: https://github.com/chainguard-dev/terraform-infra-common/blob/c79371caaa455bb662d39eeed4f8f683b6b35efb/pkg/workqueue/gcs/gcs.go#L70-L72
I'm guessing it's not a ton of work, but we need to extract the relevant headers and encode them above.
Then restore them here:
https://github.com/chainguard-dev/terraform-infra-common/blob/c79371caaa455bb662d39eeed4f8f683b6b35efb/pkg/workqueue/gcs/gcs.go#L250-L253
I also need to fix the dispatcher to properly use this Context() method, which is an oversight on my part, which I'll correct now.

For pubsub, this was the PR https://github.com/chainguard-dev/terraform-infra-common/pull/374 . Newer PubSub client sets a message attribute named googclient-traceparent which becomes a header with the same name.
In our metrics handler we just restore it like this https://github.com/chainguard-dev/terraform-infra-common/blob/main/pkg/httpmetrics/metrics.go#L135

For work queue, since we control the request dispatching, we don't need to do stuffs in a metrics handler, but just set the traceparent header directly.

Does that do what we expect transitively?  It feels like that would have a relatively shallow effect? 🤔


Make sure user properties are immutable when setUserInfo

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.02%. Comparing base (a7492b5) to head (9b99577).
Report is 1 commits behind head on mconstantin/rum-5525/add-integration-tests-for-sdkcore.

Additional details and impacted files
@@                                    Coverage Diff                                     @@
##           mconstantin/rum-5525/add-integration-tests-for-sdkcore    #2158      +/-   ##
==========================================================================================
+ Coverage                                                   69.95%   70.02%   +0.07%
==========================================================================================
  Files                                                         726      726
  Lines                                                       26974    26932      -42
  Branches                                                     4519     4504      -15
==========================================================================================
- Hits                                                        18868    18858      -10
+ Misses                                                       6831     6809      -22
+ Partials                                                     1275     1265      -10

Files
Coverage Δ

...n/com/datadog/android/core/internal/DatadogCore.kt
82.06% <100.00%> (ø)

... and 33 files with indirect coverage changes


Allow co-publishing

We currently only allow one imprint per book. ONIX does allow co-publishing, and we've been asked about this by a couple of publishers in the past

We've decided this is out of scope

Just a comment on that:
Considering Latin America, around 3,000 books (8%) of books a year are co-published with publishers from the region. This is something that will certainly be in demand in the future.
Source: Page 11 - https://editorial.urosario.edu.co/cartografia-edicion-academica

Just a comment about that: Considering Latin America, around 3,000 books (8%) of books a year are co-published with publishers from the region. This is something that will certainly be in demand in the future. Source: Page 11 - https://editorial.urosario.edu.co/cartografia-edicion-academica

What does that entail in terms of metadata? Are they co-published as each publisher produces the same book with different ISBNs etc. or do they simultaneously make available the same book with exactly the same everything?

As far as I can remember, I usually see both publishers publishing the same book, but each has adopted its own ISBN for both the printed and digital versions. All the metadata is the same.
Example:
The book, "O hospício da casa vermelha", is co-edited by Editora Fiocruz and Editora Unifesp. Both publishers are on SciELO, but the book is only listed in the Editora Fiocruz collection. If you search for the book's ISBN, there are four numbers, two for each publisher.
From a metadata perspective, incorporating a field for co-publishers would prevent duplication of book records in the system while enabling the same record to be featured in the collections of multiple publishers.
In the context of SciELO Books, if a book is co-published with another organisation that is also indexed in SciELO, it currently only appears in the collection of the publisher that submitted it for indexing. It does not appear in the collection of the other co-publisher due to a technical limitation of the metadata, as this was not initially foreseen.


someElement matcher should swallow errors from non-matching matchers

Consider the following code:
    expect([1, 2, 'foo'], someElement(matches(r"f..")));
I would expect this expectation to pass, since 'foo' matches /f../. However, it currently breaks with an error about 1 not being a subtype of String.

This issue has been moved to dart-lang/test#195.


Feature Request / Discussion: smart credentials selection, smart target selection, caching

Please Describe The Problem To Be Solved
First of all, this is an enhancement that I'd be open to implement myself via a Pull Request, but it is sufficiently complex that I'd like to discuss with maintainers before starting work on it, to determine the best course of implementation.
Many actions in netexec have prerequisites, such as:

Having credentials,
Having admin rights on the targets,
The target having a specific service enabled (ad cs, etc.).

And there is no feature to automatically select the right set of credentials to apply a given module or action on the right set of targets.
Currently, netexec has the -id feature allowing to do something using some or all known credentials
But credentials selection remain manual (you have to export the creds table and do a lot of grepping to e.g., get a list of all users with admin rights on one machine)
Target selection remains also largely manual, you similarly have to extract tables and use grep to e.g., get a list of targets where you have at least one set of credentials with administrative rights.
And you also have to manually keep track of "what's been done with this set of credentials on which targets", there is no easy way to determine "ok I have dumped dpapi secrets on this set of machines, but I just got a new set of credentials, I'd like to know if they have admin rights on new machines, and possibly dump dpapi secrets on these new machines"
In a typical engagement, that means I usually end up with hundreds of CSV files with names like "new_admin_creds_to_try" and I do a lot of grep|cut|join to get my lists of credentials and targets to move on to the next step.
It would be nice if netexec provided a way to do away with all these CSV files and provided a smart built-in creds and target selection.
Suggested Solution
I've delved into the code base a bit to see how this could be done pragmatically, and here are my first ideas:

Add an "auto" keyword to the "-u", "-p", "-id" options as well as the target selection
a command may thus look like: nxc smb auto -id auto --shares
Where credentials selection happen (typically where the "all" keyword of the "-id" selection is processed), introduce logic that would:
a) Have a look at the arguments (what we are doing),
b) If autoselection is not currently implemented for one of the actions selected, raise something like NotImplementedError,
c) Infer the prerequisites from what we are currently doing ("does enumerating shares require admin rights ? No, we can try with all credentials in the db") ("does dumping sam require admin rights ? yes, filter out all creds with an admin count of 0"),
d) Automatically select from the db the set of credentials that meet the prerequisites, based on the highest prerequisites (if something requires admin rights, filter out all credentials that are not admin).
Apply a similar logic for target selection:
a) Have a look at the arguments (what we are doing),
b) If autoselection is not currently implemented for one of the actions selected, raise something like NotImplementedError,
c) Infer the prerequisites from what we are currently doing ("does enumerating shares require admin rights ? No, we can try with all hosts in the db") ("does dumping sam require admin rights ? yes, filter out all hosts where we have no admin creds"),
d) Automatically select from the db the set of credentials that meet the prerequisites, based on the highest prerequisites (if something requires admin rights, filter out all credentials that are not admin).

It can even be smarter: if what we are doing requires local admin rights on one machine, and we have more than one set of admin credentials, it is unlikely that we need to do it more than once, so we should only keep one set of (cred, target) per target in this case (ex: there is no need to dump SAM twice). This seems harder to implement however, and may not be feasible at credentials selection time (if we have the creds A, B C, A and B being admin on target X, B being admin on target Y and C being admin on target Z, then we can neither remove A nor B).
And the cherry on top, an addition that would make this feature truly amazing:

Create a table in the db, to keep track of what has been done on each target with each set of credentials. Did we enumerate shares on this target with these creds already ?
If indeed something has already been done on a target, do not do it again (remove the set of credentials from the selection if the action does not require admin rights, remove the target otherwise)
The db would be updated automatically, but I don't know yet where in the code (maybe as a module? I need to delve a bit deeper in the code to have a clearer picture).
This feature would be opt-in or opt-out (preferably opt-in, with a new switch?), and may or may not be implemented at the same place as smart creds/target selection (in which case only this selection method would benefit) or elsewhere (in which case it may also be enabled with the usual creds input methods)
In fact, this "caching" mechanism would probably be implemented at a later time (different Pull Request) than the previously discussed selection mechanism.
Some finesse might be required: if the SAM has been dumped with lsassy, surely there is no need to do it again with another method

The problems and challenges of these ideas are that they fall apart pretty fast (or rather, the complexity explodes) if one is trying to do multiple things (like enumerating shares and dumping dpapi secrets) simultaneously, because filtering becomes a nightmare (we've already enumerated shares but not dumped the secrets, so can't filter things at target selection, and introducing logic down the line will quickly become very annoying and unmaintainable. To address this, I'd like at first to tell users that doing more than one actions is unsupported and raise an error, but there may be a better, smarter way.
Also, it has the potential of being a footgun (users locking accounts and crashing stuff) and introduce bugs, so I'd like to tackle this conservatively, by first implementing the scaffolding (adding support for these arguments in args parsing and raising appropriate NotImplementedError on target/creds selection, before writing selection logic)
also, the whole DB caching would be implemented after at least some trivial actions such as listing shares are already done
I do not expect to really start work on this right away (I'll probably start this summer), so this is supposed to be a long-standing issue, I'm posting it mostly to get feedback from maintainers ahead of time

Hey there!

Some finesse might be required: if the SAM has been dumped with lsassy, surely there is no need to do it again with another method

lsassy doesn't dump the SAM :)

Dammit
I thought I'd reread the message enough times to correct all the mistakes, but no of course not.
It took the author of lsassy himself to notice this one :)
Thanks for pointing it out, I fixed the first message

Hi, first of all thank you for taking the time and effort for writing down and explaining your idea! It is always awesome to know that people really put a lot of effort into thinking how to improve the tool :)
I can see how it can be hard to track down which credential sets have access to what kind of machine. I have taken some time to think about such an auto selection feature, but i am still torn. For me it is critical to always know exactly which credentials i use for which command. This is why i am not sure if i would like to have something that decides for me which credentials to use, which could potentially harm the environment i am working in.
One example would be due to a bug or a missconception what the feature does, it does not select my created set of admin credentials, but a critical one because perhaps the id in the database is lower than my set of credentials (because it was added earlier) and than locks out an important admin/service account because of a fgpp or else. Imo selecting credentials should always be an active process and could be dangerous to automate. But that is only my view, happy to hear other point of views.
As i can still see the problem of keeping track if you have already owned a host or even which actions have been performed on it. Perhaps a more passive approach would be better suited? Maybe something like an auto suggesting feature would be an option, which could be turned on in the config and than suggests a set of credentials for a given host, if found in the database. This could also include information such as level of privilege on that host (admin/sudo/normal user), id in the database for the selection or even number of total owned hosts.
To the technical part of this:
Before such a feature (if we agree to integrate it) could be implemented there is probably still a lot of work to be done on the database side of nxc. For example ldap does not have this implemented correctly (alteast it is not working at the moment).
But, perhaps we could use the integrated system of the @requires_admin label on functions and the information about the two different kind of login functions inside of the modules (on_login and on_admin_login), but i think it would be just easier to select the highest privileges available instead of matching credentials to a set of commands (could get even be really difficult if you chain commands).
Though, most of the information for a rudimentary credential selection/suggestion feature should be already available inside the database, such as cross mappings from credentials to owned hosts. But still, this is probably not working 100% reliable on every protocol (if even implemented for all protocols, not sure atm) and would need to be checked&implemented if missing.
I would still like to hear other thoughts on a potential auto selection or suggestion feature @mpgn @Marshall-Hallenbeck  @zblurx.
Would you like to have such a feature? Do you see any technical or logical problems with auto selecting or auto suggesting credentials?

Hey, thanks a lot for bringing this discussion
In my opinion auto selection of credential is very dangerous: you can easily block target or use credentials you don't want to. Personnaly I would never use this.
Auto suggestion is already available through Bloodhound integration (or maybe I don't get your idea)
What could be really cool is your idea of keeping tracks of what has been dumped on which target, and also working on the DB to improve information storage (what has been dumped, when where and with which set of credentials)


Implication Operator has meaningless options

Right now the comparison operator includes --> and <--> which have no meaning.

Resolved in Dev


⚠ Envirometal has degraded performance

In 9f9d5e4, Envirometal (https://envirometal.stage.clicki.digital/) experienced degraded performance:

HTTP code: 200
Response time: 14382 ms

Resolved: Envirometal performance has improved in 403f660 after 5 minutes.


atom doesn't install

Hello,
I am experiencing problems installing atom.
I am using Windows 7  x64. There seems to be a lot of discussions about this problem but I am still not able to find a solution.
Downloaded atom from official site and run it.
Asked for permission:

Then the update problem:

and failed to install

When I tried it for the second time asked for my permission TWO times

I didnt run it as administrator!!
Tried to download some of the other releases ,disabled antivirus and windows defender , none worked .
also my squirrelsetup is empty.
If I try it again asks for my permission two times and "run as a normal user problem".
How do I install it?

Has the problem 'run as a normal user instead of run as administrator' been solved before ? Couldn't find nothing.

Thanks for reaching out - so it looks like you don't have a long username and you've disabled antivirus which is good since those are 2 common issues.
I haven't seen that "Please re-run this installer as a normal user" popup before either (and as far as I know, even if you try to run as admin, that doesn't actually run as admin).
Not sure if this is a general issue with the installer framework we use:
https://github.com/Squirrel/Squirrel.Windows/issues/482
Does portable mode work for you?
https://flight-manual.atom.io/getting-started/sections/installing-atom/#portable-mode
Lastly, please use the issue template as much as possible when opening issues, the information and organization of the template is super helpful for us.

Thanks again for your issue!
We haven't received a response to our question in this comment https://github.com/atom/atom/issues/17118#issuecomment-380903533. With only the information that is currently in the issue, we don't have enough information to take action. I'm going to close this but don't hesitate to reach out if you have or find the answers we need, we'll be happy to reopen the issue.


Docs for "Extending the CMS actions" need updating

Affected Version
4
Description
The documentation for adding/extending CMS actions here don't work in practice:
https://docs.silverstripe.org/en/4/developer_guides/customising_the_admin_interface/how_tos/extend_cms_interface/#extending-the-cms-actions
Assuming someone tries to do this on their DataObject, which is surfaced in the CMS as part of a ModelAdmin, or a GridField via an ORM relationship on a page, $dataObject->getCMSActions() is never called so doesn't show up in the interface.
You can extend GridFieldDetailForm_ItemRequest and updateCMSActions, but you need to do type checking on the record class as well, and this doesn't match the docs.
Another possibility is that we could do this patch, but this logic was the same in SS3 as well as 4, so it still wouldn't have matched the documentation:
diff --git a/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php b/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php
index 5667ee371..a8facfad0 100644
--- a/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php
+++ b/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php
@@ -277,7 +277,7 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler
     {
         $canEdit = $this->record->canEdit();
         $canDelete = $this->record->canDelete();
-        $actions = new FieldList();
+        $actions = $this->record->getCMSActions();
         if ($this->record->ID !== 0) {
             if ($canEdit) {
                 $actions->push(FormAction::create('doSave', _t('SilverStripe\\Forms\\GridField\\GridFieldDetailForm.Save', 'Save'))

See https://stackoverflow.com/questions/54251162/silverstripe-4-0-4-getcmsactions-not-working-as-expected-on-dataobject

Also see:

https://github.com/silverstripe/silverstripe-cms/issues/2064
https://forum.silverstripe.org/t/how-to-add-a-new-button-to-cms/2686

Seems to be quite a few problems like this in the docs. We should have an international 'fix the docs' working bee 😄 everyone can choose a page, test the examples and make sure they actually work.

This piece of the documentation applies only to the pages.
If you want to do something with any other DataRecord that is displayed via the Grid, check out this - https://forum.silverstripe.org/t/how-to-add-a-new-button-to-cms/2686/4?u=gurucomkz - there's an example on how to actually add something to the footer of the grid-provided editor.

@lekoala to the rescue!
https://github.com/lekoala/silverstripe-cms-actions

@lekoala to the rescue!
https://github.com/lekoala/silverstripe-cms-actions

@jonom Keen to organise a working bee? I think that's a great idea. Maybe ask for interest on Slack, and find a way to divy up the work and avoid duplicate effort? Happy to review PRs.

@jonom Keen to organise a working bee? I think that's a great idea. Maybe ask for interest on Slack, and find a way to divy up the work and avoid duplicate effort? Happy to review PRs.

@sheadawson thanks for mentioning my module ! I think there are quite a few issues regarding adding actions to dataobjects. You may want to add actions in the modeladmin EditForm, or directly on the row. Look at the amount of code needed for instance in the dhensby/silverstripe-masquerade module, when it should really just be "define the action with it's icon, and run a function that matches the button".
I do believe this kind of stuff deserve to be in the core of the framework. Meanwhile if you find yourself needing to do that kind of stuff, hopefully my module works quite well as far as I can tell :-)

@sheadawson thanks for mentioning my module ! I think there are quite a few issues regarding adding actions to dataobjects. You may want to add actions in the modeladmin EditForm, or directly on the row. Look at the amount of code needed for instance in the dhensby/silverstripe-masquerade module, when it should really just be "define the action with it's icon, and run a function that matches the button".
I do believe this kind of stuff deserve to be in the core of the framework. Meanwhile if you find yourself needing to do that kind of stuff, hopefully my module works quite well as far as I can tell :-)

@jonom Keen to organise a working bee?

@chillu I wish Hacktober was closer! Would be a great time to do that as I think participation would be a lot better under that banner. TBH I don't have the capacity to organise this in the short term, but I'm going to put a note in my calendar to revisit this at the start of September... I'm sure the docs will still have some parts that need cleaning up come October 😅 If anyone wants to organise something beforehand though please do and I will surely find some time to review a few pages.
Note to self: git blame could be useful to identify stale sections of docs pages, and significant contributors to certain pages who may be interested in bringing them up to date.

@jonom Keen to organise a working bee?

@chillu I wish Hacktober was closer! Would be a great time to do that as I think participation would be a lot better under that banner. TBH I don't have the capacity to organise this in the short term, but I'm going to put a note in my calendar to revisit this at the start of September... I'm sure the docs will still have some parts that need cleaning up come October 😅 If anyone wants to organise something beforehand though please do and I will surely find some time to review a few pages.
Note to self: git blame could be useful to identify stale sections of docs pages, and significant contributors to certain pages who may be interested in bringing them up to date.

I do believe this kind of stuff deserve to be in the core of the framework. Meanwhile if you find yourself needing to do that kind of stuff, hopefully my module works quite well as far as I can tell :-)

If we could get a PR that improves this without making breaking changes, I'd certainly support it! Probably the general approach would be to add a new API for this purpose and make sure that the current code of say the masquerade module doesn't break.

I do believe this kind of stuff deserve to be in the core of the framework. Meanwhile if you find yourself needing to do that kind of stuff, hopefully my module works quite well as far as I can tell :-)

If we could get a PR that improves this without making breaking changes, I'd certainly support it! Probably the general approach would be to add a new API for this purpose and make sure that the current code of say the masquerade module doesn't break.

If we could get a PR that improves this without making breaking changes, I'd certainly support it! Probably the general approach would be to add a new API for this purpose and make sure that the current code of say the masquerade module doesn't break.

i'll check if i can do something based on my current codebase and see what can be applied. As explained by @robbieaverill the main starting point in fixing this is to do
- $actions = new FieldList();
+ $actions = $this->record->getCMSActions();

That alone would be a breaking change itself since it would mean that actions defined previously would appear suddenly :-) but i don't think there are a lot of people that would complain that cms actions appear in the cms.
then, the idea is to extend FormAction or create another class like I did. Currently, I'm using a little trick which is to use an array notation (doCustomAction[myAction]) to submit all actions to a single endpoint. The array notation serves as a parameter that allows me to know which action to run on the DataObject. That works well, but it feels like a hack :) (not sure you would like it in the core framework).
Then there are a couple of features related to the save and close, save and next, save and prev. I think the little arrows to navigate on the bottom right are a great addition, but being able to save and navigate is also very useful when batch editing records.
that's the general idea. if we can already do this, that would be a great addition for everyone in my opinion.

If we could get a PR that improves this without making breaking changes, I'd certainly support it! Probably the general approach would be to add a new API for this purpose and make sure that the current code of say the masquerade module doesn't break.

i'll check if i can do something based on my current codebase and see what can be applied. As explained by @robbieaverill the main starting point in fixing this is to do
- $actions = new FieldList();
+ $actions = $this->record->getCMSActions();

That alone would be a breaking change itself since it would mean that actions defined previously would appear suddenly :-) but i don't think there are a lot of people that would complain that cms actions appear in the cms.
then, the idea is to extend FormAction or create another class like I did. Currently, I'm using a little trick which is to use an array notation (doCustomAction[myAction]) to submit all actions to a single endpoint. The array notation serves as a parameter that allows me to know which action to run on the DataObject. That works well, but it feels like a hack :) (not sure you would like it in the core framework).
Then there are a couple of features related to the save and close, save and next, save and prev. I think the little arrows to navigate on the bottom right are a great addition, but being able to save and navigate is also very useful when batch editing records.
that's the general idea. if we can already do this, that would be a great addition for everyone in my opinion.

Probably the general approach would be to add a new API for this purpose and make sure that the current code of say the masquerade module doesn't break.

Just flagging that if potential changes don't strictly break an API but may nonetheless break another module it may not be a deal-breaker. There's a precedent with the FocusPoint module where a pre-emptive patch was made to support an upcoming core change, so that could be an option.

Probably the general approach would be to add a new API for this purpose and make sure that the current code of say the masquerade module doesn't break.

Just flagging that if potential changes don't strictly break an API but may nonetheless break another module it may not be a deal-breaker. There's a precedent with the FocusPoint module where a pre-emptive patch was made to support an upcoming core change, so that could be an option.


MM-22017 Fix Markdown component not respecting mentionHighlight flag

Summary
When mentionHighlight: false was passed as an option to our text formatting function it would output HTML that did not highlight any mentions for the current user but the AtMention component created by that HTML being passed to our messageHtmlToComponent function would not take that into account and would highlight the mentions for the current user anyways.
@hmhealey the patch works but please let me know if there's a better way I should go about this
Ticket Link
https://mattermost.atlassian.net/browse/MM-22017

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-4819.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

Test server destroyed

Bump @hmhealey @bradjcoughlin

/update-branch

/cherry-pick release-5.21


zziplib: 0.13.74 -> 0.13.78

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/zziplib/versions.
meta.description for zziplib is: Library to extract data from files archived in a zip file
meta.homepage for zziplib is: https://github.com/gdraheim/zziplib
meta.changelog for zziplib is: https://github.com/gdraheim/zziplib/blob/0.13.78/ChangeLog
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.78 with grep in /nix/store/j38f16p9blw98wa9lynj9svy9bzdi2xn-zziplib-0.13.78
found 0.13.78 in filename of file in /nix/store/j38f16p9blw98wa9lynj9svy9bzdi2xn-zziplib-0.13.78

Rebuild report (if merged into master) (click to expand)

362 total rebuild path(s)

362 package rebuild(s)

First fifty rebuilds by attrpath

R
advi
aider-chat
alephone
aligator
apostrophe
asciidoc-full
asciidoc-full-with-plugins
asymptote
auctex
auto-multiple-choice
avrdude
avrdudess
blahtexml
bluespec
bonmin
cantor
casadi
catdvi
cddlib
cegui
clevis
crocoddyl
dblatex
dblatexFull
denemo
diffoscope
digikam
disorderfs
dot2tex
eclib
enblend-enfuse
evince
extractpdfmark
fastcap
frescobaldi
gap
gap-full
gap-minimal
gfan
giac
giac-with-xcas
glom
gnome.evince
gnome.sushi
gnucobol
golden-cheetah-bin
gp2c
gummi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/j38f16p9blw98wa9lynj9svy9bzdi2xn-zziplib-0.13.78 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A zziplib https://github.com/r-ryantm/nixpkgs/archive/8ed9892aacfed2da8d7c9ee132b8461044ee9362.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/8ed9892aacfed2da8d7c9ee132b8461044ee9362#zziplib

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/j38f16p9blw98wa9lynj9svy9bzdi2xn-zziplib-0.13.78
ls -la /nix/store/j38f16p9blw98wa9lynj9svy9bzdi2xn-zziplib-0.13.78/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 120m and timed out

Maintainer pings
cc @AndersonTorres for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

@NixOS/nixpkgs-merge-bot merge

@NixOS/nixpkgs-merge-bot merge

@NixOS/nixpkgs-merge-bot merge

hmm, something seems weird here


Add options for permitted list members, implement multiple option

This adds (optional) options for each permitted parameter. The first option is multiple, a simple way force parameters into or out of an array, e.g.
// req.path = /search?tag=123&tag=456

guestlist.guard('query')
  .permit('tag', guestlist.rule().isInt().toInt(), { multiple: true })

Pull Request Test Coverage Report for Build 17

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-2.3%) to 95.631%

Files with Coverage Reduction
New Missed Lines
%

dist/core/patrol.js
3
81.82%

Totals

Change from base Build 15:
-2.3%

Covered Lines:
152

Relevant Lines:
155

💛  - Coveralls


flatpak-spawn: command not found with opensuse/toolbox image

For example, on openSUSE MicroOS, I get:
teohhanhui@toolbox-teohhanhui-user:~> code
/home/teohhanhui/bin/code: line 210: flatpak-spawn: command not found
Visual Studio Code Flatpak is not installed. Install? (y/N)

Actually I just need to install the flatpak-spawn package inside the container.


Updated README.md

Changed link to datasets

It's a bitly link for tracking, but thanks for the diligent pedantry!


Version 0.3.0 Documentation Update

Pages Changed

Website Roster Searchbar (most likely needs a page)
Site version number

Closed by #100


Add Skip Releases Option

Closes https://github.com/github/octoshift/issues/4226.

[x] Did you write/update appropriate tests
[ ] Release notes updated (if appropriate) (see https://github.com/github/gh-gei/pull/329#issuecomment-1090954211)
[x] Appropriate logging output
[x] Issue linked: https://github.com/github/octoshift/issues/4226

Hey @dylan-smith, do you think we should add some release notes for this contribution?  This is being shipped as a hidden feature for now, so maybe the release notes should be added when it becomes un-hidden?  What do you think?

I agree with that. Release notes when we unhide it.


Support for Pug templates

I'm using Nuxt in most projects, but I'm using Pug template engine too, together, it this very useful.
I think it will be very good option if it will be possible to add Pug template engine during create-nuxt-app installation.
Also in this case will be great if boilerplate contain Pug templates from the scratch.

I'm using Nuxt in most projects, but I'm using Pug template engine too, together, it this very useful.
I think it will be very good option if it will be possible to add Pug template engine during create-nuxt-app installation.
Also in this case will be great if boilerplate contain Pug templates from the scratch.

Good idea!


Fix vale config

Looks good, and now the errors show up in the PR page.

Okay, it's not perfect yet but Use 'i.e., ' instead of 'IEEE'" made me laugh.


Cow: Watch pricesmalaysia.com

Cow requests the watch of the watch_keyword pricesmalaysia\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

pricesmalaysia\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Links with Chromium directly instead of linking its shared library

This PR changes the building model of atom-shell to link with the static library version of all Chromium's components, instead of linking with the huge libchromiumcontent shared library.
So:

We will have a huge atom.exe, instead of a normal executable file with a huge chromiumcontent.dll.
64bit Windows build will be possible. (#980)
We will have small improvements on file size and performance because static linking allows linker and compiler to work with best optimization.
The building of Release version would take much longer time.
The Debug version still builds with shared library version of Chromium to allow fast development phase.

In order to avoid symbol conflicts between Node's OpenSSL and Chromium's BoringSSL, Node and V8 has been compiled to a standalone shared library, as a side effect, renaming atom.exe on Windows won't break native Node modules anymore.

Doesn't this have any licensing issues for closed source apps. Does FFMPEG (LGPL) allow static linking?


Hiding Button??

I want to hide all the buttons except the next/previous button for changing pages for pdf. Any idea, how to hide????

Got it. Didn't notice those button that you mentioned at the bottom of page


v3.3.0 - Compatibility with the new Wall

This update brings compatibility with the new, authentication-based version of CodyColorWall.

The database schema has been modified adding a new column in the table 'MatchParticipants', to keep track of matches with a connected wall user. The new table WallUsers has been added. The updated script create.sql is self-configuring and backward compatible: it is sufficient to execute it with the 'make install' command in order to apply it;
All of this is necessary to extract some match stats using SQL queries, that are shown in the Wall Profile screen for the users;
The wall users authentication flow is now handled;
A small error in the previous SQL queries has been fixed.

It is necessary to update also CodyColorClient in order to make the system work correctly. Updating CodyColorWall to v3.2.1 is not required instead, even though recommended.

Added Wall royale features. In particular, it now recognizes wall royale matches, configuring them in a way that the first human match user becomes the organizer.


[Feature] Show top 5 process that consume the most memory at time of execution

Please describe the feature you want this project to offer
It would be nice if termiboard shows top 5 process that's consuming ram the most.
Describe the solution you'd like
Implementation of GetTopProcesses() function in memory.go file
Describe alternatives you've considered (Optional)
You can try achieving this using gopsutil library that this project is already dependent on.

Hi @DarthBenro008 may I get this assigned to me?

Sure @scanepa , Best of luck! :)


[EPIC] Realm profiling

We currently do not have a dedicated way to profile Realm. At this stage, the primary "client" of Realm is Legion, which uses its own custom profiling solution. For analyzing Realm, we rely on the existing logging infrastructure, which may not always be the best approach, particularly when dealing with complex applications.
This is an umbrella issue where I propose addressing the following questions: What specific information are we missing today? And, in conjunction with this, what data is the current Legion profiler lacking? Does it provide all the insights needed to fully understand what's happening within Realm?
If we reach a consensus on the need for a custom Realm profiler, we can document the requirements and assess existing solutions to determine if any are suitable—for instance, Tracy. Additionally, we've made an initial attempt to integrate Realm with Nsight Profiler by adding a library to inject NVTX tags. We need to decide whether we want to continue developing this integration. If so, will it be sufficient for all users? If not, should we maintain it alongside another profiling solution? There are a number of older attempts scattered across different branches..for example bgwork profiler or unmaintained profiling infrastructure  that also needs to be looked into.
On a related note, would it be worth considering the development of a generic profiling layer within Realm that could provide "adapters" for whichever solution we choose to support (if we choose to support any)?
cc @muraj @elliottslaughter  @manopapad  @lightsighter @eddy16112 @magnatelee

IMHO it is definitely desirable to have Realm dump pre-digested profiling information (replacing / in addition to profiling callbacks), for visualization in legion-prof, to support the profiling of pure-Realm applications. AFAIU most of the concepts in the profiler should apply to Realm (with some exceptions, e.g. critical path information).

A couple thoughts:

To the extent that any Realm information is currently missing in Legion Prof, I think that should be the highest priority. I have no issue with you integrating any other solutions that you want, but Legion Prof is the only system that presents high-quality information about Legion end-to-end. To the extent that there are parts of Realm that we cannot see into at the moment, it would provide a lot more value to have those all in one place rather than finding a separate solution which we then need use in combination with Legion Prof to get value for most users.
I realize that doesn't give you a dedicated profiling solution for Realm. It's at least conceivable that you could generate Legion Prof format logs, either by lowering some of the logging infrastructure into Realm, or doing a standalone bare bones implementation yourselves. The model is not that complicated; the majority of the complication comes from the richness of Legion's programming model (which Realm is not obligated to use). Anyway, I'll just mention that as an option.
For whatever it's worth, Legion Prof already provides multiple backends, but we've found that the others are often lackluster. E.g. we found that Google Trace Viewer (used for TensorFlow) simply will not load profiles beyond a certain size.  The new NVTXW integration for Legion Prof is very basic and doesn't provide the full fidelity of information available to Legion Prof, nor do I think it will do so any time soon (as the models are too different). While Realm is lower-level than Legion, it seems to me that Realm has more in common with Legion than it does with, say, MPI, so a lot of pre-existing solutions may not work that well for Realm.

Does it provide all the insights needed to fully understand what's happening within Realm?

The answer to this is definitely a 'no'.

What specific information are we missing today? And, in conjunction with this, what data is the current Legion profiler lacking?

I think the main information that we are missing is:

When are the background workers actually busy (not just spinning/polling)?
When they are busy, what are they busy doing (e.g., what kinds of background work items)?
When is the network "congested", e.g. GASNet/UCX are having trouble putting messages on the wire?
When the network is congested, what are the breakdowns of messages and where are they going? Is it only specific endpoints that are congested or is it all of them?

On a related note, would it be worth considering the development of a generic profiling layer within Realm that could provide "adapters" for whichever solution we choose to support (if we choose to support any)?

I think at a minimum, this information should be somehow available through Realm's existing ProfilingResponse interface so that clients can record it however they like (including Legion). If we want to build separate profiling infrastructure and stuff that is fine too, but profiling needs to continue to be dynamically available at runtime, and come back through the profiling response interface.

I realize that doesn't give you a dedicated profiling solution for Realm. It's at least conceivable that you could generate Legion Prof format logs, either by lowering some of the logging infrastructure into Realm, or doing a standalone bare bones implementation yourselves. The model is not that complicated; the majority of the complication comes from the richness of Legion's programming model (which Realm is not obligated to use). Anyway, I'll just mention that as an option.

I agree that I think Legion Prof can be used as a visualizer for Realm programs. I think most of the relationships that Legion describes today could even be inferred from general Realm programs (see below). I think if you ignore the Legion-specific logging statements then Legion Prof should be able to be used as a profiler for general Realm applications. If Legion Prof doesn't work just rendering Realm-only programs then we should do what we need to do in order to fix that.

AFAIU most of the concepts in the profiler should apply to Realm (with some exceptions, e.g. critical path information)

Actually the critical path stuff that is there now should work on generic Realm applications too. You'll need to do some extra logging like for every Processor::spawn call recording the Processor:get_current_finish_event of the task that called Processor::spawn. Independently, you'd need to record every instance that has an accessor made by a particular task (also associated with the Processor::get_current_finish_event).

The network profiling stuff would probably be super helpful for the slingshot-11 issues we're seeing.
I would personally still like some sort of optional "live mode" for profiling realm as mentioned in #1607 as we very frequently have no information at all when we are trying to debug hangs and freezes at the scale of 2048, 4096, and 8192 nodes. Its very frustrating.

I would personally still like some sort of optional "live mode" for profiling realm as mentioned in https://github.com/StanfordLegion/legion/issues/1607 as we very frequently have no information at all when we are trying to debug hangs and freezes at the scale of 2048, 4096, and 8192 nodes

I don't think this is the right place to have that discussion. (Probably deserves its own issue because of the complexity involved; I don't even know how you would make that work since a lot of what we need to do involves needing the whole profile logs.) It does motivate the need for Realm to continue to make all of its profiling results available dynamically through the profiling response interface though.

I realize that doesn't give you a dedicated profiling solution for Realm. It's at least conceivable that you could generate Legion Prof format logs, either by lowering some of the logging infrastructure into Realm, or doing a standalone bare bones implementation yourselves.

Using Legion Prof to profile Realm does sound reasonable given two have a lot in common and significant effort has been put into developing Legion Prof. However, I am not convinced about the effort it may take. @elliottslaughter Is there a good pointer you can provide about the Legion Prof logging formats and some details how it's all being stored right now?

Using Legion Prof to profile Realm does sound reasonable given two have a lot in common and significant effort has been put into developing Legion Prof.

That means we need to extend the realm profiling API for these internal profiling data such as active message, bgwork, etc. There could be two issues:

Sending these data to the requester (the node where the profiling task is executed) is costly. These data could be much bigger than the one provided by the current profiling API we have today.
Profiling API is user-level API, which means realm applications have to do whatever Legion does today: call profiling API, collective data into memory, stream data into files.

I think for realm applications, we need to directly dump the profiling data into files

This is exactly what I was talking about by asking about the format and existing infrastructure that is used to manage the underlying storage.

The questions about generating the profiling format are for @lightsighter, as this is all code that resides in Legion at the moment. I suppose it's possible that code could be factored out to make it generally available to other users. (I don't personally think it's worth duplicating since the format is fairly specific.)

@elliottslaughter I do not think the format @apryakhin mentioned is the Legion format. If I understand it correctly, we will by pass the Legion and let realm dump its profiling into files that can be read by Legion prof viewer directly.

That's the format that legion_prof reads....
If you want to know how to write to that format, there is exactly one place we currently do that: in the Legion code.
If you want to see the parser side code, you can look at Rust, but I think it's more informative to read the serializer code that actually writes the data (which also happens to be in C++).
If you're talking about the archive format produced by legion_prof archive, then no, I do not recommend generating that. Full stop. There is a vast amount of business logic going into the process of generating that format, which is exactly why I don't recommend that anyone read the Rust State directly. And similarly, writing to that format would mean duplicating all that logic.

I feel like we might need to deal with the archive format if we pick legion prof viewer, because the data generated by the current realm profiling API does not 100% align with the legion prof, e.g. we do not have the notion of meta task, mapper call in realm, so we can not directly use the rust serializer to read realm data.

@lightsighter addressed this here: https://github.com/StanfordLegion/legion/issues/1777#issuecomment-2423382208

I agree that I think Legion Prof can be used as a visualizer for Realm programs. I think most of the relationships that Legion describes today could even be inferred from general Realm programs (see below). I think if you ignore the Legion-specific logging statements then Legion Prof should be able to be used as a profiler for general Realm applications. If Legion Prof doesn't work just rendering Realm-only programs then we should do what we need to do in order to fix that.

Mike and I are in agreement on this. And like I said above, a lot of the value-add for Legion Prof is in the processing stage, so you're really missing out (and duplicating work) is if you skip that. The UI is nice, and has a lot of relevant usability features (besides being very scalable), but it's fundamentally a dumb viewer. It just shows what you tell it to show. All the fancy business logic is in the core legion_prof and the analysis required to generate the dump in the first place.

The Legion Prof logging format is dirt simple. There's just a bunch of structures for various kinds of logging statements, those get dumped into a zlib file, and then Legion Prof parses each of them on the other side. For a stand-alone Realm application you should be able to completely ignore all the Legion-specific logging statements (which are a minority of the statements) and just use the general Realm logging statements and Legion Prof should still be able to render things. If there are exceptions to that @elliottslaughter or I will fix them. I'm even willing to build the library on top of Realm's existing interface to do this for generic Realm programs myself if it's not obvious how to do it.
I still think the most important problem we should be discussing here is how to get the data for the four questions I asked in my previous comment exposed through the Realm profiling response interface. That is going to be the hard thing to figure out. Figuring out how to render the data will be easy in comparison.

I still think the most important problem we should be discussing here is how to get the data for the four questions I asked in my https://github.com/StanfordLegion/legion/issues/1777#issuecomment-2423382208 exposed through the Realm profiling response interface.

I think 1 and 2 is not difficulty to get. I do not have an answer for 3 and 4, because I am not quite familiar with it. However, I am not sure if we want to expose them via the realm profiling API. For the bgwork, if we create a profiling response every time we pick up a bgwork item, there might be too many of them. Actually, I do not think realm users want to use profiling API to get such internal profiling data, e.g. the bgwork, because there is even no public API for bgwork. Network might be a different story, because we may attach those network data into realm copies.
As I said in my previous comment https://github.com/StanfordLegion/legion/issues/1777#issuecomment-2436478763, I do not think realm profiling API is the right way for realm applications. I think the current realm Profiling API is more like CUPTI, where applications can use it to get online profiling data, but if CUDA users do not use CUPTI, they can still use nsight to profile CUDA applications.

I'm even willing to build the library on top of Realm's existing interface to do this for generic Realm programs myself if it's not obvious how to do it.

I am not sure if I understand it. Realm applications do not have to use the Profiling API, but just run with your library?

For the bgwork, if we create a profiling response every time we pick up a bgwork item, there might be too many of them. Actually, I do not think realm users want to use profiling API to get such internal profiling data, e.g. the bgwork, because there is even no public API for bgwork.

I'm suggesting that we make such a public API for profiling bgwork. I agree that it can't give a response for every single bgwork item as that will be overwhelming, hence the reason that designing this well will be challenging.

I do not think realm profiling API is the right way for realm applications. I think the current realm Profiling API is more like CUPTI, where applications can use it to get online profiling data, but if CUDA users do not use CUPTI, they can still use nsight to profile CUDA applications.

I think all Realm profiling data should be available dynamically. @syamajala made a prescient comment about potentially wanting to do online rendering of the profile. This isn't something that Legion Prof supports today, but is something that would be good to support in the near future. Legion mappers might also want dynamic information about what's going on with the background worker threads as well. I think we should always support dynamic online profiling solutions and that will also enable offline profiling as well.

I am not sure if I understand it. Realm applications do not have to use the Profiling API, but just run with your library?

Yes, the library will provide drop-in replacements for many Realm API calls and the user will use those instead of canonical Realm API calls. The library will then capture all the needed data and add necessary profiling requests to get all the information that it needs and log it out to zlib files. It would be really nice if Realm had hooks for API calls (like MPI has with PMPI) so we could easily capture this information, but I think we can work around with out it for now.

I am OK with online profiling. I am just worried that if we want to expose so much internal data via online Profiling API, it will be challenge to keep the overhead as minimal as possible. We need to cache data into memory, and then send them to the node where the response task is executed.
Regarding the PMPI style hooks, I guess it won't work until we have a ABI stable API.

Maybe I'm missing something, but I believe the profiling API only responds to what you ask it for. So this would then be on Legion (or the standalone Realm profiling mode) to determine how much to ask for. We already have other tradeoffs in Legion where you can turn on modes that enable more profiling data to be collected.
Fundamentally, if you're chasing down an issue in Realm bgwork tasks, you need to see those in the profile. Right now we can't see them at all. I'm not sure whether we should make them visible by default, but having it as an option seems important in the long run.

I am OK with online profiling. I am just worried that if we want to expose so much internal data via online Profiling API, it will be challenge to keep the overhead as minimal as possible. We need to cache data into memory, and then send them to the node where the response task is executed.

Maybe I'm missing something, but I believe the profiling API only responds to what you ask it for

Both of these are touching on why doing this kind profiling is challenging. I think we'll need to define different "resolutions" of profiling for the client to ask for since some people will want all the data regardless of the cost and some other people will want to see a summary of the data in a "compressed" form that throws away some information but ensures that we log less data and minimize overheads to the actual application execution. We're going to need some knobs to turn to adjust the granularity of the profiling data we want to record, but it should be up to the user to declare what kind of resolution that they want.

Regarding the PMPI style hooks, I guess it won't work until we have a ABI stable API.

Understood. We don't need it right away. Would just be a nice feature to have eventually as it would make it possible to have this library be a completely drop-in replacement without any code changes.

When are the background workers actually busy (not just spinning/polling) ?

That has already been done by the Sean in the "custom bgwork profiler" branch. Whatever approach is there should be the matter of getting it to what it seems to be the legion prof based on the discussion.

When they are busy, what are they busy doing (e.g., what kinds of background work items) ?

Fundamentally that's close to the item 4 (see below) in terms of how to handle this. We have access to all bgwork info and can collect/organize the data.

When is the network "congested", e.g. GASNet/UCX are having trouble putting messages on the wire?

I am pretty sure this is something GASNet/UCX know to determine now. Should be as simple as the number of outstanding requests submitted to the backend vs internal limit on the number of those outstanding requests? I don't see a problem getting this information unless I am not thinking broad enough about the problem statement.

When the network is congested, what are the breakdowns of messages and where are they going? Is it only specific endpoints that are congested or is it all of them?

This is one is harder but not infinitely hard. To do this type of break down we just to find a way to order and store all commit calls. The messages can probably be intercepted inside the active message layer. Perhaps needs some smart sampling strategy to filter only a subset of the most "important" once. Is there anything else I am missing missing? @SeyedMir  I'm just speculating, but I'm surprised that neither UCX nor GASNET already offers stats on this. It seems pretty fundamental—maybe they do, and we just need to look more closely.

Okay couple of key points discussed so far just to summarize:

The profiling information should be "at least" available via ProfilingResponse which the interface that exists today already. That means whatever needs stats we add, we have to make sure those are reflected as part of this profiling interface. @lightsighter Is that accurate?

The recommendation is to go with Legion Prof as a viewer.

The recommendation is to make a library wrapping canonical realm interface that would add necessary profiling requests and dump them into the zlib files which essentially is the format that is consumed by Legion Prof today. Depending on the amount of information produced and required we are going to introduce a way to control the granularity of the profiling data

That means whatever needs stats we add, we have to make sure those are reflected as part of this profiling interface. @lightsighter Is that accurate?

Yes, that's correct. Whatever profiling data Realm collects, there should be a way to get at it dynamically through the profiling request interface.

The recommendation is to make a library wrapping canonical realm interface that would add necessary profiling requests and dump them into the zlib files which essentially is the format that is consumed by Legion Prof today. Depending on the amount of information produced and required we are going to introduce a way to control the granularity of the profiling data

I've developed a prototype version of this library here:
https://gitlab.com/StanfordLegion/legion/-/merge_requests/1519
It wraps the necessary parts of Realm's interface for profiling and dumps out data in the format that Legion Prof understands. It works for the few Realm programs that I've tried it on so far. All you need to do is replace all instances of Realm:: with PRealm:: and #include realm.h with #include prealm.h as well as linking against the prealm library. I will provide a demo at a future Realm meeting.


Incompatible TiDB Version

Error occurs when I import zetta into Goland:
go list -m -json all

go: finding github.com/pingcap/tidb v3.0.6+incompatible
go: finding github.com/pingcap/tidb v3.0.6+incompatible
go list -m<EMAIL_ADDRESS>invalid version: +incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required

I see GOPRIVATE is set in Makefile. Should I mirror<EMAIL_ADDRESS>and remove go.mod?

Thanks for reporting this issue. We are working closely with PingCAP and will resolve this issue soon.


Every word in PR window is highlighted with underline

Having an underline on every word makes it hard to read.
For example, when used in gh.nvim:

Using TSHighlightCapturesUnderCursor shows that the highlight group is LTSymbol which is defined as
        LTSymbol               = 'hi LTSymbol                 guifg=#87afd7 gui=underline',

When I remove this piece of code, this issue is fixed:
https://github.com/ldelossa/gh.nvim/blob/6fb1702df462d08f06df21c1e98d69ec08048cde/lua/litee/gh/issues/issue_buffer.lua#L171

This is weird, I don't think I've pushed a change which did this recently hmm.

fixed in: https://github.com/ldelossa/litee.nvim/commit/f8b778b95c152f1fe2021c163eead3a5b2b2889d
can you pull latest litee.nvim and confirm?

Yes this works!

Cool, must have just been something I over looked. Closing.


Cannot add filter controls to Filter visualization

Make sure these boxes are checked before submitting your issue - thank you!

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

Superset version
Master
Expected results
When I click on adding new filter control, new filter is added.
Actual results
When I click on adding new filter control, new filter is not added and the rest of page is blank.

Steps to reproduce

clone master
create new filter chart

Recently merged https://github.com/apache/incubator-superset/pull/6294 may help with these recent grey screens of death. For the record there's been major refactoring happening lately and we're in the process of stabilizing master. Hoping 0.29.0 will be a good release!


Scalability

Can we add more servers to speed up processing of tasks? I guess this will become more important once there will be a support for parallel workflow execution. We may have couple of hundreds thousand of execution of a workflow in a given day so it would be good to have a possibility to add more servers to support that scenario.  Is that something that is planned?

Great feature request. I will work on that on a future version of Wexflow. Thank you for your feedback.

The other use case would be more uptime because you could bring down your servers one at a time for updates (i'm thinking of using more than one pod/replica in kubernetes here).


Term "trust list"

Definition needed.

per @talltree:

a “trust list” is a specialized type of “trust registry”, where the distinction is that the presence of an entry on a trust list is a very simple linear form of trust graph, where the existence of an entry asserts it is authorized, whereas a trust registry accepts more generalized forms of trust graph.


Dataset

Hi @deepettas! You have done a great job @deepettas and thanks for the repo.
Can you please share the dataset or any link from where I can download the dataset?
Thank you

I am afraid that the dataset is confidential. You should be able to make a new one out of audio recordings pretty easily.

okay, Thank you @deepettas for your reply. Can you please help me with the structure of the training dataset, like how should I arrange the .wav files?
Example:
-training data
| --class1, class2, class3, class4.
Thank you.


allow to specify onerror

Well, the title says it all. It would be nice to be able to specify an onError function.

I've created a PR #6 for this.

Solved in #11


[Bug report]: After 6-digit pin code nothing appears

Platform
Desktop
Version
1.7.0
Description
When I enter the 6-digit pin code, it does nothing...I cannot log in..I just see the blue points (code) but nothings appears. And yeah its also updated. I have this problem like for 4 months now
Expected behaviour
Expected behaviour is just to log in my firefly wallet
Actual behaviour
Nothing appears after entering my 6 digit code
Can the issue reliably be reproduced?
Yes
Steps to reproduce the issue
No response
Operating System
Windows
Diagnostics
No response
Developer Profile
No
Profile Type
Software (Stronghold)
Staking
None
Crash Status
None of the above
Error Messages
No response
Error Logs
No response
Duplicate declaration

[X] I have searched the issues tracker this issue and there is none

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, is this still an issue in the latest version?

The network was recently upgraded, please download the latest firefly iota version 2.0.2

Closing issue due to inactivity, please update to the latest version and reopen the issue if the problem persist 🌷


[BUG] - Can't lauch after installation

Description
Tried

with/without Docker at ubuntu20.04(wsl) - failed
run_windows.bat at Windows 10 - failed

Reproduction steps
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots
![DESCRIPTION](LINK.png)

Logs
(kotaemon) root@ZD-PC:/home/aistudio/RAG/kotaemon# python app.py
Traceback (most recent call last):
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/site-packages/requests/models.py", line 974, in json
    return complexjson.loads(self.text, **kwargs)
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/aistudio/RAG/kotaemon/app.py", line 15, in <module>
    app = App()
  File "/home/aistudio/RAG/kotaemon/libs/ktem/ktem/app.py", line 42, in __init__
    self._theme = gr.Theme.from_hub("lone17/kotaemon")
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/site-packages/gradio/themes/base.py", line 187, in from_hub
    space_info = api.space_info(name)
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
    return fn(*args, **kwargs)
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/site-packages/huggingface_hub/hf_api.py", line 2520, in space_info
    data = r.json()
  File "/root/miniconda3/envs/kotaemon/lib/python3.10/site-packages/requests/models.py", line 978, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Browsers
No response
OS
No response
Additional information
No response

Same as you

Same problem

@linuaries It looks like Gradio failed to download the theme. Is there any issue with your internet connection, e.g. firewall blocking Gradio connection?

@linuaries It looks like Gradio failed to download the theme. Is there any issue with your internet connection, e.g. firewall blocking Gradio connection?

It seems Huggingface.co is blocked in China. But export HF_ENDPOINT="https://hf-mirror.com" also can't solve this problem.

@linuaries It looks like Gradio failed to download the theme. Is there any issue with your internet connection, e.g. firewall blocking Gradio connection?

It seems Huggingface.co is blocked in China. But export HF_ENDPOINT="https://hf-mirror.com" also can't solve this problem.

docker run .....-e https_proxy=ip:port ....    try a local ip like <IP_ADDRESS>, not <IP_ADDRESS> not localhost


Random generation of enums never includes the last enum-value

So if I wish to generate a random enum using this code ...
var statusType = GetRandom.Enumeration<StatusType>();

the result will be random, but it will NEVER include the last enum value.
Update
My initial reason was wrong, which was why I crossed out the convo below but didn't delete it for future reference, etc.

~why? cause of this..~

~So basically, with the .NET Random.Next(min, max) method :-~
~- min is INCLUSIVE (i.e. a possible random result)~
~- max is EXCLUSIVE (i.e. will never be a possible random result)~

~So to me this is crazy talk, but I cannot change the way Random.Next is implemented.~

~So this means, to fix this issue ... I'm not going to make any suggestions about all the non-enum methods, but for the enum one, I can just bump the max value.~
~PR incoming...~

Ok - so it seems like the code looks ok, but it still errors. So, heres a repo which can reproduce the errors:
using FizzWare.NBuilder;
using FizzWare.NBuilder.Generators;
using System;
using Xunit;

namespace nbuild_tests
{
    public class UnitTest1
    {
        private readonly Random rnd = new Random(System.Guid.NewGuid().GetHashCode());

        [Fact]
        public void TestPasses()
        {
            int counter = 0;

            for(int i = 0; i < 100000; i++)
            {
                var values = EnumHelper.GetValues(typeof(StatusType));
                var index = Next(0, values.Length);
                var statusType = (StatusType)values.GetValue(index);

                if (statusType == StatusType.Pink_LastItemInEnumCollection)
                {
                    counter++;
                }
            }

            Assert.True(counter > 0);
        }

        [Fact]
        public void TestFails_ButShouldPass()
        {
            int counter = 0;

            for(int i = 0; i < 100000; i++)
            {
                var statusType = GetRandom.Enumeration<StatusType>();
                if (statusType == StatusType.Pink_LastItemInEnumCollection)
                {
                    counter++;
                }
            }

            Assert.True(counter > 0);
        }

        // internal "Next" commad for getting the next random number.
        public virtual int Next(int min, int max)
        {
            return rnd.Next(min, max);
        }

        // Test Enum.
        public enum StatusType
        {
            Unknown,
            Red,
            Green,
            Blue,
            Pink_LastItemInEnumCollection
        }
    }
}

Fixed in develop.

This is still an issue for the other Enumeration(Type type) method. PR incoming.


Advancing Skills and Focused Development

In the first phase, participants delve deeper into skill enhancement and targeted development through the Curiosity Camp and Focus Hive programs. This phase builds on foundational skills, emphasizing refined learning strategies and advanced collaboration.
Curiosity Camp:

Professional Networking:

Leverage LinkedIn for expanding professional connections and opportunities.

Interactive Platforms:

Utilize YouTube, Microsoft Teams, and GitHub for dynamic learning and collaboration.

Integrated Tools:

Develop proficiency in using Atlassian, JIRA, Asana, Git, and Azure DevOps for project management and version control.

Innovative Learning:

Engage with AI and open-source platforms, earning Microsoft badges to validate skills and achievements.

Focus Hive:

Focused Skill Development:

Participate in specialized guides and camps designed to deepen knowledge in targeted areas.

Collaborative Projects:

Work on group tasks using advanced collaboration tools for real-world application and experience.

Advanced Tech Utilization:

Explore and master advanced tools to boost technical proficiency and innovation.

This phase is crafted to support participants in consolidating their foundational knowledge and advancing their skills in specific areas. Through Curiosity Camp and Focus Hive, participants gain hands-on experience and develop a more focused approach to their learning journey. The visual guide outlines the specifics and themes of this phase to assist in navigating and maximizing the opportunities presented.

Re-write the description and title.


Fix helm/botkube/values.yaml clusterrole namespace info

ISSUE TYPE

Bug fix Pull Request

SUMMARY
Fixes #194
helm/botkube/values.yaml file fix
missing 'include', 'ignore' keyword, so fix it.

@PrasadG193  I wonder we couldn't catch this in earlier testing. We are missing checks for invalid configuration ? How does this configuration gets parsed if it's invalid ?

@sanketsudake While Unmarshal, Golang skips the field if it is not matching the struct. Also, for testing we use config from https://github.com/infracloudio/botkube/blob/develop/config.yaml which doesn't have the field. I'll add this in e2e test

@daegeun-ha Could you please also update

https://github.com/infracloudio/botkube/blob/develop/deploy-all-in-one-tls.yaml,
https://github.com/infracloudio/botkube/blob/develop/deploy-all-in-one.yaml and
https://github.com/infracloudio/botkube/blob/develop/config.yaml
so that they are in sync

@daegeun-ha could you please also remove
  - name: clusterrolebindings
    namespaces:
      include:
        - all
      ignore:
        -

Redundant field from https://github.com/infracloudio/botkube/blob/develop/config.yaml

@daegeun-ha I have cherry-picked your changes and raised separate PR.
Thanks for catching and fixing this!


StatusCodeNotOk

I'm getting StatusCodeNotOk on everything -- is this a network issue? I installed the latest version
$ arloader upload *.json  --ar-keypair-path ~/arweave-keyfile.json --no-bundle
StatusCodeNotOk
StatusCodeNotOk
StatusCodeNotOk
StatusCodeNotOk
without no bundle
$ arloader upload *.json  --ar-keypair-path ~/arweave-keyfile.json
Uploading 4 files with 6 KB of data in 1 bundle transactions...
StatusCodeNotOk
Uploaded 0 KB in 0 files in 0 bundle transactions. Run arloader update-status arloader_hygiTCzJ898 to update statuses.

nevermind it must have been an arweave issue, resolved itself the next day


drivers: kscan: mchp: low power mode enabled

Updated KSCAN driver and dts files to support low power feature.

@albertofloyd could you please help to review?

@jvasanth1 @albertofloyd will you please take a look?

@Manimaran-A could you rebase please?

@albertofloyd @jvasanth1 Could you please re-approve the PR


How to disable spaces?

Hello. How to disable this spaces in month - http://joxi.ru/MAj0J7psvljWem ?

You can't

Thank you. Please close this issue.

Is it possible to reopen this as a feature request?


Allow the server to cache database objects

closes #1050

It seems to work, but no extensive tests exist yet... I'll probably do that later


Update lens images to new logo

resolves #2806
In sidebar

Favicon
※ currently new favicon is displayed only when running zipkin-lens alone. the reason is that if you run the whole zipkin-server, its favicon will be zipkin-classisc's one.

Thanks very much!


Electron app with echarts visualization

Description
Electron app to visualize the dag generated by the Go program using the echarts library
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[ ] I have assigned this PR to myself
[ ] I have added at least 1 reviewer
[x] I have added the needed labels
[ ] I have linked this PR to an issue
[x] I have linked this PR to a milestone
[x] I have linked this PR to a project
[ ] I have tested this code
[ ] I have added / updated tests (unit / functionals / end-to-end / ...)
[x] I have updated the README and other relevant documents (guides...)
[ ] I have added sufficient documentation both in code, as well as in the READMEs

LGTM


Using gstreamer as an input to the camera demos?

Hi, is it possible to feed the camera demos, segnet-camera.py with a gstreamer string, instead of the v4l2 camera device option?
I need to setup my camera in a specific mode, which by default is not the one v4l2 grabs.
I would like to avoid touching the code and do this on the commamd line but if I need to I can.
Thanks

Hi @Tetsujinfr , it doesn't accept a general GStreamer string as there are some dynamic things happening with the pipeline generation, such as the detect codec and desired format/resolution.
You can add v4l2src options in the code here:  https://github.com/dusty-nv/jetson-utils/blob/cae2730a09edd955631fcbdfc8c4c38556a93600/camera/gstCamera.cpp#L154
After you have made edits, be sure to re-run make and sudo make install

Ia there a way I can specify the resolution of the v4l2 camera at command line level?
Also, I have a stereo camera, hence I would like to pass only the left view through a gstreamer command, I am not sure I can do that with v4l2.

Btw, I can see that gstreamer is used in the pipeline, so I was thinking, worst case scenario I can hardode my gstreamer command at the right place in the code no?

Ia there a way I can specify the resolution of the v4l2 camera at command line level?

Yes, you can use the --input-width and --input-height arguments.  Run the program with --help or see here:  https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#input-options

Also, I have a stereo camera, hence I would like to pass only the left view through a gstreamer command, I am not sure I can do that with v4l2.
It depends on if the stereo camera is presented as one stream (i.e. one v4l2 device) or multiple streams (multiple v4l2 devices).

For example, Stereolabs ZED has both left/right images in one frame, so then you need to crop the image if you only want the left view.  See cuda-examples.py for an example of using the cudaCrop() function from Python, and from this page:
https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-image.md#cropping

Btw, I can see that gstreamer is used in the pipeline, so I was thinking, worst case scenario I can hardode my gstreamer command at the right place in the code no?
Yes you could do that, the point in the code would be here:   https://github.com/dusty-nv/jetson-utils/blob/cae2730a09edd955631fcbdfc8c4c38556a93600/camera/gstCamera.cpp#L154

ok thanks for your reply.
modifying the jetson utils source code is too complex for me I am afraid.
I am playing with the segnet.py python example, just need to get a gstreamer image capture into the input_img object properly here.
I am using cv2 to get the gstreamer frame of my stereo camera properly (it works this way).
However the input_img object is a "cudaImage": I am not familiar with this object.
cv2 returns a "numpy.ndarray" frame. How can I convert that into a cudaImage?
I see there is a cudaToNumpy function in your jetson.utils lib but I did not find the reverse function,
Btw, any chance you consider adding the option to feed directly a gstreamer string into your lib videoSource code base? would give more flexibility no?
Thanks for your help on this

ok thanks for your reply.
modifying the jetson utils source code is too complex for me I am afraid. I am playing with the segnet.py python example, just need to get a gstreamer image capture into the input_img object properly here. I am using cv2 to get the gstreamer frame of my stereo camera properly (it works this way), and I am simply trying to inject that into your code as an input image, rather than using the input = jetson.utils.videoSource() and input.Capture() methods.
However the input_img object is a "cudaImage": I am not familiar with this object. cv2 returns a "numpy.ndarray" frame. How can I convert that into a cudaImage? I see there is a cudaToNumpy function in your jetson.utils lib but I did not find the reverse function,
Btw, any chance you consider adding the option to feed directly a gstreamer string into your lib videoSource code base? would give more flexibility no?
Thanks for your help on this

hello,
I meet the same question with you, have you solve this question? could you plz show your solution ,thank you very very very much!


Add Dockerfile

coverage: 95.023%. remained the same
when pulling 83c296c4d252e3b48a7018b67326f06fa69b6287 on docker
into bdf52b91e6dce8ef0fb2bbdd571d2fe8afb80698 on master.

coverage: 95.023%. remained the same
when pulling 83c296c4d252e3b48a7018b67326f06fa69b6287 on docker
into bdf52b91e6dce8ef0fb2bbdd571d2fe8afb80698 on master.

coverage: 95.023%. remained the same
when pulling 83c296c4d252e3b48a7018b67326f06fa69b6287 on docker
into bdf52b91e6dce8ef0fb2bbdd571d2fe8afb80698 on master.


Integrated environment for FHIR-views

Setting up a Jupyter notebook to experiment with FHIR views should be fairly simple. This is currently not the case. One way to address this is to automate this setup process by providing canned configs (e.g., Python dependencies, virtual envs, DWH connection, sample views for resources, etc.). The goal is that the user can start creating views through the Spark Thrift server (in Jupyter), by "click of a button".

This is a duplicate of #453.


update vega transforms and support vegalite4

For #5149

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[x] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

Example from Julia now works.

Codecov Report

Merging #5312 (6a9c206) into main (39b21b9) will decrease coverage by 0%.
The diff coverage is n/a.

@@          Coverage Diff           @@
##            main   #5312    +/-   ##
======================================
- Coverage     73%     72%    -1%
======================================
  Files        401     401
  Lines      26533   26549    +16
  Branches    3872    3877     +5
======================================
- Hits       19433   19316   -117
- Misses      5491    5633   +142
+ Partials    1609    1600     -9

Impacted Files
Coverage Δ

...terpreter/nbconvertInterpreterDependencyChecker.ts
47% <0%> (-39%)
:arrow_down:

src/client/datascience/jupyter/jupyterImporter.ts
35% <0%> (-30%)
:arrow_down:

...ient/datascience/export/exportInterpreterFinder.ts
40% <0%> (-30%)
:arrow_down:

...yter/interpreter/nbconvertExportToPythonService.ts
52% <0%> (-30%)
:arrow_down:

src/client/logging/logger.ts
52% <0%> (-18%)
:arrow_down:

src/client/datascience/jupyter/jupyterExporter.ts
58% <0%> (-16%)
:arrow_down:

...rc/client/datascience/jupyter/debuggerVariables.ts
66% <0%> (-13%)
:arrow_down:

src/client/datascience/jupyter/jupyterUtils.ts
75% <0%> (-10%)
:arrow_down:

...t/common/application/webviewPanels/webviewPanel.ts
59% <0%> (-10%)
:arrow_down:

src/client/common/process/pythonDaemonPool.ts
71% <0%> (-10%)
:arrow_down:

... and 23 more


Removed encoding parameter from bytes call

As dicsussed in #20, the encoding parameter passed to the byes call gives a TypeError: wrong number of arguments

Do you know of public API that accepts bytearray data via POST like this that you can share? If so I can test this out with a pyportal.

I've been testing with the Azure Custom Vision service at customvision.ai. I created a model and posted to the prediction service. Source for how to do it is here: https://github.com/jimbobbennett/mandmcounter
This code has my fixed version of adafruit_requests in requests.py. You'd need to create an object detection model in Custom Vision and set the values in the secrets.py file for your WiFi and keys for the model.
I'm on a plane at the moment, but tomorrow I can provide detailed instructions on how to do it if that would help.

Thank you! I think I should be able to get it tested using what you've posted. I will give it a try either tonight or tomorrow.

I'm ok removing this but would love to see an issue for adding support for the encoding parameter to CircuitPython. In general, we should ensure CircuitPython matches CPython.

@tannewt - if you look at #20, @FoamyGuy has compared the behavior to CPython and CircuitPython, and the behavior is roughly the same.
If you call bytes() against a string, you can pass the encoding parameter and it works correctly on both platforms.
If you call bytes() against a bytearray, you get an error passing the encoding parameter, albeit a different, more descriptive error on CPython
The difference here is the error given by CircuitPython is different, and less instructive than the CPython one. Where is the right place to raise an issue to get the error message improved? Is it in https://github.com/adafruit/circuitpython?

@tannewt do you mean adding encoding parameter to the request() method in this library? bytes() seems to be supporting the encoding parameter already, it just doesn't work with a bytearray as the data, that fails in CPython as well, but with a slightly different error.

@tannewt - if you look at #20, @FoamyGuy has compared the behavior to CPython and CircuitPython, and the behavior is roughly the same.
If you call bytes() against a string, you can pass the encoding parameter and it works correctly on both platforms.
If you call bytes() against a bytearray, you get an error passing the encoding parameter, albeit a different, more descriptive error on CPython
The difference here is the error given by CircuitPython is different, and less instructive than the CPython one. Where is the right place to raise an issue to get the error message improved? Is it in https://github.com/adafruit/circuitpython?

Ah! Ok. I misunderstood that. Sounds like it is close enough. It would be nice to ensure it is the same exception thrown but it's much less important.
This change looks good to me.

Thank you @jimbobbennett!


Memoize ATN visit states to avoid exponential backtracking

Fixes https://github.com/prestosql/presto/issues/2968

Updated