[cli][tests] rule testing framework mods

to: @jacknagz
cc: @airbnb/streamalert-maintainers
size: medium
resolves #338
resolves #306 (the requirements for this issue are met through other means in this PR, noted below)
Background

StreamAlert has changed significantly with the addition of new features, and the rule testing framework needs to be updated to reflect these changes.

Recent changes to warrant this PR

StreamAlert now supports data normalization, which can utilize the datatypes directive in rule decorators instead of specifying logs
Schema validation has been added to verify a new schema added to logs.json via a json test event without the need to add a corresponding rule.

Issues

It’s not readily apparent to end users that the basename of a json test event file must match the basename of python rule file in order for the test to run.
Schema validation must have some knowledge of which log schema a test event should match against in order to provide more context on errors within the test event.
Rules written using the datatypes directive do not have any knowledge of the type of log they will trigger on. The test events need to contain this relationship to determine if the rule resulted in an alert for this test event.

Changes

Test events are now log type and rule aware, so we can more easily evaluate schema issues
Validation of schemas will not prompt about no rules existing for test event & vice versa (works on #306)
The cli command of python manage.py lambda test now supports both the --test-rules and --test-files flags.

This change is to help with testing specific test event files OR specific rules. These flags are mutually exclusive and cannot be combined.

Simplifying how warnings are reported and consolidating some noisy ones into a single log message
Updating how the test event files are loaded from disk to allow for nested folders within the tests/integration/rules/ directory. This allows for better organization of test events.
Adding helpers for loading the test files and extracting the rules being tested from them.
Removing source template files (s3.json, kinesis.json, etc) in favor of codified versions of them.
Adding support for analyzing test record errors with json_path nested records and for analyzing errors caused by envelope keys.
Test event files should now be in the following format (note the removal of the trigger key and addition of the trigger_rules, log, and validate_schema_only keys):

{
  "records": [
    {
      "data": {
        "key_01": "value_01",
        "key_02": "value_02"
      },
      "description": "Description of test event",
      "service": "service_name",
      "source": "source_name",
      "log": "log_name",     # This is a 1:1 relationship
      "trigger_rules": [     # This test can trigger 0+ rule(s)
        "rule_for_this_test_01",
        "rule_for_this_test_02"
      ],
      "validate_schema_only": true   # This is optional
    }
  ]
}

Test event files in the old format will be detected and reported to the user, like so:
StreamAlertCLI [ERROR]: (1/1) Detected old format for test event in file 'cb_watchlist_hit_binary.json'. Please visit https://streamalert.io/rule-testing.html for information on the new format and update your test events accordingly.
The optional validate_schema_only flag can be used in a test event to depict that a record would only be validated, and rule logic should not be applied.

This change does not affect what happens if there is a rule that does not have a valid test event configured. Any rule that exists without a test event will still report a warning, similar to the following, to the user indicating so:

StreamAlertCLI [WARNING]: No test events configured for the following rules. Please add corresponding tests for these rules in 'tests/integration/rules' to avoid seeing this warning
    rule_without_test_example

Testing

The test event files in the repo have all been updated to conform to the new format and testing is passing with:

python manage.py lambda test --processor all
python manage.py validate-schemas
python manage.py validate-schemas --test-files github_user_promotion_to_site_admin
python manage.py lambda test --processor rule --test-rules cloudtrail_put_bucket_acl fake_rule

The above will report a warning that fake_rule does not exist

python manage.py lambda test --processor rule --test-files duo_fraud.json

Tested against the old format to ensure the user is prompted.
Tested json_path record delta analysis locally (but not committing the test event file).
Adding some unit tests for a few CLI helper functions.

Incoming

PR for doc updates, namely to https://streamalert.io/rule-testing.html

Coverage remained the same at 94.748% when pulling 6e5d437d1dfa38f9c268b3458c97ae808f610c89 on ryandeivert-rule-testing-framework-mods into f6b5f6e4296090ded404c55fa9a64d2e5eaacce9 on master.

Coverage remained the same at 94.748% when pulling cf93105eb74ba3324b1775b5f19ad01dd3ac83c9 on ryandeivert-rule-testing-framework-mods into f6b5f6e4296090ded404c55fa9a64d2e5eaacce9 on master.

Coverage remained the same at 94.748% when pulling fd6b9aae3fee95310bc291ba14db82b06d20511a on ryandeivert-rule-testing-framework-mods into f6b5f6e4296090ded404c55fa9a64d2e5eaacce9 on master.

Coverage remained the same at 94.748% when pulling 6069b5117e2b9bbe4ab3d283066ede0376519de6 on ryandeivert-rule-testing-framework-mods into f6b5f6e4296090ded404c55fa9a64d2e5eaacce9 on master.

Coverage remained the same at 94.748% when pulling 9206a4763528d82242050a425b2bcf4d183f80d2 on ryandeivert-rule-testing-framework-mods into 545d483ed957924afbea10e75a03115aa0666d6a on master.


[gherkin-perl] Add module documentation for public API

Summary
Add missing API documentation.
Details
Now that the Gherkin/Perl modules are on target (i.e. based on Cucumber::Messages), we'd like people to actually be able to use these modules. Documentation is paramount to that goal.
Motivation and Context
Why, if we don't want to document the modules, would we even go through the trouble publishing them?
How Has This Been Tested?
The documentation itself has not; the tests have been run to verify no new regressions.
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 not work as expected).

Checklist:

[ ] The change has been ported to Java.
[ ] The change has been ported to Ruby.
[ ] The change has been ported to JavaScript.
[ ] The change has been ported to Go.
[ ] The change has been ported to .NET.
[ ] I've added tests for my code.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have updated the CHANGELOG accordingly.

Thanks for the review!


fix(plugins/plugin-client-common): in minisplits, no margin between a…

…ctive block and previous response
Fixes #6333

Description of what you did:

My PR is a:

[ ] 💥 Breaking change
[x] 🐛 Bug fix
[ ] 💅 Enhancement
[ ] 🚀 New feature

Please confirm that your PR fulfills these requirements

[x] Multiple commits are squashed into one commit.
[x] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[x] All npm dependencies are pinned.

travis not responding


[i18nIgnore] Use bunx command instead of bun

What kind of changes does this PR include?

minor typos

Description
When running bun --bun astro [dev|build|preview], an infinite loop is created, where the command repeats itself over and over again. This requires CTRL+C to terminate.
bunx, on the other hand, works as expected.
Note: the bun guide for Astro uses bunx:
https://bun.sh/guides/ecosystem/astro
Aside: someone might consider updating the Astro/bun Starter Template package.json scripts accordingly.

Update: this may be an issue with bun on my system. I updated bun and it still looped the command. I've removed bun and reinstalled and that seems to have kind of fixed it, although I've been getting some mixed results.
This issue may arise when running the scripts using VS Code's NPM Scripts running, since it first runs using npm run [dev|start|build] etc. before running the bun command before finally running bunx. But I haven't been able to confirm that or not, as I'm getting mixed results, like I said.
 *  Executing task in folder myproject: npm run dev

><EMAIL_ADDRESS>dev
> bun --bun astro dev

$ bunx astro dev <------------------------- note the extra command gets fired when using bun instead of bunx (see code below)
  🚀  astro  v3.1.0 started in 107ms

  ┃ Local    http://localhost:4321/
  ┃ Network  use --host to expose

 *  Executing task in folder myproject: npm run dev

><EMAIL_ADDRESS>dev
> bunx --bun astro dev

  🚀  astro  v3.1.0 started in 100ms

  ┃ Local    http://localhost:4321/
  ┃ Network  use --host to expose

I realize this isn't a trouble shooting thread, but I did want to be transparent about what I've found out since making this PR. Ultimately, from all I can tell, I believe using bunx over bun is the better option, since it runs once less conversion command (and was the command that was being repeated infinity.)

Update: this may be an issue with bun on my system. I updated bun and it still looped the command. I've removed bun and reinstalled and that seems to have kind of fixed it, although I've been getting some mixed results.
This issue may arise when running the scripts using VS Code's NPM Scripts runner, since it first runs using npm run [dev|start|build] etc. before running the bun command before finally running bunx. But I haven't been able to confirm that or not, as I'm getting mixed results, like I said.
 *  Executing task in folder myproject: npm run dev

><EMAIL_ADDRESS>dev
> bun --bun astro dev

$ bunx astro dev <------------- note the extra command gets fired when using bun instead of bunx, which sometimes repeats forever (note: the code below doesn't include this extra command, since it starts with bunx out the door.)
  🚀  astro  v3.1.0 started in 107ms

  ┃ Local    http://localhost:4321/
  ┃ Network  use --host to expose

 *  Executing task in folder myproject: npm run dev

><EMAIL_ADDRESS>dev
> bunx --bun astro dev

  🚀  astro  v3.1.0 started in 100ms

  ┃ Local    http://localhost:4321/
  ┃ Network  use --host to expose

I realize this isn't a trouble shooting thread, but I did want to be transparent about what I've found out since making this PR. Ultimately, from all I can tell, I believe using bunx over bun is the better option, since it runs one less conversion command; the command that was being repeated infinitely.

Please add [i18nIgnore] to the PR title.

What kind of changes does this PR include?

minor typos

Description
When running bun --bun astro [dev|build|preview], an infinite loop is created, where the command repeats itself over and over again. This requires CTRL+C to terminate.
bunx, on the other hand, works as expected.
Note: the bun guide for Astro uses bunx: https://bun.sh/guides/ecosystem/astro
Aside: someone might consider updating the Astro/bun Starter Template package.json scripts accordingly.

What do you mean by "Astro/bun Starter Template package.json"?

What do you mean by "Astro/bun Starter Template package.json"?
I mean when using this to create a site, the package.json scripts make no reference to bun commands:

bunx create-astro@latest my-astro-project-using-bun
So instead of dev: astro dev, as is the case now, perhaps it could bunx --bun astro dev. I realize create-astro@latest is going to be setup universally, however and that we'll need to change the commands on our own.

What do you mean by "Astro/bun Starter Template package.json"?

I mean when using this to create a site, the package.json scripts make no reference to bun commands:
bunx create-astro@latest my-astro-project-using-bun - source
So instead of "dev": "astro dev" for example, as is the case now, perhaps it could be more bun specific: "dev": "bunx --bun astro dev". I realize create-astro@latest is going to be setup universally, however and that we'll need to change the commands on our own.

I don't understand why you would update the script to be "dev": "bunx --bun astro dev" since you don't already do that with any of the other package managers. At least I don't because you need to use bunx --bun to run the dev script so It wouldn't make sense to include bunx --bun inside the script.

I don't understand why you would update the script to be "dev": "bunx --bun astro dev" since you don't already do that with any of the other package managers. At least I don't because you need to use bunx --bun to run the dev script so It wouldn't make sense to include bunx --bun inside the script.

VS Code's NPM Scripts (play button) feature doesn't currently support bun. The options are auto, npm or yarn. So it picks one (npm run dev, as seen in the code comments here) and then it runs the script command, which is why I had to add bunx --bun astro dev to the script as well.
Even if it did support bun, it probably won't run bun with the --bun flag or use bunx instead of just bun and with the --bun flag, for that matter.
That said, the is a contextual issue, so I understand why it doesn't make sense to update it now. On that note, my initial aside was added before my update, where I discovered the root cause of the issue was related to running the script via VS Code NPM Scripts feature.
Does that make sense?
Ultimately, probably best to disregard that aside at this point. Should we also disregard this whole PR as well? Or perhaps add a note about the issue in the docs for Astro/Bun or something (?)
I don't know, it's an issue that exists and was trying to help others avoid it, but I understand that it isn't exactly straight forward here.

I don't understand why you would update the script to be "dev": "bunx --bun astro dev" since you don't already do that with any of the other package managers. At least I don't because you need to use bunx --bun to run the dev script so It wouldn't make sense to include bunx --bun inside the script.

VS Code's NPM Scripts (play button) feature doesn't currently support bun. The options are auto, npm or yarn. So it picks one (npm run dev, as seen in the code comments here) and then it runs the script command, which is why I had to add bunx --bun astro dev to the script as well, otherwise it would run astro dev using npm or yarn instead of bunx --bun.

Even if it did support bun, it probably won't run bun with the --bun flag or use bunx instead of just bun and with the --bun flag, for that matter.
That said, the is a contextual issue, so I understand why it doesn't make sense to update it now. On that note, my initial aside was added before my update, where I discovered the root cause of the issue was related to running the script via VS Code NPM Scripts feature.
Does that make sense?
Ultimately, probably best to disregard that aside at this point. Should we also disregard this whole PR as well? Or perhaps add a note about the issue in the docs for Astro/Bun or something (?)
I don't know, it's an issue that exists and my hope was to help others avoid it, if possible, but I understand that it isn't exactly straight forward here.

I understand now. But no yeah, keep the PR.

D'doh! I'm now finding all these PRs that have been flagged as translations because multiple language files were changed. Sorry @Natetronn!
Normally, I'd ask that everything but the English page be removed, but I think we can sneak this one in since it's already got the magic title and the changes are quite contained. Even for code updates like this, we really do prefer each language crew make their own changes so that their code doesn't change from out from under their feet on them, and someone might be working on a page already locally... it's just more considerate for them!  😄  (And, as you've seen, it means that I actually notice that this exists!)
But, let's get this updated now that I've found it! Welcome to Team Docs!  🥳


Example: Converting GeoTIFF to GeoZarr with Overviews and Metadata

Added a script that demonstrates converting a GeoTIFF file to "GeoZarr" format, incorporating pyramid overviews and relevant metadata to align with the GeoZarr specification. The script includes:

Generating synthetic geospatial data using numpy, xarray, rioxarray, and rasterio.
Saving this data as a GeoTIFF, including pyramid overviews for different resolutions.
Converting the GeoTIFF into a "GeoZarr" dataset, ensuring it contains necessary metadata.

Purpose: Get a mutual understanding on the format of GeoZarr for geospatial datasets.
Feedback Welcome: Suggestions for improvements or any corrections are appreciated to ensure this example is helpful and accurate.
Not necessarily proposing we add this to the spec repo, just a way to share this for PR reviews.

Just came across earlier related work in this space https://github.com/zarr-developers/zarr-specs/issues/125 and e.g. dynamic chunking at different scales.

added another example to enable _CRS detection in QGIS, following gdal srs-encoding. This can be drag and dropped in qgis (with gdal 3.8+, which can be installed which conda install qgis).
crs_enabled_zarr_and_tif.zip
Code to reproduce

@wietzesuijker this looks very straightforward. Have you seen the discussion at https://github.com/zarr-developers/geozarr-spec/issues/30? The question here is how you could represent the overview using both regular decimation and zoom-level style tiling. We came up with this PR as a proposal https://github.com/zarr-developers/geozarr-spec/pull/44. I'd love to hear your thoughts on this.

Thanks, I just approved your PR and added some feedback. Closing this PR as it has served its purpose.

@wietzesuijker  I am using the example file you provided here as a test case for #46 and I saw, that the X and Y dimensions in the zarr file is shifted by 5. In the Geotiff the X dims goes from 400000 to 481910 and the Geozarr X dimension goes from 40005 to 481915.
I double checked and the values seem to be written like that in the Zarr file.
I am not sure where this shift comes from.

@felixcremer cool, glad to see it's of some use! The "shift" is because rioxarray uses pixel centroids for the xarray grid, which I expect / find desirable.

Is this shift in the meaning of the dimension noted somewhere in the metadata of the zarr file?
Or do we implicitly assume that the coordinates are always centers of the coordinate cell?

You could make a case to make this more explicit, but imo it's just a feature of how xarray interprets georeferenced arrays.  Some further details here.

I still have some questions while working through this:
What is the purpose of the "grid_mapping": "spatial_ref" entry in the attributes?
What is the spatial_ref that is pointed to?


"ESCU - Excessive number of distinct processes created in Windows Temp folder - Rule" too long to save

In ES, trying to save anything related to the "ESCU - Excessive number of distinct processes created in Windows Temp folder - Rule" search results in an error "There was an error saving the correlation search: Search name is too long."
Steps to repo:

Go to Content Manager in ES and search for "ESCU - Excessive number of distinct processes created in Windows Temp folder - Rule" and edit the search
Click save and it will result in the error message

https://github.com/splunk/security_content/pull/2085/files


fix fatal error from Utilities::getDiagnostics

I've fixed the following error :
PHP Fatal error:  Uncaught Error: Call to undefined method Microsoft\PhpParser\Token::getEnd() in src/Utilities.php:58

Hi @villfa, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


chore: upgrade next to 11 and allow minor upgrade

looks like you have some build errors

looks like you have some build errors

I realize test all doesn't test that package.

seems next 11 added build time lint, hence the error. might have to fix those listing err later.

seems to be fixed with the updated Webpack 5 config...

great job. merging!


Add additional polygons of interest to the tool

Mike will handle in coordination with Jeremy/Amy.  Candidates include park boundaries, refuges, etc.

We'll start with this? 248 polygons.

Preview

There may be additional polygons to integrate (in Canada, less sure what those should be, but we've got those tracked in the ua-snap/geospatial-vector-veracity repo.

Closed in #141


Missing license

I can't find a license anywhere, and this prevents me from using any of the code here. At the very least you should provide a LICENSE file. If you just want anyone to be able to use the code, then make it public domain via unlicense.

+1 this. Could you please add some clarification about the license type of the code? I'd really like to use it

The license will be simplified 2-clause BSD license. We removed it expecting the code to be merged in the official MINGW standard library, but this hasn't happened so far.

License added. Thanks for using this code, and for your feedback.


TextLabel option

I know you just fixed it so that the label on the textlabel shows on the remote but can we have an option on text labels to NOT include the label by default (like it was prior to the fix but on a textlabel by textlabel basis)?
Use case: music - would be really nice to show just the album name not "Album Name: xxx".  Likewise there are text labels that act more like titles - so I'd want something showing "Pandora" or "Spotify" or "DLNA" and not "Source: Pandora", "Source: Spotify", etc...

updated SDK v0.50.3 fixes this, check out the next branch


Broken on wlc-git r821.3b836aa-1

Earlier, wlc-git upgraded on my system and I just noticed that sway won't start. I would have tried downgrading wlc, but pacman doesn't look like it caches aur packages. Is this a problem with sway or is it more likely a bug in wlc?
Here's some relevant output:
stephen@Jupiter ~ (git)-[master] % cat /var/log/pacman.log | grep wlc
[2015-11-16 20:46] [PACMAN] Running 'pacman --asdeps -U wlc-git-r816.9daf696-1-x86_64.pkg.tar.xz'
[2015-11-16 20:46] [ALPM] installed wlc-git (r816.9daf696-1)
[2015-11-20 09:38] [PACMAN] Running 'pacman -U wlc-git-r821.3b836aa-1-x86_64.pkg.tar.xz'
[2015-11-20 09:39] [ALPM] upgraded wlc-git (r816.9daf696-1 -> r821.3b836aa-1)

stephen@Jupiter ~ (git)-[master] % cat /var/log/pacman.log | grep sway
[2015-11-16 20:47] [PACMAN] Running 'pacman -U sway-git-r714.0120256-1-x86_64.pkg.tar.xz'
[2015-11-16 20:47] [ALPM] installed sway-git (r714.0120256-1)

And the startup error:
stephen@Jupiter ~ (git)-[master] % sway
Error: Signal 11. Printing backtrace
Backtrace: sway(error_handler+0x2b) [0x4153ab]
Backtrace: /usr/lib/libc.so.6(+0x33680) [0x7f58d8c98680]
Backtrace: sway() [0x40cc88]
Backtrace: /usr/lib/libwlc.so.0(+0x177c2) [0x7f58d946b7c2]
Backtrace: /usr/lib/libwayland-server.so.0(+0x8b67) [0x7f58d8a5bb67]
Backtrace: /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x72) [0x7f58d8a5c242]
Backtrace: /usr/lib/libwayland-server.so.0(wl_display_run+0x25) [0x7f58d8a5a9a5]
Backtrace: /usr/lib/libwlc.so.0(wlc_run+0xfc) [0x7f58d9479c3c]
Backtrace: sway(main+0x228) [0x404ee8]
Backtrace: /usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7f58d8c85610]
Backtrace: sway(_start+0x29) [0x404f19]

Any ideas?

Did you update sway as well? Try not to update just one, always update both.

I always upgrade everything at once with packer -Syyu. wlc upgraded but there doesn't seem to be an update for sway:
stephen@Jupiter ~ (git)-[master] % packer -Syyu
:: Synchronizing package databases...
 core                     122.0 KiB  1173K/s 00:00 [#####] 100%
 extra                   1808.5 KiB  4.49M/s 00:00 [#####] 100%
 community                  3.1 MiB  1898K/s 00:02 [#####] 100%
 multilib                 144.1 KiB  1601K/s 00:00 [#####] 100%
:: Starting full system upgrade...
 there is nothing to do
:: Synchronizing aur database...
 aur                                        24  24 [#####]100%
:: Starting full aur upgrade...
 local database is up to date

Explicitly reinstall wlc-git and sway-git. It's probably not going to happen from packer. Just to be sure: sway -v should show sway version g56e80c0 (2015-11-21, branch "master") (perhaps with a different date).

Nifty that worked! I guess I just have to watch out for if wlc upgrades and make sure to uninstall and reinstall sway too. Was the background removed recently? I hope custom background support will be a thing soon.

Custom backgrounds are a thing now. man 5 sway, grep for background.


App Crash

@temeddix ,
i am create new flutter project then add rinf: ^6.12.1 this package then follow this website
https://rinf.cunarist.com/applying-template/
and then method call to show same error
https://github.com/cunarist/rinf/assets/147715598/1216cb36-1e52-4ad4-b1f5-5979fa319b87

I see you have another issue here. Right now the codebase is undergoing a refactor, so please wait until I investigate. Thank you for your patience :)

Closing as duplicate of #368


Type Error is thrown on invoking fatory function imported from mxgraph in Angular 13

Following type error is thrown while invoking factory function imported from mxgraph
Uncaught TypeError: Cannot set properties of undefined (setting 'mxBasePath')

This happens only on Angular 13 stable version and not on angular 12.
Please see the below public repository link & code snippets for reference
https://github.com/Dhawaldeep/mxgraph-angular-tteen
src/app/mxgraph-engine/mxgraph.ts
import factory from 'mxgraph';
declare global {
  interface Window {
    mxBasePath: string;
  }
}

window['mxBasePath'] = '../../assets/mxgraph';

export default factory({
  mxBasePath: '../../assets/mxgraph',
});

src/app/mxgraph-engine/index.d.ts
declare module 'mxgraph';

src/app/app.component.ts
.........
import mx from './mxgraph-engine/mxgraph';
import '@typed-mxgraph/typed-mxgraph';
.........
export class AppComponent implements AfterViewInit {
  @ViewChild('mxgraphEl') mxgraphEl: ElementRef<HTMLDivElement>;

  ngAfterViewInit(): void {
    if(mx.mxClient.isBrowserSupported()) {
      console.log('Yes! Yes!');
    }
    const graph = new mx.mxGraph(this.mxgraphEl.nativeElement);
    const model = graph.getModel();
    model.beginUpdate();
    try {
      graph.insertVertex(graph.getDefaultParent(), '', 'TEST', 0, 0, 100, 100);
    } finally {
      model.endUpdate();
    }
  }
}

src/app/app.component.html
<div #mxgraphEl></div>

package.json
....
dependencies: {
..,,.
 "mxgraph": "^4.2.2",
....
},
.....
devDependencies: {
.....
"@typed-mxgraph/typed-mxgraph": "^1.0.5",
.....
}

Thank you.

Thanks for your feedback @Dhawaldeep, I can reproduce this bug.

I can't find much Angular related details, but it looks like the compiler has stricter restrictions on the lib.
There are two main problems here.
The first is that the this pointer of the factory function becomes to undefined, suspected to be caused by the new version of angular-cli. a crude workaround is invoke factory via call factory.call(window, { ... });

node_modules/mxgraph/javascript/dist/build.js

Another problem is that global variables are not declared, like mxLoadResources, mxForceIncludes, mxLoadStylesheets and mxResourceExtension.
I did the following steps:

remove compilerOptions.types in tsconfig.app.json, this configuration will invalidate thetypeRoots in tsconfig.json

delete src/app/mxgraph-engine/index.d.ts, (the reason for creating this file may be because the first step)

declare global variables
import factory from 'mxgraph';

declare global {
  interface Window {
    mxBasePath: string;
    mxLoadResources: boolean;
    mxForceIncludes: boolean;
    mxLoadStylesheets: boolean;
    mxResourceExtension: string;
  }
}

window.mxBasePath = '../../assets/mxgraph';
window.mxLoadResources = true;
window.mxForceIncludes = false;
window.mxLoadStylesheets = true;
window.mxResourceExtension = '.txt';

export default factory.call(window, {
  // not working see https://github.com/jgraph/mxgraph/issues/479
  mxBasePath: '../../assets/mxgraph',
});

I will note the final solution to the sub-problem.
But since this library is currently unmaintained, there is a good chance that there is no perfect solution.

@Dhawaldeep An alternative is maxGraph/maxGraph in development, you can follow this repository.

Hi
I have been able to make the Angular 13 repository work with the guidance provided by @hungtcs in https://github.com/typed-mxgraph/typed-mxgraph/issues/50#issuecomment-1114008885.
I suggest we update the README file and the examples. This would prevent users creating issue like this one in the future.
My suggestions:

declare the mxgraph globals in the Window interface
do not pass any options to the factory function as it generates issues. Defining the options globally work (mxGraph uses the globals): this is the way it is configured in the rollup example and I have successfully tested it with the Angular 13 repository

I have already proposed a PR for the rollup example: https://github.com/typed-mxgraph/typed-mxgraph-example-bundled-with-rollup/pull/5.
I can also do it for the typed-mxgraph repository and the webpack example.


Update fs2-core, fs2-reactive-streams to 3.4.0

Updates

co.fs2:fs2-core
co.fs2:fs2-reactive-streams

from 3.1.3 to 3.4.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "co.fs2" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #423.


remove hashtag # in url by angularjs

hi, i haved use this stack for some time, the only most problem i faced is the url #,
First , in index.blade.php as html file  i added
Second, in the config file i add add
$locationProvider.html5Mode({
enabled: true,
requireBase: true
});
then i reload, the url working well from http:8000/#/home -> http:8000/home,
However, when I copy the link to new tab, it show page not found by laravel, display laravel path not found error,  it is because it detect the route by laravel in laravel routes,
if you refresh the page/reload again, it show page not found, i get annoyed by the # in url, so how to fix this , thanks

pls provide technical answer how to , thanks

Here's how to fix your issue:
http://stackoverflow.com/questions/29484665/pretty-urls-in-angularjs-and-laravel-not-working

YES SOLVE, the answer is change the return 404view to index view in handler.php, THANKS!!!!

the only disadvantages is the console.log and network will display file not found error message

You shouldn't show a 404, you should return the view('index');

ya, thanks.


should add database connection for deployment and demo

we need to have a demo page that connects to the database, a simple todo app I guess.
to deploy to k8s with that database dependency with helm chart
to deploy to Heroku with that database dependency with heroku add-ons

verified, closed.


Added rockspec

Hey, thanks for getting RxLua on luarocks!  I may make some cosmetic changes to the rockspec files if that's alright with you (single quotes for strings and wrapping of long lines), and I'd like the maintainer field to be "https://github.com/bjornbytes", but other than that everything looks good.

yeah, feel free to make any changes to conform to the guidelines.


Remove old developers emails

Hello, I think you forgot to remove old emails from travis config file.
Apart from that, do you have any plans on merging this fork to official Mamute code? It would be awesome if you cold do that someday :-)

ooooops, my intention was to open this PR to this fork: https://github.com/shomabegoo/shomabegoo
closing here!

hi @csokol,
What is the relation between your PR and the issue you mention about shomabegooo fork?

None :-)
I just took the chance to discuss about the fork. If you want, maybe we can
open an issue to discuss about the fork.
Em sáb, 13 de ago de 2016 03:48, Milad Khajavi<EMAIL_ADDRESS>escreveu:

hi @csokol https://github.com/csokol,
What is the relation between your PR and the issue you mention about
shomabegooo fork?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/caelum/mamute/pull/269#issuecomment-239595027, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA9JDkKR96Iz4xJUNGkm2I0wXA5K0E83ks5qfSJzgaJpZM4JjU40
.


Add bindings for Query component and useQuery hook.

urql v1 adds a specific component for Query, in addition to a useQuery hook: https://github.com/FormidableLabs/urql/blob/master/docs/api.md.
For this issue, it'd be ideal to just focus on binding these two pieces of the API. Binding Query should be as simple as using ReasonReact.wrapJsForReason and typing the props. We will want to re-use some of the nice utilities we have in place to convert fetching, data, error to a variant (see urqlDataToVariant). We should keep that function generic so we can 1) unit test it, and 2) use it for Mutation. Binding the hook should also be fairly easy using standard BuckleScript FFI for functions.
PRs for this issue should target the v1 branch.

I'll take this!

Dope! Assigning you now. I'll probably take Mutation so we can each take a stab at our own approaches and see where we land relative to one another.

FYI @kiraarghy let's copy the folder structure from urql exactly. So for the Query component, let's put it in src/components/UrqlQuery.re and for the hook let's put it in src/hooks/UseQuery.re or something of that sort. Why the weird naming for UrqlQuery? Well, one thing I've thought about is that consumers of reason-urql might have their own Query module somewhere in the tree, with which a Query module might collide. So by namespacing it: http://2ality.com/2017/12/modules-reasonml.html#namespacing-modules, we prevent these potential collisions. In our top level ReasonUrql.re we'll just alias them to their true names, i.e.
/* ReasonUrql.re */
module Query = UrqlQuery

I'd also be curious about using snake case for modules rather than pascal case. I know Wonka uses snake case 🤔 Any feelings or opinions here? What reads to you as more Reason-y.

@parkerziegler

Agree with the folder structure and namespacing, thanks for explaining!
I generally prefer pascal case cause snake case brings up memories of my bad python code 🐍. It feels more Reason/OCaml-esque TBH.

Cool! Let's stick with pascal case! 🚀 🚫 🐍

Let's not worry about useQuery right now. Until ReasonReact gets support for hooks, I'm leery of trying to do any sort of hacking to support this.


bug: text with diacritic marks does not highlight properly

Check the following:

[X] I have checked the behavior after setting "vscode-neovim.neovimClean" in VSCode settings.
[X] I have read the vscode-neovim docs.
[X] I have searched existing issues.

Neovim version (nvim -v)
v0.9.5
Operating system/version
Fedora 39
Describe the bug
Text with diacritic marks do not highlight their full character width. This mostly affects the subset of unicode where we combine base letters with diacritic marks (i.e. what Zalgo text uses; https://en.wikipedia.org/wiki/Combining_Diacritical_Marks), rather than the standalone characters like à.
I'll admit that this is likely not that prevalent in code, but I found it by accident and figured it was better in a bug tracker than in my head. I suspect this is somewhat related to https://github.com/vscode-neovim/vscode-neovim/issues/1367
Steps To Reproduce

Create a document with the following content

ȯo ȯo
őo őo

Place your cursor on the first character of any line, and press *
Notice that the highlight is a narrow width, rather than the actual character width

Expected Behavior
The entire character should be highlighted. Plain neovim handles this case correctly

In nvim, there are also issues with cursor movement for these characters.
Treating this character as a single-width character can optimize the highlighting issue (though it won't completely resolve it). :eyes:


Update package list for Ikea Trådfri setup to work

Hi,
I was not able to install autoconf, which is required for Ikea Trådfri setup (see notes).
Could you please upgrade the package list in the container, and also install autoconf?
I circumvented it by doing:
sudo apt-get update
sudo apt-get install autoconf

I added the autoconf package and pushed a fresh lroguet/rpi-home-assistant:0.58.1 (or lroguet/rpi-home-assistant:latest) build. Let me know if all works as expected.

Thanks alot. It works 👍


Chore: update gptscript to latest(v0.8.0)

Need to update pyproject.toml too to fix CI...
Also use the latest greatest version of v0.8.0.

This is obsolete.


PEP8 Fixes

I was taking a look at ccm's code with a checking tool I wrote (similar to pyflakes) that helped me prepare some PEP8, pylint and other fixes. If you guys think it's interesting, I could also send a PR to perform an automated CI job on each PR through Travis CI (this way, the amount of lint/pep8 errors that get into CCM master will reduce substantially).

Thanks for the cleanup! We're aware of what needs done for Travis, but just haven't gotten around to setting it up yet.


can't find crate for alloc

I'm trying to build one of the demos, but it keeps giving me an issue with building it?
error[E0463]: can't find crate for `alloc`
  --> src/main.rs:13:1
   |
13 | psx::sys_heap!(4 kb);
   | ^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = note: this error originates in the macro `$crate::sys_heap` which comes from the expansion of the macro `psx::sys_heap` (in Nightly builds, run with -Z macro-backtrace for more info)

Oh also, sort_by_key seems to be broken?
error[E0599]: no method named `sort_by_key` found for array `[(Face, Color); 500]` in the current scope
   --> src/main.rs:142:19
    |
142 |             faces.sort_by_key(|(face, _)| {
    |             ------^^^^^^^^^^^
    |
    ```

Hello! Both issues sound like cargo-psx is missing the alloc in -Zbuild-std=core,alloc. Older versions and I think the default one from crates.io didn't do this. Can you retry by first uninstalling cargo-psx and installing it from the main branch of this repo (instructions in readme)? I'll try to update the crates.io version in a few days.

Aha! That seems to have worked

Closing this as I pushed an updated version of cargo-psx to crates.io today.


keycloak page at http://databus.dbpedia.org in Safari

When visiting http://databus.dbpedia.org in Safari it shows the welcome keycloak page.
Note it is about http and not https.

Can't reproduce in Chrome

you need to go in private browsing to make sure that it does not redirect to https.
I tested it on windows 11. still valid with latest chrome. my best guess is wrong apache config.


This does not look like a tar arhive

Describe the bug
When running mise use -g fzf you get an exit 1 could not uncomotess
To Reproduce
Mise use -g fzf
On x86-64 linux
Expected behavior
Mise can install the asdf fzf plugin
mise doctor output
REPLACE WITH OUTPUT OF `mise doctor`

Additional context
It looks like the output of the fzf plugin are not compressed, i would expect that if the files are not compressed then this doesnt error out

This is the wrong place to report. Check this issue in asdf-fzf.
fzf changed their release tags to include a v, which breaks the asdf plugin.

Thank you !


[FEATURE] Users should be able to request a new access token

As a user,
I want to be able to request a refresh token when my access token expires
So I can make API calls to protected endpoints
Scenario
Given: an authenticated user wants to make an API call
And: their access token has expired
When: they send a POST request to /token/refresh/ with their refresh token
Then: they get a new access token
Feature completion checklist

[ ] Build feature
[ ] Make test calls to {endpoint}
[ ] Build supporting documentation for {feature}

This feature was technically addressed with #3


Fits expanded perf optimisation

Summary

Test Plan

Current dependencies on/for this PR:

main

PR #9110   👈

This stack of pull requests is managed by Graphite.


Don't work with Electron (crash) Windows  v 4.0.2. Chrome DevTools will be closed after npm start...

Please upgrade to electron 4.0.4+. Electron before 4.0.4 allowed modules built for electron 3.x to be loaded, even though they aren't actually compatible.


Task - Comprehensive specimen - Title is missing

Add <h1> Comprehensive specimen digitization </h1> at top


add time target to thetamethod

Any idea why travis is failing? Whatever is going wrong it appears unrelated to the PR. Curious if it persists after a rebuild.

Any idea why travis is failing? Whatever is going wrong it appears unrelated to the PR. Curious if it persists after a rebuild.

The rebuild works fine.

Any idea why travis is failing? Whatever is going wrong it appears unrelated to the PR. Curious if it persists after a rebuild.

The rebuild works fine.

Odd. Let's keep an eye on it then to see if the problem resurfaces.

I now have timetarget as parameter for the name of the Argument that represents time, but maybe timearg is more suitable? Or simply time? Or something else?


PHP syntax broken for heredoc quotes

Steps to reproduce
Edit any PHP code that uses heardoc syntax with escaped dollar signs ($)
Expected behaviour
The following PHP code:
print <<<END
\$somevar
END;

...highlights the "$somevar" as a variable and not the literal text. I know this used to work correctly, and I'm unclear as to specifically which version broke it.
Version of Vim
9.0.1503
Environment
Gentoo Linux
TERM=rxvt
Shell: bash
Logs and stack traces
No response

If you haven't already done so you should try approaching the maintainer, listed in the header, first.
https://github.com/TysonAndre/php-vim-syntax

This is an expected behavior; please, do not confused Heredoc and Nowdoc.
If you want to highlight it as literal text, just enclose your opened Nowdoc in single quotes:

closing then.

I get the difference between the two, but have to disagree on the assessment here when it comes to the specific case where the dollar sign is escaped. Even a simple double quoted string correctly shows that as text and not a highlighted variable:
<?php
print "This is \$somevar\n";

That gets handled correctly. How is the current behavior within a HEREDOC correct?

Replace END with another word, for instance EOD and it should behave as expected; but please, read again very closely the whole https://www.php.net/manual/en/language.types.string.php because it contains valuable information in it, especially around string quotes versus double quotes and their parsing mechanism.
I like calling such information hidden pearls.

I don't understand why using that specific string is highlighted differently however(?), and I don't see anything in that documentation related specifically to the END quoting string. From a PHP standpoint it functions identically to any other.

I presume the word end (case insensitive) is being recognized from PHP syntax as part of SQL support (BEGIN ... END); it's enabled by default if I'm not mistaken.
You can find more in Vim via :h ft-php-syntax.

Ahhh...OK, that makes total sense. As you see above I've logged a bug with the maintainer. I'll add to that and we'll see what he says. I actually wasn't aware you could even call functions using names in upper case like END() which for me is sort of horrifying :D. Thanks a million for the clarification!


[shared_preferences] Please add SharedPreferencesAsync.get method

Use case
Add SharedPreferencesAsync.get method, it is similar to SharedPreferencesWithCache.get
Proposal
// Reads a value of any type from the SharedPreferencesWithCache.
get(String key) → Future<Object?>

Use case
Add SharedPreferencesAsync.get method, it is similar to SharedPreferencesWithCache.get

This is a proposal, not a use case. What's the use case you have for arbitrary reads?
This is already possible via (await getAll({key}))[key], so unless there's a common use case for needing to read arbitrary values, it's not necessarily something we would expand the API surface just to make slightly more convenient.

I have used (await getAll({key}))[key] but I think reading a single key is more performant than reading all keys

I have used (await getAll({key}))[key] but I think reading a single key is more performant than reading all keys

Could you provide traces with numbers for the performance analysis you did? If enumerating keys in native code has appreciable performance impact, that's something that can be addressed in the implementation (by explicitly enumerating the allowList instead), without needing API changes.

Thanks, using getAll(allowList: { key })[key] is good enough 👍.
So I close this issue.


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1507 ms

Resolved: Bofrost.de performance has improved in e1f84bf after 6 minutes.


Need more clarity on usage in Intune Azure portal

Thanks for this article. Some feedback
The videos shows demo on the Intune classic portal, which is not existing anymore.
Could you update the videos for showing demo in Azure portal?
Azure portal do not have the option of String XML direct editing/adding the value.
It has either string or string (XML File). If I choose XML file, do I need to create an XML and upload it? or just adding the data value pairs as string would be sufficient?
One more question, while adding a OMA-URI setting in a custom profile, I will be mentioning the OMA-URI, then in the data field, do I need to just paste the data section of SynML (as example shown above) or whole SyncML syntax need to be pasted (which also contains LocURI)

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 14d97fd9-b060-7bd5-1bc1-57efa474f75f
Version Independent ID: be3a74fc-cac8-9b2c-dcc8-edc83cdf111f
Content: Enable ADMX-backed policies in MDM
Content Source: windows/client-management/mdm/enable-admx-backed-policies-in-mdm.md
Product: w10
GitHub Login: @MariciaAlforque
Microsoft Alias: maricia

@deshpandeguy Thanks for the feedback, I'll use it to plan future improvements to this topic.

@officedocsbot close


Fix book path

Fix #164

Path of runbook is needed in loadBook() since #156

Intended error
https://github.com/k1LoW/runn/actions/runs/3127586062/jobs/5074375301#step:6:34


Add automatically generated change log file.

Hi, as I can see, you are carefully fill tags and labels for issues in your repo.
For such cases I create a github_changelog_generator, that generate change log file based on tags, issues and merged pull requests from :octocat: Issue Tracker.
This PR add change log file to your repo (generated by this script).
You can check, how it is look like here: Change Log
Some essential features, that has this script:

it exclude not-related to changelog issues (any issue, that has label question duplicate invalid wontfix )
Distinguish issues according labels:

Merged pull requests (all merged pull-requests)
Bug fixes (by label bug in issue)
Enhancements (by label enhancement in issue)
Issues (closed issues w/o any labels)

Generate neat Change Log file according basic change log guidelines.

You can easily update this file in future by simply run script: github_changelog_generator alcatraz/Alcatraz in your repo folder and it make your Change Log file up-to-date again!
Hope you find this commit as useful. :wink:
P.S.
I know that you already has CHANGELOG.md file but give this script a chance and compare it with yours change log. Hope, you will love it! :blush:

Thanks for the proposition @skywinder. I feel that Alcatraz is small enough that updating the changelog manually is still doable and will result in a better info/noise ratio.
Thoughts @supermarin @kattrali @jurre ?

Agreed

@guillaume-algis Thanks for reply.
Noise can easily eliminated by tagging questions with label "question".
Any other things, that you assuming as noise?

I appreciate the effort you've put in your project @skywinder but right now we don't feel like we need it in Alcatraz. We'll keep it in mind for the future though.


Re-structure styles and theme switching components

@grgia
Details

This PR implements a new file/folder structure for styles and especially theme switching components.
The src/styles folder now follows the following structure:

theme: all themes, colors and theme-dependent items for styling like illustrations.

context: contexts used for theme switching
illustrations: central definition of all theme-dependent illustrations

themes: all illustration lists for different themes

themes: different theme color palettes
colors.ts: all colors used across different themes
types.ts: types used for theme switching
index.ts: central definition of all available themes

utils: all utility functions for styling.

index.ts: contains generator function for StyleUtils, which will contain all of the style utils and be the only location from which we should use utils (via useStyleUtils hook, finished in a follow-up PR)

index.ts: all static but theme-dependent styles (used via useThemeStyles hook)

Multiple components have been moved to different locations for consistency:

Theme switching hooks: useTheme, useThemeStyles, useStyleUtils, useThemeIllustrations, useThemePreference and useThemePreferenceWithStaticOverride have all been moved to src/hooks.
Theme switching providers: ThemeProvider, ThemeStylesProvider and ThemeIllustrationsProvider have been moved to src/components.
Theme switching HOCs: withTheme, withThemeStyles, withStyleUtils and useThemeIllustrations have been moved to src/components.

Fixed Issues

$ https://github.com/Expensify/App/issues/32664
PROPOSAL:
Tests

Full Regression Suite was done on this PR by QA
Offline tests

QA Steps

NO QA
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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Taking off hold!

In the PR description can you document the before / after file structure?

done!

@sobitneupane we are planning to do a regression suite on this branch as it affects so many files.
What we may end up doing is just having you review any files that were manually changed due to TS restrictions. For now, let's hold on review until the PR is finalized

This PR is ready for review!

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the android build failed
The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the Desktop build failed
The QR code can't be generated, because the web build failed

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the android build failed
The QR code can't be generated, because the iOS build failed

Desktop :computer:
Web :spider_web:

❌ FAILED ❌
❌ FAILED ❌

The QR code can't be generated, because the Desktop build failed
The QR code can't be generated, because the web build failed

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/32679/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/32679/index.html

Desktop :computer:
Web :spider_web:

❌ FAILED ❌
https://32679.pr-testing.expensify.com

The QR code can't be generated, because the Desktop build failed

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/32679/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/32679/index.html

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/32679/NewExpensify.dmg
https://32679.pr-testing.expensify.com

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

Web- Chat - Placeholder "Write something..." is not centered in Message Composer
Action Performed:

Open https://32679.pr-testing.expensify.com/
Navigate to any conversation
Refresh the page and notify the placeholder "Write something..." in Message Composer

Expected Result:
"Write something..." should be centered in Message Composer
Actual Result:
Placeholder "Write something..." is not centered in Message Composer
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] Windows / Chrome
[ ] MacOS / Desktop

Version Number: 1.4.11-1
Reproducible in staging?: No
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/78819774/9aac1f42-7434-41ae-a9ac-b69eb04ee1c5
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

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

Web - Notification - User does not receive notification when new message arrive
Action Performed:

Open https://32679.pr-testing.expensify.com/
User B send new message to user A

Expected Result:
User A should receive notification for all new messages
Actual Result:
User does not receive notification when new message arrive
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] Windows / Chrome
[ ] MacOS / Desktop

Version Number: 1.4.11-1
Reproducible in staging?: No
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/9994dd8b-ecc0-4995-859c-234f416e1f64
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

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

IOU- User able to select email id while creating distance request
Action Performed:

Go to https://32679.pr-testing.expensify.com/
Tap fab
Tap distance
Enter start and finish waypoints and tap next
Search for a contact by typing any email id
Note results are displayed when user search for email id
Select the user
Tap request
Note distance request is created with red dot and unexpected error message
Tap on distance request created
Note receipt missing details with red dot is shown in preview.

Expected Result:
For distance request, workspace only user should be allowed to select. When user search for email, no results found message must be displayed. User should be allowed to search and select only workspace while making distance request
Actual Result:
When user search for email, results are shown and user is allowed to select email for making distance request. After selecting email, on tapping request, a distance request is created with red dot and unexpected error message .Opening distance request created displays receipt missing details with red dot is shown in request preview
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] Windows / Chrome
[ ] MacOS / Desktop

Version Number: 1.4.11-1
Reproducible in staging?: No
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/b6421f83-c31b-46c4-84cc-ea5cdf65a821
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

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

IOU-Split bill created in announce room is not displayed
Action Performed:

Go to https://32679.pr-testing.expensify.com/
Tap on announce room
Tap plus icon
Tap split bill
Enter an amount
Tap next
Tap Split

Expected Result:
Split bill created in announce room must be displayed
Actual Result:
Split bill created in announce room is not displayed
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] Windows / Chrome
[ ] MacOS / Desktop

Version Number: 1.4.11-1
Reproducible in staging?: No
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/f445ba44-8083-4b96-9dc4-1e15368e859c
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

retrying desktop ^

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/32679/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/32679/index.html

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/32679/NewExpensify.dmg
https://32679.pr-testing.expensify.com

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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I 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 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

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

^
Lint was failing due to unused styles in style util files that are never touched. I don't think we should remove these in this PR so I merged with these lint errors as they are non-blocking/not necessary for these files.

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.13-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.13-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.4.13-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Publishing to Maven repository

Hello @lemire,
I'd like to publish the first release to the Maven repository, but there are two preliminary steps for which I lack the necessary permissions:

I wanted to register the org.simdjson groupId in Nexus: https://issues.sonatype.org/browse/OSSRH-94710. However, according to this comment: https://issues.sonatype.org/browse/OSSRH-94710?focusedId=1287512&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-1287512, before registering the groupId, it's necessary to add a DNS TXT record with the text OSSRH-94710 to the simdjson.org domain. If I'm not mistaken, simdjson.org is registered through NameCheap, so the steps described in this documentation: https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237/how-do-i-add-txtspfdkimdmarc-records-for-my-domain/ should suffice to add the record. Could you please add it?

Once I receive credentials for the Nexus repository, I'll need to add them to GitHub secrets (along with the PGP key). Unfortunately, I currently lack the necessary permissions to do so. If you don't mind, please consider assigning me the admin role in this project.

I'd be grateful if you could help me with these two points.
Thank you

You should already have admin access. Let me check.

Ok. Correct. You were not admin. It should have been corrected now, sorry about that, I always meant to give you admin access.

The DNS record has been updated.

Thank you.


CN CheatSheet

Description 📜
Added all CN Questions important from Interview Perspective
Fixes #6983

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[x] Interview Prep
[ ] Java_#Domain
[ ] JavaScript_#Domain
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@syedareehaquasar @rhythmjayee Please review this, any suggestions are welcomed.

@syedareehaquasar If its fine then merge it


Add CDNJS version badge in README.md

The badge shows the latest lib version on CDNJS and gives a link of it.

Thanks!


Korean: FKR103 seems to run when it's not supposed to

일본 중심적 transliterates into chungsimjŏk but chungsimchŏk is expected.
The code sequence is i12#m13#f21~i9#m20#f16~i12#m4#f1E
There is a substitution for ["f16~i12#","m~j"] in FKR 103.
This seems like the same problem as #36.
Regarding FKR103, I can see that in https://github.com/lcnetdev/scriptshifter/blob/korean/scriptshifter/hooks/korean/Functions_KoreanRomanizer.au3#L1673 a series of variables are checked, but as far as I can see, they are all set to 0 only once and never changed. Is FKR103 supposed to run on some conditions?

This seems to be an issue with FKR103. I will keep reporting further issues in this thread.
세법학 -> Sebŏphak; expected: Sepŏphak
substitution in FKR103: ["f0~i7#","~b"]

속문범 -> songmunbŏm; expected: sok munbŏm
Substitution in FKR103: ["f4~i7#","n~b"]

Actually, "chungsimjŏk" is correct with "j"

속문범 -> songmunbŏm; expected: sok munbŏm
Substitution in FKR103: ["f4~i7#","n~b"]

Don't worry about "속문범" This is not a real word.

I corrected the two strings in the tests. sok munbŏm -> songmunbŏm only when in one word (속문범).


php.packages.deployer: init at 6.8.0

Motivation for this change
this tool is missing from nixpkgs
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 121797 at 1c5c5be2 run on x86_64-linux 1

3 packages built successfully:

php73Packages.deployer
php74Packages.deployer
php80Packages.deployer

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/development/php-packages/deployer/default.nix:16:3:
   |
16 |   installPhase = ''
   |   ^


Password reset link remains valid after usage

The password reset link generated by djoser.views.PasswordResetView remains valid after use. In fact, when requesting a password reset again, the same link is sent.
This is a bit of a security risk, because anyone with that link (even if it has been years ago that you requested a password reset) can change your password. I don't think users would expect that the link remains valid after usage, and might not be as careful with it as they should be.
Of course, the current scheme has the adventage that it is stateless on the server. A link that is invalidated after use requires some information to be stored somehow. I think it would be a trade-off i'm willing to make: some database storage for improved security.

Thanks for reporting, I'll start patching it asap.

djoser by default users django.contrib.auth.tokens.PasswordResetTokenGenerator and this uses last login timestamp to make the token. This assumes that user is forcibly logged in at the end of changing password. djoser omits the "login" part but the date should be reset anyway to simulate the login.
Aside that, if you want to make your own token generator, I can point you to one value that must be kept on server  side and that MUST change during password reset - it's the password hash :wink: If you securely use it to calculate the password reset token, you should get an auto-invalidated token without the need to remember to update the date or any other value.

@dekoza Awesome, thanks for the quick and sensible follow-up!


Add regression tests

Add regression tests

What do you mean exactly?

https://en.wikipedia.org/wiki/Regression_testing

okay, I definitely agree

@paulstapor: Something like this: 8af64a3. So after any changes to the code you would simply type runPestoTests to verify that you did not break anything along the way.


Small update in the documentation to ensure consistency in declaring LANGCHAIN_API_KEY...

... variable, accompanied by a quote

FYI, this is a very minor update. But it went through the  contributing process explained by community to assess the process.


How can I move video recored file to specific folder

I recorded video with flutter app and path is /data/user/0/com.xxx.yyyyy/cache/REC4416034190188903245.mp4
how can I change file name and store it specific folder for example /storage/emulated/0/DCIM/CCd3
folder CCd3 is already exist.
how I get video file path is below.
      XFile videoFile = await _cameraController.stopVideoRecording();
      File videoFile2 = File(videoFile.path);

Hi @kotran88, the flutter issue tracker is for reporting issues with flutter.
For help with personal code, kindly see https://flutter.dev/community#community-grid and visit any of those communities.
Closing as this is neither a bug report nor a feature request.
Thank you


Auto-saved notification

User Story
As a user, I want to know when my responses are saved so that I know I can leave the form and my responses are saved.
Acceptance Criteria
Given that a user is on a page with input fields, when they enter responses and the responses are automatically saved, then a visual indication that responses are saved will appear at the top right of the page.

Determine when to trigger -- API returns successfully when click on continue. So it would reinforce that responses have been saved.
Determine where to place in UI. @elliottSlee @zoeyli-46

No implemented for RTP. Can consider for future forms.


FPS defaulting is problematic

The way the default frame rate is set is problematic.
const int DEFAULT_FPS = 21;       // mostly ignored, deprecated
const int DEFAULT_HEIGHT = 1080;  // mostly ignored, deprecated
const int DEFAULT_WIDTH = 1920;   // mostly ignored, deprecated

All need to go. This is bad design and inflexible when new sensors are used.
Proposed solution: default to camera mode 0

This code has issues:
  gint best_match = -1;
...
        if (best_match == -1 ||
            ((streamSize.width() ==
              iSensorMode[index]->getResolution().width()) &&
             (streamSize.height() ==
              iSensorMode[index]->getResolution().height()) &&
             (iSensorMode[best_match]->getFrameDurationRange().min() >=
              iSensorMode[index]->getFrameDurationRange().min()))) {
          best_match = index;
        } else if ((iSensorMode[index]->getResolution().width()) <=
                   iSensorMode[best_match]->getResolution().width()) {
          best_match = index;
        }
...

Not sure what Nvidia is trying to do here. The two branches of this if statement, one of which will never run, do exactly the same thing, the purpose of which is unclear. It seems as if best_match should be calculated somewhre but it's not. The producer function is full of fun stuff like this. Maybe it made sense with an earlier version of Argus.


I make some coffee to your cocoon

Oh wow. This looks awesome. I have to investigate what this does with backward compatibility. I want the gem to still work for rails 3.0.x projects. Maybe the install-generator could compile the coffeescript in the case of rails 3.0.x? I will look into that first before I merge it in completely.
Thank you very much!

No big deal. Thanks u for a simple solution and awesome gem. And it will be great if you test it and I thought maybe you can create 3.1 or coffee branch.

:-1: for CoffeeScript

I used to use CoffeeScript. However, with babel, es6, and now es7, I'd say it's a step backwards to convert to JavaScript. Instead, the JS code will move to es6 and then es7.

I am cleaning up old PR's and issues. This is one of those PR's I kept open over a long time, because I was really really tempted to actually convert to coffeescript, because I personally (still!) prefer it and use it in all my projects. But as @justin808 mentioned: not sure if at this time it is the right path anyway (and the coffeescript is now long behind all changes we made in the meantime).
Still thank you very much for your effort, and my apologies in replying/handling this so late.


[4.15] OCPBUGS-29370: Update AWSCSIDriverConfigSpec fields validation to accept all current AWS partitions

Cherry-pick https://github.com/openshift/api/commit/72a9eae21ecb292364d00707ca0cb062bead70b0 into release-4.15
/cc @openshift/storage

/jira cherrypick OCPBUGS-29196

/assign @JoelSpeed
for review and backport-risk-assessed

/lgtm
/label backport-risk-assessed

@JoelSpeed can you try again to tag it? it didn't take for some reason.

/lgtm
/label backport-risk-assessed

/label cherry-pick-approved

/jira refresh

/cherry-pick release-4.14


fix(versions): update Activiti/activiti-cloud-full-chart-security versions

UpdateBot pushed helm dependency: activiti-cloud-full-example to: 7.1.245

UpdateBot commands:
updatebot push-version --kind helm activiti-cloud-full-example 7.1.245