Cluster-Autoscaler: evict pods instead of deleting them

This should make CA respect PodDisruptionBudget.

This change is

/lgtm
/approve

ref/ kubernetes/kubernetes#25321


Cargo tech and QM icons are swapped

Whoops

Could you elaborate a bit more?

Could you elaborate a bit more?

In most ss13 servers (for example /TG/ station), the QM's icon is the current cargo tech icon and vice-versa. Swapping them would make sense since all of the head's icons are bordered and, considering the QM is a head now, the QM's icon would align with the other head's design.
How'd it look:

Head's icons for reference:

Seems like a quick fix. Ill have something up for this later today.


Added UserId property to retain the original user which allows adding…

@mattcbaker I had to use @mentions in slack and slack only allows a format of <@userid> to do that hence, I added a Userid property in the model that let's me track the original id before it get's parsed into a name.

Looks great, thank you for the PR!


Organize Documentation Repository for public consumption

[x] Consolidate Getting Started into a single document for fast grepping
[x] Create a Readme.MD to direct folks looking for information here

Closed by #20 and #24


Conditional mediation may not fully handle network errors

That fetch doesn't seem to be wrapped in try/catch. Not confirmed as a bug, but looks suspicious.

I went through and re-audited the surrounding code, and believe this was a mis-read, not a bug.


Always static linking on both 32 and 64 bit mingw windows build

There are now merge conflicts, but would the change still be needed in the current master branch? https://github.com/godotengine/godot/blob/master/platform/windows/detect.py#L300-L307

I believe this change is pushed already in https://github.com/godotengine/godot/blob/0168947/platform/windows/detect.py#L319-L320


Maturity

For a developer who intends to use cls in production, how would you define the current maturity and reliability?

bump ;)

Not all production apps are the same... ;) Also, the real reliability/maturity question is async_hooks, which is still considered experimental.
That said, I know of some that do use it in production, but you have to understand async_hook's limits. For example, see #23 as it is a good example of user-land queueing where cls will not cover without monkey-patching the queueing code.
Regardless, my suggestion would be to implement many tests, especially tests that can simulate a heavy load with multiple contending contexts. Then let the tests give you your comfort for production.


Remove basename before pushing internal links

Currently, the "internal links" (the ones in markdown) manually push themselves. However, the URLs that the push include the /react-router basename. history doesn't do any basename removal with its push/replace methods, so the basename ends up in the location object that it emits to its listeners This, in turn, causes issues with the router which fails to match a location that begins with /react-router and forces a redirect to the home page.
I've tested that the replace function works and that the site runs locally, but I don't have a convenient way to test the site running with the basename.
Hopefully at some point the documentation will switch to something like MDX so that all of these markdown hacks can go away :smile:.

Fixes #6794.


docs: add twitter link to header

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[x] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?
There is no twitter/x link of the ng-zorro-antd twitter community in the official documentation
Issue Number: 5947 Issue - 5947 Adding twitter link to the header
What is the new behavior?
Added a twitter/x icon which redirects to https://twitter.com/ng_zorro
Does this PR introduce a breaking change?
[ ] Yes
[x] No

@AvaGanesh Thank you for your contribution!
I'm wondering why we should put X in such an important position, what the benefit of doing so is? In fact, at the bottom of the site we have a list of links, including zorro's link in the twitter feed. I think it will be great if you would like to update this twitter link to X instead of adding it at the header:)

@Laffery your suggestion makes sense, I will make the changes and issue a new PR.


[WIP] Support marking APIs as healthy/unhealthy

Description
Adds the ability to mark an API as healthy/unhealthy. Uchiwa will only make requests to APIs marked as healthy. APIs marked as unhealthy will be watched be a goroutine and marked as healthy once they respond with an HTTP 2xx error.
Related Issue
Fixes #811.
Motivation and Context
See #811.
How Has This Been Tested?
I've tested with the following configuration:
{
  "sensu": [
    {
      "name": "Site 1",
      "host": "<IP_ADDRESS>",
      "port": 4567
    },
    {
      "name": "Site 2",
      "host": "<IP_ADDRESS>",
      "port": 4567
    },
    {
      "name": "Site 2",
      "host": "<IP_ADDRESS>",
      "port": 4567
    }
  ],
  "uchiwa": {
    "host": "<IP_ADDRESS>",
    "port": 3000,
      "refresh": 5,
      "loglevel": "warn"
  }
}

I've tested Uchiwa with one or both APIs down, one API up and one API down, and then starting the APIs that were down to see APIs marked as healthy.
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@cwjohnston had mentioned that we should mark the API as unhealthy if the stats from GET /info show an unhealthy state. I'm not sure how we can do this as the JSON deserialization and call to determineHealth() happens far after we call GET /info. @palourde do you have any ideas on how we can implement this without deserializing twice?

Codecov Report

Merging #812 into master will decrease coverage by 0.13%.
The diff coverage is 4.34%.

@@            Coverage Diff             @@
##           master     #812      +/-   ##
==========================================
- Coverage   20.93%   20.79%   -0.14%
==========================================
  Files          28       28
  Lines        2532     2553      +21
==========================================
+ Hits          530      531       +1
- Misses       1937     1957      +20
  Partials       65       65

Impacted Files
Coverage Δ

uchiwa/daemon/subscriptions.go
83.33% <0%> (ø)
:arrow_up:

uchiwa/daemon/helpers.go
22.22% <0%> (ø)
:arrow_up:

uchiwa/daemon/daemon.go
5.86% <0%> (-0.44%)
:arrow_down:

uchiwa/main.go
44.64% <100%> (+1%)
:arrow_up:

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 f83c003...79440f3. Read the comment docs.

@amdprophet So determineHealth() is called before checkAPIHealth() right? Therefore, before we return here, maybe we could just mark the API as unhealthly?
https://github.com/sensu/uchiwa/blob/79440f3e93eff6bd46bed6b958d93ac01882b2df/uchiwa/daemon/daemon.go#L234-L241

@palourde the problem is trying to determine which API is unhealthy but I just realized that /info would mean the whole datacenter is unhealthy. Perhaps we shouldn't mark APIs as unhealthy based on the contents of the /info response else we should mark all APIs within the DC as unhealthy.

I just realized that /info would mean the whole datacenter is unhealthy

@amdprophet can you elaborate on this?
In my experience the /info API will return a HTTP 500 (internal server error) when that particular API host is disconnected from either Redis or RabbitMQ. Because /info only returns information about the API host being queried, I don’t think we can reasonably consider a whole datacenter down based on a a single API host’s state.
On the other hand, the /health endpoint could be used to determine the health of a whole datacenter, as the combination of queue depth and number of consumers reflects the overall state of the datacenter. That said, I think that reporting on /health results is outside the scope of what we’re trying to do here.

At this point, like Cameron mentioned, I feel like it's a different requirement and probably a different solution too.
The health of Sensu itself (number of consumers, quantity of messages, etc.) shouldn't impact how Uchiwa deal with its datacenter APIs. However, we could definitely improve how Uchiwa reports the health of a datacenter with these metrics.

@cwjohnston I was confusing the functionality of /info with /health and I agree with what has been said.
I think this PR is in a state where it can be reviewed and merged if everything looks good.


Codeception acceptance tests. Fixtures loaded after webdriver session starts?

Hey guys,
I'm not really sure where the issue stems here as I haven't dived into this too deeply. But it feels like yii2 does the following:

starts a session with webdriver
loads fixture for the suite
runs multiple acceptance tests
unloads/stops everything

If I'm not mistaken about the process this is a little problematic.
I've been running into issues where my session would timeout before my fixtures were loaded. I use third party services like browserStack/sauceLabs/etc. for my acceptance tests and the fixtures take some time to fully run (several minutes).
This is obviously an issue since it throws an error. But it's also painful because we can end up paying these third party services for time used loading our fixtures and not running tests.
I don't know if this is something that needs to be reported to codeception rather than here. Let me know and I'll be happy to do it.

What do you propose to solve it?

I haven't had time to take a look at the code (I'll do so over the weekend). But the idea would be to load the fixtures before initializing the webdriver session.


Specifications for virtual environment

What are the specifications that I can use to set up a virtual environment? I am not familiar familiar with virtual environments but I created one since I can not run the code in Python 3.5.  I resolved the issue with the tqdm by using an older version 4.19 but now I need pytorch for Python 2.5 (I have the one for 3.5 installed) and I can not make it work, there must be other dependencies and requirements as well, as well as GPU/NVIDIA/CUDA dependence (I can't run under 9), how is everyone able to run it smoothly? Is there a 3.5 version available?

manage to Install torch==0.1.6.post22, and I get errors that hint me to update, bu to which version?

just to let anyone who also wonders this: torch==0.1.8 does work


[web] Implement minimum overlay optimization for CanvasKit

Implement the minimum overlay optimization.
The single GL context redesign allows creating virtually unlimited number of render surfaces, which allows setting the value of canvasKitMaximumSurfaces to a bigger number without running into the browser's WebGL context limit. However, the default overlay limit remains in place for now, since overlays still have impact on memory usage. To fix that, we should reduce the need for overlays.

This is fixed.

Fixed with https://github.com/flutter/engine/pull/47317


Unsynchronised expiryyear parameter in the API response between LIVE & TEST

Describe the bug
Tested with the release 22.2.1 and found the expiryyear parameter in the API response with format in LIVE with YY
while in TEST is YYYY and it is due to the change in Checkout API V49 :
https://docs.adyen.com/online-payments/release-notes?integration_type=api&version=69#releaseNote=2022-05-24-checkout-api-69
This leads to invalid expiryyear error to be displayed in merchant's frontend.
To Reproduce
Steps to reproduce the behavior:
API response in LIVE:

API response in TEST:

Here you can see that the testing is using the v68 while the live endpoints are using the v69:

Expected behavior
Same Checkout API endpoints version for LIVE & TEST

Hey @ericadyentech,
thanks for creating this issue and sorry for the late reply. Could you please explain a bit of context? which version are you on?and is it on SFRA or SG?
Thanks,
Zaid
Adyen

Hi @zaiddreakh , They are with SFRA and tested using the Plugin version : 22.2.1


Please add more geolocation radius options

Hi,
I have found that a radius of 60m is not working for me, maybe because I have privacy settings for Strava to restrict 250m of start and endpoint on certain locations. I find the 650m radius too big though. Would it be possible to add a 300m option? Strava has a 200m option, so 100m more should be enough to cover most of activities if gps precision is good enough...

Will sort this out with the next release (coming up on the weekend).

Released some days ago: https://github.com/strautomator/web/releases/tag/v22.334.11957


Skip build/rebuild when serving in release zip

Fixes https://github.com/CesiumGS/cesium/issues/10611 by including a "production" flag in server.js which skips the build/rebuild process. The flag is included in the modified package.json which we create for the release zip as part of make-zip.
I noticed the Spec files were no longer packaged in the release zip. Although they should be omitted from the nom packages,  they should be included in the release zip so that test can be run in both the browser and on the command line. See discussion in https://github.com/CesiumGS/cesium/pull/10311.

(Most of the changes here are whitespace changes. You can ignore with the PR code display settings.)

Thanks for the pull request @ggetz!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.


python38Packages.pyopencl: 2021.2.2 -> 2021.2.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.pyopencl is: "Python wrapper for OpenCL"
meta.homepage for python38Packages.pyopencl is: "https://github.com/pyopencl/pyopencl"
meta.changelog for python38Packages.pyopencl is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2021.2.6 with grep in /nix/store/7j58kr5kkp1yfvnm1m4a6b9a797dl9h4-python3.8-pyopencl-2021.2.6

found 2021.2.6 in filename of file in /nix/store/7j58kr5kkp1yfvnm1m4a6b9a797dl9h4-python3.8-pyopencl-2021.2.6

directory tree listing: https://gist.github.com/7d904fad48ae936bf12e510fbe5d6693

du listing: https://gist.github.com/b574605cae70f9985b794faf24a6be5a

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

32 total rebuild path(s)

8 package rebuild(s)

8 x86_64-linux rebuild(s)
8 i686-linux rebuild(s)
8 x86_64-darwin rebuild(s)
8 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python38Packages.loo-py
python38Packages.pyopencl
python38Packages.reikna
python38Packages.sasmodels
python39Packages.loo-py
python39Packages.pyopencl
python39Packages.reikna
python39Packages.sasmodels

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7j58kr5kkp1yfvnm1m4a6b9a797dl9h4-python3.8-pyopencl-2021.2.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7j58kr5kkp1yfvnm1m4a6b9a797dl9h4-python3.8-pyopencl-2021.2.6
ls -la /nix/store/7j58kr5kkp1yfvnm1m4a6b9a797dl9h4-python3.8-pyopencl-2021.2.6/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

8 packages built:

python38Packages.loo-py
python38Packages.pyopencl
python38Packages.reikna
python38Packages.sasmodels
python39Packages.loo-py
python39Packages.pyopencl
python39Packages.reikna
python39Packages.sasmodels

Maintainer pings
cc @fridh for testing.

Result of nixpkgs-review pr 135382 at 223eadd6 run on x86_64-linux 1

8 packages built successfully:

python38Packages.loo-py
python38Packages.pyopencl
python38Packages.reikna
python38Packages.sasmodels
python39Packages.loo-py
python39Packages.pyopencl
python39Packages.reikna
python39Packages.sasmodels

2 suggestions:

warning: stale-substitute
Stale substituteInPlace detected.
substituteStream(): WARNING: pattern 'pytest>=2' doesn't match anything in file 'setup.py'
Near pkgs/development/python-modules/pyopencl/default.nix:49:0:
   |
49 |     description = "Python wrapper for OpenCL";
   | ^

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/pyopencl/default.nix:49:0:
   |
49 |     description = "Python wrapper for OpenCL";
   | ^


Change url for revert-alias tests to make it more reliable

Change the url and project name for the revert-alias tests to make it more reliable.

Codecov Report

Merging #2471 into canary will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           canary    #2471      +/-   ##
==========================================
+ Coverage   10.78%   10.79%   +<.01%
==========================================
  Files         256      256
  Lines        9195     9199       +4
  Branches     1020     1021       +1
==========================================
+ Hits          992      993       +1
- Misses       8100     8103       +3
  Partials      103      103

Impacted Files
Coverage Δ

src/util/dev/builder-cache.ts
67.52% <0%> (-1.51%)
: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 f89effa...b56170d. Read the comment docs.


Update CHANGELOG.md for v5.0.1

unfortunately, I couldn't check pyjwt 1.7.1 version

no worries, I'll do it later.


fix: Upgrade FastAPI Version

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

Project coverage is 61.71%. Comparing base (fb2aba3) to head (8fef3e5).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #305   +/-   ##
=======================================
  Coverage   61.71%   61.71%
=======================================
  Files          14       14
  Lines        1191     1191
=======================================
  Hits          735      735
  Misses        418      418
  Partials       38       38

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


[Fix]: Saving tax name without altering displays error message

Details

In this PR, we do not call the api if no changes were made to the API.
Fixed Issues

$ https://github.com/Expensify/App/issues/42556
PROPOSAL: https://github.com/Expensify/App/issues/42556#issuecomment-2127946556
Tests

Same as QA

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

Offline tests

Same as QA steps
QA Steps

Go to Profile -> Workspaces ->  Select a Collect Workspace.
On Workspace settings -> More Features.
Toggle on taxes if not already
Navigate to workspace settings and tap taxes.
Tap add rate
Enter a tax name and value and save it
Tap on new tax rate created
Tap on tax name -> Without altering tax name, save it

Verify that no duplicate name error is shown

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

PR Author Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/110545952/fc6f91cd-4fe7-4640-8b85-e861d899ed07

Android: mWeb Chrome
https://github.com/Expensify/App/assets/110545952/924b813d-41d7-49c7-94e2-b85968d0db8c

iOS: Native
https://github.com/Expensify/App/assets/110545952/435a56a4-ec7a-4ec9-a0fe-cba59451592d

iOS: mWeb Safari
https://github.com/Expensify/App/assets/110545952/337a7441-16b4-494a-8108-7c8623cd571a

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/110545952/1e3ead31-b9b2-4ff6-b726-515dfa0c6653

MacOS: Desktop
https://github.com/Expensify/App/assets/110545952/6ecc6803-67cb-4a64-a684-6c3c89c8817b

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/3004659/97f41195-ee6c-4ae3-82b3-f82934abd41a

Android: Native
https://github.com/Expensify/App/assets/3004659/71351e4b-7620-4777-a947-249c3d9af0f5

Android: mWeb Chrome
https://github.com/Expensify/App/assets/3004659/a25be2a7-fcea-4d3b-b34d-4c86ca1c1857

iOS: Native
https://github.com/Expensify/App/assets/3004659/a205667e-ec4a-4d65-bb0a-04743bbde404

iOS: mWeb Safari
https://github.com/Expensify/App/assets/3004659/656dbb65-b887-4deb-bfe1-b1cac6bbb435

MacOS: Desktop
https://github.com/Expensify/App/assets/3004659/3d40f354-55a3-4201-b0e1-241da83f3bcb

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

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.79-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


ARM releases for action

This action assumes
function mapArch(arch) {
  const mappings = {
    x32: "386",
    x64: "amd64",
  };

  return mappings[arch] || arch;
}

However, many developers and much prod infra is now moving to ARM - and the foundry toolchain also exists for ARM. The toolchain check should additionally check for ARM - as it is broken there.

https://github.com/0xAlcibiades/foundry-toolchain/commit/623f10ae808bf952efad0eca8992f5c8a1b8347d
Here is a very sloppy hotfix - but this could be done better.

Are you actually using an ARM runner? os.arch() in Node.js should not return x64 if you are on ARM, it should return arm or arm64. See here: https://nodejs.org/api/os.html#osarch


Cache also failed casts.

Hi, thanks for your PR!
I am currently in vacation, and will look at it when I am back.

Hi Tobias, please remove both my pull requests, I just re-implemented your idea, you can have a look in my repository. My improvements are: 1) quickly return ptr or nullptr when we are casting from derived to base or from some_class to some_unrelated_class it is detectable through few templates, 2) cache also failed lookups, 3) enlarge the case to more elements (4 in my case). You have special case for casting from T to T but it doesn't work in all cases - I have the derived -> base cast as superset. I have also simplified the reference cast.


Change ordering in notification drawer

Description of problem [include screenshots and browser console logs]:
Notifications are ordered from oldest to newest, should be the other way around like in admin portal.
VM Portal version number:
master
oVirt version number:
ovirt-engine-<IP_ADDRESS>-0.0.master.20190222171227.gita00fd1d.el7.noarch
Browser and version: FF 65.0.1

@bond95 @leistnerova seems like this is not reproduced anymore. Can you please approve it?

@sgratch @leistnerova yes, now notifications are ordered from newest to oldest.

@bond95 @leistnerova Great, then can I close this issue as resolved?

@sgratch yes.


TextMetrics incorrect calculations using breakWords and Emojis

Using:
var characters = token.split('');
in TextMetrics.wordWrap will return incorrect character array and calculated width, when you have string of emoji like "🤪🤪"
Current Behavior
"🤪🤪".split("") => (4) ["�", "�", "�", "�"]
Possible Solution
Using ES6 i managed to get it right:
[..."🤪🤪"] => (2) ["🤪", "🤪"]
Environment
pixi.js version: e.g. 5.1.3
Browser & Version: e.g. ios13.1 safari

Good carch!

@ivanpopelyshev is there any chance you guys could integrate this lib https://github.com/orling/grapheme-splitter as a plugin or extension to TextMetrics?
It would be very handy and it's actually make sense if you are willing to use PIXI with more complicated Text, and if not, just don't use this plugin.

I don't think we should integrate this dependency because it's rather heavy, but we should allow for users to plugin/replace the string-splitting functionality themselves. For users that need emojis, we should support a drop-in replacement.

@bigtimebuddy yeah, no need for dependency there, just an option to allow to plugin/replace this split function


Update to Authentication Attempt from New Country

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hey @praveenthepro can you update the PR comments for this one to explain what we are changing and why please.

Hey @praveenthepro can you update the PR comments for this one to explain what we are changing and why please.

@petebryan updated the change reason, Please checkout


Updated README

Got this working on my windows machine by following these instructions.

thanks for this @dmilkie, no longer using cython here so this shouldn't matter anymore


Migrate this repo to a LLVM repository

Right now it's in a Google repo, but as this should be part of LLVM, we should move it there.
Discuss what to do with the issues: Keep them on GitHub or move to bugzilla?
Next step: Discuss with LLVM Ops team about this change.

Strong +1 on this -- this is LLVM's CI infrastructure, it should be part of the monorepo. IMO this is fairly high priority, too.

I read the bug entry here as "move this repo under the llvm-project", not "inside the monorepo". The latter seems more controversial, as for example the prior haven't gone in this direction (see https://github.com/llvm/llvm-zorg for example)

I don't really have a strong opinion of where to put it as long as it's clearly a part of LLVM.

I read the bug entry here as "move this repo under the llvm-project", not "inside the monorepo". The latter seems more controversial, as for example the prior haven't gone in this direction (see https://github.com/llvm/llvm-zorg for example)

llvm-zorg was in its own repository before we made a move to the monorepo for other projects (is that correct?), so that could explain why they opted for the status quo and didn't move it to the monorepo. Perhaps it's just that nobody bothered doing it.
FWIW, I think it's pretty important to make this move. I have a preference for putting it in the monorepo since it would be easy to see changes go through (e.g. herald rules and stuff), but I care mostly about moving this under the LLVM umbrella. This is probably the most critical piece of infrastructure for libc++, libc++abi and libunwind, so I think it makes sense to stop considering this as a one-off project now.

(e.g. herald rules and stuf

zorg is using Phabricator I believe: you can still have your herald rules and everything working as usual.
Having it as a separate repo also allows to define your own policy independently of the monorepo (pull-requests, GitHub issues, etc.)

Agree, I will create a proposal to move this under LLVM

@ldionne @joker-eph do you know what steps to follow to add a new repo under LLVM?

AFAIK there is not formal process for this. We have this (with some links) on the backlog of the IWG: https://github.com/llvm/llvm-iwg/issues/51

Yeah you just need someone with admin permission to create it right now, I usually emailed Tom/Mike/Anton in the past.

Sorry for going MIA after the comment above.
I think we should move it into the monorepo so that we can see infrastructure changes going in just like the rest of code changes. I wouldn't create a separate repo for this.

We already land our infrastructure in a separate repo:  https://github.com/llvm/llvm-zorg  ; I'm not sure why this infrastructure is fundamentally different from the other docker images and testing scripts?

From the perspective of a project joining monorepo (BOLT), I agree with Mehdi that this infrastructure appears redundant to buildbot configurations in llvm-zorg. End result is that we need to set up two parts of testing infrastructure in two different repos. That's not a huge problem, but definitely is an overhead.
On the topic, I think it would make sense to at least move this repo to llvm organization on github, with eventual convergence with llvm-zorg.

FWIW my opinion is that llvm-zorg should also be part of the monorepo. Anyway, we might not get to a consensus on that, but at least let's move it under the llvm organization on GitHub (I think we all agree on that bit).

@ldionne et al.
I don't have any preference to move to either of a) llvm-project b) llvm-zorg c) completely new repo under github/llvm.
One thing I would like to support is a testing and review process of commits:

as changes might affect cluster load significantly and also visible in many reviews.
I believe it makes sense for project that encourages pre-submit checks and peer-reviews to follow such practices.

I am also considering separating cluster management parts from checks. We still need to give people chance to inspect  e.g. Docker containers to reproduce builds and fix setup. Docker seems to be a good common ground to define common OS-es. Meanwhile GCP and Kubernetes setup scripts are tied to how current setup is running and also should be more restrictive to writes.
One argument for not taking (a) is that that we might want to run test scripts from a version different than sources under test. It's still possible to just check out a separate version nearby and use only scripts but sounds like a overhead.
I am planning to contact llvm-zorg and check what commit and testing policies they have and whether they will be OK to have pre-merge checks.

Hi Aaron, thank you for the interest. While I would like to see that moved
somewhere under LLVM org, there are few points addressed, e.g. who is going
to maintain the infa from the community side.
also I don't see a lot of people eager to contribute to the premerges (and
the only fact that stops them is the wrong repo location). org is also not
very eager to e.g. hire a contractor for that. If everything will go fine I
think that the best chance of this thing to evolve is to start moving
towards PRs and GitHub actions.
what do you think?
--Mikhail
On Fri, Apr 28, 2023, 15:33 Aaron Ballman @.***> wrote:

This issue has been open for ~three years now, has there been any
movement? While I greatly appreciate Google maintaining this directly, I
think we need this to be under the control of the llvm project so that we
can fix precommit CI issues ourselves without having to wait for someone
from Google to get involved. I don't have an opinion as to whether this
goes into the monorepo or is a separate repo like llvm-zorg, but I think we
need a decision here sooner rather than later.
—
Reply to this email directly, view it on GitHub
https://github.com/google/llvm-premerge-checks/issues/186#issuecomment-1527571082,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB6EO4KU64WYLIKXBNXJBTXDPBI7ANCNFSM4NFCKE7A
.
You are receiving this because you were mentioned.Message ID:
@.***>

If everything will go fine I think that the best chance of this thing to evolve is to start moving towards PRs and GitHub actions.

I share this sentiment: if this migration is not trivial (a few hours...), it is probably better at this point to focus the little human power available on the move out of Phabricator to GitHub PR!

I don't think wanting the precommit CI repo to live within the project it tests is a reason to switch to github PRs (especially given that there is not clear consensus in the community to switch to GitHub PRs). The observation that not many people want to work on premerge is precisely why I am asking to shift it into the llvm repo -- almost nobody knows this repo exists over here, so when things fail, people give up pretty quickly after not finding how they can help. I've fielded at least two questions in the past few weeks on "where does precommit CI live?" and the follow-up question is always "why is it there???". Of course, whether they'd actually make changes if it was in the llvm project somewhere, who knows.
I'm rather ignorant of the inner workings of precommit CI though -- I take it there are issues making it a Bad Idea to have the repo hosted within llvm-project but not make any changes to the infrastructure it runs on? (e.g., are there concerns the LLVM community would suddenly add too much load onto Google's servers? If so... could we protect the repo so that a Google code owner has to sign off on commits to that folder?)

I don't think wanting the precommit CI repo to live within the project it tests is a reason to switch to github PRs (especially given that there is not clear consensus in the community to switch to GitHub PRs).

I thought the move to PRs was already decided and we’re just months away?

I don't think wanting the precommit CI repo to live within the project it tests is a reason to switch to github PRs (especially given that there is not clear consensus in the community to switch to GitHub PRs).

I thought the move to PRs was already decided and we’re just months away?

That would be news to me, but also (sadly) wouldn't surprise me with the way these decisions have happened in the past.

(Before this announcement I was planning on migrating Phabricator hosting to the foundation, but felt it wasn’t worth investing there and better focus on blockers for PRs, for me)

Here: I found it again https://discourse.llvm.org/t/code-review-process-update/63964

That was the thread I was thinking of as well; it is not at all clear (at least to me) that there is consensus on that thread.


fix #2968

fix #2968

Codecov Report
Attention: 1341 lines in your changes are missing coverage. Please review.

Comparison is base (bb5073f) 72.08% compared to head (6ed703e) 72.21%.
Report is 992 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2986      +/-   ##
============================================
+ Coverage     72.08%   72.21%   +0.12%
- Complexity     5126     7286    +2160
============================================
  Files           473      722     +249
  Lines         21970    32525   +10555
  Branches       2351     3395    +1044
============================================
+ Hits          15838    23489    +7651
- Misses         4925     7415    +2490
- Partials       1207     1621     +414

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

The merging logic is not correct

The output shape is (8400, 84) for COCO dataset, we should always ignore first 4 entries in the output.
Ideally, we should not padding classes with dummy classes, the originally implementation is a hack. Keep the 4 padding behavior is purely for backward compatibility. We should not allow other paddings.

But 0 padding or 4 padding is not work now

0 or 4 should work, it throw exception when not 0 and not 4
if (padding != 0 && padding != 4) {

If padding is 0, the min label is 4, it should be 0

I think the variable name padding is misleading. It should diff,
if diff == 0, it mean the classes has already padded with dummy entry, so the index should as is.
If diff == 4, it means the classes doesn't have padding, so we should -4 to adjust the index

I finetune yolov8 in my dataset and get a new yolov8 model for 96 classes, there are 96 entries in my synset.txt and has no dummy  entries. now the diff is 4(doesn't have padding)?
int padding = nClasses - classes.size();// nClasses is from synset.txt and equals to 96? classes.size() is from the model and equals to 96?
So the padding(diff) is 0?

If you trained your model with 96 classes, the output should should be (8400, 100)
nClasses - classes.size() should be 4


[Feature request] Filter runs based on steps

wandb --version && python --version && uname

Weights and Biases version: 0.8.21
Python version: 3.7.2
Operating System: Linux

Description
I am trying to filter my runs based on the number of steps (similar to the duration filter, but on steps instead of time), but this feature does not exist. It would be nice to be able to filter runs based on steps to see which runs have run long enough for certain metrics to be reliable or which runs haven't run long enough and need to be resumed.

Hi Ankit,
Thank you for the feature request! We really appreciate the feedback. I have added it to our internal tracker.

Hi Ankit, you can filter runs based on steps in the table like so:

Is this what you were looking for?


Get command should return server error instead of timeout error

🐞 Bug Report
Affected Services [REQUIRED]

 The issue is located in device-onvif-camera.
Is this a regression?

 No
Description and Minimal Reproduction [REQUIRED]
The request command throws the timeout error when the ONVIF device is unavailable.
Minimal Reproduction:

Run core-service and device-onvif-camera
Add a device for the unavailable camera.
Send a get command.curl http://localhost:59882/api/v2/device/name/Camera01/NetworkConfiguration
request timeout

The device-onvif-camera throws a timeout error instead of the unavailable error

🔥 Exception or Error
level=ERROR ts=2023-03-09T05:42:29.769729803Z app=core-command source=http.go:47 X-Correlation-ID=af0529e8-46b2-4481-8c71-e8d3cf1c6e5a msg="request failed, status code: 500, err: {\"apiVersion\":\"v2\",\"message\":\"error reading DeviceCommand NetworkConfiguration for Camera01 -\\u003e failed to initialize onvif client for 'Camera01' camera -\\u003e failed to initialize Onvif device client -\\u003e camera is not available at <IP_ADDRESS>:80 or it does not support ONVIF services\",\"statusCode\":500}"
level=ERROR ts=2023-03-09T05:42:29.769791765Z app=core-command source=encoding.go:32 msg="Error encoding the data: http: Handler timeout"
level=ERROR ts=2023-03-09T05:46:52.767701787Z app=core-command source=http.go:47 X-Correlation-ID=cf1936c1-9f84-43e8-af44-b272b72c88b8 msg="request failed, status code: 503, err: HTTP request timeout"

🌍  Your Environment
Deployment Environment:
MacOS
EdgeX Version [REQUIRED]:
Main branch
Anything else relevant?

@weichou1229 seems like a 503 - Service Unavailable is the right code, but the message is the problem? Also 502 or 504 could potentially be used as well, but 503 probably makes the most sense.

@ajcasagrande
I thought the problem is we used 5s to create a new Onvif client. The HTTP request already timeout on the service level even if the Onvif client threw the unavailable error.
service HTTP timeout
  Service:
    ...
    RequestTimeout: "5s"

https://github.com/edgexfoundry/edgex-go/blob/0d6a49cb75d16cdeffa3d89b53872b828db0197b/cmd/core-common-config-bootstrapper/res/configuration.yaml#L31
Onvlif client timeout
# Custom configs
[AppCustom]
# The number of seconds to wait when making an Onvif request before timing out
RequestTimeout = 5 # Seconds

https://github.com/edgexfoundry/device-onvif-camera/blob/33d7f92d5661b99b9b96e2663b29a2bf689d0f01/internal/driver/onvifclient.go#L72-L83

@ajcasagrande This issue cause the automation test case failed.  May we set the default AppCustom.RequestTimeout config to 4 (less than the service request tmieout)?  Then, the service can reply the proper error content in the response.  If you agree with this solution, I can assign someone to work on it.  Thanks.

@cloudxxx8 yes that is fine


using ...typography.propTypes throws an error

Basic example:
import { space, fontSize, color, typography } from 'styled-system'
import Tag from 'clean-tag'

const StyledH1 = styled(Tag.h1)`
	${space};
	${fontSize};
	${color};
	${typography};
`
export const H1 = ({ children, ...rest }) => (
	<StyledH1 {...rest}>
		{children}
	</StyledH1>
)

then adding propTypes:
H1.propTypes = {
	children: PropTypes.node.isRequired,
	...space.propTypes,
	...fontSize.propTypes,
	...color.propTypes
}

everything's fine, but when ...typography.propTypes is added
H1.propTypes = {
	children: PropTypes.node.isRequired,
	...space.propTypes,
	...fontSize.propTypes,
	...color.propTypes,

	// This causes TypeError
	...typography.propTypes
}

TypeError is thrown:

Sorry, it's probably not clear from the current docs, but typography is not an export. Here's the list of functions and their props:
https://github.com/jxnblk/styled-system#table-of-style-props

@jxnblk then it'd be best to mention it explicitly in proptypes section
Currently it says

Prop type definitions are available for each style function to add to your component's propTypes object.


Update argocd image to v2.4.0-rc1

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind chore
What does this PR do / why we need it:

Update argocd image to v2.4.0-rc1
Remove applicationset image since applicationset is bundled in the argocd image
Update CRDs

Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
How to test changes / Special notes to the reviewer:

@iam-veeramalla Any idea why the e2e test job is failing? It only says Error: Process completed with exit code 1.  I did try to re-trigger  the job, but no luck


Updating backend

Did some changes to backend (generator) and wanted to see this changes in my visualization. Is it right, that after changing some files you have to do
1) docker-compose down;
2) go to /generator2/org.getaviz.generator/ ;
3) run mvn install;
4) go back to root directory;
5) run docker-compose up;
Is it right? Did so and am trying to generate a new visualization and is it loading without stopping... already tried to run docker-compose build --no-cache backend in root directory and it didn't help.

Did you had a look at the wiki and performed the described steps?
https://github.com/softvis-research/Getaviz/wiki/Local Development#generator-development
There is a described how to rebuild the generator. There is no need the run docker-compose down and docker-compose up all the time.

Hmm.. Seems I messed with maven install for too long, generator isn't working now (it doesn't create output folder). Probably have to download it again :/
One more question - how to view log? (I mean log information about steps, like "City 2 Aframe has started") Should it be in console output or is it written in any other place?
Thank you in advance!

Please have a look at the other recent issue. There seems to be a permission issue with the output directory. Will fix this next week. However, generation to the default directory is supposed to work with version 1.2.1.
In this issue you will also find more information about the log file. Will try to output the log to the console as well in future since it is easier to access.
Plesse open a separate issue for every problem/question.
Am 11. Sep. 2019, 11:10, um 11:10, Vladislavs Terjaniks<EMAIL_ADDRESS>schrieb:

Hmm.. Seems I messed with maven install for too long, generator isn't
working now (it doesn't create output folder). Probably have to
download it again :/
One more question - how to view log? (I mean log information about
steps, like "City 2 Aframe has started") Should it be in console output
or is it written in any other place?
Thank you in advance!
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/softvis-research/Getaviz/issues/100#issuecomment-530293641


Certificate pinning

When using quic the client does not verify the specified CA.
Lets say we have server.crt signed by goodCA and we also have badCA, representing broken certificate chain.
server:
gost -L=quic://:some_port?cert=server.crt?key=server.key
The client connect using both goodCA and badCA
gost -L=some_protocol -F=quic;//server_ip:some_port?keepalive=true?ca=goodCA.crt
gost -L=some_protocol -F=quic;//server_ip:some_port?keepalive=true?ca=badCA.crt
also fails to verify when specifing secure=true
gost -L=some_protocol -F=quic;//server_ip:some_port?keepalive=true?ca=goodCA.crt?secure=true
gost -L=some_protocol -F=quic;//server_ip:some_port?keepalive=true?ca=badCA.crt?secure=true
Is there any way to force certificate verification?
thx

bump

果真是那样 我随便用了个证书 结果发现还能连接上...

You are correct, after using & everything works as intended.
Thanks for this great tool.


TC Test that the Search Bar displays a Magnifier Pictogram

Description: Verify that the search bar displays a magnifier pictogram.
Preconditions: The https://admin.peviitor.ro/ page is opened.

Step 1. Click the "Companii" button.
Expected results: The "Companii" page is displayed.

Step 2. Visually check that the search bar displays a magnifier pictogram.
Expected results: The search bar displays a magnifier pictogram.


Downloads composer.phar to tmp_path

Fixes #100

@jtreminio Would you be up for taking over this repository? I currently do not have time to take care of this anymore.

Yeah, I wouldn't mind. It's included in every single puphpet.com download, and I believe I've been pointing to my fork for a while anyway.


undefined status of a step is converted to failed status for a scenario

Describe the bug
If we have a step which is not defined yet the status of that step should be "undefined" or "pending" and all other steps followed by that should have status as "skipped". which works as expected. And the status of that scenario should be "undefined" or "pending" or "skipped" (expected). However the status is "failed" for such scenario (actual).
To Reproduce
Steps to reproduce the behavior:

Write a scenario and do not implement one of the step
run the scenario
validate the status of scenario in report
in report the status of this scenario should be  "undefined" or "pending" or "skipped".

Expected behavior
In report the status of this scenario should be  "undefined" or "pending" or "skipped".
Screenshots
Xml Report:

Html Report:

Desktop (please complete the following information):

OS: [Windows 10]
Browser [chrome]
Version [98.0.4758.82]

Hi @DeepakMehtaRepo, this is a bug, we will work on it and provide a new version with this fix

@DeepakMehtaRepo we have been reviewing this and we realized that, for the steps you indicated, it is correct to set the scenario as failed. This is the same behavior are in the "behave" framework.
In case you have a scenario with undefined steps, you should tag it as @WIP (work in progress). This tag indicates the framework to do not run the scenario, and it will appear as "skipped".


Improvements to MaterialX names

See CHANGELOG.md for the full list of API changes.
Also:

Move Element-related unit tests into their own module.
Minor fixes to Python code examples.

LGTM


⚠ Bofrost.de has degraded performance

In aa2b498, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1296 ms

Resolved: Bofrost.de performance has improved in c1647f7.


bugfix: When the compensation service is executed successfully, the business exception is not written to the StateMachineInstance

Ⅰ. Describe what this PR did
bugfix: 当补偿服务执行成功时，业务异常信息未写入StateMachineInstance的BUG修复。
此PR从 #2551 中拆分出来的。
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@long187 ，我从PR #2551 里拆分出来了几个PR，麻烦review一下吧。

Codecov Report

Merging #2839 into develop will decrease coverage by 0.11%.
The diff coverage is 25.00%.

@@              Coverage Diff              @@
##             develop    #2839      +/-   ##
=============================================
- Coverage      50.14%   50.02%   -0.12%
  Complexity      2951     2951
=============================================
  Files            591      591
  Lines          18950    18923      -27
  Branches        2285     2242      -43
=============================================
- Hits            9502     9466      -36
+ Misses          8503     8490      -13
- Partials         945      967      +22

Impacted Files
Coverage Δ
Complexity Δ

...io/seata/saga/proctrl/impl/ProcessContextImpl.java
26.41% <25.00%> (-0.38%)
9.00 <0.00> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0.00%> (-5.27%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0.00%> (-4.77%)
3.00% <0.00%> (ø%)

... and 22 more


Processing split libraries

How can I give more than one file each for the left and right end reads? E.g., when having an experiment split over multiple lanes?

Hi Manuel,
A temporary solution is to concatenate these multiple files into a single one and run hera.  cat x1_lane1 x1_lane x1_lane3 > x_1.fastq

Hi Son, that's what I'm currently doing. However, as in all NGS processing I/O is the bottleneck and killing me ;) It would be great if there was an option to either specify a file with file names or allow a multi-argument parameter, e.g., -1 lane1_1.fastq.gz lane2_1.fastq.gz -2 lane1_2.fastq.gz lane2_2.fastq.gz.

Thank you, Manuel! This option will be available soon.
Son.
On Tue, Sep 12, 2017 at 11:45 PM, Manuel Holtgrewe<EMAIL_ADDRESS>
wrote:

Hi Son, that's what I'm currently doing. However, as in all NGS processing
I/O is the bottleneck and killing me ;) It would be great if there was an
option to either specify a file with file names or allow a multi-argument
parameter, e.g., -1 lane1_1.fastq.gz lane2_1.fastq.gz -2 lane1_2.fastq.gz
lane2_2.fastq.gz.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bioturing/hera/issues/17#issuecomment-329074524, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AdEcJD1GCMXcLloKL1r_Xwpqudz0TJrZks5sh3oDgaJpZM4PVmy7
.

Manuel, please built the latest version from source code and this option is submitted. Files in different lanes are separated by commas ','.


Expand handling of Keyword tokens

(Original issue 431 created by sffjunkie on 2009-09-03T08:42:02+00:00)
Expand the handling of classes, functions, constants, types etc to distinguish between the following classifications
Language
Those defined by the language
Library
Those specific to the library being documented. e.g. the OS I'm developing for has it's own classes (BApplication), functions (system_time), constants(B_*) and types (stauts_t)
Application
Any tokens which don't fall into the other 2 classifications.

(Original issue was assigned to gbrandl)
(Original issue 431 last updated on 2009-09-11T13:38:05+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by gbrandl on 2009-09-11T13:38:05+00:00)
But somehow, the lexer needs to know which your "Library" tokens are.
This is already possible, using filters, e.g. the NameHighlightFilter or a custom similar one.


Has a merge conflict


Documenting token association behavior with Lazy Account Creation

Problem

Sending HBAR and HTS tokens to an EVM address (for account id that doesn't exist yet) results in the creation of a new Hedera account and the transfer is successful - see this account and the tx

Sending HTS tokens to an EVM address (for an account id that does exist) errors out saying that the account and token are not associated

For context, in that example ^ I sent 10 units of MMT to an EVM address that didn't have an account id yet.
Once the tokens were sent, the account was created ok.
So if the account id doesn't exist, the token association is "skipped".
If the account id does exist the token association is required.
This came from an internal chat. The participants wanted to flag this change in behavior for HTS token associations to ensure it's included in docs.
@theekrystallee @SimiHunjan
Solution
So if the account id doesn't exist, the token association is "skipped".
If the account id does exist the token association is required.
Alternatives
No response

The token association behavior with lazy account creation has been documented on the following page:

Core Concepts: Auto Account Creation

Should the behavior be documented on the below page as well?:

SDK/Token Service: Associate tokens to an account

@ed-marquez

Documented token association behavior with lazy account creation.


Split number of files as argument

It's prefer to set number of files to be split as argument Instead of a question.
-number 33

I've added an -n flag for this, as well as a -t flag for setting the threshold. I'd prefer to use a package like flaggy to make it a little nicer (accepting different flag names for the same variable, not caring about where positional args are stored) but I don't want to have any dependencies (and I'm slightly lazy) so I'm just using -n for now (and keeping the prompt if you don't use the flag)


Material-UI is not exporting the material components props

Hi, many people extends the Material-UI components and I think we want to have access to the mui propTypes
For example:
I got component like this and I have to create the new propTypes
import Grid from '@material-ui/core/Grid'

...

const ExtendedGrid ({ items, xs}) => (
<Grid container>
   {items.map(item) => <Grid item xs={xs}>{item}</Grid/>}
<Grid/>
)

ExtendedGrid.propTypes = {
 items: myCustomPropTypeForTheItems,
 // sad :(
 xs:  PropTypes.oneOfType([
    PropTypes.oneOf(['auto', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
    PropTypes.bool,
  ])
}

...

and I would like to import the propType from Mui like this
 import { xsPropType } from '@material-ui/core/Grid' // or breakpoint or whatever
 ...
 ExtendedGrid.propTypes = {
 xs:  xsPropType
}

You can say that in this case, we can just use  PropTypes.number and the mui Grid will catch the error but access to mui propTypes can be helpful also if we would like to extend the propTypes

You don't need them. React validates the prop types for each component it monts.
It would increase the size of the library by a non negligeable amount for a niche use case. The prop types are removed when NODE_ENV is production.


Regular expression matching not working as expected

I'm having an issue with regular expressions matching with Bats 1.11.0 in macOS Sonoma 14.5.
Say you have the following resources
kubectl get pods -n foo
NAME                                                      READY   STATUS    RESTARTS   AGE
my-pod-5fcfc99f7-hnt5x                      1/1     Running   0          119m

And the following test:
load "lib/utils"
load "lib/detik"

DETIK_CLIENT_NAME="kubectl"
DETIK_CLIENT_NAMESPACE="foo"

@test "should find pods" {
    try "at most 1 times every 5s to get pod named '^my-pod-[a-z0-9]{9,10}-[a-z0-9]{5}$' and verify that 'status' is 'running'"
}

This test would fail with no matches found.
Now I see that in this line the grep is not using extended regular expressions which might be partially the cause of this issue. I have verified that is not just adding -E to that grep to make it work since using the $ to match to the end of the line would still cause some issues
Look at the return of the eval
eval kubectl --namespace=foo get pod -o custom-columns=NAME:.metadata.name,PROP:.status.phase
# my-manager-5fcfc99f7-hnt5x               Running

My question is, is this expected behaviour? If it is, should it be added to the docs?
Also one thing I noticed is that using the examples for the Regex in the docs using multi line will result in Invalid expression: it does not respect the expected syntax.
Thanks.

Indeed, it appears as a huge mistake in the README.
We do support regular expressions in attributes values. But not in resource names. Maybe this is a feature we should have.

The good news is that fixing it is fairly simple.
Using grep -E for resource names is fine. However, you would have one change to apply on your regular expression, i.e. ^my-pod-[a-z0-9]{9,10}-[a-z0-9]{5}\b. That's because grep will return the entire line.
Would it be acceptable for you @luishernandezv?
Given that resource names in K8s cannot include spaces, that should normally not be an issue.

I am spamming this issue, sorry.
But we could also review the way we work to really extract the resource name only and apply it the grep -E filter. This way, you could keep the original regexp.

The good news is that fixing it is fairly simple. Using grep -E for resource names is fine. However, you would have one change to apply on your regular expression, i.e. ^my-pod-[a-z0-9]{9,10}-[a-z0-9]{5}\b. That's because grep will return the entire line.
Would it be acceptable for you @luishernandezv? Given that resource names in K8s cannot include spaces, that should normally not be an issue.

I think it might be confusing for users to have a regex matching on something that is not necessarily the resource name but a string that includes other properties. Like I understand it could make it work but I think it would make kind of hard for users to sort that out unless the docs explicitly show examples explaining why $ wouldn't work in their regex for example

I am spamming this issue, sorry.
But we could also review the way we work to really extract the resource name only and apply it the grep -E filter. This way, > you could keep the original regexp.

This sounds like a better solution, another thing to consider is detik could transform the regex to account for the state, not sure if it is feasible but  like you suggested something like this:
^my-pod-[a-z0-9]{9,10}-[a-z0-9]{5}$ maybe could be automatically transformed into ^my-pod-[a-z0-9]{9,10}-[a-z0-9]{5}\b
Instead of the user doing it the library does it for you. This would be more clear for the library user but it might be a hacky thing to implement.

Hello,
A PR is in progress.
You can review the README file if you want. Basically, it fits the original requirement.

The version 1.3.2 has just been published and fixes this issue.

Thanks @vincent-zurczak I'll give it a shot


same sign for all instance-level prediction

I generated some synthetic data using the 20newsgroup to run experiment on mi-SVM and MI-SVM. I noticed that, if I predict the labels in instance-level (actually that happens for me on bag-level too), all predictions share the same sign (either positive or negative, depending on the data). The AUC looks good, which means the ranking is correct. I guess this might due to some issues caused by library version, or not? Does anyone come across the same issue? Or, which versions of libraries should we use? Thanks!

I have not observed this behavior before; in the past, I have seen bag-level accuracies above chance level. But if all bags have the same sign, then I would have seen accuracy at chance level only. Maybe it has something to do with how the synthetic data is generated. Are the classes highly imbalanced at the bag level?

Thank you Gary for the comment. I guess it's not because of the data, since I came across the same problem when I ran the example.py code using the musk1 dataset. In that code, I added a new classifier: miSVM(kernel='linear', C=1.0, max_iters=10). This classifier terminates after iteration 1. It told me that Class Changes = 0. When I added a print(svm._predictions) statement in the miSVM source code, it seems that all predictions are positive and the values are very close, which explains why Class Changes = 0 and the code terminates at iteration 1. It also happens to my synthetic data, so I guess it might be library version issue? Your insights are highly appreciated!

I tried to replicate the results you are getting. I added miSVM to the example.py script and it runs with the following output:
$ ./example.py
Non-random start...

Iteration 1...
Training SVM...
     pcost       dcost       gap    pres   dres
 0: -4.7135e+01 -1.9465e+00  3e+03  5e+01  7e-09
 1: -6.9802e-01 -1.9425e+00  3e+01  6e-01  7e-09
 2: -2.2093e-01 -1.6692e+00  5e+00  6e-02  8e-10
 3: -1.4628e-01 -1.1486e+00  2e+00  3e-02  3e-10
 4: -9.0601e-02 -6.0664e-01  9e-01  9e-03  1e-10
 5: -4.3735e-02 -3.0183e-01  4e-01  3e-03  4e-11
 6: -2.4291e-02 -1.3206e-01  2e-01  1e-03  2e-11
 7: -1.5611e-02 -4.3816e-02  4e-02  2e-04  1e-11
 8: -1.6996e-02 -2.3812e-02  8e-03  3e-05  8e-12
 9: -1.7919e-02 -1.9351e-02  2e-03  4e-06  8e-12
10: -1.8219e-02 -1.8410e-02  2e-04  4e-07  8e-12
11: -1.8269e-02 -1.8278e-02  9e-06  2e-08  8e-12
12: -1.8272e-02 -1.8272e-02  4e-07  6e-10  9e-12
13: -1.8272e-02 -1.8272e-02  3e-08  4e-11  8e-12
Optimal solution found.
Recomputing classes...
Class Changes: 0
Test labels: [ 1. -1. -1. -1.  1.  1. -1.  1.  1.  1.]
Predictions: [ 1. -1. -1. -1.  1.  1.  1.  1.  1.  1.]

miSVM Accuracy: 90.0%

So it also finishes after one iteration, but i get predictions on the test set that are not all of the same sign. I added the following lines to print those out:
         predictions = classifier.predict(test_bags)
+        print('Test labels: %s' % str(test_labels))
+        print('Predictions: %s' % (np.sign(predictions)))
         accuracies[algorithm] = np.average(test_labels == np.sign(predictions))

Here are the list of packages I have installed and their versions:
alabaster==0.7.6
altgraph==0.15
appdirs==1.4.3
attrs==17.4.0
Babel==2.5.3
backports==1.0
backports-abc==0.5
backports.functools-lru-cache==1.2.1
backports.ssl-match-hostname==<IP_ADDRESS>
basemap==1.0.7
Beaker==1.8.1
beautifulsoup4==4.6.0
certifi==2018.1.18
cffi==1.11.4
chardet==3.0.4
Cheetah3==3.0.0
CherryPy==5.0.1
colored==1.3.5
cuttime==0.1
cvxopt==1.1.8
cycler==0.10.0
Cython==0.27.3
decorator==4.2.1
docutils==0.14
emd==1.0
flux-emd==1.0
flux-kernel==1.0
flux-migraph==1.0
funcsigs==1.0.2
functools32==3.2.3.post2
gdbm==2.7.14
gps==3.17
h5py==2.7.0
httplib2==0.9.2
idna==2.6
imagesize==0.7.1
Jinja2==2.10
libxml2-python==2.9.7
lxml==4.1.1
macholib==1.9
Mako==1.0.7
MarkupSafe==0.23
matplotlib==2.1.1
misvm==1.0
modulegraph==0.16
monotonic==1.4
mpmath==0.19
netCDF4==1.2.9
nose==1.3.7
numpy==1.14.0
oauth2==1.9.0.post1
olefile==0.44
passmash===master
pdfminer==20140328
Pillow==5.0.0
pkgconfig==1.1.0
pluggy==0.6.0
Polygon2==2.0.8
progressbar==2.3
py==1.5.2
py2app==0.14
pycairo==1.15.4
pycparser==2.18
Pygments==2.2.0
pygobject==3.26.1
pyobjc-core==3.0.4
pyobjc-framework-Cocoa==3.0.4
pyopencl==2017.2.2
PyOpenGL==3.1.0
PyOpenGL-accelerate==3.1.0
pyparsing==2.2.0
pytest==3.3.2
python-dateutil==2.6.1
pytools==2017.6
pytz==2017.3
PyYAML==3.12
pyzmq==16.0.4
rdc==1.0
requests==2.18.4
roman==2.0.0
scikit-learn==0.17.1
scipy==1.0.0
simplejson==3.6.5
singledispatch==<IP_ADDRESS>
six==1.11.0
snowballstemmer==1.2.0
Sphinx==1.6.6
sphinx-rtd-theme==0.2.4
sphinxcontrib-websupport==1.0.1
StereoVision==1.0.0
subprocess32==3.2.7
sympy==1.0
termcolor==1.1.0
Tkinter==0.0.0
tornado==4.5.2
tsne==0.1.1
typing==3.6.2
Unidecode==1.0.22
urllib3==1.22
virtualenv==15.1.0
wordcloud==1.2.1
wxPython==<IP_ADDRESS>
wxPython-common==<IP_ADDRESS>
yelp==1.0.2

Thank you Gary. I will re-run the experiment using your library version. Thanks.

Have you been able to find the problem? I have the same issue in my data as well. All predictions are from one class and the values too close to each other.


added getFloat32Array interface for faster geting of large datasets

Seems a bit ad-hoc and dirty to me. Ideas for a cleaner implementation appreciated.
Are there any stylerules for this repo I missed?

You're right. Maybe a cleaner solution would be to either let get return a Float32Array if the user submitted a Float32Array with set (since it is already does that for Uint32Arrays anyway). Alternatively, the code could certainly be improved and set / get split into smaller, properly typed functions. I'll think about this and maybe code it in soon as not to give you more work.
There are no style rules yet, not that much PR volume I guess. Thanks!


Fix lambda in tickscript

Fixes issue #1769

Thanks for the fix @bunyk. This one was my fault. and I see what I did wrong. I was using parenthesis to force the order of mathematical operations to ensure that the result of the division would be multiplied by 100 rather than the denominator being multiplied by 100 before the division happened. The opening parenthesis was outside of the lambda expression when it should've been inside, like this:
|eval(lambda: ("errors.sum" / ("views.sum" + "errors.sum")) * 100.0)

Your solution works as well since the order of mathematical operations is handled properly at runtime, so the division takes place first, then the result is multiplied by 100.

Your welcome.
Could you or someone else also help me with this https://community.influxdata.com/t/how-to-debug-join-node-in-kapacitor/5989 ? It is almost the same as the script in this tutorial, except that data are stored in same measurement tagged, and I want to compute percentage by tags, so I want to divide each datapoint by total sum across tag values, but in the end there is no data. :(


Enhancement: Create a first TLG with teal components

Prerequisites
https://github.com/pharmaverse/aNCA/issues/51
https://github.com/pharmaverse/aNCA/issues/52
These two issues need to be finished before starting.
Description
We would like to implement one single TLG with the teal components, let's start by the easiest one (the individual plot LINEAR only):
https://insightsengineering.github.io/tlg-catalog/stable/graphs/pharmacokinetic/pkcg01.html
Definition of Done
The requirements for the feature to be complete:

[ ] reuse (do not hesitate to reshape the code, change anything, this one will be the template to create the all the next one, so we need to have a good standard to follow) the code attached: g_pkconc_LIN  (do only LIN, we will do the LOG later on)
g_options helps you for the x_breaks (break of x axis to make it nice)
assert functions helps you to not make crash the plot.
d_assert.txt
g_pkconc_ind_LIN.txt
g_options.txt
Don't hesitate to adapt the code (we will need to adapt the code by adding in the arguments of the functions all the variables used: AVAL, AFRLT, TRT01A etc...)
Also, we use to have multiple folders to store the R functions (folders : graphs, tables, listings, functions (where we put the asssert and the g_options)), would be nice to keep a nice folder structure within the shiny app.

[ ] TEAL: Add an option to be able to apply ggplotly on the plot (or make it ggplotly by default)

[ ] TEAL: add the customization buttons on the right panel:
analyte selected
xlab
ylab
title
split by ("USUBJID" by default)

as this object will contain multiple plots, we need to have the possibility to move from subject one to subject 10 easily:

[ ] TEAL: have a dropdown menu to select the patients that you want to see (2x2 for example to see 4 patients).
[ ] TEAL: left and right arrows to see a different patient profiles.

@m-kolomanski @Shaakon35 this task is already available. I know my implementations / way of thinking in #51 and #52  can affect your code solution for this one, but please feel free to modify as much as you need to

Hello @m-kolomanski I modified the comment made by @Shaakon35 to clarify the points and modify the original files given by Valentin so they are now better tailored for the App (see plcg01.R and https://github.com/user-attachments/files/17573861/graphs_add-in_functions.R ). Feel free to keep making changes on them and don't hesitate to reach me or @Shaakon35 for questions regarding this task, as I also have a good understanding of it now!

Hello @m-kolomanski ,
Would you please be able to prioritize this task this week? It's quite a crucial milestone to allow @KOBANAK to continue the TLG implementation.
I heard you are on the slope selection issue, if that takes too much time, I would focus more on this task if possible.
@Gero1999 and myself will prioritize the review once it's done and unsure to have a very good first version.
Best regards
Valentin

Hey @Shaakon35 , I should be able to put some progress towards it this week.

Hey @Shaakon35 @Gero1999,
I am struggling to grasp the full extent of the changes we want to implement here. I think I get the general idea: the user performs the analysis, then selects the TLGs they want and submits the order, application takes that list and generates appropriate TLGs. Is that correct?
Is there any specific reason we want to have the table selection of TLGs and only generate plots after submitting the order? We view each plot type separately anyway, could we not have them just render lazily when the user opens appropriate tab (we then assume they are interested in it)?
How does teal tie into this at this moment in time? To utilize teal features we would need to convert the whole app to teal. This will still require extensive refactoring, especially since to my knowledge teal has a very clear data flow structure (we get preprocessing -> data analysis, and seems to me we do a lot of preprocessing). I do not think it will be simple to do, I can ask more experienced colleagues how we can speed up the process - provided we want to spend time focusing on it before implementing any TLGs.
I do not quite get the idea for displaying plots for individual patients, you provide a lot of options, but no decision on how it should look. We could implement something akin to what we did for slope plots in #98 , would that suffice?
Also, graphs_add-in_functions.txt does not open for me.
I believe we do not exactly need teal for this purpose, and teal modules are just extended shiny modules at heart, so if we structure this properly we can move with implementing this feature from scratch, and later on migrate the code to teal module with relatively low cost, if needed at all - I am unsure as to what is the final vision for this.

Hello @m-kolomanski ,
To clarify everything, I will address each of your questions separately:

You are correct. The plan is to select a set of TLGs, generate them in the relevant tabs, and make them customizable. In a future implementation, these TLGs will automatically be included in a report document (pdf/txt) .

I understand your idea, but having all >30 TLGs directly available might confuse users, will get lost and will not know what to look for. The initial table provides default selections, small descriptions, and links to the plots, helping users understand what they are requesting. This approach aligns with what they are already used to.

We initially considered using teal, but we are not very familiar with it. If you don't find it advantageous, we are open to other alternatives. Our main goal is to make the plots customizable for the user, especially for tasks like modifying labs() and splitting the data differently.

I understand the confusion. You are right that some figures might seem overlapping at this point in the app. The plots currently in "Outputs" will eventually be redirected as "Exploratory" or something similar, as most of them have more the intention of providing information about the data rather than for the reporting, and this helps the user to make certain decisions.  The slope plots you mentioned in specific have the intention to provide the user a way to review the half life calculations in each profile, and modify it accordingly with selections or inclusions. However, the user at this "app-point" is still not thinking in the report formats.

Hope this makes sense, and please @Shaakon35  if I am missing anything do not hesitate to correct me.  And Mateusz, do not hesitate to add questions if the task is still confusing!
Here is the file: graphs_add-in_functions.txt

Hey @Gero1999,
thank you for explaining the logic, I get it. I believe teal will not have much benefit in this particular implementation, especially that the application is not currently written using the framework, but we can certainly ~steal~ borrow some very valid concepts from teal to create our solution.
I have thought the issue over, considering the following from the original issue post:

The purpose after this implementation is to escalate it to the rest of the graphs. We will take your final implementation as a reference for building the rest of the functions accordingly.

and I believe I have come up with a concept that should be pretty much plug-and-play and in principle, will just allow the user to provide 1) code for the plot and 2) list of arguments that should be customizable and the module should handle the rest. We will see how it goes though, I will let you know when I have something working. Might be a bit of a time consumer upfront, but considering we wanna implement a lot of plots, should be worth it down the line.

Hey @Gero1999,
thank you for explaining the logic, I get it. I believe teal will not have much benefit in this particular implementation, especially that the application is not currently written using the framework, but we can certainly ~steal~ borrow some very valid concepts from teal to create our solution.
I have thought the issue over, considering the following from the original issue post:

The purpose after this implementation is to escalate it to the rest of the graphs. We will take your final implementation as a reference for building the rest of the functions accordingly.

and I believe I have come up with a concept that should be pretty much plug-and-play and in principle, will just allow the user to provide 1) code for the plot and 2) list of arguments that should be customizable and the module should handle the rest. We will see how it goes though, I will let you know when I have something working. Might be a bit of a time consumer upfront, but considering we wanna implement a lot of plots, should be worth it down the line.

I love your way of thinking in this regard, the more flexible and faster the better. Just keep always in mind for the default aspects that our main users are not programmers, but feel free to be as creative as you feel for the solution 🙌🏽

Related to #125
In the near future, I intend to support more reporting for PKNCA. I would love to collaborate on what may be a new package for generating TLG directly from PKNCA objects. (Also, you may want to see the ggtibble package that I created as a prerequisite for generating many figures.)

We already prepared some functions based on NEST that need some refinement, but I think this ggtibble could be worthy thinking about it @Shaakon35

I need to learn more about the NEST packages.
ggtibble lets you create tibbles and lists of ggplots that can be easily printed with knit_print() with captions. These objects can be used like normal ggplots where you can add and modify them as a whole. I often use this functionality to create sets of similarly-formatted figures for clinical study reports with easy-to-use caption and label modification from the source data. (It may or may not be the right fit; I'm giving info on what it can do and why it may be useful.)


Support for table swipe actions

When I have a TableRow component, on mobile as a user I would like the ability to have swipe actions from the left and the right. Overall I think iOS Mail app has some good templates here

[ ] Swipe from left
[ ] Swipe from right
[ ] Multiple sections in swipe
[ ] Custom icon and/or label for each section
[ ] Default to the rightmost action if a swipe goes past a thresh-hold (maybe 50%)

Hey @vpanyushenko ,
Thanks for the description. Would you like us to mimic the exact layout and functionality of iOS Mail visually? (But in the bubbles design system?)
We could take any of the following routes to make sure we measure twice and cut once:

A design of the functionality.
Links to Dribbble Shots or real world screen shots of the exact layout you'd like us to utilize.
A detailed storyboard or animation examples that showcase how you'd like the animation to look.

Let me know what you think. Thanks a lot!

I think we can start with the iOS Mail version and then make adjustments from there. They have all of the features and animations that we would want at this point.


Add endpoint to close assessment episodes

This PR adds an endpoint to close an episode
GET /assessments/{assessmentUuid}/episodes/{episodeUuid}/close
I've also added an additional close_date column to the assessment_episode table to support this functionality

Please ignore my unintentional review. Thanks!


Respect supplementariesFollowContentInsets property in layout

Hi 👋
My headers were being inset along with my content! I didn't want this, as different sections had different insets.
This property keeps us lined up right where we wanna be :)

Thank you!


Research API hosting options

Q: How to safely store and access secret keys

Q: Pricing

OPTIONS:

AWS Lambda


manual does not mention unsigned load insn,  l{b|h|w}u

The manual lists signed loads, l{b|h|w|d}  but not the unsigned variant, l{b|h|w}u.  Suggest adding it.

Thank you.


AccessViolationException when accessing from another thread

Hello. Not even sure if this is an issue, but since I couldn't find any documentation anywhere, I figured this was the best place to ask. I received the following exception which, I assume, was due to an attempt by 1 thread to read/write while another thread was read/writing. Is SQLite.NET not threadsafe? Do I need to synchronize access myself?
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods.sqlite3_prepare_v2(IntPtr undefined, IntPtr undefined, Int32 undefined, IntPtr ByRef, IntPtr ByRef)
   at SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods.sqlite3_prepare_v2(IntPtr undefined, IntPtr undefined, Int32 undefined, IntPtr ByRef, IntPtr ByRef)
   at SQLitePCL.SQLite3Provider_e_sqlite3.SQLitePCL.ISQLite3Provider.sqlite3_prepare_v2(IntPtr undefined, System.String undefined, IntPtr ByRef, System.String ByRef)
   at SQLitePCL.raw.sqlite3_prepare_v2(SQLitePCL.sqlite3 undefined, System.String undefined, SQLitePCL.sqlite3_stmt ByRef, System.String ByRef)
   at SQLitePCL.raw.sqlite3_prepare_v2(SQLitePCL.sqlite3 undefined, System.String undefined, SQLitePCL.sqlite3_stmt ByRef)
   at SQLite.SQLite3.Prepare2(SQLitePCL.sqlite3 undefined, System.String undefined)
   at SQLite.SQLiteCommand.Prepare()
   at SQLite.SQLiteCommand.ExecuteScalar[[System.Int32, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]()
   at SQLite.TableQuery`1[[System.__Canon, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Count()
   at SQLite.TableQuery`1[[System.__Canon, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Count(System.Linq.Expressions.Expression`1> undefined)
   at SQLite.AsyncTableQuery`1+<>c__DisplayClass14_0[[System.__Canon, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].b__0(SQLite.SQLiteConnectionWithLock undefined)
   at SQLite.AsyncTableQuery`1+<>c__DisplayClass2_0`1[[System.__Canon, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].b__0()
   at System.Threading.Tasks.Task`1[[System.Int32, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].InnerInvoke()
   at System.Threading.Tasks.Task+<>c.<.cctor>b__274_0(System.Object undefined)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread undefined, System.Threading.ExecutionContext undefined, System.Threading.ContextCallback undefined, System.Object undefined)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread undefined)
   at System.Threading.Tasks.Task.ExecuteEntryUnsafe(System.Threading.Thread undefined)
   at System.Threading.Tasks.Task.ExecuteFromThreadPool(System.Threading.Thread undefined)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

What versions of sqlite-net and SQLitePCLRaw are you using?
And on which platform is this happening?

sqlite-net-pcl v1.6.292
I followed the directions in the repo README for nuget installation. Not sure how to check for SQLitePCLRaw, sorry.  I followed the directions in the repo README for nuget installation.

In general, frequently opening and closing a SQLite connection is not considered a good idea, but the reasons are mostly to do with performance.  It shouldn't affect stability.
I'm not entirely sure this is a threading problem, but it still might be.
Unfortunately, my knowledge of sqlite-net itself is rather limited.  I maintain SQLitePCLRaw (the layer below).
The error message suggests a crash in the native code, rather than up in the managed layer.  This makes me wonder if the arguments passed down to sqlite3_prepare_v2() are in fact valid.  That's probably the first thing I would check.