Riven backend errors on latest (0.17 / 0.18)

Describe the bug
After my nightly backup stopped and restarted the stacks, Riven no longer works. It appears the backend updated itself, and I am getting the below errors. I have also forced my stack to update DMB to the latest 5.4.3 today, same issue.
The Riven frontend eventually starts, but because the backend does not, nothing works.
The error that I noticed might be of note is this line:
Unexpected error during migration: Can't locate revision identified by 'a00afa5531e7'
Migration failed: Can't locate revision identified by 'a00afa5531e7'
Error in main thread: Can't locate revision identified by 'a00afa5531e7'

Log
DDDDDDDDDDDDD        MMMMMMMM               MMMMMMMMBBBBBBBBBBBBBBBBB
D::::::::::::DDD     M:::::::M             M:::::::MB::::::::::::::::B
D:::::::::::::::DD   M::::::::M           M::::::::MB::::::BBBBBB:::::B
DDD:::::DDDDD:::::D  M:::::::::M         M:::::::::MBB:::::B     B:::::B
  D:::::D    D:::::D M::::::::::M       M::::::::::M  B::::B     B:::::B
  D:::::D     D:::::DM:::::::::::M     M:::::::::::M  B::::B     B:::::B
  D:::::D     D:::::DM:::::::M::::M   M::::M:::::::M  B::::BBBBBB:::::B
  D:::::D     D:::::DM::::::M M::::M M::::M M::::::M  B:::::::::::::BB
  D:::::D     D:::::DM::::::M  M::::M::::M  M::::::M  B::::BBBBBB:::::B
  D:::::D     D:::::DM::::::M   M:::::::M   M::::::M  B::::B     B:::::B
  D:::::D     D:::::DM::::::M    M:::::M    M::::::M  B::::B     B:::::B
  D:::::D    D:::::D M::::::M     MMMMM     M::::::M  B::::B     B:::::B
DDD:::::DDDDD:::::D  M::::::M               M::::::MBB:::::BBBBBB::::::B
D:::::::::::::::DD   M::::::M               M::::::MB:::::::::::::::::B
D::::::::::::DDD     M::::::M               M::::::MB::::::::::::::::B
DDDDDDDDDDDDD        MMMMMMMM               MMMMMMMMBBBBBBBBBBBBBBBBB

                              Version: 5.4.3

Setting up Zurg
Setting up Zurg w/ RealDebrid instance in directory: /zurg/RD/
Using nightly release version from environment variable
Preparing Zurg instance for RealDebrid
Zurg setup process complete
Automatic update disabled for Zurg
Starting Zurg w/ RealDebrid process
Zurg process started with PID: 9
Checking rclone flags
Configuring the rclone mount name to "DMB"
Configuring rclone for DMB
Zurg w/ RealDebrid subprocess: Logging to logs/zurg.log
Zurg w/ RealDebrid subprocess: Failed to sync logger: sync /dev/stdout: invalid argument
Zurg w/ RealDebrid subprocess: | zurg | Version: 2<IP_ADDRESS>6-nightly
Zurg w/ RealDebrid subprocess: | zurg | GitCommit: ef6c95c22b21c966e4defb36fffdf7009fc128f8
Zurg w/ RealDebrid subprocess: | zurg | BuiltAt: 2024-11-06T00:16:09
Zurg w/ RealDebrid subprocess: | zurg | Debug logging is enabled; if you are not debugging please set LOG_LEVEL=INFO in your system environment
Zurg w/ RealDebrid subprocess: | zurg | Your account will expire in 402 days
Zurg w/ RealDebrid subprocess: | zurg | Starting server on [::]:9786
Zurg w/ RealDebrid subprocess: | manager | Mounted 129 new downloads
Waiting to start the rclone process until the Zurg WebDAV http://localhost:9786/dav/ is accessible.
The Zurg WebDAV URL http://localhost:9786/dav is accessible. Starting rclone for DMB
Starting rclone w/ DMB process
rclone process started with PID: 19
rclone startup complete
Setting up PostgreSQL...
PostgreSQL data directory exists at /postgres_data.
Changed ownership and set permissions of /postgres_data.
Starting PostgreSQL process
PostgreSQL process started with PID: 29
Checking if PostgreSQL server has started...
PostgreSQL subprocess: starting PostgreSQL 16.4 on x86_64-alpine-linux-musl, compiled by gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309, 64-bit
PostgreSQL subprocess: listening on IPv6 address "::1", port 5432
PostgreSQL subprocess: listening on IPv4 address "<IP_ADDRESS>", port 5432
PostgreSQL subprocess: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"
PostgreSQL subprocess: database system was shut down at 2024-11-06 12:04:13 EST
PostgreSQL subprocess: database system is ready to accept connections
Zurg w/ RealDebrid subprocess: | manager | Loaded 1785 dumped torrents
PostgreSQL server has started.
Database 'postgres' already exists.
Checking if pgAgent extension is installed in 'postgres' database...
pgAgent extension already exists in 'postgres' database.
Database 'riven' already exists.
Checking if PostgreSQL database is accessible...
PostgreSQL database is accessible.
Listing PostgreSQL database sizes...
Database: postgres, Size: 8028 kB
Database: riven, Size: 20 MB
Database: template1, Size: 7417 kB
Database: template0, Size: 7353 kB
Database: pgadmin, Size: 8401 kB
Creating pgAdmin database...
Database 'pgadmin' already exists.
system_stats extension already exists in 'pgadmin' database.
pgAdmin data directory exists at /pgadmin/data.
Changed ownership and set permissions of /pgadmin/data.
Starting pgAdmin process with external PostgreSQL database...
pgAdmin configuration file already exists at /pgadmin/data/config_local.py.
Created symlink for config_local.py at /pgadmin/venv/lib/python3.11/site-packages/pgadmin4/config_local.py.
Starting pgAdmin process
pgAdmin process started with PID: 52
pgAdmin process started successfully using PostgreSQL database.
Application Initialisation
pgAdmin subprocess: ======================================
pgAdmin subprocess: Starting pgAdmin 4. Please navigate to http://<IP_ADDRESS>:5050 in your browser.
pgAdmin subprocess: * Serving Flask app 'pgadmin'
pgAdmin subprocess: * Debug mode: off
Connecting to pgAdmin database at<EMAIL_ADDRESS>to add server 'DMB'...
pgAdmin 'server' table exists. Proceeding to check server.
Server 'DMB' already exists in pgAdmin database.
Starting pgAgent process
pgAgent process started with PID: 116
PostgreSQL and pgAdmin setup completed successfully.
Configuring riven_backend
Using main branch for riven_backend
Successfully downloaded main branch for riven_backend
Setting up Poetry environment in /riven/backend
Starting python_env_setup process
python_env_setup process started with PID: 120
Zurg w/ RealDebrid subprocess: | repair | No broken torrents to repair
Zurg w/ RealDebrid subprocess: | manager | Compiling 1750 torrents
Zurg w/ RealDebrid subprocess: | manager | Compiled into 250 unique torrents
Starting install_poetry process
...
Poetry environment setup complete at /riven/backend/venv
No .env file found in /riven/backend/data/.env
Automatic update disabled for riven_backend
Starting riven_backend process
riven_backend process started with PID: 174
Riven v0.18.0 starting!
Overseerr initialized!
Trakt initialized!
Torrentio initialized!
Rclone path symlinks are pointed to: /data/DMB/__all__
Symlinks will be placed in: /mnt
Symlink initialized!
Plex Updater initialized!
Your account expires in 402 days.

Unexpected error during migration: Can't locate revision identified by 'a00afa5531e7'
Migration failed: Can't locate revision identified by 'a00afa5531e7'
Error in main thread: Can't locate revision identified by 'a00afa5531e7'
Traceback (most recent call last):
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 254, in _catch_revision_errors
riven_backend subprocess: yield
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 462, in _upgrade_revs
riven_backend subprocess: for script in reversed(list(revs))
riven_backend subprocess: ^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 814, in iterate_revisions
riven_backend subprocess: revisions, heads = fn(
riven_backend subprocess: ^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 1475, in _collect_upgrade_revisions
riven_backend subprocess: current_revisions = self.get_revisions(lower)
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 542, in get_revisions
riven_backend subprocess: return sum([self.get_revisions(id_elem) for id_elem in id_], ())
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 542, in <listcomp>
riven_backend subprocess: return sum([self.get_revisions(id_elem) for id_elem in id_], ())
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 565, in get_revisions
riven_backend subprocess: return tuple(
riven_backend subprocess: ^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 566, in <genexpr>
riven_backend subprocess: self._revision_for_ident(rev_id, branch_label)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 637, in _revision_for_ident
riven_backend subprocess: raise ResolutionError(
riven_backend subprocess: alembic.script.revision.ResolutionError: No such revision or branch 'a00afa5531e7'
riven_backend subprocess: The above exception was the direct cause of the following exception:
riven_backend subprocess: Traceback (most recent call last):
riven_backend subprocess: File "/riven/backend/src/main.py", line 106, in <module>
riven_backend subprocess: app.program.start()
riven_backend subprocess: File "/riven/backend/src/program/program.py", line 161, in start
riven_backend subprocess: run_migrations()
riven_backend subprocess: File "/riven/backend/src/program/db/db.py", line 63, in run_migrations
riven_backend subprocess: command.upgrade(alembic_cfg, "head")
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/command.py", line 406, in upgrade
riven_backend subprocess: script.run_env()
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 586, in run_env
riven_backend subprocess: util.load_python_file(self.dir, "env.py")
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
riven_backend subprocess: module = load_module_py(module_id, path)
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
riven_backend subprocess: spec.loader.exec_module(module)  # type: ignore
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "<frozen importlib._bootstrap_external>", line 940, in exec_module
riven_backend subprocess: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
riven_backend subprocess: File "/riven/backend/src/alembic/env.py", line 124, in <module>
riven_backend subprocess: run_migrations_online()
riven_backend subprocess: File "/riven/backend/src/alembic/env.py", line 91, in run_migrations_online
riven_backend subprocess: context.run_migrations()
riven_backend subprocess: File "<string>", line 8, in run_migrations
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/runtime/environment.py", line 946, in run_migrations
riven_backend subprocess: self.get_context().run_migrations(**kw)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/runtime/migration.py", line 611, in run_migrations
riven_backend subprocess: for step in self._migrations_fn(heads, self):
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/command.py", line 395, in upgrade
riven_backend subprocess: return script._upgrade_revs(revision, rev)
riven_backend subprocess: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 450, in _upgrade_revs
riven_backend subprocess: with self._catch_revision_errors(
riven_backend subprocess: File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
riven_backend subprocess: self.gen.throw(typ, value, traceback)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 286, in _catch_revision_errors
riven_backend subprocess: raise util.CommandError(resolution) from re
riven_backend subprocess: alembic.util.exc.CommandError: Can't locate revision identified by 'a00afa5531e7'
riven_backend subprocess: Traceback (most recent call last):
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 254, in _catch_revision_errors
riven_backend subprocess: yield
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 462, in _upgrade_revs
riven_backend subprocess: for script in reversed(list(revs))
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 814, in iterate_revisions
riven_backend subprocess: revisions, heads = fn(
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 1475, in _collect_upgrade_revisions
riven_backend subprocess: current_revisions = self.get_revisions(lower)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 542, in get_revisions
riven_backend subprocess: return sum([self.get_revisions(id_elem) for id_elem in id_], ())
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 542, in <listcomp>
riven_backend subprocess: return sum([self.get_revisions(id_elem) for id_elem in id_], ())
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 565, in get_revisions
riven_backend subprocess: return tuple(
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 566, in <genexpr>
riven_backend subprocess: self._revision_for_ident(rev_id, branch_label)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/revision.py", line 637, in _revision_for_ident
riven_backend subprocess: raise ResolutionError(
riven_backend subprocess: alembic.script.revision.ResolutionError: No such revision or branch 'a00afa5531e7'
riven_backend subprocess: The above exception was the direct cause of the following exception:
riven_backend subprocess: Traceback (most recent call last):
riven_backend subprocess: File "/riven/backend/src/main.py", line 106, in <module>
riven_backend subprocess: app.program.start()
riven_backend subprocess: File "/riven/backend/src/program/program.py", line 161, in start
riven_backend subprocess: run_migrations()
riven_backend subprocess: File "/riven/backend/src/program/db/db.py", line 63, in run_migrations
riven_backend subprocess: command.upgrade(alembic_cfg, "head")
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/command.py", line 406, in upgrade
riven_backend subprocess: script.run_env()
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 586, in run_env
riven_backend subprocess: util.load_python_file(self.dir, "env.py")
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
riven_backend subprocess: module = load_module_py(module_id, path)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
riven_backend subprocess: spec.loader.exec_module(module)  # type: ignore
riven_backend subprocess: File "<frozen importlib._bootstrap_external>", line 940, in exec_module
riven_backend subprocess: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
riven_backend subprocess: File "/riven/backend/src/alembic/env.py", line 124, in <module>
riven_backend subprocess: run_migrations_online()
riven_backend subprocess: File "/riven/backend/src/alembic/env.py", line 91, in run_migrations_online
riven_backend subprocess: context.run_migrations()
riven_backend subprocess: File "<string>", line 8, in run_migrations
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/runtime/environment.py", line 946, in run_migrations
riven_backend subprocess: self.get_context().run_migrations(**kw)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/runtime/migration.py", line 611, in run_migrations
riven_backend subprocess: for step in self._migrations_fn(heads, self):
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/command.py", line 395, in upgrade
riven_backend subprocess: return script._upgrade_revs(revision, rev)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 450, in _upgrade_revs
riven_backend subprocess: with self._catch_revision_errors(
riven_backend subprocess: File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
riven_backend subprocess: self.gen.throw(typ, value, traceback)
riven_backend subprocess: File "/riven/backend/venv/lib/python3.11/site-packages/alembic/script/base.py", line 286, in _catch_revision_errors
riven_backend subprocess: raise util.CommandError(resolution) from re
riven_backend subprocess: alembic.util.exc.CommandError: Can't locate revision identified by 'a00afa5531e7'

Server has been stopped
Loading Riven settings
API key loaded successfully from /riven/backend/data/settings.json
Server config saved to /config/server.json
Attempt 1/10 to fetch settings from http://<IP_ADDRESS>:8080/api/v1/settings/get/all
Error fetching settings: HTTPConnectionPool(host='<IP_ADDRESS>', port=8080): Max retries exceeded with url: /api/v1/settings/get/all (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x790921408110>: Failed to establish a new connection: [Errno 111] Connection refused'))
...
Failed to load settings: Max retries reached

Configuring riven_frontend
Using main branch for riven_frontend
Successfully downloaded main branch for riven_frontend
Setting up riven_frontend
Starting npm_install process
...
Starting node_build process
...
npm install and build complete
Automatic update disabled for riven_frontend
Starting riven_frontend process
riven_frontend process started with PID: 326
riven_frontend subprocess: Listening on <IP_ADDRESS>:3000
riven_frontend subprocess: TypeError: fetch failed
riven_frontend subprocess: at node:internal/deps/undici/undici:12500:13
riven_frontend subprocess: at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
riven_frontend subprocess: at async s (file:///riven/frontend/node_modules/.pnpm/@hey-api+client-fetch@0.4.2/node_modules/@hey-api/client-fetch/dist/index.js:1:5004)
riven_frontend subprocess: at async load (file:///riven/frontend/build/server/chunks/25-CMWtC2dw.js:6:13)
riven_frontend subprocess: at async load_data (file:///riven/frontend/build/server/index.js:1062:18)
riven_frontend subprocess: at async file:///riven/frontend/build/server/index.js:2485:18 {
riven_frontend subprocess: [cause]: Error: connect ECONNREFUSED <IP_ADDRESS>:8080
riven_frontend subprocess: at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1605:16) {
riven_frontend subprocess: errno: -111,
riven_frontend subprocess: code: 'ECONNREFUSED',
riven_frontend subprocess: syscall: 'connect',
riven_frontend subprocess: address: '<IP_ADDRESS>',
riven_frontend subprocess: port: 8080
riven_frontend subprocess: }
riven_frontend subprocess: }
The Riven backend process is not running.
The Riven backend process is not running.
PostgreSQL subprocess: checkpoint starting: time
PostgreSQL subprocess: checkpoint complete: wrote 20 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.816 s, sync=0.029 s, total=1.884 s; sync files=18, longest=0.019 s, average=0.002 s; distance=92 kB, estimate=92 kB; lsn=0/129BC208, redo lsn=0/129BC1D0
The Riven backend process is not running.

Hey @profucius
I faced same issue this morning after latest Riven update
Try dropping database with
docker exec -it DMB sh -c "PGPASSWORD=postgres psql -U DMB -d postgres -c 'DROP DATABASE riven;'"
and then restart docker container

I know it's usually not DMB but Riven instead; My beef with them is that they don't make a callout mention of breaking changes in their github releases. Maybe they mention it casually as a line item that someone in-the-know might recognize. But not everyone has the ability to constantly keep up with discord updates across hundreds of softwares. I've mentioned this to them in their discord, and it seems to have fallen on deaf ears. I'm just venting. Thanks for the help. And I'll make that change in my yaml.


[BugFix] fix return value of peek in ShareBufferedInputStream

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
in this pr: https://github.com/StarRocks/starrocks/pull/20384
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

@MergifyIO backport branch-3.0


Can't read markdown file from aws3

query IndexQuery {
allS3Image {
edges {
node {
Key
Url
}
}
}
}
npm install @robinmetral/gatsby-source-s3
i am using this plugin,markdown files is s3 bucket,
While using Alls3object query markdown files not read
We are not getting any query, help me please
urgent our project i stuck with this.
thank you

i also this type problem, plugin @robinmetral/gatsby-source-s3

Closing as a duplicate of #505, please refer to this issue comment.


How should the CI work for generating Releases?

We want to construct a sensible set of behaviors connect with the CI that pushes to pypi and does all the building.

When a tag is created, it should generate all the releases on that tag. This should be automatic.
The user should be able to run a new release by hand if they want, and select if it should be pushed or not (default not). Only a single release will get built in this case.

Implemented! Time to move to PR's rather than committing directly to master.


Design work exploration for agents for DASH!

We decided on authors and subjects as the main focus of DASH!.  Work related info/relationships falls under BANG!.


Browsing works, playback fails

I tried the plug-in and while browsing seems to work for me, playback does not:
DEBUG    2016-02-12 00:37:29,651 [17090:HttpServer] mopidy.http.handlers
  Received WebSocket message from <IP_ADDRESS>: u'{"method":"core.playback.play","jsonrpc":"2.0","id":739}'
DEBUG    2016-02-12 00:37:29,654 [17090:Core-9] mopidy.core.playback
  Changing state: stopped -> playing
DEBUG    2016-02-12 00:37:29,655 [17090:Core-9] mopidy.core.playback
  Triggering playback state change event
DEBUG    2016-02-12 00:37:29,656 [17090:MainThread] mopidy.listener
  Sending playback_state_changed to CoreListener: {'old_state': u'stopped', 'new_state': u'playing'}
DEBUG    2016-02-12 00:37:29,661 [17090:Audio-2] mopidy.audio.gst
  State change to GST_STATE_READY: result=GST_STATE_CHANGE_SUCCESS
INFO     2016-02-12 00:37:29,662 [17090:TidalBackend-8] mopidy_tidal.playback
  TIDAL uri: tidal:track:4597561:47623802:47623803
DEBUG    2016-02-12 00:37:29,667 [17090:MainThread] mopidy.audio.gst
  Got state-changed message: old=GST_STATE_NULL new=GST_STATE_READY pending=GST_STATE_VOID_PENDING
INFO     2016-02-12 00:37:30,215 [17090:TidalBackend-8] mopidy_tidal.playback
  transformed into rtmp.stream.tidalhifi.com/cfx/st/mp4:30832674/08549e6f28e46fe218d8bc93b82dd3fd_37.m4a?Expires=1455235650&Signature=JyAzpWJey92mp7OIU4nbvMhL~B2FuU25nZaulCSBTgAAIVqkZ6DyOUP22M2vdei9ghGi84deFuWYNbWHuewBKfcCSecVkJDVhHwOTD-h01KkU2HGH5RV1tv5bRTnH8OZeglDAg4-Fpvbh9BzgkuRr1l-sIbfH~9iRAloIinKWQXRvyUSY7uI84TkTi034DVf4B-pis0bNrEvRlEVZbEmScPW3ktWrPTGljk0G56fOrFh7rUCRr6SvBSYu3v8klAnWkOA0RyPFQUfg-Hu3cTOKG1ygM71RHQ0MaB806mfdy1OeUpv5S8LskK6jDo6VA3vTsOcXhFBmPd-HutkAeDfVQ__&Key-Pair-Id=APKAIZ3WPBE4R6SP555A
DEBUG    2016-02-12 00:37:30,215 [17090:TidalBackend-8] mopidy.backend
  Backend translated URI from tidal:track:4597561:47623802:47623803 to rtmp.stream.tidalhifi.com/cfx/st/mp4:30832674/08549e6f28e46fe218d8bc93b82dd3fd_37.m4a?Expires=1455235650&Signature=JyAzpWJey92mp7OIU4nbvMhL~B2FuU25nZaulCSBTgAAIVqkZ6DyOUP22M2vdei9ghGi84deFuWYNbWHuewBKfcCSecVkJDVhHwOTD-h01KkU2HGH5RV1tv5bRTnH8OZeglDAg4-Fpvbh9BzgkuRr1l-sIbfH~9iRAloIinKWQXRvyUSY7uI84TkTi034DVf4B-pis0bNrEvRlEVZbEmScPW3ktWrPTGljk0G56fOrFh7rUCRr6SvBSYu3v8klAnWkOA0RyPFQUfg-Hu3cTOKG1ygM71RHQ0MaB806mfdy1OeUpv5S8LskK6jDo6VA3vTsOcXhFBmPd-HutkAeDfVQ__&Key-Pair-Id=APKAIZ3WPBE4R6SP555A
DEBUG    2016-02-12 00:37:30,217 [17090:SoftwareMixer-1] mopidy.mixer
  Mixer event: volume_changed(volume=100)
DEBUG    2016-02-12 00:37:30,218 [17090:MainThread] mopidy.listener
  Sending volume_changed to MixerListener: {'volume': 100}
DEBUG    2016-02-12 00:37:30,221 [17090:Audio-2] mopidy.audio.gst
  State change to GST_STATE_PLAYING: result=GST_STATE_CHANGE_FAILURE
WARNING  2016-02-12 00:37:30,222 [17090:Audio-2] mopidy.audio.actor
  Setting GStreamer state to GST_STATE_PLAYING failed
ERROR    2016-02-12 00:37:30,223 [17090:MainThread] mopidy.audio.gst
  Resource not found.
DEBUG    2016-02-12 00:37:30,223 [17090:MainThread] mopidy.audio.gst
  gsturidecodebin.c(1262): gen_source_element (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin31
DEBUG    2016-02-12 00:37:30,224 [17090:MainThread] mopidy.audio.gst
  State change to GST_STATE_NULL: result=GST_STATE_CHANGE_SUCCESS
WARNING  2016-02-12 00:37:30,225 [17090:Core-9] mopidy.core.tracklist
  Track is not playable: tidal:track:4597561:47623802:47623803
DEBUG    2016-02-12 00:37:30,227 [17090:Audio-2] mopidy.audio.actor
  Position query failed
DEBUG    2016-02-12 00:37:30,229 [17090:Audio-2] mopidy.audio.gst
  State change to GST_STATE_NULL: result=GST_STATE_CHANGE_SUCCESS
DEBUG    2016-02-12 00:37:30,230 [17090:Core-9] mopidy.core.playback
  Changing state: playing -> stopped
DEBUG    2016-02-12 00:37:30,230 [17090:Core-9] mopidy.core.playback
  Triggering playback state change event
DEBUG    2016-02-12 00:37:30,230 [17090:Core-9] mopidy.core.playback
  Triggering track playback ended event
DEBUG    2016-02-12 00:37:30,231 [17090:MainThread] mopidy.listener
  Sending playback_state_changed to CoreListener: {'old_state': u'playing', 'new_state': u'stopped'}
DEBUG    2016-02-12 00:37:30,233 [17090:MainThread] mopidy.listener
  Sending track_playback_ended to CoreListener: {'time_position': 0, 'tl_track': TlTrack(tlid=11, track=Track(album=Album(artists=[Artist(name=u'Hero Fisher', uri='tidal:artist:4597561')], images=[u'http://images.osl.wimpmusic.com/im/im?w=512&h=512&albumid=47623802'], name=u'Delivery', uri='tidal:album:47623802'), artists=[Artist(name=u'Hero Fisher', uri='tidal:artist:4597561')], disc_no=1, length=236000, name=u'Brutish Words', track_no=1, uri='tidal:track:4597561:47623802:47623803'))}
DEBUG    2016-02-12 00:37:30,235 [17090:MainThread] mopidy.listener
  Sending volume_changed to CoreListener: {'volume': 100}

Any ideas on what is going wrong?

Looking at the converted URL (rtmp.stream.tidalhifi.com/cfx/st/mp4) suggests me it is trying to convert the tidal:track uri into a lossy stream, and for some reason it isn't working at the moment. I think TIDAL has changed something server side, I will look at it asap.

No, I saw that the code had options for lossless, high, and low, and since
I don't have tidal HiFi I chose high. Is that incorrect?
On Fri, Feb 12, 2016, 09:34 mones88<EMAIL_ADDRESS>wrote:

Are you sure you put quality = LOSSLESS in the config file?
Looking at the converted URL (rtmp.stream.tidalhifi.com/cfx/st/mp4)
suggests me it is trying to convert the tidal:track uri into a lossy
stream, and for some reason it isn't working at the moment. I think TIDAL
has changed something server side, I will look at it asap.
—
Reply to this email directly or view it on GitHub
https://github.com/mones88/mopidy-tidal/issues/1#issuecomment-183227283.

The setting is correct per se, the problem sits in tidalapi that generates a bad uri for non-lossless streams. I will look at it in the weekend and I'll let you know.

So I can't use this for now until I upgrade to HiFi?
On Fri, Feb 12, 2016, 10:33 Simone<EMAIL_ADDRESS>wrote:

The setting is correct per se, the problem sits in tidalapi that generates
a bad uri for non-lossless streams. I will look at it in the weekend and
I'll let you know.
—
Reply to this email directly or view it on GitHub
https://github.com/mones88/mopidy-tidal/issues/1#issuecomment-183251397.

Yep. But it shouldn't take long to fix it though, hold on for few days ;)

Sounds great. Really happy you made this extension, I've been pondering
giving it a try for a long time myself but never gotten around to it.
On Fri, Feb 12, 2016, 10:40 Simone<EMAIL_ADDRESS>wrote:

Yep. But it shouldn't take long to fix it though, hold on for few days ;)
—
Reply to this email directly or view it on GitHub
https://github.com/mones88/mopidy-tidal/issues/1#issuecomment-183253252.

It should work now with 0.2.0 version!!
I've tested it right now with mopidy 2.0 and it seems to work fine.
Let me know :)

This now works, great work - thanks!


Workers failing to report Queues

Whilst upgrading to 0.1.10 we noticed an issue in the dashboard where queues are not showing in the workers tab..
Can confirm this information isn't in the database
db.mrq_workers.find({}, {name:1, config:1})
{ "_id" : ObjectId("54e5d55f2431ff5cc80a00d7"), "config" : { "max_jobs" : 0, "processes" : 0, "name" : "", "queues" : [  "st_queue_a" ], "greenlets" : 20, "scheduler" : false }, "name" : "ip-" }
{ "_id" : ObjectId("54e5d5682431ff5cf648adb2"), "config" : { "max_jobs" : 0, "processes" : 0, "name" : "", "queues" : [  "st_queue_b" ], "greenlets" : 8, "scheduler" : false }, "name" : "ip-" }
{ "_id" : ObjectId("54e5d5882431ff5d3f2ba1c9"), "config" : { "max_jobs" : 0, "processes" : 0, "name" : "", "queues" : [  "st_queue_c" ], "greenlets" : 8, "scheduler" : false }, "name" : "ip-" }
{ "_id" : ObjectId("54e5d55c2431ff5cb9bc719a"), "config" : { "max_jobs" : 0, "processes" : 0, "scheduler" : false, "greenlets" : 50, "name" : "" }, "name" : "ip-" }
{ "_id" : ObjectId("54e5d5642431ff5cdef8ce38"), "config" : { "max_jobs" : 0, "processes" : 0, "scheduler" : false, "greenlets" : 30, "name" : "" }, "name" : "ip-" }

We run a customer worker script instead of mrq-worker as it allows us to work with our own config setup..  It's almost identical to mrq-worker with a couple of tweaks
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os

# Needed to make getaddrinfo() work in pymongo on Mac OS X
# Docs mention it's a better choice for Linux as well.
# This must be done asap in the worker
if "GEVENT_RESOLVER" not in os.environ:
    os.environ["GEVENT_RESOLVER"] = "ares"

from gevent import monkey
monkey.patch_all()

import config
import sys

sys.path.insert(0, os.getcwd())

from mrq.utils import load_class_by_path
from mrq.context import set_current_config

....

    worker_class = load_class_by_path(cfg["worker_class"])
    set_current_config(cfg)

    w = worker_class()
    exitcode = w.work_loop()
    sys.exit(exitcode)

I have verified cfg is valid and contains 'queues', i.e cfg['queues'] = ["queue_names"]
We have also changed the redis_prefix and mongo db name to ensure a fresh test for this.. But problem persists..

Any help would be appreciated on this :)
Update: From tests, it looks like the workers that are the busiest don't get updated... Will keep looking

Hi Eddie,
I've looked over the code and the only way I can think of this happening is that you have a second set_current_config() later in your code that empties this configuration variable (maybe because it comes from a call to get_config() without config_type=worker?). It must be set when worker_class() is called because your worker seems to be running fine. So my guess is that it's emptied at some later point!
Let me know if that helps.

@eddie any news on this?

Hey @sylvinus we had quite a few problems with jobs hanging, so we've decided to move away from mrq/gevent at the moment.. Never did find the problem, sorry! Feel free to close :)

Oh sorry to hear that @eddie :/ Can you describe the behaviour of those hanging jobs?

We would hit a point where job's were not processing fast enough for our needs (we had sufficient workers/greenlets).. and looking in the dashboard we would see plenty of jobs marked as started but many hours ago.. for example "Started 10 hours ago".. and they would never get processed becaue of this..
I imagine the job got started but never reported back to mongo..
MRQ has worked great, I think we've just grown a bit- and are currently building our own workers :)

Jobs staying in "started" status can happen if worker processes are interrupted abruptly. That's why you need to add a few scheduled tasks to requeue them, as explained here:
http://mrq.readthedocs.org/en/latest/jobs-maintenance/
You were one of the first users of MRQ, sorry if that wasn't clear at the time! Thanks for all your help along the way and we hope to have you involved in the future again!

Thanks @sylvinus! Mr. Queue is great- just we're currently moving a bit faster than MRQ and have quite specific needs, and thanks again for your continued support, very much appreciated :)


Add commands for actions

In order to make easier key bindings, please add commands for Cokeline actions.
e.g.

CokelineNext
CokelinePrevious
CokelineDelete
CokelinePick
CokelineFocus <buf_id>

It should be trivial to create keybindings using Lua functions... I may consider adding commands but I'm not sure it's really necessary.

Well the main reason is that I still have not found that how to close buffer by key (the default bdelete command will maximize nvim-tree, but the buffer.close() function won't, but it's inside the setup config so that I can't bind it to key.

You can bind require("cokeline.utils").buf_delete(bufnr, wipe?), or alternatively require("cokeline.mappings").pick("close") to pick which buffer to close. If you want to use the Buffer:delete() method, you can use require("cokeline.buffers").get_current():delete() or require("cokeline.buffers").get_buffer(bufnr):delete().
Hope that helps! If that's not sufficient, I'll start working on commands.
Btw, I am working on the wiki, but there's a good bit I still have to get through before it's complete.

Thanks! That's enough for me, though giving commands is more friendly to new people, or you can simply add them to the wikis.


reload: Don't reload on 403 error for spectators.

Fixes #26280

Looks great, merged, thanks @amanagr!


Themed guidance does not display

Please complete the following fields as applicable:
Expected behaviour:
Themed guidance to display when writing plans.
Actual behaviour:
Themed guidance does not display, certainly for plans based un Utrecht University (UU)template.
Steps to reproduce:

Check UU settings
Test plans on templates from several organisations with themed guidance attached to questions.

The themed guidance is showing up on both Roadmap-stg and DMPTool servers. I'm guessing this a data issue.
@dsisu do the questions on that template have themes assigned? I know that a script was run to migrate your data over from an old set of themes to the new set. Maybe this template was missed?

@briri looking at app/models/plan.rb line 286:
guidance_groups =  GuidanceGroup.joins(:org).where("guidance_groups.published = ?
                                                    AND guidance_groups.id IN (?)
                                                    AND orgs.id != ?",
                                                   true,
                                                   guidance_groups_ids,
                                                   self.template.org.id)

Aren't we preventing the selection of the template's org's own guidance groups?
From the logs I can see that we:
SELECT guidance_groups.name, themes.title, guidances.text
FROM "guidance_groups"
INNER JOIN "guidances" ON "guidances"."guidance_group_id" = "guidance_groups"."id"
LEFT OUTER JOIN "themes_in_guidance" ON "themes_in_guidance"."guidance_id" = "guidances"."id"
LEFT OUTER JOIN "themes" ON "themes"."id" = "themes_in_guidance"."theme_id"
WHERE (guidance_groups.published = 't'
AND guidances.published = 't'
AND themes.title IN ('Storage & security','Data description','Data volume','Data format','Ethics & privacy','Data collection','Metadata & documentation','Intellectual Property Rights')
AND guidance_groups.id IN (NULL))

for this template as the only guidance group that we want displayed is its own org's

Same problem was reported by Royal Netherlands Meteorological Institute (KNMI), see KNMI DMP template. Themes seem to be attached to questions.

@dsisu we traced it to a decision made back in these two comments https://github.com/DMPRoadmap/roadmap/issues/944#issuecomment-355531808, https://github.com/DMPRoadmap/roadmap/issues/944#issuecomment-355668585. But we ignored the use case of an org having themed guidance that they want displayed on their template (Such as Utrecht).

is this fixed now @dsisu @vyruss @sjDCC ?


Demographics

Creates demographics table for American Gut Paper Table 3.

Closing in favor of re analysis notebook in Python 3.


Website & demo broken

https://www.usevolition.com/

If the URL has changed, please open a pull request at
https://github.com/Kickball/awesome-selfhosted or create an issue. Thank you!
Kickball/awesome-selfhosted#1767


Destination Nether/End Portal Not Generating

Hi. I have created two worlds: survival0 and survival0_nether. I have linked them with Multiverse Nether Portals.
When I go through a portal in Survival0, I can spawn in invalid (deadly) locations in the nether. Not only that, but a "destination" portal does not generate in Survival0_nether. So, my problem is that a portal does not spawn in the nether when I go through one in the overworld.
The same is true in the reverse direction - a portal made in the nether does not spawn in the overworld when I go through it.
I have tried reinstalling both Multiverse Core and Nether Portals, linking and unlinking the nether, deleting the nether world and making a new one, and restarting the server multiple times.
I was using this system without issue until it just decided to bug out for no apparent reason.
Any help would be greatly appreciated!

I don't know how does github work at all lol, sorry if I'm not supposed to answer there but same for me.

Closing issue because it's an old post. If you are still running a Minecraft server and this persists, try updating all the Multiverse plugins and try again, otherwise please don't hesitate to ask for support on our Discord (quickest support) or submit a new issue.


Connect source-maps with source-files

Summary
When plugin a creates a source-map Page for a given file, plugin b should have access to the same source-map Page via the given file.
Scenario

User writes a file input.scss
The sass plugin transforms it to CSS, and adds a source-map
The lightningcss plugin minifies the CSS, and updates the source-map
Source-map is accurate!

Solution

Store the source-map on Page as either JSON or a string.

This would mean checking for a source-map when writing any file, and dealing with it accordingly.
This comes with the complexity of whether to write it inline or externally, and whether to add a "source-mapping URL" comment to the source's content.

The source file's Page instance has a property which references a source-map Page instance.

It only needs to be one-way.
It should probably be a getter/setter, so we can validate it, and so it won't get in the way when debugging.

As you said, the first solution introduce a big complexity in the process.
The second solution looks better. Maybe a more general implementation to allow to link pages related somehow, for example page.rel.map could be used for other use cases.
But both solutions assume the source map is in a different page, so maybe a third solution could be provide a helper function that detect the source map location (inlined or in a different page) and retrieve this value. This solution doesn't require to modify the Page instance. For example:
const map = getSourceMap(page, site.pages);

// a source map was found
if (map) {
  map.page; // The page with the source map (if it's an external file)
  map.content; // The source map content (could be from the inline sourcemap or the content of the `map.page`)
}

What do you think?

Agreed, the 2nd solution sounds better that the 1st.
I'm not sure whether the 3rd solution is useful. If the source-map is inline, then it is included with the content. Any further plugins that need the source-map will also be accessing the content, so they'll have what they need. For example, LightningCSS just reads any inline source-map, and parses it automatically.
Also, I just realized that the 2nd and 3rd solutions would break once a plugin changes the name of the source file.

Also, I just realized that the 2nd and 3rd solutions would break once a plugin changes the name of the source file.

What source file do you mean? For example, if the styles.scss is converted to styles.css, with a source map, but then minified by other plugin and renamed to styles.min.css but the source map is not updated accordingly?
Another solution, more inline with your 1st solution is creating a plugin to generate source maps. Something like this:
site.use(sass())
  .use(postcss())
  .use(lightningcss())
  .use(sourceMaps());

The three first plugins would consume and save the source map in the page.data.sourceMap variable, and the last plugin would generate the source map page (or inline the code, depending on the configuration).
This would remove the sourceMap option that is already available for the first plugins. The source map will be generated always and stored in this variable. And from this unique plugin you can configure what do you want to do with it (css and javascript).

@binyamin I have created a branch (feat/source-map) to test the idea the sourceMaps plugin. You can see it in this commit: https://github.com/lumeland/lume/commit/3209cb98cbca8265893b7a43a384dbf8c5b0ec8b
It's implemented in sass, esbuild, terser, postcss and lightningcss. The idea:

All plugins can read the previous source map from page.data.sourceMap and replace this value with the new source map.
I've created a helper to normalize the sourceMap urls and ensure all plugins generate the source maps in the same way: https://github.com/lumeland/lume/blob/3209cb98cbca8265893b7a43a384dbf8c5b0ec8b/core/utils.ts#L273-L302
The new source_maps plugin outputs the source map of all pages containing the sourceMap data: https://github.com/lumeland/lume/blob/3209cb98cbca8265893b7a43a384dbf8c5b0ec8b/plugins/source_maps.ts
This plugin can be configured to inline the code, generate an external file, include the source content, etc.

I've tested and seems to work fine. What do you think?


Error - Adding Style to XAML

Whenever one tries to add any style it fails on XML parsing. Not sure how to get styles to work especially something like hover would be nice.

<Window xmlns="clr-namespace:MGUI.Core.UI.XAML;assembly=MGUI.Core"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:MGUI.Samples.Dialogs.FF7;assembly=MGUI.Samples"
        WindowStyle="None"
        Left="400" Top="400" Width="480" Height="620"
        BorderBrush="Crimson" BorderThickness="0" Background="White" TextForeground="Black"
        Padding="20" TitleText="Main Menu" IsUserResizable="False" MinHeight="0" SizeToContent="WidthAndHeight">

    <Button.Styles>
        <Style TargetType="Button">
            <Setter Property="FontSize" Value="14" />
            <Setter Property="Foreground" Value="rgb(236,236,236)" />
            <Setter Property="IsShadowed" Value="True" />
            <Setter Property="ShadowColor" Value="Black" />
            <Setter Property="ShadowOffset" Value="1,2" />
        </Style>
    </Button.Styles>

    <StackPanel Orientation="Vertical" Background="Red" Height="50" Spacing="20">
        <Button Name="Play" Content="Play" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
        <Button Name="Settings" Content="Settings" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
        <Button Name="UnitEditor" Content="Unit Editor" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
        <Button Name="OfficerEditor" Content="Officer Editor" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
        <Button Name="TerrainEditor" Content="Terrain Editor" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
    </StackPanel>
</Window>

Removing Button.Styles section works.
I tried to have something simple with triggers:
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Offset" Value="0, 0, 0, 0"/>
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Offset" Value="15, 3, 6, 25"/>
                        </Trigger>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter Property="Offset" Value="5, 0, 12, 10"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>

Any ideas?

The 1st XAML you provided works fine for me if you change <Button.Styles> to <Window.Styles> since the element is a Window.
The 2nd XAML does not work for a couple reasons:

There is no Offset property on MGElements. Not all WPF properties are implemented in MGUI.
The Style implementation is very basic - it only supports simple setters. It doesn't have support for event setters, triggers, or data triggers. You'd have to implement the desired setters logic yourself in your code, such as by subscribing to MGElement.OnBeginUpdate, and setting the appropriate property based on MGElement.VisualState.Secondary if you wanted to modify a value when an element is pressed/hovered.

@Videogamers0 thanks for your quick response!

You'd have to implement the desired setters logic yourself in your code, such as by subscribing to MGElement.OnBeginUpdate, and setting the appropriate property based on MGElement.VisualState.Secondary

I think I will go for that then just going to build some class that has that logic in place and read your docs regarding the MGElement.OnBeginUpdate!
Okay so I am able to set styles but I am not able to use triggers for that custom code in c# is required! Got it thanks!

The 1st XAML you provided works fine for me if you change <Button.Styles> to <Window.Styles> since the element is a Window.
The 2nd XAML does not work for a couple reasons:

The Offset property is a generic property that's only used by elements that are children of certain parent types. I think Offset was for children of OverlayPanels. In WPF this would be attached properties, such as DockPanel.Dock=Top. But I didn't know how to implement attached properties in XAML parsing, so instead every element has the attached properties even though they might not apply to the element. For example, an element placed within a StackPanel still has a Dock property even though it's not a child of a DockPanel.
The Style implementation is very basic - it only supports simple setters. It doesn't have support for event setters, triggers, or data triggers. You'd have to implement the desired setters logic yourself in your code, such as by subscribing to MGElement.OnBeginUpdate, and setting the appropriate property based on MGElement.VisualState.Secondary if you wanted to modify a value when an element is pressed/hovered.

ps I tried to use Button.Styles inside of buttons but it did not work... but you are right Window.Styles in the window worked for me as well!

Button.Styles inside of a Button should work. Just be aware of the scope. A style won't affect anything that's not a child of the scope where it is defined.
This worked fine for me:
<Button>
    <Button.Styles>
        <Style TargetType="TextBlock">
            <Setter Property="Foreground" Value="Red" />
        </Style>
    </Button.Styles>
    <StackPanel Orientation="Vertical">
        <TextBlock Text="Red background from style" />
        <TextBlock IsStyleable="False" Text="Default background, unstyled" />
        <TextBlock Text="Red background from style" />
    </StackPanel>
</Button>


address reviewer comments for first release

Address @mashehu's (thank you!!) comments from first release PR.

[x] Change version of nf-test
[x] Use setup-nf-test instead
[ ] Update date to release date
[x] Change Figures in tables to Figures+captions
[x] Add file titles to Readme.md: such as ```csv title="samplesheet.csv"
[x] Replace table with figures for ordered list
[x] Order tools alphabetically based on the tool name
[x] Check assets/chr_rename_del.txt for chrX X
[x] Move info in DEVELOPMENT.md to  CONTRIBUTING.md. Remove  DEVELOPMENT.md.
[x] Check docs/images/Logo.svg
[x]  Add a light-gray background to figures, otherwise the black will blend in with the background on the website in dark mode
[x] Fix typo in docs/images/metro/metro.py
[x] Check if docs/images/metro/txt2image.md is required
[x] Fix typos in output.md: "steps".
[x] Use one line per sentence in markdown.  Makes the diffs a bit nicer to read.
[x] Explain in output.md where are tsv files located.
[x] Ensure consistency in VCF/vcf writing across output.md and README.md.
[x] Remove duplicate in MULTIQC in output.md
[x] Have three samples in usage.md instead of 6.
[x] Check grammar and typos in usage.md.
[x] Remove info described several times in  usage.md.
[x]  Give each of the tools a higher level heading, so that they appear on the ToC on the right, which might make it easier to navigate.
[x] Add groovy in Custom Tool Arguments section
[x] Remove modules/local/*/tags.yml
[x] Check indentation in nextflow.config
[x] Remove pattern checking in boolean values (rename_chr and compute_freq)
[x] Add a pattern checking for a comma separated list (ask for clarification on this requirement)
[x] Remove pattern in maximal number of individuals per batch for imputation.
[x] Add 0 in Minimum genotype likelihood probability P(G|R) in validation data.

I will continue addressing this changes tomorrow

The update to release date will be done once all changes are merged and reviewers approve the final release PR


Add OCI Runtime Abstract

Closes #506
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

LGTM

I don't really like the "input and outputs" description either. I'd prefer if we instead emphasised that the runtime specification defines the execution environment configuration and lifecycle management of containers. There are inputs and outputs involved, but the key point is that we're standardising the lifecycle and the configuration of container runtimes.

@cyphar updated based on feedback

lgtm

LGTM

LGTM


fix NodeId telemetry format issue

always use in telemetry the very same nodeId format as configured by the user
small refactoring & optimizations
fix for #1385

@cristipogacean, can you please also run E2E tests to make sure that this change is not causing any issues there ?


chore(main): release 1.0.1

:robot: I have created a release beep boop
1.0.1 (2022-12-22)
Bug Fixes

Add dialog and bash to container (#5) (96c96af)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Gibby/proton-privoxy/releases/tag/v1.0.1 :sunflower:


Add ShippingAgents model

Description
When a TSP accepts a move they must submit info for a Origin and Destination shipping agent.  Without this info they cannot accept since we're prioritizing contact info in this phase.
Reviewer Notes
Please help me make sure my foreign key work is correct.
Code Review Verification Steps

[x] Any migrations/schema changes also update the diagram in docs/schema/dp3.sqs
[ ] Request review from a member of a different team.
[x] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

@kilbergr - happy to add more detail here.  Also, it came to my attention at the end of last week that I could be using a more generic term here so I'll probably push a change shortly.
A "shipping agent" is the company or group that a TSP uses to actually pickup, move, or unload the stuff being shipped.  They can be the TSP or they can be sub contractors or agents that the work is divided up with.  Before accepting a move a TSP needs to provide both the Origin and the Destination shipping agent.  However, in practice often the Origin shipping agent is the only one put in the system, the Destination agent is the TSP and when an actual Destination agent is decided upon the TSP will go in and update that record.
Talking with SBD I learned that the more generic term is "Service Agent".  Because it's not always just about shipping but could include more steps like hiring out a group that does the packing or un-packing to be different than the ones loading and unloading.
Here's a screen shot I got from SBD's demo:

Alright @kilbergr - would you take another look? I think I have this updated the way I'd like it.


Newest release NoClassDefFoundError

Just tried to update from 8.0.0 to the newest release (I wanted to see if this does anything on my end) but I can't launch my app anymore, as I get the following error during launch:
Caused by: java.lang.NoClassDefFoundError: org/apache/hc/client5/http/config/ConnectionConfig
	at se.michaelthelin.spotify.SpotifyHttpManager.<init>(SpotifyHttpManager.java:79) ~[spotify-web-api-java-8.3.3.jar:na]
	at se.michaelthelin.spotify.SpotifyHttpManager$Builder.build(SpotifyHttpManager.java:406) ~[spotify-web-api-java-8.3.3.jar:na]
	at se.michaelthelin.spotify.SpotifyApi.<clinit>(SpotifyApi.java:77) ~[spotify-web-api-java-8.3.3.jar:na]
	at se.michaelthelin.spotify.SpotifyApi$Builder.<init>(SpotifyApi.java:1888) ~[spotify-web-api-java-8.3.3.jar:na]
	at spotify.api.SpotifyApiManager.createSpotifyApi(SpotifyApiManager.java:85) ~[spotify-dependencies-1.10.1.jar:na]
	at spotify.api.SpotifyApiManager.spotifyApi(SpotifyApiManager.java:79) ~[spotify-dependencies-1.10.1.jar:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.30.jar:5.3.30]
	... 47 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.hc.client5.http.config.ConnectionConfig
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
	... 58 common frames omitted

Disconnected from the target VM, address: '<IP_ADDRESS>:50695', transport: 'socket'

Process finished with exit code 1

I saw some mentions of Java 21. Is that the newest minimum required version? Because I'm still on 11.
Furthermore, I use Spring 2.7.7, so maybe it's some version conflict internally?

No such changes happened in v8, there was only a somewhat-breaking feature and some housekeeping: https://github.com/spotify-web-api-java/spotify-web-api-java/releases/tag/8.0.0
Are you coming from v7.3.0? Does v7.3.0 work for you? Most past issues mentioning NoClassDefFoundError were related to some faulty dependency setup / caching.

I upgraded from 8.0.0 to 8.3.3 and I didn't have any class def issues for over two years of using this library (including 7.3.0).

So, 8.3.3 works for you now?

No... we seem to have a communication problem here. So from the top: I've been using 8.0.0 for a long time now and saw you made a bunch of new releases in one day recently, so I upgraded. But it doesn't work, because of that NoClassDefFoundError.
While I still don't understand why you made so many releases at once, I just tested them one by one. Turns out it's the specific jump from 8.2.1 to 8.3.0 that's the cause.

I see. Could you share a minimal reproduction with me? Like a repo with only Gradle set up and the minimal changes required to demonstrate this issue? I think of something like stackblitz, but for Java.

Uhh, I don't know what that is. But I guess you could clone my project that uses your wrapper and change the dependency to 8.3.3? https://github.com/Selbi182/SpotifyBigPicture/blob/master/build.gradle#L50C73-L50C73

Seems like a bug in the http client. I've released an update to the most recent version in v8.3.4 which should be available on maven central shortly.

Unfortunately, the problem persists in 8.3.4:

I think that could be related to spotify:spotify-dependencies:1.10.1 which uses v8.0.0.

Nope, updating that didn't fix it either. I'll just keep the explicit version force of the httpclient to 5.2.1 for now. Maybe there's some weird Gradle quirk going on with version conflicts.


Navio2 ESC calibration and PWM Outputs parameters missing

Describe the bug
I am experiencing an incompatibility between Navio2 and PX4 v1.9.2 in controlling the PWM output to the esc.

In particular, is not possible to make a successful ESC calibration since the device file /dev/pwm_output0 does not exist ( there is a drive here /sys/class/pwm/pwmchip0) and the result is that the motors do a strange sound when arming.
Moreover, 90% of the parameters in the PWM Output category do not exist for the Navio.

This issue is related to the closed #11743, that was solved by switching to APM...(I can confirm that it works without problem, but it is not a solution for me).
I am wondering how could I turn the driver under /sys/class/pwm/pwmchip0 into the expected device file and if anyone ever was able to fly using PX4 with a NAVIO2 board.
Drone:

PX4 V1.9.2
S500 frame with a Navio2 autopilot.
4 Blheli_s 32bits 30A ESC
4 T-motor MN3110 780KV

Thank you for your help in avance, hoping this issue will have better luck than #11743 :crossed_fingers: :smile:

Unfortunately support for the Navio2 was never brought to the same level as the pixhawk flight controllers and infrastructure wasn't put in place to keep it working well.

What does your bootup look like in PX4? Is linux_pwm_out starting successfully? What does pwm info show?

I receive an error in both cases:

I tried the module for esc calibration directly but of course not a chance:

I naively used this driver under sysfs the same way as the expected device file. I am totally new to drivers, so I am trying everything. Anyway somewhere in the code of PX4 there is already the key to dialogue using navio pwm drivers, but I do not know where to look yet.

In addition, there is a strange issue with the Navio2 rebooting after the disarming. I have not managed to localize the config which causes this because this does not happen always.

I created a post on px4discuss just now. Here

Update: I have noticed that the module Linux Pwm Out actually starts fine. It was my error that it was already running and thus not starting again. Pwm module does not start anyway, but I think it is normal for navio.
I think the problem is setting the correct period value for the pwm device and the duty cycle.  I have checked that with ardupilot the period is set to 2040816 ns by printing the file /sys/class/pwm/pwmchip0/pwm0/period  while PX4 set it to 2500000 ns. This value should probably be read from the PWM_RATE param but it is not present like others in the same group.

@ClaudioCimarelli were you able to find any work around for this problem? I have same setup as your with px4 running on a RPi with NAVIO2 shield, but my ESCs are not calibrated  so i can not fly my vehicle.
I was thinking to install APM on a different SD card, plug it in to the RPi, connect to Mission Planner, perform ESC callibration on Mission Planner, then write down PWM min/max values for each channel and finally plug back in the SD card with px4 to the RPi and manually enter the min/max PWM values as the parameters on px4. Only problem is that i don't think changing PWM_MAIN_MINx and PWM_MAIN_MAXx parameters on px4 flight stack does anything.
Another thing I was wondering was if there is any way to fix the current esc_calib function on px4 flight stack? maybe instead of trying to access the /dev/pwm_output0 there is a way to make it access the right file, i just haven't been able to find any useful information cause i am really new to this.
Anyone's thoughts or comments would be really appreciated. Even if it doesn't give me the right solution at least i would know what not to waste my time on.
Thank you in advance!!

@ClaudioCimarelli were you able to find any work around for this problem? I have same setup as your with px4 running on a RPi with NAVIO2 shield, but my ESCs are not calibrated so i can not fly my vehicle.
I was thinking to install APM on a different SD card, plug it in to the RPi, connect to Mission Planner, perform ESC callibration on Mission Planner, then write down PWM min/max values for each channel and finally plug back in the SD card with px4 to the RPi and manually enter the min/max PWM values as the parameters on px4. Only problem is that i don't think changing PWM_MAIN_MINx and PWM_MAIN_MAXx parameters on px4 flight stack does anything.
Another thing I was wondering was if there is any way to fix the current esc_calib function on px4 flight stack? maybe instead of trying to access the /dev/pwm_output0 there is a way to make it access the right file, i just haven't been able to find any useful information cause i am really new to this.
Anyone's thoughts or comments would be really appreciated. Even if it doesn't give me the right solution at least i would know what not to waste my time on.
Thank you in advance!!

We need a new driver to replace this, with new framework and new parameters implemented. That old driver doesn't worth any updating.


[FR] Farnell or Element14 Support

Please verify that this feature request has NOT been suggested before.

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

Problem statement
Are there any plans to implement Farnell or Element14 as a supplier?
Suggested solution
Just like lCSC or Digikey or Mouser.
Describe alternatives you've considered
N/A
Examples of other systems
No response
Do you want to develop this?

[ ] I want to develop this.

No plans, but we would support a PR to implement this.


pyglet.gl.lib.GLException when trying to draw text while multiple windows are open

Describe the bug
When opening multiple windows and attempting to draw text to one of them, Pyglet throws a pyglet.gl.lib.GLException:
Traceback (most recent call last):
  File "D:\VideoKaraokePrototype\Proto2\pyglet_multi_windows.py", line 16, in <module>
    pyglet.app.run()
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\app\__init__.py", line 76, in run
    event_loop.run(interval)
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\app\base.py", line 163, in run
    timeout = self.idle()
              ^^^^^^^^^^^
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\app\base.py", line 224, in idle
    self.clock.call_scheduled_functions(dt)
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\clock.py", line 217, in call_scheduled_functions
    item.func(now - item.last_ts, *item.args, **item.kwargs)
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\app\base.py", line 118, in _redraw_windows
    window.dispatch_event('on_draw')
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\window\__init__.py", line 672, in dispatch_event
    super().dispatch_event(*args)
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\event.py", line 380, in dispatch_event
    if handler(*args):
       ^^^^^^^^^^^^^^
  File "D:\VideoKaraokePrototype\Proto2\pyglet_multi_windows.py", line 13, in on_draw
    instructions_label.draw()
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\text\layout\base.py", line 1422, in draw
    self._batch.draw()
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\graphics\__init__.py", line 409, in draw
    func()
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\graphics\__init__.py", line 338, in <lambda>
    draw_list.append((lambda d, m: lambda: d.draw(m))(domain, mode))
                                           ^^^^^^^^^
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\graphics\vertexdomain.py", line 395, in draw
    self.vao.bind()
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\graphics\vertexarray.py", line 23, in bind
    glBindVertexArray(self._id)
  File "C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\gl\lib.py", line 78, in errcheck
    raise GLException(f'(0x{error}): {msg}')
pyglet.gl.lib.GLException: (0x1282): Invalid operation. The specified operation is not allowed in the current state.

System Information:
Platform
------------------------------------------------------------------------------
platform:  Windows-11-10.0.22631-SP0
release:   11
machine:   AMD64

Python
------------------------------------------------------------------------------
implementation: CPython
sys.version: 3.12.3 (tags/v3.12.3:f6650f9, Apr  9 2024, 14:05:25) [MSC v.1938 64 bit (AMD64)]
sys.maxint:<PHONE_NUMBER>854775807
os.getcwd(): D:\VideoKaraokePrototype\Proto2

pyglet
------------------------------------------------------------------------------
pyglet.version: 2.0.15
pyglet.compat_platform: win32
pyglet.__file__: C:\Users\Bryan Hauser\.virtualenvs\Proto2-UJiBmJLC\Lib\site-packages\pyglet\__init__.py
pyglet.options['audio'] = ('xaudio2', 'directsound', 'openal', 'pulse', 'silent')
pyglet.options['debug_font'] = False
pyglet.options['debug_gl'] = True
pyglet.options['debug_gl_trace'] = False
pyglet.options['debug_gl_trace_args'] = False
pyglet.options['debug_gl_shaders'] = False
pyglet.options['debug_graphics_batch'] = False
pyglet.options['debug_lib'] = False
pyglet.options['debug_media'] = False
pyglet.options['debug_texture'] = False
pyglet.options['debug_trace'] = False
pyglet.options['debug_trace_args'] = False
pyglet.options['debug_trace_depth'] = 1
pyglet.options['debug_trace_flush'] = True
pyglet.options['debug_win32'] = False
pyglet.options['debug_input'] = False
pyglet.options['debug_x11'] = False
pyglet.options['shadow_window'] = True
pyglet.options['vsync'] = None
pyglet.options['xsync'] = True
pyglet.options['xlib_fullscreen_override_redirect'] = False
pyglet.options['search_local_libs'] = True
pyglet.options['win32_gdi_font'] = False
pyglet.options['headless'] = False
pyglet.options['headless_device'] = 0
pyglet.options['win32_disable_shaping'] = False
pyglet.options['dw_legacy_naming'] = False
pyglet.options['win32_disable_xinput'] = False
pyglet.options['com_mta'] = False
pyglet.options['osx_alt_loop'] = False

pyglet.window
------------------------------------------------------------------------------
display: <pyglet.canvas.win32.Win32Display object at 0x00000227928F9820>
screens[0]: Win32Screen(x=0, y=0, width=5120, height=1440)
config['double_buffer'] = 1
config['stereo'] = 0
config['buffer_size'] = 32
config['aux_buffers'] = 4
config['sample_buffers'] = 0
config['samples'] = 0
config['red_size'] = 8
config['green_size'] = 8
config['blue_size'] = 8
config['alpha_size'] = 0
config['depth_size'] = 24
config['stencil_size'] = 0
config['accum_red_size'] = 16
config['accum_green_size'] = 16
config['accum_blue_size'] = 16
config['accum_alpha_size'] = 16
config['major_version'] = 3
config['minor_version'] = 3
config['forward_compatible'] = None
config['opengl_api'] = 'gl'
config['debug'] = None
context: Win32ARBContext(id=2368984375296, share=Win32Context(id=2369023726832, share=None))

window.context._info
------------------------------------------------------------------------------
gl_info.get_version(): (3, 3)
gl_info.get_vendor(): NVIDIA Corporation
gl_info.get_renderer(): NVIDIA GeForce RTX 3060/PCIe/SSE2

pyglet.gl.glx_info
------------------------------------------------------------------------------
GLX not available.

pyglet.media
------------------------------------------------------------------------------
audio driver: <pyglet.media.drivers.xaudio2.adaptation.XAudio2Driver object at 0x00000227947E9B50>

pyglet.media.ffmpeg
------------------------------------------------------------------------------
FFmpeg version: 6.1.1-full_build-www.gyan.dev

pyglet.media.drivers.openal
------------------------------------------------------------------------------
Library: <CDLL 'openal32', handle 10000000 at 0x2279c805af0>
Version: 1.1
Extensions:
   ALC_ENUMERATE_ALL_EXT
   ALC_ENUMERATION_EXT
   ALC_EXT_CAPTURE
   ALC_EXT_EFX

pyglet.input.wintab
------------------------------------------------------------------------------
WinTab: Wintab Digitizer Services 2.0 (Spec 2.0)

How To Reproduce
import pyglet

first_window = pyglet.window.Window(width = 640, height = 480)
second_window = pyglet.window.Window(width = 640, height = 480)

instructions_label = pyglet.text.Label('Hi I am a label', font_name='Times New Roman', font_size=36, x=first_window.width//2, y=first_window.height//4, anchor_x='center', anchor_y='center')
instructions_label.color = (255,255,255,255)

@first_window.event
def on_draw():
    first_window.clear()
    instructions_label.draw()

pyglet.app.run()

You can only draw or interact with pyglet objects from within the same context they were created in. See this example: https://github.com/pyglet/pyglet/blob/master/examples/window/multiple_windows.py
This also applies to events that get dispatched when another context is current.

@ItsVeeBot what this means is that your code should manage the active OpenGL context that your code is in when it is drawing or preparing elements for drawing. This abstract imperative translates to employing calls Window.switch_to() such that your active OpenGL context is that of the window that you are drawing or preparing elements for drawing for.
Because that context does not automatically switch for you under the hood ― you can wake up in a callback from one window, with your active OpenGL context being that of another window of your application.
Window.switch_to() switches the OpenGL context to that of the Window object that it is called on, which is how you switch to an OpenGL context to match the window that you want to draw for.
There have been some suggestions to alleviate this onus away from user code, but currently this is what you have to accomplish to avoid this exact type of crash ― analyze your flows to figure where you need to tell pyglet that the OpenGL context might need to be switched to the window that you mean to draw to ― there's always one active OpenGL context and it does not know which window's OpenGL context it should be unless you tell it.
I hope this is a good summary, as I'd like to cement my understanding of it before cleaning up my own multi-window application to be as minimal as possible yet sufficiently safe in applying the mentioned switch_to in accordance to the flows of my code.

Maybe some API for identifying the OpenGL context could be one way for developers to scaffold this safety around their code flows without relying on theoretical analyses of their code.

pyglet.gl.current_context can be checked for seeing what the active context is, but generally speaking you should just call Window.switch_to() in order to set the context before drawing. This bare minimum example shows this in action:
https://github.com/pyglet/pyglet/blob/master/examples/window/multiple_windows.py

As a side effect of deleneating it in the above I think I have a clearer picture of how to think about my code such that I know exactly where I should switch_to in its flows of code execution.
I'll try to contribute a less minimal example of how to manage the context in the future (that example doesn't really represent any multi-window application design in any way).

Thanks a lot for suggesting pyglet.gl.current_context as an affordance in this area, I can then log the object address during development mode just to assure that I have the right one across my different dispatch contexts.

(It's probably time to remove the 'bug' label).

Closing as user issue and user no longer responds.

Thanks. This was indeed apparently resolved by more carefully managing the window resizing api and process. It has not reproduced on any machine ever since that time. Thanks again.


HSEARCH-3508 test against JDK11 regularly on branch 5.10

https://hibernate.atlassian.net//browse/HSEARCH-3508
Backports:

https://hibernate.atlassian.net//browse/HSEARCH-3238
https://hibernate.atlassian.net//browse/HSEARCH-3420

I just launched a full build: http://ci.hibernate.org/blue/organizations/jenkins/hibernate-search/detail/PR-1905/4/pipeline

Pull Request Test Coverage Report for Build 2

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 83.895%

Files with Coverage Reduction
New Missed Lines
%

engine/src/main/java/org/hibernate/search/store/impl/FSMasterDirectoryProvider.java
1
80.0%

Totals

Change from base Build 27:
0.0%

Covered Lines:
23743

Relevant Lines:
28301

💛  - Coveralls

The build passed and it's exclusively backports, so... merging.


Helm installation does not work for OCP 4.4 (Kubernetes 1.17)

Helm installation fails with the following error:
helm install os-vim-driver-2.1.0a2.issue51.tgz --name os-vim-driver --namespace lifecycle-manager -f custom-values.yml --tls --tiller-namespace $CS_NAMESPACE
Error: validation failed: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"

because OCP 4.4 is using a newer version of Kubernetes (1.17) and the Deployments and Statefulsets apiVersion changed from extensions/v1beta1 to apps/v1. The driver Helm chart needs to be updated to account for this e.g. by using
Capabilities.KubeVersion.Major and Capabilities.KubeVersion.Minor (see https://helm.sh/docs/chart_template_guide/builtin_objects/) to switch between the different apiVersions.

We tried a workaround to changing the api version from extensions to apps/v1 in templates/deployment.yaml and templates/ingress.yaml file and created the chart and tried installation but still getting failed with below error :
(lmctl-env) [root@puneteam-ocp44-ha5-inf vimdriver]# helm install os-vim-driver-2.1.0a2.issue51.tgz --name os-vim-driver --namespace lifecycle-manager -f custom-values.yml --tls --tiller-namespace $CS_NAMESPACE
Error: validation failed: unable to recognize "": no matches for kind "Ingress" in version "apps/v1"

now i am getting this error
(lmctl-env) [root@puneteam-ocp44-ha5-inf vimdriver]# helm install os-vim-driver-2.1.0a2.issue51.tgz --name os-vim-driver --namespace lifecycle-manager -f custom-values.yml --tls --tiller-namespace $CS_NAMESPACE
Error: release os-vim-driver failed: Deployment.apps "os-vim-driver" is invalid: [spec.selector: Required value, spec.template.metadata.labels: Invalid value: map[string]string{"app":"os-vim-driver", "part-of":"lm"}: selector does not match template labels]

In later versions of Kubernetes deployments I think you need to explicitly add the labels as selectors (so they match):
So the deployment.yaml file needs:
spec:
  selector: # This is the new bit
    matchLabels:
      app: os-vim-driver
  template: # Template remains as it is
    metadata:
      labels:
        app: os-vim-driver
        part-of: lm
    spec:

Thanks @dvaccarosenna , we have installed as per instruction and its getting deployed now.

We need support for Kubernetes 1.13 onwards (to allow it to run in e.g. AIO as well as OCP) so some kind of switch could be used here e.g. by using
Capabilities.KubeVersion.Major and Capabilities.KubeVersion.Minor (see https://helm.sh/docs/chart_template_guide/builtin_objects/) to switch between the different apiVersions.

We need support for Kubernetes 1.13 onwards (to allow it to run in e.g. AIO as well as OCP) so some kind of switch could be used here e.g. by using
Capabilities.KubeVersion.Major and Capabilities.KubeVersion.Minor (see https://helm.sh/docs/chart_template_guide/builtin_objects/) to switch between the different apiVersions.

I made changes and tested on my AIO system (K8s 1.13) and it works as changed via PR openstack-vim-driver/pull/64
Also installs  on OCP 4.5


[FEATURE] parallel display_layout general

Todo:

[x] sorted output
[x] split bins

Thanks for the nice comments!


docs: move json functions to single file

What's Changed in this PR
Move json related functions to a single file as geo functions.
Checklist

[x] Please confirm that all corresponding versions of the documents have been revised.
[x] Please ensure that the content in sidebars.ts matches the current document structure when you changed the document structure.
[ ] This change requires follow-up update in localized docs.

Good job! Don't forget sidebar https://github.com/GreptimeTeam/docs/blob/main/sidebars.ts

Mostly are copied. Add some title:

Converter/转换: for parse_json and json_to_string
Extractor/提取: for json_get_<type>
Validation/验证: for json_is_<type> and json_path_exists

Good job! Don't forget sidebar https://github.com/GreptimeTeam/docs/blob/main/sidebars.ts

Thanks for reminding :)


another diff

Codecov Report

Merging #1 (b002eb1) into line_length (735310c) will decrease coverage by 0.01%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@               Coverage Diff               @@
##           line_length       #1      +/-   ##
===============================================
- Coverage        39.37%   39.36%   -0.01%
===============================================
  Files               62       62
  Lines             6863     6272     -591
===============================================
- Hits              2702     2469     -233
+ Misses            4161     3803     -358

see 33 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[BUG] OpenModel.LoadFromXmlFile results in StackOverflowException

Describe the bug
I have written a small application which creates an OpenModel from an XML file, which works fine with IDEA v<IP_ADDRESS>9. The installation .dll files are referred to using probing as described here: https://github.com/idea-statica/iom-examples/issues/75#issuecomment-888060144
This does not work for v<IP_ADDRESS>6:

To Reproduce
Steps to reproduce the behavior:
OpenModel openModel = OpenModel.LoadFromXmlFile(@xmlFilePath);

XML File: _inputTest.zip
Desktop (please complete the following information):

OS: Windows 10 Home
IOM Version <IP_ADDRESS>6
IdeaStatiCa Version <IP_ADDRESS>6

Additional context
Add any other context about the problem here.

Hi @nathanlukeIDEA
Some of our clients are using v21, so it is not always up to us to switch to v22. Will this also be fixed in v21?
We developed a Python binding which generates an OpenModel XML. The original XML file is based on an XML we received from you back in 2018. I think this was still for IOM v10.


content-disposition header case sensitivity

New Pull Request Checklist

[x] I have read the Documentation
[x] I have searched for a similar pull request in the project and found none
[x] I have updated this branch with the latest develop to avoid conflicts (via merge from master or rebase)
[x] I have added the required tests to prove the fix/feature I am adding
[x] I have updated the documentation (if necessary)
[x] I have run the tests and they pass

This merge request fixes / refers to the following issues: ...
Pull Request Description
...

Ideally yes, I would suggest keeping it flexible.

Update the PR,
Kept it as optional argument
Please have a look and let me know if anything needs to be updated.
Thanks

Hi @MrSagarShah. We've made our hardfork repo public and published a new version of dio, named diox.
The new package contains the PR of the fix.
Please refer to https://pub.dev/packages/diox/versions/5.0.0-dev.1 to use the fork.
You can also see why we're working for a hardfork at https://github.com/cfug/diox/issues/29 and https://github.com/flutterchina/dio/issues/1607.

@AlexV525 Thanks, Mate.
https://github.com/cfug/diox have more secure ways.
Will try it out.


Making a fieldGroup collapsible

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ x ] support request

I'm using this to make a div collapsible in my app:

    show details

...

How can i combine this with a fieldgroup to make it collapsible?

see https://stackblitz.com/edit/angular-pnmmlb


[BUG] Exception during retrieving ServerCallId from the CommunicationCall object

Library name and version
Azure.Communication.Calling.WindowsClient 1.3.0-beta.2
Describe the bug
I am using the Windows "Calling" Client of Azure Communication Service, after I start successful a call via the CallAgent:
CommunicationCall communicationCall = await this.callAgent.StartCallAsync(new[] { new UnknownCallIdentifier(currentUsername) }, options); Console.WriteLine(communicationCall.Id) string currentServerCallId = await communicationCall.Info.GetServerCallIdAsync();
The call is placed and a communicationCall.Id is generated. Then I need the ServerCallId but the last line always fails with the following error:
Exception thrown at 0x00007FFF4B994FFC in Application.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000C1E5BFF928.
The "Info" object of CommunicationCall was introduced with the version "1.3.0-beta.XX" and not present in the stable version "1.2.0".
Expected behavior
The "communicationCall.Info.GetServerCallIdAsync()" should return the Server Call ID
Actual behavior
An exception is raised:
Exception thrown at 0x00007FFF4B994FFC in Application.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000C1E5BFF928.
Reproduction Steps
Start with the "CallingWinUI" quickstart:
https://github.com/Azure-Samples/communication-services-dotnet-quickstarts/tree/main/CallingWinUI
Update the code in order to call the method:
communicationCall.Info.GetServerCallIdAsync()
on the "CommunicationCall" object.
Environment
No response

@gaobob-msft @jowang-msft Please review.

Hello, do you have an update about the issue? Thank you

Hi @ultrasimulation,
I tried 1.3.0-beta.2 and it appeared working.
The CommunicationCall object is only going to reach a "ready" state after your code receives StateChanged event, informing the call has reached CallState.Connected state. Because the underlying call object is still transitioning asynchronously to a connected state, depending on how soon the callee responded to the call. Therefore, you can't reliably access the server id using the call object you received from calling StartCallAsync(). I recommend you modify your code to fetch the server call id in response to the StateChanged event::
`        private async void OnStateChangedAsync(object sender, PropertyChangedEventArgs args)
{
var call = sender as CommunicationCall;
        if (call != null)
        {
            var state = call.State;

            switch (state)
            {
                case CallState.Connected:
                    {
                        var sid = await call.Info.GetServerCallIdAsync();  // This should work

`
Please let us know. Thanks.

Hello @jowang-msft  thank you for your reply. I tested your code and it works good. I didn't find any documentation of that API (call.Info.GetServerCallIdAsync()) that seems is introduced in the new Beta versions of the client and the exception message was not talking at all. So I didn't know that I should soubscribe to that event.
I would suggest documenting its usage and/or raising an interpretable exception.
Thank you again


Operator version 2.4.0

I think you should exclude the path /docs from this PR.  There are a lot of updates in there that are changing archived files, and even third party copyright notices.  I do not believe those changes are "correct".


Bug: No sanity check on logfile

Currently, if you add a folder containing several k32/100GB plots as a plot log folder no sanity check is done on the logs. The program will happily try to parse that 100GB files as logs.
Since the folder selection is persistent accross restarts this could lead to a freeze on the application while it goes through 100s of GB of nonesense and a restart would not fix it.
Check:

if first n bytes are binary or might be text
if number of bytes to first, second and third line break are in a reasonable range
if first n lines contain chia plotting relevant log data

Done


MAINT: optimize: Remove warnings from building highs

Reference issue

N/A
What does this implement/fix?

This PR removes two build time warnings for the Cython interface for highs. These warnings are:
[1457/1477] Generating 'scipy/optimize/_highs/_highs_wrapper.cpython-311-x86_64-linux-gnu.so.p/_highs_wrapper.cpp'
warning: /home/kai/Projects/scipy/scipy/optimize/_highs/cython/src/_highs_wrapper.pyx:70:21: noexcept clause is ignored for function returning Python object
warning: /home/kai/Projects/scipy/scipy/optimize/_highs/cython/src/_highs_wrapper.pyx:115:18: noexcept clause is ignored for function returning Python object

Additional information

Only a small change that causes no changes in how Highs is built. Not a high priority just something nice to have.

@tylerjereddy I've marked this for 1.13.0 as it's a really small change, however if it's too late feel free to bump the timeline

Ok. Let's close this PR.


Backports 0.15 pr11

based on #2918
Also, btw, this doesn't build atm

I propose to split this PR in 3 parts:

10090-10186 (i.e. up to validation interface changes)
9480-9942 (i.e. up to fee estimation changes)
10181-9951 (i.e. the rest of it including wallet db changes)

dropped 10020 and 10030 and changed dash.conf

Pls also see https://github.com/UdjinM6/dash/commit/b382e671f696717fe2c8297e2aace8fef1beec23. I'm not yet 100% sure if it works correctly, still running tests https://travis-ci.org/UdjinM6/dash/builds/536320920. But at least it compiles locally.

ehh... llmq-is-cl-conflicts.py fails locally :/

ok, let's try new version :) dfeffa09d12e797a325ad4881b2f72aeda62366b + d96c87859b390c9bc44d081193a37ffb538d730b, Travis https://travis-ci.org/UdjinM6/dash/builds/536378877 (make sure to drop a5aafd6 and 594e8a1 first).

Pls see https://github.com/UdjinM6/dash/commit/25189b0e7e2c9fa20030a604b6b7e0c72d56102c, Travis https://travis-ci.org/UdjinM6/dash/builds/536765016

The whole backport of https://github.com/bitcoin/bitcoin/pull/10133 should be removed from this PR, as it was already backported as part of #1697. Later backported PRs found in #1701 then changed some of the values/calculations which are now basically reverted by this re-backporting of bitcoin#10133

removed 10133


[Guidance required] - ALZ-Bicep-3-SubPlacement failed

Let us know the feedback or general question
Question
Testing it out with GitHub Actions, using a single subscription:
ALZ-Bicep-1-Core and ALZ-Bicep-2-PolicyAssignments worked.
ALZ-Bicep-3-SubPlacement failed
New-AzManagementGroupDeployment: /home/runner/work/march05/march05/pipeline-scripts/Deploy-ALZSubscriptionPlacement.ps1:29
Line |
29 |  New-AzManagementGroupDeployment @inputObject
|  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 09:58:41 - The deployment
| 'alz-SubscriptionPlacementDeployment-20240305T0903326953Z' failed with
| error(s). Showing 3 out of 3 error(s). Status Message: Failed to add
| subscription to management group (Code:Conflict)  Status Message: Failed
| to add subscription to management group (Code:Conflict)  Status Message:
| At least one resource deployment operation failed. Please list
| deployment operations for details. Please see
| https://aka.ms/arm-deployment-operations for usage details. (Code:
| DeploymentFailed)  - Failed to add subscription to management group
| (Code:Conflict)   CorrelationId: c1c64b1b-14dd-43b3-a909-69f493468d35
Error: Error: The process '/usr/bin/pwsh' failed with exit code 1
Does it mean that it will always fail with only one subscription?
Code of Conduct

[X] I agree to follow this project's Code of Conduct

No I have used on single and multiple substitutions

Hi @jamesyoung007, as @jzryk8 mentioned, you should be able to place a single subscription. However, make sure that in your parameter file, you don't have the same subscription specified under multiple management groups params or you'll run into a race condition where multiple deployments are going to try and be moving the same subscription under different management group ids.

Let me know if that is the issue you're running into. Thanks!

Thanks, I do have the subId in the parameter file as below screenshot,
which I hid for security purposes.
[image: image.png]
On Wed, Mar 6, 2024 at 9:10 AM Zach Trocinski @.***>
wrote:

Hi @jamesyoung007 https://github.com/jamesyoung007, as @jzryk8
https://github.com/jzryk8 mentioned, you should be able to place a
single subscription. However, make sure that in your parameter file, you
don't have the same subscription specified under multiple management groups
params or you'll run into a race condition where multiple deployments are
going to try and be moving the same subscription under different management
group ids.
image.png (view on web)
https://github.com/Azure/ALZ-Bicep/assets/30884663/6486a720-9197-426f-befa-a81b4e68ee96
Let me know if that is the issue you're running into. Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/ALZ-Bicep/issues/734#issuecomment-1979546645,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJAQY2TDAZGPONTI4OP223YWYRCZAVCNFSM6AAAAABEGZ4DHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZZGU2DMNRUGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Got it, so you'll want to take a look at this reference architecture for a single platform subscription management group and single platform subscription.
I assume you also have the platform management groups (connectivity, identity, and management) deployed as well, so you'll want to delete those and then take a look at the modules that support the parPlatformMgAlzDefaultsEnable parameter and set that to false.
Please re-open if you are still running into issues, happy to help!

Thanks Zach,

Deleted platform management groups (connectivity, identity, and
management).
Updated parPlatformMgAlzDefaultsEnable value to False in 3 files.
Tried to run ALZ-Bicep-3-SubPlacement, failed.

On Wed, Mar 6, 2024 at 2:45 PM Zach Trocinski @.***>
wrote:

Got it, so you'll want to take a look at this reference architecture
https://github.com/Azure/Enterprise-Scale/blob/main/docs/reference/treyresearch/README.md
for a single platform subscription management group and single platform
subscription.
I assume you also have the platform management groups (connectivity,
identity, and management) deployed as well, so you'll want to delete those
and then take a look at the modules that support the
parPlatformMgAlzDefaultsEnable parameter and set that to false.
Please re-open if you are still running into issues, happy to help!
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/ALZ-Bicep/issues/734#issuecomment-1979929631,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJAQY22T4JGPIQGAPFUPHDYWZYKHAVCNFSM6AAAAABEGZ4DHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZZHEZDSNRTGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Can you confirm if for your subPlacementAll.parameters.all.json file, that parPlatformManagementMgSubs, parPlatformConnectivityMgSubs, and parPlatformIdentityMgSubs are empty and that you only have that platform subscription included within parPlatformMgSubs as shown below:

Yes, it works! Sorry I didn't empty the value and move it to parPlatformMgSubs,
apologies, and thanks a lot, much appreciated, Zach!
On Thu, Mar 7, 2024 at 6:20 AM Zach Trocinski @.***>
wrote:

Can you confirm if for your subPlacementAll.parameters.all.json file, that
parPlatformManagementMgSubs, parPlatformConnectivityMgSubs, and
parPlatformIdentityMgSubs are empty and that you only have that platform
subscription included within parPlatformMgSubs as shown below:
image.png (view on web)
https://github.com/Azure/ALZ-Bicep/assets/30884663/77219690-9f43-494b-a520-c0afa7593fde
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/ALZ-Bicep/issues/734#issuecomment-1981394688,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJAQY4RFI24JWGES2WDNS3YW5F67AVCNFSM6AAAAABEGZ4DHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBRGM4TINRYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Connect to a server with a specific interface

Hi,
Is there a way to make the piko agent connect to the server with a specific interface? My use case is that the server is available only through the LAN interface, not WIFI.
Im happy to open a PR.
Thanks.

Hey @jadiaheno, thanks for opening this issue
Shouldn't Linux select the correct interface automatically in that case?
If not, would an optional --connect.bind-addr work for you, such as specify --connect.bind-addr <IP_ADDRESS> to select the interface (and optional port)?

Hey @andydunstall, thanks for your quick answer.
An optional --connect.bind-addr  would work. Can you tell me where to add it?
Thanks.

Sure, so:

Extend ConnectConfig in https://github.com/andydunstall/piko/blob/main/agent/config/config.go#L227
Add BindAddr to https://github.com/andydunstall/piko/blob/main/client/upstream.go#L31
Pass the bind addr to https://github.com/andydunstall/piko/blob/main/pkg/websocket/conn.go#L104 (which may need a custom dialer to pass the bind address)

As mentioned I'm happy to add this weekend as it will require changes to quite a lot of places, up to you

@jadiaheno are you still planning to work on this?
Otherwise if it's not needed can I close this issue?