Server upgrade fails if Redis cache enabled in .env file

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
Performing upgrade from 0.9.2 to 0.10.0 fails if Redis is enabled (uncommented) in .env file. It fails because during migration, it tries to access the cache engine but fails since during upgrade, this container is not started normally.
After commenting its relevant lines in .env file, the migration completes succesfully.
Steps to Reproduce

Take data from 0.9.x server
Enable Redis cache in .env file
Invoke upgrade to 0.10.0
Wait for it to fail

Expected behaviour
During backup, Inventree should ignore that the cache is enabled. Or, it should start its relevant container before the migration.
Deployment Method

[X] Docker
[ ] Bare metal

Version Information
Migration from 0.9.2 to 0.10.0, official docker images.
Relevant log output
Running InvenTree database migrations...
========================================
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
Traceback (most recent call last):
  File "/root/.local/lib/python3.9/site-packages/django_redis/cache.py", line 31, in _decorator
    return method(self, *args, **kwargs)
  File "/root/.local/lib/python3.9/site-packages/django_redis/cache.py", line 98, in _get
    return self.client.get(key, default=default, version=version, client=client)
  File "/root/.local/lib/python3.9/site-packages/django_redis/client/default.py", line 260, in get
    raise ConnectionInterrupted(connection=client) from e
django_redis.exceptions.ConnectionInterrupted: Redis ConnectionError: Error -2 connecting to inventree-cache:6379. Name or service not known.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/inventree/InvenTree/manage.py", line 23, in <module>
    execute_from_command_line(sys.argv)
  File "/root/.local/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/root/.local/lib/python3.9/site-packages/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/root/.local/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/root/.local/lib/python3.9/site-packages/django/apps/registry.py", line 122, in populate
    app_config.ready()
  File "/home/inventree/InvenTree/plugin/apps.py", line 45, in ready
    registry.load_plugins()
  File "/home/inventree/InvenTree/plugin/registry.py", line 127, in load_plugins
    self._activate_plugins(full_reload=full_reload)
  File "/home/inventree/InvenTree/plugin/registry.py", line 468, in _activate_plugins
    self.activate_plugin_schedule(plugins)
  File "/home/inventree/InvenTree/plugin/registry.py", line 510, in activate_plugin_schedule
    if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting('ENABLE_PLUGINS_SCHEDULE'):
  File "/home/inventree/InvenTree/common/models.py", line 427, in get_setting
    setting = cls.get_setting_object(key, **kwargs)
  File "/home/inventree/InvenTree/common/models.py", line 365, in get_setting_object
    cached_setting = cache.get(ckey)
  File "/root/.local/lib/python3.9/site-packages/django_redis/cache.py", line 91, in get
    value = self._get(key, default, version, client)
  File "/root/.local/lib/python3.9/site-packages/django_redis/cache.py", line 38, in _decorator
    raise e.__cause__
  File "/root/.local/lib/python3.9/site-packages/django_redis/client/default.py", line 258, in get
    value = client.get(key)
  File "/root/.local/lib/python3.9/site-packages/redis/client.py", line 1606, in get
    return self.execute_command('GET', name)
  File "/root/.local/lib/python3.9/site-packages/redis/client.py", line 898, in execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
  File "/root/.local/lib/python3.9/site-packages/redis/connection.py", line 1192, in get_connection
    connection.connect()
  File "/root/.local/lib/python3.9/site-packages/redis/connection.py", line 563, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error -2 connecting to inventree-cache:6379. Name or service not known.
ERROR: 1

If you made the change to the configuration file, the server expects that there is a redis container also running. I think this is fair to file under "expected behaviour", no?
To make such a change, bare minimum you'd have to pull the containers down, enable the redis container, and spool up the containers again, before running invoke update

Well, during the "invoke update", it is able to start up server and database containers. Also, it's able to expect presence of cache container. And it also knows the name of the container. But it doesn't start it up, takes a long time to make backups and then fail. (I wonder how it makes the backup of database if it can't connect to Redis...)
From my point of view, it would make sense for Inventree to either start that container as well or to ignore caching completely. I would see the latter possibility as more logical since the server is running in a bare minimum mode required for backup-upgrade-migrate task. During those tasks, it is unlikely for database entries to be accessed repeatedly and massively to require caching or to benefit from using it.
Or maybe at the start of upgrade, it could immediately try if Redis is there (it took me maybe half an hour of fiddling with starting upgrade under redis profile only to find out profiles don't work in that case).
You are probably expecting a scenario where only the Inventree container is stopped, upgraded and restarted while leaving DB+cache running. That could be a case where multiple services share the DB/cache, but not if Inventree is ran isolated from other services on that machine - in those cases most people just would perform "docker-compose down", edit the .env file for newer version and then "invoke upgrade", thus not having the Redis container running.
I'm not saying that this is some large problem. People enabling Redis probably know why they're doing it and should be able to debug the issue, but it's still kind of impractical and could jumpscare someone not expecting a stack trace during upgrade.

The current flow is fine in my opinion.

Agreed with @matmair I think this is very much not a "standard" update procedure. And I don't see a clean way to accommodate this.

@SchrodingersGat
But there is still a question - how comes Inventree can make a backup of the SQL database but not run the migrations on it? Doesn't the backup also need access to the databse, thus should also reuire Redis present? (I'm just asking as someone who doesn't understand this stuff very much)

There may be some subtle differences in how the backup function accesses the database - we don't do this directly, we use the django-dbbackup library

So if there are some uncommitted changes to DB pending in Redis, django-dbbackup will ignore these and make a backup of database which is not up-to-date?

Yes. and this is desirable in case the update procedure itself contains a bug. A snapshot of the database is taken before the update so there's a rollback point.

@MR-DOS Redis is only used as a read cache.

@matmair Thanks, if it's read only, then I'm sorry for bothering you. I was just afraid there could be some data inconsistency during backup.

No problem, you could use redis for write-caching/pooling too - we just do not use it. The application becomes very hard to debug once you have that feature enabled and makes it hard for newbies to find errors as you need intricate knowledge of the call stack to diagnose it at that point.


djwt leads to Uncaught (in promise) Error:Unhandled error event reached main worker

I introduced djwt into an application I am building, as soon as I do, I start getting this error:
error: Uncaught (in worker "") TS2304 [ERROR]: Cannot find name 'window'.
  let binaryString = window.atob(b);
                     ~~~~~~
    at https://deno.land/x/god_crypto@v1.4.9/src/helper.ts:60:22
error: Uncaught (in promise) Error: Unhandled error event reached main worker.
    at Worker.#poll (deno:runtime/js/11_workers.js:269:21)

This error starts popping up on just adding the dependencies without even using it.
export {create} from<EMAIL_ADDRESS>
Any ideas on how to debug this? Not sure if it matters, but my application has some logic that already uses workers
PS: Maybe related to this? https://stackoverflow.com/questions/62231656/deno-web-workers-cannot-find-name-window

Hi thanks for reporting this issue @finlaydotb ! It looks like you have found the right cause.


Compilation of DLIB inside Flatpak sandbox fails

I'm trying to build dlib within a Flatpak to ship it with applications that use it but I'm struggling with making it work. Doing so is really interesting to make applications using it trully portable amongst different operating systems.
Expected Behavior
Correct installation of dlib inside the Flatpak sandbox environment
Current Behavior
Installation fails at 77% inside the Flatpak environment:
  [ 77%] Building CXX object CMakeFiles/dlib_python.dir/src/basic.cpp.o
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/matrix.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/svm_rank_trainer.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:96: CMakeFiles/dlib_python.dir/src/matrix.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:135: CMakeFiles/dlib_python.dir/src/svm_rank_trainer.cpp.o] Error 1
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/dlib.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:83: CMakeFiles/dlib_python.dir/src/dlib.cpp.o] Error 1
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/basic.cpp:3:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/other.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/vector.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:161: CMakeFiles/dlib_python.dir/src/other.cpp.o] Error 1
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/decision_functions.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:109: CMakeFiles/dlib_python.dir/src/vector.cpp.o] Error 1
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:148: CMakeFiles/dlib_python.dir/src/decision_functions.cpp.o] Error 1
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:174: CMakeFiles/dlib_python.dir/src/basic.cpp.o] Error 1
    In file included from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pytypes.h:12,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/cast.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/attr.h:13,
                     from /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/pybind11.h:43,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python/pybind_utils.h:6,
                     from /tmp/pip-install-smfahopz/dlib/dlib/../dlib/python.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/opaque_types.h:6,
                     from /tmp/pip-install-smfahopz/dlib/tools/python/src/svm_c_trainer.cpp:4:
    /tmp/pip-install-smfahopz/dlib/dlib/external/pybind11/include/pybind11/detail/common.h:111:10: fatal error: Python.h: No such file or directory
      111 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    make[2]: *** [CMakeFiles/dlib_python.dir/build.make:122: CMakeFiles/dlib_python.dir/src/svm_c_trainer.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/dlib_python.dir/all] Error 2
    make: *** [Makefile:104: all] Error 2
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-smfahopz/dlib/setup.py", line 261, in <module>
        'Topic :: Software Development',
      File "/usr/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.7/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/usr/lib/python3.7/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.7/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-smfahopz/dlib/setup.py", line 135, in run
        self.build_extension(ext)
      File "/tmp/pip-install-smfahopz/dlib/setup.py", line 175, in build_extension
        subprocess.check_call(cmake_build, cwd=build_folder)
      File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j8']' returned non-zero exit status 2.
  Running setup.py install for dlib ... error
Cleaning up...
  Removing source in /tmp/pip-install-smfahopz/dlib
Removed build tracker '/tmp/pip-req-tracker-frsm_lmj'
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-smfahopz/dlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-smfahopz/dlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nbbbceqn/install-record.txt --single-version-externally-managed --compile --user --prefix= Check the logs for full command output.
Exception information:
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 188, in main
    status = self.run(options, args)
  File "/usr/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 407, in run
    use_user_site=options.use_user_site,
  File "/usr/lib/python3.7/site-packages/pip/_internal/req/__init__.py", line 58, in install_given_reqs
    **kwargs
  File "/usr/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 959, in install
    spinner=spinner,
  File "/usr/lib/python3.7/site-packages/pip/_internal/utils/misc.py", line 931, in call_subprocess
    raise InstallationError(exc_msg)
pip._internal.exceptions.InstallationError: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-smfahopz/dlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-smfahopz/dlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nbbbceqn/install-record.txt --single-version-externally-managed --compile --user --prefix= Check the logs for full command output.

Steps to Reproduce
I started with a simple manifest file which simply creates a flatpak for a hello.sh file as follows:
#!/bin/sh
echo "Hello world, from inside of Flatpak sandbox"
python3 --version
python3 -c "import face_recognition"

My com.felixbrezo.FlatpakTest.json manifest file is this one:
{
    "app-id": "com.felixbrezo.FlatpakTest",
    "runtime": "org.freedesktop.Platform",
    "runtime-version": "19.08",
    "sdk": "org.freedesktop.Sdk",
    "command": "hello.sh",
    "finish-args" : [
        "--share=network",
        "--share=ipc",
        "--socket=fallback-x11",
        "--socket=wayland"
    ],
    "modules": [
        {
            "name": "my_first_dep-face_recognition",
            "buildsystem": "simple",
            "build-commands": [
                "/usr/bin/pip3 install dlib --prefix=/app --verbose",
                "/usr/bin/pip3 install face_recognition --prefix=/app --verbose"
            ],
            "build-options": {
              "build-args": [
                "--share=network"
              ]
            }
        },
        {
            "name": "hello",
            "buildsystem": "simple",
            "build-commands": [
                "install -D hello.sh /app/bin/hello.sh"
            ],
            "sources": [
                {
                    "type": "file",
                    "path": "hello.sh"
                }
            ]
        }
    ]
}

Note that the dependencies for running Flatpak and building the environment are as follows.
sudo apt install flatpak flatpak-builder

It can be run with:
flatpak-builder --install --user build-dir com.felixbrezo.FlatpakTest.json --force-clean

Things which are important to know:

Flatpak makes the /app path writable.
The simple build system is a typical way of fixing pip dependencies. More info about why this is important here.
This code runs perfectly, for instance, to install requests module.
I may be missing python-dev-tools, but also experimenting issues when installing them before face_recognition in this case with a OSError as follows:

OSError: [Errno 30] Read-only file system: '/usr/bin/pip3'

Version: 19.20.0
Where did you get dlib: Pip
Platform:  Flatpak
Compiler:

...
    -- The C compiler identification is GNU 9.2.0
    -- The CXX compiler identification is GNU 9.2.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc - 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: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ - works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found PythonInterp: /usr/bin/python3 (found version "3.7.4")
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.7m.so
    -- Performing Test HAS_CPP14_FLAG
    -- Performing Test HAS_CPP14_FLAG - Success
    -- pybind11 v2.2.2
    -- Using CMake version: 3.17.2
    -- Compiling dlib version: 19.20.0
...

To solve the missing <Python.h> dependency, try installing the libpython3.7-dev package.


hide stash drop confirm, when stash push etc.

VS Code Version: 1.58.2

Steps to Reproduce:

stash list, length 1(may doesn't matter)
in the menu of git, try drop one stash, a confirm with message showed on the bottom-right corner
now stash push
click 'yes' to confirm in step2
wrong stash was dropped

Expectation:
I run into this situation today, and it takes me a while to rollback by git fsck
so please hide that wrong stash drop confirm

@Benno-Wu, apologies for not getting back to you on this until now. I have tried to reproduce this issue locally using the latest version of VS Code Insiders and I am unable to do so as when deleting a stash we now show a modal dialog instead of a notification in the lower right hand corner. I will optimistically close this issue as resolved, but please feel free to reopen in case you are still able to reproduce this problem. Thank you!

Verified that a modal shows when a stash is dropped.


Determine ServiceInstances from Proxy labels instead of Pod Spec when possible

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTestsMinProfile-master
b093d4fde3a087f80ceeb6b987161033e3cadc74
link
/test e2e-simpleTestsMinProfile-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTestsMinProfile-master
b093d4fde3a087f80ceeb6b987161033e3cadc74
link
/test e2e-simpleTestsMinProfile-master

istio-pilot-multicluster-e2e-master
b093d4fde3a087f80ceeb6b987161033e3cadc74
link
/test istio-pilot-multicluster-e2e-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-pilot-multicluster-e2e-master
8263eb6920bb5b0d10357972d57b5ea7eee2d6d3
link
/test istio-pilot-multicluster-e2e-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-pilot-multicluster-e2e-master
8263eb6920bb5b0d10357972d57b5ea7eee2d6d3
link
/test istio-pilot-multicluster-e2e-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

seems this breaks multicluster

/retest

This looks like  WorkloadUpdate,  the cause is pod not comes up yet.
As https://github.com/istio/istio/issues/16476 says, there is still a potential bug for this.

the problem is with split listeners we need to be able to apply rbac rules, etc, otherwise there will be a period of time when inbound traffic comes and rbac is not applied
the reason this is safe currently is because we have the readiness check to ensure inbound listeners are received, but this won't work now since container port is not required.
better ideas are welcome, as I'm not sure this will work

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-pilot-multicluster-e2e-master
8263eb6920bb5b0d10357972d57b5ea7eee2d6d3
link
/test istio-pilot-multicluster-e2e-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

but this won't work now since container port is not required.

I am not sure about this?

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-pilot-multicluster-e2e-master
7fbdae46e9c5c3da6748e89afb19c60b787418ea
link
/test istio-pilot-multicluster-e2e-master

e2e-mixer-no_auth-master
154c74b0191259ae878824aaa8d0d7247819f0e4
link
/test e2e-mixer-no_auth-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest
infra flake

Fixes https://github.com/istio/istio/issues/16630

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-pilot-multicluster-e2e-master
7fbdae46e9c5c3da6748e89afb19c60b787418ea
link
/test istio-pilot-multicluster-e2e-master

e2e-mixer-no_auth-master
154c74b0191259ae878824aaa8d0d7247819f0e4
link
/test e2e-mixer-no_auth-master

istio-unit-tests-master
154c74b0191259ae878824aaa8d0d7247819f0e4
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-pilot-multicluster-e2e-master
7fbdae46e9c5c3da6748e89afb19c60b787418ea
link
/test istio-pilot-multicluster-e2e-master

e2e-mixer-no_auth-master
154c74b0191259ae878824aaa8d0d7247819f0e4
link
/test e2e-mixer-no_auth-master

istio-unit-tests-master
154c74b0191259ae878824aaa8d0d7247819f0e4
link
/test istio-unit-tests-master

istio-racetest-master
154c74b0191259ae878824aaa8d0d7247819f0e4
link
/test istio-racetest-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm
I think it would address the #16630 Thanks!

@costinm @rshriram you two seem to have different opinions on which should
be primary (labels or pod). I am on the fence. Any strong
opinion/justification for one or the other?
Certainly having it be the primary method was needed for testing since in
our CI tests I doubt we run into pod==nil often
On Wed, Aug 28, 2019 at 4:02 PM Yuchen Dai<EMAIL_ADDRESS>wrote:

/lgtm
I think it would address the #16630
https://github.com/istio/istio/issues/16630 Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/16483?email_source=notifications&email_token=AAEYGXKRFEV37LRUERINTPDQG37XZA5CNFSM4IOYBGK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5MW5TI#issuecomment-525954765,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEYGXMFP4VDDC3DKPMTHQDQG37XZANCNFSM4IOYBGKQ
.

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-presubmit-tests-master
b1a801b38320f452b44cf5790102c5c237c8a7c0
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

In response to a cherrypick label: #16483 failed to apply on top of branch "release-1.3":
Using index info to reconstruct a base tree...

Auto-merging pilot/pkg/serviceregistry/kube/controller/controller_test.go
Auto-merging pilot/pkg/serviceregistry/kube/controller/controller.go
CONFLICT (content): Merge conflict in pilot/pkg/serviceregistry/kube/controller/controller.go
Auto-merging pilot/pkg/model/context.go
Auto-merging pilot/pkg/kube/inject/testdata/webhook/user-volume.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/traffic-annotations.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/traffic-annotations-wildcards.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/traffic-annotations-empty-includes.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/status_annotations.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/statefulset.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/resource_annotations.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/replicationcontroller.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/replicaset.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/list.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/list-frontend.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/job.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/hello-probes.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/hello-multi.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/hello-config-map-name.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/frontend.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/deploymentconfig.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/deploymentconfig-multi.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/webhook/daemonset.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/traffic-params.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/traffic-params-empty-includes.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/traffic-annotations.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/traffic-annotations-wildcards.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/traffic-annotations-empty-includes.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/status_params.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/status_annotations.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/statefulset.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/replicationcontroller.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/replicaset.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/pod.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/multi-init.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/list.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/list-frontend.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/kubevirtInterfaces_list.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/kubevirtInterfaces.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/job.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-tproxy.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-template-in-values.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-proxy-override.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-never.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-namespace.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-multi.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-ignore.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-config-map-name.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/hello-always.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/frontend.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/format-duration.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/enable-core-dump.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/deploymentconfig.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/deploymentconfig-multi.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/daemonset.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/cronjob.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/auth.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/auth.non-default-service-account.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/auth.cert-dir.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/two_container.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/ready_only.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/one_container.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/named_port.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/https-probes.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/hello-readiness.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/hello-probes.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/hello-probes-with-flag-unset-in-annotation.yaml.injected
Auto-merging pilot/pkg/kube/inject/testdata/inject/app_probe/hello-probes-with-flag-set-in-annotation.yaml.injected
Auto-merging install/kubernetes/helm/istio/values.yaml
Auto-merging install/kubernetes/helm/istio/files/injection-template.yaml
error: Failed to merge in the changes.
Patch failed at 0001 Determine ServiceInstances from Proxy labels

@howardjohn Please submit a manual backport PR.

backport sent
On Fri, Aug 30, 2019 at 12:54 PM Romain Lenglet<EMAIL_ADDRESS>wrote:

@howardjohn https://github.com/howardjohn Please submit a manual
backport PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/16483?email_source=notifications&email_token=AAEYGXIQYASPD43UAIDO7G3QHF3F3A5CNFSM4IOYBGK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5STTZA#issuecomment-526727652,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEYGXK3GISVMMTRGLUIRL3QHF3F3ANCNFSM4IOYBGKQ
.


Correct first argument name into mapStateToProps

Having it named mapDispatchToProps can be confusing, since connect takes
a mapStateToProps function as first argument.

Thanks for the fix!


DO proxy the WMS tiles, to prevent mixing secure/insecure content

I would like to propose proxying WMS tiles, to prevent mixing secure/insecure content. Maybe in the long term it should be configurable?

This could put a big burden on ckan and the web server (specially combined with #16). I think that it could make sense as an optional configuration.
Check the note regarding config options at the end of this section if you want to go down that route:
https://github.com/ckan/ckanext-geoview#openlayers-viewer

You're right. I'll add it to the config instead.

You're right. I'll add it to the config instead.

This PR is 7 years old and according to this comment it is superseded by a config. It also has conflicts, it can probably be closed


Delete Agent

I maybe missing something, how do I delete a created agent? I only see "resume" with the 3 dots. Thanks in advance.

The problem I have now, is that agents are running in the background even if they have been stopped. I would like to just delete the agent completely. Is there a way to do that in the code?

The problem I have now, is that agents are running in the background even if they have been stopped. I would like to just delete the agent completely. Is there a way to do that in the code?

I had the same problem, it was running up my api credits. I just deleted it and I'm going to wait for a future update. It's strange you can't delete them, you would think that was a basic feature.

Anyone try this?
To delete agents from Superagi, you can follow these steps:
Log in to your Superagi account and go to the "Agents" section.
Find the agent you want to delete and click on their name to open their profile page.
Click on the "Delete" button on the top right corner of the page.
Confirm the deletion by clicking on the "Delete" button again on the pop-up message.
It's important to note that deleting an agent will permanently remove them from your account, and you won't be able to restore their information or activity history. So make sure you really want to delete the agent before proceeding.
In case you want to deactivate an agent temporarily instead of deleting them, you can do so by clicking on the gear icon that appears next to their name in the "Agents" section and choosing the "Deactivate" option. This will hide the agent from your dashboard but keep their data stored in your account.

Change done in v0.0.9. Closing this.


Minor: remove some uses of unwrap

Which issue does this PR close?
Minor follow on to https://github.com/apache/arrow-datafusion/pull/6723
Rationale for this change
While reviewing https://github.com/apache/arrow-datafusion/pull/6723 (thanks @BryanEmond !) I noticed it would be possible to do so with a little less code using Option::map so I coded it up
What changes are included in this PR?
Refactor some code to avoid unwrap
Are these changes tested?
Covered by existing tests added in https://github.com/apache/arrow-datafusion/pull/6723

Are there any user-facing changes?

Thanks @viirya


Analyzer trips up on super constructor parameters

This tracker is for issues related to:

Analyzer

platform
macOS
steps to reproduce

check out flutter
cd <flutter>
./bin/dart --enable-asserts dev/bots/analyze.dart

observed output
Unhandled exception:
Invalid argument(s): Content produced diagnostics when parsed:
  EXPECTED_TOKEN: Expected to find '}'. - 54:18

Example line that generates the EXPECTED_TOKEN error: https://github.com/flutter/flutter/blob/03be77dbf0315d32db5b0069637fbdb9cb2c91b5/packages/flutter/lib/src/foundation/diagnostics.dart#L2430
The analyzer is running with FeatureSet.fromEnableFlags2(sdkLanguageVersion: Version.parse('2.17.0-0'), flags: <String>['super-parameters']) so it seems related to super-parameters.

With flutter master, I have some different result on Windows 10:
C:\use\flutter> bin\dart --enable-asserts .\dev\bots\analyze.dart
...
Skip test comments...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
C:\use\flutter\dev\bots\test\prepare_package_test.dart:363: skip test without a justification comment.
C:\use\flutter\dev\bots\test\sdk_directory_has_space_test.dart:20: skip test without a justification comment.
...
...
C:\use\flutter\packages\flutter_tools\test\general.shard\macos\xcode_validator_test.dart:73: skip test without a justification comment.

See: https://github.com/flutter/flutter/wiki/Tree-hygiene#skipped-tests

Yea, it appears to work on linux too since flutter's CI runs it just fine.  For some reason, being on macOS seems key.

(Note: we recently added a 'no response' bot to our repo; it may have closed existing issues with the needs-info label incorrectly. If you think your issue was effected, please feel free to reopen the issue)


Revamp UI when displaying project

First tab should be an overview, with events, deadlines and group mates.
Second tab should show only todos.

Currently, I've changed the UI elements to reflect the new groupmates name. However, most of the methods, commands and classes still reflect the participants name. I think better to change in another PR,  I've created an issue for this #154.


Prepare poise for serenity's next branch

The changes are based on a slightly modified next branch of serenity to track its breaking change in chronological order and making it easier for the upcoming merge of the application command & autocomplete types.
The poise & examples compile but are currently untested.
I left some TODOs in the "new builder" commit because of missing functionality.

Author stated they are no longer working on the PR so I'll close this
Serenity next branch changes so much it's probably easier to just re do the PR when 0.12 releases instead of keeping up with constant changes that are also sometimes reverted


[BUG]: content="Outdated client! Please use 1.18.2"

Describe the bug
After the bot received the authorization and ready to connect the server <IP_ADDRESS> for test, it gave the error and it seemed that it didn't be set correctly. I used the latest "-all" package.
Screenshots

Logs
[2022-12-28 15:10:46] [DEBUG] [MinecraftBOT] Authentication is pending, waiting for user to authenticate...
[2022-12-28 15:10:55] [DEBUG] [MinecraftBOT] Successfully authenticated [Because66666]
[2022-12-28 15:10:55] [DEBUG] [MinecraftBOT] Connecting to Minecraft server: <IP_ADDRESS>:25565
[2022-12-28 15:10:55] [INFO] [MinecraftBOT] Disconnected: TextComponentImpl{content="", style=StyleImpl{color=null, obfuscated=not_set, bold=not_set, strikethrough=not_set, underlined=not_set, italic=not_set, clickEvent=null, hoverEvent=null, insertion=null, font=null}, children=[TextComponentImpl{content="Outdated client! Please use 1.18.2", style=StyleImpl{color=null, obfuscated=not_set, bold=not_set, strikethrough=not_set, underlined=not_set, italic=not_set, clickEvent=null, hoverEvent=null, insertion=null, font=null}, children=[]}]}
Informations (please complete the following information):

OS: windows 11
Java Version: 8 and 16
Minecraft BOT Version: [1.0.14 latest, the package you released on Aug 7,2022]
The interface you use: [e.g. GUI]
Account Type: [e.g. Microsoft]
Server Host and Port: [e.g. <IP_ADDRESS>:25565]

Additional context
I think there must something wrong with my usage, and I hope someone could help me to deal with it. Thank you very much.

Add one message: My server :mojang server 1.18.2

I finally know that. The bot depended the gayser. Sorry to bother you.


This is an interesting project. Is there a detailed design documentation?

The content is like the title.

@barnettZQG I'm sorry for the delay. We've created these documentation pages. They provide some useful information about the internals of Mizu and how it works in general:

Introduction to Mizu
Development Workflows


NIFI-2890 Provenance Repository Corruption

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[X ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[X ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
Correct handling of corrupt journal file that was preventing instance startup and causing loss of records from uncorrupt files.

@JPercivall This has @been updated to align with the changes in Apache/0.x.  I couldn't squash without creating a new branch, but a diff with Apache/0.x only shows the PersistentProvenanceRepository and TestPersistentProvenanceRepository classes.

Replaced by #1485


Datasette should serve Access-Control-Max-Age

Currently the CORS headers served are:
https://github.com/simonw/datasette/blob/9584879534ff0556e04e4c420262972884cac87b/datasette/utils/__init__.py#L1139-L1143
Serving Access-Control-Max-Age: 600 would allow browsers to cache that for 10 minutes, avoiding additional CORS pre-flight OPTIONS requests during that time.

Also need to update this documentation:
https://github.com/simonw/datasette/blob/9584879534ff0556e04e4c420262972884cac87b/docs/json_api.rst?plain=1#L453-L465
Or maybe make that automated via cog.

I'm going with 3600 for 1 hour instead of 600 for 10 minutes.

I ran this on https://www.example.com/ twice using the console:
fetch(
  `https://latest.datasette.io/ephemeral/foo/1/-/update`,
  {
    method: "POST",
    mode: "cors",
    headers: {
      Authorization: `Bearer tok`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({update: {blah: 1}}),
  }
)
  .then((r) => r.json())
  .then((data) => {
    console.log(data);
  });

And got this in the network pane:

Updated docs: https://docs.datasette.io/en/latest/json_api.html#enabling-cors

Weird... after the deploy went out:

But the request did indeed get the new header:

So I'm not sure why it's making multiple POST requests like that.
Maybe it's because the attempted POST failed with a 404?

https://fetch.spec.whatwg.org/#http-access-control-max-age says:

Indicates the number of seconds (5 by default) the information provided by the [Access-Control-Allow-Methods](https://fetch.spec.whatwg.org/#http-access-control-allow-methods) and [Access-Control-Allow-Headers](https://fetch.spec.whatwg.org/#http-access-control-allow-headers) headers can be cached.

So there was already a 5s cache anyway.

Mystery solved as to why I wasn't seeing this work:

I had "Disable Cache" checked!
I ran this experiment after un-checking that box:
fetch('https://latest.datasette.io/ephemeral/foo/1/-/update', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ test: 'test' })
});
// And run it again
fetch('https://latest.datasette.io/ephemeral/foo/1/-/update', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ test: 'test' })
});
// Now try a thing that doesn't serve that max-age header yet:
fetch('https://latest-with-plugins.datasette.io/ephemeral/foo/1/-/update', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ test: 'test' })
});
// And a second time but within 5s
fetch('https://latest-with-plugins.datasette.io/ephemeral/foo/1/-/update', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ test: 'test' })
});
// Third time after waiting longer than 5s
fetch('https://latest-with-plugins.datasette.io/ephemeral/foo/1/-/update', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ test: 'test' })
});
// Try that original one again - still within the 1hr cache time
fetch('https://latest.datasette.io/ephemeral/foo/1/-/update', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ test: 'test' })
});

The results show that the cache of 1hr was being obeyed for latest.datasette.io while the latest-with-plugins.datasette.io default cache of 5s was being obeyed too.

Wrote this up as a TIL: https://til.simonwillison.net/http/testing-cors-max-age


constexpr numeric constants

Just to be able to use them in constexpr functions.

This is actually included in #2627

Oh I didn't notice, sorry.

Oh I didn't notice, sorry.

No problem :)


Issue while running electron-edge-js-quick-start in Mac

We are trying to run electron edge js quick start sample in .Net 6/.Net3/.Net2/.Net1 environment in Mac.
Steps we followed

Installed above versions of .NET Run time installer
Extracted and tried running source.
We ran npm install and npm start
We're getting the below error.

Error we faced.

macOS issue: https://github.com/agracio/electron-edge-js?tab=readme-ov-file#macos


Add fonts via application configuration.

Fixed issues as stated in https://github.com/joergviola/play20-pdf/issues/19 and https://github.com/joergviola/play20-pdf/issues/20

Although this is very old and maybe a bit oudated, I like the basic idea. Maybe @Hayena you can bring this PR up2date :) Would be very cool. Cheers!

Sorry, have been busy as of late, I will see if I can make a attempt to update this. My own fork on longer uses any Play related code so I will make a fork on my own account


DOC-7576: Organize conversations using threaded discussions page needs animated GIFs for mobile app workflows

Summary
This PR adds visual workflows and additional tabbed content sections for the Mattermost mobile app on the Organize conversations using threaded discussions page.
Ticket Link
Fixes #7576

[x] This PR follows Mattermost Contributing Guidelines.
[x] The changes are tested in a local docs build.

Hello @Rutam21,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@cwarnermm Please review and suggest changes, if any. Thanks.


[GSSoC'23] Improving UI of the Chefs section

The social media handles of the individual chefs are not clearly visible. This could be improved.
Please assign this to me under GSSoC'23.

I want to work on this issue under GSSoC'23. Please assign me this.

I am a full-stack developer, so adding this feature is not a big task for me. so please assign me this and I am also a GSSOC 2023 contributor


Minimal interpreter: adding function/return and fix most of the tests

Improving semantics of minimal MeTTa chain to make code more predictable. I didn't change the documentation yet because I am going to experiment with eval/chain/return further and then finalize the semantics. After adding function/return I managed to write MeTTa interpreter in minimal MeTTa which now passes almost all of the tests except:

Minecraft related tests
one test in minimal MeTTa Rust test pack
f1_import test

List of changes:
Implement function and return symbols to allow coding function call flows. Make chain one-step operation, i.e. chain makes one step and inserts the result into a provided template. One can make chain work in a loop by:

using nested chain, then chain waits while nested chain returns result
using nested function, then chain waits for a function to return result
Thus nested chain + function expressions represent the call stack of the program.

Import pragma!, bind!, space operations, state operations from stdlib to stdlib of minimal MeTTa.
Implement case, quote/unquote, id, car-atom, cdr-atom, or, and, fold, filter and map in minimal MeTTa.
Change get-type implementation to be compatible with both Rust and minimal MeTTa interpreters.
Fix type casting issue when type errors were returned for non-deterministic types when one of the types was not compatible with required type.
Fix test_examples.py to be compatible with minimal MeTTa standard library.
Adapt "returning unit" from grounded functions fix from main branch.

I'd like to migrate to minimal metta asap, so I'm worried only about tests and performance, but not internals. Thus, I'm happy to approve this PR. A few remarks, which should not be considered within this PR:

I'm definitely ok with (Error Z BadType) changing to (Error (Cons Z Nil) BadType), which is more informative. But I'd either turn the whole assert off with a proper comment, or make the test work in both cases, e.g. checking for Error or BadType only if it is not cumbersome. Maybe, we can introduce assertMatchable and check for (Error $_ BadType) if it makes sense.

I'm ok with moving test_minecraft and test_minology from obligatory tests (to integration tests?). But it might be useful to figure out the problem with test_minecrat and see if it is important (possibly, add a clean unit test if appropriate). The problem with minology is that BadType is returned among the correct answers. It's definitely the change in semantics. Previously, BadType was returned when there were no valid alternatives only. Now, it is returned among valid alternatives as well. This makes some sense, but may make the use of non-deterministic types cumbersome. This requires more detailed analysis, which can be postponed, but not ignored. Thus, moving minology to integration tests is ok.

I'm ok with modifying test_frog_reasoning test, but am a little bit sad that the first element of tuples gains even more uniquness.

I see a lot of code in stdlib.metta, and start wondering if we will introduce local caches in the future (e.g. like __pycache__) to load it and other modules faster. Do you think it worths mentioning in #470 or is it a very separate issue?

stdlib.metta contains a lot of functions with a little bit questionable names, e.g. filter, map, etc., which are too typical and can cause some name conflicts, e.g. we may want to have these functions on List type instead of atoms. But this can be discussed later.

I'm definitely ok with (Error Z BadType) changing to (Error (Cons Z Nil) BadType), which is more informative. But I'd either turn the whole assert off with a proper comment, or make the test work in both cases, e.g. checking for Error or BadType only if it is not cumbersome. Maybe, we can introduce assertMatchable and check for (Error $_ BadType) if it makes sense.

Do you mean turn it off for both minimal and old interpreter? I would prefer doing this instead of adding assertMatchable for this only case.

The problem with minology is that BadType is returned among the correct answers. It's definitely the change in semantics.

Yes, it is one more place for the type-checking logic to fix in minimal interpreter. I will fix it.

I'm ok with modifying test_frog_reasoning test, but am a little bit sad that the first element of tuples gains even more uniquness.

Not sure I understand you properly. The problem is the same which is described in #242. As standard library has more functions now, the code of the test matches them. It would happen even with old interpreter if we add new functions into stdlib.

I see a lot of code in stdlib.metta, and start wondering if we will introduce local caches in the future (e.g. like pycache) to load it and other modules faster.

Do you mean we need to pre-compile MeTTa libraries? It makes sense but I would make it a separate issue from a package management because its complexity is in precompilation not in aligning it with packaging system.

stdlib.metta contains a lot of functions with a little bit questionable names, e.g. filter, map, etc., which are too typical and can cause some name conflicts, e.g. we may want to have these functions on List type instead of atoms. But this can be discussed later.

Since minimal MeTTa I am writing more code in MeTTa and more frequently facing name conflicts. I can assign unique names for the functions in standard library for sure but namespaces would be really useful here (I believe they are already mentioned in #470)

Do you mean turn it off for both minimal and old interpreter? I would prefer doing this instead of adding assertMatchable for this only case.

Yes, to avoid switching back and forth between two versions of the test until we completely migrate to Minimal MeTTa, when we can turn it on back.

It would happen even with old interpreter if we add new functions into stdlib.

OK, I see.

Do you mean we need to pre-compile MeTTa libraries?

Pre-compilation is the next step. At first, we can just store parsed spaces in files (for which they should be serializable). But yes, it seems like a separate branch of development. And maybe it (saving on parsing) is really a minor thing, and it will start to be interesting only after pre-compilation, which is really a very separate story.

but namespaces would be really useful here

I supposed that stuff from stdlib will not be in a separate namespace to avoid, e.g. stdlib::if. But maybe we can import such stuff as if directly to the main script namespace, while map can remain in stdlib namespace. But I mean that map for List can also be in stdlib. In any case, I pointed out to the question of naming such widely used but differently implemented functions (e.g. map-atom similar to car-atom?) just to not forget discuss it later.

I'm ok with renaming map -> map-atom right away, but it makes the further review of naming less relevant :)

Yes, to avoid switching back and forth between two versions of the test until we completely migrate to Minimal MeTTa, when we can turn it on back.

Fixed in https://github.com/trueagi-io/hyperon-experimental/pull/472/commits/1646df9236bf71e1e65f43a80c05a40d16917990

I supposed that stuff from stdlib will not be in a separate namespace to avoid

Yes, ok, probably namespaces are not so useful for the functions we are going to export from the stdlib, but we can use them to make functions private, in particular some implementation specific stdlib functions. But yes maybe it is not so important, we always can add prefix stdlib for them.


Accessing trained server and client models after training is done

In the quick_start notebook, after running Fed_runner.run(), what it is proper way to get access to the trained server and client models? For example, how should I view the trained model parameters or save the model?

Hi there, you could use federate.save_to to save the model to your disk, which is picked via the evaluation round.
Optional, you can get the model param via Fed_runner .server.trainer.get_model_para() for the current model param.
Please refer to here for complete configuration instructions.

Thank you so much!


Revert string comparison

Revert to see if this fixes the failing Linux bots

@lancep An OS X test also began failing around the same time. (My PR testing hits this 100% of the time):
[     FAIL ] NSStringAPIs/Substring.replacingCharacters(in:with:)
To debug, run:
$ /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/test-appletvsimulator-x86_64/stdlib/Output/NSStringAPI+Substring.swift.tmp/a.out4 --stdlib-unittest-in-process --stdlib-unittest-filter "replacingCharacters(in:with:)"
https://ci.swift.org/job/oss-swift_tools-RA_stdlib-RD_test-simulator/671/

Please test with following pull request:
https://github.com/apple/swift-corelibs-foundation/pull/1435
@swift-ci please smoke test


fix(VTMOutput): Fixed an issue where output of the complementary file…

…s was done at the root terminal directory.

:tada: This PR is included in version 5.20.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Rename differential types

We deprecated the old names in ChainRulesCore: https://github.com/JuliaDiff/ChainRulesCore.jl/pull/353
But I suspect that the @reexport macro does not reexport the deprecated names, so since ReversePropagation only depends on ChainRules it breaks. We are thinking about whether we should change that (https://github.com/JuliaDiff/ChainRules.jl/issues/415)
Anyway, here's the fix

may want to add ChainRulesCore as a direct dependency so that can lower bound it easily to the version that has the new names

That's great, thanks a lot!


More optimizers to include

-https://github.com/gdikov/hypertunity (wraps gpyopt)

https://github.com/google/jax/blob/master/benchmarks/benchmark.py
https://github.com/davisking/dlib
cikit.optimize ... others
gpyopt
spearmint.   but strange license!
https://docs.ray.io/en/latest/tune/
https://github.com/topics/grey-wolf-optimizer
https://github.com/AxeldeRomblay/MLBox
https://www.ml4aad.org/automl/bohb/
https://github.com/krzysztofarendt/modestga

This belongs in humpday now

Moved to https://github.com/microprediction/humpday/issues/10


"Remove" option link unclickable

When the selected item label is too long and options.removable, a.selectivity-single-selected-item-remove is covered up by span.selectivity-single-selected-item.
It seems like a CSS fix - but figured I'd mention it because it should be fixed in core.

Good catch, thanks!

Still coming up with a way to fix the ellipsis from going behind the (X), but this fixes the click problem.
.selectivity-single-selected-item-remove {
color: rgba(0,0,0,0.75);
/*  float: right;*/
position:absolute; # The fix
right:0; # The fix
padding: 0 5px; }

Unfortunately, the fix I came up with always adds 20px of padding to the right.
.selectivity-single-result-container {
position: absolute;
top: 7px;
right: 5px;
left: 8px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 0.875rem;
color: rgba(0,0,0,0.75);
padding-right: 20px; # The fix
}
Would be better if core added .item-remove to .selectivity-single-result-container, then we'd be able to add a simple rule like:
.selectivity-single-result-container.item-remove {
padding-right: 20px;
}

@syosoft Can you confirm #213 fixes this issue for you?


select_all.jstree Event is Not Handled

As said by jsTree API, select_all() method triggers two events:

select_all.jstree
changed.jstree

I see none of them being handled. So after calling the select_all() method, all jsTree nodes are selected but jsTree-Grid rows remain unselected.

If you put up a sample jsfiddle or similar, we can take a look. If you have a PR, even better.


New version: Rojo.Rojo version 7.4.2

Pull request has been created with komac v2.3.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-07-25 09:15:45.227 [FAIL] Installer failed security check. Url: https://github.com/rojo-rbx/rojo/releases/download/v7.4.2/rojo-7.4.2-windows-x86_64.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 886.)

/azp run

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\Rojo.Rojo__DefaultSource\rojo.exe returned exit code: 2
Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\rojo.exe returned exit code: 2

(Automated response - build 887.)


Fix title of assigner api docs

Coverage decreased (-0.2%) to 99.791% when pulling 1c1cf8de674a4eaafb0a3004f336bd6db95ffbd8 on assigner_api_docs_title into c3249a3fa71df4558f970fbd9a39ecf41c6b8232 on master.


Cascading deletes

As mentioned in #3, Cycle does not support cascading deletes at this time, instead relying on FKs.
It would be nice to support application-level cascading.

Large migrations directly on the database are slow (table copy of millions of records)
Tools like github's gh-ost work by creating a shadow table and then swapping it, removing the need for long table locks (and thus downtime)
These tools cannot ever work when there are foreign keys since table swapping using renames will not work with foreign keys

In most DBMSes, cascading deletes are relatively simple, and they could even be put into transactions to give the same atomicity as you get when using FKs.

Conceptually we can implement it pretty easily, the set of commands we use to update relations already do deletes in some cases. We can review this feature after freeing the team from current component development and achieving 1.3.0 milestone.


Incorrect results obtained for some  types of tank mixing models

The 2-compartment and Last In - First Out tank mixing models give incorrect water quality results when compared to those obtained using v.2.0.012 on the example1.inp file. This issue is no doubt related to the re-write that the water quality engine underwent to eliminate mass balance errors.

@LRossman Would creating some reg test cases for mixing models be helpful?

Since versions of example1.inp with a 2COMP and LIFO mixing model were used to identify the bug it makes sense to add these to the reg test suite.

Attach them here and I can add them if you would like.

The files are attached, but don't add them to the suite until this issue has been resolved (or we'll never get another PR to pass - LOL).
TankMixingTests.zip


Convert feedstock to v1 recipe format

Checklist

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

This PR converts the verspec-feedstock feedstock to a v1 recipe and switch the conda build tool to rattler-build.
Changes:

[x] 📝 Converted meta.yaml to recipe.yaml
[x] 🔧 Updated conda-forge.yml to use rattler-build and pixi (optional)
[x] 🔢 Bumped the build number
[x] 🐍 Applied temporary fixes for python_min and python_version
[x] 🔄 Rerender the feedstock with conda-smithy ✨

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml, recipe/recipe.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ No valid build backend found for Python recipe for package verspec using pip. Python recipes using pip need to explicitly specify a build backend in the host section. If your recipe has built with only pip in the host section in the past, you likely should add setuptools to the host section of your recipe.

For recipe/recipe.yaml:

ℹ No valid build backend found for Python recipe for package verspec using pip. Python recipes using pip need to explicitly specify a build backend in the host section. If your recipe has built with only pip in the host section in the past, you likely should add setuptools to the host section of your recipe.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12552403705. Examine the logs at this URL for more detail.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml, recipe/meta.yaml) and found it was in an excellent condition.


create mechanism to execute "Data Unit Tests"

We currently have two sparql queries at https://github.com/SuLab/wikidatasparqlexamples#data-unit-tests that should always return zero results.  Would be nice to automate to confirm they stay at zero.  (One result is currently non-zero, looks like it's been that way for several months since this edit...)

Maintenance queries are here:
https://www.wikidata.org/wiki/User:ProteinBoxBot/Maintenance_Queries
I have a job running on jenkins that runs these queries every week:
http://jenkins.sulab.org/job/Maintenance_Query/
Script source:
https://github.com/SuLab/scheduled-bots/blob/master/scheduled_bots/query_tester/tester.py
Results Page:
https://www.wikidata.org/wiki/User:ProteinBoxBot/Maintenance_Query_Results


Package request: nekoray

Project description
This is qt-based cross-platform GUI proxy configuration manager. It is mainly used to connect a proxy with a backend of v2ray or sing-box.
Supports the following protocols: SOCKS, HTTP(S), Shadowsocks, VLESS, VMess, Trojan, etc (also supported custom core)
Metadata

Homepage URL: https://github.com/MatsuriDayo/nekoray
Source URL: https://github.com/MatsuriDayo/nekoray
License: GNU General Public License v3.0
Platforms: Linux, Windows

#244451