[HAB-64] Implemented Context Menu for Dots

Summary by CodeRabbit

New Features

Introduced a new menu system in the app using react-native-popup-menu.
Added "Edit" and "Delete" options in the HabitCard for easier management of habits.

Refactor

Updated the DotsMenu component for enhanced usability and visual appeal.

Style

Improved styling on the HabitCard to enhance visual layout and interaction elements.

@coderabbitai review

Uses component from:
https://github.com/instea/react-native-popup-menu/tree/ca2e3088ee39aeebd03c40f4d5ff3d1ac94f1e90


Remove some old guard statements

About the PR

These if statements were all throwing the warning CS8073 (Always false null check). As far as I can tell the value they are checking might once have been a Nullable<T> that needed to be checked for null. At any rate, in the latest version of the code the values are guaranteed to non-null so checking them for null is redundant.
Incidental formatting problems in the in files also corrected.
Requirements

[x] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Oh, I just merged #31708 and did not see that your PR did the same thing first. Seems like they are identical?


Improve usability of op resolution errors

The main goal is to make errors more intuitive when they're due to op resolution failures. I've implemented a custom error class that collects all the errors from each place opctl looks for an op and reports them in aggregate if all fail. It supports checking if any of the internal errors extend (.Is) an error (e.g. authentication) to support the auth retry logic that's in place. Each data provider implements a label function to provide context about what was checked. I changed the auth retry logic to only try once, so it's more explicit when auth fails - users aren't just in a loop.
I've extracted this feature from my mini-opctl branch. It was complicated on the main branch by the internal http api layer. I rewrap errors in the http response layer based on status code to preserve remote op node error information.
Most of the non-core code changes are to update to using more modern go error patterns (Wrap, Is, etc), which are a little more robust to complex error production within the data resolution chain.
Resolves https://github.com/opctl/opctl/issues/855, resolves https://github.com/opctl/opctl/issues/770
Examples
Before
❯ opctl op install /asdfkl/asdf
Unable to resolve pkg '/asdfkl/asdf'; error was Get "https:///asdfkl/asdf/info/refs?service=git-upload-pack": http: no Host in request URL

After
❯ opctl op install /asdfkl/asdf
unable to resolve op "/asdfkl/asdf":
- filesystem: not found
- opctl node: unable to resolve op "/asdfkl/asdf":
  - filesystem: not found
  - git: invalid git ref: missing version

Before
❯ opctl op install github.com/Remitly/infra-ops#8.0.0/app/config/get

-
  Please provide "password".
  Description: password used to auth w/ the pkg source
-

-
  Please provide "username".
  Description: username used to auth w/ the pkg source
-
asdf

-
  Please provide "password".
  Description: password used to auth w/ the pkg source
-

-
  Please provide "username".
  Description: username used to auth w/ the pkg source
-
asdf

-
  Please provide "password".
  Description: password used to auth w/ the pkg source
-
^C

-
  Prompt for "password" failed; running in non-interactive terminal
-

After
❯ opctl op install github.com/Remitly/infra-ops#8.0.0/app/config/get

-
  Please provide "username".
  Description: Username for github.com.
-
asdf

-
  Please provide "password".
  Description: Personal access token for github.com with 'Repo' permissions.
-

unable to resolve op "github.com/Remitly/infra-ops#8.0.0":
- filesystem: not found
- opctl node: unauthenticated: unable to resolve op "github.com/Remitly/infra-ops#8.0.0":
  - filesystem: not found
  - git: unauthenticated

Just brainstorming; either way we'll keep iterating and getting feedback:
Unable to resolve op "/asdfkl/asdf" from any source:
SOURCE                 STATUS           REASON
local filesystem      failed               not found
opctl API                 failed               not found
git repo                   skipped           invalid git ref: missing version

Just brainstorming; either way we'll keep iterating and getting feedback. What do you think about something like this in whole or in part?
unable to resolve op "github.com/Remitly/infra-ops#8.0.0".
tried:
- localhost
  - filesystem [failed]:
    - path ./.opspec/github.com/Remitly/infra-ops#8.0.0 not found
- opctl space:
  - filesystem [skipped]:
    - github.com/Remitly/infra-ops#8.0.0 not an absolute path
  - git [failed]
    - authentication required for github.com

I incorporated a few of those things in
unable to resolve op github.com/Remitly/infra-ops#8.0.0:
- filesystem:
  - path /Users/cameronlittle/Developer/opctl/.opspec/github.com/Remitly/infra-ops#8.0.0 not found
  - path /Users/cameronlittle/Developer/opctl/github.com/Remitly/infra-ops#8.0.0 not found
- opctl node: unauthenticated: unable to resolve op github.com/Remitly/infra-ops#8.0.0:
  - filesystem: skipped
  - git: unauthenticated


[5.5] Only set ID on NotificationFake if there is no ID set

This PR makes the NotificationFake@sendNow method behave the same way as the sending functionality in the NotificationSender, in which the sender checks if the notification ID has already been set before setting it.

Thanks.


Update Canonical distro listings

remove microk8s add-on
correct naming and description of Charmed Kubeflow distro
correct installation instructions Charmed Kubeflow distro
revise owners and approvers

Thank you for this contribution @grobbie and for the revision of owners - removing myself.
It has been a pleasure to be part of this project!
/lgtm
/approve

/check-cla

/verify-owners

/verify-owners


Hidden and not in checkbox list - enhancement

I added a -1 data-priority that starts off hidden, but still adds the column header to the checkbox list.
It was just a CSS hack hiding anything with a data-priority of -1, but it seems like a nice feature. I also added a -2 that is hidden and not on the checkbox pulldown.
Just a thought for future versions.
Another thought for future versions is a the ability to group columns so that they can be switched on and off together. If I come up with a way of doing it, I'll let you know (it'll probably involve adding a data-priority of 'A' or 'B', etc, to several columns, and using the data-col-name of the first item as the entry on the pull down).  Then all I need to do is figure out a way of initiating a sort on the newly made visible column, if some other attribute is set....
Ooh, that's another idea for a future version....sorting!
All in all, though, this is the best starting point I've seen for responsive grids on the net. And I've had a look at a lot! Your code is very good, and easy to follow.
Deb

In case you are still interested, this has now been implemented :)
Priority 0 for hidden per default
-1 for hidden and untoggable


Implement validateRedirectUri model function

Why should we not be able to verify our uris by ourself.
// TODO: Add to docs

Hi, to get this merged we'd need some tests & docs please

@TheNoim Can you describe your use case for this?  I'm not quite sure why it's necessary...

I can not remember my exact use case or in which project I wanted to use this but a basic use case would be one of this:

Custom uri support
wildcard support if wanted
own validation rules

Passing context to all methods also will do the trick.
There are quite a lot of issues depend on this feature:
#536 #336 #150

Any update for this pull request ?

Any update for this pull request ?

Any update for this pull request?

Any update for this pull request?

https://github.com/oauthjs/node-oauth2-server/issues/229

https://github.com/oauthjs/node-oauth2-server/issues/229

Push, we realy need wildcard redirect uris


Update chart.js version to 2.3.0

Hello @ernestre
Unfortunately, this will break implementations of ChartJS for our users. This would be ok if were to release a major update, but we are not doing that with v2 since we are working on v3. We appreciate your contribution.
Thanks!


drop bionic variant from list

only Ubuntu can pass since I deleted it from the registry and the other two depend on it


TokenActionHUD: -/+ Not showing for spell categories

See picture below. They are properly shown without theming.

Also noted that spells overlap with large lists, these are of course resolved by turning styling off and using the dorako ui styling in TAH

In 1.8.0 the TAH theme is gone from Dorako UI, with a note about doing the above suggestion.


[Bug]: Multiselect widgets don't work when they're placed inside a modal

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Multiselect widgets don't work when they're placed inside a modal
Steps To Reproduce

Drop a modal on the latest Anvil DP
Drop any multiselect widget like checkbox
switch to preview mode
try selecting options on the checkbox and observe nothing happens
Try the same action with a checkbox on the main canvas and observe the widget register user inputs

Public Sample App
No response
Environment
Deploy Preview
Severity
Low (Inconsistent UI/UX)
Issue video log
https://www.loom.com/share/01036afbcb8a42b1a0b30e04d4b0ddd1
Version
cloud

HI Can this issue be assigned to me?


Fix missing floating point on y-axis of optplots.

In sumo-optplot default behavior rounded y-axis to an apparent float value.
.
Format string changed from 'g' to 'f' to allow floating point.

Hey Zongda, any update on this?

Hi it's Ethan,
Sorry did not notice this before. Tried it and it seems to be working
roughly fine, except that the exponents break for negative numbers.
[image: image.png]
On Tue, 11 Dec 2018, 19:42 Alex Ganose<EMAIL_ADDRESS>wrote:

Hey Zongda, any update on this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SMTG-UCL/sumo/pull/38#issuecomment-446335470, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AaqBwsmcog7IA-3L4a84i84ZI0ZaLyxlks5u4ArBgaJpZM4YpQmL
.

Whoops, thanks Ethan. Can you try uploading the image via the GitHub page rather than email. The attachment doesn't show.

I did some font magic. My default behaviour is now this, a free font called Catamaran (
https://fonts.google.com/specimen/Catamaran available at https://github.com/google/fonts/tree/master/ofl/catamaran:

And it is using proper multiplication symbols, as supported in many fonts including:

If you have Whitney Extended this will still take preference over other fonts. There is a workaround to replace the \times with a letter 'x' in these fonts.


fetch connection data from DB

https://github.com/hyperledger/aries-framework-go/blob/5bccab31206cdb79dc03e1a8e260f6495e20029b/pkg/restapi/operation/didexchange/didexchange.go#L397

Issue already exists for this - https://github.com/hyperledger/aries-framework-go/issues/590.


Updated gdx to 1.9.10

Only minor changes ware required. Ive tested stuff lightly, nothing seems to be obviously broken. Some deprecation warnings.

I'm going to release 1.4.3 as-is to avoid breaking existing builds relaying on snapshot version. Then update to 1.9.10 and release 1.4.4.

Released and merged your changes manually, thanks!

The CI server is down (and will stay that way) so I'm uploading snapshot manually. One possible thing to contribute would be adding Travis integration but that's probably hard without access to the repository.

Afraid i dont have any travis-ci experience, did circle-ci stuff once for a bit. Probably woulnt be too hard, since releases are setup already

It's okay, no worries. I would have to do it anyway because it needs setting up login details for Maven Central. On the other hand it's not like there is a lot of activity going on here.

Hey @kotcrab, any plans to publish a release version with 1.9.10 support soon?
I'm working on LML library 1.9.10 compatibility and lml-vis module depends on the release version of vis-ui. I'd would appreciate if you could publish it soon, this way I can push updates on the LML side of things quicker (the lib didn't get any updates since LibGDX 1.9.8).

No problem, I can release it today.

@metaphore Done. OSS Nexus is very slow today so don't know when that's going to be available.

@kotcrab thanks a lot, that was blazing fast!


Use GitHub Checks API from our functional test workflow to gate merges

Engineering Improvement
Area for Improvement (required)
Functional testing action should block merge until functional tests pass on the exact commit being merged. The current state of the art is that we rely on the code-reviewer to enforce this.
Proposed solution
Hey Folks,
I found a good example blog of someone doing basically exactly what we’re trying to with /ok-to-test. This solution is integration with GitHub Checks. For our solution, it means a PR cannot be merged until the functional tests pass on the exact commit (eg: exactly what we want).
You can find the Blog writeup here: https://josh-ops.com/posts/using-github-checks-api/
You should also look at this post because creating a GitHub App is required: https://josh-ops.com/posts/github-apps/ It probably sounds scary to create a GitHub App, but it’s a similar amount of work to creating a PAT. Now that I know more about it, I feel like we should be using GitHub Apps for more things. The reason why we need to create an app is that the Checks API only works correctly from an App. I tried without creating an App first and it's buggy, GH support says not to do that.
I created a working example of this that doesn’t run any tests, so I could prove out the idea. You can find it here: https://github.com/rynowak/actions-testing There’s no permissions limiting /ok-to-test on my repo, so feel free to try it out.
The basic flow is like this:

/ok-to-test does a repository dispatch to start the functional test workflow (we already have this)
Inside the functional test workflow we login as the app (here)
Create a Check for the functional tests using the app's token (here)
We run the functional tests (we already have this)
When the functional tests finish we update the check with the results (here)
One this runs ones on the repo we can select the check in the branch protection menu and mark it as required.

My example of this does not do a good job reporting the results of the functional test run. This is something that needs to be addressed for us to use this.
AB#9889

+1 Using GitHub App looks good idea in terms of security and maintenance and eventually, we can remove rad-bot account.
When GitHub was first developing GitHub App and Check APIs, I recall that App Center was one of the first customers and I was one to build Visual Studio App Center GitHub Apps - https://github.com/marketplace/app-center From what I learned before, GitHub App (OAuth app) is designed for the integration with 3rd party services via webhook. It is beneficial when we need to apply the similar functionality across the multiple repos in multiple orgs like Azure Pipeline. But, looks like GitHub team allows GitHub Action to get the token for GitHub App, so we don't need to have either rad-bot account or separate webhook server in github action to use it like a managed identity. (BTW, as far as I know, PAT can call Check API :) )

Is it possible to get the GitHub app token via action task in the scenario where user creates the PR from forked repo?

Yes. I built an example of this.
I did more research as well. There are basically two major approaches here:

Using GitHub environments. GitHub environments are oriented towards application deployments, but they provide a good UI and integrated experience. This works a lot like /ok-to-test but it's built into GitHub. This is less work to set up.
Using a GH app + the checks API.

Here's a repo I set up: https://github.com/rynowak/actions-testing
Example using environment: https://github.com/rynowak/actions-testing/blob/main/.github/workflows/functional-tests-environment.yaml#L12
Example using /ok-to-test with a GH APP: https://github.com/rynowak/actions-testing/blob/main/.github/workflows/functional-tests.yaml

On GH Apps ... it's basically an upgraded version of a PAT, and about as easy to set up.
Anywhere that we need a PAT, we should probably be using an App. The PAT will expire, and an App doesn't.


Types

It would be nice to have the types in the published package in npmjs. For developers using typescript instead of javascript.
In this pull-request I only migrate src/diagram/diagram.js to a syntax that typescript understands.
Let me know if you like this approach.

or maybe just switching to typescript instead of javascript?

Thanks for suggest.

It would be nice to have the types in the published package in npmjs.

Agree. I have to add types to npm package.
Public diagram interface is here:
https://github.com/AlexeyBoiko/DgrmJS/blob/main/src/diagram/diagram-public-types.ts
Types in diagram-public-types.ts must be the only types developer need to use DgrmJS.
The problem:
diagram-public-types.ts depends on some types from presenter layer. It is needed to remove this dependence.
Then I'll add diagram-public-types.ts to npm package.

For developers using typescript instead of javascript

Not only TypeScript developers use types. JavaScript developers olso use types. Types is used for creating DgrmJs.
TypeScript notations can be used along with JSDoc.
https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html

switching to typescript instead of javascript?

JavaScript with JSDoc and TypeScript notations give the developer the same tooling:

type checking
intellisense
find all references
renaming
checking that the object implements the interface

I don't see why to use TypeScript.
Pros of not using the TypeScript compiler:

JS code is exactly what you wrote,
speeds up development — no need to wait for compilation,
no need for map files, easier to debug.
easier build process

Blog post with more information

Now all public types in diagram-public-types.ts.
You can build DgrmJS library to single js-file:
npm run build-dgrm-npm
Singls js file will be in folder
\dist\diagram-npm-package
Include this file to your typescript app. And use types from diagram-public-types.ts.


Refine replace_blob method to raise error while deleting missing blob,

rather than doing extra existence check.
#101003512
Signed-off-by: Xing Zhou<EMAIL_ADDRESS>

@cppforlife , just to comment on your rejection in the tracker, package.sha1 should not be affected since we are replacing corrupted blobs with correct ones, which should already match the sha1 in database, since they are identical packages.
Thanks!
/Jay

@guoger they may be identical in content (fingerprint is the same) but because tar generates different file for the same content sha1 may not match.

@cppforlife That's true, unlike simple tar, gzip (-z) indeed produces different bits out of same content. Didn't know that and thanks for pointing it out.


added after_response

This PR adds an after_response life-cycle hook, as discussed in #250

A couple of comments, nothing serious but I do question why we need to remove the demarcation of those methods on HTTPRouteHandler as private implementation detail.
I notice you like to do housekeeping changes in your PRs - i.e., ordering of parameters, method naming and other things that aren't directly related to the PR feature. All good, but they do add noise that makes reviewing a bit harder. Perhaps we should draw up a set of standards that you want to uphold for things like that, do a pass over the code base to clean them all up in one hit, and then make sure we hold new PRs to those standards so that we don't need to clean up after them in later PRs.

Sorry if the house-keeping causes too much noise. My collegues also dont like my habits in this regard TBH. This isn't about enforcing a rule - when some code grows, as the number of arguments in the route handlers, it occasionally needs to be cleaned up and handled. Thats whats happening here in particular. And yes, I follow the scout's dictum of leaving the camp ground cleaner than when you found it.

A couple of comments, nothing serious but I do question why we need to remove the demarcation of those methods on HTTPRouteHandler as private implementation detail.
I notice you like to do housekeeping changes in your PRs - i.e., ordering of parameters, method naming and other things that aren't directly related to the PR feature. All good, but they do add noise that makes reviewing a bit harder. Perhaps we should draw up a set of standards that you want to uphold for things like that, do a pass over the code base to clean them all up in one hit, and then make sure we hold new PRs to those standards so that we don't need to clean up after them in later PRs.

Sorry if the house-keeping causes too much noise. My collegues also dont like my habits in this regard TBH. This isn't about enforcing a rule - when some code grows, as the number of arguments in the route handlers, it occasionally needs to be cleaned up and handled. Thats whats happening here in particular. And yes, I follow the scout's dictum of leaving the camp ground cleaner than when you found it.

Not too much noise - some noise :wink:


iOS: location permissions not requested on camera open if config sets saveGPSLocation to true

Steps to Reproduce
-> iOS Application with NSLocationWhenInUseUsageDescription permission set in the info.plist
Open a Camera Widget with CameraAwesomeBuilder.custom constructor and pass the config that enables gps on open
 saveConfig: SaveConfig.photo(
          [...]
          exifPreferences: ExifPreferences(
            saveGPSLocation: true,
          ),
        ),

As the content for the layout use AwesomeCameraLayout and add the AwesomeLocationButton(state: state) to the widget.
Expected results
If this is the first time the camera is opened and no gps permissions were previously requested i expect the application to ask the user for permissions. if the user declines the GPS-Permission the location icon should change to the deactivated state. If the user confirms the permissions the icon should indicate that locations are enabled.
On Android this is how CamerAwesome functions.
Actual results
On iOS however the icon does not respond to changes if the location permission gets denied the icon is still active and will not respond to any actions. Furthermore while opening the camera the first time with the config above, the permission request is not even triggered. The first time it will get triggered is when deactivating the gps wia the AwesomeLocationButton.
Is there a way to use a custom button and set these settings manually so i canhandle the permission request and the UI updates. Because even if this will work on iOS there is no way to intercept the request if the location settings are tunred off completly in the iOS settings. Normally this would promt an info for the user and open the settings menu.
About your device

Brand
Model
OS

Apple
iPhone 12 mini
16.1.2

Your flutter version
[√] Flutter (Channel stable, 3.10.5, on Microsoft Windows [Version 10.0.19045.3086], locale de-DE)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Enterprise 2022 17.1.1)
[√] Android Studio (version 2022.2)
[√] VS Code (version 1.78.2)
[√] Connected device (4 available)
[√] Network resources

CamerAwesome Version
2.0.0-dev.1

Additional info: It seems like deactiviating the "location" setting in the camera does not deactivate the location tracking. The geo data still gets added to the exif-metadata of the image.

Handling the gps permissions manually and then setting saveGPSLocation to true does not geotagg the images.

I also came across this issue. I do not display the location-button in my app, but set saveGpsLocation to True:
CameraAwesomeBuilder.awesome(
    saveConfig: SaveConfig.photo(
        exifPreferences: ExifPreferences(saveGPSLocation: true),
    ),
    topActionsBuilder: (state) {
        return AwesomeTopActions(
            state: state,
            children: [],
        );
      },
    ...
)

On Android devices, the photos taken this way contain GPS information. On iOS however, this information is missing.

I also came across this issue. I do not display the location-button in my app, but set saveGpsLocation to True:
CameraAwesomeBuilder.awesome(
    saveConfig: SaveConfig.photo(
        exifPreferences: ExifPreferences(saveGPSLocation: true),
    ),
    topActionsBuilder: (state) {
        return AwesomeTopActions(
            state: state,
            children: [],
        );
      },
    ...
)

On Android devices, the photos taken this way contain GPS information. On iOS however, this information is missing.

i have no hope that this will get fixed soon.
It get's even worse when the gps signal is poor or not existent like in a tunnel. The preview and the process of taking a picture will wait a long time for the gps signal.
We now deactivated the gps tracking by this plugin and we add the gps position to the images exif data in a background task (fire and forget style).


Can not install/deploy minimal version of experimental next app

Which Cloudflare product(s) does this pertain to?
Pages, Workers Runtime, Wrangler
What version(s) of the tool(s) are you using?
3.85.0
What version of Node are you using?
No response
What operating system and version are you using?
Mac
Describe the Bug
npm create cloudflare@latest my-next-app -- --framework=next --experimental
✘ [ERROR] A request to the Cloudflare API (/accounts/xxx/workers/scripts/my-next-app) failed.
Your Worker exceeded the size limit of 1 MiB. Refer to the Workers documentation (https://developers.cloudflare.com/workers/observability/errors/#errors-on-worker-upload) for more details. [code: 10027]
Followed: https://developers.cloudflare.com/workers/frameworks/framework-guides/nextjs/
Document do not says you need pro version of workers
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response

hey! we've raised the limit for free tier to 3MB, so this should work now 🎉
https://developers.cloudflare.com/workers/platform/limits/#account-plan-limits
feel free to open an issue if you encounter any other problems :)


Add matchingFalse param for definitions request

Fixes #823

Should E2E or other tests be updated? Let's deploy both the website and the service changes together and test to make sure nothing gets broken.

@geneh E2E and tests don't use real endpoints, they just mock the response.

Okay. I've been playing with Netlify deployment https://deploy-preview-824--clearlydefined.netlify.com and definitions endpoints do not seem to have the new parameter. It was deployed more than three hours ago, so it shouldn't be a caching issue.
@storrisi Can you point me to a page where the new parameter is expected to show up?

@geneh you were right, thanks to your tests I discovered that the matchCasing param should be passed as a string.
Since its value was a boolean false, it was never added to the query string.

Great, thanks!


[Bug]:  Can't show floatting-toc plugin's style setting in the Style setting plugin.

Checklist

[X] I updated to the latest version of the theme (Settings → Appearance → Check for updates).
[X] I made sure that the issue is related to this theme by checking that the problem does not occur with the default theme.
[X] In case I am missing an UI element, I have checked that it cannot be re-enabled with the Style Settings plugin.
[X] This issue concerns the theme in general and is not related to a specific plugin, for which there is the plugin-support form.

Bug Description
When I use the shimmering focus, I can't see the options in the Style setting for float-toc. However, I can see these options in the default theme. Please see the screenshots below. PKM-er/obsidian-floating-toc-plugin#42
Relevant Screenshot
With Shimmering-Focus:

With default theme:

To Reproduce

install float-toc
install shimmering focus
install style setting
enable shimmering focus, float-toc, style setting
check if the options for float-toc are in the style setting.

Sample Text
No response
Obsidian Version
1.5.12
Installer Version
1.5.11
In which mode(s) does the problem occur? (if applicable)

[ ] Source (Edit)
[ ] Reading (Preview)
[X] Live Preview

Which operating system?

[X] macOS
[ ] Linux
[ ] Windows
[ ] iOS
[ ] Android

fixed (though I had to this theme's styling for floating-toc, so the look of the plugin may change a bit)

it's out on my end, could be that github caching takes a minute?

Yeah, I think so too, nevertheless thank you!


NTR: tree

From<EMAIL_ADDRESS>on March 16, 2015 13:07:38
Term requested by OBI.
Tree as a set of linked nodes. (such as here http://en.wikipedia.org/wiki/Tree_data_structure\ ).
Comments by Melanie:
Tree would probably be a child of the graph term proposed in the tracker item https://sourceforge.net/tracker/index.php?func=detail&aid=1976410&group_id=177891&atid=886178 Proposed definition:
label: tree data structure (disambiguation with forest tree)
a tree data structure is an acyclic connected graph. It is a widely-used data structure that emulates a hierarchical tree structure with a set of linked nodes. Each node has a set of zero or more children nodes, and at most one parent node.
definition source: adapted from http://en.wikipedia.org/wiki/Tree_data_structure Related OBI tracker: https://sourceforge.net/p/obi/obi-terms/93/
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=179

Jie, can you go ahead and add this? For the moment it can be added as a subclass of information content entity.

There should be a better story about things whose essential characteristics are their form rather than their aboutness. WIP


Fix occasional split of red and green channels from blue channel

It looks like the DVI transmit FIFOs were running out of data in 400x300 mode, probably just at the very start of signal generation, but this caused everything to get misaligned - issue #88
Fixed by giving DMA transfers more priority on the bus.

Tried this (widescreen version)  on 400x300 and 800x600 and it's "99%" fixed
I.e. one in 5-10 restarts will have a 1 pixel yellow bar on the left and 1 pixel misalignment.

I can't reproduce this at all any more, but I've found another priority bit to set, so let's see if that does the trick!
@mikerr please could you give this latest version a test?

Loaded up that one and counted the resets:
Over 20 restarts I got the yellow line / 1 pixel offset 4 times
one per second - on 4,5, 9 and 20th times
Note at no point did I get big offsets  (20-30 pixels) like I was getting in the release .uf2

OK thanks, that sounds like basically the same as without the second commit then.

The first commit is included in the version of pico-stick that's in #93, I've removed the second commit as it didn't help (and in fact might have made things slightly worse).  So closing this PR for now (but #88 remains open to investigate the remaining small offset).


add it to Python Package Index

can you please add it to?
https://pypi.python.org/pypi
so that its much simpler to install with pip install HTU21
works nicely with Pi Zero and Sparkfun HTU21D
here is my little pet project based around your driver
https://github.com/nwgat/zerosensor

I rewrote this as a class... as it is, this couldn't be used like a module. This class file can be included with your project and that's it!
https://github.com/Phantom410/RaspberryPI_HTU21DF

thanks, will try it when i get around to my zero, am pretty new to python so


group is missing parent_id

parent_id is in the group create options but not in the Group  type. it means we can not fetch the data.

Awesome thanks!


vagrant: broken due incorrect bundler version

Issue description
Rubygems bundles bundler 1.16.1 while we still use bundler 1.14.6 in buildRubyGems:
Steps to reproduce
$  vagrant plugin update
Updating installed plugins...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:
conflicting dependencies bundler (= 1.14.6) and bundler (= 1.16.1)
  Activated bundler-1.16.1
  which does not match conflicting dependency (= 1.14.6)
  Conflicting dependency chains:
    bundler (= 1.16.1), 1.16.1 activated
  versus:
    bundler (= 1.14.6)
  Gems matching bundler (= 1.14.6):
    bundler-1.14.6

workaround is the following default.nix:
with import <nixpkgs> {
  overlays = [
    (self: super: {
      bundler = super.bundler.overrideAttrs (old: {
        name = "bundler-1.16.1";
        src = super.fetchurl {
          url = "https://rubygems.org/gems/bundler-1.16.1.gem";
          sha256 = "1s2nq4qnffxg3kwrk7cnwxcvfihlhxm9absl2l6d3qckf3sy1f22";
        };
      });
    })
  ];
};
stdenv.mkDerivation {
  name = "env";
  buildInputs = [
    vagrant
  ];
}

$ nix-shell --command 'vagrant plugin update'
Updating installed plugins...
All plugins are up to date.

I have no idea how to upgrade bundler without an overlay. bundlerEnv and buildRubyGems is a miracle to me.
Technical details

system: "x86_64-linux"
host os: Linux 4.15.7, NixOS, 18.09.git.63ddf1b (Impala)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.0
nixpkgs: /home/joerg/git/nixpkgs

This expression is more compact and suitable for global installation:
(import <nixpkgs> {
    overlays = [
      (self: super: {
        bundler = super.bundler.overrideAttrs (old: {
          name = "bundler-1.16.1";
          src = super.fetchurl {
            url = "https://rubygems.org/gems/bundler-1.16.1.gem";
            sha256 = "1s2nq4qnffxg3kwrk7cnwxcvfihlhxm9absl2l6d3qckf3sy1f22";
          };
        });
      })
    ];
  }).vagrant

Quick note as vagrant maintainer - I haven't dived into the depths of bundler enough to understand how vagrant is using it to manage plugins, and I don't use plugins myself, so any support in the current vagrant package for plugins is purely incidental. Happy to have help from others on improving the story around this!
I'm curious where the bundler 1.6.1 requirement is coming from - I don't see it in our gemset.nix for vagrant.

@aneeshusa it is coming from ruby 2.4. rubygems has bundler and this is where vagrant picks it up.

Not sure if this is worth a different bug report, but even with that workaround above I can't install the plugin for libvirt:
$ vagrant plugin install libvirt                                                        ~
Installing the 'libvirt' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:
conflicting dependencies ffi (~> 0.6.3) and ffi (= 1.9.18)
  Activated ffi-1.9.18
  which does not match conflicting dependency (~> 0.6.3)
  Conflicting dependency chains:
    ffi (= 1.9.18), 1.9.18 activated
  versus:
    libvirt (> 0), 0.1.0 activated, depends on
    ffi (~> 0.6.3)

I did not had this issue when installing this vagrant plugin in a nix-shell some days ago:
$ nix-shell -p libxml2 libvirt zlib ruby.devEnv pkgconfig

I also think this could be a different issue independent from nixpkgs. Neither rubygems nor vagrant have the ffi gem installed at the moment.

vagrant is installed as a system package according to your overlay post.
And then it's straight up as a user: vagrant plugin install libvirt
Running this in the above nix-shell doesn't change the error.
Also it's not in a project, it's in $HOME without a Gemfile or Vagrantfile even.
I am running unstable for other reasons, which may be the difference?

I am on unstable at the moment, which might explain the difference. But I have no time to currently test this on 18.03. Maybe you can do the other way around?

Otherwise the ffi gem could be overwritten in the same way as the bundler gem.

bee172501de3b4496ff81cc1621d307f167e9382 is the git revision of nixpkgs, where I could successfully install vagrant-libvirt.

Same situation on unstable. Clean $HOME again without .vagrant and .gem invoked with the nix-shell command from above:
[nix-shell:~]$ vagrant plugin install libvirt
==> vagrant: A new version of Vagrant is available: 2.0.3!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html
Installing the 'libvirt' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:
conflicting dependencies ffi (~> 0.6.3) and ffi (= 1.9.18)
  Activated ffi-1.9.18
  which does not match conflicting dependency (~> 0.6.3)
  Conflicting dependency chains:
    ffi (= 1.9.18), 1.9.18 activated
  versus:
    libvirt (> 0), 0.1.0 activated, depends on
    ffi (~> 0.6.3)

 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.29, NixOS, 18.09pre133621.56fb68dcef4 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.0`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

I tried overwriting the ffi gem the same way the bundler gem was done:
   (import <nixpkgs> {
      overlays = [
        (self: super: {
          bundler = super.bundler.overrideAttrs (old: {
            name = "bundler-1.16.1";
            src = super.fetchurl {
              url = "https://rubygems.org/gems/bundler-1.16.1.gem";
              sha256 = "1s2nq4qnffxg3kwrk7cnwxcvfihlhxm9absl2l6d3qckf3sy1f22";
            };
          });
          ffi = super.ffi.overrideAttrs (old: {
            name = "ffi-1.9.23";
            src = super.fetchurl {
              url = "https://rubygems.org/gems/ffi-1.9.23.gem";
              sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
            };
          });
#          ffi = super.ffi.overrideAttrs (old: {
#            name = "ffi-1.9.18";
#            src = super.fetchurl {
#              url = "https://rubygems.org/gems/ffi-1.9.18.gem";
#              sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
#            };
#          });
        })
      ];
    }).vagrant

As you can see I tried also the latest version because the result doesn't change fro above. It still activated the ffi-1.9.18 gem. I'm quite probable doing something wrong.

@bandresen I've just run in to the same issue. You probably want to install vagrant-libvirt, rather than libvirt.

This is happening again on current nixpkgs master with bundler conflicting between rubygems version 1.16.2 and bundler 1.16.3.
I managed to fix it by patching vagrant like
diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
index 301e40e37..e361ab510 100644
--- a/lib/vagrant/bundler.rb
+++ b/lib/vagrant/bundler.rb
@@ -217,7 +217,7 @@ module Vagrant
       source_list = {}
       system_plugins = plugins.map do |plugin_name, plugin_info|
         plugin_name if plugin_info["system"]
-      end.compact
+      end.compact << "bundler"
       installer_set = VagrantSet.new(:both)
       installer_set.system_plugins = system_plugins```


Is it possible to write generated spec to file ?

I see there are options exposeApiDocs and apiDocsPath, but the question, is it possible to write generated spec to file without running the express app?
This is very useful if you want to create script to generate spec and you don't need to run app with all dependencies.

May be late to this, but if you use this pattern you can capture the event when it's finished (making sure to turn the server off during config)
const s = expressJSDocSwagger()(options)
s.on('finish', async (swagger_output) => {
  console.log(swagger_output)
})

@mforell my build system is a bit different, but what I did was add the swagger generation command to my package.json script which runs my generation code. I'd suggest doing something like this before the webpack build command (or however else you do it)
"scripts": {     "swagger": "node ./swagger.js"   }

Thank you very much. I was thinking about programming a webpack plugin, but your idea is much easier.


pythonPackages.amqplib: 0.6.1 -> 1.0.2

Motivation for this change
#39299 update library and able to close pull request.
Things done
pythonPackages.amqplib: 0.6.1 -> 1.0.2

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build pythonPackages.amqplib

Success on x86_64-linux (full log)
Attempted: pythonPackages.amqplib
Partial log (click to expand)
Installing collected packages: amqplib
Successfully installed amqplib-1.0.2
/build/amqplib-1.0.2
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/91xsyqlca3825myk3cirzlihskildvbi-python2.7-amqplib-1.0.2
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/91xsyqlca3825myk3cirzlihskildvbi-python2.7-amqplib-1.0.2/lib
patching script interpreter paths in /nix/store/91xsyqlca3825myk3cirzlihskildvbi-python2.7-amqplib-1.0.2
checking for references to /build in /nix/store/91xsyqlca3825myk3cirzlihskildvbi-python2.7-amqplib-1.0.2...
/nix/store/91xsyqlca3825myk3cirzlihskildvbi-python2.7-amqplib-1.0.2

Success on aarch64-linux (full log)
Attempted: pythonPackages.amqplib
Partial log (click to expand)
Installing collected packages: amqplib
Successfully installed amqplib-1.0.2
/build/amqplib-1.0.2
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/vw1g2xxpkzia4vl7ahpfi20lg1dhxlga-python2.7-amqplib-1.0.2
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/vw1g2xxpkzia4vl7ahpfi20lg1dhxlga-python2.7-amqplib-1.0.2/lib
patching script interpreter paths in /nix/store/vw1g2xxpkzia4vl7ahpfi20lg1dhxlga-python2.7-amqplib-1.0.2
checking for references to /build in /nix/store/vw1g2xxpkzia4vl7ahpfi20lg1dhxlga-python2.7-amqplib-1.0.2...
/nix/store/vw1g2xxpkzia4vl7ahpfi20lg1dhxlga-python2.7-amqplib-1.0.2

Success on x86_64-darwin (full log)
Attempted: pythonPackages.amqplib
Partial log (click to expand)
/private/tmp/nix-build-python2.7-amqplib-1.0.2.drv-0/amqplib-1.0.2/dist /private/tmp/nix-build-python2.7-amqplib-1.0.2.drv-0/amqplib-1.0.2
Processing ./amqplib-1.0.2-py2-none-any.whl
Installing collected packages: amqplib
Successfully installed amqplib-1.0.2
/private/tmp/nix-build-python2.7-amqplib-1.0.2.drv-0/amqplib-1.0.2
post-installation fixup
strip is /nix/store/53nysl8bqwxihwzs1pgwka20nf8mbvlp-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/jhaalcdwnvabigiy1mi17xw5yhmn1pl5-python2.7-amqplib-1.0.2/lib
patching script interpreter paths in /nix/store/jhaalcdwnvabigiy1mi17xw5yhmn1pl5-python2.7-amqplib-1.0.2
/nix/store/jhaalcdwnvabigiy1mi17xw5yhmn1pl5-python2.7-amqplib-1.0.2


Add definitions as a capability of the server [phab:D1880]

Created by djrenren at 2017-08-15 23:57:45:
We already supported handling the request, but we weren't reporting
that we actually supported go to definition meaning more... robust implementations
such as that in vscode weren't presenting the option.

zarko accepted this revision at 2017-08-15 23:58:34

djrenren closed via commit 52ec79a677cf3ceb8fbccf0edbb9b07ae7a229be at 2017-08-16 00:06:21


Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'element')     at init

I get this error when trying to implement the plugin in my Sveltekit Project (Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'element') at init_).
The code comes from the readme with a few exceptions, because I don't use Typescript:
<script >
    import { onMount, onDestroy } from 'svelte';
    import { createEditor, EditorContent } from 'svelte-tiptap';
    import StarterKit from "@tiptap/starter-kit";

    let editor

    onMount(() => {
        editor = createEditor({
            extensions: [
                StarterKit,
        ],
            content: `Hello world!`,
        });
    });
</script>

<EditorContent editor={editor} />

I get this error when trying to implement the plugin in my Sveltekit Project (Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'element') at init_).
The code comes from the readme with a few exceptions, because I don't use Typescript:
<script >
    import { onMount, onDestroy } from 'svelte';
    import { createEditor, EditorContent } from 'svelte-tiptap';
    import StarterKit from "@tiptap/starter-kit";

    let editor

    onMount(() => {
        editor = createEditor({
            extensions: [
                StarterKit,
        ],
            content: `Hello world!`,
        });
    });
</script>

<EditorContent editor={editor} />

@joshuavachon25 ...  Does this help?
<EditorContent editor={$editor} />

Thanks @ranjanified


Mapping method not used when nullable parameter or return value but target is non-nullable

Describe the bug
In some cases it makes sense to allow/support nullable reference types in mapping methods.
As far as I can see, Mapperly does not use such methods if the target is not nullable.
Overloading both variants is not possible and would just be redundant code duplication anyway, so that is not an option.
Instead I suggest changing the code generation to use these methods
Declaration code
[Mapper(ThrowOnPropertyMappingNullMismatch = true)]
public static partial class Mapper
{
    public static partial ATarget AToTarget(A a);

    // this is not used by AToTarget
    [return: NotNullIfNotNull(nameof(b))]
    public static partial BTarget? BToTarget(B? b);

    // this would be used by AToTarget
    //public static partial BTarget BToTarget(B b);
}

public class A
{
    public B B { get; set; }
}

public class B
{
    public string? Name { get; set; }
}

public class ATarget
{
    public BTarget B { get; set; }
}

public class BTarget
{
    public string? Name { get; set; }
}

Actual relevant generated code
// <auto-generated />
#nullable enable
namespace ConsoleApp1
{
    public static partial class Mapper
    {
        [global::System.CodeDom.Compiler.GeneratedCode("Riok.Mapperly", "<IP_ADDRESS>")]
        public static partial global::ConsoleApp1.ATarget AToTarget(global::ConsoleApp1.A a)
        {
            var target = new global::ConsoleApp1.ATarget();
            target.B = MapToBTarget(a.B);
            return target;
        }

        [global::System.CodeDom.Compiler.GeneratedCode("Riok.Mapperly", "<IP_ADDRESS>")]
        public static partial global::ConsoleApp1.BTarget? BToTarget(global::ConsoleApp1.B? b)
        {
            if (b == null)
                return default;
            var target = new global::ConsoleApp1.BTarget();
            target.Name = b.Name;
            return target;
        }

        [global::System.CodeDom.Compiler.GeneratedCode("Riok.Mapperly", "<IP_ADDRESS>")]
        private static global::ConsoleApp1.BTarget MapToBTarget(global::ConsoleApp1.B source)
        {
            var target = new global::ConsoleApp1.BTarget();
            target.Name = source.Name;
            return target;
        }
    }
}

Expected relevant generated code
something like
public static partial class Mapper
{
    [global::System.CodeDom.Compiler.GeneratedCode("Riok.Mapperly", "<IP_ADDRESS>")]
    public static partial global::ConsoleApp1.ATarget AToTarget(global::ConsoleApp1.A a)
    {
        var target = new global::ConsoleApp1.ATarget();
        var targetB = BToTarget(a.B);
        if (targetB == null)
            throw new System.ArgumentNullException(nameof(targetB));
        target.B = targetB;
        return target;
    }

    [global::System.CodeDom.Compiler.GeneratedCode("Riok.Mapperly", "<IP_ADDRESS>")]
    public static partial global::ConsoleApp1.BTarget? BToTarget(global::ConsoleApp1.B? b)
    {
        if (b == null)
            return default;
        var target = new global::ConsoleApp1.BTarget();
        target.Name = b.Name;
        return target;
    }
}

Environment (please complete the following information):

Mapperly Version: 3.4.0
.NET Version: 8.0.200
Target Framework: net8.0
Compiler Version: 4.9.0-3.24121.1 (a98c90d5)
C# Language Version: 12.0
IDE: Visual Studio v17.9.2
OS: Windows 10

Currently Mapperly only uses user-implemented mappings if the types match exactly.

Overloading both variants is not possible and would just be redundant code duplication anyway, so that is not an option.
As a workaround: Instead of overloading you can create the method with the parameter types for Mapperly with another name and just call your existing method. The point made on code duplication obviously still applies...

If this is implemented, other nullable attributes need to be considered too (e.g. MayBeNullAttribute). See MS docs.


Revert "Re-enable resilience for stdlib and overlays"

Reverts apple/swift#15138
Re-enabling resilience resulted in some catastrophic performance and code size degradations, which we didn't see the first time we enabled resilience.
This needs to be resolved before we can re-enable it again.

@swift-ci smoke test and merge

The problem with disabling it is that tests tend to regress while it’s disabled. Can we leave it enabled while we work on the performance and code size regressions?

I prefer to enable it again when after the performance issues are fixed. I see the performance regressions as bad as a test regression.


Fix: Settings - Contact method menu item right arrow icon is not vertically centre align

Details
Removed height from the right icon of MenuItem to make it vertically centered.
Fixed Issues

$ https://github.com/Expensify/App/issues/17756
PROPOSAL: https://github.com/Expensify/App/issues/17756#issuecomment-1518251938
Tests

Go to Profile
Select the contact method option
Verify the right icon for the contact method list option is vertically centered

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

Offline tests

Go to Profile
Select the contact method option
Verify the right icon for the contact method list option is vertically centered

QA Steps

Go to Profile
Select the contact method option
Verify the right icon for the contact method list option is vertically centered

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/14358475/234078871-c5c0745b-f82f-401c-96e5-d293503d10d3.mov
Stories
https://user-images.githubusercontent.com/14358475/234274524-068f9dc3-749f-4c16-9a74-d6da5c4e8770.mov

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS
![Simulator Screen Shot - iPhone 14 - 2023-04-24 at 23 43 10](https://user-images.githubusercontent.com/14358475/234081414-1fc8884d-5920-4059-b6a8-d02e96df53c8.png)

Android

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

Create stories for each state in the MenuItem Component? Take a look at how other stories are created e.g TextInput.

@parasharrajat I added it for the state and for different varients.

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

🚀 Deployed to staging by https://github.com/techievivek in version: 1.3.7-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.7-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


html/template HTML type example is confusing

The html/template documentation has a snippet of code showing the usage of the HTML type. It does not use the "template" package name to scope it:
tmpl.Execute(out, HTML(`<b>World</b>`))

This code will throw an "undefined: HTML" error.
Instead, it should be like so:
tmpl.Execute(out, template.HTML(`<b>World</b>`))

https://go-review.googlesource.com/3073


Sprites for drinks without sprite (attempt 2)

In my past PR, I broke something, so I had to create a new PR.
About the PR
I added sprites in a metamorph glass for drinks such as:
• Coffee
• Cola
• Dr Gibb
• Green tea
• Ice
• Iced green tea
• Lemon juice
• Moonshine
• Orange juice
• Space mountain wind
• Space-up
• Sugar
• Tea
• Tequilla
• Tonic
• Watermelon juice
Why / Balance
Why not?
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

• Coffee

• Cola

• Dr Gibb

• Green tea

• Ice

• Iced green tea

• Lemon juice

• Moonshine

• Orange juice

• Space mountain wind

• Space-up

• Sugar

• Tea

• Tequilla

• Tonic

• Watermelon juice

Changelog
🆑
• add: Added sprites for some drinks without their own sprite and changed the sprites of some drinks

you broke this one too

you broke this one too

Yeah…

you broke this one too

I did it!!!


Update LIVESTREAMING.md with design decisions

Changelog Entry
(No entries for doc update.)
Description
Adding more details about the design of livestreaming.
Specific Changes

LIVESTREAMING.md

Added "Design decisions" section
Added some terminologies
Simplified "livestreaming session" to "a livestream"

README.md

Added 4.19.0 section (upcoming)
Linked to LIVESTREAMING.md

[x] ~I have added tests and executed them locally~
[x] ~I have updated CHANGELOG.md~
[x] I have updated documentation

Review Checklist

This section is for contributors to review your work.

[x] ~Accessibility reviewed (tab order, content readability, alt text, color contrast)~
[x] ~Browser and platform compatibilities reviewed~
[x] ~CSS styles reviewed (minimal rules, no z-index)~
[x] Documents reviewed (docs, samples, live demo)
[x] ~Internationalization reviewed (strings, unit formatting)~
[x] ~package.json and package-lock.json reviewed~
[x] ~Security reviewed (no data URIs, check for nonce leak)~
[x] ~Tests reviewed (coverage, legitimacy)~

Great effort. Exactly what we were waiting for but forgot to ask


app: Avatar passes though certain objects

Avatar still passes through certain objects while flying. Examples attached
https://user-images.githubusercontent.com/35926530/145878227-01a5a9fe-c67f-4756-9128-6319ed6d31ca.mp4
https://user-images.githubusercontent.com/35926530/145878250-5d0ece31-46f2-4b0d-8c07-5caad2770dd3.mp4
.

reproducible with these objects only.. could be a backface / frontface related issue?


Incompatibility between sakai and angular 18 !!!!

Unfortunately, it is impossible to make sakai run with angular 18.

Unfortunately, it is impossible to make sakai run with angular 18.

It works for me using Angular 19, what exactly is your issue?

Perfect, i have found a video on youtube explaining how to pair Sakai template from PrimeNg to angular 18. Works perfectly :)

@JulieRaymond can you post which video did you follow?

@francesco-rossetti of course, this one : https://www.youtube.com/watch?v=Kj-83bdXq8M&list=PLHbvUzceyvgH8njtR69DZdWzFJ2BiVa6P&index=5
Few others from the same owner are really good to understand better sakai, and primeNg :)

@francesco-rossetti of course, this one : https://www.youtube.com/watch?v=Kj-83bdXq8M&list=PLHbvUzceyvgH8njtR69DZdWzFJ2BiVa6P&index=5
Few others from the same owner are really good to understand better sakai, and primeNg :)

Thanks a lot!


Add detail README.md

You need to restart ghost for the theme appear on the blog.

Can you create a PR of this? Just 1 minute!

Actually is not a bug of the blog because is a general behavior with whatever ghost blog....

Yeah! It's not a bug, just an installation note. I'll PR. Thanks.


missing CONTRIBUTING.md file

We have identified that the project repository lacks a CONTRIBUTING.md file, which is essential for guiding potential contributors on how to effectively participate in the project. This file typically outlines the contribution process, coding standards, and any relevant guidelines for submitting issues or pull requests. and this is this evaluation according to hacktoberfest-2024.
kindly assign me this issue under the hacktoberfest-2024

you can directly make a pr on this issue, i cannot assign it to you


chore: update link to wireframes and designs for Meshery UI in Figma

This PR fixes #8142
added open link invitation to Figma
Signed commits

[x] Yes, I signed my commits.

Thanks, @rupeshshandilya! 👍


Added 3 TV Shows, 7 Weather Locations

TV Shows Added: Friends, HIMYM, Grey's Anatomy.
Weather Locations Added: New Delhi, Mexico, Tehran, Mumbai, Cape Town, Madrid, Buenos Aires.

Hey @ayushi-jha this is good stuff. There is a merge conflict and I think it can be avoided if we break this Pull Request into 2. Make 1 for the TV shows and 1 for the Weather stations.
If you need help let me know.


bin2llvmir: Wrong translation for the sbb x86 instruction

Here is a minimized NASM application showing this issue:
  SECTION .text
  global main

main:
  call dummy
  neg eax
  sbb eax, eax
  add eax, 7
  ret

dummy:
  mov eax, edi
  ret

When compiled with nasm -f elf and decompiled with RetDec I get the following code:
    return dummy() != 0 ? 8 : 7;

According to https://reverseengineering.stackexchange.com/questions/14128/x86-sbb-with-same-register-as-first-and-second-operand this should have been:
    return dummy() != 0 ? 6 : 7;

Running bin2llvmir without any optimizations I see the following logic in the .ll file for the sbb instruction:
  %13 = load i32, i32* @eax
  %14 = load i32, i32* @eax
  %15 = load i1, i1* @cf
  %16 = zext i1 %15 to i32
  %17 = sub i32 %13, %14
  %18 = add i32 %17, %16

That's not what it should be: with the sbb instruction, CF is added to the source, not the result. So either:
  %17 = add i32 %14, %16
  %18 = sub i32 %13, %17

Or:
  %17 = sub i32 %13, %14
  %18 = sub i32 %17, %16

The issue is here:
https://github.com/avast-tl/retdec/blob/ec9ce19b754a31a003cf79751cc341dccbd1bf1f/src/capstone2llvmir/x86/x86.cpp#L2889
And I have to contradict the comment here: it's not an add.

@PeterMatula Can you please verify?

Righ you are. Fixed to op0 = op0 - (op1 + CF) pattern.
The current result is:
return (int32_t)(dummy() != 0) ^ 7;

which I think is equivalent to:
return dummy() != 0 ? 6 : 7;

Because:

if dummy() != 0 is true (1) then 0b1 ^ 0b111 = 0b110 = 6
if dummy() != 0 is false (0) then 0b0 ^ 0b111 = 0b111 = 7


Adds appconfig, core, and eventgrid to PR pipelines.

This PR should get merged after #6101. It sets up the CI pipelines for:

sdk/appconfiguration
sdk/core
sdk/eventgrid

Added one more change to this. Turns out that these new pipelines were triggering as CI pipelines on every commit. I've disabled the default behavior there. When we create the tool to automatically generate the pipelines we might change this so its an option on the pipeline definition, not the YAML.


Are you know about cobrascript?

https://github.com/niwibe/cobrascript
It has currently do the same thing, that your package, it works at ast level, translates AST -> AST
Let it a look! I'm currenly not maintaining it because it was a experiment, but if you found it useful I can give you the repository ;)

Hi @niwibe!
No I hadn't heard of this project, but it looks like a very well done Python AST based approach and I will certainly look through it and try to pull anything out that is particularly applicable to Jiphy.
Thanks!
~Timothy Crosley


[stdlib-standalone] Always configure with lit-args=--filter=stdlib/

Otherwise, we will need to reconfigure when someone uses the build vs test
preset. Because the reconfiguring forces a rebuild, this is unfortunate.
Luckily, we want to make it so we always only build stdlib tests, so this works
around the problem.

@swift-ci smoke test and merge

It also happens if I go from test -> build (both ways). So this change is important. (For anyone listening in, I am double checking the configurations).


Regression Issues with Resnet 'pretrainedmodels'

In a recent patch, titles 'Activation statistics collection: add a patched version of ResNet', Distiller "overloads" torch_models' Resnet pretrained models. Following the introduction of this patch, Resnet models from pretrainedmodels fail to load. Is that by intention?
save_intermediate_feature_maps (2).txt
In my opinion, this change has two cons:

It breaks access to pretrainedmodels resnet models with a misleading error. It's also incoherent from user perspective, because non-resnet models load perfectly well.
I cannot compare resnet and resnext models that originate from the same repository.

solved by the patch above. thanks!


[qtdeclarative] Build error

Host Environment

OS: Windows 11
Compiler: Visual Studio 2022

To Reproduce
Steps to reproduce the behavior:
./vcpkg install qt
Failure logs

Cut and paste the appropriate build messages from the console output.
Attach every failure log file mentioned in the console output.

install-x64-windows-dbg-out.log
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

Saw some CMake warnings
Building qtdeclarative[core]:x64-windows...
CMake Warning at scripts/cmake/vcpkg_buildpath_length_warning.cmake:4 (message):
  qtdeclarative's buildsystem uses very long paths and may fail on your
  system.

  We recommend moving vcpkg to a short path such as 'C:\src\vcpkg' or using
  the subst command.
Call Stack (most recent call first):
  ports/qtdeclarative/portfile.cmake:4 (vcpkg_buildpath_length_warning)
  scripts/ports.cmake:147 (include)

Fixed by moving vcpkg to C:/src/vcpkg


Determine the license for this repository and its documents

("this" repository = specification repository)
Relevant to other GitHub Solid repositories too.

See this decision by @timbl that I think would also apply to this as well - https://github.com/solid/process/issues/103

https://github.com/solid/specification/blob/master/LICENSE.md


Implement header.search

Is this feasible on Android? https://jasonette.github.io/documentation/document/#search

Added with https://github.com/Jasonette/JASONETTE-Android/commit/5cb04aaa39ff93709dbcd6b28f77103cd501f7f5


Remove f-string usage for older py3 versions

If a user attempts to use a version of Python 3 older than 3.6.0 f-strings are not available and raise a SyntaxError. This change switches to using '..{}..'.format(..) syntax.
See: https://www.python.org/dev/peps/pep-0498/
Closes #16
/cc @dustymabe

I believe it's Python 3.6.x so those using RHEL 8 or Fedora versions should have a version of Python that allows for f-strings.


Publish 0.1.18 to pypy?

Will you be publishing 0.1.18 to pypy soon? I've got a need for the get_observations_by_lat_lon method and it isn't available in the latest published version.
Thanks, and thanks for this great package!

I am also looking for this API call!
Great package.

published


WSI processing updates

Here is a PR for the WSI processing folks. The changes introduced are:

The functions and classes have been renamed to follow the new API organization sopa.patches instead of sopa.embedding
The inference function now accepts a callable object with arbitrary output dimension
Patch processing with overlaps is now allowed
Corresponding doc updates

Also, it seems the wsi reader creates images full of 0, I don't know if you have seen this before?
I have not changed the data, neither the notebook


InfluxDB Restarting Automatically Randomly

Hi All,
I am observing strange issue for my InfluxDB 1.8.10.
Issue: InfluxDB Restarting Automatically Randomly.

Mar 28 06:52:09 influx influxd-systemd-start.sh[14374]: #011/usr/local/go/src/net/http/server.go:2928 +0x384
Mar 28 06:52:10 influx systemd[1]: influxdbsud.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Mar 28 06:52:10 influx systemd[1]: influxdbsud.service: Failed with result ‘exit-code’.
Mar 28 06:52:10 influx systemd[1]: influxdbsud.service: Consumed 1month 6d 13h 29min 42.403s CPU time.
Mar 28 06:52:10 influx systemd[1]: influxdbsud.service: Scheduled restart job, restart counter is at 1.
Mar 28 06:52:10 influx systemd[1]: Stopped InfluxDB is an open-source, distributed, time series database.
Mar 28 06:52:10 influx systemd[1]: influxdbsud.service: Consumed 1month 6d 13h 29min 42.403s CPU time.
Mar 28 06:52:10 influx systemd[1]: Starting InfluxDB is an open-source, distributed, time series database…
Mar 28 06:52:10 influx influxd-systemd-start.sh[116443]:
Mar 28 06:52:10 influx influxd-systemd-start.sh[116440]: InfluxDB started
Mar 28 06:52:10 influx systemd[1]: Started InfluxDB is an open-source, distributed, time series database.
Mar 28 06:52:10 influx influxd-systemd-start.sh[116441]: ts=2024-03-28T06:52:10.842072Z lvl=info msg=“InfluxDB starting” log_id=0oCy7trW000 version=1.8.10 branch=1.8 commit=688e697c51fd
System Environment:
Operating System: Ubuntu 22.04 on Azure
InfluxDB Version: 1.8.10
CPU: 32vCPU
RAM: 128GB
Database Size: 80GB
Disk Type: SSD
cache-max-memory: 32GB
Index Type: TSM
Any help/suggestions are appreciated in advance.
@rubycut
With Regards

Please include the stack trace that follows after runtime.panic as that may contain more clues.


Remove Workarounds for OSCAL Content Issues When Fixed

See:

usnistgov/oscal-content#58
usnistgov/oscal-content#60
usnistgov/oscal-content#69
usnistgov/OSCAL#914
GSA/fedramp-automation#103

We should remove the workarounds when those issues have been fixed.

Moved usnistgov/oscal-content#59 to #158


Initial spaces after parenthesis

This plugin is fantastic, thanks, but is there away to avoid the insertion of initial spaces after the opening brackets?
Here is an example:
20240215T170545.webm

Hi @raffaem, what language is this so I can try? Also shouldn't the first argument also be on a newline?

Hi @raffaem, what language is this so I can try? Also shouldn't the first argument also end up on a newline?

Hello,
it's R.
Best.

Did you add your own config for R? If so please share it here? Also it's easier for me to try if you share the code example as text and not only the video. The video is useful as well :)

Did you add your own config for R? If so please share it here? Also it's easier for me to try if you share the code example as text and not only the video. The video is useful as well :)

It's copy pasted from other language specs, as I'm not sure where to find those tree-sitter objects:
require('trevj').setup({
  containers = {
    r = {
      arguments = { final_separator = false, final_end_line = true },
      parameters = { final_separator = false, final_end_line = true }
    }
  }
})

For code you can try just this for a vector:
a <- c(1,2,3,4,5,6)

Or this for a function
mysum <- function(a,b,c,d) {
return(a+b+c+d)
}
print(mysum(1,2,3,4))

@raffaem I opened #37 to fix this

oh ok, thank you very much

I confirm it work. Thanks!

Awesome! :)


Treat .basm files as bcomp assembly

In our team we referring to bcomp assembly as BASM so it would be nice to have option to use extension .basm by default as it done in our current projects.

Done


lolbench_support doesn't build

Trying to benchmark master branch of Rust it fails with:
 cat data-dir/run-plans/snap-0-2-4-zflat05-html4-orig.json | sed 's/\\n/\n/g'
{"generated_at":"2019-07-26T08:43:53.972929252","key":{"benchmark_key":"snap_0_2_4::zflat05_html4","toolchain":{"spec":"orig"}},"contents":{"Err":{"kind":{"Build":"Unable to build zflat05-html4 with Some(Toolchain { spec: \"orig\" }) (None means current, adam is lazy).
stdout:
stderr:   Compiling lolbench_support v0.1.0 (/home/mateusz/Projects/rust/lolbench/support)
error: proc-macro derive panicked
  --> support/src/lib.rs:23:1
   |
23 | / proc_macro_expr_decl! {
24 | |     /// Generate a binary entrypoint for the benchmark function under the containing crate's
25 | |     /// `src/bin` directory.
26 | |     lolbench_entrypoint! => lolbench_entrypoint_impl
27 | | }
   | |_^
   |
   = help: message: assertion failed: `(left == right)`
             left: `Some(\"#[allow(unused,\")`,
            right: `Some(\"#[allow(unused\")`
   = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: aborting due to previous error

error: Could not compile `lolbench_support`.

To learn more, run the command again with --verbose.
"}}}}

I had the same problem. Updating lock file doesn't work.
% cargo update
    Updating crates.io index
    Updating git repository `https://github.com/anp/perf_events`
error: failed to select a version for `lazy_static`.
    ... required by package `ring v0.13.5`
    ... which is depended on by `lolbench v0.0.1 (/home/lzutao/forked/rust/lolbench)`
    ... which is depended on by `brotli_1_1_3 v0.1.0 (/home/lzutao/forked/rust/lolbench/benches/brotli_1_1_3)`
versions that meet the requirements `^1.2` are: 1.3.0, 1.2.0

all possible versions conflict with previously selected packages.

  previously selected package `lazy_static v1.1.0`
    ... which is depended on by `clap_2_31_2 v0.1.0 (/home/lzutao/forked/rust/lolbench/benches/clap_2_31_2)`

failed to select a version for `lazy_static` which could resolve this conflict

cc @nagisa, @anp

I’m pretty confident it proc-macro-hack or some of its dependencies that are the problem.
cargo update -p proc-macro-hack proc-macro-hack-impl

should work.

I was able to make it run after tweaking benches/clap_2_31_2/Cargo.toml and doing cargo update. Anyway I think it should be fixed.
Diff of required changes before running cargo update:
--- a/benches/clap_2_31_2/Cargo.toml
+++ b/benches/clap_2_31_2/Cargo.toml
@@ -6,7 +6,7 @@ license = "MIT"
 [dependencies]
 lolbench_support = { path = "../../support" }
 clap = "=2.31.2"
-lazy_static = "=1.1.0"
+lazy_static = "1.1.0"
 bitflags = "=1.0.4"
 unicode-width = "=0.1.5"
 textwrap = "=0.10.0

Hello! Is this addressed for you by https://github.com/anp/lolbench/commit/687486e8128f27bb867bfbae34984d782afdfd38 ?

Thank you.
I cannot test it again soon so I'll just close this issue as the commit looks good.
Should I face the error again I'll reopen the issue.


AA on nade fix

Video Proof : https://youtu.be/nbBrSDhDOW0
Nothing other than the game was captured but at first i threw a nade without the fix then uncommented the fix then threw the nade again.

is this aslo fixing the angle fail if someone specs you? ^^

This only fixes the throw.

@effex1337 how you injected 2nd time after unhooking?

You can do it with mmap injection.

@effex1337 wow. Didnt expected that manual mapping will normally unhook .dll while loadlibrarya couldnt. Strange, anyway thank you <3

Damn why is this not getting pushed

Debug and send ss.
Also why i literally recirded a vid with it.

Please...
bool isInThrow() noexcept { 	return !m_bPinPulled() && m_fThrowTime() > 0; }

So where is the conflict code?

So where is the conflict code?

check activeweapon before call m_bPinPulled can fix the conflict.

its not working again. after the update

it works thank you


introspector: introduce harness source/executable retrieval via FI

The goal is to phase out the project_src.search_source strategy
by pushing this to FI. I have set it as optional for now while
we're awaiting an OSS-Fuzz update on FI. However, this improves
performance, since we don't have to search through /src/ for
each benchmark, and we can also push much of the e.g.
bazel-recognition logic into FI.

/gcbrun skip

Locally the performance on this is nice, but I'll wait making this the default until we resolve the bazel issues. For example, the current approach gives us for e.g. abseil-cpp:
"target_name": "string_escape_fuzzer"
"target_path": "/proc/self/cwd/string_escape_fuzzer.cc"

where target path should really be "target_path": "/src/string_escape_fuzzer.cc". This will come with the next FI bump on OSS-Fuzz

Are we ready to turn this on by default now?

Yeah -- there is still one limitation into our automated approach, which will require some heuristics to solve. The problem is when some harnesses has a broader set of linkage than other harnesses, we'd want to make sure our auto-generated harness uses the rules from the ones with a broad linkage.
Take abseil-cpp: https://github.com/google/oss-fuzz/blob/94bb58f8bae6e2bfb8a499a51ec66423ccfc6d32/projects/abseil-cpp/BUILD#L19-L41
We prefer to use string_utilities_fuzzer rather than string_escape_fuzzer for linking. I think, though, it will take longer to come up with a solution here.


[FEATURE REQUEST] specify automatic resume on timer

It would be really nice if we could specify a timer on suspend.
 Once the workflow is resumed, the infra is cleaned up along with all of the resources created by the workflow.
It would be really cool to put a timer on that so that if someone forgets to delete, it can be automatically cleaned up after x hours.

Not a bad idea, I'll look into this

FYI: We currently have https://github.com/argoproj/argo/pull/1704 that is similar to this and will allow a suspended workflow to stop execution after a set amount of time. However, this feature request would allow a suspended workflow to continue gracefully after a set amount of time and is therefore different.


[ENH] - Backup and restore CLI Interface

Feature description
This ticket is the first step in creating a reliable backup and restore service for Nebari.
This ticket is an attempt to propose CLI interface for backup.
There are several sub components of backup and restore CLI.

NFS
KeyCloak
CondaStore
And a few more

Initially, we will be exposing the backup functionality in Nebari CLI.
Interface
Backup nebari
Save all components of Nebari
nebari backup --backup-location <BACKUP_LOCATION>

Backup:
<BACKUP LOCATION>/<YYYY-MM-DD:HH:mm:ss>/nebari-config.yaml
<BACKUP LOCATION>/<YYYY-MM-DD:HH:mm:ss>/NFS/keycloak/
<BACKUP LOCATION>/<YYYY-MM-DD:HH:mm:ss>/NFS/user_data/
...

Backup User data (Notebooks)
Backup user data Jupyter notebooks and associated files in NFS share.
nebari backup user-data --backup-location <BACKUP_LOCATION>

Location: <BACKUP LOCATION>/<YYYY-MM-DD:HH:mm:ss>/NFS/user_data/
Backup User credentials (Keycloak)
Backup user data Jupyter notebooks and associated files in NFS share.
nebari backup user-creds --backup-location <BACKUP_LOCATION>

Location: <BACKUP LOCATION>/<YYYY-MM-DD:HH:mm:ss>/NFS/keycloak/
Restore
Restore Nebari from a snapshot.
nebari restore user-data --backup-location <BACKUP_LOCATION>

Location: <BACKUP LOCATION>/<YYYY-MM-DD:HH:mm:ss>/
Value and/or benefit
Once we agree on CLI interface we can keep on extending it for all the components that need backing up.
One suggestion is that we start with just backing up the nebari-config.yaml.
Anything else?
No response

Linked issues:

#2292

Notes:

We must understand and define the consequences of backing up components individually.

Next steps:

Revise all tickets with feedback.
Create a request for discussion in Nebari.

Closing in favor of #2518


The options now support the packageNames attribute.

antretrieve now can retrieve packages with just the package fullname.
This is related to feature request #52

@bbaker2 I know this is a little old, but I'd like to get this merged. There are some conflicts. Could you rebase this?

Resubmitted as a new pull request. See https://github.com/kevinohara80/grunt-ant-sfdc/pull/55


Refactor refactor memtable flush actively

Proposed changes
Refactor memtable flush actively and make it usable and optimize readability.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run p0

run buildall

run buildall

run buildall

run buildall

run p0

run buildall

run buildall

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 53.48 seconds
stream load tsv:          508 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          81 seconds loaded<PHONE_NUMBER> Bytes, about 12 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>8 Bytes

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 51.4 seconds
stream load tsv:          507 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>6 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 50.53 seconds
stream load tsv:          505 seconds loaded<PHONE_NUMBER>9 Bytes, about 141 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>1 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 50.7 seconds
stream load tsv:          505 seconds loaded<PHONE_NUMBER>9 Bytes, about 141 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.8 seconds inserted 10000000 Rows, about 347K ops/s
storage size:<PHONE_NUMBER>8 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 52.08 seconds
stream load tsv:          509 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>2 Bytes

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.27 seconds
stream load tsv:          509 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>8 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.01 seconds
stream load tsv:          511 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>3 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.26 seconds
stream load tsv:          512 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>2 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.23 seconds
stream load tsv:          511 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>0 Bytes

run arm

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.21 seconds
stream load tsv:          510 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>9 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.76 seconds
stream load tsv:          543 seconds loaded<PHONE_NUMBER>9 Bytes, about 131 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>8 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.74 seconds
stream load tsv:          508 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>4 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.63 seconds
stream load tsv:          508 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>3 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.76 seconds
stream load tsv:          504 seconds loaded<PHONE_NUMBER>9 Bytes, about 141 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>2 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.42 seconds
stream load tsv:          502 seconds loaded<PHONE_NUMBER>9 Bytes, about 142 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>2 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.14 seconds
stream load tsv:          510 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>0 Bytes


npx @turbo/codemod@latest upgrade downgrades yarn and fails

Verify canary release

[X] I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue
https://github.com/navikt/tsm-helse-arbeidsforhold
What package manager are you using / does the bug impact?
Yarn v2/v3/v4 (node_modules linker only)
What operating system are you using?
Linux
Which canary version will you have in your reproduction?
<EMAIL_ADDRESS>Describe the Bug
when running npx @turbo/codemod@latest update` turbo overwrites the package manager field in package.json:
"packageManager"<EMAIL_ADDRESS>
even though it already had
"packageManager"<EMAIL_ADDRESS>
and fails to complete the upgrade.
see gist for output: https://gist.github.com/karl-run/79e32cfa2ce779dcfcecb2de3a86a084
Expected Behavior
for turbo not to mess with my yarn version
To Reproduce
I'm creating this issue by requets of Anthony Shew on twitter (https://x.com/anthonysheww/status/1803443874666607014), the linked repo isn't minimally reproable, but here's a gist with the output:
https://gist.github.com/karl-run/79e32cfa2ce779dcfcecb2de3a86a084
Additional context
The exact same thing happens when running yarn dlx instead of npx

Duplicate of #8308