Better resource management, navigation options, fix 1.14 anvil search

InventoryManager code cleanup

no longer generates objects for the entire category each time a page is requested
inventory tracks the actual object used, no needless copies for gc discard
Close open inventories on plugin disable
Added additional navigation buttons, changed titles to show the page they move to
Added dynamic heads listing option for people with large databases - 100+ pages becomes 60+ pages
Fixed anvil search gui for 1.14
Categories and enabled heads are buffered at load time
Heads are buffered on load to decrease lookup time
'Database' option for heads is now optional, defaults true - decreases minimum file size
HeadInventory cleanup
no longer re-generates head item lore
Fix mysql syntax for new players (' instead of `)

Good lord, you've been busy cleaning up some of the older, clunkier code for the plugin (considering this was originally my first plugin after all). Now I'm half annoyed at myself for just updating the plugin on Spigot... xD
Although I'll say now this is definitely impressive and a lot nicer on my eyes as well. Will run through the changes made and give it a few shots. Thank you as well for fixing that 1.14 anvil GUI too - there are a few things I have to test with it because in some versions it would close automatically for some reason. I did try and seek help from a fellow developer who had it working himself, but we didn't get that far.
But to sum this up... this is definitely a lot I can learn from, thank you again!

No problem! Glad to help out :)
I do like this plugin, but it was a bit clunkier than I liked xD
Also, whenever you get a chance, maybe make a repo for SpectateProtection?
I made some fixes to get it working on my server, but I don't have a place to share it with you without sending the code via discord or a stash ;P

Yeah there are definitely still some areas I need to touch on. I think my next goal is to face my fears with reflection to cut down the plugin's size a bit when setting NBT tags, because setting the same code each time for each version is tiring. However I am a bit more experienced that I was before (it's mostly thanks to working with SimplePets as well so I could cover more areas in plugin development and learn from other developers).
I sure can - SP's one of my older side projects but I can definitely open a repo for that. I'll just need to find the project first and see if I need to clean it up at all...

Speaking of that I've already got to make a quick update to SpectateProtection - just a fix for the outdated API.

Alright for some odd reason, Github's not acting nice to me so I can't add the contents of the repo today. I'm not going to be surprised if this was the main reason why I couldn't get HeadsPlus's repo working correctly at first...

Or not. https://github.com/Thatsmusic99/SpectateProtection/
Have tested this pull request for anything that may need changing, but it's nothing too big, and it seems to work fine with the old icon symbols too. Thank you once again - you're godly!


MLflow example: close session error

Summary

Steps to Reproduce it
Used Binder to run the above notebook
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
/tmp/ipykernel_157/4031979109.py in <module>
     12
     13         # use whylogs to log data quality metrics for the current batch
---> 14         mlflow.whylogs.log_pandas(batch)
     15
     16     # wait a second between runs to create a time series of prediction results

/srv/conda/envs/notebook/lib/python3.7/site-packages/whylogs/mlflow/patcher.py in log_pandas(self, df, dataset_name, dataset_timestamp)
     71         :param dataset_name: the name of the dataset (Optional). If not specified, the experiment name is used
     72         """
---> 73         ylogs = self._get_or_create_logger(dataset_name, dataset_timestamp=dataset_timestamp)
     74
     75         if ylogs is None:

/srv/conda/envs/notebook/lib/python3.7/site-packages/whylogs/mlflow/patcher.py in _get_or_create_logger(self, dataset_name, dataset_timestamp)
    103         ylogs = self._loggers.get(dataset_name)
    104         if ylogs is None:
--> 105             ylogs = self._create_logger(dataset_name, dataset_timestamp=dataset_timestamp)
    106             self._loggers[dataset_name] = ylogs
    107         return ylogs

/srv/conda/envs/notebook/lib/python3.7/site-packages/whylogs/mlflow/patcher.py in _create_logger(self, dataset_name, dataset_timestamp)
     57             tags,
     58         )
---> 59         logger_ = self._session.logger(run_info.run_id, session_timestamp=session_timestamp, dataset_timestamp=dataset_timestamp, tags=tags)
     60         return logger_
     61

/srv/conda/envs/notebook/lib/python3.7/site-packages/whylogs/app/session.py in logger(self, dataset_name, dataset_timestamp, session_timestamp, tags, metadata, segments, profile_full_dataset, with_rotation_time, cache_size, constraints)
    172         """
    173         if not self._active:
--> 174             raise RuntimeError("Session is already closed. Cannot create more loggers")
    175
    176         # Explicitly set the default timezone to utc if none was provided. Helps with equality testing

RuntimeError: Session is already closed. Cannot create more loggers

Example

The example closes the default session, and then later the mlflow.whylogs wrapper is using that closed session to create loggers. Need to update that example's initial session creation to something like:
from whylogs import get_or_create_session

session = get_or_create_session()
summary = session.profile_dataframe(train, "training-data").flat_summary()['summary']

summary

Still need to update the example to work in Binder better:

install dependencies
coinfigure mlflow writer, currently the default session will just write to local disk

Part of the reason is that it picks up the default YAML file with default list of writers - and they don't contain mlflow (for obvious reason): https://github.com/whylabs/whylogs-examples/blob/mainline/python/.whylogs.yaml

Here's my fix in the notebook
Now this poses interesting quesiton:

Should mlflow writer be allowed if you don't run mlflow? My instinct is to say yes, but you get a big warning. Or exception?
If you specify a config without mlflow writer, should we implicitly add mlflow writer? Maybe yes.

However so far I'm not a fan of implicit behaviors because it's freaking hard for us to reason about (see this issue - took a bit of debugging to find out that it's config related). My vote is to throw exception with an option to disable that exception if user chooses the path of ignorance.

Drop in the code of the two cells:
config = """
project: example-project
pipeline: example-pipeline
verbose: false
writers:
# Save to mlflow
- formats:
    - protobuf
  output_path: mlflow
  type: mlflow
"""
cfg_file = "mlflow_config.yaml"

!echo "{config}" > {cfg_file}

from whylogs import get_or_create_session

session = get_or_create_session(cfg_file)

assert whylogs.__version__ >= "0.1.13" # we need 0.1.13 or later for MLflow integration
whylogs.enable_mlflow(session)


BZ1303534: GSS BxMS6.2.0 Full Text search returns only 10 results even if it hits more than 10

See https://bugzilla.redhat.com/show_bug.cgi?id=1303534
This is the corollary of https://github.com/droolsjbpm/drools-wb/pull/138 for 6.3.x

Part of an ensemble:
https://github.com/uberfire/uberfire/pull/311
https://github.com/uberfire/uberfire-extensions/pull/231
https://github.com/droolsjbpm/guvnor/pull/278
https://github.com/droolsjbpm/kie-wb-common/pull/293
https://github.com/droolsjbpm/drools-wb/pull/140
https://github.com/droolsjbpm/kie-wb-distributions/pull/221
https://github.com/droolsjbpm/jbpm-console-ng/pull/361
https://github.com/droolsjbpm/jbpm-designer/pull/180

6.3.x: 09704e76fd76fc4a2774148630626bb07509cf18


Pipeline caching

Clear and concise description of the problem
Caching is a issue often talked about. It would save a lot of resources if dependencies for projects are not built every time, but only run from a certain point on.
Suggested solution
There is already a feature request in #758 that might try to achieve something similar, but it sounds focused on results, not prepare steps.
My proposal is the following: For every pipeline stage, there is an optional "refresh: " parameter, that defines how often this needs to be rebuilt. For example, when dependencies change frequently, you can specifiy "refresh: 1d". If your prepare step is used seldom, you can rebuilt it every 14d.
If you install some system requirements (e.g. git, nodejs, your compiler, ...), you could specifiy to rebuild it every 30d, but the next pipeline that pulls your specific dependencies (npm, go packages etc) is refreshed every 12h.
The container state that is created at this point is than cached for the maximum specified time, maybe by simply tagging the docker image, just like Docker builds are cached when the context and the Dockerfile doesn't change.
The big question is how the clone is supposed to work there. Probably by defining prepare steps and clone the project afterwards. Or clone into a mount at the beginning and keep it even with different containers.
Alternative
The
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

This proposal makes some kind of sense to me.
I find myself having to create special-purpose Docker containers with base dependencies for CI to run faster.
I've always felt a wish that I could just keep the instructions written in the CI YAML file but have the stages 'cached'.
There is another wish to have a way to cache package downloads/compilations (for e.g. Cargo), since that takes a long time on my CI and outweighs the build time of my project (also wasting energy/time/...). I tried setting up MinIO and sccache but it was pretty clunky and didn't work that well. I wish there was a nicely-integrated built-in method.


[Feature] Restrict users edit a form simultaneously

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
There should be an option to prevent multiple users from editing a form simultaneously.
Why should this be worked on?
This is an enhancement that is very useful for situations where multiple users collaborate and should not be allowed to edit a form at the same time.

https://app.appsmith.com/applications/622ce1770bf98b2d5df754b5/pages/622ce25a0bf98b2d5df754c6, we have a table where we display the content of database ( we are using rest API to fetch data from DB  in backend)
We have a separate form to insert/update records, imagine a case where multiple users try to update  the data based on what they see on table, if 2 users try to update the same record then last successful record will succeed
with the current RTS service could it be possible to implement a mechanism where , when a user tries to edit the form, the same form for other users should be grayed out.

@anvaravind thanks for chipping in with a solution. I think we need to approach this in a more generic way where we can expose the field a user is editing in JS and then a developer can write logic to disable the fields that they think are important for this


Enable XLA compiler for TF models

In order to enable the XLA compiler, functions need to be explicitly annotated. Latencies are lower with XLA enabled: https://www.tensorflow.org/xla

We may want to fix up lint otherwise CI will fail


[ci skip] Remove stray github actions from the other repository

Also fix gimp file being treated as text (will also pr to examplemod)

Thanks . Want to remove it myself but forget it.


Can't build Hydra on nixos-unstable

Issue description
Hydra fails to build on nixos-unstable and master due to a broken aws-sdk-cpp dependency, which appears to be different from the aws-sdk-cpp at top level since that builds successfully.
Steps to reproduce
$ git clone https://github.com/NixOS/nixpkgs
$ cd nixpkgs
$ nix-build -A hydra
...
builder for ‘/nix/store/jx21mw1cw771h9954jaicwxc7a8ps6mc-aws-sdk-cpp-1.3.22.drv’ failed with exit code 2
cannot build derivation ‘/nix/store/32rxs11yf8bii1yqaysvid7x3xlm08ws-hydra-2017-11-21.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/32rxs11yf8bii1yqaysvid7x3xlm08ws-hydra-2017-11-21.drv’ failed

Technical details
$ nix-store --read-log /nix/store/jx21mw1cw771h9954jaicwxc7a8ps6mc-aws-sdk-cpp-1.3.22.drv
unpacking sources
unpacking source archive /nix/store/8446r3j8mw7xzmam785r0cvdxxd48r8q-source
source root is source
patching sources
configuring
fixing cmake files...
cmake flags: -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/6navrsgn0qnsjgk4vck73phkj7nxn32v-aws-sdk-cpp-1.3.22-dev/include -DCMAKE_INSTALL_LIBDIR=/nix/store/lrly4rrh3kqnql51qph762bw54b51swg-aws-sdk-cpp-1.3.22/lib -DCMAKE_INSTALL_NAME_DIR=/nix/store/lrly4rrh3kqnql51qph762bw54b51swg-aws-sdk-cpp-1.3.22/lib -DCMAKE_INSTALL_PREFIX=/nix/store/lrly4rrh3kqnql51qph762bw54b51swg-aws-sdk-cpp-1.3.22 -DCUSTOM_MEMORY_MANAGEMENT=0 -DBUILD_ONLY=s3
-- TARGET_ARCH not specified; inferring host OS to be platform compilation target
-- Generating linux build config
-- Dynamic linking enabled
-- Http client: Curl
-- Encryption: Openssl
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /nix/store/gqg2vrcq7krqi9rrl6pphvsg81sb8pjw-gcc-wrapper-7.3.0/bin/gcc
-- Check for working C compiler: /nix/store/gqg2vrcq7krqi9rrl6pphvsg81sb8pjw-gcc-wrapper-7.3.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /nix/store/gqg2vrcq7krqi9rrl6pphvsg81sb8pjw-gcc-wrapper-7.3.0/bin/g++
-- Check for working CXX compiler: /nix/store/gqg2vrcq7krqi9rrl6pphvsg81sb8pjw-gcc-wrapper-7.3.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Install binary prefix: linux/intel64
-- Could NOT find Git (missing: GIT_EXECUTABLE)
-- Custom memory management disabled
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INSTALL_INCLUDEDIR
    CMAKE_INSTALL_LIBDIR

-- Build files have been written to: /tmp/nix-build-aws-sdk-cpp-1.3.22.drv-0/source/build
building
build flags: -j4 -l4 SHELL=/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash
Scanning dependencies of target aws-cpp-sdk-core
[  1%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/AmazonStreamingWebServiceRequest.cpp.o
[  2%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/AmazonSerializableWebServiceRequest.cpp.o
[  4%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/AmazonWebServiceRequest.cpp.o
[  5%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/Region.cpp.o
[  7%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/Version.cpp.o
[  8%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/external/tinyxml2/tinyxml2.cpp.o
[ 10%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/external/json-cpp/jsoncpp.cpp.o
[ 11%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/auth/AWSAuthSigner.cpp.o
[ 13%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/auth/AWSCredentialsProvider.cpp.o
[ 14%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/auth/AWSCredentialsProviderChain.cpp.o
[ 16%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/client/AWSClient.cpp.o
[ 17%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/client/AWSErrorMarshaller.cpp.o
[ 19%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/client/ClientConfiguration.cpp.o
[ 20%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/client/CoreErrors.cpp.o
[ 22%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/client/DefaultRetryStrategy.cpp.o
[ 23%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/internal/EC2MetadataClient.cpp.o
[ 25%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/HttpClient.cpp.o
[ 26%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/HttpClientFactory.cpp.o
[ 28%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/HttpRequest.cpp.o
[ 29%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/HttpTypes.cpp.o
[ 31%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/Scheme.cpp.o
[ 32%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/URI.cpp.o
[ 34%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/standard/StandardHttpRequest.cpp.o
[ 35%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/standard/StandardHttpResponse.cpp.o
[ 37%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/DateTime.cpp.o
[ 38%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/HashingUtils.cpp.o
[ 40%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/OSVersionInfo.cpp.o
[ 41%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/StringUtils.cpp.o
[ 43%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/base64/Base64.cpp.o
[ 44%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/crypto/Factories.cpp.o
[ 46%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/crypto/MD5.cpp.o
[ 47%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/crypto/Sha256.cpp.o
[ 49%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/crypto/Sha256HMAC.cpp.o
[ 50%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/json/JsonSerializer.cpp.o
[ 52%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/threading/Executor.cpp.o
[ 53%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/xml/XmlSerializer.cpp.o
[ 55%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/stream/ResponseStream.cpp.o
[ 56%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/logging/AWSLogging.cpp.o
[ 58%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/logging/ConsoleLogSystem.cpp.o
[ 59%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/logging/DefaultLogSystem.cpp.o
[ 61%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/logging/FormattedLogSystem.cpp.o
[ 62%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/logging/LogLevel.cpp.o
[ 64%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/memory/AWSMemory.cpp.o
[ 65%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/curl/CurlHandleContainer.cpp.o
[ 67%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/curl/CurlHttpClient.cpp.o
[ 68%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/crypto/openssl/CryptoImpl.cpp.o
/tmp/nix-build-aws-sdk-cpp-1.3.22.drv-0/source/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp: In static member function 'static size_t Aws::Http::CurlHttpClient::ReadBody(char*, size_t, size_t, void*)':
/tmp/nix-build-aws-sdk-cpp-1.3.22.drv-0/source/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp:347:37: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]
     if (ioStream != nullptr && size * nmemb)
                                ~~~~~^~~~~~~
[ 70%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/utils/unix/FileSystemUtils.cpp.o
At global scope:
cc1plus: error: unrecognized command line option '-Wno-unused-private-field' [-Werror]
cc1plus: error: unrecognized command line option '-Wno-unused-private-field' [-Werror]
cc1plus: all warnings being treated as errors
make[2]: *** [aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/build.make:1119: aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/source/http/curl/CurlHttpClient.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:86: aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

system: "x86_64-linux"
host os: Linux 4.15.0, NixOS, 17.09.git.c831224528c (Hummingbird)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.11.16
channels(root): ""
channels(will): ""
nixpkgs: /nix/store/iwg0swifgivc855hxw06vzl5zbsd819a-nixpkgs-channels

This is fixed by #35125.

There might be more hydra instances than anticipated, given the upsurge of duplicate reports :-)


Warning message displays error

The warning message is displayed in the wrong location.

That's because it refers to deep importing the package, like import "isobject/index.mjs", because packages without "exports" implicitly expose all files.
It's a little different to the "module" field for this package specifically, because bundlers that support "module" force treats the format as ESM always. So there's no problem there.
So I think while it's a bit off in this case, it's technically correctly located 🤔

OK, thank you for your explanation. 👍


ESM import issue causing: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

I have a project where I have used react-linkify successfully for several years. I'm currently upgrading this project to ESM (i.e. I'm putting "type": "module" into my own package.json file). I got most things in my app to work again using ESM but whenevert I open a page that renders a react linkify component I get this error:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
I use the library like this:
import Linkify from 'react-linkify'
...
<Linkify>{comment}</Linkify>

If I print the Linkify like this: console.log('Linkify=', Linkify) it looks like this in the devtools:

I just to see if worked, I change the usage temporarily into <Linkify.default>{comment}</Linkify.default> and then it works.
However, Linkify.default is ugly... any ideas isn't my import working normally? Is it some kind of ESM/CJS interop layer used in react-linkify that is getting it the way here?
Does react-linkify support being imported in ESM projects?
Note: many other libraries can be imported just fine, like for example:
@stripe/react-stripe-js, @sentry/browser, @stripe/stripe-js/pure.js, react-router, react

There is a tool to do quality checking on npm packages, i.e:
cd react-linkify
npm install @skypack/package-check --dev
npx package-check

This tool reports that react-linkify lacks an "ES Module Entrypoint" and points to this article:
//docs.skypack.dev/package-authors/package-checks#esm
I also found this article to be very very good for explaining ESM/CJS interop issues:
https://github.com/johnloy/esm-commonjs-interop-manual


fetch-quickstarts workflow failing

Description
The fetch-quickstarts script is receiving a 404 when it tries to enable or disable branch protection on this repository.

Workflow file

Steps to Reproduce

Latest run of `fetch-quickstarts

Expected Behavior

Branch protection is disabled so that new quickstarts can be committed and it is re-enabled afterwords

I wonder if it's something to do with the OPENSOURCE_BOT_TOKEN not having permission for the repo, but I would assume we would see a 403 rather than a 404?

@rudouglas I just noticed that we are seeing the same failures for the related resources workflow as well https://github.com/newrelic/instant-observability-website/actions/runs/1775564351

@aswanson-nr think i've figured this out, the difference I can see is that OPENSOURCE_BOT_TOKEN is set as an Organization secret in the new site, rather than a repo secret so I think we will need to give it permissions to alter the repo on the Org level

To fix this we added the nr_opensource_bot as an admin user on the repo


Billing/Current API

What's the current progress of the API? I'm thinking of writing a billing system extention or something but if the API is going to rapidly change it's not worth it at present.

There's going to be a complete and hopefully last big change for 0.9. So just hold off I think.
On Feb 1, 2016, 11:07 AM -0500, Meyer<EMAIL_ADDRESS>wrote:

What's the current progress of the API? I'm thinking of writing a billing system extention or something but if the API is going to rapidly change it's not worth it at present.
—
Reply to this email directly orview it on GitHub(https://github.com/PufferPanel/PufferPanel/issues/669).

@Omeryl Thanks for the speedy reply! I will hold off, thanks. Been checking the .9 branch out and it's exciting to see the progress.

That branch is Legacy, it is not what 0.9 will be
On Mon, Feb 1, 2016, 10:09 AM Meyer Zinn<EMAIL_ADDRESS>wrote:

Closed #669 https://github.com/PufferPanel/PufferPanel/issues/669.
—
Reply to this email directly or view it on GitHub
https://github.com/PufferPanel/PufferPanel/issues/669#event-534399525.

That branch is Legacy and is just there for history. It is not what 0.9 will be


Project ready For Marking

Completed all and added extra contact me as didn't go well under the questions heading. The badge changes at the top not sure how to template literal under the other heading as tried but didn't work. If you can explain why this will help me.

Hey, I'm unsure what section you mean when you say the template literal doesn't work - all seem to work when I have tested the application.


NETOBSERV-1129: Add kerenl version chk to disable hooks not supported on older kernel

TCPDrop hook doesn't exists on older kernelwe check for the following version and ignore tcpdrop for any older versions
sh-4.4# uname -r
5.14.0-284.20.1.el9_2.aarch64

Code LGTM, maybe it can be improved by having the agent find the kernel version and determine itself if it must run without some hooks; this way we won't even have to worry about that on the operator side.
It must be tested with several ocp versions (ideally, all supported) - I can try some tomorrow...

Code LGTM, maybe it can be improved by having the agent find the kernel version and determine itself if it must run without some hooks; this way we won't even have to worry about that on the operator side.
It must be tested with several ocp versions (ideally, all supported) - I can try some tomorrow...

The userspace side of code can potentially run some command to find out kernel version if needed but would we wanna disable it at runtime or fail to run if older kernel is detected but config is set to enable all hooks. I am asking this because certain nodes of a cluster can have older kernel and in that case agent disabling some feature without informing might be a problem for some users.

Code LGTM, maybe it can be improved by having the agent find the kernel version and determine itself if it must run without some hooks; this way we won't even have to worry about that on the operator side.
It must be tested with several ocp versions (ideally, all supported) - I can try some tomorrow...

The userspace side of code can potentially run some command to find out kernel version if needed but would we wanna disable it at runtime or fail to run if older kernel is detected but config is set to enable all hooks. I am asking this because certain nodes of a cluster can have older kernel and in that case agent disabling some feature without informing might be a problem for some users.

w/o doing anything the code as it stands will fail on older releases < 4.13 so the ask was to avoid failing on older release and I displayed warning plus in our doc we state clearly the kernel dependency so users will be aware

/ok-to-test

Tested on 4.10 and works like a charm!

/lgtm

/approve


Remove restrictions for the Build class to setup its platform

Which allows users to call fprime-util generate several times without faiure

Related Issue(s)
https://github.com/nasa/fprime/issues/2869

Has Unit Tests (y/n)
yes

Documentation Included (y/n)
yes

Change Description
Removes restrictions on calling Build.invent and Build.__setup_default more than once. I admit I don't understand the full implications of this, so I'd encourage the author @LeStarch to evaluate whether this breaks things. Anecdotally, locally installing this allows me to call generate in my fprime project several times without error.
Rationale
Fixes a (perceived) bug that fprime-util generate should not fail if a cache already exists
Testing/Review Recommendations
There is a very simple included unit test that shows that calling Builder.invent() twice does not raise an assertion. Please let me know what else I need to test.

It looks like this re-generates regardless of whether there is a need to. Isn't CMake's default behavior to skip the regeneration?
From quickly looking at https://github.com/weggert2/fprime-tools/blob/5d964ecefcbc4010d8bb0b5d3290687510233530/src/fprime/fbuild/builder.py#L365-L366 and the cmake.generate_build() , I am not too sure why this happens since we delegate to CMake

@weggert2 we went ahead with the implementation of fprime-util generate --force flag. This will purge and re-generate in a single command. The reason for not doing a re-generation without purging is that autocoded files can be leftover in the build cache, or not tracked correctly, which could cause issues.
Thank you for the contribution nonetheless! It brought up a good use-case, we just went with that alternate approach.

Sounds good to me! Thanks for tackling that!

From: Thomas Boyer-Chammard @.>
Sent: Monday, October 14, 2024 6:32:13 PM
To: nasa/fprime-tools @.>
Cc: weggert2 @.>; Mention @.>
Subject: Re: [nasa/fprime-tools] Remove restrictions for the Build class to setup its platform (PR #216)
@weggert2https://github.com/weggert2 we went ahead with the implementation of fprime-util generate --force flag. This will purge and re-generate in a single command. The reason for not doing a re-generation without purging is that autocoded files can be leftover in the build cache, or not tracked correctly, which could cause issues.
Thank you for the contribution nonetheless! It brought up a good use-case, we just went with that alternate approach.
—
Reply to this email directly, view it on GitHubhttps://github.com/nasa/fprime-tools/pull/216#issuecomment-2412518729, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AE2GMX6HLDRGZXWQOCXN5VTZ3RH73AVCNFSM6AAAAABOD62RYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJSGUYTQNZSHE.
You are receiving this because you were mentioned.Message ID: @.***>


fix(sqlscript): added citext to db script to accept case insensitive …

…data

Can  you also update the azureDeploy.json? You just need to base64 encode/decode the string in the init.sql

I also noticed we are missing indexes on our tables,  We should add  an index (i.e: CREATE UNIQUE INDEX lower_profile_name_idx ON profiles ((lower(profile_name))); to each for performance


linux_xanmod, linux_xanmod_latest: 2024-07-18

Description of changes
Tested LTS variant as x86_64_v3 build on my desktop machine.
latest is not tested by me as i am not using it (due to ZFS and avoiding latest).

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Sorry for the delay, I tested this to be working yesterday too and forgot to merge.


fix(rego-templates): skip lost+found files for rego templates

Description
There is case when k8s creates lost+found file/directory without access (bad permission) in template folder.
We need to skip this file to avoid error.
Related Issues:

Close https://github.com/aquasecurity/postee/issues/496

This looks promising, I'll give it a try today during the evening using docker-compose. I wonder whether lost+found is actually a folder and not a file. But I will test both providing a folder and a file with that name when mounting a volume. https://www.baeldung.com/linux/lost-found-directory#:~:text=The lost%2Bfound directory is,System (ext2-ext4).

We've build and deployed Postee into our K8s cluster this morning and mounted customer rego templates to default mount path. No issues so far. Thanks for the effort @DmitriyLewen

Thanks for feedback!

Hello! It is still doesn't work for me. Got the error from logs:  Can not initialize template raw-json: 1 error occurred during loading: open rego-templates/lost+found: permission denied
I use the latest version via helm

Hello @thelubomir
Thanks for information!
Can you share your log with this error?

Hello @fruttu
Thanks for information!
Are you sure you are using the latest version of Postee?
I reproduced your case and didn't find problem:
/server $ ls -hl ./rego-templates/custom/
total 4K
drwx------    2 postee   postee      4.0K Jul 14 03:02 lost+found

Log:
2023/07/14 03:08:39 Starting Router....
2023/07/14 03:08:39 Loading alerts configuration file /data/cfg.yaml ....
2023/07/14 03:08:39 Configuring template vuls-slack
2023/07/14 03:08:39 Configured with Rego package postee.vuls.slack
2023/07/14 03:08:39 Configuring template vuls-html
2023/07/14 03:08:40 Configured with Rego package postee.vuls.html
2023/07/14 03:08:40 Configuring template raw-html
2023/07/14 03:08:40 No aggregation package configured!!!
2023/07/14 03:08:40 Configured with Rego package postee.rawmessage.html
2023/07/14 03:08:40 Configuring template legacy
2023/07/14 03:08:40 Configured with legacy renderer html
2023/07/14 03:08:40 Configuring template legacy-slack
2023/07/14 03:08:40 Configured with legacy renderer slack
2023/07/14 03:08:40 Configuring template legacy-jira
2023/07/14 03:08:40 Configured with legacy renderer jira
2023/07/14 03:08:40 Configuring template custom-email
2023/07/14 03:08:40 Configuring template raw-json
2023/07/14 03:08:40 No aggregation package configured!!!
2023/07/14 03:08:40 Configured with Rego package postee.rawmessage.json
2023/07/14 03:08:40 Configuring template vuls-cyclonedx
2023/07/14 03:08:40 No aggregation package configured!!!
2023/07/14 03:08:40 Configured with Rego package postee.vuls.cyclondx
2023/07/14 03:08:40 Configuring template trivy-operator-slack
2023/07/14 03:08:40 Can not initialize template trivy-operator-slack: no results

Hello, yes this should be the newest version.
app     postee          1               2023-07-13 14:50:49.477968457 +0300 EEST        deployed        postee-v2.12.0  v2.12.0

Can you check version of Postee image ( command kubectl get pods -n postee -o jsonpath="{.items[*].spec.containers[*].image}")?

Yes, you are correct as I got old version.
kubectl get pods -n postee -o jsonpath="{.items[*].spec.containers[*].image}"
aquasec/postee:2.8.4-amd64 aquasec/postee-ui:2.8.4-amd64

I'll try helm reinstallation as it seems that helm package is now updated 👍🏼


Add "Send confirmation email to this email address" option to form block.

I've made the quick customization job for Form Block
In addition to "Reply to this email address" option.
I would like to add "Send the confirmation email to this email address" option.
This is the simple customization that I did for the Form Block.
https://gist.github.com/katzueno/bedef7511568fbc296e6
It's always good to send a confirmation email to form sender.
And it seems easy to add.
If anyone likes it, will work on PR.

This makes sense. I think it could be added as an option and we'd accept a pull request for it.

Thx! I'll work on it when I got some free time.

Hi Can I bump this it doesn't seem implemented in C5 8.2 and is such a key requirement of a public form?

Yes, agreed – this would be something we'd love to have.

This issue still interests people. See post on the forum https://www.concrete5.org/community/forums/block_requests/form-block-submission-to-senders-email


Update India 2021

Small issue - Code 25 no longer is "Daman & Diu" but the union of what used to be codes 26 and 25. New name is officially "Dadra & Nagar Haveli and Daman & Diu". Quite a mouthful :)
Also added two new documents on the comparison.

@giofsantos11  - May you please (at your earliest convenience) expand on the CSD in the section "Changes in states over time" to add the issue with the joining of these two union territories and use the updated documents. Please let me know if you have any questions via mail.


feat: update redux store and UI for system + user logs

Description
Updated the redux store to handle the UI changes for the new debugger experience. Basically added two new keys, one for mentioning whether the generated source is the user's console statement or the system logs.
Link for final designs:

Figma
Zeplin

Fixes #14432
Fixes #14433
Type of change

New feature (non-breaking change which adds functionality)

Test plan
Test plan coverage is present in PR (https://github.com/appsmithorg/appsmith/issues/15893)
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=4cd6c31

/ok-to-test sha=85c677e

/ok-to-test sha=664b907

@ayushpahwa We are using a dropdown to show all/only console logs/only system logs in this PR and it is different from the figma designs which uses checkboxes. Is it intentional ? Also, the dropdown has different height than the filter input. Can we make it the same ?

Also, the dropdown bleeds out of the debugger in canvas. I am on a 13inch mac book standard resolution.


TST: Decrease the usage of the filter parameter for pytest command line

Currently, the tests are using filters to deselect tests that are failing or that are breaking the test suite.
The tests that should be skipped should use the same approach used here: https://github.com/pauldex/sqlalchemy-firebird/blob/master/test/test_suite.py
So, the class should be recreated, skipping just the necessary tests.

resolved by https://github.com/omnisci/sqlalchemy-omnisci/pull/14


[BUG] antd no style in CSUI

What happened?
i use antd  in CSUI, but no style.
next,  i try with-antd example use npm create plasmo -- --with-antd ,  There is also no style

Version
Latest
What OS are you seeing the problem on?
MacOSX
What browsers are you seeing the problem on?
No response
Relevant log output
No response
(OPTIONAL) Contact Details
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

Thanks for the report! I'll take a look some time today.

I looked up the documentation of antd and found this https://ant.design/docs/react/customize-theme#shadow-dom-usage, I think this can solve this issue
I modified the code based on with-antd:
import { Button } from "antd"
import antdResetCssText from "data-text:antd/dist/reset.css"
import type { PlasmoContentScript } from "plasmo"
import { StyleProvider } from "@ant-design/cssinjs";

import { ThemeProvider } from "~theme"

export const config: PlasmoContentScript = {
  matches: ["https://www.plasmo.com/*"]
}

export const getStyle = () => {
  const style = document.createElement("style")
  style.textContent = antdResetCssText
  return style
}

const HelloWorldOverlay = () => {
  return (
    <StyleProvider container={document.querySelector("plasmo-csui").shadowRoot}>
      <ThemeProvider>
        <Button type="primary">Engage</Button>
      </ThemeProvider>
    </StyleProvider>
  )
}

export default HelloWorldOverlay

the style of the button is normal

@tuntun0609 It works. Thank you very much!


Swap double quotes with single quotes

https://github.com/ebryn/backburner.js/pull/129
Pre-emptive search and replace to simplify the diff for #129

Frankly, I'm not too strongly in favor of this, but merging this would clean up the diff in #129


[libjpeg-turbo] Update the version to complete the modification of the library name

Fixes https://github.com/microsoft/vcpkg/issues/15731

Update version to 3.0.0.
Fix upstream renaming of libraries.

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

And please remove any reference to "the modification of the library name" - there is no such modification at the moment.


Differences with the Data Management Gateway

It'd be useful to add a link to this page pointing to a new page explaining the differences between the Power BI Gateway and the Data Management Gateway (used by Azure Machine Learning Studio and Azure Data Factory).

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

ID: eb1195df-a72b-61c1-3490-64ca851e81b1
Version Independent ID: 8e9e2f51-78eb-7dfc-8195-cf99bd55d61c
Content: What are Power BI gateways? - Power BI
Content Source: powerbi-docs/service-gateway-getting-started.md
Service: powerbi
GitHub Login: @mgblythe
Microsoft Alias: mblythe

@arthiriyer - I'll add this as part of the gateways doc update.

We added a question to the gateway FAQ:
Question: Are the on-premises data gateway and the Data Management Gateway (used by Azure Machine Learning Studio and Azure Data Factory) the same thing?
Answer: No, they are two different products. To get more information about the Data Management Gateway (now called Self-hosted Integration Runtime), see Create and configure a self-hosted integration runtime.


upgrade xhypervisor to version 0.2

This PR solves also Security Dependabot alerts #1 and use a secure version of crossbeam-utils.


Internal error: an internal assert() failed

Error<EMAIL_ADDRESS>[Internal Failure] You stumbled upon a bug in `vite-plugin-ssr`'s source code (an internal `assert()` failed). This should definitely not be happening, and you should create a new GitHub issue at https://github.com/brillout/vite-plugin-ssr/issues/new that includes this error stack (the error stack is usually enough to debug internal errors). Or reach out on Discord. A fix will be written promptly.
    at Object.normalizePath (node_modules/vite-plugin-ssr/utils/normalizePath.ts:7:3)
    at node_modules/vite-plugin-ssr/html/injectAssets.node.ts:61:36
    at Array.map (<anonymous>)
    at Object.getPageAssets (node_modules/vite-plugin-ssr/html/injectAssets.node.ts:60:27)
    at populatePageContext (node_modules/vite-plugin-ssr/renderPage.node.ts:434:22)
    at renderPageId (node_modules/vite-plugin-ssr/renderPage.node.ts:159:3)
    at renderPage (node_modules/vite-plugin-ssr/renderPage.node.ts:131:20)
    at server/index.ts:53:20

assert(isNodejs()) fails because I was using a package called ssr-window which provides a window and document object in ssr contexts.

One solution is to refactor the application with vite builtin import.meta.env.SSR, although it's more work than installing ssr-window.
import.meta.env.SSR ? ssrLanguage : window.navigator.language

if (import.meta.env.SSR) {
  // ...
}

You should now be able to use ssr-window in the newly released v0.2.1.

Let me know if it works and let me know if you have any ohter question

I would like to share my findings with anyone who might come across the common issues when adding SSR support to their own site. I will describe my experience while adding SSR support to an early stage production site.
Conditional client side dependencies
Here is how to conditionally import client side dependencies and components.
let clientSideDependency = { serverMock: true };
let ClientSideComponent = ({children}) =>
{children}
;

// If browser context, not in a NodeJS SSR context
if (!import.meta.env.SSR) {
  import("client-side-dependency").then(module => clientSideDependency = module.default)
  import("client-side-component").then(module => ClientSideComponent = module.default)
}

Combining vite-plugin-ssr and ssr-window may be a good temporary drop-in solution if you don't feel like refactoring everything at once for a large codebase. Some third party libraries may depend on the DOM this way too, like editorjs, and so they do not support SSR unless you include this snippet.
import { ssrWindow, ssrDocument } from "ssr-window";

// In a NodeJS Context
globals.window = ssrWindow;
globals.document = ssrDocument;

SSR language support
When a page is being rendered by the server, a client may specify an Accept-Language: es header, a ?lang=es query parameter, a domain TLD domain.es, or a path segment domain.com/es. These parameters will control which language the page renders in. This can also be done at build time with a CI script, where each pre-rendered build output goes into its own language "folder". e.g. domain.com/en/contact, domain.com/es/contacto, or they will be deployed onto separate application domains, e.g. domain.com/contact, domain.es/contacto. Here is how I added support for this in code.
server.ts
import parser from "accept-language-parser";

// url part to explicit default language mapping
let urlLanguageConfig = { "https://domain.com/es": "es", "https://domain.com": "en", "https://domain.es": "es" }
const renderPage = createPageRender({ viteDevServer, isProduction, root });
app.get("*", async (req, res, next) => {
  const url = req.originalUrl;
  const foundUrl = Object.keys(urlLanguageConfig).find(k => url.includes(k))
  const defaultLanguage = "en";
  const acceptedLanguages = parser.parse(req.headers["accept-language"]);
  // application language
  let language = defaultLanguage;
  // in order of specificity
  if (acceptedLanguages.length > 0) {
    // perform language matching against supported languages
    language = acceptedLanguages[0].code;
  }
  if (foundUrl) language = urlLanguageConfig[foundUrl];

  const pageContext = {
    url,
    language
  };
  const result = await renderPage(pageContext);
  if (result.nothingRendered) return next();
  res.status(result.statusCode).send(result.renderResult);
});

types.ts
import type { PageContextBuiltIn } from "vite-plugin-ssr/types";
export type PageProps = {};
export type PageContext = PageContextBuiltIn & {
  Page: (pageProps: PageProps) => JSX.Element;
  pageProps: PageProps;
  url: string;
  language: string;
  documentProps?: {
    title?: string;
    description?: string;
  };
};

_default.page.server.tsx
const { documentProps, language: lang } = pageContext;
const title = (documentProps && documentProps.title) || getMsg("document.default-title", lang);
const desc = (documentProps && documentProps.description) || getMsg("document.default-description", lang);

return html`<!DOCTYPE html>

      <meta charset="UTF-8" />
      <meta http-equiv="content-language" content="${lang}">
      <link rel="icon" href="${logoUrl}" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <meta name="description" content="${desc}" />
      <title>${title}</title>

${html.dangerouslySkipEscape(pageHtml.html)}

  `;

Nice 👌. I added a new docs page https://vite-plugin-ssr.com/i18n.
As for conditional client side dependencies, it's more a Vite thing so I'll leave it to the Vite docs which is I believe in a good state in that regard.


Refactor code for report_90x

Import local libraries from rpt_columns and utils.

Issue resolved in PR #28

Closing as this is done.


Error while executing the operation/Setting already exists

Having just set up OnlyOffice Community Edition including the mail server, I went to Settings → Integration → SMTP Settings to use the local mail server container for outbound mail.
After selecting Source = Mail Server Settings, then filling in Sender Display Name, and Sender Email Address … apparently you have to save the settings before testing, which is backwards as you normally test before saving. But that's another matter entirely.
After saving and then clicking Send Test Mail, I got "Loading" for a while, then, nothing. Tried again, same — no success or failure, just maybe 20 seconds of "Loading" followed by nothing. No e-mail, no errors.
Having checked under Mail Service and come back and pressed Send Test Mail again, I started getting this error:
Error while executing the operation
This tells me nothing. What error occurred when executing what operation? This could hardly be more vague.
I checked the mail logs in the mail server container: nothing. I checked the logs in the community server container: nothing of interest. I tried running netstat to check for SMTP connections and found none — seemingly nothing was trying to send any e-mail anywhere.
I used Default Settings just in case it would figure something out, but it just restored the "Custom" settings to notify.onlyoffice.info.
So I put the "Mail Server Settings" settings back in, and now when I press Save, I immediately receive:
Setting already exists. Remove first.
Remove what?
If I enter a different display name and a different address I still get "Setting already exists. Remove first." so I have no idea what already exists (certainly nothing that I've entered), how I should go about removing it, and where I should go to remove it.
The error handling for Settings → Integration → SMTP Settings needs serious work as at present it's of no use to anyone.
(Looking at the code briefly, I guess that the "Custom settings" and "Mail Server Settings" are stored in separate fields, and for some reason once you've set the latter, you can never update them again. Ever. I am guessing that some code that should clear the fields)

Hello @Daniel-Beardsmore, could you please specify some additional information, so we can assist you:

OS of the Server where Community Edition is installed;
Installation type (Docker or DEB/RPM);
Current version of the Community Edition components (Community Server, Document Server and Mail Server);
Open the browser's console => reproduce the issue with Console and Network tab opened => make screenshots of all errors in the console;
Send us a screenshot of SMTP you enter.

I've tried in vain to claw through the levels of abstraction and indirection.
The second error ("Setting already exists. Remove first.") relates somehow to these two, called from smtpsettings.js:
Teamlab.removeNotificationAddress
Teamlab.createNotificationAddress
Splitting these at this level appears to be incorrect, as in the UI there is exactly one set of Mail Server Settings. Normally they're nothing more than database fields that set the envelope and mail headers, but I can see that Postfix configuration is involved, and there is some need to delete something (I don't know what) from Postfix first.
The first issue is that this is strictly a back-end concern: the UI layer has no business getting involved with this sequence at all. The front end (JS) should simply pass in the new settings and the back end (C♯) should take whatever steps are needed to remove old settings in addition to applying new settings. Telling the user that they need to remove something that they have no power to delete is illogical — I have no old data to remove and no Remove button. Letting the front end control this sequence is also illogical. The user can do nothing with that error message: it doesn't explain what's wrong, or what you are meant to do about it (and you can't).
Secondly, there is clearly a bug somewhere that caused Teamlab.removeNotificationAddress to fail (either at the front or back end), so now there is data stuck in the server somewhere about the address I originally set under "Mail Server Settings". However, due to the way the code is written, Teamlab.removeNotificationAddress is only called under specific circumstances, and it is no longer being called. The only official way to invoke removeNotificationAddress is to switch from "Mail Server Settings" to "Custom settings", and it is now completely impossible to follow this sequence as I am stuck in "Custom settings". Even though you can manually invoke removeNotificationAddress, I don't have the magic data needed to make it work.
I have tried my best with the browser's debugger (both in Firefox and Opera) to force Teamlab.removeNotificationAddress to execute (in part by pretending that I'm switching from "Mail Server Settings" to "Custom settings"), but there is no way that I can trigger it to remove the stuck data. Trying to force it to execute always fails as I can never give it the correct data (and I can't figure out what it needs).  (Also, if removeNotificationAddress fails, a generic error is written to the console and then ignored, so that may be why I never noticed it fail originally.)
Once Teamlab.removeNotificationAddress fails, it's impossible to recover from this situation. I cannot tell you now what went wrong originally (when I clicked "Default Settings", removeNotificationAddress failed somehow), as I no longer have the browser state in question; I can only advise that you reprogram this sequence to be more robust (in particular, at the back end where it belongs) and implement better error handling to detect failures to call removeNotificationAddress, and to implement a way to recover from this failing. For example, removeNotificationAddress appears not won't work if you try to remove the wrong address, so therefore it must know what the correct address is, so why can't the back end just remove the correct address in the first place? In other words, it knows what really needs doing, but it is just refusing.
"Error while executing the operation", I cannot help you with, as I can't reproduce this due to the mail settings being stuck in "Custom settings". However, my point still stands: this message told me nothing, and gave me no clues. There was nothing I could possibly do with that error message. Unfortunately I cannot tell you where it originated as this appears to be a default message reported when a fault occurs without a specific error message. I can only advise that error handling be reviewed so that errors are properly reported.
It should be clear from any error message what went wrong and what needs to be done about it (and by whom).
Also, "Send Test Mail" should be available before Save, so that you don't lose your valid settings when the test fails, but I guess that cannot be achieved due to whatever you are doing to Postfix.
However, just for the record:
OnlyOffice <IP_ADDRESS>3, Debian 8.11 64-bit, using Docker.

Hello @Daniel-Beardsmore, we found a bug. Please execute the following command on the host:
docker exec -it onlyoffice-mysql-server mysql -pmy-secret-pw -e"use onlyoffice; delete from webstudio_settings WHERE id = 'c440a7be-a336-4071-a57e-5e89725e1cf8';" && docker exec -it onlyoffice-community-server service monoserve restart

For the other error:

This occurs when clicking "Send Test Mail"
From the browser console:
SmtpSettingsView: AjaxPro.onTimeout Arguments { 0: 15000, 1: Object, 2 more… }  Pbap8eErLvjD4rYdaDJdQA2.js:13:2437
vt/AjaxPro.onTimeout http://$DOMAIN/discbundle/common/javascript/Pbap8eErLvjD4rYdaDJdQA2.js:13:2437
AjaxPro.Request.prototype.timeout http://$DOMAIN/discbundle/common/javascript/head-q5hB_tOEvKBx5b90bOrLtw2.js:39:95475

Hello @Daniel-Beardsmore, we are analyzing the problem. We will notify you as soon as there is a result.

First, record the logs before testing:
$ docker container logs onlyoffice-community-server > OOCS-before.log
$ docker container logs onlyoffice-mail-server > OOMS-before.log
Next, record the logs after clicking "Send Test Mail" in SMTP Settings:
$ docker container logs onlyoffice-mail-server > OOMS-after-test.log
$ docker container logs onlyoffice-community-server > OOCS-after-test.log
Finally, record the logs after resending the administrator user's test mail
$ docker container logs onlyoffice-community-server > OOCS-after-resend.log
$ docker container logs onlyoffice-mail-server > OOMS-after-resend.log
Log comparisons:
$ diff -u OOCS-before.log OOCS-after-test.log
$ diff -u OOCS-before.log OOCS-after-resend.log
$ diff -u OOMS-before.log OOMS-after-test.log
$ diff -u OOMS-before.log OOMS-after-resend.log
As you can see, neither attempt logged anything that Docker was able to discern. I've yet to locate what Send Test Mail logs — nothing seems to happen.
The first time I set up the containers, I got my activation mail. The second time I set up the containers (same command, just with Linux-safe passwords), I got my activation mail.
The third time I set up the containers (same exact command as before), I never got the activation e-mail that should have gone to my regular address. Having chosen "Mail Server Settings" for SMTP Settings, mail is still dead. Yet, I used the mail command in SSH inside the onlyoffice-mail-server container to send a message and it was logged in Postfix and delivered, so that container logs mails properly and delivers mail to me. However, onlyoffice-community-server and onlyoffice-mail-server don't seem to talk to each other.
The problem — which is the actual issue reported — is that the error messages (and logging) are insufficient for troubleshooting.

Ah, OK, the front end seems to be forcing the timeout;
/var/log/onlyoffice/nginx.access.log:
<IP_ADDRESS> - - [09/Aug/2018:15:12:47 +0000] "POST /ajaxpro/ASP.usercontrols_management_smtpsettings_smtpsettings_ascx,UserControls.Management.SmtpSettings.ashx HTTP/1.1" 499 0 "http://$DOMAIN/management.aspx?type=10" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0"
nginx error 499 means that the client closed the request before the server could respond.
(I installed lsof and tracked down via netstat+lsof where port 80 was being logged.)

Also, after setting this:
AjaxPro.timeoutPeriod = 60 * 5 * 1000;
Now I get:
POST XHR http://$DOMAIN/ajaxpro/ASP.usercontrols_management_smtpsettings_smtpsettings_ascx,UserControls.Management.SmtpSettings.ashx [HTTP/1.1 200 OK 127869ms]
SmtpSettingsView: AjaxPro.onError Object { Message: "Connection timed out", Type: "System.Net.Sockets.SocketException" }  Pbap8eErLvjD4rYdaDJdQA2.js:13:2243
However, there is no log in /var/log/onlyoffice reporting the above timeout, or what it was trying to connect to. netstat shows no attempts to connect between the community server container and the mail server container on any port.
(Second attempt was 227306 ms, third was back down to 127239 ms, which is very odd.)

Closed for a reason - there has been no activity for a long time.


error with docker 2.0.15

watchtower updated to 2.0.15 (latest) 3h ago. After login to the site I get "unable to fetch user: pq: column "keyboard_shortcuts" does not exist" error. Fever-api in the background semms to work. thank you!

This happens on the new 2.0.16. It looks like a build error update old containers with the new version as well. Oops. :joy:

I'm messed up the docker images yesterday by overriding 2.0.15 with 2.0.16. It should be fixed now. You may have downloaded the images when I was doing that.

@fguillot What should we do about the "keyboard_shortcuts" does not exist" error in 2.0.16?
Do we need to do a fresh install?

You need to run the database migrations as mentioned in the docs:

https://miniflux.app/docs/upgrade.html
https://miniflux.app/docs/installation.html#docker

@fguillot apologies I only checked release-notes. Thank you.

all running again! implemented (- RUN_MIGRATIONS=1) in my yml for future updates. thank you very much for your quick response and your work on this sunday!


[KED-2381] Improve responsive zoom approach

Description
Improves responsive zoom approach to work as follows, in order of precedence

once, after any graph or sidebar change

fit whole graph
centre whole graph
crop graph when reaching a minimum usable scale

once, after an element is selected

respect the above constraints, and
ensure node is clearly visible between panels
apply an increased minimum scale

once, after a browser resize

respect all the above constraints

at any other time

allow user pan and zoom freely within extents

Development notes
This functionality is a usability improvement and is much needed as new sidebars are being added.
A follow up PR will refactor the view system in general now that it is outgrowing its current shape.
QA notes
Use the above description as a guide for requirements and testing.
Note that some edge cases may not appear to be an 'optimal' view, but none should be broken.
This will include testing in various combinations:

open / closed sidebar and metadata panel
resizing the browser to various viewport sizes / aspect ratios
different graph aspect ratios (square, wide, tall)
selecting elements on the sidebar and on the chart
selecting tags and pipelines
toggling labels

Checklist

[x] Read the contributing guidelines
[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added new entries to the RELEASE.md file
[ ] Added tests to cover my changes

Legal notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Thanks @bru5 , the new improvement looks good! I added a comment about the new test setup as it seems to be too generic and doesn't really cover the scenerios that this PR has set out to solve, but I guess that could be covered in your next PR if it also touches on the same sidebar concerns.
On another note, when you mentioned that new sidebars are added, are you referring to the new 'panels' on the right ( such as code panels, etc) are added?

Thanks @bru5 , the new improvement looks good! I added a comment about the new test setup as it seems to be too generic and doesn't really cover the scenerios that this PR has set out to solve, but I guess that could be covered in your next PR if it also touches on the same sidebar concerns.
On another note, when you mentioned that new sidebars are added, are you referring to the new 'panels' on the right ( such as code panels, etc) are added?


iOS Crash when calling Purchases.configure with error configureWithAPIKey unrecognized selector sent to class

[X] I have updated Purchases SDK to the latest version
[X] I have read
the Contribution Guidelines
[X] I have searched the Community
[X] I have read docs.revenuecat.com
[X] I have searched
for existing Github issues

Describe the bug
A clear and concise description of what the bug is. The more detail you can provide the faster our
team will be able to triage and resolve the issue. Do not remove any of the steps from the
template below. If a step is not applicable to your issue, please leave that step empty.
I'm trying to integrate the KMP SDK into a KMP app (including the Paywall UI). However when calling from KMP
val purchasesConfig = PurchasesConfiguration(apiKey) {
   appUserId = userId
}
Purchases.configure(purchasesConfig)

The iOS app crashes with the error:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[RCPurchases configureWithAPIKey:appUserID:purchasesAreCompletedBy:userDefaultsSuiteName:platformFlavor:platformFlavorVersion:storeKitVersion:dangerousSettings:shouldShowInAppMessagesAutomatically:verificationMode:]: unrecognized selector sent to class 0x106566110'

Environment

Platform: iOS
SDK version: 1.0.1+13.2.1
OS version: 17.2
IDE (e.g. Android Studio, Xcode, Fleet): Android Studio , Xcode
IDE version: Android Studio Koala Feature Drop | 2024.1.2, Xcode Version 15.2 (15C500b)
Device and/or emulator/simulator:

[x] Device
[X] Emulator/simulator

Environment:

[X] Closed testing / Sandbox
[ ] TestFlight
[X] Production

How widespread is the issue. Percentage of devices affected. 100%

Debug logs that reproduce the issue
No logs as the SDK is not able to initialize.
Steps to reproduce, with a description of expected vs. actual behavior

Add Purchases.configure(purchasesConfig) to KMP
Run the app.
Expected
SDK is initialized
Actual
App Crashes

Other information (e.g. stacktraces, related issues, suggestions how to fix, links for us to
have context, eg. stackoverflow, etc.)
I added a Pod to link the Hybrid framework as in the docs. This is my Pod.lock

PODS:
  - PurchasesHybridCommon (13.2.1):
    - RevenueCat (= 5.3.3)
  - RevenueCat (5.3.3)

DEPENDENCIES:
  - PurchasesHybridCommon (= 13.2.1)

SPEC REPOS:
  trunk:
    - PurchasesHybridCommon
    - RevenueCat

SPEC CHECKSUMS:
  PurchasesHybridCommon: 7955b21cc5a8be78cea6dcf92f3906f3e5cec972
  RevenueCat: d9e8b1b56bf81483cf8bb902a952a2da8749b964

PODFILE CHECKSUM: 40220c225a9794bced0d516b00d95455a7211622

COCOAPODS: 1.15.2

This is my lib.versions.toml
revenuecat-purchases = "1.0.1+13.2.1"

revenuecat-purchases-core = { module = "com.revenuecat.purchases:purchases-kmp-core", version.ref = "revenuecat-purchases" }
revenuecat-purchases-datetime = { module = "com.revenuecat.purchases:purchases-kmp-datetime", version.ref = "revenuecat-purchases" }
revenuecat-purchases-ui = { module = "com.revenuecat.purchases:purchases-kmp-ui", version.ref = "revenuecat-purchases" }

This is my gradle
kotlin {
...
listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
            isStatic = true
            ...
        }
    }

sourceSets {
        commonMain.dependencies {
         ...
        implementation(libs.revenuecat.purchases.core)
        implementation(libs.revenuecat.purchases.datetime)
        implementation(libs.revenuecat.purchases.ui)

**Additional context**
KMP app, targeting android and iOS only. using XCframeworks
other possible relevant versions:
agp = "8.4.1"
kotlin = "2.0.0"
jetbrains-compose = "1.6.10"

Hi, thanks for the detailed bug report! I'm not entirely sure what's going wrong, as everything you shared looks correct.
The "unrecognized selector" error usually points to the linked framework (pod) being different from what the Kotlin code expects.
Some thoughts/questions/leads:

Could it be that you had specified the RevenueCat pod first, and specified the PurchasesHybridCommon pod later? If so, did you run pod install --repo-update afterwards? (Can't hurt to run that again, just in case.)
When it crashes in Xcode, could you run po 0x106566110 in the lldb command prompt in the bottom right? Note that the memory address (0x106566110) is likely different each time, so make sure you use the actual address reported in the crash.
Probably unrelated to the crash, but since you mentioned you'd like to use Paywalls, you'd need to specify the PurchasesHybridCommonUI pod. You can then omit PurchasesHybridCommon. Don't forget to run pod install --repo-update after you made that change.

Thanks @JayShortway will try again and paste the results shortly. Is there a way of achieving this without having to use CocoaPods? I'm not using them in my project and had to include them because of this.
I'm currently using https://github.com/mirzemehdi/KMPRevenueCat which doesnt need me to use Cocoapods and trying to migrate to the official one.
Also FYI the UI library is missing from the official docs installation section and the SDK reference,

Is there a way of achieving this without having to use CocoaPods?

Thanks for this feedback. You're the third one to ask, so it seems we should do something about it. 😄 The PR linked above should make it possible to integrate without CocoaPods.

Also FYI the UI library is missing from the official docs installation section and the SDK reference,

Regarding the Paywall docs, they are separate: https://www.revenuecat.com/docs/tools/paywalls. Regarding the SDK reference, you are right! That should be fixed by https://github.com/RevenueCat/purchases-kmp/pull/207, meaning they'll get updated with our next release.

Hi @brahyam, you should now be able to integrate PurchasesHybridCommonUI without CocoaPods. Here's the URL to the repo: https://github.com/RevenueCat/purchases-hybrid-common/. Let me know how this works for you!

Oh boy, I am so looking forward to this. I only started the CocoaPods integration because of the Paywall, but that has been a lift that has stalled me for a week now. Will see if I can try with the SPM side of things, thank you.

FYI @JayShortway I've tried a couple of different ways to add the Repo via Swift Package Manager and cannot get it to resolve. Maybe it's just me? I've tried both
https://github.com/RevenueCat/purchases-hybrid-common/

and
https://github.com/RevenueCat/purchases-hybrid-common.git

@adrianegraphene Thanks for figuring this out! It's probably because the Package.swift file doesn't exist at the 13.2.1 tag. Will get a new release out so this workaround is no longer needed.

@adrianegraphene @brahyam Just FYI: starting with version 1.1.0+13.3.0 you should be able to integrate PurchasesHybridCommonUI using the 13.3.0 version instead of the commit.

@JayShortway I just tried and I'm still getting the same error as @adrianegraphene (using both urls he mentioned)

I even tried using a commit number but still fails. But I clicked on add anyway and it worked.
Could it be because I still had the regular iOS RC package added?. After adding this one the package sync was failing to I had to remove the iOS one and reset packages cache for it to work.
Would be great if you could update the docs to show this way of adding it without using pods


Add Arduino starter code for BBC micro:bit

I want to add a new device support for LINE Things Starter.
https://twitter.com/hktechno/status/1078185268941795330
We can use same LIFF app and same feature without external parts.
However, board and library installation is a bit tricky than other devices.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[WIP] temperature calibration

@dagar I pushed a commit fixing logging here. I can test tomorrow morning.

Note that for valid results you HAVE TO recalibrate using this branch! You will not have valid temperature coefficients else.

@dagar Log file comes out ok, but the data doesn't look good yet. The gyro data is pretty wrong (off by a factor of 1 mn and zero most of the time).

@dagar Any motivation / time to look into this over the weekend?

@dagar Any motivation / time to look into this over the weekend?

Sorry just moved. I'll start working on this next week once things are back to normal.

Sorry just moved. I'll start working on this next week once things are back to normal.

The logging is working now, but the onboard compensated value is busted. I'll compare the current state of this PR to the original PR #1943 to see if something was missed during the rebase.

@LorenzMeier I still need to cleanup and think through the desired workflow, but this is now working rebased on master and ready for more testing.

Fantastic! My main goal would be now to ensure we can merge this with safe defaults.
@priseborough @bugobliterator You will likely be interested as this allows much tighter Kalman variances since a lot of the uncertainty about the offset is gone.

This is likely nearly safe to merge, but probably sufficiently awkward to use it will be ignored and then we won't get testing.
Current limitations
-calibration requires matlab and then hard coding coefficients
-only supports accel0 and gyro0 and must be mpu6000
-mag not implemented
For next steps I was thinking about pulling all the offline calibration work into a python script that updates the temp calibration params over mavlink. Thoughts?

Putting this on hold for now unless there's more interest. In my personal usage I've found the temperature of my pixhawk stabilizes fairly quickly in an enclosed avionics bay.

TODO:

[ ] verify accel
[ ] add param to use mpu6000 tc values in sensors

@dagar Can you provide an update where this is standing? If needed I can probably assign a person to push this forward.

@LorenzMeier the main reason this stalled is my matlab license expired.
Things outstanding

accel testing/validation (I was mostly looking at gyro)
cleanup sensor 0 assumptions

there are a few stupid sensor == 0 checks that should be handled more intelligently.
https://github.com/PX4/Firmware/pull/3390/files#diff-cb5386494d2ac00baa53ed805c1b9e9dR1558

how to handle actually using the corrected values
currently it's a param SENS_TEMP_COMP, but later we could do away with the duplication
test actually using the corrected values in the estimators and decide if we want to keep and log both the original and tc

If you want to get this going again I can resolve the current conflicts and get a good log from -10C to ~50C this weekend. If someone could jump in and review the data and calculated corrections (matlab), I'll try testing actually using the corrected values, perhaps even in flight if it goes well.
Longer term how do you want to handle updating the values that are currently hard coded and inserted during regular calibration?

Jenkins test this please

@dagar Do you see an easy path to replace our Matlab scripts with Octave? (https://www.gnu.org/software/octave/) That should work. Or go straight to Python?

Octave doesn't have tdfread. - https://github.com/PX4/Firmware/pull/3390/files#diff-05363778d4ba69c616097164113ff11fR13

@priseborough @bugobliterator This is a good starting point. What we need to do is to refactor it a bit to match this concept:

The only open question is if we make an ACCEL_OFFSET(0,1,2) topic or a SENSOR_CALIBRATION topic with everything and an array of sensor ID -> data.

@dagar Making a real push now to implement this. Please let us know if you have bandwidth or at least comments.

@LorenzMeier looks good. I'm just wondering whether applying the offsets directly within sensor hub makes sense. But then any other module using a sensor directly would not have the offsets.

Yep, that was the thinking. It would be good to have a data path that is super low-latency straight from the sensor.

A few design requirements for the sensor hub:

Latency sensitive consumers should have the option of taking raw data directly from the sensor and applying the offsets and scale factors using calibration corrections from the sensor hub.
Bias estimates published by the sensor hub will be a sum of the  the a-priori temperature dependant calibration data and the EKF bias estimate.
Topics containing sensor data should make a clear distinction between whether data is corrected or uncorrected.
The EKF can use data that is corrected for temperature effects, but the data it receives must not be corrected dynamically using the EKF bias estimates, other wise we effectively double the Kalman gains for the bias states in addition to the corrections being delayed due to the EKF delayed fusion time horizon.
EKF bias estimates may be used to update the calibration tables for the next switch-on.
It should to be backwards compatible with the exisiting offset and scale factor parameters and work with the exisiting sensor calibration workflow
An on-board calibration mode is preferable to one that requires external tools

I don't have the C++ skills to do the refactoring from scratch , so what is the availability of @bugobliterator and @dagar  to help with that part of the work?
The other aspect is the calibration workflow including logging and any tools required.

@priseborough @LorenzMeier I won’t be available from 15th to 25th, other than that I am available to give time to this.
On Fri, 09 Dec 2016 at 6:19 PM Paul Riseborough
<
mailto:Paul Riseborough<EMAIL_ADDRESS>
wrote:

a, pre, code, a:link, body { word-wrap: break-word !important; }
A few design requirements for the sensor hub:
Latency sensitive consumers should have the option of taking raw data directly from the sensor and applying the offsets and scale factors using calibration corrections from the sensor hub.
Bias estimates published by the sensor hub will be a sum of the the a-priori temperature dependant calibration data and the EKF bias estimate.
Topics containing sensor data should make a clear distinction between whether data is corrected or uncorrected.
The EKF can use data that is corrected for temperature effects, but the data it receives must not be corrected dynamically using the EKF bias estimates, other wise we effectively double the Kalman gains for the bias states in addition to the corrections being delayed due to the EKF delayed fusion time horizon.
EKF bias estimates may be used to update the calibration tables for the next switch-on.
It should to be backwards compatible with the exisiting offset and scale factor parameters and work with the exisiting sensor calibration workflow
An on-board calibration mode is preferable to one that requires external tools
I don't have the C++ skills to do the refactoring from scratch , so what is the availability of
https://github.com/bugobliterator
and
https://github.com/dagar
to help with that part of the work?
The other aspect is the calibration workflow including logging and any tools required.
—
You are receiving this because you were mentioned.
Reply to this email directly,
https://github.com/PX4/Firmware/pull/3390#issuecomment-266006014
, or
https://github.com/notifications/unsubscribe-auth/AFbvCCOBBpxAcWKhMeW10jNPPJmPj-mcks5rGU5JgaJpZM4G7YUN
.

Here is a way that this could be put together faster than a complete re-factor, and something that I would be start now as it doesn't require creating new modules and/or classes. I would however require some help with the data storage and retrieval.
Phase 1 - minimum work required to get it working:

Create a uORB topic called sensor_corrections which contains the offsets  to be applied to each sensor
Create a uORB topic called estimated_imu_bias for the IMU sensor bias estimates calculated by the nav estimator.
Update estimators to publish to estimated_imu_bias.
Add the calculation of temperature dependant sensor offsets to sensors.cpp. Assistance with the data storage and retrieval concept is required here.
Update sensors.cpp to apply corrections to all data published on the sensors_combined topic. For angular rate and accel data, this will also include corrections calculated using data from estimated_imu_bias. For delta angle and delta velocity data it will NOT use any data from estimated_imu_bias.
Update sensors.cpp to publish to sensor_corrections.
Update documentation for all uORB topics containing sensor data making it clear what corrections are included and what are not.

Phase 2 - refactoring of controllers to reduce latency (@MaEtUgR for info)

Remove angular rates from the control_state topic
Update all consumers of control_state angular rates to take the rates from the sensor_gyro topic and correct using data from sensor_corrections if latency critical, or optionally from sensors_combined if not latency critical.
Modify latency critical consumers of gyro rate data mc_att_control and fw_att control, to wake on sensor_gyro and not control_state.

I've started a Google Document here: https://docs.google.com/document/d/1GHzjsPTfSUAxYGPNlXSL7FYkxFcq76jTfsaquc57Rww/edit?usp=sharing

@priseborough Yes, we should indeed do the temp calibration / compensation automatically onboard once we detect the board being stationary and a full ramp (and maybe some command from the GCS, need to see about that).

And I forgot to respond to the phases proposal: I would indeed perform it in two phases.

Busy right now, but I can make time for this over Christmas if no one else is available. I definitely don't want this left to bitrot again.
I need to review the design and existing sensor pipeline usage, but one thought for handling it within sensors is to avoid having to add support in every single driver.

I'm closing this since we are working on a new branch based off the results here. Thanks everybody for contributing!

I through up some example analysis in the google doc for doing it offboard with px4tools in case anyone is interested.
https://plus.google.com/u/0/photos/albums/pjef7ab3qjpbbn8187fdtb5c8dd103fvr?pid=6372183916828934994&oid=102578156468562321452

@dagar Is tdfread the only Octave-incompatible function in the Matlab scripts? It looks a lot like a function I wrote for my sysid stuff: https://github.com/kd0aij/impulse-response/blob/master/src/imp_resp/loaders/tdfread.m

@kd0aij I believe so, but I think we've moved on from needing those scripts.


Archlinux packaging

Having this on the aur (and possibly on main when ironed out) would be great.
I have already packaged it for my personal repo here.
I already have experience packaging on the aur so if you don't want to maintain it there I'll gladly do it.

Creating AUR package would be amazing. Unfortunately right now I am unable to test PKGBUILD script and maintain package, so I will be grateful if you do that. Can I choose you as an Assignee for this task then?
What should I do to make it possible? Steps I have already done:

made Makefile more usable in package() function of PKGBUILD
created version tag v0.1

Here is an example of PKBUILD I tried to write myself, it slightly differs from yours (can't test any of them though):
pkgname=micromess
pkgver=0.1
pkgrel=1
pkgdesc="A simple X pop-up"
arch=('x86_64')
license=('MIT')
url="https://github.com/kompoth/micromess"
source=("${url}/archive/v${pkgver}.tar.gz")
depends=('libx11' 'libxrandr' 'libxft')
makedepends=('???')
sha256sums=('???')

build() {
  cd "{$pkgname}-${pkgver}"
  make
}

package() {
  cd "{$pkgname}-${pkgver}"
  make PREFIX="$pkgdir/usr" install
}

Main points here:

source now is tagged version
more compact package()
dependencies (I am not sure if this works, I was looking on lemonbar and dwm PKGBUILDs)

I am not sure about makedepends and checksum variable (do we need it?).

No worries, by all means assign me.
I've tested your PKGBUILD and it didn't build at 1st as there were a few issues.
I like the new make install.
writing a PKGBUILD requires following some guidelines you can read more about them here and here.

currently micromess is a -git package, that's analogous to nightly builds, the users are always getting the latest commit.

PKGBUILD allows vsc based version bumping so it automatically marks itself outdated when a new commit is pushed (also updated the PKGBUILD itself).

makedepends is an array of all dependencies used to compile the package.

checksums aren't required and can be added anytime.

I've reflected all of the above into the new PKGBUILD

Excellent, thanks. Especially for version bumping, that's interesting. I thought, that package maintainer has to update PKBUILD for every version or at least write some script to track versions changes. But it turned out to be much easier to do that.
Could you please load this PKGBUILD to aur?

done


Measure XRD sample preparation height to correct peak shifts

Automated XRD sample prep can sometimes lead to piles of powder that are taller than we want. This leads to a positive shift in diffracting angles. If we can measure the height of this pile, hopefully we can correct our diffraction pattern.

I have a meeting with SICK sensors to discuss distance sensor options. I will ask about ultrasonic vs optical sensors, particularly interested in sensitivity to material properties.
If we can identify the right sensor, we could position it to measure the height of powder on the XRD holder during sample prep. This could be:

at an angle to provide a clear path for the robot arm.
directly above the xrd sample holder, but then we need to move it in/out of position with a linear actuator

Yuxing measured MgO XRD with different heights (minimum height by human, higher by the robot arm, and even more heightened by human).
Bernard and Yuxing tried refining it to get different sample displacements. This is to do a sanity check. Results are coming soon.

Yuxing had the robot prepare the four duplicate samples again, now with 20% wt. NaCl included. By refining the patterns from these samples, he was able to identify the peak shifts and correct for them. On the corrected patterns, autoXRD gave much more consistent predictions.
Moving forward: more tests need to be done to determine whether the shifts are uniform. If so, we can apply some average shift for each sample (without requiring the addition of some internal reference). If this doesn't work, perhaps we can add a bit of the known reference to each sample.

Need to rethink if this is still necessary given the refinement we could already do?


bug: TFSec crashes pipeline with error referring to the default_action_deny check when run against an Azure Storage Account

Describe the bug
When run against an Azure Storage Account, TFSec crashes pipeline with error referring to the default_action_deny check when   network_rules - default_action is set as a variable in an env.hcl file when using Terragrunt for the build process.
To Reproduce
Steps to reproduce the behavior:
Run TFSec v1.19.1 against an Azure storage account. We are running in a pipeline using "/root/go/bin/tfsec --force-all-dirs"
Error detailed below is displayed.
This is occurring even after adding an ignore comment for the check:
#tfsec:ignore:azure-storage-default-action-deny
Expected behavior
TFSec runs and checks storage account resources and returns issues if present.
Screenshots/Output
Error: scan failed: job failed: runtime error: invalid memory address or nil pointer dereference
goroutine 187 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:24 +0x65
github.com/aquasecurity/defsec/pkg/scanners/terraform/executor.(*infraRuleJob).Run.func1()
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/pkg/scanners/terraform/executor/pool.go:128 +0x45
panic({0x11fe580, 0x203c560})
/usr/local/go/src/runtime/panic.go:1038 +0x215
github.com/aquasecurity/defsec/internal/rules/azure/storage.glob..func2(0xc000991c00)
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/internal/rules/azure/storage/default_action_deny.go:37 +0x174
github.com/aquasecurity/defsec/internal/rules.RegisteredRule.Evaluate({0xab, {{0x1375473, 0xc}, {0x0, 0x0}, {0x138263f, 0x13}, {0x13e3287, 0x49}, {0x13f7a22, ...}, ...}, ...}, ...)
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/internal/rules/register.go:26 +0x3b
github.com/aquasecurity/defsec/pkg/scanners/terraform/executor.(*infraRuleJob).Run(0x1340380)
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/pkg/scanners/terraform/executor/pool.go:132 +0xf9
github.com/aquasecurity/defsec/pkg/scanners/terraform/executor.(*Worker).Start.func1(0x0, 0xc0004dad40)
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/pkg/scanners/terraform/executor/pool.go:274 +0x2a
github.com/aquasecurity/defsec/pkg/scanners/terraform/executor.(*Worker).Start(0xc0004dad40)
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/pkg/scanners/terraform/executor/pool.go:279 +0xb6
created by github.com/aquasecurity/defsec/pkg/scanners/terraform/executor.(*Pool).Run
/root/go/pkg/mod/github.com/aquasecurity/defsec@v0.46.3/pkg/scanners/terraform/executor/pool.go:55 +0xef
##[error]Bash exited with code '1'.
Finishing: TFSec Static Code Analysis
System Info

tfsec version: 1.19.1
terraform version: 0.15.4 Provider version 3.4.0
OS: Ubuntu 20.04.4 LTS

Example Code
resource "azurerm_storage_account" "storage" {
account_kind                           = var.sa_kind
account_replication_type        = var.sa_replication_type
account_tier                            = var.sa_tier
location                                   = "North Central US"
min_tls_version                       = "TLS1_2"
name                                      = "${var.tenant}${var.subscription}${var.sa_name_short}sta"
resource_group_name           = var.resource_group_name
network_rules {
default_action                     =  var.sa_network_rules_default_action
ip_rules = [
]
}
}
variable "resource_group_name" {}
variable "sa_kind" {}
variable "sa_name_short" {}
variable "sa_network_rules_default_action" {}
variable "sa_replication_type" {}
variable "sa_tier" {}
variable "subscription" {}
variable "tenant" {}
Variable is set as follows in the env.hcl file:
sa_network_rules_default_action                   = "Allow"
Additional context
If we hardcode the  "default_action" TFSec works as expected.
If we set a default for the variable to Allow or Deny, TFSec works as expected.
If a terraform.tfvars file is included in the directory and has a value for the variable, it works if we are setting the switch to use it:
tfsec --force-all-dirs --tfvars-file terraform.tfvars
We would like to see this work to look for values in an env.hcl file that is stored two folders above the deployment in the folder structure.

We found a workaround where the env.hcl variables file can be parsed as part of the Terragrunt run. Calling TFSec using a before_hook as below in a top-level terragrunt.hcl file and runs tfsec prior to the Plan but after it has gathered the variables it needs:
terraform {
before_hook "before_hook" {
commands = ["plan"]
execute  = ["/root/go/bin/tfsec", "."]
}
}


dev: support for cairo-lang 0.8.1 in tests

Cairo 0.8.1 changes some locations of internal python objects. This, of course, breaks imports. This PR makes the imports work for 0.8.1 as well as for the previous versions. However, since the testenv is set up to always install the latest version of cairo-lang, maybe supporting the older ones is not necessary?

Considering how often Cairo releases braking changes, and how the whole ecosystem of tooling drops support, I don't think it makes sense to be retrocompatible at this stage.

Good point. Force-pushed an update w/ only 0.8.1 compatibility.

@milancermak thanks! 🎉


hashable & equalable

When writing unit tests, I'd like to use app.dependency_overrides to replace RateLimiter with a stub.
pseudo code
def test_hoge():
  app: FastAPI
...
  app.dependency_overrides[RateLimiter(times=60, minutes=1)] = lambda: True

related to:

https://github.com/long2ice/fastapi-limiter/issues/27

@long2ice I would like you to confirm this change 🙏
And I hope you will release a newer version.


[5.4] Nested transactions in sql server not rolling back properly

Laravel Version: 5.4.24
PHP Version: 7.0.9
Database Driver & Version: SQL Server 2012 / mssql

Description:
At the place I work, I was working on changing some tests to make sure the feature was properly tested by not mocking all the calls, and I found this weird bug.
When using nested transactions (for example when using the DatabaseTransactions-trait and testing a piece of software that uses it's own transactions), the (to be tested) transaction seems to be committed prematurely and can't be rolled back by calling ->rollBack() on the connection.
Steps To Reproduce:
(optional) Composer install orchestra/testbench
Use either DatabaseTransactions or paste the following into your (orchestra) TestCase file:
    /**
     * Setup the test environment.
     */
    public function setUp()
    {
        parent::setUp();

        $this->app->make('db')->connection('your_sqlserv_db')->beginTransaction();

        $this->beforeApplicationDestroyed(function () {
            $this->app->make('db')->connection('your_sqlserv_db')->rollBack();
        });
    }

This makes sure the whole test is encapsulated in a transaction.
Create a model and provide it the sql server connection ("your_sqlserv_db") and create a model factory for it. In the testfile, I chose to use the User model.
Next, run the following testfile:
class TransactionTest extends TestCase
{
    /** @test */
    public function it_works()
    {
        // We should have zero users at this point
        $this->assertCount(0, User::all());

        // Begin another transaction
        DB::connection('your_sqlserv_db')->beginTransaction();

        // Create a user
        factory(User::class)->create();

        // Rollback creating the user
        DB::connection('your_sqlserv_db')->rollBack();

        // Assert the user is properly discarded of
        $this->assertCount(0, User::all()); // This will error and tell us there is 1 user
    }
}

Then run the testcase with phpunit
Results in:

Fixed in https://github.com/laravel/framework/pull/19439


Fix short descs for opensnoop and tcpconnect

The current description for tcpconnect seems wrong: "Suggest Kubernetes Network Policies", that's not what the bcc tcpconnect tool does.
The one for opensnoop looks weird compared to the others: "Trace files" vs "Trace IPv4 and IPv6 bind() system calls".
This change fixes tcpconnect to match the description from the bcc tools and the opensnoop one to be more similar to the bindsnoop one.

Ping? I've updated the text as requested. Could you take another look? Thanks!


Display how much funds receiver gets via online and offline transactions

For online transactions add info how much funds will get the recipient (after fees). https://zpl.io/bA3NzMq

For offline transactions add info how much funds will get the recipient (after fees). https://zpl.io/aM36MoK

For Max anonymity transaction add info how much funds will get the recipient (after fees). https://zpl.io/aN3xLvZ

For Public offline transaction add info how much funds will get the recipient (after fees). https://zpl.io/a73gKGR

not actual

irrelevant as receiver will get all amount. fee is taken from sender's


FID scores

This is a good jod！Great work! I am inspired by it.  However, I have some minor issues.
I'm curious about the difference between stable diffusion of CompVis and the diffusers in this repository. Are they different implementations of the same method?
Another concern is whether fine-tuning ，even with regularization，would affect FID scores for other categories？
Thanks.

Hi, thanks for the interest in our work and sorry for the delayed response.
The CompVis and diffusers are different implementations of the same method. The diffusers version also consists of chatGPT API to generate the prompts corresponding to the concept being ablated whereas CompVis implementation requires a text file with those prompts as an argument.
Thus it might be easier to use one or the other implementation for ablating a new concept based on whether you want to provide your own prompts or have a chatGPT access key.
Regarding the FID scores for other categories, we calculated the FID on MSCOCO dataset and found no significant difference. Thus the ablation process probably doesn't affect the unrelated concepts.


Improve debug logging for "Permission denied"

permissionCheck has no logging.
Adding debug log for permissionCheck will help to find the cause of permission denied errors easily.

Build failing


feat: support deconv (1d, 2d, and Nd) dynamo converter

Description
Support deconv (1d, 2d, and Nd) dynamo converter.
Fixes #2207
Type of change

New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project (You can use the linters)
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[x] I have added tests to verify my fix or my feature
[x] New and existing unit tests pass locally with my changes
[x] I have added the relevant labels to my PR in so that relevant reviewers are notified

Sure! Actually I've implemented conv_transposeNd but when I did test I found they were not used while converting. For testing, do you know which PyTorch ops corresponds to these converters?

I would guess the ConvTransposeND like this operator, but these also may just end up as convolution with the boolean transpose specified. If it is not worthwhile with the argument schemas to add conv_transposeNd, then we can add a lowering pass for these

these also may just end up as convolution with the boolean transpose specified.

Yes, I found it ends up as convolution with the boolean transpose specified. That's why I didn't add conv_transposeNd. If adding conv_transposeNd, since the args are different, we need to add a new function instead of decorators. Or, just like you said, do it in lowering phase.


Forgot password expects username, but asks for email - should use username OR email

Since I moved over to auth0 OR dbAuth, I should allow for either the username (dbAuth) or the email (both dbAuth or Auth0), however, that will require some extra stuff...

closing as duplicate of #155