Add scripts and documentation to rebuild the Acquia CMS container image

In theory, build.sh should rebuild the container image we use and tag it phenaproxima/acquia_cms:headless. If you have push access (currently that's just me and @lauriii), you can push the rebuilt image to Docker Hub, at which point it will start being used in our CI jobs.
You need two things before you can the script: a container runtime (I'm using Colima) and the Docker Engine (i.e., the docker command line utility).

You can test this locally by fulfilling the prerequisites (a container runtime and the Docker Engine) and running build.sh without any arguments. If all goes well, docker image ls should reveal that you have an image tagged phenaproxima/acquia_cms:headless.

I'm wondering if we could automate this so that this would be run on Github Actions few times a week?

Yeah, I think we should. Probably not in this PR, but I do think it'd be wise to try and keep our ACMS image up to date.

At what stage in the build was this?

This was the command it was running:
executor failed running [/bin/sh -c DRUSH_COMMAND_SITE_INSTALL_OPTIONS_DB_URL=mysql://drupal:drupal@host.docker.internal:3306/drupal DRUSH_COMMAND_SITE_INSTALL_OPTIONS_ACCOUNT_PASS=admin ./vendor/bin/acms acms:install --no-interaction acquia_cms_headless]: exit code: 1
4385ca672cd433c8d29e85ae25049727631ad78d8459455d56978e5623265a1a


ci: add recipe version bump check in PRs

As stated in the contributing documentation, recipe package version should be upgraded when it is updated. Currently, this change has to be checked by a maintainer when reviewing the PR, and it could be forgotten.
I wanted to play a bit with GitHub Actions, so I wrote a custom GA to check this version bump. Example of failing and passing commits can be found in https://github.com/nathanaelhoun/ferdium-recipes/pull/1.

Note: I am thinking about new recipes. I think the script is broken in this case. I have to test this case.

Updated the workflow file to not fail when adding a new recipe. This is ready!


Scenarios break when the name is too long

#The following scenario name demonstrates the problem with long names
Scenario: This is an example of a case that will fail when the amount of characters in the scenario names goes beyond 80 characters
When using the original specflow exe to create cs files this results in the following glue code
[Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()]
[Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is an example of a case that will fail when the amount of characters in the " +
"scenario names goes beyond 80 characters")]

The FixMsTest function uses a regex to remove the Description attribute which results in the following broken glue code
[Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()]

"scenario names goes beyond 80 characters")]

A simple fix is to extend the regex to span multiple lines and remove the Description correctly. Although I don't know why the description has to be removed since it appears to compile just fine.
Anyway I added a pull request to resolve this. # #55

Cool, thanks for that!
I'm not using MSTest so I rely on the community to tidy these things up. If you don't think the Description needs to be removed (it seems wrong to me as well) then feel free to patch it with another PR 😄
@erik-lundgren added support for MSTest (almost a year ago now!) with #31. There was a reason at the time, but not sure if it's a good one.


[Patch] omp_locks: Avoid extern global variable

Patch in
https://github.com/AMReX-Codes/amrex/pull/3798
Follow-up to #18, which did not work.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


Include the vscode explanation in dev envs

Proposed changes
Update docs to include the vscode user in the Dockerfile section.
/cc @glours @rumpl @gtardif @chris-crone

@felipecruz91 Is this ready fo review?

@felipecruz91 Is this ready fo review?

There're still some valid points that @thaJeztah commented that I'd like to discuss with @glours.


CancellationTokenSource memory leak

Discord.Net is not calling Dispose after using CancellationTokenSource.CreateLinkedTokenSource.    According to MSDN, this is necessary.  See remarks in:
https://msdn.microsoft.com/en-us/library/system.threading.cancellationtokensource(v=vs.110).aspx
This therefore creates a memory leak on each web call, which becomes quite significant over time.
See DefaultRestClient.SendInternalAsync for example.   It calls:
cancelToken = CancellationTokenSource.CreateLinkedTokenSource(_cancelToken, cancelToken).Token;
But provides no means for the caller to dispose of the CancellationTokenSource that is created.   Note that it is the source that needs to be disposed, not just the token itself.

Did a profiler show that this was actually memory leaking?
While I agree that disposing it would be the correct pattern, I'd be surprised if the GC wasn't cleaning up linked tokens.

It did come from the Visual Studio memory profiler, yes.   Taking memory snapshots from diagnostics periodically and using it's diff'ing capabilities clearly showed a continuous growth in the number of CancellationTokenSource objects and associated structures.   This was in proportion to the number of calls made to the API.
My understanding is that they do not get automatically GC'ed according to everything I've read online, hence the need to Dispose.


OWNER_ALIASES: add Luke Hinds

Via 18e94b8c9a50502a1b4db8aefe98538a9e850d69

/approve

@lukehinds you need to file this issue: https://github.com/kubernetes/org/issues/new?assignees=&labels=area%2Fgithub-membership&template=membership.md&title=REQUEST%3A+New+membership+for+
See this doc: https://github.com/kubernetes/community/blob/master/community-membership.md#member

xref https://github.com/kubernetes/community/pull/4188#issuecomment-544728369

/verify-owners

/lgtm

/lgtm
/hold cancel


checker(dm): add onlineddl check

What problem does this PR solve?

Issue Number: close #4064 , close #4142 , close https://github.com/pingcap/tiflow/issues/4243
What is changed and how it works?

check ghost table in table structure checker

Check List
Tests

Integration test

Related changes

Need to update the documentation

Release note
`None`.

/run-dm-integration-test

/hold
Need more modification

/run-dm-integration-test

/unhold
/run-dm-integration-test

Codecov Report

Merging #4065 (f9f6d4f) into master (3873d39) will decrease coverage by 2.0002%.
The diff coverage is 67.4603%.

:exclamation: Current head f9f6d4f differs from pull request most recent head ebbe44d. Consider uploading reports for the commit ebbe44d to get more accurate results

Flag
Coverage Δ

cdc
58.5646% <67.8990%> (+0.3280%)
:arrow_up:

dm
52.1303% <48.0000%> (-3.9043%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #4065        +/-   ##
================================================
- Coverage   57.0741%   55.0739%   -2.0003%
================================================
  Files           478        487         +9
  Lines         56551      60003      +3452
================================================
+ Hits          32276      33046       +770
- Misses        20978      23618      +2640
- Partials       3297       3339        +42

@okJiang  ut failed
FAIL: table_structure_test.go:117: testCheckSuite.TestTablesChecker
table_structure_test.go:181:
    c.Assert(result.State, tc.Equals, StateFailure)
... obtained checker.State = "success"
... expected checker.State = "fail"

/run-verify

@okJiang ut failed
FAIL: table_structure_test.go:117: testCheckSuite.TestTablesChecker
table_structure_test.go:181:
    c.Assert(result.State, tc.Equals, StateFailure)
... obtained checker.State = "success"
... expected checker.State = "fail"

Seems parser support gbk character, so that check success.
/run-all-tests

/run-leak-test

/merge

/run-integration-test


Redesign symbol table in LLVM visitor

Currently, a map name -> llvm::Value* is used for named variables. This is limited to local function scope. We need to:

Support function name to block mappings
Support local and global variable lookups (Some inspiration can be taken from LLVM's implementation of SymbolTable)

Just FYI as a reference:

for DSL, symbol table implementation is here: https://github.com/BlueBrain/nmodl/blob/master/src/symtab/symbol_table.hpp
You can see tests in : https://github.com/BlueBrain/nmodl/blob/master/test/unit/symtab/symbol_table.cpp

We can make existing implementation generic (type agnostic) if that is helpful. But I assume you may not needed anything too advanced?
Anyway, if you need any help / information, let me know.

Thanks! I will have a look at these.


Command to stop mailman ?

I use the command line to start mailman as a daemon with something like
RAILS_ENV=production bundle exec mailman -c mailmain/config.rb -p pids/mailman.pid
But there seems to be no equivalent tos top mailman. I currently kill the process identified by the .pid file but was wondering if there is a command line for this.

Just my 2 cents...
When I want it to quit, I
touch /tmp/abort
to my app, I added:
if File.exists?("/tmp/abort") 	abort "Following instruction to abort due to existence of abort file in /tmp" 	exit! end
Sometimes the abort doesn't seem to work, so I added the exit!


Set up PR builder

Ticket
PLAT-10243
Description
Set up circle CI build
Checklist

[x] Referenced a ticket in the PR title and in the corresponding section
[x] Filled properly the description and dependencies, if any

The tests do not seem to be reported in the test tab (https://app.circleci.com/pipelines/github/SymphonyPlatformSolutions/symphony-api-client-python/6/workflows/befbdaba-8ca0-4a88-a4ec-a0096b0e6f36/jobs/8/tests)

The tests do not seem to be reported in the test tab (https://app.circleci.com/pipelines/github/SymphonyPlatformSolutions/symphony-api-client-python/6/workflows/befbdaba-8ca0-4a88-a4ec-a0096b0e6f36/jobs/8/tests)


Unable to remove group

Unable to remove group. Empty group remains always. Problem on Android app only.
App version: 2.6.1 - 5ecc246

Hi @jacek12345 ,
Are you facing this issue every-time when you try to delete group ?
Actually, unable to reproduce this issue at my side.
Do you see any error in application ?

It is not always facing. But if occures ones, there is no chance for delete group. Now create and delete group without problem. Half hour ago it occures, now can't repeat. Tried also with sharing node, now can't reproduce.
I will back if find something new in this issue.

Sure. That will help.
Thanks  @jacek12345.

update: problem occures sometimes (didn't find repeatable path), but it looks only UI problem. After reeneabling app, the group is not visible more. Additionally, when problem occures, each next remove try gives info that Group does not exists (the only problem is that it is not removed from group list, but it is after app restart).

Thanks for the info @jacek12345 . Will check this issue.


⚠ ClamAV has degraded performance

In 5cdaaa7, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 196 ms

Resolved: ClamAV performance has improved in 339f8bd after 5 minutes.


pythonmagick: fix build

Motivation for this change
The original build broke with the following linker issue:
  CXXLD    _PythonMagick.la
/nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/ld: cannot find -l-L/nix/store/4gh6ynzsd5ndx37hmkl62xa8z30k43y1-imagemagick-6.9.9-34/lib
collect2: error: ld returned 1 exit status

This happens since BOOST_PYTHON_LIB wasn't set properly, however
_PythonMagick.la was linked with -l$(BOOST_PYTHON_LIB) $(MAGICK_LIBS). With an empty BOOST_PYTHON_LIB the linker got
confused.
To work around this, the boost library directory needs to be specified
explicitly. To ensure that the changes take effect, the original
configure script shipped with $src needs to be removed and recreated
using the autoreconfHook.
Additionally the imagemagick license (https://spdx.org/licenses/ImageMagick.html)
needs to be added to lib/licenses.nix to document the proper license
of pythonmagick in the meta section.
Things done

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

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

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

Success on x86_64-linux (full log)
Attempted: pythonmagick
Partial log (click to expand)
make[2]: Leaving directory '/build/PythonMagick-0.9.16'
make[1]: Leaving directory '/build/PythonMagick-0.9.16'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ppilg9vjgvrq001md4grhiwms3ppr656-pythonmagick-0.9.16
shrinking /nix/store/ppilg9vjgvrq001md4grhiwms3ppr656-pythonmagick-0.9.16/lib/python2.7/site-packages/PythonMagick/_PythonMagick.so
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ppilg9vjgvrq001md4grhiwms3ppr656-pythonmagick-0.9.16/lib
patching script interpreter paths in /nix/store/ppilg9vjgvrq001md4grhiwms3ppr656-pythonmagick-0.9.16
checking for references to /build in /nix/store/ppilg9vjgvrq001md4grhiwms3ppr656-pythonmagick-0.9.16...
/nix/store/ppilg9vjgvrq001md4grhiwms3ppr656-pythonmagick-0.9.16

Success on aarch64-linux (full log)
Attempted: pythonmagick
Partial log (click to expand)
make[2]: Leaving directory '/build/PythonMagick-0.9.16'
make[1]: Leaving directory '/build/PythonMagick-0.9.16'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/bwg55c7c72av69ix20ki2x0xbvcrjq1b-pythonmagick-0.9.16
shrinking /nix/store/bwg55c7c72av69ix20ki2x0xbvcrjq1b-pythonmagick-0.9.16/lib/python2.7/site-packages/PythonMagick/_PythonMagick.so
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/bwg55c7c72av69ix20ki2x0xbvcrjq1b-pythonmagick-0.9.16/lib
patching script interpreter paths in /nix/store/bwg55c7c72av69ix20ki2x0xbvcrjq1b-pythonmagick-0.9.16
checking for references to /build in /nix/store/bwg55c7c72av69ix20ki2x0xbvcrjq1b-pythonmagick-0.9.16...
/nix/store/bwg55c7c72av69ix20ki2x0xbvcrjq1b-pythonmagick-0.9.16


Added selector for getFormSyncWarnings.

Added a new selector to the list: getFormSyncWarnings.

Codecov Report

Merging #2624 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master   #2624   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files          66      67    +1
  Lines        1371    1374    +3
======================================
+ Hits         1371    1374    +3

Impacted Files
Coverage Δ

src/immutable.js
100% <ø> (ø)
:white_check_mark:

src/createAll.js
100% <ø> (ø)
:white_check_mark:

src/index.js
100% <ø> (ø)
:white_check_mark:

src/selectors/getFormSyncWarnings.js
100% <100%> (ø)

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 fc2b82f...45e902d. Read the comment docs.

Just when I think there's nothing more to have a selector for... 😆
Can you modify the docs, too?

@erikras ahah, thanks for reviewing! I've documented the new method in docs/api/Selectors.md as part of this PR. Is there more docs where the selectors are referenced?

Published in v6.6.0.


feat: allowed disabled state to SelectItem, SearchSelectItem, MulitSelectItem

feat/allowed disabled state to , ,  issue #853

Description

feat/allowed disabled state to , ,
Related issue(s)
#853

What kind of change does this PR introduce? (check at least one)

[] Bug fix (non-breaking change which fixes an issue)
[✓  ] New Feature (non-breaking change which adds functionality)
[ ] New Feature (BREAKING CHANGE which adds functionality)
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[ ✓ ] No

If yes, please describe the impact and migration path for existing applications:
How has This been tested?

Screenshots (if appropriate):
The PR fulfills these requirements:

[ ✓ ] It's submitted to the main branch
[✓  ] When resolving a specific issue, it's referenced in the related issue section above
[✓  ] My change requires a change to the documentation. (Managed by Tremor Team)
[ ] I have added tests to cover my changes
[✓  ] Check the "Allow edits from maintainers" option while creating your PR.
[✓  ] Add refs #XXX or fixes #XXX to the related issue section if your PR refers to or fixes an issue.
[✓  ] By contributing to Tremor, you confirm that you have read and agreed to Tremor's CONTRIBUTING.md guideline. You also agree that your contributions will be licensed under the Apache License 2.0 license.

Hi! Thank you for taking your time and creating this PR. As mentioned in https://github.com/tremorlabs/tremor/issues/853#issuecomment-2034720621 this won't be added to the selects.


session: remove estimate_replicas_for_query, get_tracing_info_custom

This PR removes two public functions from Session: estimate_replicas_for_query and get_tracing_info_custom.
Those changes are a part of our effort to stabilize the API and reduce the number of pub functions.
Refs https://github.com/scylladb/scylla-rust-driver/issues/660
estimate_replicas_for_query
Remove estimate_replicas_for_query from Session. A user of this function can switch to using get_token_endpoints() from ClusterData directly.
It did not make sense for estimate_replicas_for_query() to be in Session, as this is too much low-level function for Session and doesn't fit the abstraction of Session.
get_tracing_info_custom
Remove Session::get_tracing_info_custom - a variant of Session::get_tracing_info that allows for additional customization of the fetch process (number of attempts, interval between attempts, consistency level of fetching tracing info). This customization is now moved to SessionConfig (as new parameters) and new helper functions were introduced to SessionBuilder.
Since now this customization is on SessionConfig, create_new_session_builder() in test_utils.rs returns a SessionBuilder with pre-configured large number of TracingInfo fetch attempts, longer delays (to account for a slow CI). Previously each tracing test had to configure it on its own by using get_tracing_info_custom.
Pre-review checklist

[X] I have split my patch into logically separate commits.
[X] All commit messages clearly explain what they change and why.
[ ] I added relevant tests for new features and bug fixes.
[X] All commits compile, pass static checks and pass test.
[X] PR description sums up the changes and reasons why they should be introduced.
[X] I have provided docstrings for the public items that I want to introduce.
[ ] I have adjusted the documentation in ./docs/source/.
[ ] I added appropriate Fixes: annotations to PR description.

Addressed @wprzytula comments in the ammended commit.


Add instance id in response

Description
This PR adds instance id at the error message in the response. Currently the response is like below, which is hard to identify the target server:
        "errors": [
            {
                "message": "ServerTableMissing:\nFailed to find table: testTable_OFFLINE",
                "type": "UNKNOWN"
            }
         ]

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #7937 (dfaf9e9) into master (aa2da07) will decrease coverage by 57.00%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #7937       +/-   ##
=============================================
- Coverage     71.32%   14.32%   -57.01%
+ Complexity     4092       80     -4012
=============================================
  Files          1589     1548       -41
  Lines         82139    80502     -1637
  Branches      12270    12067      -203
=============================================
- Hits          58589    11532    -47057
- Misses        19578    68109    +48531
+ Partials       3972      861     -3111

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.32% <0.00%> (-0.04%)
:arrow_down:

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

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


Rename & ignore object store volume mount directories

Changes

Update object store Docker volume mount directory names to be consistent with the other directories in service/docker
Remove the object store Docker volume mount directories from source control

Had made this branch to preserve local changes but forgot about the semver plugin bug 🤦🏽  remade this PR in #10


Feature: Why is there no "Grant Type: Implicit" checkbox setting in Apigility GUI?

According to [https://apigility.org/documentation/auth/authentication-oauth2]
you are required to manually alter config/autoload/local.php by adding, the code below in order to add support for oauth2 Grant Type: Implicit
Is there a reason why this has been left out of the Apigility GUI... It would greatly make life easier if only there was a checkbox that one could check somewhere, and apigility automagically adds this line to the correct file as it already does with other similar settings.
 'zf-oauth2' => array(
        // ...
        'allow_implicit' => true,
        // ...
    ),

This is a well structured and formulated issue ticket. I don't have the time to verifty and replicate this but, please @somombo push this forward. The most you are verbose, the better it helps the community, Appigilaty is HUGE and has even huger potential!

This repository has been closed and moved to laminas-api-tools/api-tools-admin-ui; a new issue has been opened at https://github.com/laminas-api-tools/api-tools-admin-ui/issues/9.


Removes quay.io/containerbuildsystem/cachi2

This removes quay.io/containerbuildsystem/cachi2 from allowed_step_image_registry_prefixes.

Codecov Report

Merging #462 (9f87f86) into main (a67e57f) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff            @@
##              main      #462   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           67        67
  Lines         1928      1928
=========================================
  Hits          1928      1928


Is it possible to control scrolling's stiffness?

Currently we can control step and smooth.
By changing the spring stiffness of scrolling, we can control how smooth it could be.
Thanks!

I had never considered this, but I like the idea. The current smooth scroll implementation is at https://github.com/lusakasa/saka-key/blob/master/src/modes/command/client/commands/scroll/utils.js#L51.

Actually, I hope to borrow the scrolling feature from Vimfx. But after consulting the author of Vimfx, it seems it is not easy to implement the feature here.
https://github.com/akhodakivskiy/VimFx/issues/897
Thanks anyway!


[QUESTION] Change the installation App Directory

Hi !
I trying using the output_path but this property only works for msix output directory, correct?
The installation folder,in Windows 10, is C:\Program Files\WindowsApps
Do you have a method to change the installation folder ?
My config is:
msix_config:
  display_name: XXX
  publisher_display_name: XXX
  identity_name: XXX
  anguages: pt-br
  msix_version: <IP_ADDRESS>
  trim_logo: false
  logo_path: XXX
  certificate_path: XXX
  certificate_password: xxx
  output_path: C:\OUTPUT
  output_name: XXX
  build_windows: false
  app_installer:
    publish_folder_path: c:\OUTPUT
    hours_between_update_checks: 0
    automatic_background_task: true
    update_blocks_activation: true
    show_prompt: true
    force_update_from_any_version: false

Thx!

Sorry for the late response
We cant chnage where Windows puts ("C:\Program Files\WindowsApps") the Msix installation files.


index_name for foreign keys exceeds max length

Running the tatp benchmark from oltpbench
(gdb) print index_name
$3 = "call_forwarding_FK_special_facility_1"
This is 37 characters, without counting any null termination. The maximum index length  is 32 as defined by:
.../src/include/catalog/abstract_catalog.h
// Maximum column name size for catalog schemas
static const size_t max_name_size = 32;
What is the right fix?
Possible options:

The index_name as created consists of 2 table names + some additional characters. (Haven't examined yet to see if table name length is separate from index name length. Don't think so).

Change the foreign key implementation to use deterministic length index names. One could

Use string representation of numeric id (not very friendly)
Use string representation replacing the current column names with say the OID of those columns. Less unfriendly and retains some embedded information in the name.

Other options?

@mengranwo What does Postgres do?

@apavlo
According to PostgreSQL Version 9.6
The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes.

For reference, what Postgres did:

         Table "public.call_forwarding"
   Column   |         Type          | Modifiers
------------+-----------------------+-----------
 s_id       | integer               | not null`
 sf_type    | smallint              | not null
 start_time | smallint              | not null
 end_time   | smallint              |
 numberx    | character varying(15) |
Indexes:
    "call_forwarding_pkey" PRIMARY KEY, btree (s_id, sf_type, start_time)
    "idx_cf" btree (s_id)
Foreign-key constraints:
    "call_forwarding_s_id_fkey" FOREIGN KEY (s_id, sf_type) REFERENCES special_facility(s_id, sf_type)


Fix PictureInPictureViewer when Low Res Tile Doesn't Bind

There has been a resurgence of #195 that I assume is related to an issue with bioformats2raw that we were seeing with tile boundaries (addressed in #223).
This guarantees that the background image and the overview image are a power of 2 so that it always binds to the texture (shouldn't be necessary, and I am going to actually report this to luma.gl soon but for now this will gives us an ironclad guarantee).  This is necessary for the CCF-UI which uses picture-in-picture extensively.
cc @bherr2

I agree about this.  Luckily this is reversible once the underlying issue is fixed (i.e we're not tied to some version of some pipeline) and I haven't seen any performance issues so far, which makes sense to me since this only happens at most twice per image.  If it becomes an issue, we can revert for sure.


CUDA out of memory for a single core A100 80G GPU

I encountered the CUDA OOM on a single core A100 80G using your training code? Can i fix this by changing anything?

I encountered the CUDA OOM on a single core A100 80G using your training code? Can i fix this by changing anything?

Can you fix the OOM problem? I ran in to that problem as well using python 3.8 and pytorch 1.13.1，in a single core A100 80G.

Can you fix the OOM problem?I ran on 4 A100 30G and set the batch and epoch to 1 still have the OOM problem

Thanks @dlwh. When switching to two A100 80GB GPUs it worked for me.

Just to swoop in here, if you're using 6.7B or larger, 1 GPU (even an A100) isn't going to be enough without DeepSpeed Zero CPU Offload or Zero Infinity. At a minimum, to fine tune you need 6.7e9 * 4 bytes * 3 = 80.4GB to store parameters and optimizer states (even in mixed precision, you want to store those in fp32)

why *3 ?

Adam, the default optimizer, stores two momentum terms which are each the same size as the parameters themselves, so essentially three copies of the parameters... plus a fourth half-sized one (so, 14 bytes total) for the gradients, and then memory for activations that can range from "not very much" to a lot of extra GB.
2 A100s or Zero CPU offload should fix it right up.

Thanks a lot, 2+ gpus worked fine.

What was the batch size for those who could make it work with 2 A100 80GB GPUs? I have 4 and it fails

For me it also worked with batch size 4 on 2 80GB A100 GPUs for sequence length 512.

That's really strange, the default value for  model_max_length is already 512. With batch_size 1 it takes forever unfortunately


adding-pressure-and-humidity-functionality

Related to #25
Waiting for a feedback and other requirements to fix.

You did it - great code. Now you need to think about how to correctly display the data that you displayed in the mobile and tablet versions.
That is, now we have a problem - in the mobile and tablet versions we have a clutter of data, which will not be very convenient for the user to view (just look for yourself).
For now it's just a little tinkering with Tailwind.
This issue affects both the home page with city cards and the geolocation page. Don't forget to look for different screen extensions on each page.

Also you must create your personal branch, for example feat/DEV-pressure-and-humidity-functionality. No mian branch. Commit example feat: add pressure-and-humidity-functionality. Soon I'll write rules branches and commits naming in the guide.


ReactDOM failed to load

Opening the index.html file in the chromium browser throws the following error:
Uncaught TypeError: Cannot read property 'create' of undefined
    at PS.ReactDOM (index.js:2844)
    at index.js:2846

Is this using PS 0.10.6? If so, it's probably due to a compiler bug which was fixed in the 0.10.7 release (which was released today).

Yes. psc --version tells me it's 0.10.6

works with 0.10.7


raw, bvh node data to upload to the gpu

I am currently workin on a raytrcer in opengl, do ou have a api to get the raw bvh node data (and any other essential data) to be uploaded to the gpu as a ssbo ?

For a Bvh bvh, the node data is simply bvh.nodes.get(). For indices, use bvh.indices.get(). There are no pointers, only indices, so it is suitable to use directly without any other operation. The BVH only holds the node count, the index count is a client-provided piece of information, so it is not kept in the BVH (there are as many indices as there are primitives in the BVH). Please re-open if that does not answer your question.


Set $PATH in Makefile

The main thing is PATH := $(shell npm bin):$(PATH).
:= is different from = because := is not recursive and = is.
So we can replace lines like $(ESLINT) with just eslint and remove strings like ESLINT = $(NB)/eslint and NB = ./node_modules/.bin :-)
@olegakbarov Would you like to fix it?

Probably we'd better to hardcode PATH := ./node_modules/.bin:$(PATH).
npm bin is too slow.

Other paths should probably use := instead of =.

Awesome, go for it.

@olegakbarov Would you like to fix it?

No, thank you kindly.

I just don't want to take pleasure of fixing it from you. I gotta appreciate that.

@olegakbarov Such a great care :-P


Fix/slot hashes

This is ready for review I think.

Oh and add the PR# to the changelog please.

I'll get around to this, just haven't had the time.

Well, given Nathaniel's comments I don't even know what to do anymore.  :/ seems like we're digging ourselves deeper.

So I’m closing this and we’ll go the other way: break it on non-slots too eventually 🎉  so the behavior is consistent with Python’s.


Added a count-only optimisation to QuickwitCollector

Related to #5032

I think we can reuse the same code we use for the _field_caps api.
The check in is_metadata_count_request is probably returning false but shouldn't

@PSeitz can we close this? Are all of the optimization suggested in this PR shipped in other PRs?

Everything except the term query count special case, which I'm not sure we need


add more info on the validator when jailed

@kerto07 Hi! Please send example for stdout (current and planned)
Thank you!

Here is an example of stdout:
current: P-OPS Team is no longer active: validator is jailed
planned: P-OPS Team is no longer active: validator nillionvaloper... is jailed for chainid nillion-chain-testnet-1


What can be done to create a null safe version of library?

And how can I help?

This is a duplicate of #734

flutter_blue:
git:
url: https://github.com/spiderion/flutter_blue_null_safety


How to get device token?

NSString *const DeviceTokenKey = @"DeviceToken";
NSString *const CognitoDeviceTokenKey = @"CognitoDeviceToken";
NSString *const CognitoPushNotification = @"CognitoPushNotification";

How to get these values from the Amazon Cognito Console? I failed to find them

These values do no not need to be changed in order to use the sample. My apologies for any confusion.

Thanks but my sample still doesn't work, it shows me this error when I tried to build and run
ld: library not found for -lPods-AWSCognitoSync
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It sounds like you are opening the .xcodeproj file and not the .xcworkspace file. When using cocoapods you must always open the workspace file.

It works now! And one more question, in the cognito sync demo, step 5 it said set the app name to the app name in the server side application, does the server side application's name mean the identity pool's name?

Step 5 is only necessary if you want to use our example authentication backend, which is available in its own repo with documentation. The appname in the iOS sample should match the appname in the server authentication sample.

Thanks :)


[Error] Downloading stash for Talisman, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues

What do I do now?

I need your debuginfo.log in order to help, but most likely 1.9.7-RC1 will fix the issue:
https://github.com/Stickymaddness/Procurement/releases/tag/1.9.8-RC1


operator: investigate whether schema can enforce immutability

The current approach for making pmemPercentage and labels immutable (allow user to change them, then revert back) is clunky, hard to implement and leads to a poor user experience. Is it really not possible to mark fields in a CRD as immutable?

Answer on Slack: currently this is not possible.
This PR will add it: https://github.com/kubernetes/kubernetes/pull/83743

We no longer need this because we switched to allowing modification of all fields (PR #623). If we need it again, we should use an admission webhook.


Add support for AWS Bedrock

AWS Bedrock now supports many model types and provides convenient model hosting for enterprises. It would be great if Verba could support this out of the box.

This is becoming necessary for our company. I could take this issue, write the code for it and open a PR.
Would just need to check contributing guidelines.

Great idea! We're looking into that for the next Verba update

We decided to not include it for the next release, but feel free to create a PR! I'll pause this for now


validate project name on aiken new

We should check that project name doesn't contain aiken and a few other things I will list later.

Could I pick this one?

@vh-zuka yea


wForgottenReturn can't be set with environment

It says the wForgottenReturn can be set alone.
But i tried the following ways, still got the Warning: a promise was created in a  handler but was not returned from it warning.
    BLUEBIRD_WARNINGS=1 BLUEBIRD_W_FORGOTTEN_RETURN=0 node app.js

    BLUEBIRD_W_FORGOTTEN_RETURN=0 node app.js

You are probably getting the warning from a version of bluebird that doesn't recognize the flag. Make sure all bluebird instances used in the app (by other libraries) also are using the version that recognized the flag.


[Doc] Allow user to navigate through older release notes

Right now user has to click on the release tag and browse the docs folder to navigate older release docs as mentioned below.
Link: http://vmware.github.io/docker-volume-vsphere/documentation/
Documentation Version
The documentation here is for the latest release. The current master documentation can be found in jekyll/markdown format in jekyll-docs folder. For older releases, browse to releases select the release, click on the tag for the release and browse the docs folder.

Action item: would be better to have drop-down selection box which refers older releases e.g. https://docs.docker.com/engine/userguide/

[ ] Update CONTRIBUTING.md document release steps to preserve older release docs (while cutting the release move current latest serving document pages to release tag and new document changes should be referred by latest tag like we do for pulling plugin image latest and 0.16).

[ ] Have combo-box (drop-down box) on the index.html which allows user to navigate through various release documents (e.g. docker doc website)

/CC @tusharnt

Keeping P1, base document version should be 1.0 (GA) and drop-down should show two items vDVS 1.0 & vDVS latest

we can do something following mentioned at #1370
"add http://vmware.github.io/docker-volume-vsphere/documentation/latest web site which updates nightly from master. Keep http://vmware.github.io/docker-volume-vsphere/documentation or http://vmware.github.io/docker-volume-vsphere/documentation/stable web site as the one which updates on release, from the tagged source.  "  --- Mark (Thanks to @msterin )

this is good to have but not mustfix for kubecon release


Matchmaker not finding any matches after max intervals are finished in Nakama 3.11.0

Description
I was testing Nakama 3.11.0 with some existing applications (that worked fine with Nakama 3.10.0) and found that matchmaking wasn't working. After a bunch of experimentation, I figured out that it had to do with the 'interval_sec' and 'max_intervals' configuration.
On my local development machine, I had this in my config.yaml:
matchmaker:
  interval_sec: 1
  max_intervals: 1

... so that it will find a match super fast during local testing. I've been using these settings locally since at least 3.4.0, but maybe even earlier.
Anyway, with these settings, a match would only be found if the two clients joined the matchmaking queue within ~1 second of each other! Otherwise, they wait forever, and no match would ever be found.
I tried making those values larger, for example, using an 'interval_sec' of 3 and 'max_intervals' of 1, and then a match would be made if both clients joined the matchmaking queue within less than ~3 seconds of each other.
I suspect that some boolean logic somewhere in Nakama got reversed? Because after the max intervals are done, it should make a match out of any valid users in the queue over the minimum (as opposed to holding out for the maximum), whereas it seems to not make any matches at all after the intervals are done. However, I'm just going off the behavior I'm seeing in my testing, I haven't actually examined the source code.
Steps to Reproduce

Create a config.yml with the following settings:matchmaker:
  interval_sec: 1
  max_intervals: 1

Start one client that adds the user to matchmaking
Wait a few seconds
Start another client that adds the user to matchmaking

Expected Result
A match with both users will be found!
(Note: This is what will happen when using Nakama 3.4.0 through 3.10.0, and maybe even earlier, but I didn't test any earlier)
Actual Result
No match is ever found.
Context
I did all my testing with the latest 'master' branch of the Godot client.
Your Environment

Nakama: 3.11.0
Database: CockroachDB v20.2.19
Environment name and version: Docker 20.10.8
Operating System and version: Ubuntu 20.04

@dsnopek Can you share the min, max, properties, and filter that each of the users had set? Also please try with max_intervals: 2 and let us know if the behaviour changes.


Preserve new lines in message when sharing to WhatsApp

When sharing to WhatsApp using Share.share in iOS, new line characters were converted to spaces.
Related SO question:
https://stackoverflow.com/questions/30255923/uiactivityviewcontroller-not-passing-new-line-characters-to-some-activities
By using a custom UIActivityItemProvider to convert \n to <br/> when WhatsApp was selected, we could send multi-line messages to WhatsApp.
** Test

Share a multi-line message:
Share.share({ message: 'Line1\nLine2' });

Select WhatsApp from the action sheet then select a recipient

The message should consist of two lines

I don't think we should have WhatsApp specific code in the RN core. Can you find a way to make this check more generic?

Most ideally, the API could provide a callback to allow tailoring the message when an activity type is chosen.

Instead of having hard-coded activity type, I think we could use a map to provide different message targeting different app.
So the code in the JS side would be like:
Share.share({
  message, // the default message
  customMessage: [
    { types: ['type1', 'type2'], message: customizedMessage1 },
    { types: ['type3', 'type*'], message: customziedMessage2 }, // simple prefix match supported
  ]
});


fix: Avalonia version bump was missing 2023 Acad and Civil projects

Description

Bumps version of Acad and Civil 2023 projects to Avalonia 0.10.16

Type of change

Breaking change (fix or feature that would cause existing functionality to not work as expected)

Potentially breaking in some ways, requires further testing in the release.

Ok, sounds like these projects were missing from All.sln


support a gridless mode

"gridless" supports ".secondary", ".contrast", and ".outline", but removes ".grid" and ".container" and ".container-fluid", and then uses the classless method for supporting .container.  I could also make a gridless-fluid if desired.
Note I've also removed the --grid variables from classless, since they're pointless in that mode.

Another idea might be to just add the $enable-grid variable but no new variant.  this way other people can use it in their own variant if they want, without causing an explosion of built-in variants.

@jubishop,
I like the introduction of the $enable-grid var.
It could be helpful.
But I don't think I will keep pico.gridless.scss as we already have too many variations.
I already somewhat regret pico.slim.scss as it makes the library heavier and more complex.
And I can't remove it now to avoid an unnecessary breaking change.
These variations would make more sense in @picocss/examples.
The perfect feature would be to have a "customizer/generator" for Pico. Like this example for Bootstrap.
I will also probably slightly edit the comments.
I keep this PR open and will edit it in a few days.

Makes perfect sense to me.  Thanks again for your time maintaining this excellent library!


SystemVerilog streaming operator causes segmentation fault

Here is the example code, I do not have a small example yet.
// bit reversal
function automatic logic [XLEN-1:0] bitrev (logic [XLEN-1:0] val);
`ifdef LANGUAGE_UNSUPPORTED_STREAM_OPERATOR
  for (int unsigned i=0; i<XLEN; i++)  bitrev[i] = val[XLEN-1-i];
`else
  bitrev = {<<{val}};
`endif
endfunction: bitrev

Could you link me to some kind of instructions on how to add a test to official regression tests, so I could prepare a pull request wit a new testcase?
The code crashes if the macro is not defined. This is just a part of the output just to give some indication at which stage the crash occured.
...
[  FATAL] : 0
[ SYNTAX] : 0
[  ERROR] : 0
[WARNING] : 9
[   NOTE] : 6
Warning: Removing unused module: \r5p_wbu from the design.
Warning: Removing unused module: \r5p_lsu from the design.
Warning: Removing unused module: \r5p_bru from the design.
Warning: Removing unused module: \r5p_gpr from the design.
Warning: Removing unused module: \r5p_core from the design.
Generating RTLIL representation for module `\r5p_alu'.
Segmentation fault (core dumped)

This code works correctly in Verilator, I synthesized it with Vivado, but I have not tested the build, Quartus does not support streaming operators.

This is completely supported in Surelog. Issue is in the Yosys plugin/Yosys.

OK, I thought it was a plugin issue, since I only executed the read_systemverilog ... -parse ... command.

Steps to reproduce the issue:
git clone https://github.com/jeras/UHDM-tests
cd UHDM-tests
../yosys-uhdm-plugin-integration/image/bin/yosys -s build_reverse.tcl

The output is:
$ ../rp32/submodules/yosys-uhdm-plugin-integration/image/bin/yosys -s build_reverse.tcl

 /----------------------------------------------------------------------------\
 |                                                                            |
 |  yosys -- Yosys Open SYnthesis Suite                                       |
 |                                                                            |
 |  Copyright (C) 2012 - 2020  Claire Xenia Wolf<EMAIL_ADDRESS>       |
 |                                                                            |
 |  Permission to use, copy, modify, and/or distribute this software for any  |
 |  purpose with or without fee is hereby granted, provided that the above    |
 |  copyright notice and this permission notice appear in all copies.         |
 |                                                                            |
 |  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES  |
 |  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF          |
 |  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR   |
 |  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    |
 |  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     |
 |  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   |
 |  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            |
 |                                                                            |
 \----------------------------------------------------------------------------/

 Yosys 0.16+65 (git sha1 52d8ddee0, gcc 9.4.0-1ubuntu1~20.04.1 -fPIC -Os)

-- Executing script file `build_reverse.tcl' --

1. Executing Verilog with UHDM frontend.
[INF:CM0023] Creating log file ./slpp_all/surelog.log.

[WRN:PA0205] test_reverse.sv:1:1: No timescale set for "test_reverse".

[INF:CP0300] Compilation...

[INF:CP0303] test_reverse.sv:1:1: Compile module "work@test_reverse".

[INF:CP0302] Compile class "work@mailbox".

[INF:CP0302] Compile class "work@process".

[INF:CP0302] Compile class "work@semaphore".

[INF:EL0526] Design Elaboration...

[NTE:EL0503] test_reverse.sv:1:1: Top level module "work@test_reverse".

[NTE:EL0508] Nb Top level modules: 1.

[NTE:EL0509] Max instance depth: 1.

[NTE:EL0510] Nb instances: 1.

[NTE:EL0511] Nb leaf instances: 1.

[INF:UH0706] Creating UHDM Model...

[  FATAL] : 0
[ SYNTAX] : 0
[  ERROR] : 0
[WARNING] : 1
[   NOTE] : 5
Generating RTLIL representation for module `\test_reverse'.
Segmentation fault (core dumped)

I forgot to commit/push the script the last time, it is now in the repo.

Thanks for your report, we've reproduced the issue and started investigating the cause.
For the regression tests, they are located in UHDM-Integration repository. You can just copy one of the test folders and adjust the files inside. For running the regression tests in Yosys, see the readme in that repository. It assumes that you have built yosys from the Yosys-Systemverilog repository, but you can provide your own YOSYS_BIN (see here).

I created my first pull request with this simple test, please have a look.
When this goes through I will move to the other tests.

@jeras, which pull request? Please add a link to it here.

Sorry, I was distracted by Github already linking it into the conversation above.
https://github.com/chipsalliance/UHDM-integration-tests/pull/693

Fixed. The test https://github.com/jeras/UHDM-integration-tests/commit/87d736de151f3dd13ec360cfd1a793dba3cd2c56 passes formal verification at this moment.


Can't get cache-handler to work

What happened?
I want to do some HTTP caching to make API faster. My final point is to use 103 Early Hints + HTTP cache on reverse proxy side with invalidation via Souin API.
According to the docs, i need to rebiuld FrankenPHP Docker image to include cache-handler module there, and one of available storage drivers. Then I need to do some configuration in Caddy and api_platform and then it should work.
What i've made:

Changed Dockerfile.
# Dockerfile continues

One difference from the docs is additional Otter storage module.

Caddyfile updated. Added global option cache with some config and cache option in my application config. My full featured, minimal config here:

{

	cache {
		otter
		api {
			souin
		}
		log_level debug
	}

	order vulcain after reverse_proxy
	order php_server before file_server
}

# API Platform application
api.{$DOMAIN}, http://localhost {

	cache
	vulcain

	header ?Permissions-Policy "browsing-topics=()"

	php_server
}

# Frontend web application on React behind proxy
{$DOMAIN} {
	reverse_proxy http://web:3000
}

The only one thing here, not highlighted in docs - is otter storage configured. I believe, that it's zero-config in-memory storage, which just should work.

API Platform config updated. Added configuration for cache purger:

api_platform:
  http_cache:
    invalidation:
      urls: [ 'http://localhost/souin-api/souin' ]
      purger: api_platform.http_cache.purger.souin

Added cache headers for one of my ApiResource's operation:

#[ORM\Entity(repositoryClass: IconRepository::class)]
#[ApiResource(
    operations: [
        new Get(
            cacheHeaders: [
                'public' => true,
                'max_age' => 30,
                'shared_max_age' => 60,
                'stale_while_revalidate' => 100,
                'vary' => ['Content-Type', 'Accept', 'Origin']
            ],
        ),
        new GetCollection(),
        new Post(),
        new Patch(
            denormalizationContext: ['groups' => ['Icon:update']]
        ),
    ]
)]
class Icon
{
// ...
}

After that, http caching started to work. Cache headers are present in responses from reverse proxy and seems to be ok. On the first hit by operation it shows cache miss, and declares cache lifetime, status 200 Ok

On the second hit it shows cache ttl, cache storage, etc. Statud 304 Not Modified.

Quite ok .... but ... there are some symptoms showing it not work properly:

I can't see s-maxage in response (I don't really know, maybe i shouldn't). My Vary headers in config differs from Vary headers in response.

In Caddy (FrankenPHP) logs i can see some strange stuff:

On the first hit by operation after Caddy startup i see error, that key cannot be found in Otter:
api-1            | 2024/10/04 12:24:12.128	ERROR	storages.cache.otter	Impossible to get the mapping key IDX_GET-https-api.****.***-/icons/1 in Otter
api-1            | 2024/10/04 12:24:13.920	ERROR	storages.cache.otter	Impossible to get the key SURROGATE_https://api.****.***/icons/1 in Otter
api-1            | 2024/10/04 12:24:13.920	ERROR	storages.cache.otter	Impossible to get the key SURROGATE_/icons/1 in Otter

On every 304 response logs not producing any output.
On every cache miss (200 Ok) i can see the following error from FrankenPHP:
api-1            | 2024/10/04 12:25:04.863	ERROR	the current responseWriter is not a flusher	{"error": "feature not supported"}

According to Souin documentation, there is a way to check all cached keys via API. It metioned here

I'm expecting, that when i calling GET http://localhost/souin-api/souin or GET http://localhost/souin-api/souin/surrogate_keys, it will respond me the list of stored cache keys.
Calling this request with curl from inside a container returns empty list with 200 Ok:
root@40efb759dfd5:/app# curl -v http://localhost/souin-api/souin
*   Trying <IP_ADDRESS>:80...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> GET /souin-api/souin HTTP/1.1
> Host: localhost
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Permissions-Policy: browsing-topics=()
< Server: Caddy
< Date: Fri, 04 Oct 2024 11:55:10 GMT
< Content-Length: 2
<
* Connection #0 to host localhost left intact
[]

The most important part for me - Invalidation API seems not working. I modify an icon ApiResource with PATCH query, or create the new one. ApiPlatform really call the souin api PURGE http://localhost/souin-api/souin, but it has no effect, as i see. Cache isn't invalidated, and reverse proxy continues to respond with 304 Not Modified after invalidation request from purger.

I tried to call curl requests to PURGE by myself:
root@40efb759dfd5:/app# curl -v -X PURGE http://localhost/souin-api/souin/IDX_GET-https-api.****.***-/icons/1
*   Trying <IP_ADDRESS>:80...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> PURGE /souin-api/souin/IDX_GET-https-api.****.***-/icons/1 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 204 No Content
< Permissions-Policy: browsing-topics=()
< Server: Caddy
< Date: Fri, 04 Oct 2024 12:29:50 GMT
<
* Connection #0 to host localhost left intact

Same result with all my surrogate keys for that operation.
Also i tried to change cache storage to badger instead of otter:
{
	cache {
		badger {
			path /data/badger
		}
		api {
			souin
		}
		log_level debug
	}
}

It behaves similarly except it not spam in logs with message "Impossible to get the mapping key", like Otter. Badger storage creates configured folder inside docker container, there are some database file in there.

Trying <IP_ADDRESS>:80...
Connected to localhost (<IP_ADDRESS>) port 80 (#0)

GET /souin-api/souin HTTP/1.1
Host: localhost
User-Agent: curl/7.88.1
Accept: /

< HTTP/1.1 200 OK
< Content-Type: application/json
< Permissions-Policy: browsing-topics=()
< Server: Caddy
< Date: Fri, 04 Oct 2024 12:44:06 GMT
< Content-Length: 279
<

Connection #0 to host localhost left intact
["GET-https-api.*.-/icons/1{-VARY-}Accept:text%2Fhtml%2Capplication%2Fxhtml%2Bxml%2Capplication%2Fxml%3Bq%3D0.9%2Cimage%2Favif%2Cimage%2Fwebp%2Cimage%2Fapng%2C%2A%2F%2A%3Bq%3D0.8%2Capplication%2Fsigned-exchange%3Bv%3Db3%3Bq%3D0.7;Content-Type:;Authorization:;Origin:"]

BTW. If i call PURGE after that and GET /souin-api/souin again, the key is still exists. Maybe i use PURGE request not very properly.

And again, i see FrenkenPHP errors on every cache miss response

api-1            | 2024/10/04 12:44:04.798	ERROR	the current responseWriter is not a flusher	{"error": "feature not supported"}

So, I see one error, which i can't understood, and possibly it's a signal to non working cache-handler inside FrankenPHP environment.
I try to figure out, where the problem is - inside FrankenPHP, or inside Souin. And the main question, what should i do to fix that behavior.

And probably another one problem with Otter, which is relevant, but not bother me.

Thank you!

### Build Type

Docker (Debian Bookworm)

### Worker Mode

No

### Operating System

macOS

### CPU Architecture

Apple Silicon

### PHP configuration

```shell
root@4c566d2e930b:/app# php -i
phpinfo()
PHP Version => 8.3.12

System => Linux 4c566d2e930b 6.10.4-linuxkit #1 SMP Mon Aug 12 08:47:01 UTC 2024 aarch64
Build Date => Sep 27 2024 06:07:53
Build System => Linux - Docker
Build Provider => https://github.com/docker-library/php
Configure Command =>  './configure'  '--build=aarch64-linux-gnu' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--with-pic' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-pdo-sqlite=/usr' '--with-sqlite3=/usr' '--with-curl' '--with-iconv' '--with-openssl' '--with-readline' '--with-zlib' '--enable-phpdbg' '--enable-phpdbg-readline' '--with-pear' '--with-libdir=lib/aarch64-linux-gnu' '--enable-embed' '--enable-zts' '--disable-zend-signals' 'build_alias=aarch64-linux-gnu'
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed => /usr/local/etc/php/conf.d/app.dev.ini,
/usr/local/etc/php/conf.d/app.ini,
/usr/local/etc/php/conf.d/docker-php-ext-apcu.ini,
/usr/local/etc/php/conf.d/docker-php-ext-imagick.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xsl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini

PHP API => 20230831
PHP Extension => 20230831
Zend Extension => 420230831
Zend Extension Build => API420230831,TS
PHP Extension Build => API20230831,TS
Debug Build => no
Thread Safety => enabled
Thread API => POSIX Threads
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
Zend Max Execution Timers => enabled
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
Registered Stream Filters => zlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk

This program makes use of the Zend Scripting Language Engine:
Zend Engine v4.3.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.12, Copyright (c), by Zend Technologies
    with Xdebug v3.3.2, Copyright (c) 2002-2024, by Derick Rethans

 _______________________________________________________________________

Configuration

apcu

APCu Support => Enabled
Version => 5.1.24
APCu Debugging => Disabled
MMAP Support => Enabled
MMAP File Mask =>
Serialization Support => php
Build Date => Oct  4 2024 12:40:16

Directive => Local Value => Master Value
apc.coredump_unmap => Off => Off
apc.enable_cli => On => On
apc.enabled => On => On
apc.entries_hint => 4096 => 4096
apc.gc_ttl => 3600 => 3600
apc.mmap_file_mask => no value => no value
apc.preload_path => no value => no value
apc.serializer => php => php
apc.shm_segments => 1 => 1
apc.shm_size => 32M => 32M
apc.slam_defense => Off => Off
apc.smart => 0 => 0
apc.ttl => 0 => 0
apc.use_request_time => Off => Off

Core

PHP Version => 8.3.12

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_log_mode => 0644 => 0644
error_prepend_string => no value => no value
error_reporting => 32767 => 32767
expose_php => Off => Off
extension_dir => /usr/local/lib/php/extensions/no-debug-zts-20230831 => /usr/local/lib/php/extensions/no-debug-zts-20230831
fiber.stack_size => no value => no value
file_uploads => On => On
hard_timeout => 2 => 2
highlight.comment => #FF8000 => #FF8000
highlight.default => #0000BB => #0000BB
highlight.html => #000000 => #000000
highlight.keyword => #007700 => #007700
highlight.string => #DD0000 => #DD0000
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/local/lib/php => .:/usr/local/lib/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
mail.add_x_header => Off => Off
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
mail.mixed_lf_and_crlf => Off => Off
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
max_multipart_body_parts => -1 => -1
memory_limit => 128M => 128M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 1000M => 1000M
precision => 14 => 14
realpath_cache_size => 4096K => 4096K
realpath_cache_ttl => 600 => 600
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
serialize_precision => -1 => -1
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sys_temp_dir => no value => no value
syslog.facility => LOG_USER => LOG_USER
syslog.filter => no-ctrl => no-ctrl
syslog.ident => php => php
unserialize_callback_func => no value => no value
upload_max_filesize => 1000M => 1000M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => GPCS => GPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => 1 => 1
zend.detect_unicode => Off => Off
zend.enable_gc => On => On
zend.exception_ignore_args => Off => Off
zend.exception_string_param_max_len => 15 => 15
zend.max_allowed_stack_size => 0 => 0
zend.multibyte => Off => Off
zend.reserved_stack_size => 0 => 0
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.88.1
Age => 10
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => Yes
GSSAPI => Yes
KERBEROS5 => Yes
UNIX_SOCKETS => Yes
PSL => Yes
HTTPS_PROXY => Yes
MULTI_SSL => No
BROTLI => Yes
ALTSVC => Yes
HTTP3 => No
UNICODE => No
ZSTD => Yes
HSTS => Yes
GSASL => No
Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtmpe, rtmps, rtmpt, rtmpte, rtmpts, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
Host => aarch64-unknown-linux-gnu
SSL Version => OpenSSL/3.0.14
ZLib Version => 1.2.13
libSSH Version => libssh2/1.10.0

Directive => Local Value => Master Value
curl.cainfo => no value => no value

date

date/time support => enabled
timelib version => 2022.10
"Olson" Timezone Database Version => 2024.2
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.833333 => 90.833333
date.sunset_zenith => 90.833333 => 90.833333
date.timezone => UTC => UTC

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.9.14
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

fileinfo

fileinfo support => enabled
libmagic => 543

filter

Input Validation and Filtering => enabled

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => glibc
iconv library version => 2.36

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

imagick

imagick module => enabled
imagick module version => 3.7.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
Imagick using ImageMagick library version => ImageMagick 6.9.11-60 Q16 aarch64 2021-01-25 https://imagemagick.org
ImageMagick copyright => (C) 1999-2021 ImageMagick Studio LLC
ImageMagick release date => 2021-01-25
ImageMagick number of supported formats:  => 247
ImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV

Directive => Local Value => Master Value
imagick.allow_zero_dimension_images => 0 => 0
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 1 => 1
imagick.shutdown_sleep_count => 10 => 10
imagick.skip_version_check => 0 => 0

intl

Internationalization support => enabled
ICU version => 72.1
ICU Data version => 72.1
ICU TZData version => 2022e
ICU Unicode version => 15.0

Directive => Local Value => Master Value
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => Off => Off

json

json support => enabled

libxml

libXML support => active
libXML Compiled Version => 2.9.14
libXML Loaded Version => 20914
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 6.9.8

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.regex_retry_limit => 1000000 => 1000000
mbstring.regex_stack_limit => 100000 => 100000
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

mysqlnd

mysqlnd => enabled
Version => mysqlnd 8.3.12
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 86400
Collecting statistics => Yes
Collecting memory statistics => Yes
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
API Extensions => pdo_mysql

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 3.0.14 4 Jun 2024
OpenSSL Header Version => OpenSSL 3.0.14 4 Jun 2024
Openssl default config => /usr/lib/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 10.42 2022-12-12
PCRE Unicode Version => 14.0.0
PCRE JIT Support => enabled
PCRE JIT Target => ARM-64 64bit (little endian + unaligned)

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => On => On
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => sqlite, mysql

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 8.3.12

Directive => Local Value => Master Value
pdo_mysql.default_socket => no value => no value

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.40.1

Phar

Phar: PHP Archive support => enabled
Phar API version => 1.1.1
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => disabled (install ext/bz2)
Native OpenSSL support => enabled

Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

posix

POSIX support => enabled

random

Version => 8.3.12

readline

Readline Support => enabled
Readline library => 8.2

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \>

Reflection

Reflection => enabled

session

Session Support => enabled
Registered save handlers => files user
Registered serializer handlers => php_serialize php php_binary

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => Off => Off
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => no value => no value
session.serialize_handler => php => php
session.sid_bits_per_character => 5 => 5
session.sid_length => 26 => 26
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => On => On
session.use_trans_sid => Off => Off

SimpleXML

SimpleXML support => enabled
Schema support => enabled

sodium

sodium support => enabled
libsodium headers version => 1.0.18
libsodium library version => 1.0.18

SPL

SPL support => enabled
Interfaces => OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 support => enabled
SQLite Library => 3.40.1

Directive => Local Value => Master Value
sqlite3.defensive => On => On
sqlite3.extension_dir => no value => no value

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i

Directive => Local Value => Master Value
assert.active => On => On
assert.bail => Off => Off
assert.callback => no value => no value
assert.exception => On => On
assert.warning => On => On
auto_detect_line_endings => Off => Off
default_socket_timeout => 60 => 60
from => no value => no value
session.trans_sid_hosts => no value => no value
session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form=
unserialize_max_depth => 4096 => 4096
url_rewriter.hosts => no value => no value
url_rewriter.tags => form= => form=
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

xdebug

__   __   _      _
\ \ / /  | |    | |
 \ V / __| | ___| |__  _   _  __ _
  > < / _` |/ _ \ '_ \| | | |/ _` |
 / . \ (_| |  __/ |_) | |_| | (_| |
/_/ \_\__,_|\___|_.__/ \__,_|\__, |
                              __/ |
                             |___/

Version => 3.3.2
Support Xdebug on Patreon, GitHub, or as a business: https://xdebug.org/support

          Enabled Features (through 'XDEBUG_MODE' env variable)
Feature => Enabled/Disabled
Development Helpers => ✔ enabled
Coverage => ✘ disabled
GC Stats => ✘ disabled
Profiler => ✘ disabled
Step Debugger => ✔ enabled
Tracing => ✘ disabled

                            Optional Features
Compressed File Support => no
Clock Source => clock_gettime
'xdebug://gateway' pseudo-host support => yes
'xdebug://nameserver' pseudo-host support => yes
Systemd Private Temp Directory => not enabled

Debugger => enabled
IDE Key =>

Directive => Local Value => Master Value
xdebug.auto_trace => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.cli_color => 0 => 0
xdebug.client_discovery_header => HTTP_X_FORWARDED_FOR,REMOTE_ADDR => HTTP_X_FORWARDED_FOR,REMOTE_ADDR
xdebug.client_host => host.docker.internal => host.docker.internal
xdebug.client_port => 9003 => 9003
xdebug.cloud_id => no value => no value
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => (setting removed in Xdebug 3) => (setting removed in Xdebug 3)
xdebug.collect_params => On => On
xdebug.collect_return => Off => Off
xdebug.collect_vars => (setting removed in Xdebug 3) => (setting removed in Xdebug 3)
xdebug.connect_timeout_ms => 200 => 200
xdebug.control_socket => time: 25ms => time: 25ms
xdebug.coverage_enable => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.default_enable => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.discover_client_host => Off => Off
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
xdebug.dump.FILES => no value => no value
xdebug.dump.GET => no value => no value
xdebug.dump.POST => no value => no value
xdebug.dump.REQUEST => no value => no value
xdebug.dump.SERVER => no value => no value
xdebug.dump.SESSION => no value => no value
xdebug.dump_globals => On => On
xdebug.dump_once => On => On
xdebug.dump_undefined => Off => Off
xdebug.file_link_format => javascript: var r = new XMLHttpRequest; r.open("get", "http://localhost:63342/api/file/%f:%l");r.send() => javascript: var r = new XMLHttpRequest; r.open("get", "http://localhost:63342/api/file/%f:%l");r.send()
xdebug.filename_format => no value => no value
xdebug.force_display_errors => Off => Off
xdebug.force_error_reporting => 0 => 0
xdebug.gc_stats_enable => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.gc_stats_output_dir => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.gc_stats_output_name => gcstats.%p => gcstats.%p
xdebug.halt_level => 0 => 0
xdebug.idekey => no value => no value
xdebug.log => no value => no value
xdebug.log_level => 7 => 7
xdebug.max_nesting_level => 512 => 512
xdebug.max_stack_frames => -1 => -1
xdebug.mode => develop => develop
xdebug.output_dir => /tmp => /tmp
xdebug.overload_var_dump => (setting removed in Xdebug 3) => (setting removed in Xdebug 3)
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.profiler_enable_trigger => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.profiler_enable_trigger_value => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.profiler_output_dir => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p
xdebug.remote_autostart => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_connect_back => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_enable => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_host => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_log => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_log_level => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_mode => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_port => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.remote_timeout => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.scream => Off => Off
xdebug.show_error_trace => Off => Off
xdebug.show_exception_trace => Off => Off
xdebug.show_local_vars => Off => Off
xdebug.show_mem_delta => (setting removed in Xdebug 3) => (setting removed in Xdebug 3)
xdebug.start_upon_error => default => default
xdebug.start_with_request => default => default
xdebug.trace_enable_trigger => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.trace_enable_trigger_value => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.trigger_value => no value => no value
xdebug.use_compression => 0 => 0
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.9.14

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

xsl

XSL => enabled
libxslt Version => 1.1.35
libxslt compiled against libxml Version => 2.9.14
EXSLT => enabled
libexslt Version => 0.8.20

Zend OPcache

Opcode Caching => Disabled
Optimization => Disabled
SHM Cache => Enabled
File Cache => Disabled
JIT => On
Startup Failed => Opcode Caching is disabled for CLI

Directive => Local Value => Master Value
opcache.blacklist_filename => no value => no value
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => Off => Off
opcache.enable_file_override => On => On
opcache.error_log => no value => no value
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => On => On
opcache.file_cache_only => Off => Off
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.interned_strings_buffer => 16 => 16
opcache.jit => tracing => tracing
opcache.jit_bisect_limit => 0 => 0
opcache.jit_blacklist_root_trace => 16 => 16
opcache.jit_blacklist_side_trace => 8 => 8
opcache.jit_buffer_size => 0 => 0
opcache.jit_debug => 0 => 0
opcache.jit_hot_func => 127 => 127
opcache.jit_hot_loop => 64 => 64
opcache.jit_hot_return => 8 => 8
opcache.jit_hot_side_exit => 8 => 8
opcache.jit_max_exit_counters => 8192 => 8192
opcache.jit_max_loop_unrolls => 8 => 8
opcache.jit_max_polymorphic_calls => 2 => 2
opcache.jit_max_recursive_calls => 2 => 2
opcache.jit_max_recursive_returns => 2 => 2
opcache.jit_max_root_traces => 1024 => 1024
opcache.jit_max_side_traces => 128 => 128
opcache.jit_max_trace_length => 1024 => 1024
opcache.jit_prof_threshold => 0.005 => 0.005
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 20000 => 20000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 256 => 256
opcache.opt_debug_level => 0 => 0
opcache.optimization_level => 0 => 0x7FFEBFFF
opcache.preferred_memory_model => no value => no value
opcache.preload => no value => no value
opcache.preload_user => no value => no value
opcache.protect_memory => Off => Off
opcache.record_warnings => Off => Off
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 2 => 2
opcache.revalidate_path => Off => Off
opcache.save_comments => On => On
opcache.use_cwd => On => On
opcache.validate_permission => Off => Off
opcache.validate_root => Off => Off
opcache.validate_timestamps => On => On

zip

Zip => enabled
Zip version => 1.22.3
Libzip version => 1.7.3
BZIP2 compression => Yes
XZ compression => No
ZSTD compression => No
AES-128 encryption => Yes
AES-192 encryption => Yes
AES-256 encryption => Yes

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.13
Linked Version => 1.2.13

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
AWS_S3_ENDPOINT => http://s3.****.***
MERCURE_SUBSCRIBER_JWT_KEY => mercure_jwt_secret
DATABASE_URL => pdo-mysql://api:api@mysql:3306/api?serverVersion=8.4&charset=utf8mb4
XDEBUG_MODE => develop,debug
AWS_S3_BUCKET_NAME => upload
HOSTNAME => 4c566d2e930b
PHP_VERSION => 8.3.12
PHP_INI_DIR => /usr/local/etc/php
SSH_AUTH_SOCK => /ssh-agent
GPG_KEYS => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
XDG_DATA_HOME => /data
API_DOMAIN => api.****.***
GODEBUG => cgocheck=0
XDG_CONFIG_HOME => /config
PHP_LDFLAGS => -Wl,-O1 -pie
MERCURE_PUBLISHER_JWT_KEY => mercure_jwt_secret
PWD => /app
DOMAIN => ****.***
VERIFICATION_LINK => http://****.***/verifyEmail/?userType=%s&userId=%s&email=%s&hash=%s
CORS_ALLOW_ORIGIN => ^https?://****\.(local|team)
AWS_S3_ACCESS_SECRET => apiapiapi
ACCESS_TOKEN_LIFITIME => 3600
HOME => /root
PHP_IDE_CONFIG => serverName=api.****.***
MERCURE_EXTRA_DIRECTIVES => demo
APP_ENV => dev
AWS_S3_ACCESS_ID => api
TRUSTED_HOSTS => ^api.****.***|localhost|api$
PHP_SHA256 => f774e28633e26fc8c5197f4dae58ec9e3ff87d1b4311cbc61ab05a7ad24bd131
TRUSTED_PROXIES => <IP_ADDRESS>/8,<IP_ADDRESS>/8,<IP_ADDRESS>/12,<IP_ADDRESS>/16
AWS_S3_VERSION => latest
PHPIZE_DEPS => autoconf 		dpkg-dev 		file 		g++ 		gcc 		libc-dev 		make 		pkg-config 		re2c
HTTP_PROTOCOL => http
TERM => xterm
AWS_S3_REGION => us-east-1
PHP_URL => https://www.php.net/distributions/php-8.3.12.tar.xz
LOKALISE_DSN => lokalise://PROJECT_ID:API_KEY@default
REFRESH_TOKEN_LIFITIME => 86400
SMSC_DSN => smsc://LOGIN:PASSWORD@default?from=FROM
SHLVL => 1
COMPOSER_ALLOW_SUPERUSER => 1
PHP_CFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PARENT_REGISTRATION_LINK => http://****.***/newParent/?code=%s&invitation=%s&contact=%s
MERCURE_JWT_SECRET => !ChangeThisMercureHubJWTSecretKey!
MERCURE_URL => https://api.****.***/.well-known/mercure
MAILER_DSN => smtp://mailpit:1025?auto_tls=false
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MERCURE_PUBLIC_URL => https://api.****.***/.well-known/mercure
PHP_ASC_URL => https://www.php.net/distributions/php-8.3.12.tar.xz.asc
MAILER_EMAIL_FROM =><EMAIL_ADDRESS>PHP_CPPFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
APP_SECRET => aa7c04413a18ab542382eb43a554bd24
_ => /usr/local/bin/php

PHP Variables

Variable => Value
$_SERVER['AWS_S3_ENDPOINT'] => http://s3.****.***
$_SERVER['MERCURE_SUBSCRIBER_JWT_KEY'] => mercure_jwt_secret
$_SERVER['DATABASE_URL'] => pdo-mysql://api:api@mysql:3306/api?serverVersion=8.4&charset=utf8mb4
$_SERVER['XDEBUG_MODE'] => develop,debug
$_SERVER['AWS_S3_BUCKET_NAME'] => upload
$_SERVER['HOSTNAME'] => 4c566d2e930b
$_SERVER['PHP_VERSION'] => 8.3.12
$_SERVER['PHP_INI_DIR'] => /usr/local/etc/php
$_SERVER['SSH_AUTH_SOCK'] => /ssh-agent
$_SERVER['GPG_KEYS'] => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
$_SERVER['XDG_DATA_HOME'] => /data
$_SERVER['API_DOMAIN'] => api.****.***
$_SERVER['GODEBUG'] => cgocheck=0
$_SERVER['XDG_CONFIG_HOME'] => /config
$_SERVER['PHP_LDFLAGS'] => -Wl,-O1 -pie
$_SERVER['MERCURE_PUBLISHER_JWT_KEY'] => mercure_jwt_secret
$_SERVER['PWD'] => /app
$_SERVER['DOMAIN'] => ****.***
$_SERVER['VERIFICATION_LINK'] => http://****.***/verifyEmail/?userType=%s&userId=%s&email=%s&hash=%s
$_SERVER['CORS_ALLOW_ORIGIN'] => ^https?://****\.(local|team)
$_SERVER['AWS_S3_ACCESS_SECRET'] => apiapiapi
$_SERVER['ACCESS_TOKEN_LIFITIME'] => 3600
$_SERVER['HOME'] => /root
$_SERVER['PHP_IDE_CONFIG'] => serverName=api.****.***
$_SERVER['MERCURE_EXTRA_DIRECTIVES'] => demo
$_SERVER['APP_ENV'] => dev
$_SERVER['AWS_S3_ACCESS_ID'] => api
$_SERVER['TRUSTED_HOSTS'] => ^api.****.***|localhost|api$
$_SERVER['PHP_SHA256'] => f774e28633e26fc8c5197f4dae58ec9e3ff87d1b4311cbc61ab05a7ad24bd131
$_SERVER['TRUSTED_PROXIES'] => <IP_ADDRESS>/8,<IP_ADDRESS>/8,<IP_ADDRESS>/12,<IP_ADDRESS>/16
$_SERVER['AWS_S3_VERSION'] => latest
$_SERVER['PHPIZE_DEPS'] => autoconf 		dpkg-dev 		file 		g++ 		gcc 		libc-dev 		make 		pkg-config 		re2c
$_SERVER['HTTP_PROTOCOL'] => http
$_SERVER['TERM'] => xterm
$_SERVER['AWS_S3_REGION'] => us-east-1
$_SERVER['PHP_URL'] => https://www.php.net/distributions/php-8.3.12.tar.xz
$_SERVER['LOKALISE_DSN'] => lokalise://PROJECT_ID:API_KEY@default
$_SERVER['REFRESH_TOKEN_LIFITIME'] => 86400
$_SERVER['SMSC_DSN'] => smsc://LOGIN:PASSWORD@default?from=FROM
$_SERVER['SHLVL'] => 1
$_SERVER['COMPOSER_ALLOW_SUPERUSER'] => 1
$_SERVER['PHP_CFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PARENT_REGISTRATION_LINK'] => http://****.***/newParent/?code=%s&invitation=%s&contact=%s
$_SERVER['MERCURE_JWT_SECRET'] => !ChangeThisMercureHubJWTSecretKey!
$_SERVER['MERCURE_URL'] => https://api.****.***/.well-known/mercure
$_SERVER['MAILER_DSN'] => smtp://mailpit:1025?auto_tls=false
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['MERCURE_PUBLIC_URL'] => https://api.****.***/.well-known/mercure
$_SERVER['PHP_ASC_URL'] => https://www.php.net/distributions/php-8.3.12.tar.xz.asc
$_SERVER['MAILER_EMAIL_FROM'] =><EMAIL_ADDRESS>$_SERVER['PHP_CPPFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['APP_SECRET'] => aa7c04413a18ab542382eb43a554bd24
$_SERVER['_'] => /usr/local/bin/php
$_SERVER['PHP_SELF'] =>
$_SERVER['SCRIPT_NAME'] =>
$_SERVER['SCRIPT_FILENAME'] =>
$_SERVER['PATH_TRANSLATED'] =>
$_SERVER['DOCUMENT_ROOT'] =>
$_SERVER['REQUEST_TIME_FLOAT'] =><PHONE_NUMBER>.7044
$_SERVER['REQUEST_TIME'] =><PHONE_NUMBER>
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact<EMAIL_ADDRESS>
Relevant log output
api-1            | 2024/10/04 12:44:04.798	ERROR	the current responseWriter is not a flusher	{"error": "feature not supported"}

Tried to call /flush method, which clears all keys from storage, and seems it correctly works.
curl -v -X PURGE http://localhost/souin-api/souin/flush
*   Trying <IP_ADDRESS>:80...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> PURGE /souin-api/souin/flush HTTP/1.1
> Host: localhost
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 204 No Content
< Permissions-Policy: browsing-topics=()
< Server: Caddy
< Date: Fri, 04 Oct 2024 14:13:56 GMT
<
* Connection #0 to host localhost left intact

FrankenPHP posts to log:
api-1            | Successfully clear the cache and the surrogate keys storage.

calling GET http://localhost/souin-api/souin after that shows, that keys are really cleared.
Invalidation in that case works as expected. Calling GET operation on /icons/1 receive 200 Ok with cache miss, because there are no cache in storage.
Tried to call curl -v -X PURGE -H "Surrogate-Key: /icons" http://localhost/souin-api/souin, like ApiPlatform does - no effect and no log entries on that.

Just FYI it looks like you're dumping an app secret. Not sure if important, just in case you missed it.

@nickdnk Thank you for your notice! It's okay, it's a dev environment on my local workstation behind NAT, not available from internet directly.

I went deeper and it seems that lots of previous info are not related to FrankenPHP, but related to ApiPlatform. My fault was in misunderstanding cache key generation and flushing mechanism. ApiPlatform do not flush cache of item when new item was created in a collection (i was expected it is). Also my saving mechanism for my ApiResource was broken, so cache flushing on PATCH request was not working, and cache was not flushed because of this. So pardon, it's not an issue anymore. My bad
The only one bug, possibly related to FrankenPHP - is an error message on cache miss with any cache storage, mentioned here, and error messages for otter storage. But probably it's not interfere application at all in my case. A can't figure out if this have any effect or not. I see, that cache is storing and flushing correctly now.


No related bug shows for the second hotfix in release notes Hotfixes part

Storage Explorer Version: 1.14.2
Build: 20200714.24
Branch: hotfix/1.14.2
Platform/OS: Windows 10/ Linux Ubuntu 16.04/ macOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer -> Go to 'Help' -> Click 'View Release Notes'.
Check the second hotfix  in Hotfixes part.

Expect Experience:
Show a related bug for this hotfix.
Actual Experience:
No related bug for this hotfix.

More Info:
Related bug: 3232

This issue is fixed on build 20200715.2. So close it.


Enable Elasticsearch Pipeline Configuration via Helm Values in Falco Sidekick

Motivation
The current Falco Sidekick Helm chart does not support configuring Elasticsearch pipeline settings in the values.yaml file, even though this feature is already supported in Falco (as seen in the documentation). The missing configuration in the secret.yaml prevents the seamless integration of Elasticsearch pipeline settings.
Feature
Add the ability to configure Elasticsearch pipeline settings in the values.yaml and secret.yaml files of the Falco Sidekick Helm chart.
Alternatives
Currently, the only workaround is to manually edit the secret.yaml file after deploying the chart, which is not ideal and prevent using gitops approach like with ArgoCD
Additional context
A pull request has been prepared and will be submitted to address this feature request.

Hi,
The pipeline has been integrated in the master branch, but not released in a tagged version yet (it will be in the 2.30.0), this is why it's not available in the Helm values.
It's possible anyway to use it, by changing the image tag to latest and by setting extraEnv.
falcosidekick:
	image:
		tag: latest
	config:
		extraEnv:
			- name: ELASTICSEARCH_PIPELINE
			  value: xxxxx

I don't have any ETA for now.

Thanks,
I missed the extraEnv in the documentation.
At least the PR is ready for 2.30 :-)

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale


Emit LLVM external globals instead of literals for instance-specific values

Various things currently emit literal values in the LLVM IR for instance-specific values:

The intrinsic function pointer in emitRuntimeIntrinsic
The expected FunctionType* in call_indirect
Immutable globals
Imported function pointers
Exception type pointers

Emitting these as globals would allow the compiled code to be reused for different ModuleInstances, and for the compiled code to be reused across multiple runs of WAVM.
One possible trick for <=64-bit values is to use the LLVM global address as the value instead of loading t he value from the address. This might need the absolute_symbol metadata on the global variable.

Implemented in https://github.com/AndrewScheidecker/WAVM/commit/f27960efba121bd3fe0066f9697f6250c0cfe094.


Allow the definition of more than one responses

Currently, the openapi plugin only allows the definition of one response (the 200 response by default). This functionallity should be extended to get all the responses defined at Swagger

@maybeec
Adressed with #653


Add 100millis sleep to loops - consume fewer system resources

This was first reported in the gitter grin lobby.
Without these thread yields I saw:
218% CPU when not mining
~0.119 GPS when mining

After adding 100 milisecond sleeps to three loops I see:
14% CPU when not mining
~0.152 GPS when mining

Yes, thanks. There are probably a few busy wait situations in cuckoo-miner as well that need to be looked into, particularly in async mode


Does the process for including example READMEs in the docs work properly on windows?

it's because a different image format is used for one image:
this works:
![](../../docsrc/_resources/ApertureOpt/CorrelationPlot.png)

this doesnt:
<img src=../../docsrc/_resources/ApertureOpt/ApertureParameterPlots.png alt="drawing" width="300"/>

just changed the image to the defaukt format