Failed to execute 'define' on 'CustomElementRegistry

Requirements

[X] I checked the troubleshooting section in the README to verify that I have the latest Mushroom version.
[X] I did a search to see if there is a similar issue or if a pull request is open.

Current Behavior
Uncaught error from Chrome <IP_ADDRESS> on Mac OS 10.15.7 NotSupportedError: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:61 /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:76 n (/hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:1:963) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:569:66
Expected Behavior
No response
Steps To Reproduce
No response
Context
YAML state

Environment
- Browser: chrome
- HA Version: 2024.06
- Mushroom: ultimate

Anything else?
lovelace-mushroom file name identical of lovelace-mushroom-better-slider: meshroom.js and mushroom.js.gz ? can it is a problem for hassio's front end?

Following as I have this same issue appearing in logs, noticed since 2024.7 but could have been earlier. I can confirm it occurs with Chrome 126 and Firefox 127 for me.

Hey Guys,
I have the same Error in my logs. :)
Logger: frontend.js.latest.202407100
Quelle: components/system_log/__init__.py:333
Erstmals aufgetreten: 07:47:41 (1 Vorkommnisse)
Zuletzt protokolliert: 07:47:41

Uncaught error from Edge <IP_ADDRESS> on Mac OS 10.15.7 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry window.CustomElementRegistry.define (src/scoped-custom-element-registry.js:44:14) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:61 /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:76 n (/hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:1:963) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:569:66

Same too 😞

Logger: frontend.js.latest.202407100
Source: components/system_log/__init__.py:333
First occurred: August 4, 2024 at 11:15:49 PM (13 occurrences)
Last logged: 2:39:32 PM

Uncaught error from WebKit 605.1.15 on iOS 18.1 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry message (node_modules/core-js/modules/web.dom-exception.stack.js:25:24) src/scoped-custom-element-registry.js:45:10 /hacsfiles/lovelace-mushroom/mushroom.js:29:67 n (/hacsfiles/lovelace-mushroom/mushroom.js:1:964) module code (/hacsfiles/lovelace-mushroom/mushroom.js:571:63)

I have the same with Brave Browser: Any Idea how to fix this error?
Uncaught error from Brave <IP_ADDRESS> on Windows 10 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry window.CustomElementRegistry.define (src/scoped-custom-element-registry.js:44:14) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:61 /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:76 n (/hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:1:963) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:569:66

I also receive the same type of error

Logger: frontend.js.modern.202411062
Source: components/system_log/__init__.py:331
First occurred: 07:34:04 (6 occurrences)
Last logged: 11:06:10

Uncaught error from WebKit 605.1.15 on iOS 18.1.1 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry message (node_modules/core-js/modules/web.dom-exception.stack.js:25:24) src/scoped-custom-element-registry.js:45:10 /hacsfiles/lovelace-mushroom/mushroom.js:23:132 Vr (/hacsfiles/lovelace-mushroom/mushroom.js:1:15070) module code (/hacsfiles/lovelace-mushroom/mushroom.js:286:46393)
Uncaught error from WebKit 605.1.15 on iOS 18.1.1 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry message (node_modules/core-js/modules/web.dom-exception.stack.js:25:24) src/scoped-custom-element-registry.js:45:10 /local/mushroom.js:43:74 n (/local/mushroom.js:15:788) module code (/local/mushroom.js:595:45044)

I also receive the same type of error
Logger: frontend.js.modern.202411276
Source: components/system_log/__init__.py:331
First occurred: 12:29:51 (1 occurrences)
Last logged: 12:29:51

Uncaught error from Chrome <IP_ADDRESS> on Windows 10 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry window.CustomElementRegistry.define (src/scoped-custom-element-registry.js:44:14) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:61 /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:29:76 n (/hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:1:963) /hacsfiles/lovelace-mushroom-better-sliders/mushroom.js:569:66

I checked a little more in detail and on the website:
https://github.com/phischdev/lovelace-mushroom-better-sliders
it is nicely written:
This mod will not work, if you still have the original Mushroom installed.
I removed the original Mushroom and it no longer gives me the error.


Updated Transition to use direct properties via use of new TransitionBase class

What does the pull request do?
Updates the generic Transition class to use direct properties instead of plain CLR properties.
What is the current behavior?
CLR properties were used before, which didn't allow bindings.  Bindings are necessary to properly support some features we want to implement.  The Animation class already uses direct properties similar to the changes this PR makes.
What is the updated/expected behavior with this PR?
The properties now are direct properties, which do allow bindings.
How was the solution implemented (if it's not obvious)?
Per @kekekeks advice, created a non-generic TransitionBase class to define the direct properties since they can't be defined on a generic type.  Updated Transition to inherit TransitionBase.
Checklist

[ ] Added unit tests (if possible)?
[x] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes
Everything using Transition types should continue working as-is.  These were just backend property implementation changes.
Obsoletions / Deprecations
None
Fixed issues
None

You can test this PR using the following package version. 11.0.999-cibuild0038906-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]


Modify aircraft.yaml to add 'offline' temperature bias correction

configuration.
Description
Modify the aircraft.yaml to add application of aircraft temperature bias correction
Dependencies

[ ] waiting on GEOS-ESM/repo/pull/<pr_number>
[ ] waiting on GEOS-ESM/repo/pull/<pr_number>

Impact

[ ] repo
[ ] ...

how to convert aircraft bias coefficient file:
python3 generate_aircraft_bias_csv.py x0048.ana.acftbias.20211211_18z.txt aircraft_abias_air_constant.2021-12-11T21:00:00Z.csv MetaData/stationIdentification string 0 BiasCoefficientValue/constantPredictor float 2
python3 generate_aircraft_bias_csv.py x0048.ana.acftbias.20211211_18z.txt  aircraft_abias_air_ascent.2021-12-11T21:00:00Z.csv MetaData/stationIdentification string 0 BiasCoefficientValue/ascentPredictor float 3
python3 generate_aircraft_bias_csv.py x0048.ana.acftbias.20211211_18z.txt aircraft_abias_air_ascentSquared.2021-12-11T21:00:00Z.csv MetaData/stationIdentification string 0 BiasCoefficientValue/ascentSquaredPredictor float 4
The converter generate_aircraft_bias_csv.py is in ioda-converters/src/acftbias/
bias file for 00z input /discover/nobackup/projects/gmao/dadev/dao_it/archive/x0048/ana/Y2021/M12/x0048.ana.acftbias.20211211_18z.txt
bias file for 06z input /discover/nobackup/projects/gmao/dadev/dao_it/archive/x0048/ana/Y2021/M12/x0048.ana.acftbias.20211212_00z.txt
(Note these ultimately would be from e.g. x0048.ana_acftbias_rst.20211211_21z.txt, x0048.ana_acftbias_rst.20211212_03z.txt which are identical to the files above - but are packed in tar files so not as convenient to access.)

Note that the bias corrected HofX is loaded into 'HofXBc' and I have modified the Background error to use test_hofx: to use this HofX instead of the non bias corrected 'hofx'


Reddit fails to verify and any attempts to solve it on my end fail

Hello,
I started getting emails from Keybase saying my reddit proof was failing. I tried to solve it myself by having keybase recreate the proof 2 days ago. That still didn't solve it. My post is here:
https://www.reddit.com/r/KeybaseProofs/comments/1d5b5ze/my_keybase_proof_redditnatepalmer/
Not sure what else can be done on my end though.

I have this problem, too.

reddit proof suddenly reported as working again.

Yup, just started working again. Nothing changed on my end.


Can't upgrade a package whose newest version number is shorter than the installed number

Something like
C:\Windows\System32>winget upgrade
Name                                             ID                                Version   Verfügbar  Quelle
Advanced SystemCare                         IObit.AdvancedSystemCare          17.2.0    <IP_ADDRESS> winget
Driver Booster 11                                IObit.DriverBooster               11.2.0    <IP_ADDRESS>  winget
can not be updated.
In most common case, the newest version is installed.
But winget believe, 17.2.0 is newer than <IP_ADDRESS>!
How to solve it?
What is the solution?
Thanks!

Can you share the output from winget list showing the installed version and the suggested version?
It looks like one of our moderators added PRs for the versions mentioned.

It looks like the output from winget upgrade is showing the newer versions available in the "Available" column.

Can you share the output from winget list showing the installed version and the suggested version?
It looks like one of our moderators added PRs for the versions mentioned.

How to share this 'winget list'?
Maybe like an attached file?
Here we are...

That's from WinGet UI which is a different project.
This GitHub project is for WinGet, the CLI (Command Line Experience) running behind WinGetUI.

That's from WinGet UI which is a different project.
This GitHub project is for WinGet, the CLI (Command Line Experience) running behind WinGetUI.

Ok!
Here we are...
C:\Windows\System32>winget list | more
Name                                     ID                                        Version            Verf├╝gbar  Quelle
Upscayl 2.5.1                            2239ca62-47a7-52bf-bffa-6c900931774b      2.5.1
...
WhatsApp                                 5319275A.WhatsAppDesktop_cv1g1gvanyjgm    2.2401.5.0
...
7-Zip 23.01 (x64)                        7zip.7zip                                 23.01                         winget
Advanced SystemCare                      IObit.AdvancedSystemCare                  17.2.0             <IP_ADDRESS> winget
...
CPUID CPU-Z 2.09                         CPUID.CPU-Z                               2.09                          winget
...
Creative Sound Blaster USB Audio DriverÔÇª CtKsUSBDrvInst_is1                        <IP_ADDRESS>
Creative USB Native ASIO                 CtUsAsio_is1                              <IP_ADDRESS>
...
Driver Booster 11                        IObit.DriverBooster                       11.2.0             <IP_ADDRESS>  winget
...
GIMP 2.10.36                             GIMP.GIMP                                 2.10.36                       winget
.....

OK, it looks like newer versions are being offered. Are the upgrades failing?

I'm guessing the installer isn't updating the version in the registry after the upgrade. WinGet is looking at registry data to determine the version. What is displayed in Windows Apps & Features after installing the latest version?

I'm guessing the installer isn't updating the version in the registry after the upgrade. WinGet is looking at registry data to determine the version. What is displayed in Windows Apps & Features after installing the latest version?

How to show it?
Like this...?

@denelon - this is an issue with the manifests. The manifests were submitted with an incorrect PackageVersion which is higher than the version the application writes to registry. The two linked PRs should close this issue

@Stuntman58 I'm not sure if it's a bug in GitHub or if you are following something on GitHub leading to the e-mail notifications.


TypeError: Invalid apiVersion "5.5", expected a function or one of _default, 6.6, 6.5, 6.4, 6.3, 6.2, 6.1, 6.0, 5.6, 2.4, 1.7, 0.90, 6.7, 7.0, 7.x, master

Current behavior
While doing " Importing data from magento into ElasticSearch...", it was taking forever, then I canceled it.
I got this error on vue-storefront/var/log/install.log
== CREATING NEW DATABASE ==
/home/don/Web/showroom/vue-storefront-api/node_modules/elasticsearch/src/lib/utils.js:285
      throw new TypeError(err);
      ^

TypeError: Invalid apiVersion "5.5", expected a function or one of _default, 6.6, 6.5, 6.4, 6.3, 6.2, 6.1, 6.0, 5.6, 2.4, 1.7, 0.90, 6.7, 7.0, 7.x, master
    at Object.utils.funcEnum (/home/don/Web/showroom/vue-storefront-api/node_modules/elasticsearch/src/lib/utils.js:285:13)
    at new Client (/home/don/Web/showroom/vue-storefront-api/node_modules/elasticsearch/src/lib/client.js:70:33)
    at Object.<anonymous> (/home/don/Web/showroom/vue-storefront-api/migrations/.common.js:17:14)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)

 == REVIEWS IMPORTER ==
2019-02-09T06:32:23.444Z - debug: Elasticsearch module initialized!

info: Winston logging library initialized.

2019-02-09T06:32:23.581Z - error: Unhandled Rejection at: Promise Promise {
  <rejected> TypeError: Invalid apiVersion "5.5", expected a function or one of _default, 6.6, 6.5, 6.4, 6.3, 6.2, 6.1, 6.0, 5.6, 2.4, 1.7, 0.90, 6.7, 7.0, 7.x, master

Expected behavior
Importing run smooth
Steps to reproduce the issue
yarn installer
Repository
https://github.com/DivanteLtd/vue-storefront
Can you handle fixing this bug by yourself?
No.
Environment details

OS: Deepin 15.9.1
Node: v8.11.2

Elastic 6.x is not yet supported. Please do use 5.x

but mine is 5.6
➜  vue-storefront-api git:(master) docker-compose -f docker-compose.yml -f docker-compose.nodejs.yml up -d
Starting vue-storefront-api_redis_1 ... done
Starting elasticsearch              ... done
Starting vue-storefront-api_app_1    ... done
Starting vue-storefront-api_kibana_1 ... done
➜  vue-storefront-api git:(master) curl -XGET localhost:9200
{
  "name" : "cToNYak",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "ZLu8gsYRTAKukWrOBINeZw",
  "version" : {
    "number" : "5.6.11",
    "build_hash" : "bc3eef4",
    "build_date" : "2018-08-16T15:25:17.293Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

OK, that changes the perspective :) Please try do change:
https://github.com/DivanteLtd/vue-storefront-api/blob/9465bdbbc5d48ad480ae71e7ee0de9044f014d33/migrations/.common.js#L10
to '5.6' and if it works then You might want open a Pull Request with a fix

@mdanilowicz

We could consider moving that constant into config instead of hardcoding 5.6.

@lukeromanowicz let's do it - please just check up with @mdanilowicz

I found the issue.  In vue-storefront-api/package.json, it has "elasticsearch": "^15.2.0", and It fetch elasticsearch 15.4.1. and elasticsearch node module 15.4.1 doesn't support apiVersion 5.5.

Thanks! Fixed with the https://github.com/DivanteLtd/vue-storefront-api/releases/tag/v1.8.1

thx, but the error still occur. That's because the apiVersion in node_modules/mage2vuestorefront/src/adapters/nosql/elasticsearch.js is still 5.5

OK, fixed with https://github.com/DivanteLtd/mage2vuestorefront/commit/9ff66feb861330d73b5eec207d19ea9e5df243db

Hi guys, I am still getting this issue, I can never seem to import the data.
And I get a slightly different error:
ERROR                                                                                │
│                                                                                │
│ Error: Can't import data into ElasticSearch.                                                                                │
│     at Promise (/core/scripts/installer.js:327:16)                     │
│     at new Promise (<anonymous>)                                                                                │
│     at Backend.importElasticSearch (/core/scripts/installer.js:323:12) │
│                                                                                │
│ Please check log file for details: /var/log/install.log

Think I found the issue...
Redis default host for me is <IP_ADDRESS> not "localhost"
in /vue-storefront-api/config/local.json on line 35


ist not working, when i use this sever, ist beginin, but i can`t see the website, i can see just a empty web.

plz upgrade to v2.2.0.


Overflow flag is mishandled

I tried:
start:
MOV AX, 0xFFFF
ADD AX, AX
Expected: AX = 0xFFFE, CF = 1, OF = 0
Got: AX = 0xFFFE, CF = 1, OF = 1
My understanding from Peter Cordes's analysis is OF is always tracking CF which is not right. https://stackoverflow.com/a/75679804/14768

ref : https://github.com/YJDoc2/8086-emulator-web/issues/30

Hey @joshudson , indeed there is a bug in the overflow flag handling :sweat_smile:
Currently it always copies the carry flag, however the actual logic should be :
Set overflow flag when :

7/15 th bit generates carry, but 8/16 th doesn't
7/15 th bit does not generate carry, but 8/16 th does

Else clear.
There is a similar bug in setting the zero flag as well.
This was reported a few days back separately to me, and I have implemented the fix for it, however I got a bit busy and haven't done final validation+deploy for that fix.
I hope to get that done by this weekend.
Thanks a lot for using and reporting this, hope you found this useful (apart from the bug!)

Hey @joshudson , I have updated the implementation in https://github.com/YJDoc2/8086-Emulator/pull/18, and also updated the web version with it.
Please check, and close the issue if the problem is solved :+1:

Works.


test: Move "unit_race" test from Travis shard 4 to 0.

This will balance the shards better. This test in particular takes ~3m48s.
Exampe for Shard Execution times before this change:
(see https://travis-ci.org/youtube/vitess/builds/159687311)
shard 0:  6m55s
shard 1: 11m48s
shard 2: 12m08s
shard 3: 14m46s
shard 4: 17m20s
Eventually, we could do the automatic rebalancing again :)

LGTM


fix(gulp-sharp): use provided SharpOptions in handling

fix #29

Coverage remained the same at 82.09% when pulling a46315eacf2842a30722a13ee182a946861307d1 on fixsharpconfigusage into 6015b7873cb00d5a475d6ee676001c963c5310a9 on dev.


Could not import setuptools which is required to install from a source distribution

Whenever I'm trying to push using the 'git push origin HEAD:master --force' command, I'm getting the following setuptools error (check out the screenshot): "Could not import setuptools which is required to install from a source distribution".

I thought it was related to the recent pip/setuptools update in official python buildpack.. so i made a fork of buildpack's repository and did a roll-back to the previous commits where old versions were used, but it didn't help. I tried to execute a 'purge-cache' command.. no luck. Then I tried to do a 'reset', change requirements.txt.. But it all just doesn't help to solve the problem. Would appreciate any help. Thanks!

In the screenshot I see this error message displayed:

"Hello! It looks like your application is using an outdated version of Python.
This caused the security warning you saw above during the 'pip install' step.
We recommend 'python-2.7.12', which you can specify in a 'runtime.txt' file."

Further up in the screenshot, I also see:

"---> Installing Python 2.7.5"

...so I'd check the runtime.txt file in your repo and update the Python version listed there.

edmorley, thanks for the respond, but I already tried that =) yes, if I'll update the runtime.txt with the newest version of Python - then i'll get rid of that warning. But it has nothing to do with the main issue. Maybe I'm doing something wrong, but I just can't seem to find what exactly. Can it be related to some internal heroku cache thing? Like, some old package stuck somewhere or something?

So, @edmorley, i updated the runtime.txt, and it doesn't help, as you see:

It looks like ez_setup (https://pypi.python.org/pypi/ez_setup) is incompatible with newer setuptools.
Try removing it from your requirements.txt - I doubt you need it anyway.

it looks like one of your package dependencies is trying to run ez_setup.py (bootstraps setuptools), which is neither proper or supported on heroku. Setuptools is already available.

I thought so too.. and i tried to remove it. But i'm getting the same error regardless of the presence of that package.It fails in exactly the same way even if i have only BeatifulSoup package listed in requirements.txt file.

Compressing objects: 100% (38255/38255), done. Writing objects: 100% (163612/163612), 334.32 MiB | 1.28 MiB/s, done. Total 163612 (delta 125127), reused 161216 (delta 123158) remote: Compressing source files... done. remote: Building source: remote:  remote: -----> Deleting 28 files matching .slugignore patterns. remote: -----> Python app detected remote: -----> Installing python-2.7.12 remote: -----> Noticed pylibmc. Bootstrapping libmemcached. remote: -----> Noticed cffi. Bootstrapping libffi. remote:      $ pip install -r requirements.txt remote:        Collecting BeautifulSoup==3.2.1 (from -r requirements.txt (line 1)) remote:          Downloading BeautifulSoup-3.2.1.tar.gz remote:        Could not import setuptools which is required to install from a source distribution. remote:        Traceback (most recent call last): remote:          File "/app/.heroku/python/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 387, in setup_py remote:            import setuptools  # noqa remote:          File "build/bdist.linux-x86_64/egg/setuptools/__init__.py", line 10, in <module> remote:          File "build/bdist.linux-x86_64/egg/setuptools/extern/__init__.py", line 1, in <module> remote:        ImportError: No module named extern remote:         remote:  !     Push rejected, failed to compile Python app. remote:  remote:  !     Push failed remote: Verifying deploy... remote:  remote: !	Push rejected to alpha-getshelf. remote:

Well, I finally found the reason. I had some weird pkg_resources.py module sitting in the root directory. Have no idea what is it for and why it was there (it's like a long-time project, so I didn't participate in adding that module).  Thanks for everyone's help!


can workspace map online file?

in Set Up Persistence with DevTools Workspaces
,the picture shows html5rocks.com ,it seems map online file .
But I try map online file , it fail !
I have no idea that workspace can map online file ?

This is not supported by DevTools. You need a proxy to intercept remote files and replace them with local files when testing. Workspaces maps remote files to a local filesystem for editing, but it does not allow you to then inject those files when the remote ones are called.


Add version pump

Describe the pull request:

[ ] Bug fix
[ ] Functional change
[x] New feature
[ ] Unit/integration tests
[ ] Code cleanup
[x] Build system change
[ ] Documentation change

Pull request long description:
This will bump the patch number on each PR merge unless the commit message contains #none.
In order to bump the major or minor version add #major or #minor to the PR message.
#major -> v1.2.3 > 2.0.0
#minor -> v1.2.3 > 1.3.0
If a new tag is created the second part of the action will build an docker image and publish it to the GithHub Container Registry.
The new image can the be pulled by calling docker pull ghcr.io/uio-bmi/mq-interceptor:latest
Related issues:
#none Do not bump the version for this PR
Additional information:
Mentions:
@a-ghanem changed the ghcr-publish.yml to publish.yml to allow automatic version tagging upon merging to master

Creating first major version #major


Dynamic port numbers

Change the hardcoded ports to dynamic values

What an exciting idea, i can do this my friend!


RSComposite>>#resetChildren does not reset shapeCollection

In RSComposite>>#resetChildren, the children are reset; however, the new shapeCollection stays untouched. This means the old shapes added to the composite are still stored and thus potentially displayed twice (see visibleChildren computation in RSAthensRenderer>>#visitChildrenIfNecessary:).

done!


Chart titles not shown in login area

Describe the bug
Chart Names / Titles do not appear in the login area
To Reproduce Steps to reproduce the behavior:

Go to visualize.admin.ch
Login
Create a new chart and give it a title
Save the chart as a draft or publish it
Go to the login area-> Home
See that the chart name is [No Title]

Expected behavior
The given chart title should appear in the "Name" column instead of [No Title]
Screenshots or video
https://github.com/user-attachments/assets/a4e570e4-c06d-4aaa-a121-885ba01cda92
Environment (please complete the following information):

Visualize environment and version: PROD v4.7.4 (71758ed)
Browser and version [e.g. Chrome 107]

Additional context Add any other context about the problem here.

Closing this, as i realized it is a duplicate of Name is not saved in Draft of a Visualization, even though the chart has a title and already fixed on TEXT


enhancement : made plant detail screen image zoomable

Zoom and Pan Functionality to Image View

Implemented pinch-to-zoom and double-tap zoom features, allowing users to zoom in and out of images with a range from 1x to 3x.

Added draggable (panning) capability, enabling users to move the zoomed image within its boundaries.

Ensured image panning is constrained to prevent dragging the image out of the visible area.

This enhancement improves user interaction with images, providing a more intuitive and flexible viewing experience.
Video:
https://github.com/user-attachments/assets/aec1f5ca-737a-4474-ba71-054c53eeb4d4

Hi,
Thanks for your contribution, however Sunflower is going to be archived in favour of maintaining a smaller set of up-to-date set of compose-samples, that can be found here: https://github.com/android/compose-samples, as well as snippets that can be found here: https://github.com/android/snippets.
Please feel free to keep your fork up-to-date for your learning, but this repository will be archived shortly.


update to ASP.Net Core

replaced all ASP.NET 5 to ASP.NET Core

Hi @logankd, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

We are holding off on updating the naming to ASP.NET Core until we ship bits with the new name. We have updated the dev branch with the new naming already and you can see it here: https://docs.asp.net/en/dev/


SCT Failure with BS.AllocatePool - Type is EfiMaxMemoryType

In the SCT test, we get an error “BS.AllocatePool - Type is EfiMaxMemoryType – FAILURE 99F47EDE-57C9-4892-943E-F0F508B23B91”.
We believe that the test should be compiled against a newer stable tag to pull https://github.com/tianocore/edk2/commit/502c01c5028038e4e6b4512e9c66be0ec4d11492.
BS.AllocatePool - Type is EfiMaxMemoryType -- FAILURE
99F47EDE-57C9-4892-943E-F0F508B23B91
/home/marc/devel/ampere/arm-systemready/SR/scripts/edk2-test/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServices/BlackBoxTest/MemoryAllocationServicesBBTestConformance.c:953:Status - Success

Hi Sunny,
Thank you for reporting. We are looking at the issue and will provide updates soon.

The issue is due to mismatch of the value EfiMaxMemoryType, which is used as parameter to define a invalid case testing for SCT AllocatePool() test.
UEFI-SCT, built as part of ACS used an older version of edk2 and hence reflected the older value of EfiMaxMemoryType.
Now version of edk2 has been upgraded to take the updated value.
The upgrade is done by the below commit:
https://github.com/ARM-software/arm-systemready/commit/cf3fa8b1921c41af10c14cc302dee67ba7eda3a4


No response on DELETE

Hi,
I'm using "cloudcreativity/laravel-json-api" "version": "v1.0.0-rc.2" and I realized that when sending a delete request against a resource I get no response.
Example request:
curl -X DELETE   http://api.homestead.test/api/v1/posts/1   -H 'Accept: application/vnd.api+json'   -H 'Authorization: Bearer <PERSONAL TOKEN>' -H 'cache-control: no-cache'
I get: Line return. i.e.:
vagrant@homestead:~/code/demo-laravel-json-api$ curl -X DELETE   http://api.homestead.test/api/v1/posts/1   -H 'Accept: application/vnd.api+json'   -H 'Authorization: Bearer <PERSONAL TOKEN>' -H 'cache-control: no-cache'
vagrant@homestead:~/code/demo-laravel-json-api$

This is not happening with the version included in "cloudcreativity/demo-laravel-json-api" i.e. "version": "v1.0.0-beta.5". This version in fact return a "204 No Content" response.
vagrant@homestead:~/code/demo-laravel-json-api$ curl -X DELETE   http://demo-laravel-json-api.test/api/v1/posts/1   -H 'Accept: application/vnd.api+json'   -H 'Authorization: Bearer <PERSONAL TOKEN>' -H 'cache-control: no-cache'
HTTP/1.0 204 No Content
Cache-Control: no-cache, private
Date:          Fri, 22 Feb 2019 03:47:02 GMT

I checked the method delete() in JsonApiController.php and looks that is returning the same response in both versions however reply() behaviour in CreateResponses.php is different between the two versions.
For seeing the difference just try to edit the method from:
    protected function reply()
    {
        return \response()->jsonApi($this->apiName());
    }

To:
    protected function reply()
    {
var_dump(\response()->jsonApi($this->apiName())); exit;
        return \response()->jsonApi($this->apiName());
    }

Result:
"v1.0.0-beta.5" will print the dump of the Response instance.
"v1.0.0-rc.2" will print a 500 Internal Error.
local.ERROR: Uncaught ErrorException: Object of class CloudCreativity\LaravelJsonApi\Http\Responses\Responses could not be converted to string in /home/vagrant/code/demo-laravel-json-api/vendor/cloudcreativity/laravel-json-api/src/Http/Controllers/CreatesResponses.php:50

Thanks for reporting. This is to do with the $api property on the trait.

Closing this as I've never been able to re-produce it, so can't work out if it is actually a bug.


(PDB-3372) REST endpoint for packages

Add a dedicated REST endpoint for the packages entity.

Test FAILed

@puppetlabs-jenkins retest this please

Test FAILed

@puppetlabs-jenkins retest this please

Test PASSed

Test PASSed


added From Implementation for Color => RGBA

These two type should be convertible to each other in both way.
it also would be good if we had another method on Color named get_rgba that return a RGBA struct from the color, I didn't do that here because I didn't wanted to add another extra method to Color, but maybe I should do it?

Seems like a sensible addition, and I'm happy for you to add a get_rgba method, but I'm curious where this actually comes up? In most places you use a Color rather than RGBA and Color has rgb and rgba methods as well as constant functions for all the named colors.

my reason was that its easier to modify a RGBA struct compared to a Color. most of the method in use Color for representing colors, but what if I want to get a color, change just the transparency and use it, with RGBA I can just do it, but with Color I have to first match it or just create a completely new Color... overall RGBA seems like a better way to do this, I can just do color.a -= 100

Okay that's fair. Go ahead and add the get_rgba method you suggested and then I'm happy to merge this.

while we are at it can you say how the CurrentColor variant of Color actually works? I mean in code all it does is just return all 0 for every channel, is it something internal or for place holder for something that may come in future?

It's a placeholder for something that may come in the future :)


1.2.21: Update stuck while downloading kext

Update stuck while downloading kext with version 1.2.21 of OpenCore Updater.
Log:
2023-11-16 14:29:03.922 OpenCore Updater[1150:13932] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
Checking for update
objc[1155]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x7ffb4b6dd038) and /Applications/OpenCore Updater.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x108f7d228). One of the two will be used. Which one is undefined.
Update for version 1.2.21 is not available (latest version: 1.2.21, downgrade is disallowed).
checkForUpdatesAndNotify called, downloadPromise is null
(node:1150) UnhandledPromiseRejectionWarning: Error: Command failed: cd ~; mkdir -p .oc-update/206793; cd .oc-update/206793; curl -L -s -o AirportItlwm.zip https://github.com/mswgen/oc-updater/blob/v1/AirportItlwm-Sonoma-v2.3.0-DEBUG-alpha-ff1138b.zip; mkdir AirportItlwm; cd AirportItlwm; unzip ../AirportItlwm.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of ../AirportItlwm.zip or
        ../AirportItlwm.zip.zip, and cannot find ../AirportItlwm.zip.ZIP, period.

    at ChildProcess.exithandler (node:child_process:409:12)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1093:16)
    at Socket.<anonymous> (node:internal/child_process:451:11)
    at Socket.emit (node:events:513:28)
    at Pipe.<anonymous> (node:net:757:14)
(Use `OpenCore Updater --trace-warnings ...` to show where the warning was created)
(node:1150) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

fixed in commit 6dc4b5e


Webhook agent not working when file is included with JSON

I had the idea of getting Huginn to do the job I currently have assigned to a single-purpose NodeJS webhook handler, processing Plex webhooks and sending Pushover notifications based on them.
Using the sample payloads I have, the webhook agent I wrote works perfectly. However, it chokes on real media.play events from Plex because Plex includes a thumbnail with the JSON. From the Plex end, there is no way to disable sending the thumbnail, unfortunately.
This is what the webhook payload looks like in Huginn's log. I removed the majority of the payload for brevity because it's a large JSON object that parses just fine in the absence of an image attachment.
I, [2018-04-19T04:31:36.128872 #4476]  INFO -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62] Started POST "/users/1/web_requests/10/dgwPlexHook" for <IP_ADDRESS> at 2018-04-19 04:31:36 -0700
I, [2018-04-19T04:31:36.130660 #4476]  INFO -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62] Processing by WebRequestsController#handle_request as */*
I, [2018-04-19T04:31:36.130882 #4476]  INFO -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62]   Parameters: {"payload"=>"JSON object as string that Huginn parses fine for other event types", "thumb"=>#<ActionDispatch::Http::UploadedFile:0x0000000b04d7f0 @tempfile=#<Tempfile:/tmp/RackMultipart20180419-4476-rnzd3z.jpg>, @original_filename="thumb.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"thumb\"; filename=\"thumb.jpg\"\r\nContent-Type: image/jpeg\r\n">, "user_id"=>"1", "agent_id"=>"10", "secret"=>"removed"}
I, [2018-04-19T04:31:36.136038 #4476]  INFO -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62] Completed 401 Unauthorized in 5ms (ActiveRecord: 0.8ms)
F, [2018-04-19T04:31:36.136651 #4476] FATAL -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62]
F, [2018-04-19T04:31:36.136683 #4476] FATAL -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62] Encoding::UndefinedConversionError ("\xFF" from ASCII-8BIT to UTF-8):
F, [2018-04-19T04:31:36.136706 #4476] FATAL -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62]
F, [2018-04-19T04:31:36.136731 #4476] FATAL -- : [c4751944-8a9d-4c62-9d60-dd0c2e67dc62] lib/utils.rb:90:in `values_at'
[c4751944-8a9d-4c62-9d60-dd0c2e67dc62] lib/utils.rb:79:in `value_at'
[c4751944-8a9d-4c62-9d60-dd0c2e67dc62] app/models/agents/webhook_agent.rb:118:in `payload_for'
[c4751944-8a9d-4c62-9d60-dd0c2e67dc62] app/models/agents/webhook_agent.rb:88:in `receive_web_request'
[c4751944-8a9d-4c62-9d60-dd0c2e67dc62] app/models/agent.rb:167:in `trigger_web_request'
[c4751944-8a9d-4c62-9d60-dd0c2e67dc62] app/controllers/web_requests_controller.rb:29:in `handle_request'
[c4751944-8a9d-4c62-9d60-dd0c2e67dc62] config/initializers/silence_worker_status_logger.rb:3:in `call'

When updating Huginn earlier (to 3e50831, the latest master commit at fetch time) I set en_US.UTF-8 as the default locale in /etc/default/locale (using all three environment variables, LC_ALL, LANG, and LANGUAGE) to get the upgrade commands working properly. In case it's relevant, this system is running Ruby 2.3.4p301 on Ubuntu 14.04.5.
I figured rather than continue banging my head against this, I should just ask for help from someone who knows the innards of the Webhook Agent and get the sleep I should have started on hours ago. :smile_cat:

I think we need to filter the file upload out of the parameter we use to extract the payload. The exception is happening because we are trying to convert the file upload to a string here.


Add plugin.gerrit-oauth-provider-cas-oauth configuration processing

Thanks for the contribution. This feature will be included in tag 2.15.2.


[QUESTION] Catch tile event

Hi ! Does anyone have a solution for catching tile events? I did not find anything that allows me to catch a click on a tile for example. Thx !

pixi-tilemap doesn't support it. However if you know how pixi handles interaction, it wont be difficult to add a containsPoint function in your tilemap and make it interactable. That function should iterate over all layers over all tiles and check which one is under the mouse. If you need extra fields in tile buffer for that - add them, modify the library to add something like "tileNumber" as an argument.

@roitto Old issue, but I'm struggling with it atm.
Why would one apply a tempPoint? That point's X and Y changes on every reload for me. For instance, I have a width of 34 and a height of 17. I never get to the point where I can make it actually clickable.


Add missing vtab_lcos_input so that cash_loan will run from lk script

I cherry-picked https://github.com/NREL/ssc/pull/619/commits/23e4bacf5c3c1371cdfc2e0a1aecdac4a9c80d6d over to develop so we get that change included while I debug the powerflow stack overflow.

Great!
I will delete pull request 619 if you have not already.
Thanks,
steve
On Wed, 29 Sept 2021 at 14:13, Brian Mirletz @.***>
wrote:

I cherry-picked 23e4bac
https://github.com/NREL/ssc/commit/23e4bacf5c3c1371cdfc2e0a1aecdac4a9c80d6d
over to develop so we get that change included while I debug the powerflow
stack overflow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NREL/ssc/pull/619#issuecomment-930508523, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRSQB2U4HNFQ32GBC4OIDDUENXOXANCNFSM5E43HYAQ
.


[BUG] typo in create_session_builder.py

master/current
create_session_builder.py, line 61 - function name "interlaved".

Will try to slip this into PR#24

Fixed in e3db0a5


[Fix #4047] Allow find_zone and find_zone! methods in Rails/TimeZone

The Rails/TimeZone cop forbids the usage of #find_zone and #find_zone! in Rails code, wrongly assuming that they would produce a Time object without a time zone.
However, these two methods are perfectly safe to use. In fact, they produce the same results as #zone or #default_zone would but they let you specify the requested time zone as a string, instead of reading it from the configuration.
The methods are documented here in the Rails docs.
For some usage examples, see this StackOverflow answer.

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[X] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Used the same coding conventions as the rest of the project.
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[X] Added tests.
[X] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] All tests are passing.
[X] The new code doesn't generate RuboCop offenses.
[X] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[X] Updated cop documentation with rake generate_cops_documentation (required only when you've added a new cop or changed the configuration/documentation of an existing cop).

👍


fix a sudden power off may result in local cache loss

what this PR does ?
yurthub's data cache processing is:

step1. create temporary data files without O_SYNC
step2. delete old data files
step3. rename temporary data file into cache data file
after up steps completed, the cache data may not persisted on local disk for not sync write, so when power of machine is suddenly off, the cache data is lost.

in this PR, we modify the up step1 from not sync write to sync write

LGTM


BLS entries consistency across architectures

In a recent PR where we are attempting to add CoreOS support to OSBuild for s390x we found the need to add some detection to the zip.inst stage for determining if /boot should be added to the file path for the discovered kernel and initrd from the BLS entries. This started a discussion about why this was needed.
The assumption I made up front is that all BLS config entries across all architectures would have a path for the kernel and initrd that was achored at the root of the filesystem for which the blscfg entries sat. i.e. if /boot is a separate filesystem then no /boot would be prepended to the entries. This makes sense because this is the only way GRUB would be able to find the kernel and initrd IIUC.
However s390x doesn't use GRUB and what we found (see the thread) is that the BLS config entries on s390x RHEL and Fedora images actually contained /boot in the path, even if there was a separate /boot filesystem:
# cat /mnt/loader/entries/ffffffffffffffffffffffffffffffff-6.6.8-200.fc39.s390x.conf
title  (6.6.8-200.fc39.s390x)
version 6.6.8-200.fc39.s390x
linux /boot/vmlinuz-6.6.8-200.fc39.s390x
initrd /boot/initramfs-6.6.8-200.fc39.s390x.img
options root=UUID=a4f79e2b-ce29-4e4f-b4b6-a9e4e66b07d0 ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0
id -20240131151940-6.6.8-200.fc39.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel

This is actually by design (we think) as the script that creates this file on s390x hardcodes it:
mkbls() {
    local kernelver=$1 && shift
    local datetime=$1 && shift
    local kernelopts=$1 && shift

    local debugname=""
    local flavor=""

    if [[ "$kernelver" == *\+* ]] ; then
        local flavor=-"${kernelver##*+}"
        if [[ "${flavor}" == "-debug" ]]; then
            local debugname=" with debugging"
	    local debugid="-debug"
        fi
    fi

    cat <<EOF
title ${NAME} (${kernelver}) ${VERSION}${debugname}
version ${kernelver}${debugid}
linux /boot/vmlinuz-${kernelver}
initrd /boot/initramfs-${kernelver}.img
options ${kernelopts}
id ${ID}-${datetime}-${kernelver}${debugid}
grub_users \$grub_users
grub_arg --unrestricted
grub_class kernel${flavor}
EOF
}

I don't know if it is actually required for /boot/ to be prepended to the BLS entries on s390x ot not, but @achilleas-k  and I did run a test where we modified the script to not have /boot on the front and did a kernel update and the system did at least update and reboot.
So. The reason we ended up here is because the BLS config entries on an s390x CoreOS machine actually don't have /boot prepended (presumably because OSTree is the one creating those entries and it does it consistently across all architectures).
Path forward:

Long term: We should check with upstream to see if the hardcoded /boot in 20-zipl-kernel.install has meaning or not. If not maybe we should change it.
Short term: @achilleas-k  and I agreed we should modify the zipl.inst stage to handle either case. i.e. if it can find the file without boot in the file path then use it. If not then try with boot and use that if found, else error.

This might relate to ostreedev/ostree@10e465c which we should probably turn on by default now (i did in the c9s-bootc images)

Hmm. I think there is something I am missing and you can help me understand. If we set sysroot.bootprefix to true (or OSTree changes it to default to true) then on systems with separate /boot/ filesystems that use GRUB, won't GRUB not be able to find the kernel/initrd? i.e. the path will be incorrect?

won't GRUB not be able to find the kernel/initrd? i.e. the path will be incorrect?

https://github.com/ostreedev/ostree/pull/2149/commits/0ced9fde7649271d9458ca424aa8c41908634b02

won't GRUB not be able to find the kernel/initrd? i.e. the path will be incorrect?

ostreedev/ostree@0ced9fd

Saving future me some time..
The relevant part here is that commit changes the deploy code to create a symlink in the /boot directory that points back to itself.
/boot/boot -> /boot

so /boot/{path-to-kernel} will always work regardless of if the root of your filesystem is just the boot filesystem or the full root filesystem with boot mounted at /boot.

This means an alernative option (specifically for the CoreOS building with OSBuild efforts) is to set sysroot.bootprefix to true in our config and then the zipl.inst stage would be able to continue without issue.

This sounds simple enough (is it?). Let me know what you decide and if we should change the zipl.inst stage.

Yes. It should be simple. For now we have dropped the ("fix the prefix") commit from https://github.com/osbuild/osbuild/pull/1558
Once that merges we'll make the other changes on our side and report back here to continue the discussion.


Cannot Export Tasks In Selected Formats Using API

Describe the bug
I cannot export the tasks using the API endpoint for LabelStudio (/api/projects/{number}/exports), there are a variety of issues happening. I am specifically interested in exporting into the VOC format.
To Reproduce
Note that I am exporting this using the API endpoint as the typical "Export" workflow in the GUI hangs my computer (due to its very limited CPU/RAM), and I was hoping the API would be more reliable.
Step 1: Create Export Snapshot
I used this endpoint to configure an export snapshot. This did seem to work successfully, but two issues cropped up.
For reference, the JSON I passed to the data field was the following:
data = {
    "title":"Test Full Export 2023-12-12 v2",
    "converted_formats":[{"export_type":"VOC"}],
    "task_filter_options":{"view":4, "annotated":"only", "skipped":"exclude", "finished":"only"}
}

The first issue was that, despite using the converted_formats field, the export snapshot did not list any actual formats in the response I received, which just said 'converted_formats': []
Second, despite setting the task_filter_options as listed above, the snapshot included all 4000+ images in my dataset, instead of the ~1000 annotated images.
Step 2: Converting Export Snapshot
Since the snapshot did not have my desired export type, I used this endpoint to convert my snapshot from the default to VOC.
Here is the JSON I passed to the data field:
data = {"export_type":"VOC"}

This seemed to work! When I re-queried the endpoint, it did indeed say 'export_type': 'VOC'.
Step 3: Downloading the Export
Finally, I used this endpoint to save the actual export.
This "works" in the sense that my GET request goes through, but "fails" in the sense that it doesn't provide the export in the format I requested (VOC), instead of the default JSON-formatted file, which I've attached here.
Expected behavior
I actually don't know what "format" the VOC is supposed to export in, but I presume that it is a zip file containing XML files and the images? If so, that didn't happen. Instead, I got a JSON-formatted file, which I've attached here (same as above).
Environment (please complete the following information):

OS: Windows 10
Label Studio Version: 1.10.0

Additional context
I was also requested to post my config XML, but I just remembered that I can't since I am away from the computer with Label-Studio loaded on to it, and will be for the rest of the month. I do remember that it was a slight modification of the Object Detection with Bounding Boxes template, just with different labels relevant to my project.

Hi @moss-xyz, this may be related to another issue. We're going to try and take a look into it along with the other.

Confirmed, same issue with YOLO
here is my config
.../api/projects/55/exports
{
  "title": "My YOLO Export",
  "task_filter_options": {
    "finished": "only",
    "annotated": "only"
  },
  "annotation_filter_options": {
    "usual": true
  },
  "serialization_options": {
    "drafts": {
      "only_id": false
    }
  },
  "export_type": "YOLO"
}

Try using this SDK script:
pip install label-studio-sdk==0.0.34

import time
from label_studio_sdk import Client

class SnapshotExporter:
    def __init__(self, host, api_key):
        self.ls = Client(url=host, api_key=api_key)

    def export_json_snapshot(self, project_id):
        """ Export JSON snapshot """
        project = self.ls.get_project(project_id)
        export_result = project.export_snapshot_create(title='Export SDK Snapshot')
        export_id = export_result['id']

        # Wait until the snapshot is ready
        while project.export_snapshot_status(export_id).is_in_progress():
            time.sleep(1.0)

        return export_id

    def convert_snapshot(self, project_id, export_id, export_type):
        """ Convert JSON snapshot to specific format (YOLO, VOC, COCO, CSV, TSV, BRUSH_PNG, etc """
        response = self.ls.make_request(
            method='POST',
            url=f'/api/projects/{project_id}/exports/{export_id}/convert',
            json={'export_type': export_type}
        )
        return response.json()['converted_format']  # return conversion id

    def wait_for_conversion(self, project_id, export_id, conversion_id):
        """ Wait until the conversion is completed """
        project = self.ls.get_project(project_id)
        while True:
            exports = project.export_snapshot_list()
            for export in exports:
                if export['id'] == export_id:
                    for converted_format in export['converted_formats']:
                        if converted_format['id'] == conversion_id:
                            if converted_format['status'] == 'completed':
                                return
                            elif converted_format['status'] == 'failed':
                                raise Exception("Conversion failed")
            time.sleep(1.0)

    def download_snapshot(self, project_id, export_id, export_type):
        """ Download the converted snapshot """
        project = self.ls.get_project(project_id)
        status, file_name = project.export_snapshot_download(export_id, export_type=export_type)
        if status == 200:
            return file_name
        else:
            raise Exception("Failed to download the snapshot")

# Usage
host = LABEL_STUDIO_URL
api_key = API_KEY
project_id = PROJECT_ID
export_type = 'VOC'

exporter = SnapshotExporter(host, api_key)

# Step 1: Export JSON snapshot
export_id = exporter.export_json_snapshot(project_id)
print(f"Exported JSON snapshot with ID: {export_id}")

# Step 2: Convert JSON snapshot to format
conversion_id = exporter.convert_snapshot(project_id, export_id, export_type)
print(f"Started conversion to {export_type} with ID: {conversion_id}")

# Step 3: Wait for conversion to complete
exporter.wait_for_conversion(project_id, export_id, conversion_id)
print("Conversion completed")

# Step 4: Download the converted snapshot
file_name = exporter.download_snapshot(project_id, export_id, export_type=export_type)
print(f"Downloaded {export_type} snapshot as: {file_name}")

Explanation:

Export JSON Snapshot: The export_json_snapshot method creates a new export snapshot in JSON format and waits until the export is completed.
Convert to Pascal VOC (or other): The convert_snapshot method uses the make_request method to manually call the conversion API endpoint.
Wait for Conversion: The wait_for_conversion method polls the export status until the conversion is completed or failed.
Download the Snapshot: The download_snapshot method downloads the converted snapshot in Pascal VOC format (or other).

Make sure to replace host, api_key, and project_id with your actual Label Studio host, API key, and project ID.

This is nice but fails to download the actual images. Is there a way to also get the images?


Reset time and inrush time scale

Reset time and inrush time are currently divided by 10 but communicated using 8 bytes.
That means the max time is only 2.5 seconds.
Divide by 100 to enable up to 25 seconds, fidelity is not required here.
Also, change displayed units to seconds instead of milliseconds

And flasher on/off time

And wiper intermit time


idk how problematic it is but your flask debug mode is on

It is left on purpose. Since this is the first release and there will be lots of bugs, it makes it easier to emit them instead of just failing silently.


Fix issues with inconsistent names between glossary and diagram

Removed all inconsistencies between names in the diagram and the explanation in the glossary. Just a fix

Fien for me. Thanks.


Type 'undefined' is not assignable to type 'string'

Using the Mapping example, multiple errors occur. An example would be the name property, it is declared as a string, but it is assigned an undefined value as well. Hence, the error "Type 'undefined' is not assignable to type 'string'". I feel like I missed something in the documentation, help is appreciated.

Using the Mapping example, multiple errors occur. An example would be the name property, it is declared as a string, but it is assigned an undefined value as well. Hence, the error "Type 'undefined' is not assignable to type 'string'". I feel like I missed something in the documentation, help is appreciated.

Hey, when I wrote the docs I used strict mode false (in tsconfig, compiler options). I guess you use strict mode true, then the examples do not work.
If you like you can make a PR to fix the ReadMe. I think it would be cleaner if the example worked in both modes.

To fix it, just assign a default value of the necessary type.
name: string = undefined
then befomes
name: string = „“

Great, thanks for clarifying! I was wondering btw, why is it that a class property needs a default value before a @JsonProperty annotation is able to assign it a value?

Because then the deserializer of JsonConvert couldn't find those properties and they would be ignored. It is some behavior of JavaScript that properties do not "exist" until they have a value.

FYI, I have updated the ReadMe in the latest commit on GitHub.


Move codebase to netcoreapp3.1

Related issue
Fixes AB#1577617

The last change actually happened here 8d6d5d45477adf2c4f34c5ae3747385b173b49d7 I thought this PR should ship less files than there were before, so I merged the number from this PR, which was wrong.


Fast Postgres to Postgres Initial Load Example with Connector-X and DuckDB

Description
Load data fast from Postgres to Postgres with ConnectorX and DuckDB for bigger Postgres tables (GBs)
This examples shows you how to export and import data from postgres to postgres in a fast way with ConnectorX and DuckDB as the default export will generate Insert_statement in the normalization phase which is super slow for large tables.
As it's an initial load, we create a separate schema with a timestamp initially and then replace the existing schema with the new one.

Related Issues

Installing DuckDB wasn't as straight forward. There was a strange problem on our servers only (locally wasn't any problem). More details on https://github.com/duckdb/duckdb/issues/8035#issuecomment-2020803032.
Problem with Data Type TIME with nanoseconds: Slack Discussion and Debugging and https://github.com/duckdb/duckdb/issues/12041

Also we had to convert Timestamp columns with nanosecond when they had 9999-12-31 23:59:59.999999. We replaced them with NULL instead.

Additional Context
initial load only
This approach is tested and works well for initial load (--replace), the incremental load (--merge) might need some adjustments (loading of load-tables of dlt, setting up first run after initial.
load, etc.).
run it:
Start with the following command but be aware that you need to define the environment variables in a .env and adjust the table names (table1 and table2):
postgres_to_postgres_with_x_and_duckdb.py --replace

Default behavior of generating insert-statements
I'm unsure if the normalization phase only generates insert statements when connector-x and parquet are used. We also used different source connectors like Oracle/MSSQL, and these were again bottlenecked in the normalization state with neverending creating insert-statement with a large table. Might there be a better way, as I would think this problem would appear to everyone using dlt (except if you only have small tables)? I'm sure I also didn't know all the right ways of using it, but I couldn't figure it out; that's why I created this workaround with DuckDB, which works very well for the initial load, but now we need to load the initial load every day, which was not the idea.
Working example
Right now, you'd need to define env-variables with existing Postgres DBs. It would be nice to update the example with an existing public Postgres DB so that people could easily test it.

I'm happy for feedback, but most importantly, I wanted to share the code here so people who have the same problem can have an example of how to improve speed with DuckDB.

@sspaeti this is SO good! @AstrakhantsevaAA please take a look. let's merge this
as a side note: after a discussion with you I realized how inefficient we are when dealing with parquet and databases. so we started implementing some shortcuts. in case of postgres I discovered that you can actually stream parquet as csv via psycopg2 and it is at least 10x faster than insert. Surely not as fast as what you have here but on the other hand is able to support merge loads.
https://dlthub.com/docs/dlt-ecosystem/destinations/postgres#fast-loading-with-arrow-tables-and-csv
the next one is mssql and bcp. but we'd need to run external tool for that which is quite obnoxious

Hi, +1 on how to load mssql very fast!

Hi, +1 on how to load mssql very fast!

This example easily works for MSSQL, Oracle and other SQLAlchemy supported connections too. We use it now with exactly these two too. Only thing you need to change is:

connection string to MSSQL or anything else.

e.g. MSSQL we use conn = f"mssql://{MSSQL_USERNAME}:{quote_plus(MSSQL_PASSWORD)}@{MSSQL_HOST}: {MSSQL_PORT}/{table_definition['source_db']}?TrustServerCertificate=yes&Encrypt=yes"
Oracle: oracle+oracledb://{POSTGRES_USERNAME}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/?service_name={POSTGRES_DATABASE}

LIMIT {CHUNKSIZE} OFFSET {offset} in the read_sql_x_chunked need to be adjusted to each database.

E.g. Oracle uses: OFFSET {CHUNKSIZE * i} ROWS FETCH NEXT {CHUNKSIZE} ROWS ONLY


bug: only 3 coins in dashboard

Barterdex 1.1.0 linux 64 tar.gz (i use linux mint xfce 18.3-64bit), there are only 3 coins in dashboard - kmd-btc-etomic, and no more. In a trading panel same situation. Similar problem at windows (i use Win7-64) - a lot of empty rows in selection menu at the dashboard, and there are no way to choose any coin.
Barterdex 1.0.7 works fine, but there are no orders in orderbooks.

Hello @1mk3r. From BarterDEX GUI version 1.1.0 we have a new feature called Manage Coins which uses https://github.com/jl777/coins repo to get coin list, icons and explorer data.
Please follow this updated guide to add coins in BarterDEX GUI https://komodoplatform.atlassian.net/wiki/spaces/KPSD/pages/441483271/How+to+add+coins+assets+tokens+to+BarterDEX+GUI+for+trading
Also, this YouTube video shows how to do it easily (also available via the above link) - https://www.youtube.com/watch?time_continue=1&v=zVziQQvjb-I

Is there no way to implement this feature to work from box (like it was), because now it is not a user-friendly way? For example, it will be not useful from linux liveusb, because it will demand to execute your instruction for each coin, each time.

Interesting comment about the liveusb use-case.  Thanks for raising the issue.
Yes this is a new "problem" we are happy you raised about needing to configure it vs out-of-the-box working.
We will raise it with the developer for some workarounds.


Unwanted behavior while using standard XDCPay RPC endpoints and web3 library

Summary: While using XDCPay standard RPC endpoints to connect to decentralized apps using the web3 npm package, dApps are unable to check for transactions receipt due to incompatibility with the Ethereum Standard RPC.
Reproducing the error
It is possible to use XDCPay injected provider to create a web3modal that can be used for ReactJS/Next.js dapps using web3 npm package. This would be the natural pathway to interact with decentralized apps in EVM-based networks, this is the case for XDC Network too.
By using XDCPay HttpProvider, however, we are using the XDC compatible endpoints:
  50: 'https://xdcpayrpc.blocksscan.io/',
  51: 'https://apothemxdcpayrpc.blocksscan.io/'

Which, at first glance, is not a problem since it does not prevent us from accessing web3 methods. We can still send and fetch blockchain data using a Web3 object created using XDCPay injected provider.
However, the problem is when we expect a transaction receipt to update our front-end information or compute transaction outcomes. We get the following message error:
Uncaught (in promise) Error: Failed to check for transaction receipt:
{}
    at Object._fireError (web3.min.js?2efa:9:16886)
    at eval (web3.min.js?2efa:10:25360)

Demo (error)
Screencast from 28-09-2022 15:23:51.webm
Fix
To check if this behavior only occurred with RPC endpoints that are not fully compatible with the Ethereum standard, I have configured XDCPay to use the Ethereum-compatible alternative RPCs:
  50: 'https://erpc.xinfin.network/',
  51: 'https://erpc.apothem.network/'

Fortunately, using these endpoints is enough to avoid the compatibility error with the web3 library.
Demo (Fix)
Screencast from 28-09-2022 15:47:05.webm
Video summary: Once the front-end receives the transaction confirmation receipt, the react DOM is updated with staking information
Sugestion
My suggestion would be to make Ethereum Compatible endpoints a native feature on XDCPay:

We have test eth.getTransactionReceipt function on both RPC for mainnet and Testnet and it works, Can you share txhash / step to reproduce at our end?
Here is attached images for ref.

I have tracked down this issue to my generic Contract instance in my React App, looks like the problem is on my side. Here is my generic Contract instance code:
import Web3 from "web3";
import { AbiItem } from 'web3-utils';
import { Contract as Web3Contract } from "web3-eth-contract";

class Contract {
  web3: Web3;
  chainId: number;
  account: string | null;
  tag: string | null;
  events: object;
  contract: Web3Contract;

  constructor(options, tag: string, abi, address: string) {
    this.web3 = options.web3;
    this.chainId = options.chainId;
    this.account = options.account;

    this.contract = new this.web3.eth.Contract(abi as AbiItem[], address);

    if (tag) this.tag = tag;
    else this.tag = "contract-" + Date.now();

    this.events = {};
  }

  call(method, ...params) {
    return new Promise((resolve, reject) => {
      this.contract.methods[method](...params).call({from: this.account})
        .then(resolve)
        .catch(reject)
    });
  }

  send(method, options, ...params) {
    return new Promise((resolve, reject) => {
      this.contract.methods[method](...params).send({...options, from: this.account})
        .then(resolve)
        .catch(reject)
    });
  }

  on(event, callback, onerr) {
    if (this.events[event])
      return;
    this.contract.events[event]((err, res) => {
      if (err === null) {
        callback(res.returnValues, this.tag);
      } else {
        if (onerr) onerr(err);
        else console.log(err);
      }
    });
    this.events[event] = true;
  }
}

export default Contract;

I am analyzing how to fix the issue on my side, this code will work for erpc endpoints but not for standard XDC endpoints, so if you guys have any suggestions on what I can do, I would really appreciate it.
I will keep you guys updated if manage to solve it.

@BlocksScanIO adding more information on how to get the error:
To reproduce the error, you can run my example staking dapp locally:
git clone https://github.com/menezesphill/xdc-staking-dapp.git
cd ./xdc-staking-dapp/front-end

Install dependencies:
npm install

and run the app:
npm run dev

I added a faucet button so you can get test tokens and try the dapp for youself, you will get the error whenever you try to Deposit and/or withdraw tokens from the staking card. And only when using standard XDC endpoints (works fine with erpc endpoints).


Crash when you place a number into a diamond that's in a square with other numbers

Fixed it. Actually caused by the now-smarter number evaluator! Colours were figuring out that they couldn't possibly be certain numbers (eg: red+9 MUST be 9). I'm surprised it's able to figure this out! but it's pretty cool!


MMT and dictionaries, non-translatables and identical source and target segment

Hello and thank you for the work you put into this project.
I have some questions regarding the inner workings of the MMT with respect to terminology (dictionary), non-translatables and identical source and target segment in the training data.

Dictionary - If I understand correctly, you can define a dictionary during the training process, that is a pair of files with the ending, let´s say, .en and .de.
1.1 Do these files need a specific name, or can I name them file.en or file.de? Must I specify that these are dictionaries with a certain naming convention, for instance dict.en and dict.de?
1.2 Can I have more than 1 dictionary pair, for instance technical.de and general.de?
1.3 If so, how can I specify in the translation process that MMT should use primarily the technical dictionary as a reference? For instance I have "Mutter" = "mother" in the general text, but "Mutter" = "screw" or "bolt" in the technical. When translating technical texts, I would like to use the technical term "bolt", when translating a birth certificate I want "mother".
1.4 How should the format of the dictionary file be? Can you have synonyms?
1.5 For instance, is this a correct format?
calculator - in the English dictionary
Rechner, Computer - in the german dictionary
Or should it be in the English file:
calculator
calculator
and in the German file
Rechner
Computer
In the case of such synonyms, can / how can MMT decide which term to use?
1.6 Does MMT have any problems with identical source and target words in a dictionary file?
For instance
EN dictionary file:
Computer
DE dictionary file:
Computer

Non-translatables
Can you specify a list on non-translatables, for instance proper names? Can you do that by tagging those words you do not want translated or can you define those in a special file pair, for instance: donottranslate.de and donottranslate.en?
Example:
Tiger Woods goes to Walnut Creek.
If you feed this segment to MMT, I guess it would try to translate the words one by one, resulting in a totally wrong translation.
How can you specify that MMT should not translate the words as they are, but instead have something like:
Tiger Woods fährt nach Walnut Creek.
where "Tiger Woods" and "Walnut Creek" should be left untranslated?
Would it be enough to have a dictionary file like this?
"Tiger Woods" = "Tiger Woods"
"Walnut Creek" = "Walnut Creek"
One solution could be to tag the source segment with something like that:
<donottranslate>Tiger Woods</donottranslate> goes to <donottranslate>Walnut Creek</donottranslate>.
Would that be possible?

Identical source and segment in the training data.
If I understood correctly from the discussions on GitHub, during the training process, MMT ignores segments with identical texts in source and target. If this is true, can you tell MMT that these are actually good segments which you want to have imported? These can be proper names, but also other words.
Example:
English segment: Computer
German segment: Computer
Does MMT use those segments when training the language model? If not, how can you tell MMT that you want those segments taken into account?
3.1 Can you put those segments in a dictionary file? See question 1.6 if this is possible.

I know there a lots of questions, I hope you have the time to answer. I thank you in advance for your answers.
P.S. The MMMT Wiki would certainly profit from more information concerning these terminological aspects.

Hi @letconex

Dictionary - If I understand correctly, you can define a dictionary during the training process, that is a pair of files with the ending, let´s say, .en and .de.

Not exactly. MMT does not have any specific feature for dictionaries at the moment. The training data of an engine can include TMX files or parallel files - like europarl.en europarl.de.
However these are not used differently from TMX files, it's just another (very simple) file format.
However you can somehow exploit this file format including a "dictionary", in other words a file pairs like:
file.en              file.de
=====                =====
calculator           Rechner
calculator           Computer
...                  ...

This is however a sort of a 'hack', because files will be considered just like common parallel texts. One of the MMT main goals is indeed to extract and understand automatically terminology in their context, so ask the user to provide a dictionary is the opposite of what we want to achieve :)

Non-translatables
Can you specify a list on non-translatables, for instance proper names? Can you do that by tagging those words you do not want translated or can you define those in a special file pair, for instance: donottranslate.de and donottranslate.en?

Non-translatables are just a specific case of a dictionary, so all that said for the first question is valid.

Identical source and segment in the training data.
If I understood correctly from the discussions on GitHub, during the training process, MMT ignores segments with identical texts in source and target.

This filter is applied only for sentences that are longer than 20 chars. This check has been included precisely for the case you pointed out.
If for your particular case you are sure that you have good quality TMs and you want to skip this check, you can set it to false here and re-compile MMT: this will stop MMT from discarding verbatim translation globally.
Hope this helps!
Davide

Hi @letconex,
I am closing this issue due to inactivity.
For any further doubt on this topic, of course, feel free to re-open it :)
Have a nice day!
Andrea


Update airframe-log to 23.7.3

About this PR
📦 Updates org.wvlet.airframe:airframe-log from 23.3.4 to 23.7.3
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.wvlet.airframe", artifactId = "airframe-log" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.wvlet.airframe", artifactId = "airframe-log" }
}]

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

Superseded by #727.


Update README.md

adding information as to why the NuGet package has just vanished.

TKS~ I will handle it in recent days.


[Bug]: Could not connect to Ryuk when running Testcontainers in Docker Desktop on Mac OS

Module
Cassandra
Testcontainers version
1.18.1
Using the latest Testcontainers version?
Yes
Host OS
Mac OS
Host Arch
x86 64
Docker version
m$ docker version
Client:
 Cloud integration: v1.0.31
 Version:           23.0.5
 API version:       1.42
 Go version:        go1.19.8
 Git commit:        bc4487a
 Built:             Wed Apr 26 16:12:52 2023
 OS/Arch:           darwin/amd64
 Context:           default

Server: Docker Desktop 4.19.0 (106363)
 Engine:
  Version:          23.0.5
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.8
  Git commit:       94d3ad6
  Built:            Wed Apr 26 16:17:45 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.20
  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc:
  Version:          1.1.5
  GitCommit:        v1.1.5-0-gf19387a
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

What happened?
This: https://github.com/testcontainers/testcontainers-java/issues/4395#issuecomment-1545250876
I am running Mac OS 13.3.1, using Docker Desktop 4.19.0 (106363) and Testcontainers 1.18.1
When using the Cassandra Testcontainer in particular, on cassandraContainer.start(), I am still seeing the following Exception being thrown:
Caused by: java.lang.IllegalStateException: Could not connect to Ryuk at <IP_ADDRESS>:59391
	at org.testcontainers.utility.RyukResourceReaper.maybeStart(RyukResourceReaper.java:132)
	at org.testcontainers.utility.RyukResourceReaper.init(RyukResourceReaper.java:42)
	at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:224)
	at org.testcontainers.DockerClientFactory$1.getDockerClient(DockerClientFactory.java:104)
	at com.github.dockerjava.api.DockerClientDelegate.authConfig(DockerClientDelegate.java:109)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:321)
	at example.app.crm.config.TestcontainersCassandraConfiguration.cassandraContainer(TestcontainersCassandraConfiguration.java:71)
...

Relevant log output
No response
Additional Information
Again, this: https://github.com/testcontainers/testcontainers-java/issues/4395#issuecomment-1545250876

Copy from comment in Issue #4395.
/var/run/docker.sock.raw is not even a file on macOS 13.3.1 with Docker Desktop 4.19.0 (106363) using Testcontainers 1.18.1:
$ ls -la /var/run/docker.sock.raw
ls: /var/run/docker.sock.raw: No such file or directory

I still see:
Caused by: java.lang.IllegalStateException: Could not connect to Ryuk at <IP_ADDRESS>:59391
	at org.testcontainers.utility.RyukResourceReaper.maybeStart(RyukResourceReaper.java:132)
	at org.testcontainers.utility.RyukResourceReaper.init(RyukResourceReaper.java:42)
	at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:224)
	at org.testcontainers.DockerClientFactory$1.getDockerClient(DockerClientFactory.java:104)
	at com.github.dockerjava.api.DockerClientDelegate.authConfig(DockerClientDelegate.java:109)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:321)
	at example.app.crm.config.TestcontainersCassandraConfiguration.cassandraContainer(TestcontainersCassandraConfiguration.java:71)
...
..
.

I am attempting to run tests using Testcontainers to bootstrap a Apache Cassandra 3.11.15 container with:
$ docker run -it --mount type=bind,source="$(pwd)",target=/source-from-github -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/local/bin/docker eclipse-temurin:17.0.6_10-jdk-focal /bin/bash

Essentially, bootstrapping the Cassandra container with:
	private static final DockerImageName CASSANDRA_DOCKER_IMAGE_NAME = DockerImageName.parse("cassandra:3.11.15");

	private static final String LOCAL_DATACENTER_NAME = "datacenter1";

	private static final int CASSANDRA_DEFAULT_PORT = 9042;

	@Bean("CassandraContainer")
	GenericContainer<?> cassandraContainer(Environment environment) {

		GenericContainer<?> cassandraContainer = newEnvironmentOptimizedCassandraContainer();

71:		cassandraContainer.start();

		return withCassandraServer(cassandraContainer, environment);
	}

	private @NonNull GenericContainer<?> newCassandraContainer() {

		return new CassandraContainer<>(CASSANDRA_DOCKER_IMAGE_NAME)
			.withInitScript(CASSANDRA_SCHEMA_CQL)
			//.withInitScript(CASSANDRA_INIT_CQL)
			.withExposedPorts(CASSANDRA_DEFAULT_PORT)
			.withReuse(true);
	}

	private @NonNull GenericContainer<?> newEnvironmentOptimizedCassandraContainer() {

		return newCassandraContainer()
			.withEnv("CASSANDRA_SNITCH", "SimpleSnitch")
			.withEnv("HEAP_NEWSIZE", "128M")
			.withEnv("MAX_HEAP_SIZE", "1024M")
			.withEnv("JVM_OPTS", "-Dcassandra.skip_wait_for_gossip_to_settle=0 -Dcassandra.initial_token=0");
	}

	private @NonNull CqlSession newCqlSession(@NonNull GenericContainer<?> cassandraContainer) {

		return CqlSession.builder()
			.addContactPoint(resolveContactPoint(cassandraContainer))
			.withLocalDatacenter(LOCAL_DATACENTER_NAME)
			.build();
	}

	private @NonNull InetSocketAddress resolveContactPoint(@NonNull GenericContainer<?> cassandraContainer) {
		return new InetSocketAddress(cassandraContainer.getHost(),
			cassandraContainer.getMappedPort(CASSANDRA_DEFAULT_PORT));
	}

Hi, IIRC latest version of Docker Desktop doesn't provide /var/run/docker.sock by default. In order to enable it should go to Settings > Advanced and make sure Enable default Docker socket (Requires password) is checked.
Rootless is still not supported for Docker Desktop for Mac and Linux.
Hope this help.

I have the same issue; I have an M1 mac with the Docker for desktop and the Docker socket is enabled and accessible in /var/run/docker.sock but I can't use test container 1.18.1 as it fails with the following error:
Could not find a valid Docker environment. Please check configuration.

The same thing works with 1.17.6

@ph4r5h4d can you share your logs? Also, this is a different issue I think. In the meantime, can we go move to discussion, please?

@eddumelendez
I already have the default docker socket enabled.
It is available for me as /var/run/docker.sock instead of /var/run/docker.sock.raw
still can't connect to Ryuk
Other containers are working fine.

Hi, IIRC latest version of Docker Desktop doesn't provide /var/run/docker.sock by default. In order to enable it should go to Settings > Advanced and make sure Enable default Docker socket (Requires password) is checked.
Rootless is still not supported for Docker Desktop for Mac and Linux.
Hope this help.

Testcontainers for Java 1.18.2 will auto-detect ~/.docker/run/docker.sock. So, no more workarounds are needed.

Has anyone figured out how to fix this error? I'm getting it on my M3 Pro device. When I set this env var, the exact same test succeeds:
os.Setenv("TESTCONTAINERS_RYUK_DISABLED", "true")

The only way I could get it solved on my M2 Pro is via -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal. Then it worked flawlessly.


[Bug]: Indentation Guides missing in admonitions

Check for existing bug reports before submitting.

[X] I searched for existing Bug Reports and found no similar reports.

Expected Behavior
Indentation guide shown for indented list items.
This is how it should look (built-in callout)

Current behaviour
No indentation guide lines are shown for indented list items
This is how it looks with admonitions:

Reproduction
Create admonition block
```ad-info
- asdflkasdf
- sadfklsdflk
	- laskdflk
	- dsf
	- kl
```

Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[ ] macOS
[X] Windows

Obsidian Version Check
1.3.5 and 1.3.5
Plugin Version
9.3.2
Confirmation

[X] I have disabled all other plugins and the issue still persists.

Possible solution
No response

The following code will solve this. Submitting PR.
.is-live-preview {
  & .admonition {
    & .admonition-content {
      & ul {
        > li {
          > ul {
            border-left: var(--blockquote-border-thickness);
            border-left-color: var(--list-marker-color);
            border-left-style: solid;
          }
        }
      }
    }
  }
}


Split generated code into multiple files

With the project domain-to-domain feature transform I'm currently working on, generated sample-universe.kt file for the sample-domain.ion type universe is over 13k lines long and is getting a bit unwieldy.
We should instead generate one file per domain instead of putting all of the generated code into a one big file.

I am picking this up today as I'm now now working with multiple permuted domains in the partiql-lang-kotlin repository up over 80k lines.  IntelliJ does not like Kotlin files this large at all: the IDE will stop recognizing symbols in files of this size, IntelliJ's editor shows references to valid symbols as red, even though the Kotlin compiler handles it just fine.

Checking in. Can we close this after #fdec2ef?


hidesidebar on specific posts

Hello,
I would like to hide the sidebar on a specific post. Is this posible?
I tried adding hidesidebar: true in the post yaml but it does not work.
Thanks,

Amazing, thank you very much!


medAbstractProcess DataError enum

This enum is meant to be used in place of functions expected to return DTK_SUCCESS or DTK_FAILURE, but does not "forward" these two values in the enum. Ideally it should be something like:
#if
    enum DataError
    {
        SUCCESS = DTK_SUCCESS,
        FAILURE = DTK_FAILURE,
        // just an example to make sure whatever the values are, we are above them
        PIXEL_TYPE = 1 * SUCCESS * SUCCESS + FAILURE * FAILURE //! Pixel type not yet implemented
        DIMENSION_3D,   //! Not a 3D volume
        DIMENSION_4D,   //! Not a 4D volume
        MESH_TYPE,      //! Not a mesh
        DATA_SIZE,      //! Inputs must be the same size
        UNDEFINED,      //! Miscellanous
    };

Linked to https://github.com/Inria-Asclepios/medInria-public/issues/135

Added SUCCESS and FAILURE in DataError in the PR: https://github.com/Inria-Asclepios/medInria-public/pull/254
We'll have to change DTK_FAILURE by medAbstractProcess::FAILURE (idem for SUCCESS) in all the code. We can do it step by step.


Prettier apply

First merge in
https://github.com/TerriaJS/TerriaMap/pull/332
See notes at:
https://github.com/TerriaJS/terriajs/pull/3361
pre-prettier tagged @ a9bbb6092d79646313899e74f3e9ba3026289650
post-prettier tagged @ 32f68521

The "Add husky" commit is going to cause problems. It's a change to package.json, which has the potential to cause conflicts when merged into some apps. But the instructions say to merge post-prettier, accept the branch's version and then run prettier. If someone does that, they'll end up losing the changes to package.json.
For the instructions to work reliably, it is essential that the only change between pre-prettier and post-prettier is that prettier has been run on the code base. Any additional changes (such as adding husky) must be done in commits after post-prettier and should not be included in that tag. Users will pick up those changes when they do a normal merge from master after merging post-prettier.

See https://github.com/TerriaJS/TerriaMap/pull/348


feat: Added property to define if the dialog should request focus or not

Created property shouldRequestFocus,formatted code and fixed tests

Waiting


Error of require a vue component module with variable

require a path './template/default/views/' + $view work fine
view: function($view) {
		let $template = 'default';
		return require('./template/default/views/' + $view);
	}

require a path with $template be variable ./template/' + $template + '/views/' + $view webpack build fail
view: function($view) {
		let $template = 'default';
		return require('./template/' + $template + '/views/' + $view);
	}

require a path with full path be variable throw a exception
app.js:12 Uncaught Error: Cannot find module "."
module.exports = {
	view: function($view) {
		let $template = './template/default/views/';
		return require($template + $view);
	}
};

please tell me what it happen...

I don't know, but this wouldn't be a Mix issue. Without seeing the issue notes that we ask you to fill out, it's too hard to say.

I have the same problem!


Tandem v2 cleanup

WIP: Do not merge.
A couple of leftover tasks before we can push to prod.
Should be reviewed and merged after tandem-v2-tests branch.

 <2> [uploader] Tandem v2 cleanup

@jebeck This one is to review and test after tandem-v2-tests have been merged into tandem-v2.

The fabrication of the suspended basals from occlusions isn't quite right yet. Saw this annotation:

This is the basal/mismatched-series which is added by jellyfish when the basal sequencing is interrupted because there's one w/no previous. Explained here. I think you're not providing a previous (or not the right one) on the fabricated suspended basal. See also other comments above.

@jebeck Hmm, that mismatched-series is a strange one, because fabricated suspended basals are handled just like all the others, so their previous get added in the simulator. I don't see the annotation with mine - what is different with that one?

Oooooooh, the plot thickens. The basal/mismatched-series occurs because - as near as I can tell thus far from putting in a bunch of logging (in the simulator) and examining what's happening - we do get a basal rate change with a pump_suspended change_type when the occlusion happens during a basal. The "during a basal" is what's different, in other words. So, um, this is the part where you get to say "I told you so! This is why I was trying so hard to produce an occlusion during a basal!" :sheep:
So basically we have two suspend basals at the same timestamp - we're seeing the one sourced from the Tandem basal rate change event first and giving it the proper previous, but then it gets assigned a zero duration and/or gets skipped because it's at the same timestamp (see lines 115-116 of the simulator). The second one then doesn't get a previous, hence the annotation.
So we may (a) need to live with this quite extreme edge case and the resulting annotation (it being so hard to produce occlusions during basals) or (b) figure out a way to distinguish between bolus and basal occlusions. I'm leaning to (a).

Turns out it was a simple fix after I was able to reproduce it using a test. We should've been returning early when a duplicate is found, otherwise the duplicate overwrites the current basal in the simulator.

 <2> Tandem v2 cleanup

 <1> [uploader] documenting Tandem-specific notes on checklist

Remove the x from "UTC timestamp (Hey, one can dream!)" in the checklist plz - that's for the device providing the UTC timestamp directly, not us boostrapping it 😛

Other than checklist comments/TODOs and the upload-during-extended-bolus issue that we still need to make a strategy decision on, this PR LGTM.

OK, I've addressed the checklist comments, so merging into tandem-v2.


Unstable / Oscillating Contact Forces

Hi,
I am currently developing a simple MuJoCo object grasping scenario: a 2-DoF parallel-jaw gripper with individually controlled fingers is grasping a primitive object. I'm interested in the contact forces measured in the fingers during the grasp. For that, I've introduced bounding-box geoms around the fingers to calculate the contact forces as such:
def total_contact_force(model, data, g1, g2):
    ft = np.zeros((6,))
    ncontacts = 0

    for i, c in enumerate(data.contact):
        name1 = data.geom(c.geom1).name
        name2 = data.geom(c.geom2).name

        if (g1==name1 and g2==name2) or (g1==name2 and g2==name1):
            c_ft = np.zeros((6,))
            mujoco.mj_contactForce(model, data, i, c_ft)
            ft += c_ft
            ncontacts += 1
    return ft[:3], ft[3:], ncontacts

left_force = np.sum(np.abs(total_contact_force(self.model, self.data, "object", "left_finger_bb")[0])

For the part of the model defining "left_finger_bb", see below.
What's the problem?
The force measurements seem quite noisy / oscillate a lot. I've done some grasps where the fingers are simply commanded to reach a fixed goal position, penetrating the object, and plotted the contact forces. I've repeated the grasp with different MuJoCo settings that were named in affecting the stability of forces in some issues here.

Although enabling multiccd and using the RK4 solver drastically decreased the measurement noise, the contact force measured in one finger is still quite noisy.
I've tried setting noslip_iterations to various values > 0, but the results were never consistently better, sometimes they were even worse.
Model Info
These are the MuJoCo options / settings of my MJCF + the actuator parameters (taken from the Franka Panda gripper from the Menagerie):
<compiler angle="radian" autolimits="true" />
<size njmax="500" nconmax="100"/>

<option integrator="RK4" noslip_iterations="0" >
	<flag multiccd="enable"/>
</option>

<default>
  <general dyntype="none" biastype="affine" forcerange="-100 100" ctrlrange="0 0.045" gainprm="100 0 0" biasprm="0 -100 -10" />
</default>

Here's the left finger model:
<body name="gripper_left_finger_link" pos="0 0 0.076575" quat="0 -0.707107 0.707107 0">
  <inertial pos="-0.00447 0.010766 -0.121013" quat="0.944415 0.0576483 0.0941322 -0.309671" mass="0.10998" diaginertia="0.000161667 0.000161667 0.000161667"/>
  <joint name="gripper_left_finger_joint" pos="0 0 -0.076575" axis="-1 0 0" type="slide" range="0 0.045" />

  <geom quat="0 0 0 1" contype="0" conaffinity="0" type="mesh" rgba="0 0 0 1" mesh="gripper_finger_link_left"/>
  <geom name="left_finger_bb" pos="-0.004 0 -0.159" type="box" rgba="1 0 0 0" size="0.004 0.025 0.06" mass="0.01" solimp="0 0.95 0.01 0.2 2" />
</body>

... the right finger model ...
<body name="gripper_right_finger_link" pos="0 0 0.076575" quat="0 -0.707107 0.707107 0">
  <inertial pos="-0.00447 0.010766 -0.121013" quat="0.944415 0.0576483 0.0941322 -0.309671" mass="0.10998" diaginertia="0.000161667 0.000161667 0.000161667"/>
  <joint name="gripper_right_finger_joint" pos="0 0 -0.076575" axis="1 0 0" type="slide" range="0 0.045" />

  <geom quat="0 0 0 1" contype="0" conaffinity="0" type="mesh" rgba="0 0 0 1" mesh="gripper_finger_link_right"/>
  <geom name="right_finger_bb" pos="0.004 0 -0.159" type="box" rgba="1 0 0 0" size="0.004 0.025 0.06" mass="0.01" solimp="0 0.95 0.01 0.2 2"/>
</body>

... and the object:
<body name="object" pos="0 0 0.65" >
  <freejoint name="object_joint" />
  <geom name="object" type="cylinder" size="0.02 0.05" mass="0.5" priority="1" solimp="0 0.95 0.01 0.2 2" />
</body>

Note, that the object's solimp parameters are modified to simulate a softer object (as opposed to the very "stiff" default values). The contact force behavior is practically the same when using the default values however.
My open questions are:

How can I reduce the remaining noise in the force measurements? Is it even possible to do so?
Why is it that one finger's measurements always have more noise than the other's?
Any other suggestions for improvements for the model and/or force calculation?

All help is welcome! Thanks!
Edit: formatting.

Not sure RK4 is what you want here. Try implicitfast.
biasprm[2] might want to be larger (in absolute terms).
Also, depending on what kind of motor you are modeling, your finger joints might want a dash of armature inertia.

Thanks for the quick response!
I tried your suggestions, but was unsuccessful in finding a configuration that produced consistently acceptable force measurements. I also tried varying other joint parameters besides armature (damping and stiffness), but had no luck either.
I have figured it out though: I started out with a known-good gripper (Franka Emika's Panda hand from the Menagerie), added force readouts and compared them to what my model produced. The ones from the Panda hand were super stable and practically noise-free!
The problem with my model (I think) was that the collision geoms used for the contact were quite long and the object was located at their tips, leading to oscillations in the fingers. I don't know why that happens though, see below for a pointer to a code example of that.
In any case, the forces look like that now:

I uploaded the working example here. On another branch in that repo is the broken version which is similar to what I was using before opening up this issue. Hope it helps somebody.
I'll continue with using the Panda model with slight modifications to fit my real-life setup.