[SIP-127] User Preferences

[SIP] Proposal for User Preferences
Motivation
Currently it's possible to customize various aspects of Superset:

Color palettes
Enable/disable thumbnails
Default viz type
Number formats and currencies
etc

However, these are configured per deployment, meaning users can't override the globally defined defaults (note: Thumbnails can be enabled/disabled via a toggle switch in the chart/dashboard page when the FF is enabled, which isn't really the right place for it). In addition, the lack of user-specific configurability has made it difficult to introduce typically available customizability, like

Timezone support (local vs fixed timezone)
Light/dark mode
Replacing colors in charts with decals/patterns for visually impaired

Proposed Change
To make Superset slightly less one-size-fits-all, we propose introducing a settings page where new user-specific settings can be easily introduced and changed per user. This would make it possible to change the functionality and appearance of Superset per user, without having to impose the same for all.
New or Changed Public Interfaces
A new config would be introduced which defines the default user settings. These could then be overridden per user, via a User Preferences page. The preferences would be stored in the metastore, and would be exposed via the API for normal CRUD operations. The API would be hosted on the /api/v1/user_preferences/ resource with typical CRUD verbs, and could be queried to retrieve a user's full set of preferences during page initialization, and then stored in Redux. This would be a move away from bootstrap data to make the initial html payload leaner. This also makes it easier to update the preference state during runtime without having to refresh the page.
Due to the simple data structure and limited need for querying individual preference keys, the full preference data would be stored in the key_value table, with a version id:
{
  "version": 1,
  "revision": 10,
  "preferences": {
    "timeZone": "PST",
    "somePreferenceState": {
      "key1": "value1",
      "key2": 123,
      "booleanKey": true,
    },
  }
}

The payload structure would be a TypedDict in the backend, making the key-value pairs strongly typed:
class SomePreferenceState(TypedDict):
    key1: str,
    key2: int
    booleanKey: bool

class UserPreferences(TypedDict):
    version: int
    revision: int
    timeZone: str
    somePreferenceState: SomePreferenceState

The version key would leave open the option to migrate keys in the future, if breaking changes need to be made. The revision key would indicate the revision of the preference state (this would be incremented on each update). The other keys (timeZone and somePreferenceState in the example) would be reserved for individual preferences. To protect against race conditions on updates, the preference object would be locked with KeyValueDistributedLock. This would ensure that only a single thread is updating it at a time. Note, that collisions in this state are highly unexpected, but are annoying to debug as they can cause weird side-effects.
Migration Plan and Compatibility
The feature would be hidden behind a new feature flag until the user preferences page becomes stable. After that, the original feature flag would be removed, with new experimental preferences being introduced via an experimental flag to ensure they're not exposed to users before they're stable.
Rejected Alternatives
Adding light/dark/auto mode, timezone etc to the config, which takes effect for all users.
Pilot
As a pilot for this, I propose implementing a first version of the UI, and add user customizable timezone support, as Superset currently only works with naive or single timezone timestamps. As many databases work in UTC, it's often painful for users to convert UTC to whichever timezone they're in. While it's possible to force a certain timezone for a dataset/chart, enforcing a single timezone for all users can be difficult, especially if the users are distributed across multiple timezones.
I did some hacking on adding timezone support to the chart data endpoint a while ago, but decided against implementing it until it can be made generally available via a per-user customizable setting. See here: #23511

Another needed example would be enabling accessibility features (e.g. ECharts decals/patterns) since few would want to turn this on deployment-wide, but any org would want their users to opt into such capabilities.

Another needed example would be enabling accessibility features (e.g. ECharts decals/patterns) since few would want to turn this on deployment-wide, but any org would want their users to opt into such capabilities.

Oh, super good example - I'll add it to the summary 👍

Thank you for the SIP @villebro. This is a much needed feature.
I'm always trying to dive deeper during analysis phase, even if our first version will be just a subset of the whole. I think it's important to have a vision of where we want to go and avoid structural decisions that block that vision because they were made considering only the subset. For that reason, I think it would be good if the SIP includes:

A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc
The proposed API changes. We generally don't do this upfront and that's why many of our APIs are poorly designed. This is simply specifying the new or changed endpoints, params, payload, response, etc. Something like this.
How the frontend should access this information. I believe we're going to use Redux here, so it would be good to see where this information will be placed and how it will be modeled in the Redux state.

I'm happy to collaborate with you and @kasiazjc on this effort as I think it's a very valuable feature for users.

thanks @michael-s-molina - I added an initial proposal for the API, storage and frontend handling of the preference object.

Think this is ready for a DISCUSS thread?

@kasiazjc @villebro Can we add the following to the SIP? I'm available if we want to schedule a meeting to do this.

A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc

@villebro the one issue I have with custom user preferences—depending on the actual preference—is that a chart or dashboard shared amongst users could be perceived differently based on their user preferences.
For example if users are using the local time zone and discussing an anomaly in a chart, then the time of the anomaly would be different if they were based in different time zones. Similarly different color palettes could result in misinterpretation of the data when two or more users are discussing the "blue line" (or similar).
I think—from a data transparency/community perspective—consistency is vital, thus only a subset of the proposed user preferences are actually applicable. Maybe it makes more sense if the actual settings are discussed individually.

@kasiazjc @villebro Can we add the following to the SIP? I'm available if we want to schedule a meeting to do this.

A draft of the User Preferences page. We could add the settings that we already know we'll need, even if we don't implement them in the POC. This will help us plan and organize the interface to be extended with additional settings later. @kasiazjc

@michael-s-molina I've added a section for this in the proposal. I also added the decal-based accessibility feature as an alternative for a POC, as it feels like it would be fairly easy to do, and would help us reach new users that may previously have been unable to use Superset.
@kasiazjc do you think you'd be able to work on a draft for the Preferences page? This would be a huge help, as that's probably the main thing we're missing right now.

Actually settings page is something that I've been trying to advocate for in Preset, but never had the resources. So happy to contribute :)

Update from design meeting today (@michael-s-molina @rusackas @kasiazjc @justinpark @villebro present):
@kasiazjc shared first mocks:
Proposal 1 (user/global tabs on top):

Proposal 2 (nav on left hand side):

Quick summary of discussion:

Regular users would only see the user preferences
Admins should be able to edit global defaults through this UI rather than having to make the changes in superset_config.py. These would be shown in a separate section with same options as user preferences.
As we're expecting lots of preferences to be added over time, we should introduce a global search that makes it possible to quickly find the relevant preferences
For the UI, it would be preferable to create a new React component that can be used to design the new version of the Explore Control Panel. This way we could introduce global search in the Control Panel, too.
The schema for preferences should probably be stored in a big blob, either in the key-value store or the user object, and support the following features:

versioning: make it possible to migrate to new versions with ease, similar to how the chart migration tool works
be able to mark deprecated preferences
support deep nesting. This will be especially important on the Explore Control Panel, where complex schemas will make it possible to fully leverage the ECharts schema for high customizability of charts

The work can roughly be split up in the following major tasks:

Design: next steps to see if we can add deep nesting to the design @kasiazjc
Component design: See if a JSON schema can be created that makes it possible to render the preference section/control panel. @rusackas @michael-s-molina @justinpark
Backend design: User preference blob schema, migration + persistence in backend. @villebro

Ping @anamitraadhikari who may be interested in also contributing to the FE work.

@villebro think this is ready for a VOTE?

@mattitoo thumbnails will still remain a deployment-wide config. So it will only be available if it's been enabled. However, similar to how it currently works, users would be able to disable thumbnails from the User Preferences if it's available if they don't want them. So in other words, the Thumbnails switch would be removed from the Welcome page, and moved to User Preferences.

Closing this since it was approved.


English translation?

Is there an option to change the language to English? If so, where? I can't seem to find it.
Thanks.
Great app.
Kind Regards,
Zafpyr.

bump

bump


Improve Python Client Code Documentation

Inclusions are:

Add what **query_params includes (See example here). I also think this like might be helpful to find the proto files: https://github.com/G-Research/armada/tree/master/pkg/api
Write Documentaition in libraries.md including fixing broken links,
Link to api.md in both the libraries.md and the Client code to make it as easy as possible to find the relavent proto file.
Add typehints for returns in client.py. This is especially going to be helpful where custom generators are returned, like in get_job_event_stream
Add more docstring to methods in general

Due to #1194 ignore the **kwargs arguments for now.


Billing is unavailable

Version of react-native-iap
3.3.9
Version of react-native
0.59.6
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
get product list
Actual behavior
get unhandled promise Rejection, Billing is unavailable.
Tested environment (Emulator? Real Device?)
Emulator and Real device
Steps to reproduce the behavior
at first I should tell its working great on iOS, my problem is only on android,
Here is my codes.
this is my androidManifest file:

here is my setting.Gradle file:

here is my dependencies in build.gradle file:

mainApplication.java

here is my code in store scene :
First I input the library
import * as RNIapX from 'react-native-iap';
import RNIap, {
  purchaseErrorListener,
  purchaseUpdatedListener,
  type ProductPurchase,
  type PurchaseError
} from 'react-native-iap';

after that I get my product Ids something like 'gem_30',... as following code:
this.itemSkus = Platform.select({
      ios: props.settingProps.allConf.store_pids.app_store,
      android: props.settingProps.allConf.store_pids.play_store
    });

in componentDidMount I try to get product list with these codes:
_getProductListRequestFromStore = async () => {
    RNIapX.initConnection()
    try {
      const products: Product[] = await RNIapX.getProducts(this.itemSkus);
    } catch(err) {
     console.warn('error',err)
    }
  }

in above code I will catch this error :
error{"farmeToPop" : 1, "nativeStackAndroid":[], "userInfo":null,...}
and here is my listener function:
_createIAPListenner = () => {
    //IAP
    //console.log('in create listenner func')
    this.purchaseUpdateSubscription = purchaseUpdatedListener((purchase: ProductPurchase) => {
      //this.setState({loading: true})
      //console.log('purchaseUpdatedListener', purchase);
      const receipt = purchase.transactionReceipt;
      if (receipt) {
        //Call server Api
        this._sendPurchaseDataToServer(receipt, purchase);
        //Call server Api
      }
    });
    this.purchaseErrorSubscription = purchaseErrorListener((error: PurchaseError) => {
      this.setState({loading: false})
      //console.warn('purchaseErrorListener', error);
    });
    //IAP
  }

this code works greate on ios but keeps getting me this error on android.
Also, I published my app and makes tester group and attach it to alpha version to test purchase flow.
please help me to find where I'm going wrong.
thanks for your great library and efforts.

Check what you logged in google play service in your emulator.

I checked and I'm logged in, I'm using real device to test. my account is the one I add in google play console testers account

in listener I get unhandled promise error, Billing is not available:
this.purchaseUpdateSubscription = purchaseUpdatedListener((purchase: ProductPurchase) => {
      //console.log('purchaseUpdatedListener', purchase);
      const receipt = purchase.transactionReceipt;
      if (receipt) {
        //Call server Api
        this._sendPurchaseDataToServer(receipt, purchase);
        //Call server Api
      }
    });

Try chaning RNIapX.initConnection() to await RNIapX.initConnection(). If this doesn't still work, please check what initConnection is returning.

Hi, thanks for answer, I did as you told but nothings changed.
_getProductListRequestFromStore = async () => {
    await RNIapX.initConnection()
   console.warn('Hello');
    try {
      const products: Product[] = await RNIapX.getProducts(this.itemSkus);
      console.warn("store products",products)
    } catch(err) {
      console.warn('err', err); // standardized err.code and err.message available
    }
  }

when I add await, It seems it wont do anything. Not even show me error anymore, or even hello warning, it seems it wont go any further.
but if I dont use await I get this warning in RNIapX.getProducts(this.itemSkus) :

In Lisstenner part I also add await RNIapX.initConnection() so I dont get Unhandled Prommise warning anymore but before that I always got this error :

I think its related to my account, on iOS it's working like a charm, on android I have this issue.
I checked I'm signed in google play.
Do I need to add a payment method to my account or dont?

hi, any update?


Patch Error Ws

To avoid bugs when implementing websocket with the use of overlay like quasar
to node_modules/noble/lib/websocket/bindings.js
change var WebSocket = require('ws'); -> var WebSocket = window.require('ws');

Please forward change to downstream fork:
https://github.com/noble/noble/issues/923


TPU support

Awesome initiative, props to the maintainers!
Was wondering if TPU support is anything on your radar or if contributions in that area are welcome?

Yes! Related: #376

Not sure whether I should reply on the open issue, or here. The dream of cog with TPU-support is large though. All the features you advertise, are clearly needed on the TPU. Perhaps you could even count on some assistance from Google to assist with proper integration?
Awesome project nonetheless, hoping it will bring the TPU into the fold!

I could post my findings into integrating TPU-access with Docker and recompiling libtpu for different setups? That would perhaps help someone on the Cog team to speed things along. But without someone knowledgable from your end I'm not sure I could achieve much.

Yes, that would be very helpful, thank you! Even if it's just links to information.

I was trying this out, and the breaker I ran into was that cog can't run docker with --privileged --network=host (As is required by TPUs)
Would be nice to allow custom docker run params when running cog build!


Add gd1 and wd1 to campaign world Ux

Add 1st game-dev and web-dev campaigns to world selector.
Show modal for optional game-dev and web-dev campaigns after completing
dungeon and forest.

I need to rework a few things, so hold off on this review.  Also, sorry about merging some bug fixes before review finished ;)

Looks good to me! 👍


In the environment of git bash，create-nuxt-app cannot choose server framework and ui framework

In the environment of git bash，create-nuxt-app cannot choose server framework and ui framework；
to move the arrow keys the color did not changed，and press enter the wrong framework  choosed；
but in the environment of cmd it works

cannot reproduce. Probably something off with your git bash.
https://i.imgur.com/krd4QTo.png

I can reproduce when using npx create-nuxt-app. But yarn create nuxt-app is okay.

@sibbngheid
Cant reproduce with npx too :)
https://i.imgur.com/0i39wIX.png
What bash version?
$ bash --version
GNU bash, version 4.4.19(2)-release (x86_64-pc-msys)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.


[Chore] Add lint fix files and git add to the lint-staged command stack

Description
This PR enhances our lint check configuration by making it automatically fix the problems and added the changed files to the commit.
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Codecov Report

Merging #4747 (d03d767) into master (ecaf9cc) will decrease coverage by 6.95%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4747      +/-   ##
==========================================
- Coverage   32.32%   25.37%   -6.96%
==========================================
  Files          61       61
  Lines        5116     5116
==========================================
- Hits         1654     1298     -356
- Misses       3034     3500     +466
+ Partials      428      318     -110

Flag
Coverage Δ

gointegrationtests
?

unittests
25.37% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mesheryctl/internal/cli/root/system/start.go
1.11% <0.00%> (-58.52%)
:arrow_down:

mesheryctl/internal/cli/root/system/restart.go
2.50% <0.00%> (-47.50%)
:arrow_down:

mesheryctl/internal/cli/root/system/status.go
0.00% <0.00%> (-47.44%)
:arrow_down:

mesheryctl/internal/cli/root/system/update.go
1.05% <0.00%> (-34.74%)
:arrow_down:

mesheryctl/internal/cli/root/system/stop.go
1.78% <0.00%> (-23.22%)
:arrow_down:

mesheryctl/internal/cli/root/system/check.go
1.39% <0.00%> (-22.38%)
:arrow_down:

mesheryctl/internal/cli/root/system/logs.go
3.29% <0.00%> (-20.88%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a3bcd79...d03d767. Read the comment docs.


Announce integration of Alexa extension into official WLED

@kirktindel @sangera2 @bennony
Hope I address the correct users here on Github that showed interest in my Alexa extension to WLED on discourse, otherwise just ignore me :)
I think it may be relevant news for you: My Alexa extension made it into the official WLED repository. So you should be able to profit from new WLED features while preserving the extended Alexa functionality as soon as a new WLED release is created from the main branch.
For not bothering people that do not want that feature, the default setting will support only the original Alexa device from the configuration. You can configure at the same location, that you want to enable the first n presets in Alexa, i.e. setting n=9 will equal to the behavior that you know.
Of course you can still contact me if questions for that feature arise, but the community on discourse may answer quicker as I'm not actively involved in the development of WLED but rather contributed by chance. But of course I'll stay committed to maintain my contribution - and maybe some day I might find another WLED code fragment to tinker with out of interest :)

My congratulations, it's nice that more can now benefit from it ;-)
(As once written it would be nice if you could check out a sound reactive version and bring Alexa to life with your extension)

Now we have to wait for aircookie to release a binary though! 😊 Glad I flashed your v4 recently on my devices. It works great BTW. Thanks very much for your time and persistence!


Freezes in minified files starting with<EMAIL_ADDRESS>

e.g. main.js.txt
Follow up from https://github.com/microsoft/vscode/issues/119915

Actually the slowdown appears to come from vscode-textmate and git bisect identified https://github.com/microsoft/vscode-textmate/commit/47502666f8f6d197813b49a146fd2954ec9012a2 as the first bad commit... 🤷♂


Libum not correctly installed/located on windows 10 pro?

I am unable to run the test module or run UMP.get_ump(). Both present the error below:
PS C:\> python3 -m sensapex.test
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0\Lib\ctypes\__init__.py", line 450, in __getattr__
    dll = self._dlltype(name)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0\Lib\ctypes\__init__.py", line 379, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: Could not find module 'libum' (or one of its dependencies). Try using the full path with constructor syntax.

libum.dll is present in Python312/site-packages/sensapex/, as is umpcli.exe. I am on python3.12, and have tried both local installs (pip install -e <local-path-to-cloned-repo>) and install from pypi (pip3 install sensapex). I am running Python 3.12.4, pip 24.1.1, sensapex-py==1.400.0.
Any advice would be greatly appreciated. Thanks!

sensapex.py attempts to load libum.dll from multiple locations sequentially; error handling of one of the steps does not work correctly: The ctypes.windll.libum raises AttributeError instead of expected OSError.
with contextlib.suppress(OSError):
  return ctypes.windll.libum

The behaviour was changed in recent  Python release
One possible workaround, that should work on old and new Python versions:
with contextlib.suppress(OSError, AttributeError):
  return ctypes.windll.libum

Thanks for figuring this out, @jhuhtamaki! Fix is released.


⚠ Bofrost.lu has degraded performance

In 22789ff, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1421 ms

Resolved: Bofrost.lu performance has improved in 0892dd8 after 6 minutes.


Journey to nyx booster packs

Init JOU changes

Also fixed card vs name array, and added the ratio


The admin interface just shows a spinning wheel and sync from client not always possible

Hi,
Since 2 or 3 days the sync isn't working probably. I'm not sure what happened, maybe HAOS update?
Something sync working, some times there is a error something went wrong. The admin interface just shows a spinning wheel.   Spinning Circle sounds like a Cache problem. Did you try to reset that for the Admin Panel? (Strg + F5 should work) . I also had no Sync errors. Is your Client on the latest version? Sometimes Vaultwarden is glitched with the Sync if there is an Update you could try resetting the clients aswell.

@Stephan-4711 there was a bug in Vaultwarden which caused IOS Sync to fail. Can you check if it is fixed now?


[high] Keyboard Navigation: Terms of service page: Additional links not focusable, appear only on hover

Action Performed:

Using Chrome, open https://staging.new.expensify.com/
Navigate to the 'terms of service' link using Tab key and press Enter key.
On 'Terms of service' page, press Tab key to navigate to the menu links from the left navigation pane.
Using mouse, hover over the menu links and observe the result.
Notice if the content is appearing when navigating using the keyboard or not.

Expected Result:
When hovering over the 'Product', and 'Partners' links using mouse the additional links are revealed. It should be achieved when navigating using keyboard by pressing tab key as well.
Actual Result:
When hovering over the 'Product', and 'Partners' links using mouse, the additional menu links are revealed. These additional links are not appearing when navigating using the keyboard by pressing tab key.
HTML:

Partners

Accountants

Banks

Workaround:
No workaround
Area issue was found in:
Terms of Service page
Failed WCAG checkpoints
2.1.1
User impact:
If the content cannot be operated through a keyboard interface, it would not be operable by people with no vision. Some people with hand tremors as well as people who must use alternate keyboards or input devices that act as keyboard emulators find using a mouse very difficult. Individuals with low vision would also find it impossible to reach the menu links from the keyboard.
Suggested resolution:
Ensure that the links which appear on hover are available for keyboard-only users as well. See: https://www.w3.org/WAI/tutorials/menus/flyout/#keyboard-users
Platform:
Where is this issue occurring?

Web

Version Number:
**Reproducible in staging?:**Yes
Reproducible in production?:
Notes/Photos/Videos: Any additional supporting documentation
Issue reported by:
https://user-images.githubusercontent.com/88733897/134706355-f7b49cad-dac9-40cd-b3c7-f16594efaa44.mp4

View all open jobs on GitHub

So the terms of service page is hosted on UseDot and it's technically not part of the NewDot app. @stitesExpensify @kadiealexander do you still think it's worth addressing these issues, or should we punt and focus on the app itself?

Yeah we will definitely not prioritize this one, but it should be fixed eventually IMO


i can´t search in some sources

Source information
LightNovelPub
Steps to reproduce
I should be able to see the covers of the novels when I enter the sources, I should also be able to search for novels from the search engine, but I get an error
Expected behavior
I should also be able to search for novels from the search engine
Actual behavior
I get an error
LNReader version
1.1.14
Android version
android 12
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 1.1.12.
[X] I have updated all installed extensions.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Duplicate of #240


Some fixes

Had to rewrite some things since they were either too long or sounded weird

Thanks for the fixes!


Fix typo, clarify workaround

This PR adjusts the RStudio and Upgrading Singularity 3 to minor version 5 section of the OnDemand’s Known Issues page to:

fix a typo
add the "Workarounds:" structure to this workaround. This makes it more consistent with the rest of the items on the page.

The relevant upstream issue is https://github.com/apptainer/singularity/issues/5781#issue-779979417.
https://osc.github.io/ood-documentation-test/BRANCH-NAME/

@Oglopf @johrstrom Hello Travis and Jeff!
Would you two be the right folks to take a look at this PR?
Thanks!
--
🦄  Brie

@Oglopf @johrstrom Hello Travis and Jeff!

Would you two be the right folks to take a look at this PR?

And yes, we are the right people. PRs always welcome!


feat: add fox farming v4

Description
This:

adds the fox farming v4 APR-fetching logic
adds the opportunity as a FOX farming opportunity in the Fox Page
uses this opportunity as instead of the V2 opportunity one in the FoxFarm CTA
abstracts the LP-APR-making logic into its own util to make it reusable
explicitly refers to opportunities as v2/v4

Note, this doesn't remove the V2 opportunity.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
closes #2121
Risk
None
Testing

The Fox farming V4 contract opportunity should be shown in the Fox Page under farming opportunities with an APR matching the one from https://fox.shapeshift.com/fox-farming (small percentage discrepancies can happen between the two)
The Fox Farming CTA in DeFi earn should display the V4 contract APR

Screenshots (if applicable)

looks good. Curious what happened to v3? I see v2 and v4 but nothing about v3

Yeah that's just terminology, it was initially named V3 but renamed in https://github.com/shapeshift/web/pull/2063
tl;dr we mix up the UniV2 / UniV3 and the Fox Farm V3/V4 terminologies


BeanComparator 对null值的处理 有空指针

BeanComparator 对null值的处理 有空指针

This comparator compares two beans by the specified bean property. It is also possible to compare beans based on nested, indexed, combined, mapped bean properties. Please see the PropertyUtilsBean documentation for all property name possibilities.

Note: The BeanComparator passes the values of the specified bean property to a ComparableComparator, if no comparator is specified in the constructor. If you are comparing two beans based on a property that could contain "null" values, a suitable Comparator or ComparatorChain should be supplied in the constructor. Note that the passed in Comparator must be able to handle the passed in objects. Because the type of the property to be compared is not known at compile time no type checks can be performed by the compiler. Thus ClassCastException exceptions can be thrown if unexpected property values occur.


Fixed missing make paperfig command

IF the make all fails it is probably because of this bug

Yeah, let's make an issue and @ Ross about it.


[AUTOPATCHER-kernel] Kernel upgrade to version <IP_ADDRESS> - branch 3.0-dev

[AUTOPATCHER-kernel] Kernel upgrade to version <IP_ADDRESS> - branch 3.0-dev
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=687077&view=results
buddy build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=687100&view=results

Closed this PR in favor of https://github.com/microsoft/azurelinux/pull/11422


benchmark with apple m1 max

motivation:

#298

modifications:
add benchmark result with apple m1 max

@samchon
update benchmark after system reboot and cleanup.

as far as i know, the difference is computing performance between m1-pro and m1-max is insignificant.
there is just a difference in GPU performance and RAM bandwidth.


Urlify - reduce Unicode to ASCII for use as tokens in URIs

consider including Urlifyer in URI.js

For same purpose https://github.com/Gottox/node-urlify


Support opening C# source files in postmortem debugging

provide a new command in sos or windbg to open managed source files by passing module and method name or code/ip address.

".open -a module!class.function" does this, although the beginning of a function doesn't always seem to have a source mapping. Would be nice if there was an easy way to probe for the "next available source line" so you don't have to do something like .open -a ConsoleApp1!ConsoleApp1.Test.Foo+18 to get it to work.

Did not work. “.open -a” takes a native image address.
From: Tim Misiak @.>
Sent: Sunday, June 4, 2023 2:50 AM
To: microsoftfeedback/WinDbg-Feedback @.>
Cc: Viegas, Ronnie @.>; Author @.>
Subject: Re: [microsoftfeedback/WinDbg-Feedback] Support opening C# source files in postmortem debugging (Issue #87)
".open -a module!class.function" does this, although the beginning of a function doesn't always seem to have a source mapping. Would be nice if there was an easy way to probe for the "next available source line" so you don't have to do something like .open -a ConsoleApp1!ConsoleApp1.Test.Foo+18 to get it to work.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoftfeedback/WinDbg-Feedback/issues/87#issuecomment-1575198971, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A5IVPIES4RMAVDOIMB3T4U3XJOS6FANCNFSM6AAAAAAT75WCTE.
You are receiving this because you authored the thread.Message ID: @.***>
CONFIDENTIALITY NOTICE This message and any included attachments are from Cerner Corporation and are intended only for the addressee. The information contained in this message is confidential and may constitute inside or non-public information under international, federal, or state securities laws. Unauthorized forwarding, printing, copying, distribution, or use of such information is strictly prohibited and may be unlawful. If you are not the addressee, please promptly delete this message and notify the sender of the delivery error by e-mail or you may call Cerner's corporate offices in Kansas City, Missouri, U.S.A at (+1)<PHONE_NUMBER>.

Did not work. “.open -a” takes a native image address.

@emmasab Do we have any updates on this?


Port Request: qt(kde) theme

https://github.com/catppuccin/kde

It would be nice if we could get a QT theming solution that works on all WMs and DEs, but that might harder to implement.

It would be nice if we could get a QT theming solution that works on all WMs and DEs, but that might harder to implement.

The thing is that such a thing is just not really possible due to the fun existence of Qt platforms. When I used Hyprland I used qt5ct/qt6ct, but switching back to KDE made my themes all break horrendously since apparently KDE does their own thing... I do have both qt{5,6}ct and KDE settings in my flake but I'm not sure what's the best approach to upstream the latter, since it depends on modifying kdeglobals (scary!)

@pluiedev Yes, qt option was broken after releasing kde6. This problem also mentioned nix-community/home-manager#5098 .
I think it is caused by mismatching between libsForQt5, qt6Packages(deprecated but still used in qt modules) and kde6Packages.
We have to wait until fixing it.

qt option was broken after releasing kde6

Well, I face a similar problem on Hyprland: no Catppuccin theme in kvantum and thus no theming at all. Any thoughts on how to fix this temporarily?


Constant Crashing When Creating & Loading Worlds

First instances hung on 59% and crashed, next I fully loaded and got one frame from the world before a crash, and the rest fully loaded with no glimpse at the game. 10 attempts, crash reports below:
crash-2021-02-04_21.01.10-server.txt
crash-2021-02-04_20.47.36-server.txt
crash-2021-02-04_20.49.29-server.txt
crash-2021-02-04_20.50.08-server.txt
crash-2021-02-04_20.51.22-server.txt
crash-2021-02-04_20.55.54-server.txt
crash-2021-02-04_20.56.33-server.txt
crash-2021-02-04_20.57.33-server.txt
crash-2021-02-04_20.59.19-server.txt
crash-2021-02-04_21.00.16-server.txt

Attempted to use the 35.1.5 version of Forge at the request of @GL33P-0R4NG3 , first and third crash were 100% loads followed by a crash, the second hung at 6% and I had to use task manager to crash it. Two new crash reports below (second crash was forced):
crash-2021-02-04_21.33.58-server.txt
crash-2021-02-04_21.30.12-server.txt

SOLVED


#1100: Add defaults to store if new.

Description
This pr will add the defaults to the store for radios if there is no value yet from the db.
Related Issues
fixes #1100

@ifox I have reinserted the old behaviour but added an option for the default value.


[2.x] Add ConfiguresOrchestra trait.

What does this PR do? :robot:
Adds a new trait that allows the DX to automatically configure services on models.
How should this be tested? :microscope:
Provide all the details on how this should be tested step by step.
Any background context you would like to provide? :construction:
This was created to replace the ConfiguresCheckoutGateway trait of the payavel/checkout package. But now anyone using orchestration can also use it.
Does this relate to any issue? :link:
Related to https://github.com/payavel/checkout/issues/57

Codecov Report
Attention: Patch coverage is 0% with 14 lines in your changes missing coverage. Please review.

Project coverage is 90.90%. Comparing base (a5dca82) to head (b13927c).

Files
Patch %
Lines

src/Traits/ConfiguresOrchestra.php
0.00%
14 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##                2.x      #74      +/-   ##
============================================
- Coverage     92.81%   90.90%   -1.91%
- Complexity      188      194       +6
============================================
  Files            22       23       +1
  Lines           668      682      +14
============================================
  Hits            620      620
- Misses           48       62      +14

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


Added check to prevent double clicks from skipping steps

We had several instances where a user could double click next and as a result skip multiple tour steps. This prevents the double click from occuring.

There's still issues with this pull request.  The previous functionality breaks due to a missing variable and the method name is wrong (should be 'prev' not 'previous').
Here's a JSFiddle using your version of the code: http://jsfiddle.net/warby_/qk8qznz9/
I still don't understand what your issue is though - I can't really find a situation where I can skip a step accidentally.  The closest I can get is when the next button stays in exactly the same place for a couple of steps - when this happens, I can click pretty quickly and skip a step, but it's still a concious action that I'm aware of doing.  Even when I use your version of the code however, I can still do this.  Check out the fiddles below - the first uses the original code, the second uses your version of the code:

http://jsfiddle.net/warby_/qk8qznz9/
http://jsfiddle.net/warby_/58aven7n/1/

Perhaps I'm still missing something, so it would be great if you could fork the fiddle (the one using the original code: http://jsfiddle.net/warby_/qk8qznz9/) and edit it to show me the bug!


Please create web version as well

Hi @skpaik,
I have added support for the web. Please check out the web-support branch and let me know if you find any issues. Thanks :)


fix(lock): make import pool, create replica and share replica operations mutually exclusive

Current PR handles concurrent gRPC request of import pool, create replica, share replica. All are kept under resource mutex lock, where resource is pool_name.

bors try

bors merge


suitecloud.config.js  commands: "project:deploy" is "cached" after 1st execution.

Select the SuiteCloud tool where you encountered the issue
SuiteCloud Extension for VSCode
Version of the SuiteCloud Tool
1.4.3
Operating system
macOS Ventura 13.4
Node Version / VSCode Version
v20.2.0 / 1.79.0
JAVA Version
java <IP_ADDRESS>+1-LTS-2
Bug description
After trigger the SuiteCloud: Deploy Project the suitecloud.config.js  commands: "project:deploy" is "cached".
Any changes added to the commands form suitecloud.config.js are just ignored.
I need to reboot the VS code each time I change the NS account (eg. from sandbox to production) to have the "correct" suitecloud.config.js execution.
Steps To Reproduce

Execute SuiteCloud: Deploy Project
Modify suitecloud.config.js: module.exports.commands."project:deploy".beforeExecuting method. eg add a throw new Error("stop the deploy");
Execute SuiteCloud: Deploy Project -> the old settings are executed the above error is ignored.

Actual Output
No response
Expected Output
No response
Anything else?
No response

Hello @j782sdnm Thanks for letting us know. We are able to reproduce the issue and will include a fix in the next update.
In the meantime, please restart the vscode application to get the updated content.
Thanks,
Touraj


Scrolling does not work if the ListView is inside a class

Description
Scrolling does not work if the ListView is inside a class.
Code example to reproduce the issue:
This does not work (can't scroll):
import flet as ft

class ListViewDemo(ft.UserControl):
    def build(self):
        return ft.ListView(
                controls=[ft.Text(f"{i}") for i in range(25)],
                expand=1,
                auto_scroll=True,
            )

def main(page: ft.Page):
    todo = ListViewDemo()
    page.add(todo)

ft.app(target=main)

This works (can scroll):
import flet as ft

def main(page: ft.Page):
    lv = ft.ListView(
                controls=[ft.Text(f"{i}") for i in range(25)],
                expand=1,
                auto_scroll=True,
            )

    page.add(lv)
ft.app(target=main)

Describe the results you received:
No scrolling is possible.
Describe the results you expected:
I would like to be able to scroll through the list items.
Flet version (pip show flet):
Name: flet
Version: 0.2.2
Summary: Flet for Python - easily build interactive multi-platform apps in Python
Home-page:
Author:
Author-email: Appveyor Systems Inc<EMAIL_ADDRESS>License: MIT
Location: /Users/aziz-home/miniforge3/lib/python3.10/site-packages
Requires: beartype, oauthlib, repath, requests, watchdog, websocket-client
Required-by:

Operating system:
MacOS 12.5.1

I am having the same issue. But this time my ListView is deeply nested in the layout. This is my project. My ListView is in the sidebar.py file. I added expand = True everywhere I could :). But maybe I do not understand how to use it. I did not find an explicit example in the docs.


Implement Transactions Archive Storage struct to retrieve missed txs + unit tests

request stellar archive node to download TransactionHistoryEntry
http://history.stellar.org/prd/core-live/core_live_002/transactions/ww/xx/yy/transactions-wwxxyyzz.xdr.gz
decode TransactionHistoryEntry
fn decode_xdr(xdr_data: Vec<u8>) -> XdrArchive<TransactionHistoryEntry> {
	XdrArchive::<TransactionHistoryEntry>::from_xdr(xdr_data).unwrap()
}

@gonzamontiel
I would like to merge it to main branch for @b-yap(next task). But yes. i want to add more tests and refactor a little bit. to make code  by DRY(do not repeat yourself) approach.

cargo update will load latest version of substrate-stellar-sdk
there is no issue with compilation

Did you run cargo test? Because the compilation fails for me when using cargo test

Did you run cargo test? Because the compilation fails for me when using cargo test

It happened to me in another branch I think (thus, it's not exclusive from this PR). And I believe is because of the version of substrate-stellar-sdk. The older version doesn't export the XdrArchive type. We should update all references to the newest, but then, substrate dependencies may conflict due to different versions.
> cargo tree -p substrate-stellar-sdk
error: There are multiple `substrate-stellar-sdk` packages in your project, and the specification `substrate-stellar-sdk` is ambiguous.
Please re-run this command with `-p <spec>` where `<spec>` is one of the following:
<EMAIL_ADDRESS><EMAIL_ADDRESS>
Thus, I don't see an easy way out and it's certainly not from this branch (I could reproduce it in 122-use-horizon-to-check-for-transactions-targeted-towards-vaults-stellar-account).

I now ran cargo update and pushed the new Cargo.lock file. The compilation issue I had is gone now. But I also noticed that the stellar-relay package is using the 'master' branch version of this dependency while elsewhere it is just specified as v0.9.24.
I think it is okay to keep it like this for now but we should keep it in mind.

Yeah, this is related to what I was saying, the newest version of stellar-sdk includes the XdrArchive. But how can it work having two different versions of a package :thinking:

Uhm I guess it works because the different versions are used by different crates and not one crate uses two versions (?). IIRC I only tried running with cargo test (which actually did not work) but it was not compiling due to other errors and not this one anymore and it also was not complaining about the versions.
I guess we could just merge the changes on substrate-stellar-sdk master into the polkadot-v0.9.24 branch. But on the dev/milestone-3 branch I already changed it to a new branch polkadot-v0.9.31 that I created very recently.


'device_count' setting not working

I need to control the number of CPUs to be used by TensorFlow on a Windows 10 machinse (6 cores, 12 vCPUs). I am trying with the following config:
var config = new ConfigProto();
config.InterOpParallelismThreads = 1;
config.InterOpParallelismThreads = 1;
config.DeviceCount.Clear();
config.DeviceCount.Add("CPU", 1);

However, a cursory inspection of the Task Manager indicates that TensorFlow is still using about 70% of my CPU resources which is clearly above above the capacity above. I suspect that the device_count setting is not passed to Tensorflow underneath.
Any help would be welcome.

@vermorel I'm pretty sure the config has been passed into tensorflow. But it doesn't work. It uses TF_SetConfig to set configs.
I print log in C++:

Result:

This is invoking function:

If I pass in empty config:


Cannot Use Cement Mixed, Forge or Chemistry Set

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Desktop (please complete the following information):
Server is hosted with Streamline Servers
Additional context
Add any other context about the problem here.

Fixed in latest release


Setup docker for ci.swiftserver.group

@0xTim given we aren't running tests at the moment there is no need to check against multiple version of Swift. Shall we reduce the checks down to one (swift:5.5) for the moment.

Yeah I think that's fair


Added accessor functions to bar and point in decorate visual test.

Closes #927.

Nice one, thanks!


Never a valid location

Somehow all of my locations are "not a valid location" ?

Local only

I've tried with all versions, what's the issue?

That's not an error-message that exists in wow.export. Can you provide screenshots of the error, please?

This has been almost two months. Closing until further information can be provided.


Add placeholder for QML unit tests.

This PR adds a unit test to the QML library in preparation for testing QML functionality more broadly. This PR also updates the QML library and its dependencies to the new 0.10.1912.501 version of the compiler and runtime, in order to use the new @Test("…") attribute.

Looks good to me.


Bug with .thick-green-border

So there is a bug, where when you insert the thick-green-border class into the img element, it does not show up, and isn't marked as completed.
Challenge Add Borders Around your Elements has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
 Please read the last paragraph of so of the challenge description for a hint to complete the challenge.
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "help" button on the challenge on Free Code Camp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding!

``class="smaller-image thick-green-border`
it should be like that

@Elzoka
Please do not post your solution on here. You could help people at FreeCodeCamp Chat Room or Forum. GitHub Issues are for reporting bugs on the website only.
Happy Coding!


fix leading zero issue during encoding with tests

The issue with the leading zeros comes from pre filling the vec with zeros.
The prost encoding uses BufMut which uses extend_from_slice to append! the buffer.
This is fixed by allocating only with Vec::with_capacity(msg.encoded_len()).
Also a test to validate the encoding+decoding roundtrips for each message is provided.

Ah, that makes sense! Thank you :heart:


Firefox shows different pop up style with safari and Chrome when import file

Repro steps:
• Navigate to https://pxt.microbit.org/beta
• Click Projects->Import File
Expect result: Safari, chrome and Firefox should have same pop up style

Actual result: Firefox shows different with others

This is as expected and control is exposed through the browser api


TestingHelpers not usable on non-Windows platforms

The TestingHelpers package is currently not usable on non-Windows platforms as even the simplest operations are failing, e.g.:
Error Message:
 System.PlatformNotSupportedException : Access Control List (ACL) APIs are part of resource management on Windows and are not supported on this platform.
Stack Trace:
   at System.Security.AccessControl.ObjectSecurity..ctor()
   at System.Security.AccessControl.CommonObjectSecurity..ctor(Boolean isContainer)
   at System.Security.AccessControl.NativeObjectSecurity..ctor(Boolean isContainer, ResourceType resourceType)
   at System.Security.AccessControl.DirectorySecurity..ctor()
   at System.IO.Abstractions.TestingHelpers.MockDirectoryData..ctor()
   at System.IO.Abstractions.TestingHelpers.MockFileSystem.AddDirectory(String path)

related: #252

Travis CI build now in place so that we can see what all the gaps are, and avid introducing new ones in new pull requests: https://travis-ci.org/System-IO-Abstractions/System.IO.Abstractions

Thanks


[textanalytics] how should client-level default_language and auto-detect default_language coexist

https://github.com/Azure/azure-sdk-for-js/pull/23208#discussion_r969841961

Okay took more than a minute to look at this and realized that "auto" is passed at a per-document level. So I agree with your approach and think this will coexist nicely with our default_language at the client-level and our language at the client-method-level since these two options are just a short-cut for setting a per-document language for the user. My one thought is that we might want to rename the service's new defaultLanguage to something that will make more clear that this is the fall back language used IF autodetection is selected and the service fails to detect the language. Right now I think the name of this parameter is kind of confusing in context of what we already have in the client libraries.


v1.0.0 update

@anilsenay I addressed all your points below. Points 1,2, and 4 I think I understand and i'll push up another change tomorrow or saturday addressing those issues.

Yeah, I removed some content from the readme temporarily so that I could test and understand it better. Now that the plan is to merge it back into the original repo, I will add back the missing content. Most of the additions I made are placed in the tables, but I will double-check to ensure that I haven't missed anything important. I admit that I rushed through the README a little, so it's possible that I may have skipped some crucial details 😅.

Correct me if I am misunderstanding your concern, but I believe I understand the core of your issue here. In fact, I had already anticipated this problem and had a TODO for it because I knew it would be a major challenge for users lol. This led me to two key points.
a. Firstly, creating another function solely responsible for setting the Path attribute won't scale well. It will lead to the old problem of inheritance scaling. We will have to create a Path function for every parameter type we support, and the same goes for every other location (e.g., IntPath, StrPath, BoolPath, IntHeader, StrHeader, BoolHeader, etc.). The solution I had in mind (which I just left as a TODO due to laziness lol) was to make the Path attribute a requirement rather than an option for any Parameter type. This approach will address the issue you described, and we won't need to support all the types, which would otherwise lead the number of new functions we had to support = (Parameter types * Parameter Locations).
b. Secondly, this is related to a larger point, but also this one. I don't think the initial version of Swagno should be overly focused on validating user input. I believe we should iterate on our initial release and then potentially introduce an optional object or function for clients to use in the future that checks for issues like forgetting to set the Path attribute and other semantic problems, by having the function returning an error. However, for the first iteration, it would be simpler to let the user take responsibility for fixing most semantic issues.

Hmmm, I don't have an answer for this. I thought I didn't encounter this issue during my testing. Could you please provide me with the struct and the method you used to create the endpoint so that I can test it on my end? If I had to guess, I think you're right about the parsing of the structs using functions like getExampleTag potentially causing the problem.

I really like this solution. I did have a similar idea, but it didn't include the composition aspect that you added. My solution would have required refactoring the generation function (and once again my laziness prevented that), but yours works much more elegantly, thanks to the composition of the Model attribute. I will test this on my end and get back to ya.

About 1., I liked the refactor you did in README, thanks. If you have not enough time for adding missing content etc., just copy/paste from original 😄 I can do the final refactor on it before merging
About 2.a., I got your point and it would be better if we simplified it. But the reason why I seperated them for each function was that I thought we could manipulate them easier for each type. If you come with a better approach in your mind, it would be great. In this time, I will also think about it
About 2.b, Ye, validation would be great. Also I think we should add this in README for future improvement (https://github.com/go-swagno/swagno#implementation-status)
About 3., I think model is not imported here because I created a new struct type and it had the same issue:
type Response2 struct {
	Id int `json:"id"`
}

func (s Response2) GetDescription() string {
	return "Test"
}
func (s Response2) GetReturnCode() string {
	return "500"
}

// ...
endpoint.WithSuccessfulReturns([]response.Info{Response2{}}),
// ...

About 4., Alright 👍

@anilsenay lol nah this is good! I appreciate the thoroughness 😀 . Like I said yesterday I'm going to start working on some of the feedback today. All of the refactoring involving adding stuff back in I should be able get done pretty quickly, but just give me a a couple of days for the code change updates 👍

Of course, take your time. In this period, I will work on supporting map and slice types in response. Maybe I can make it before the release

@anilsenay lol nah this is good! I appreciate the thoroughness 😀 . Like I said yesterday I'm going to start working on some of the feedback today. All of the refactoring involving adding stuff back in I should be able get done pretty quickly, but just give me a a couple of days for the code change updates 👍

Of course, take your time. In this period, I will work on supporting map and slice types in response. Maybe I can make it before the release

Awesome, sounds good 😁

@anilsenay I pushed updates for most of the easy refactoring stuff. For the 4 points you made earlier in the thread i'm going to save those for tomorrow. Thanks again for the thorough feedback!

@domhoward14  I opened a PR in your repository, could you take a look it?

@anilsenay heads up, i'm going to double check and make sure that i addressed all your comments tomorrow and then push them up after. After I push it up i think we should continue to work on the other PR that you opened up so we can then merge that into this one and get this released!

@anilsenay Updates have been pushed. Let me know if there's anything i can do to assist with preparing for the release.


🔧 try and fix path exclusion in CI

Codecov Report

Merging #1063 (421b860) into master (7bb9af9) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master    #1063   +/-   ##
=======================================
  Coverage   22.79%   22.79%
=======================================
  Files          22       22
  Lines        1610     1610
=======================================
  Hits          367      367
  Misses       1179     1179
  Partials       64       64

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@Itxaka I reverted exclusion for .github paths too.

will this pick changes tot he files in the root dir? Like Earthfile and such?

I dont think so, maybe we need to also add /* ¬_¬


Extend IBC entry point messages

I'm pretty unfamiliar with the whole IBC thing. Does this look about like what was intended?
Closes #934

[x] Implementation
[x] interface version bump
[x] CHANGELOG.md
[x] MIGRATING.md
[x] IBC.md

:tada:


Stars count is not regularly updated on probot apps URL.

I noticed that the stars count is not regularly updated on the apps URL (https://probot.github.io/apps/).

Looks like our app sync workflow is failing:
https://github.com/probot/probot.github.io/actions/workflows/sync.yml
The error is rather cryptic, if anyone would like to dig into it, that'd be great

@gr2m sure I can take a look at this later. Thanks! 🎉

I tried to ignore the .netlify directory and it works.
It seems like an issue between Netlify & eleventy.

@gr2m they suggest trying this if we can fix the issue
Reference:

https://github.com/cdeleeuwe/netlify-plugin-submit-sitemap/issues/18

Looks like it was a problem with the markdown, replacing
```sh

with
```shell

did the trick. But I added .netlify for good measure, won't hurt. Thank you for looking into it 👍🏼

@gr2m hmm looks like the stars count is still not being updated at all

hmm must be a different problem now

The update was pushed to the gh-pages branch:
https://github.com/probot/probot.github.io/commit/f3b423a2167913424ad91999c2d5e21b02c84879
The problem might be related to today's outages? https://www.githubstatus.com/
Which app's star count is currently out of sync?

@gr2m looks like all is updated now. Closing this now. Thanks! 🎉


dev-cmd/bottle: don't take uniq of arguments

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

If we pass multiple bottles from different OS versions, don't only deal with one of them. We want to read all bottles and produce a JSON for each one.

Good catch @Bo98!


VS 2022 Community (17.11.2) Can't Open Template

It seems that the solution in the "template" directory gets no love from Visual Studio Community at this point. Visual Studio Code can open it, but Visual Studio Community just ends up in a completely blank set of windows if opening from File -> Open -> Project/Solution, or self-closes if opening by clicking on the .sln file.

Hi, @grumpymonk - Thanks for the issue report! This issue appears to be a problem with Visual Studio, so we ask that you use the VS feedback tool to report the issue. With the Report a Problem tool, you can collect detailed information about the problem, and send it to the appropriate team with just a few button clicks.
Go to the Visual Studio for Windows feedback tool to report the issue and consider adding a link to the VS Feedback issue to the issue here so that others can follow its activity there.


Add SslMetrics for cipher type

What's the difference between this and https://github.com/apache/kafka/pull/7588 ?

Closing this PR since it is superseded by #7588


avoid current log file being archived and unlinked when tailable is true

I encounter a bug with this configuration:
winston.loggers.add('accesslog', {
    file: {
        level: 'info',
        timestamp: true,
        filename: 'logs/access.log',
        maxsize: 50 * 1024 * 1024,
        maxFiles: 3,
        tailable: true,
        zippedArchive: true,
    },
});

Suddenly the file 'access.log' was missing but still opened by NodeJS
according to Mac OS X Activity Monitor, and there was a small file
'access.log.gz' whose size never increased.
I think the deleted line leads to this bug, the line is unncessary
because both _checkMaxFilesIncrementing() and _checkMaxFilesTailable()
called by _incFile() already set 'this._archive'.
The issue may happen when 'this._size' is inaccurately calculated and
actual 'stats.size' is less than 'self.maxsize' at line 546, then
function 'createAndFlush()' will not rotate log files but compress
the current log file.

@indexzero  sorry to disturbe you, could you merge this patch?  It's annoying to remember to patch it locally.
This patch has been applied on production environment here for four months, it works well for me.

any comment?

This looks reasonable and applicable to the 3.x release line.

I checked the latest code in master branch,  lib/winston/transports/file.js has changed a lot, this patch doesn't apply any more.
I'm not sure whether this bug still exists (it's not easy to reproduce),  just close this PR now.


feat: Implement Tab Keypress Command into Cypress (#4234)

Closes: #4234

This enables the ability to use cy.tab() in cypress until the tab key is natively supported within cypress.


please publish  pipeline.lua

@windbender I have checked in pipeline.lua in the root folder of performance. Thanks.


inspect values while debugging

Are you requesting a feature or reporting a bug?
asking a question
What is the current behavior?
unable to inspect values and properties when in a breakpoint - probably because I don't understand how to read the values or inspect the elements the selector returns - the properties of the components in the debugger are all functions that eventually return something
What is the expected behavior?
I would like to understand how to inspect values before proceeding to the next line in a test
How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable)
Tested page URL:
Test code

Specify your

operating system: OSX
testcafe version: 0.19.2, react-selectors: 2.1.0
node.js version: 7.4.0

Hi @lucidtech, I think it's a duplicate of https://github.com/DevExpress/testcafe/issues/2677 if you need to inspect Selectors and corresponding Snapshots. Otherwise you can attach a Node Inspector or any compatible third-party JS debugger to the TestCafe process to inspect any variable in your code.


Provide version

Use LDFLAGS to populate main.Version and main.Build

Hey, sorry for late response! thanks a lot for the PRs :)


Nice project! Is there a sample of usage?

Hey @wadamek65, congrats on the project! Looks very nice and could really save some time.
I'm currently starting to create a Node.js + Typescript + GraphQL CRUD and have been interested in experimenting Relay, specially to better deal with pagination & filtering on the frontend.
I'd like to know if you think this project is ready to be used and if there is some open sourced example using it.
Thanks 🎉

@lucis Hey there, thanks for your kind words.
I see this project as a good starting point/example for people new with Relay that have trouble grasping the pagination algorithm & concept. It is of course not perfect and there might be some edge cases or use-cases that it doesn't work for but should cover most of them. I have used it in a couple of projects, the code of one of them is public. Example usage here - a simple app for anki decks using Node.js, Typescript, GraphQL & Relay.
I have since drifted away from mongoose a little bit so didn't really put more time into this small project, but I'd be glad to polish it more if it was actually useful to someone.
I started this project when I was first starting with Relay and couldn't find good resources and solutions for the pagination algorithm so I hope that at the very least it can serve as a nice entry point for you to better grasp it and develop your own solution.


[WIP]run badfish as a container

fix #176

Closing this PR. As we need to manually install podman packages. (i.e  it may be vary depending on OS)

For all Red Hat based distros it should be yum/dnf . However we can use ansible package module. I don't think we need to deal with repos (it's beyond the scope)

For Red Hat based distros we need to enable extra repo  to install podman e.g for RHEL 7 rhel-7-server-extras-beta-rpms


[IT] Add logic to verify xml results

Implement logic that checks xml results

This ticket should wait for merge https://github.com/Flank/flank/pull/1316


Improve test vector coverage

Improve test coverage
Stop double testing kernel tests

Improve test coverage
Stop double testing kernel tests
Add comments on POLYVAL kernel tests from RFC


"Downloading" output from flutter tool could be improved

When downloading the engine we output two lines that sound like they're independent but are really saying the same thing. We should either say the first on the second. I recommend saying the first line only, and making the second line only appear if you say --verbose, and in that case, not saying "Downloading %s." but saying "URL: %s" (so that it looks like more detail for the previous line, and doesn't concatenate a "." with the URL).
Also, once we're done downloading we should update the line to say how long it took. See https://github.com/flutter/flutter/issues/1704 for more on this.
Current output:
Downloading linux-x64 artifacts from the cloud, one moment please...
Downloading https://storage.googleapis.com/mojo_infra/flutter/b847a505177113f39056ddc516090273be958aff/linux-x64/artifacts.zip.

Suggested output normally:
Downloading linux-x64 artifacts from the cloud, one moment please...

...becoming:
Downloading linux-x64 artifacts from the cloud, one moment please... (2.5MB, 4.9 seconds)

Suggested verbose output:
[   10 ms] Downloading linux-x64 artifacts from the cloud, one moment please...
[   10 ms] URL: https://storage.googleapis.com/mojo_infra/flutter/b847a505177113f39056ddc516090273be958aff/linux-x64/artifacts.zip
[ 4910 ms] Downloaded 2.5MB in 4.9 seconds.

This is largely fixed by moving the downloading earlier.  There are still some downloads (like third-party services) that we do via the old codepath, however, that could still be improved.

This seems much improved now.

Closing this out as there've been several improvements to the download progress display.


Latest json pr review

Merge changes from Apr 2021 @ewjoachim reviews.

(I'm not sure if you expect me to review this PR or if we continue the work on the main PR)

@ewjoachim Thanks!
I thought that setting it up this way might provide cleaner diffs, with this PR showing just the changes I'd made per your reviews. Not sure if it's a standard workflow or not.
In any event, I don't have a preference for whether review happens here or back on the main PR... I could see it making more sense to have the review on the main PR, though, so that all the review is collected in one place. If you agree, I'll go ahead and just merge this PR so that the changes propagate back to pypa#8615.

No problem, let's do that on the main PR.
A few "classical" ways to solve this:

Push additional commits to the main PR, given one can review commit by commit and GitHub will even tell you which commits are new since your review. If you want to be very explicit, add a comment in the PR stating the name of the first commit to review.
If you really want a clean history, you can create "fixup commits" with git commit --fixup <commit hash> so that you can push them now, and once they've been reviewed, you can automatically clean your history with git rebase --autosquash upstream/main. Note that, on Warehouse, spending time cleaning the history is not necessarily useful given the maintaniers usually squash and merge, so all commits get squashed into a single one.

So all in all, don't bother too much, stacking git commits in a single PR is usually enough.

Ahh, I hadn't fully realized how --fixup and --autosquash worked together -- cool! Definitely will be useful in some situations; and, I agree, definitely limited utility there for projects with a squash-merge PR policy. 👍


Multipolygon Edit Layers JS Error

Steps to reproduce
Paste the following json:
{"type":"MultiPolygon","coordinates":[[[[-73.98532390594499,40.747679624003],[-73.98532390594499,40.747679624003],[-73.98532390594499,40.747679624003],[-73.98532390594499,40.747679624003]]],[[[-73.98532390594499,40.747695880149],[-73.988435268402,40.743371605179],[-73.98910045623801,40.742396165946],[-73.989014625549,40.741567031351],[-73.99036645889301,40.737096029431],[-73.991804122925,40.735209989416],[-73.992104530334,40.735372581178],[-74.006888866425,40.741713349971],[-74.008004665375,40.740331439051],[-74.008541107178,40.733388934529],[-74.004592895508,40.734006798024],[-74.002361297607,40.734348246441],[-74.002779722214,40.73354340094],[-74.001148939133,40.731746690505],[-73.994228839874,40.728388907014],[-74.014506340027,40.704651945645],[-74.014313220978,40.704424211989],[-74.01444196701,40.703139128909],[-74.01403427124001,40.702488444476],[-74.01296138763399,40.702407108475],[-74.011158943176,40.703106594838],[-74.010043144226,40.70343193483],[-74.0074467659,40.70510741062],[-74.006309509277,40.704229011093],[-74.003112316132,40.706327390743],[-74.00015115737899,40.707937730287],[-73.99884223938,40.708637158566],[-73.996889591217,40.709190189678],[-73.99176120758101,40.709905870183],[-73.99261951446501,40.71455760597],[-73.990302085876,40.719176490551],[-73.993928432465,40.720363687279],[-73.992555141449,40.72416907928],[-73.986225128174,40.722233885749],[-73.980388641357,40.730478395104],[-73.98991584777799,40.73449458094],[-73.989958763123,40.735340062858],[-73.985409736633,40.741453227756],[-73.98708343505901,40.742136046401],[-73.98298501968399,40.747777160821],[-73.98472309112501,40.748411146652],[-73.98532390594499,40.747695880149]]]]}
Click the Edit layers button
Nothing happens and you will see a javascript error in the console.
"Uncaught TypeError: undefined is not a function"

Closing; Leaflet.draw issue is 3 years old. Not holding breath.


timer compatible with std::chrono

Now is possible to construct a timer with an unsigned int or any std::chrono::duration like std::chrono::milliseconds.
Added an overload timer::interval(Duration) compatible with chrono types:

my_timer.interval(std::chrono::milliseconds{25});
my_timer.interval(5s);

Added a templated overload timer::interval<Duration>() to get directly chrono types:

auto interval = my_timer.interval<std::chrono::microseconds>();

I've added the constructor with unsigned for consistency with the interval function, which accepts an unsigned int too, but maybe it would be better to remove all the unsigned functions (they are ambiguous about the time unit)?

Agree, it would be better to remove all the unsigned overloadings

Thanks for your PR!


Related to LD-126 - Check for #159 PR

Pull-Request
Description
Why?

What?

Links to related issues

Fixes LD-XXX
Not covered by the PR: LD-XXX
Possible improvements: LD-XXX

Demo

Before the PR
After the PR

How to test

Step 1: Describe step 1
Step 2: Describe step 2
Expected: Describe what is expected to happen

Documentation

Link to documentation: Add link here
Link to figma: Add link here
Add here other useful documentation links that are useful for PR reviewer

Checklist

[ ] Functionality covered by unit tests
[ ] Functionality covered by integration tests
[ ] I have updated PR description with relevant information
[ ] I have manually tested if the code and app works

This was just a test PR to ensure #159 works


Signing JWT with RSA-SHA256

In continuation of this post: https://twitter.com/ivanzotov/status/1696793534257307714?s=20 (cc @kiwicopple)
Context: I am currently building a project (thriveondev.com, @thriveondev), in which the backend is completely written in plpgsql functions + @supabase. This is my first time attempting this approach, and so far, everything has been going well. I really like it and have been able to implement everything using PostgreSQL functions, except for one thing: signing a JWT token to enable push notifications using the Firebase API.
I have a pg_cron task that sends push notifications using the following query:
SELECT
      res.status,
      res.content::jsonb
    FROM http((
      'post',
      'https://fcm.googleapis.com/v1/projects/thriveondev/messages:send',
      array[http_header('Authorization', 'Bearer ' || access_token)],
      'application/json',
      (
        SELECT json_build_object(
          'message', json_build_object(
            'token', token,
            'notification', json_build_object(
              'title', title,
              'body', body
            ),
            'android', json_build_object(
              'notification', json_build_object(
                'sound', sound
              )
            ),
            'apns', json_build_object(
              'payload', json_build_object(
                'aps', json_build_object(
                  'sound', sound
                )
              )
            )
          )
        )::varchar
      )
    )) AS res

In this query, access_token is a JWT token signed with a Google private key. Unfortunately, I have not found a way to sign this token inside PostgreSQL, so I had to implement a separate API endpoint that signs it and returns it back to plpgsql:
import crypto from 'crypto';
import {NextApiRequest, NextApiResponse} from 'next';

export default function handler(req: NextApiRequest, res: NextApiResponse) {
  if (req.method !== 'POST') {
    res.status(405).end();
    return;
  }

  if (req.headers?.authorization !== `Bearer ${process.env.API_KEY}`) {
    res.status(401).end();
    return;
  }

  const signer = crypto.createSign('RSA-SHA256');
  signer.write(req.body);
  signer.end();
  const signature = signer.sign(process.env.GOOGLE_PRIVATE_KEY, 'base64');
  const encodedSignature = signature.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
  res.status(200).send(encodedSignature);
}

It would be great if I could sign it within the PostgreSQL function. Overall, it's not a significant issue, but if it could be easily implemented, it would be greatly appreciated. Thank you.

pgjwt only support HMAC-SHA symmetric key encryption because pgcrypto, the underlying core library, does not support RSA signing, only encryption.  Unfortunately pgcrypto does not appear to be actively maintained and there seems to be no plan to update it to include signing, authenticated encryption, or any form of AEAD.
libsodium does provide public key signing (and many, many other features way beyond pgcrypto) but it does not support RSA, because the libsodium philosophy is to provide fast, efficient, modern ciphers, and RSA is none of those things.  Instead libsodium provides Ed25519, a much more time and space efficient elliptic-curve based signature system.
So unfortunately until pgcrypto grows rsa signing support, or the jwt standard permits Ed25519 signing, there isn't any way to support what you want in-database.

Thank you very much for the clarification!


final test

this is the ultimate test for you, @aidgent
your task is to add "hello, world" to the README.md, at the bottom.

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/8008ebffc2dbe34e0c52ebfae101d3b9054.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/48f3227af2913d3a7c77ff92cd77e8d5c78.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/3f40a9eb811394488933bae4a5c9c394a7d.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/9c1329c8f01e45522c2bb9dad0013e1cb38.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.

Aidgent reporting for duty! Thank you for giving me the opportunity to solve this issue. I'm getting to work on it now and I will reply soon with my solution.

I did my best to solve the issue!
You can see the changes I made https://github.com/aidgent/MineTuning/commit/97ed4b4384ae48f0cba733cc1e107d920a6.
Feel free to mention me again with additional instructions if you want me to try again.
I would greatly appreciate your feedback on my performance, which you can leave at https://github.com/aidgent/aidgent/issues/.


Ubuntu 14.04
What compiler are you using? what version?
gcc version 4.8.4
What's your CMake arguments?
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3" ..
Can you provide a TRACE level log? (sanitize any sensitive information)
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f46080434dc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00007f4604ad8c03 in Aws::Http::CurlHandleContainer::~CurlHandleContainer()
    () from /usr/local/lib/mosmb/libaws-cpp-sdk-core.so
#3  0x00007f4604adf97f in Aws::Http::CurlHttpClient::~CurlHttpClient() ()
   from /usr/local/lib/mosmb/libaws-cpp-sdk-core.so
#4  0x00007f4604aa5599 in Aws::Client::AWSClient::~AWSClient() ()
   from /usr/local/lib/mosmb/libaws-cpp-sdk-core.so
#5  0x00007f4604dbcc81 in __gnu_cxx::new_allocator<Aws::S3::S3Client>::destroy<Aws::S3::S3Client> (this=0x7f4605924650, __p=0x7f4605924658)
    at /usr/include/c++/4.8/ext/new_allocator.h:124
#6  0x00007f4604dbcb0e in std::allocator_traits<Aws::Allocator<Aws::S3::S3Client> >::_S_destroy<Aws::S3::S3Client> (__a=..., __p=0x7f4605924658)
    at /usr/include/c++/4.8/bits/alloc_traits.h:281
#7  0x00007f4604dbc604 in std::allocator_traits<Aws::Allocator<Aws::S3::S3Client> >::destroy<Aws::S3::S3Client> (__a=..., __p=0x7f4605924658)
    at /usr/include/c++/4.8/bits/alloc_traits.h:405
#8  0x00007f4604dbb4f9 in std::_Sp_counted_ptr_inplace<Aws::S3::S3Client, Aws::Allocator<Aws::S3::S3Client>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (
    this=0x7f4605924640) at /usr/include/c++/4.8/bits/shared_ptr_base.h:407
#9  0x00007f4604daedf2 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f4605924640) at /usr/include/c++/4.8/bits/shared_ptr_base.h:144
#10 0x00007f4604dabe2f in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7f4600c7ea98, __in_chrg=<optimized out>)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:546
#11 0x00007f4604dab590 in std::__shared_ptr<Aws::S3::S3Client, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7f4600c7ea90, __in_chrg=<optimized out>)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:781
#12 0x00007f4604dadd41 in std::__shared_ptr<Aws::S3::S3Client, (__gnu_cxx::_Lock_policy)2>::reset (this=0x7f460594f1c0)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:882

I am trying to perform a put object request by spawing a pthread. However if i cancel the pthread performing the put object and try to join it, the pthread_join operation is stuck forever. On attaching the debugger, I found out that it was stuck on condition variable inside aws sdk.
On de-initialization of my program a destructor is being called which takes care of calling the ShutdownAPI before the pthread_cancel operation happens on the put object thread.
Am I doing anything wrong. Please help. My main motive is to perform the necessary handling if the program is stopped during a put object request.

a destructor is being called which takes care of calling the ShutdownAPI before the pthread_cancel operation happens

I'm not an expert on the AWS SDK, but my understanding is that the ShutdownAPI is supposed to be the last thing done...so it strikes me that you need to have cleaned up all other threads in and using the SDK before you invoke the shutdown function.  (That is, the shutdown is probably removing whatever would have awakened your target thread from the condition variable....)


Add spear.app at latest

Sinusoidal Partial Editing Analysis and Resynthesis:
Program for editing spectrum on audio.

Thank you for the contribution. It was merged directly as 47280a08013bc7fc66e0a7b4ebf18f61a47495c8 to keep commit history cleaner. Your contribution is still credited to you.


[BUG] Storage > Volumes > Resize volume - wrong dialog

Describe the bug
The Storage > Volumes > Resize volume dialog allows to enter custom volume, instead of using current disk offerings.
To Reproduce
Steps to reproduce the behavior:

Go to a volume in Storage > Volumes and click on the 'Resize' icon.
Look at the dialog

Expected behavior
This dialog should provide a drop-down menu with the current disk offerings.
Screenshots

Desktop (please complete the following information):

OS: Windows 10 Pro x64
Browser: Chrome
Version: 80.0.3987.106 (Official Build) (64-bit)

Additional context
Difference with the old UI.

Assigned to @Pearl1594

@vladimirpetrov fixed please re-review

Confirmed, closing the issue.


Use new shumlib branch with support for Intel compilers

Waiting on https://github.com/NOAA-EMC/spack/pull/103.
Fixes https://github.com/NOAA-EMC/spack-stack/issues/106.
CI tests were ok last night (which includes a ubuntu intel build). Will test again and also run some jedi-um code manually on one of the HPCs with Intel. The shumlib-GNU builds have been tested extensively in the past.

Full CI tests passed last night - https://github.com/NOAA-EMC/spack-stack/pull/210/commits/ef6ad7ba48ca129c7a3372fcd9f67d4769abb9bf. Since then there has been only an informal update to include the previous PR (which I had already pulled in), i.e. no code changes. And one bugfix in the skylab template that isn't used by CI.
Currently building/testing on Hera with Intel. If that all works, ready to merge.


Feature request: Support providing the path and key through environment variables

I'm posting this here as it looks like owner of the upstream repo doesn't have time to follow up issues or PRs at the moment.
I'd like to be able to share my code with colleagues or other teams which might store their secrets in a different KV engine, possibly with a different folder structure and naming convention for keys. It would therefore be awesome if one didn't have to hard code the secret's path and key in the model.
One possible solution is to have VaultSettingsSource automatically look for environment variables named something like FIELD_NAME_VAULT_PATH, and if it's exists, fetch the secret and populate the field FIELD_NAME. The "leaf" of the path could perhaps be interpreted as the key, to avoid having to have two variables for each secret.
What do you think? I can create a PR if you think it's an idea worth pursuing.

Hi @danhje! Thank you for your attention to this fork!
After reviewing your merge request, I'm a bit unsure if this specific logic should reside within this library. It appears to be closely tied to your application's functionalities. Generally, I believe libraries should address broader concerns rather than specific ones.
I believe this issue could be easily resolved within your project. I had the same problem in one of my projects and I solved it the same way.
Example:
import os

from pydantic_settings import BaseSettings

class Config(BaseSettings):
    redis_url: str | None = Field(
        default=None,
        json_schema_extra={'vault_secret_path': os.environ.get('VAULT_SECRET_PATH'), 'vault_secret_key': 'redis_url'},
    )


[Enum Request] NewCompanyData in Page 9192 "Company Creation Wizard"

It would be nice if the option variable NewCompanyData would be converted into an extensible enum.
The code would be much more extensible and would allow several extensions to be added to this page.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add chip component

Adds a basic chip component implementing the Chips specification to address issue #430.
Some things to consider:

The delete icon is larger than in the reference images, but follows the spec sizes.
I didn't add a explicit onDelete property, but simply rely on the standard onClick.
Which approach would be more in line with the rest of the components, passing in avatar and label as props, or child components?
I've replaced the rendering of autocomplete values with chips, but left it there as I wanted to keep this pull request small and not tackle the complete scope in #174.

Please let me know if there are anything more I should address.

This is great Lucaas! I hope the maintainers take a look at this PR soon.
I have a few questions though, would the onClick allow a user of this component to distinguish between someone clicking the chip and someone clicking the delete button? Both events seem like could be of interest.
Also it would be nice if in addition to being able to specify a label (which is what most use cases want), one could instead pass children components to do custom labeling (for instance, to display user name where firstname is bold and lastname is not, etc..).
In any case, any version of this component seems like a great addition to react-toolbox! Thanks!

Hi! Thanks for this new component! As @acornejo pointed, I think it should be possible to give raw children but that's not a change that should take too long to do. Apart from that, I cloned the branch to check the changes and noticed it can be just a little tweaked to look even better.
I had an approach for the Chip in local that never updated so I change compare implementations a maybe fix this small pixel-level details. I'll do it during the day a release a new patch so you guys can start using it now!

Thanks for the feedback!
I can take a stab at adding a separate onDeleteClick prop and moving label and avatar to children instead.
Styling it was a bit trickier than I expected, you are more than welcome to update it.

[ ] Add onDeleteClick property
[ ] Use children instead of special label and avatar props in Chip component.

Done.
Please check that you agree with how I check if the component has an Avatar child. I am not sure if that is best practice, but need a way to control the padding of the chip and sizing of avatar if one is present.
On a related note, I am not entirely sure about the deletable prop either, would it better to rely on the presence of a onDeleteClick callback? Or should it be named something else to make it more intuitive, maybe readonly (with inverse behaviour)?
When I added the onDeleteCallback, I also removed the hover and active styles for the chip since I imagine that they wouldn't commonly be wanted.

great work @lucaas !
would it be possible to add animated or static gif of how it looks in PR?

Thanks @kagux. I haven't added any animations, so a static image should be enough; Here are the autocomplete and chip examples from the spec page:

After looking at the spec page again, I think I confused the size of the "remove area" and filled circle with the remove icon. It appears as it doesn't fill the whole area, and will probably look better as a smaller circle.

[ ] Make remove icon smaller.

I also thought about if the use of FontIcon for the remove icon was appropriate, or if it would be better to use a more self-contained inline SVG to avoid having a dependency on the Material design icon font for something so trivial.

+1 for your inline SVG idea. However, if that is something that will take you a while to do, I think its better to get some version of your PR merged and it can be polished later. Also from your screenshot it seems clear the delete icon is not vertically centered in the chip (its closer to the bottom than it is to the top), but again I think that is a problem we can live with for the first version of this component.
great work!

I've pushed a new commit which replaces the FontIcon with an inline SVG and updates sizes to better match how it looks in Google's spec.

Really beautiful @lucaas !! Congrats and thanks for the great work! 💃🏻

Not sure if I broke something, but I'm on 1.2.1 and my chips look like this:

its definitely something wrong with your setup. I have an app running on 1.2.1 using chips and it looks just fine. Based on your screenshot even the font looks wrong, probably not importing your css correctly (i.e. incorrect webpack config).
I suggest you try to reproduce your problem with chips on this project https://github.com/react-toolbox/react-toolbox-example

Maube you are missing the commons.css imports or the Roboto font?


CSS collision

With version 2.0.1 I get a style conflict when I open a modal. This is probably because of the internal style of the component "message-modal.component.ts" with:
.form-group {
    margin-top: 10px;
}

The encapsulation is also set to "ViewEncapsulation.None" so that the style is applied to the whole application. Hence my forms are affected by this style.
I suggest to remove the encapsulation.

I agree. I don't know what drove the  "ViewEncapsulation.None" but I do see it causing problems. If it was only done to allow external style rules to be applied, the /deep/ tag takes care of that.

this bug is serious. Because it'll populate external stylesheet.  At least, we need to get rid of 'ViewEncapsulation.None', instead using ::host

Was anyone able to get rid of this conflicting css anyhow ? any workarounds ?


All Mac Android bots in the Try pool are in the quarantined state preventing PR from being merged

All Mac Android Bots in the Try pool are currently quarantined which is preventing Pull Requests from being submitted.

Specifically preventing Mac_android entrypoint_dart_registrant from running.
Related change to possibly fix this: https://chrome-internal-review.googlesource.com/c/infradata/config/+/6078356

When reviewing/landing changes to bot_config files please ensure that you are rolling in two steps: staging first, let them run for a couple of days and then roll the changes to prod.


Minor: Bumped flex_logger to 0.28.

Over in #274 I am stripping off micro PRs, in order to reduce the complexity

LGTM


Adding vpc finder

link https://github.com/rancher/rancher/issues/9153

Close it.
Doesn't make sense.


Create pause custom resouce action

Summary
To support pause via ArgoCD UI extension, we need to add pause custom resource action and additional project RBAC .

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Completed as https://github.com/argoproj/argo-cd/pull/20128 has been merged.