opentelemetry-collector-builder: 0.115.0 -> 0.116.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/open-telemetry/opentelemetry-collector/releases.
meta.description for opentelemetry-collector-builder is: OpenTelemetry Collector
meta.homepage for opentelemetry-collector-builder is: https://github.com/open-telemetry/opentelemetry-collector.git
meta.changelog for opentelemetry-collector-builder is: https://github.com/open-telemetry/opentelemetry-collector/blob/cmd/builder/v0.116.0/CHANGELOG.md
Updates performed

Golang update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.116.0 with grep in /nix/store/79nha9hbb0gpv4b6qdc2r692904lkva0-ocb-0.116.0
found 0.116.0 in filename of file in /nix/store/79nha9hbb0gpv4b6qdc2r692904lkva0-ocb-0.116.0

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

8 package rebuild(s)

First fifty rebuilds by attrpath

opentelemetry-collector
opentelemetry-collector-builder
opentelemetry-collector-contrib
opentelemetry-collector-releases.otelcol
opentelemetry-collector-releases.otelcol-contrib
opentelemetry-collector-releases.otelcol-k8s
opentelemetry-collector-releases.otelcol-otlp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/79nha9hbb0gpv4b6qdc2r692904lkva0-ocb-0.116.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opentelemetry-collector-builder https://github.com/r-ryantm/nixpkgs/archive/fa5d09824b718fd8c749ca2feeae886ed2a49a18.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/fa5d09824b718fd8c749ca2feeae886ed2a49a18#opentelemetry-collector-builder

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/79nha9hbb0gpv4b6qdc2r692904lkva0-ocb-0.116.0
ls -la /nix/store/79nha9hbb0gpv4b6qdc2r692904lkva0-ocb-0.116.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 5 packages built:

opentelemetry-collector
opentelemetry-collector-builder
opentelemetry-collector-contrib
opentelemetry-collector-releases.otelcol-k8s
opentelemetry-collector-releases.otelcol-otlp

Maintainer pings
cc @DavSanchez for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Builds and runs on aarch64-darwin.
@NixOS/nixpkgs-merge-bot merge


Failed to compile, error message.

Hi,
can you please help me how to figure out this error, tried it on my Ubuntu server and Windows desktop as well but nothing works.

Thank you

Hi,
can you please help me how to figure out this error, tried it on my Ubuntu server and Windows desktop as well but nothing works.
Thank you

I installed the "fs" package.. I tried npm install fs & npm install --save fs but still getting this error message.

Hey there’s a bug in the current version I haven’t had time to fix. I will fix it now, but keep in mind in the current version you will not be able to unbind keys through the dashboard.


Order of Operations Seems to Be off with Cursors and Type

Maybe I'm not understanding this correctly, but it isn't working as expected.
Here is an example:
"example": [
    "cursorDown",
    {"command": "type", "args": {"text": "down"}},
    "cursorUp"
    {"command": "type", "args": {"text": "up"}}
],

What I end up with when the cursor (represented with the pipe (|) below) starts are line 1:
1 downup|
2
3

I'm expecting it to do:
1 up|
2 down
3

I'm facing the same issue and the macro is this
"addArrayCommaWithNewLine":[               "cursorEnd",               {"command": "type", "args": {"text": ","}},               "editor.action.insertLineAfter",           ],


Can you build a single jar for all converters (avro, JsonSchema etc)

At the moment large shaded jars are created for a given schema registry type (e.g. avro (schema-registry-kafkaconnect-converter) or jsonschema (jsonschema-kafkaconnect-converter)). Is it possible/ could it be possible just to have all the options in one shaded jar? Otherwise I am having unpack zips for upload to S3 for use with MSK, change the avro jar for the jsonschema jar etc.

Obviously I can copy the various "original" jars into the zip but it would possibly be easier to include the various schematypes in a single large shaded jar as then a user knows all the dependencies will be there.

Thanks for creating this issue. It could certainly be useful to create a combined shaded jar. We would have to change the module hierarchy or do some maven magic here.
Can I also understand more on why using two shaded jars together does not work for you ?

Just size really. Each shaded jar is about 50MB & contains almost exactly the same thing with a few classes missing at the specific converter level. If I include the "original" jat from the other converters I get what I am looking for but I simply think that it would be helpful to have an all in one. The basic use case is that we can start with JSON with a schema until we've got what we need then empty / rebuild the queue and switch to avro for speed etc.

Please upvote if this feature is important. We are also open to accepting PR if many users feel this feature is important.


Windows internals 7 says extension !pcr is deprecated

In chapter 2 of Windows Internals 7 they mention !pcr extension is deprecated and shows incorrect data, while the documentation doesn't mention anything about it.
Maybe it should be added as a remark.

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

ID: f182853e-a14f-a8bf-b974-a280435c2676
Version Independent ID: a46ba80b-a73a-c108-c48e-10a0a4758e48
Content: pcr - Windows drivers
Content Source: windows-driver-docs-pr/debugger/-pcr.md
Product: windows-hardware
GitHub Login: @DOMARS
Microsoft Alias: domars

@n4r1b - I will take a look. It does seem to be present in current day WinDbg.
3: kd> !pcr
KPCR for Processor 3 at ffff98006ef40000:
    Major 1 Minor 1
	NtTib.ExceptionList: ffff98006ef53fb0
	    NtTib.StackBase: ffff98006ef52000
	   NtTib.StackLimit:<PHONE_NUMBER>000000
	 NtTib.SubSystemTib: ffff98006ef40000
	      NtTib.Version: 000000006ef40180
	  NtTib.UserPointer: ffff98006ef40870
	      NtTib.SelfTib: 0000007bbaad3000

	            SelfPcr:<PHONE_NUMBER>000000
	               Prcb: ffff98006ef40180
	               Irql:<PHONE_NUMBER>000000
	                IRR:<PHONE_NUMBER>000000
	                IDR:<PHONE_NUMBER>000000
	      InterruptMode:<PHONE_NUMBER>000000
	                IDT:<PHONE_NUMBER>000000
	                GDT:<PHONE_NUMBER>000000
	                TSS:<PHONE_NUMBER>000000

	      CurrentThread: ffff98006ef50100
	         NextThread:<PHONE_NUMBER>000000
	         IdleThread: ffff98006ef50100

	          DpcQueue: Unable to read nt!_KDPC_DATA.DpcListHead.Flink @ ffff98006ef42f80

3: kd> !thread
THREAD ffff98006ef50100  Cid 0000.0000  Teb:<PHONE_NUMBER>000000 Win32Thread:<PHONE_NUMBER>000000 RUNNING on processor 3
Not impersonating
DeviceMap                 ffff8500ae213240
Owning Process            fffff80605c089c0       Image:         Idle
Attached Process          ffffaf8a12ece080       Image:         System
Wait Start TickCount      0              Ticks: 66960069 (12:02:37:31.078)
Context Switch Count      3073255        IdealProcessor: 3
UserTime                  00:00:00.000
KernelTime                03:27:19.218
Win32 Start Address nt!KiIdleLoop (0xfffff80605862e00)
Stack Init ffffec84a5645dd0 Current ffffec84a5645d60
Base ffffec84a5646000 Limit ffffec84a5640000 Call<PHONE_NUMBER>000000
Priority 0 BasePriority 0 PriorityDecrement 0 IoPriority 0 PagePriority 0
Child-SP          RetAddr           : Args to Child                                                           : Call Site
ffffec84`a56458e8 fffff806`0a141404 : 00000000`00000000 ffffaf8a`1a7b30f0 ffff9800`6ef40180 ffffaf8a`1a7b3000 : 0xfffff806`0a14136f
ffffec84`a56458f0 00000000`00000000 : ffffaf8a`1a7b30f0 ffff9800`6ef40180 ffffaf8a`1a7b3000 00000000`00000046 : 0xfffff806`0a141404

Yes, I also realized results seem to be correct, maybe they fixed since the release of the book. In that case the Issue may be closed.
But I'm still a little bit skeptical because the book clearly states:

@n4r1b - Thanks for the clarification. I see the note on page 77 and will check with the dev team.

@n4r1b - There is a work task to update the output for the !pcr command. Until that work is done I added a note indicating that this command may display incorrect output. When the work task is completed and the output is updated, I will remove this note. Thanks for pointing out this issue and for your patience with our response.


Feature request not bug: possible to specify some more presets during client installation

Dear Sirs, Dear @techahold
first of all congratulations to you for this execellent rustdesk install script, it's very useful, thanks.
I am wondering if you can, in order to improve your script, to include some presets (defaults) that these will be in the new clients installation, particularly I am interested in the Windows clients.
To mention some that I need:
Settings -> Security -> Permissions -> Enable remote configuration modification
Settings -> Security -> Security -> Enable direct IP access
Settings -> Display -> Default view style -> Scale adaptive
Settings -> Display -> Default codec -> VP9
... and more ...
Can you implement this in the produced by your installation script: WindowsAgentAIOInstall.ps1 ?
Thanks and Best Regards,
Mike Kranidis

feel free to fork and add those but we wont be changing the defaults, we are happy to engage with you commercially and making these changes for you

feel free to fork and add those but we wont be changing the defaults, we are happy to engage with you commercially and making these changes for you

My interest for these changes, to have these presets and may be a couple more, is for my small company having around 25 RustDesk installations, but can you give me an estimated cost to build these commercially for me?
Thanks

Sure, get in touch via our email on the main page

Sure, get in touch via our email on the main page

Sorry not sure which main page?

Sure, get in touch via our email on the main page

can you give me contact details? thanks


Nullable fields with typescript

I'm having a recurring issue with how nullable fields are emitted in typescript. The current way is to use field: <type> | null which I suppose is theoretically correct, but in practice it doesn't always play well since typescript will complain that some nullable field is missing (because it's undefined and not actually null). The more typescriptish way would be to make it an optional field like field?: <type>, but I'm not sure if that would have other implications.

It makes sense.
Actually it's a workaround for an issue that existed a long time agon in apollo-client that forced null value for nullable types.
I guess that using ? is more ts-ish.
I will fix it soon.
Thank you @altschuler

This is my opinion, but I think avoidOptionals.field should be true by default because when you query nullable fields, GraphQL never responds "undefined" type. (Nullable inputValue in GraphQL, on the other hand, is optional and should use ? in typescript)
I use config below, and it works perfect.
config:
avoidOptionals:
field: true
This code generator is a big time saver! Thank you.


fix chblock decode bug for type int8/uint8

What problem does this PR solve?
fix chblock decode for int8/uint8 datatype
What is changed and how it works?
currently, in chblock decoder, the length of int8/uint8 is set to 8, which is wrong,  and this pr set the length of int8/uint8 to 1
Check List
Tests

Manual test (add detailed scripts or steps below)

/run-all-tests tikv=v3.0.5 tidb=v3.0.5 pd=v3.0.5


Don't trim whitespace from the annotation body

... because this prevents bullet-lists (for example) from being created via appending annotations together.
Fixes buildkite/feedback#391

Cool, thanks.
I wasn't able to run the tests, by the way, by
git clone ...
cd agent
export GOPATH=$(pwd)
go test

It would be convenient to be able to do that - what have I got wrong?

go test ./...

On 14 May 2018, at 7:49 pm, Peter Mounce<EMAIL_ADDRESS>wrote:
Cool, thanks.
I wasn't able to run the tests, by the way, by
git clone ...
cd agent
export GOPATH=$(pwd)
go test
It would be convenient to be able to do that - what have I got wrong?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ta!


How to use a custom drawable？help help help..

my tabs icon use custom drawable , example:
<selector xmlns:android="http://schemas.android.com/apk/res/android">     <item android:drawable="@drawable/tabbar_index_s" android:state_pressed="true"/>     <item android:drawable="@drawable/tabbar_index_s" android:state_selected="true"/>     <item android:drawable="@drawable/tabbar_index_n"/> </selector>
But it has no effect , Could you tell me how to handle this? thank you

@zhangXiaolizi this is in PR currently, it will only add the selected state, not the press state for now

It's now possible with version 2.2.0 and up, see the README.


Right click hi-score lookup in CC doesn't work

When clicking lookup the hi-score just freezes like this

This was issue with client fetching the hiscore data, it is fixed now.


feat(oui-progress-tracker): change style according to ui-spec

The progress tracker has been updated to match the UI-specs.
http://dev_feature_oui_progress_tracker.ui-kit.ovh/#!/ovh-ui-kit/progress-tracker

Good job!

@ganeshkumar1989 can you set your user.name git config variable and try to re-commit your stuff? GitHub does not work well if you don't do this. (I can't merge your PR).

@neolitec , I tried rebase to change the Author name. I am not able to get it working for some reason. Is it enough if I push a new commit with the updated user.name and user.email?

@neolitec , I was able to successfully squash the commits into one with the updated author info. I think now you would be able to merge the code :)


Cloud Resource Manager API: cloudresourcemanager.googleapis.com

@scotthart I think this was resolved as part of #7918 and #7938. Closing.  Feel free to reopen if I missed something.


Undefined variable: "$alert-padding" in vuejs

i added bootstrap sass through npm in my project, after that i had included
@import "bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss";
in scss file like styles.scss. after that i run my project(vuejs). it will show error like
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
padding: $alert-padding;
^
Undefined variable: "$alert-padding".
this is not related to #654 issue

Yeah, you need to import the above fisrt.


Support for PHP 7.2

I updated all packages to use PHP 7.2. mcrypt is no longer available for this PHP version.
https://www.php.net/manual/en/intro.mcrypt.php

Thanks, maybe you can fix link https://galaxy.ansible.com/itcraftsmanpl/php7/ -> https://galaxy.ansible.com/akondas/php7/ as well?

And also link in example:
- hosts: webservers
  roles:
    - { role: itcraftsmanpl.php7 }

to
- hosts: webservers
  roles:
    - { role: akondas.php7 }

Sorry for problems, we must stick with itcraftsmanpl, Galaxy doesn't allow to change namespace: https://github.com/ansible/galaxy-issues/issues/66

@akondas thanks for the explanation for this error.
Nevertheless link still needs to be updated because https://galaxy.ansible.com/itcraftsmanpl/php7/ redirects to https://galaxy.ansible.com/not-found
You might want to check Installation line https://galaxy.ansible.com/akondas/php7

Do you want me to introduce any other changes in this PR?

Eh, looks like we must wiat for manual change: https://github.com/ansible/galaxy/issues/2059

In mean time you can change it back to akondas. Sorry for the confusion and thanks for patience.

@akondas roger that. I updated README again. Please mention me back in this thread after successful reimport of your namespace.

@akondas https://github.com/ansible/galaxy/issues/2059#issuecomment-541075185

@akondas can you check if that instruction works for you
https://galaxy.ansible.com/docs/contributing/importing.html#getting-started ?
It would be nice to have my changes merged 😉

Unfortunately, I still have a blank card:


Fix bin not exist when installed via yarn

yarn will link bin files in package.json.
This should fix #205 and #193.
Besides, due to yarn cached installed packages, if you have installed vue-cli before, please remove them from .yarn-cache and re-install it again.

@CYBAI Thanks!
About the last comment, wouldn't release a new version be enough?

@posva
oh! If releasing a new version, I think users will no need to do what I mentioned in last comment. 😄

Here is how I test locally
yarn install with original version (I've already installed vue-cli with yarn before, so it just installed only 1.54s)
→ yarn global add file:/path/to/vue-cli
yarn global v0.16.1
warning No license field
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Installed<EMAIL_ADDRESS>with binaries:
      - vue
✨  Done in 1.54s.

then update package.json for version and bin, it will install vue-init and vue-list successfully.
→ yarn global add file:/path/to/vue-cli
yarn global v0.16.1
warning No license field
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Installed<EMAIL_ADDRESS>with binaries:
      - vue
      - vue-init
      - vue-list
✨  Done in 24.01s.

@CYBAI Works well! Thanks for the tips btw!

@CYBAI thanks for this! I tested it and it works. Please bump version to 2.4.1 because without this change (as you mentioned) fix won't work (at least it hasn't for me). I know we'd bump version anyway, but since it's a requirement for this particular fix, I'd include it here.


Fresh install questions

Hi Johann,
First of all, thank you so much for the work you do for the Kirby community, I really appreciate it!
I wanted to try a fresh install of the Cacao kit on my local machine and start developing from there before pushing everything to the remote. Unfortunately, I can't get it to work and reading the docs doesn't help my case.

I've cloned the the cacao-kit-frontend into a folder
I've cloned the the cacao-kit-backend into another folder

Both should be accessible in the browser as cacao-kit-frontend.test and cacao-kit-backend.test.
In the frontend, my .env looks like this:
NUXT_PUBLIC_SITE_URL=cacao-kit-frontend.test
KIRBY_BASE_URL=http://localhost:3000
KIRBY_API_TOKEN=test

And for the backend, my .env looks like this:
KIRBY_DEBUG=true
KIRBY_PANEL_INSTALL=true
KIRBY_CACHE=false
KIRBY_MULTILANG=true

KIRBY_HEADLESS_API_TOKEN=test
KIRBY_HEADLESS_ALLOW_ORIGIN=*
KIRBY_HEADLESS_FRONTEND_URL=http://localhost:3000

I was expecting it to work from there, but it doesn't. Could you give me some guidance on how to make it work locally?
Thanks a lot,
Antoine

Hi there!
Nuxt runs on localhost:3000. If you point the KIRBY_BASE_URL environment variable to the same hostname, Nuxt will try to fetch Kirby data from itself. Instead, you need to point to your backend instance. Depending on if you use Valet, composer start the URL will be something like http://cacao-kit-backend.test or http://localhost:8000, respectively.
Take this demo configuration as an example:
NUXT_PUBLIC_SITE_URL=https://cacao-kit.byjohann.dev
KIRBY_BASE_URL=https://cacao-kit-backend.byjohann.dev
KIRBY_API_TOKEN=test

Ay, makes sense, many thanks!


R lang dir not handled properly

Describe the bug
$ mise install usage
mise<EMAIL_ADDRESS>✓ installed                                                                                mise ERROR failed to ln -sf ./4.3.2 /home/vladimir/.local/share/mise/installs/r/latest
mise ERROR No such file or directory (os error 2)
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
vladimir@np940x5n:~$ ls /home/vladimir/.local/share/mise/installs/R
4  4.3  4.3.2  latest

To Reproduce
I don't know what mise did after usage installation
Expected behavior
It appears that R dir name got downcased somewhere, so expected behavior is to work with upcase name properly or use all-downcase names
mise doctor output
version: 2024.11.16 linux-x64 (2024-11-18)
activated: yes
shims_on_path: no

build_info:
  Target: x86_64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS
  Built: Mon, 18 Nov 2024 12:17:25 +0000
  Rust Version: rustc 1.82.0 (f6e511eec 2024-10-15) (Homebrew)
  Profile: release

shell:
  /bin/bash
  GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
  Copyright (C) 2020 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

  This is free software; you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

dirs:
  data: ~/.local/share/mise
  config: ~/.config/mise
  cache: ~/.cache/mise
  state: ~/.local/state/mise
  shims: ~/.local/share/mise/shims

config_files:
  ~/.config/mise/config.toml

backends:
  aqua
  asdf
  cargo
  core
  go
  npm
  pipx
  spm
  ubi
  vfox
  unknown

plugins:
  clojure  https://github.com/asdf-community/asdf-clojure.git#490074c
  crystal  https://github.com/asdf-community/asdf-crystal.git#6b5c52a
  dart     https://github.com/PatOConnor43/asdf-dart.git#c8a1e17
  dotnet   https://github.com/hensou/asdf-dotnet#ebe399c
  elixir   https://github.com/asdf-vm/asdf-elixir.git#a4c42e1
  flutter  https://github.com/oae/asdf-flutter.git#5151ecb
  groovy   https://github.com/weibemoura/asdf-groovy.git#e33491d
  haskell  https://github.com/asdf-community/asdf-haskell.git#b614362
  julia    https://github.com/rkyleg/asdf-julia.git#1788f0f
  kotlin   https://github.com/asdf-community/asdf-kotlin.git#6371efd
  lua      https://github.com/Stratus3D/asdf-lua.git#36fae6e
  nim      https://github.com/asdf-community/asdf-nim.git#397c14a
  php      https://github.com/asdf-community/asdf-php.git#1eaf4de
  pipenv   https://github.com/and-semakin/asdf-pipenv.git#06a3181
  poetry   https://github.com/asdf-community/asdf-poetry.git#2f04828
  rust     https://github.com/asdf-community/asdf-rust.git#8436012
  scala    https://github.com/asdf-community/asdf-scala.git#6de4edb
  usage    https://github.com/jdx/mise-usage.git#fe3888a
  zig      https://github.com/cheetah/asdf-zig.git#2133fc0

toolset:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
env_vars:
  MISE_SHELL=bash

settings:
  activate_aggressive = false
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  asdf_compat = false
  cache_prune_age = "30d"
  ci = false
  color = true
  debug = false
  disable_backends = []
  disable_default_registry = false
  disable_hints = []
  disable_tools = []
  experimental = true
  fetch_remote_versions_cache = "1h"
  fetch_remote_versions_timeout = "10s"
  go_default_packages_file = "~/.default-go-packages"
  go_download_mirror = "https://dl.google.com/go"
  go_repo = "https://github.com/golang/go"
  go_set_gopath = false
  go_set_goroot = true
  go_skip_checksum = false
  http_timeout = "30s"
  jobs = 4
  legacy_version_file = true
  legacy_version_file_disable_tools = []
  libgit2 = true
  lockfile = false
  log_level = "info"
  not_found_auto_install = true
  paranoid = false
  pin = false
  plugin_autoupdate_last_check_duration = "7d"
  quiet = false
  raw = false
  task_timings = false
  trace = false
  trusted_config_paths = []
  unix_default_file_shell_args = ["sh"]
  unix_default_inline_shell_args = [
      "sh",
      "-c",
  ]
  use_file_shell_for_executable_tasks = false
  use_versions_host = true
  verbose = false
  windows_default_file_shell_args = [
      "cmd",
      "/c",
  ]
  windows_default_inline_shell_args = [
      "cmd",
      "/c",
  ]
  windows_executable_extensions = [
      "exe",
      "bat",
      "cmd",
      "com",
      "ps1",
      "vbs",
  ]
  yes = false

  [cargo]
  binstall = true

  [node]

  [npm]
  bun = false

  [pipx]
  uvx = false

  [python]
  default_packages_file = "~/.default-python-packages"
  pyenv_repo = "https://github.com/pyenv/pyenv.git"
  venv_auto_create = false
  venv_stdlib = false

  [ruby]
  default_packages_file = "~/.default-gems"
  ruby_build_repo = "https://github.com/rbenv/ruby-build.git"
  ruby_install = false
  ruby_install_repo = "https://github.com/postmodern/ruby-install.git"

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false
1 warning found:

1. plugin zig overrides a core plugin

2 problems found:

1. plugin r is not installed

2. plugin swift is not installed

vladimir@np940x5n:~$ RUST_BACKTRACE=1 MISE_VERBOSE=1 mise install usage
DEBUG ARGS: mise install usage
DEBUG config: ~/.config/mise/config.toml
DEBUG install_versions: usage@latest
Error:
   0: failed to ln -sf ./4.3.2 /home/vladimir/.local/share/mise/installs/r/latest
   1: No such file or directory (os error 2)

Location:
   src/file.rs:306

Version:
   2024.11.16 linux-x64 (2024-11-18)

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 3 frames hidden ⋮
   4: mise::file::make_symlink::he47824cfce5d3fee
      at <unknown source file>:<unknown line>
   5: mise::file::make_symlink_or_file::hd9eea758dea15cf9
      at <unknown source file>:<unknown line>
   6: mise::runtime_symlinks::rebuild::h554f08191292d72d
      at <unknown source file>:<unknown line>
   7: mise::toolset::Toolset::install_versions::hef8f68533e2f573a
      at <unknown source file>:<unknown line>
   8: mise::cli::install::Install::run::hd6bb939fc6bc3fad
      at <unknown source file>:<unknown line>
   9: mise::cli::Commands::run::h52e78600de15d58c
      at <unknown source file>:<unknown line>
  10: mise::cli::Cli::run::h6429486315c2bfbe
      at <unknown source file>:<unknown line>
  11: mise::main::h42a2f584ebae7687
      at <unknown source file>:<unknown line>
  12: std::sys::backtrace::__rust_begin_short_backtrace::h0206c98974de0c4b
      at <unknown source file>:<unknown line>
  13: std::rt::lang_start::{{closure}}::he62db9f4a704264f
      at <unknown source file>:<unknown line>
  14: std::rt::lang_start_internal::h9de9847efa651401
      at <unknown source file>:<unknown line>
  15: main<unknown>
      at <unknown source file>:<unknown line>
  16: __libc_start_call_main<unknown>
      at ./csu/../sysdeps/nptl/libc_start_call_main.h:58
  17: __libc_start_main_impl<unknown>
      at ./csu/../csu/libc-start.c:392
  18: _start<unknown>
      at <unknown source file>:<unknown line>

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
vladimir@np940x5n:~$ mise ls
Tool     Version                        Config Source              Requested
clojure  <IP_ADDRESS>5
crystal  1.8.2
crystal  1.11.2
dart     3.2.4                          ~/.config/mise/config.toml 3.2.4
dotnet   8.0.100
elixir   1.15.7
flutter  3.16.9-stable                  ~/.config/mise/config.toml 3.16.9-stable
go       1.20.4                         ~/.config/mise/config.toml 1.20.4
groovy   4.0.17
haskell  9.8.1
java     liberica-jre-javafx-21.0.1+12
java     microsoft-21.0.1
java     openjdk-11
java     openjdk-21.0.1
java     17.0.2                         ~/.config/mise/config.toml 17.0.2
java     21.0.1
julia    1.9.3
julia    1.10.4
kotlin   1.9.22
lua      5.4.6
nim      2.0.2                          ~/.config/mise/config.toml 2.0.2
node     12.14.1
node     12.22.9                        ~/.config/mise/config.toml 12.22.9
node     14.17.6
node     16.13.1
node     20.2.0
php      8.3.1RC3                       ~/.config/mise/config.toml 8.3.1RC3
php      8.3.3RC1
pipenv   2023.10.3
poetry   1.5.1
poetry   1.6.1
python   jython-2.7.2 (symlink)
python   2.7.18 (symlink)               ~/.config/mise/config.toml 2.7.18
python   3.6.15 (symlink)
python   3.9.10 (symlink)
python   3.10.12 (symlink)              ~/.config/mise/config.toml 3.10.12
python   3.10.13 (symlink)
python   3.11.4 (symlink)
python   3.11.5 (symlink)
python   3.11.6 (symlink)
python   3.11.7 (symlink)
python   3.11.8 (symlink)
python   3.12.2 (symlink)
ruby     2,6
ruby     jriby
ruby     jruby-<IP_ADDRESS> (symlink)
ruby     2.3.8 (symlink)
ruby     2.6.3 (symlink)
ruby     2.6.10 (symlink)
ruby     2.7.8 (symlink)
ruby     3.0.2 (symlink)                ~/.config/mise/config.toml 3.0.2
ruby     3.0.6 (symlink)
ruby     3.2.2 (symlink)
ruby     3.3.0
rust     nightly
rust     rustup (symlink)
rust     1.72.1                         ~/.config/mise/config.toml 1.72.1
rust     1.73.0 (symlink)
rust     1.77.1
scala    3.3.1
swift    latest
usage    0.3.0 (outdated)               ~/.config/mise/config.toml latest
usage    1.3.2
zig      0.10.1
zig      0.11.0
zig      0.13.0

mkdir -p /home/vladimir/.local/share/mise/installs/r helped and it was auto-deleted after

Did you try to install the r lang plugin at any point? I notice its not listed in your plugins section in mise doctor. Have you been able to recreate the issue? I'm afraid I can't reproduce it.

vladimir@np940x5n:~/.local/share/mise/plugins/R (master)$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
vladimir@np940x5n:~/.local/share/mise/plugins/R (master)$ git pull
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 197 bytes | 197.00 KiB/s, done.
From https://github.com/asdf-community/asdf-r
   dda1807..8db6138  master     -> origin/master
Updating dda1807..8db6138
Fast-forward
vladimir@np940x5n:~/.local/share/mise/plugins/R (master)$ mise plugins ls
mise hint see available plugins with mise registry
R
clojure
crystal
dart
dotnet
elixir
flutter
groovy
haskell
julia
kotlin
lua
nim
php
pipenv
poetry
rust
scala
usage
zig
vladimir@np940x5n:~/.local/share/mise/plugins/R (master)$ git config --get remote.origin.url
https://github.com/asdf-community/asdf-r.git

But I have this plugin, maybe it's a rtx->mise migration issue

Seems to me like its a case problem with R vs r. What happens if you just keep to using the lowercase mise install r?
For me mise downcases most inputs:
❯ mise plugins add R https://github.com/asdf-community/asdf-r.git
mise plugin:R ✓ https://github.com/asdf-community/asdf-r.git#8db6138

❯ mise plugins
awscli
helm-diff
poetry
r
terraform
tuist
yarn

❯ mise install R
mise ERROR R not found in mise tool registry
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information

❯ mise install r
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 35.8M  100 35.8M    0     0  23.0M      0  0:00:01  0:00:01 --:--:-- 23.0M
...

But I am working on macOS with a case-insensitive filesystem, so that might be the difference.

@syhol
vladimir@np940x5n:~$ mise install r     # returned instantly
vladimir@np940x5n:~$ mise list R
Tool  Version  Config Source Requested
R     4.4.2
vladimir@np940x5n:~$ mise list r
Tool  Version  Config Source Requested

Sorry, removing all installed tools is not an option for me. Anyway, mise install r helped, plus I don't actually need R, just wanted to report the issue. And yes, usage has nothing specific to do with it, just a tool to install, after which mise relinks everything

closing since I don't see any action to take


Fixed RequestUrl, it now adds API Key to the URL

Without this fix, it throws such error when invoking:

[GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent: [403 ] Method doesn't allow unregistered callers (callers without established identity). Please use API Key or other form of API consumer identity to call this API.

After applying the fix, it works now.

I have submitted my CLA.

When will this PR get reviewed.....still blocking....


Attempt to set Secure Privileged Mode in armv7 A8 (using am3358 BBB silicon)?

Usually I use off the shelf systems (various Linux distros) to set up the BBB, as referent systems design platform.
Recently, I have started to dive more deep into the armv7 A8 programming model. And I found confusing areas (I have concrete questions to ask).
Namely, I would like to read the Secure Configuration Register:
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344k/DDI0344K_cortex_a8_r3p2_trm.pdf#page=133
For this purpose, I wrote iny driver, which is presented here (cp15-spm.c).
https://github.com/ZoranStojsavljevic/bbb-yocto/blob/master/Issues/LKM/cp15_Secure_Privileged_Mode/cp15_spm.c
While reading the first time CPSR register, I got the following value: 0x60000013 (b10011 Supervisor Mode) - I am root/superuser.
I tried to set CPSR mode (LSB 5 bits) to the b10110 Secure Monitor Mode, but it seems that with the above presented code I am NOT able to do that!
While executing the following code:
asm volatile("mrc p15, 0, %0, c1, c1, 0" : "=r"(reg_value) );
printk(KERN_INFO "Secure Configuration Register data: 0x%08x\n", reg_value);Code
I've got the following: Internal error: Oops - undefined instruction: 0 [#1] ARM
The full log is presented here (cp15_spm_execution_traces.txt):
https://github.com/ZoranStojsavljevic/bbb-yocto/blob/master/Issues/LKM/cp15_Secure_Privileged_Mode/cp15_spm_execution_traces.txt
Could you, please, show me the code snippet which switches Supervisor Mode to Secure Monitor Mode (if at all possible)?
Thank you!
Zoran

Hello Zoran,
I'm having the exactly same problem trying to go from supervisor mode(b10011) to monitor mode.
how did you solve it?
Regards,
Lucas Cunha

I did not solve it. Simply as that.
Zee

Well, I'm trying to trigger a binary file as a kernel using u-boot as a bootloader. I'm on supervisor mode, which seems to be necessary to write on C1(control register), but when i try to write on C1(control register) my program hangs.
Have you tried to make any changes on the cortex-a8 Control Register? If so, how did you do it?
I know it's not the topic of your post, but there are no information about this on an am335x with u-boot environment.
Regards,
Lucas Cunha

Well, I'm trying to trigger a binary file as a kernel using u-boot as a bootloader. I'm on supervisor mode, which seems to be necessary to write on C1(control register), but when i try to write on C1(control register) my program hangs.
Have you tried to make any changes on the cortex-a8 Control Register? If so, how did you do it?
I know it's not the topic of your post, but there are no information about this on an am335x with u-boot environment.
Regards, Lucas Cunha

Hello Lucas,
I do not recall if I tried that. Suddenly I got to work Android/kernel low level layers with i.MX6 and i.MX8 silicons, and this topic disappeared from my radar screen.
Nowadays what I do is just formally enhance bbb-yocto repo to newest YOCTO releases. Since I removed BBB platform from my desk, I was not able to check anything on the target.
If I return BBB back, I will try to check upon C1 control register.
Zoran

I am exploring nowadays something else. And then I found something interesting,
The first pointer is here:
https://developer.arm.com/documentation/ddi0406/cb/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/ARM-processor-modes?lang=en
Also here:
https://www.embien.com/blog/arm-architecture-registers-exception-model
And the registers, for passing the arguments:
https://www.cs.uaf.edu/2017/fall/cs301/lecture/11_17_syscall.html
Architecture     Syscall         Syscall     return    arg0      arg1      arg2     arg3    arg4       arg5
instruction    number-in   value
x86_64            syscall              rax 	      rax 	   rdi 	rsi          rdx 	  r10        r8 	    r9
x86 	               int 0x80             eax       eax 	  ebx        ecx 	      edx      esi        edi 	   ebp
arm                   svc 0                r7 	       r0        r0 	         r1           r2 	    r3        r4 	    r5
arm64               svc 0                x8         x0        x0 	         x1          x2         x3        x4         x5
Maybe for smc 0 (AM 335x syscall instruction) there are arguments missing???
Zee


Allow disabling automatic diagnostic log upload

While working through some compliance documentation for the App stores and customer requests, it seems fitting that we should allow users to disable the connlib log uploader.
Logs should still be written to disk as before, just disable the uploader.
Will require a checkbox in GUI clients and env var for CLI clients to set it.

This is blocking iOS App Store publishing. The solution here is to add a toggle switch, default "Off", in Advanced settings that enables or disables the upload feature.

Since this is inside connlib and we don't support live setting changes, this will just pass through Session::connect, right?

If log collection is off by default for all platforms, then we only need a manual way to turn it on through the GUI / env var, right?
Cause I was thinking, if it's on by default, an organization would probably want to disable it across all clients / gateways that they run, through MDM or some control plane policy. But for opt-in I'm guessing anyone who opts in won't mind doing it one-by-one.

@jamilbk What would be the API to tell connlib whether connlib should upload logs or not? Like @ReactorScram said, should we pass an isLogUploadEnabled to Session::connect? Or maybe a separate API call, so that we can enable/disable log upload even while the tunnel is connected?

I was thinking of just passing it through the Session.connect.
Changing the setting in Advanced settings would sign the user out / warn of sign out just like the other settings

Since this is inside connlib and we don't support live setting changes, this will be passed through Session::connect, right?

I'd be in favor of making this the first additional "command" that we can call on the Session: Session::set_log_upload_active. Internally, this means we will have to introduce a channel that sends a message to connlib's eventloop and enables / disables that state.
We will need this capability for https://github.com/firezone/firezone/issues/4028 so the scaffolding needs to happen sooner or later and doing it as part of the log upload seems to be easier then as part of Session::update which is a more complex change overall.

Another option would be to make this entirely app-controlled by saying: Session::upload_logs. Each client's state would then only activate / deactivate a platform specific timer and call that command on Session.
That would avoid having to pass more state through Session::connect and we would be able to get rid of one callback method at the same time because we would roll the log file as part of receiving the command to upload it.

Each client's state would then only activate / deactivate a platform specific timer and call that command on Session.

Yeah, it simplifies connlib a bit, but adds more untested paths to the client apps which are already tricky to test.
Maybe this instead?r

Merge all the config sent to connlib as a SessionConfig struct (Swift-Rust interop supports transparent structs, Kotlin we'll need to serialize to JSON)
Inside the Config struct pass everything we have now + the log_upload, except the callback_handler, e.g.

struct SessionConfig {
            api_url: String,
            token: String,
            device_id: String,
            device_name_override: Option<String>,
            os_version_override: Option<String>,
            log_dir: String,
            log_filter: String,
            log_upload_interval: Uint
}

By default, log_upload_interval is 0 on iOS, which disables rollover / uploading. Later we can add a switch to allow helpful users to share logs with us.
Logs will still be written and exportable so that we can grab them on an ad-hoc basis for users hitting issues.

Merge all the config sent to connlib as a SessionConfig struct (Swift-Rust interop supports transparent structs, Kotlin we'll need to serialize to JSON)

This just masks the problem by hiding many parameters behind one though. If anything, we should see the long list of parameters as a pain point to rework the design.
The callbacks are awkward to work with and make the control flow between clients and connlib really hard to understand so IMO they have to go.

Each client's state would then only activate / deactivate a platform specific timer and call that command on Session.

Yeah, it simplifies connlib a bit, but adds more untested paths to the client apps which are already tricky to test.

The log upload isn't automatically tested in connlib either due to the same constraints of requiring an instance of the portal backed by GCP :man_shrugging:
Removing the callback makes things actually easier to test because we don't have to mock the Callbacks. Similarly, the clients can write a test that they spawn a timer when a certain UI toggle is on. That shouldn't be any different from testing that the correct boolean value gets passed to connlib if the UI toggle is on.
We can also have the timer inside connlib but then we need both:

A parameter for the initial value of the timer
A method to change the state of an existing session

If anything, we should see the long list of parameters as a pain point to rework the design.

I'm not sure I follow this reasoning. The api_url, token, device_id, device_name are needed for the WebSocket. The log_filter and log_upload filter for logging during the session. The log parameters could conceivably be updated in the middle of a session perhaps, but this would be confusing to the user at the moment -- these are changed in the same "advanced settings" view as the API URLs, which we warn the user about with "This will disconnect your session. Do you want to proceed"?
So maybe it makes sense to have LogConfig and ControlConfig structs? But I'm not sure making these separate functions and then relying on the client to call them in a specific order makes things easier to follow / maintain.

The callbacks are awkward to work with and make the control flow between clients and connlib really hard to understand so IMO they have to go.

I'm a bit confused -- what are you referring to by callbacks in this context? We have to use platform-native APIs for some things like updating routes, the UI and such.

clients can write a test

Well, 3 tests -- one for each language. The harnesses aren't setup for this, and we don't have any experience across the team (yet) for writing these in Swift and Kotlin. Then there's the problem of we can't simulate an iPhone or Mac in CI (Android seems more promising). We'll have to solve it eventually, though.

Alternatively, we could just disable log collecting and rely on manual export + share on iOS to get around this issue for now, and revisit this later.

If anything, we should see the long list of parameters as a pain point to rework the design.

I'm not sure I follow this reasoning. The api_url, token, device_id, device_name are needed for the WebSocket. The log_filter and log_upload filter for logging during the session.

All the websocket parameters are only there to create a single URL. See https://github.com/firezone/firezone/pull/4048. Why don't we just make this URL in the clients? If we want to avoid duplicating code, we can easily expose another function next to Session that creates that URL and returns it again.
That decomposes the functionality into more cohesive chunks which is easier to work with.

The callbacks are awkward to work with and make the control flow between clients and connlib really hard to understand so IMO they have to go.

I'm a bit confused -- what are you referring to by callbacks in this context? We have to use platform-native APIs for some things like updating routes, the UI and such.

What I mean is: the use of callbacks to go between connlib and the clients is hard to understand, especially because they are fallible (also see https://github.com/firezone/firezone/issues/4064). Like I mentioned before, calling platform-native APIs should happen as a result of state changes[^1] in connlib which makes them declarative instead of connlib invoking things imperatively.
The reason we have a callback here is because we need to roll the log file which is actually not platform-specific so we can actually delete it. I'll do that on top of https://github.com/firezone/firezone/pull/3682.

these are changed in the same "advanced settings" view as the API URLs, which we warn the user about with "This will disconnect your session. Do you want to proceed"?

If we don't need live changes then passing a single parameter is okay for now. Long-term, I don't think it will be maintainable to pass lots of configuration parameters into connlib. Instead, we should look for the smallest, common denominator that all platforms need and push everything that is platform-specific "upwards".
Another example of this is: Calling protect for the sockets on Android should happen within connlib-client-android and not firezone-tunnel. But for that, the initialization of Sockets needs to be moved up to where we call Session. Currently, that would create a lot of boilerplate but once https://github.com/firezone/firezone/pull/3682 is merged and we move PhoenixChannel into firezone-tunnel, Session will be such a thin wrapper that we can effectively delete it. At that point, all the platform-specific connlib crates can just initialize a Tunnel and there won't be any critical code duplication if Tunnel then requires Sockets to be passed in which allows connlib-client-android to call protect first whereas all other platforms don't care.
[^1]: How these state changes are sent across the FFI layer doesn't matter for this. It could be push (via a callback) or pull (client must explicitly call next_update).

All the websocket parameters are only there to create a single URL. See https://github.com/firezone/firezone/pull/4048. Why don't we just make this URL in the clients?

This makes sense, thanks for clarifying.

Another example of this is: Calling protect for the sockets on Android should happen within connlib-client-android and not firezone-tunnel. But for that, the initialization of Sockets needs to be moved up to where we call Session. Currently, that would create a lot of boilerplate but once https://github.com/firezone/firezone/pull/3682 is merged and we move PhoenixChannel into firezone-tunnel, Session will be such a thin wrapper that we can effectively delete it. At that point, all the platform-specific connlib crates can just initialize a Tunnel and there won't be any critical code duplication if Tunnel then requires Sockets to be passed in which allows connlib-client-android to call protect first whereas all other platforms don't care.

I see.
I agree with all of these points in principle. We can save them as future TODOs to make life nicer.
For the purposes of getting our first iOS app approval, I've opened #4065. IIRC we never intended for log uploads to hit GA due to the privacy implications. They were meant to more easily diagnose issues with beta users (who ended up just sending us logs anyway).
There are ways to check for whether we're in a beta (TestFlight / Firebase test) build, so maybe log uploads should only be enabled for those clients (and those who opt in with a release build) by default.

We can save them as future TODOs to make life nicer.

Yeah, they've been in my head for a while but I've slowly starting writing them down as they become clearer!

IIRC we never intended for log uploads to hit GA due to the privacy implications. They were meant to more easily diagnose issues with beta users (who ended up just sending us logs anyway).

Maybe we should just remove it entirely then?


Error/Crash if method of object of inner class type is being run in another thread and outer script reloaded

Godot version
3.x build c26547414d62095b3f65d6c3d102e4f9a1f6bc0b
System information
OS: Arch Linux, CPU: Ryzen 5, GUP: RX 480
Issue description
When an active (still executing or waiting in another thread) instance of an object of inner class type exists, and something causes the outer script to be reloaded, Godot either reports a random script error or crashes.
Ideally, the script shouldn't be reloaded at all as a reference to the inner class still exists, or, if we think the programmer should avoid the situation, the engine should report an error instead of just crashing when in debug mode.
I found this issue because I often use inner classes to define tasks to send to a thread pool. The workaround is to ensure the thread pool has finished all tasks before performing actions that may result in this situation.
The workaround, however, doesn't allow me to start reloading a scene, for instance, while such a task is running, which happens if I want to ignore the result of that task and go ahead with the scene change.
Steps to reproduce

Script A creates an object (Object A) of an inner class and hands it to another script (Script B) that uses it inside a thread.
The scene containing Script A is freed and then reloaded while the object is still being held by Script B and the other thread.
If the thread execution is still ongoing, running code inside Object A, a random script error shows up, worse if the thread was waiting on a synchronization primitive and then the execution resumes because of the main thread, there is a crash (see the attached project).

Minimal reproduction project
godot_inner_class_bug.zip

Backtrace from the MRP:
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v3.4.beta.custom_build (044cafc31a6ffa68250b8b7ab0436a02ca432a85)
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib64/libc.so.6(+0x3aca0) [0x7f0f80647ca0] (??:0)
[2] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/home/akien/Projects/godot/godot-3.x/modules/gdscript/gdscript_function.cpp:1090)
[3] GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/akien/Projects/godot/godot-3.x/modules/gdscript/gdscript.cpp:1169)
[4] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/akien/Projects/godot/godot-3.x/core/object.cpp:899 (discriminator 1))
[5] _Thread::_start_func(void*) (/home/akien/Projects/godot/godot-3.x/core/bind/core_bind.cpp:2655 (discriminator 1))
[6] Thread::callback(Thread*, Thread::Settings const&, void (*)(void*), void*) (/home/akien/Projects/godot/godot-3.x/core/os/thread.cpp:80)
[7] void std::__invoke_impl<void, void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*>(std::__invoke_other, void (*&&)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*&&, Thread::Settings&&, void (*&&)(void*), void*&&) (/usr/include/c++/11/bits/invoke.h:61)
[8] std::__invoke_result<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*>::type std::__invoke<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*>(void (*&&)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*&&, Thread::Settings&&, void (*&&)(void*), void*&&) (/usr/include/c++/11/bits/invoke.h:97)
[9] void std::thread::_Invoker<std::tuple<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) (/usr/include/c++/11/bits/std_thread.h:253)
[10] std::thread::_Invoker<std::tuple<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> >::operator()() (/usr/include/c++/11/bits/std_thread.h:260)
[11] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> > >::_M_run() (/usr/include/c++/11/bits/std_thread.h:211)
[12] /home/akien/Projects/godot/godot-3.x/bin/godot.x11.tools.64() [0x4a22824] (/home/iurt/rpmbuild/BUILD/gcc-11-20210918/obj-x86_64-mageia-linux/x86_64-mageia-linux/libstdc++-v3/include/bits/unique_ptr.h:85)
[13] /lib64/libpthread.so.0(+0x8c7a) [0x7f0f80919c7a] (??:0)
[14] /lib64/libc.so.6(clone+0x3f) [0x7f0f8070257f] (??:0)
-- END OF BACKTRACE --
================================================================

It seems to work fine in master, at least no crash (project ported to use await instead of yield:
godot_inner_class_bug-4.0.zip).


pygments lexer does not recognize sos magic

The lexer is very simple right now (python syntax + extra keywords). We should at least handle sos magics.

We are moving away from pygment and uses codemirror now.


[FEATURE] Box Operator to load data from Box to Volumes and Volumes to Box

Is your feature request related to a problem? Please describe.
The Box Operator needs to provide functionality for downloading files from a Box folder to a Unity Catalog volume and uploading files from a Unity Catalog volume to a Box folder.
Cloud Information

[ ] AWS
[ ] Azure
[ ] GCP
[ ] Other

Describe the solution you'd like
The solution should include an operator that can perform the following actions:
1. Download files from a specified Box folder and store them in a designated Unity Catalog volume.
2. Upload files from a specified Unity Catalog volume to a designated Box folder.
3. Support authentication and authorization mechanisms to ensure secure data transfer.
4. Provide logging and error handling to monitor the transfer process and handle failures gracefully.
Describe alternatives you've considered
1. Manual download and upload of files between Box and Unity Catalog, which is time-consuming and error-prone.
2. Using third-party integration tools, which may not offer the required flexibility and control over the data transfer process.
Additional context
This feature will streamline the data transfer process between Box and Unity Catalog, reducing manual effort and minimizing the risk of errors. It will be particularly useful for teams that frequently need to move data between these platforms for analysis and storage purposes.

Primary goal of brickflow is orchestration. Box integration or any such integrations is part of koheesio.
e.g. https://github.com/Nike-Inc/koheesio/blob/main/src/koheesio/integrations/box.py

Hi @pariksheet this is not Box Integration, we are trying to load files or folders from Box to Databricks Unity Catalog volumes and vise versa.

Merged the PR, closing this Issue.
https://github.com/Nike-Inc/brickflow/pull/144


What happened to the system_files option?

Hey, thanks for the new version!
What happened to the system_files option?

I searched the whole repo, and there are only 2 references:

Some commented out tests
An old commit that points to files that don't exist anymore on the default branch

It is not mentioned in the upgrade docs as a removed feature

This is the error I'm getting:
❯ organize sim
organize 2.0.3
Config: "/Users/aa/Library/Application Support/organize/config.yaml"
Error: Invalid config file!
'organize rule configuration' Key 'rules' error:
Wrong key 'system_files' in {'locations': '~/Documents/', 'subfolders': True, 'system_files': True, 'filters': [{'name': {'startswith': '.DS_Store'}}], 'actions': ['trash']}```

My config:
rules:
  - locations: ~/Documents/
    subfolders: true
    system_files: true
    filters:
      - name:
          startswith: .DS_Store
    actions:
      - trash

Totally forgot documenting this one!
The option moved into the locations.
You overwrite the default system exclude files with an empty list.
rules:
  - locations:
      - path: ~/Desktop/
        system_exclude_files: []
    subfolders: true
    filters:
      - name: .DS_Store
    actions:
      - trash

While testing your config I found a small bug, so please update to v2.0.4 first.

I tested with the Git version (pipx install git+https://github.com/tfeldmann/organize.git).
system_exclude_files: [] works, thanks. 👍🏻


Replaced Resource Manager templates with ARM templates

While the term Resource Manager template is technically correct, it's rarely used comparing to ARM template.
See for example https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/overview:

use Azure Resource Manager templates (ARM templates)

The article at link is also uses acronym ARM, not RM:

Quickstart: Create a Service Bus namespace and a queue using an ARM template

Since it's a very well-known term, this chance would allow the readers to quickly search by it on the web page through the article.

@abatishchev : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@spelluru
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

@ShannonLeavitt : Thanks for your contribution! The author(s) have been notified to review your proposed change.


MobileDet on TFLite

@sayakpaul , could you help trying out the MobileDet model for TFLite?

Convert the pretrained MobileDet TF1 model to TFLite using the existing export script and convert with latest (v2.3) TFLiteConverter.
Put together an e2e guide on training a MobileDet model with the pet dataset and converting to TFLite.

@farmaker47 FYI

@khanhlvg I tried to convert the pre-trained checkpoints with the latest TFLite exporter script but I ran into issues. I tried the different MobileDet variants available here. In all of them, I ran into a common issue of ValueError: ssd_mobiledet_dsp is not supported. See model_builder.py for features extractors compatible with different versions of Tensorflow (checkpoint name varies). Here's the detailed trace: https://pastebin.com/70hgfiTJ.
Here's my Colab Notebook.

MobileDet is implemented in TF1 so you'll need to use the older export script and use %tensorflow_version 1.x instead of tf-nightly.

@khanhlvg I was able to convert the different variants of MobileDet using the 2.3 TFLiteConverter. A couple of things to note:

The exporter scripts generate a frozen graph and not a SavedModel. Hence, I used tf.compat.v1.lite.TFLiteConverter.from_frozen_graph.
According to the instructions here I felt adding the add_postprocessing_op flag during the TFLite compatible graph export is a good option since it adds optimized postprocessing ops to the graph.
Now while doing the actual TFLite conversion, I constructed the converter object in the following way -

converter = tf.compat.v1.lite.TFLiteConverter.from_frozen_graph(
graph_def_file='tflite_graph.pb',
input_arrays=['normalized_input_image_tensor'],
output_arrays=['raw_outputs/box_encodings', 'raw_outputs/class_predictions', 'anchors'],
input_shapes={'normalized_input_image_tensor': [1, 320, 320, 3]}
)

  But note the original output tensor of the graph and its inputs -

  ![Screen Shot 2020-09-11 at 12 35 09 PM](https://user-images.githubusercontent.com/22957388/92880147-554b7100-f42b-11ea-99cb-a5d42081da1d.png)

  When I tried with the actual output tensor it resulted in errors.

All of these have been updated in the Colab Notebook linked above.

@khanhlvg my bad. I had to carefully read this part -

I will modify it and will try out inference.
Quick question: Does it make sense to upload it to TF-Hub?

@khanhlvg I updated the Colab Notebook to include more utilities and also inference results. Would be great if you could give it a round of review. Also, the models are pretty fast. I will share the benchmark results soon.
The EdgeTPU and DSP variants of the model contain fp32 and uint8. While the conversion with fp32 variants went smooth it wasn't the case for uint8. The output tensors of the generated graph, in that case, varies from what's been specified in the guide. Could you take a look?

@khanhlvg benchmarking results:

The timing denotes inference_avg (ms). Benchmarking performed on Pixel 4.

Quick question: Does it make sense to upload it to TF-Hub?

For the MobileDet models trained on COCO, let me contact the author of the paper and asked them to upload their model to TFHub as they already have the converted TFLite model included with the checkpoints.
For the MobileDet models trained with other dataset (e.g. pet detector), definitely yes :)

@khanhlvg I updated the Colab Notebook to include more utilities and also inference results. Would be great if you could give it a round of review.

The notebook mostly LGTM. I have only a few comments:

ssd_mobiledet_dsp_coco and ssd_mobiledet_edgetpu_coco are optimized for Hexagon DSP and EdgeTPU so their TFLite dr, fp16 and float versions actually don't have much practical usage. As you can see in the benchmark, they're much slower than their counterpart (ssd_mobiledet_cpu_coco).
Maybe add a few lines to the notebook to clarify the supported platform details. They are available in the paper but may not be obvious for ML folks who don't work extensively with mobile.

The EdgeTPU and DSP variants of the model contain fp32 and uint8. While the conversion with fp32 variants went smooth it wasn't the case for uint8. The output tensors of the generated graph, in that case, varies from what's been specified in the guide. Could you take a look?

I don't see the int8 conversion in your notebook. Could you point me to where they are?

For the MobileDet models trained on COCO, let me contact the author of the paper and asked them to upload their model to TFHub as they already have the converted TFLite model included with the checkpoints.

Sure. Their checkpoints contain TFLite models already, so that's covered but my guess is that those models probably weren't generated using the latest TFLiteConverter.

For the MobileDet models trained with other dataset (e.g. pet detector), definitely yes :)

Thanks for the suggestion. Although that dataset is great for demonstrating results, workflows, etc. but I don't think it's going to be practically very useful for the broader community.

ssd_mobiledet_dsp_coco and ssd_mobiledet_edgetpu_coco are optimized for Hexagon DSP and EdgeTPU so their TFLite dr, fp16 and float versions actually don't have much practical usage. As you can see in the benchmark, they're much slower than their counterpart (ssd_mobiledet_cpu_coco).

Got it. So, I am guessing integer quantization should be the way to go here?

Maybe add a few lines to the notebook to clarify the supported platform details. They are available in the paper but may not be obvious for ML folks who don't work extensively with mobile.

Could you expand on this a bit more? How you would envision this section in the notebook?

I don't see the int8 conversion in your notebook. Could you point me to where they are?

That's because I did not perform integer quantization yet. Downloading the entire COCO training dataset (that would be needed for the representative dataset) might be painful so, what would you suggest here?

A number of updates -
I included int8 quantization in the Colab Notebook. Here's how I prepared the representative dataset -

Downloaded the train2014 split (~14 GB) from here.
Subsampled 100 images (more on this later). I have hosted this version here in order for other people to use it.
Then I followed the same preprocessing utility functions to create the generator.

Impact on the different models

EdgeTPU and the DSP variants come in fp32 and uint8 formats (see here). For the fp32 format, the integer quantization went seamlessly. For uint8 I ran into issues. See here. The predictions seemed quite good too.
For the normal CPU variant of MobileDet, integer quantization resulted in a poor quality model. I experimented with a varied amount of images for the representative dataset and also the probability threshold but that did not help much.

Note on the full integer enforcement
It's currently giving a not-supported error. I tried with tf-nightly as well.
I will be back with the benchmarking results for the models I have been able to export -

ssd_mobiledet_dsp_coco_fp32_int8.tflite
ssd_mobiledet_edgetpu_coco_fp32_int8.tflite

Let me know if anything is unclear @khanhlvg.

Here are the benchmarking results -
ssd_mobiledet_edgetpu_coco_fp32_int8
inference_avg (ms)
                  CPU w/ 4 threads  CPU w/ 4 threads (XNNPACK)
device
Pixel 4 (API 29)           23.7463                     18.7443

ssd_mobiledet_dsp_coco_fp32_int8
inference_avg (ms)
                  CPU w/ 4 threads  CPU w/ 4 threads (XNNPACK)
device
Pixel 4 (API 29)           22.5022                     22.5228

Sure. Their checkpoints contain TFLite models already, so that's covered but my guess is that those models probably weren't generated using the latest TFLiteConverter.

I'm not sure about this. The TFLite model bundled with the checkpoint was converted with the MLIR converter so it should be a recent TFLiteConverter though.

Maybe add a few lines to the notebook to clarify the supported platform details. They are available in the paper but may not be obvious for ML folks who don't work extensively with mobile.

I meant to point out in the notebook that the ssd_mobiledet_edgetpu_coco and ssd_mobiledet_dsp_coco are supposed to be integer only quantized to be supported by EdgeTPU and DSP, as the two hardware accelerators only support integer models.

It's currently giving a not-supported error. I tried with tf-nightly as well.

I took a closer look at the checkpoint and found that the uint8 in ssdlite_mobiledet_dsp_320x320_coco_2020_05_19/uint8/ models are actually QAT models using the TF1 QAT mechanism. To convert those model, you'll need some trick:
converter = tf.compat.v1.lite.TFLiteConverter.from_frozen_graph(
    graph_def_file=model_to_be_quantized,
    input_arrays=['normalized_input_image_tensor'],
    output_arrays=['TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3'],
    input_shapes={'normalized_input_image_tensor': [1, 320, 320, 3]}
)
converter.allow_custom_ops = True
converter.inference_input_type = tf.uint8
converter.inference_output_type = tf.uint8
converter.quantized_input_stats = {"normalized_input_image_tensor": (128, 128)}
tflite_model = converter.convert()

Please note that you must not specify optimization property in the converter.
I'll look more into if we can integer-only quantize the ssdlite_mobiledet_dsp_320x320_coco_2020_05_19/fp32/ model.

The EdgeTPU uint8 model (ssd_mobiledet_edgetpu_coco_uint8)'s model output is completely different from the other models and I'm confused too. I'll need to investigate more.

I was able to integer quantize the fp32 (no QAT) version of the ssd_mobiledet_edgetpu_coco and ssd_mobiledet_dsp_coco variants. Please see this Notebook for details.
An important point here is that the final post processing custom ops doesn't support int8, so you can't specify these parameters to make conversion possible.
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_output_type = tf.uint8

I think the MobileDet conversion is tricky enough that we should have an e2e blog post guiding it. Unfortunately as it's implemented in TF1, we can't get them on TF Blog. WDYT about writing a personal blog detailing these steps?

@khanhlvg one doubt I forgot to ask during our discussion today

Please note that you must not specify optimization property in the converter.

I am guessing this is because during QAT the fake nodes that get inserted to the graph are in int, so setting this might lead to inconsistencies?

I am guessing this is because during QAT the fake nodes that get inserted to the graph are in int, so setting this might lead to inconsistencies?

Yes that's correct.

The ssdlite_mobiledet_dsp_320x320_coco_2020_05_19/uint8 bundled TFLite model also use mean = 128, std = 128 quantized stats so I suspect that the fp32 and uint8 models are trained with different normalization method.

Okay. Also referring back to

ssd_mobiledet_dsp_coco and ssd_mobiledet_edgetpu_coco are optimized for Hexagon DSP and EdgeTPU so their TFLite dr, fp16 and float versions actually don't have much practical usage. As you can see in the benchmark, they're much slower than their counterpart (ssd_mobiledet_cpu_coco).

I guess we can skip the fp16 conversion for EdgeTPU and DSP variants? WDYT?

Another question is how did you figure out that the FP32 post-processing operations don't support integer? I see the output types are float32, float32, float32, float32 but it may not be immediately conceivable that those operations won't support integer precision. Please correct me if I am wrong.

I guess we can skip the fp16 conversion for EdgeTPU and DSP variants? WDYT?

Yes, they aren't useful so we can skip them.

Another question is how did you figure out that the FP32 post-processing operations don't support integer? I see the output types are float32, float32, float32, float32 but it may not be immediately conceivable that those operations won't support integer precision. Please correct me if I am wrong.

I tried converting with these parameters and the converter returned an op not supported error. You need the tf-nightly build to see the error because the error message was broken in v2.3.
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_output_type = tf.uint8

I see. Very useful, thank you!

I incorporated your suggestions into the conversion notebook. The integer quantized models are performing very unexpectedly. The results are undesirable. Here's my updated Colab Notebook.
Here is the converted TFLite files as a zip.
Let me know your thoughts.

The way you processed the input looks incorrect so I rewrote that part in this notebook, which include both type of quantization: integer only quantize the fp32 model (model_int8.tflite) and converting the qat uint8 model (model_qat.tflite).
Here is how to preprocess the input:

Model with uint8 input: Keep the input image to [0..255] uint8.
Model with float32 input: Normalize the input to [0..1] float32.

Minor thing: you may add a threshold to only show detection with probability above a certain level (e.g. 50%) as the result is quite busy if showing all detection.

Thanks!

Minor thing: you may add a threshold to only show detection with probability above a certain level (e.g. 50%) as the result is quite busy if showing all detection.

I think it's already there -
# Preprocess image and perform inference
resultant_image = display_results("image.png", interpreter, threshold=0.3)
print(resultant_image.shape)
Image.fromarray(resultant_image)

Also, according to this comment you are also setting converter.inference_output_type = tf.uint8 but in the notebook you linked above I don't see it. Could you expand on this?

I think it's already there -

Oh I see. Thanks for pointing out.
It turned out that converter.inference_output_type = tf.uint8 doesn't have any effect as the final TFLite_Detection_PostProcess op is a custom ops that doesn't support uint8 processing. Dequantize ops were automatically added before the op.

Okay. So, what would be the best way for someone to decide when to set it and when not to? One example I have is the error that you got with tf-nightly converter as you mentioned here. But in this case, what would be the approach?

Unfortunately it'll be trial-and-error. I won't send converter.inference_input/output_type if it's not absolutely necessary (e.g. running on a hardware accelerator that only support integer) to keep the integer quantized model interface compatible with its float version. Most mobile use cases are fine with this. If I need to have integer input/output, I'll try setting both to input/output type to integer and adapt accordingly if there's a conversion error.

That makes sense. I think this is practical advice and we should include these commentaries in the blog post. WDYT?

SGTM. Let's include the findings we have in the blog post.

Another finding is that I see that you are not including the representative dataset here. Is this expected?

Another finding is that I see that you are not including the representative dataset here. Is this expected?

Yes, the output range of the each op is already recorded during QAT so there's no need to provide representative dataset during conversion.

That makes sense. The performance is way better now -

I also looked into why the integer only quantization for the CPU-based MobileDet models were not performing well and it looks like I have gotten past it. I have updated my notebook to reflect these changes. Could you take a look?

Great, thanks Sayak!
Minor feedback: I think ssd_mobiledet_dsp_coco_uint8_int8 should be ssd_mobiledet_dsp_coco_uint8_qat to avoid confusing reader that you apply integer only post-training quantization to the uint8 checkpoint.

Alrighty. I will rename it accordingly.

Blog post's been published - https://sayak.dev/mobiledet-optimization/
Notebook - https://github.com/sayakpaul/Adventures-in-TensorFlow-Lite/blob/master/MobileDet_Conversion_TFLite.ipynb

@khanhlvg FYI.


E2e test fixing

Checklist

[x] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[x] Any modified or new methods or classes have helpful JSDoc and code is thoroughly commented
[x] The description lists all applicable issues this PR seeks to resolve
[x] The description lists any configuration setting(s) that differ from the default settings
[x] All tests and CI builds passing

Description
This PR depends on #584.
This just adds a little improvement to the e2e test output and verifies that all of the e2e tests work. 2 environment variables on Travis needed to be updated, but other than that you can see in the Travis builds that e2e testing is working as expected.

Codecov Report

Merging #585 into dev will decrease coverage by 22.01%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##              dev     #585       +/-   ##
===========================================
- Coverage   37.82%   15.80%   -22.02%
===========================================
  Files         315      315
  Lines       17255    16100     -1155
  Branches     5267     4896      -371
===========================================
- Hits         6527     2545     -3982
- Misses       9315    11570     +2255
- Partials     1413     1985      +572

Flag
Coverage Δ

#end_to_end_tests
?

#unit_tests
15.80% <0.00%> (-0.02%)
:arrow_down:

Impacted Files
Coverage Δ

lib/admin/components/AdminPage.js
0.00% <ø> (-54.67%)
:arrow_down:

lib/manager/components/DeploymentViewer.js
14.95% <0.00%> (-0.08%)
:arrow_down:

lib/manager/util/deployment.js
61.90% <0.00%> (ø)

lib/types/index.js
0.00% <ø> (ø)

lib/manager/components/validation/TripsChart.js
0.00% <0.00%> (-80.40%)
:arrow_down:

...nager/components/validation/ServicePerModeChart.js
0.00% <0.00%> (-78.27%)
:arrow_down:

lib/manager/components/HomeProjectDropdown.js
0.00% <0.00%> (-75.76%)
:arrow_down:

...b/manager/containers/ActiveFeedVersionNavigator.js
0.00% <0.00%> (-70.00%)
:arrow_down:

lib/editor/components/EditorSidebar.js
0.00% <0.00%> (-66.67%)
:arrow_down:

lib/editor/containers/ActiveGtfsEditor.js
0.00% <0.00%> (-66.67%)
:arrow_down:

... and 255 more

Continue to review full report at Codecov.

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

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


Fix/remove bams storage

Those fixes would include remove of some intermediate heavy files

removed diamond alignments from CAT step
removed bams from decontamination step
added samtools bam2fq into alignment

TODO: we still have 1 place where there are bam files: alignment before METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS.
Possible solutions can be:

add metabat to bwa container and combine depth calcutation to alignment
calculate depth with samtools but results would be different from jgi script

Those fixes would include remove of some intermediate heavy files
* removed diamond alignments from CAT step

* removed bams from decontamination step

* added `samtools bam2fq` into alignment

TODO: we still have 1 place where there are bam files: alignment before METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS. Possible solutions can be:
* add metabat to bwa container and combine depth calcutation to alignment

* calculate depth with `samtools` but results would be different from jgi script

I think adding metabat to the bwa container to combine the depth calculation is the best way, moving from the jgi to the samtools one would require some exploration and benchmarking


how can we get distance travelled or total distance travelled.

@tananaev
Hi Anton,
How can we get total distance travelled, like in opengts we have distanceKM field in EventData table.
Is it possible. I tried to integrate opengts database with traccar but device is not adding up, can that help me temporary to get distance travelled.
Please advice, as to how can I get distance travelled.
Regards
Jyotir

Hi,
If you're still interested I added this on my mysql server to calculate distance between points per device ID.
It can be done by creating an Insert Trigger and then using the following code:
CREATE DEFINER=`YOUR_DB_USERNAME`@`%` TRIGGER `OL_trg_IComputerDistance` BEFORE INSERT ON `positions`
 FOR EACH ROW Begin
	Declare vnlatitude,vnlongitude,vdistance,volatitude,volongitude

double;
    Declare vid, vidold, vdeviceid int;
    set vnlatitude = NEW.latitude;
    set vnlongitude = NEW.longitude;
    set vid = NEW.id;
    set vdeviceid = New.deviceid;
    set vidold = ( Select max(id) From positions where deviceid = vdeviceid);
    If vidold >0 THEN
    	set volatitude = (Select latitude From  positions Where id = vidold);
        set volongitude = (Select longitude From  positions Where id = vidold);
     	set vdistance = acos(sin(volatitude)*sin(vnlatitude)+cos(volatitude)

*cos(vnlatitude)
                             *cos(vnlongitude-volongitude))*6371;
        set vdistance = radians(vdistance);
    Else
    	Set vdistance = 0;
    End If;
    set new.distance = vdistance;

End

@potash18, this is a pretty old thread. Since then Traccar has implemented distance calculation, so there is no need for triggers or other database-based solutions.


Understanding configuration options chosen

I am currently working on something similar. I forked the repo however I have not made any deployments. I am not sure if it will be possible with the current set.
I am interested to know how you have this working with NFS. In the documentation, it mentions that it is not possible to run this on an NFS type system unless you have a data center version of the Atlassian suite enabled.
I am interested to know how you managed to solve this storage issue. Our current solution is to use the EBS PV claim with one replica set.

How did you manage to bypass the licensing issues? One of the main problems I see is around the licensing model and the server ID's. This pretty much defies the logic of kubernetes as an orchestrator since it will require a new license each and every time.

For the PVs, you'll need a system that supports ReadWriteMany. NFS and Gluster come to mind. It's also correct that NFS is needed for the "DC" version of Bitbucket, but you can run the data dir off NFS without that licence.
As long as each pod has access to that PV as ReadWriteMany, they'll configure themselves with the bitbucket.properties file located there.
I've not by-passed licencing, however on the first deployment, you will need to complete this step in the web UI, this is then stored in the postgres database somewhere. If you really needed to automate this, I'd suggest something like Selenium that can access the UI elements to complete this stage.
Does this answer your questions?

I'll close this out, let me know if you have any further questions


Fix#24: Support wildcard in box/diamond HML formulae

This PR adds support to <->, [-], <<->>, [[-]] constructs

There are some performance losses :(


Background music pauses when camera is launched and photo is taken.

I just started using the framework and I noticed that soundcloud's music stops playing. I tried using this line of code that I searched for all over Google and Stackoverflow and found this line of code [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; supposedly used to keep all forms of audio playing but it does not seem to be working.

I realized that if you comment out the line [self.session addInput:_audioDeviceInput]; the music from another app will continue to play in the background.

@kyco16 The above fix seems to disable the audio when recording the video. The background apps music keeps playing, but my videos don't have any audio. Did you have the same result, and did you find a fix? Thanks!

This issue can be fixed by setting
_session.automaticallyConfiguresApplicationAudioSession = NO;
and by setting
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: [.DuckOthers, .DefaultToSpeaker])
Somewhere in your app, in AppDelegate for example.
That would be great if we could have the choice to set automaticallyConfiguresApplicationAudioSession, I'll use a fork of this project in the mean time.


Add method to create folder if it doesn't exist

I wasn't able to test this as I haven't fully figured out how yet, and it doesn't look like a unit test is setup yet. But this could work, so try it out and let me know if it's close but needs some tweaks.

FYI after looking at the slack conversation, this method probably needs to be tweaked to include creating any sub folders. I think it could iterate through the sub folders of the path, check to see if each one exists, and create it if it doesn't exist.

@danshorstein I just verified this works for a single level of folder nesting, but does not work with nested folders.
If you want to test it locally, you can follow the instructions to rebuild the database. Then, delete a folder in the /data/raw folder that contains one of the data files listed in the manifest.csv. The code should download the file if it doesn't find it locally, so when you rerun the load_data.py function it should notice the folder you deleted and try to download it from S3. Currently, anyone that hasn't run the awscli sync command will be missing the crime data folder as that folder wasn't skeletoned out in the repo with .gitinclude files (that's why the other folders were already available - they came as empty folders as part of the repo).
If you want to make a unittest, the tricky part is that we don't have the tests/test_data set up to have its data in S3. Probably easiest to do manual testing for now and in the near term I'll set up S3 to have a housinginsights_test folder for this type of thing.

Ok I just figured it out - os.makedirs creates nested folders, woot! Creating a pull request momentarily.

Also FYI, you can keep the pull request open and continuing adding commits to it. If you commit to the same branch and push it to your fork, this pull request will be updated with the additional commits.

Also, you can manage your fork of the repo however you want, but I do find it useful to always make a new feature branch rather than committing directly to your dev branch. That way you can keep your dev branch the same as our dev branch in case your pull requests don't get merged in right away (if they have issues etc.) Just a suggestion

Awesome, just did that and it worked, thanks. I'm very new to using github, so thanks for bearing with me =)

And I'll try creating the local database and testing later. I probably need to use my macbook, as my windows PC does not seem to want me to use docker.

Hmm, yeah - which Windows are you on? I was able to get my Windows machine working with it, but when I tried to set it up on my slightly older laptop (to test the onboarding process) it didn't work there.
If you want to set up your Windows laptop, instead of using Docker you can also just install Postgres directly - Postgres 9.5 is all you need to do the rebuild of the database. In secrets.json there is an option for "local_database" instead of "docker_database" - you'll just need to create a database in your Postgres installation and edit that connect string to match your Postgres port number, username/password, and database name.
Docker's useful in that once you get it running, you can usually run most any docker image out there, but I've found it to be not quite as plug and play as people portray it to be especially on Windows. Once it's running though, it makes life a lot easier especially as the project evolves and we add additional dependencies.

@danshorstein I just verified this now works for nested folders. Thanks! Merging.


Some error's phrases are not localized

Hi) I've faced with some not localized phrases in products use your module.
Some packages throw errors and exceptions without any processing (for example: package vscode-languageserver).
Could you, please, add localization for theese phrases?
For example, I faced with that and some other messages:
https://github.com/microsoft/vscode-languageserver-node/blob/2041784436fed53f4e77267a49396bca22a7aacf/jsonrpc/src/common/connection.ts#L1522
Thanks in advance)

Most of the error message are kept in English since they should only end-up in Logs/Log output channels. We do this since we would not understand localized message otherwise (it for example can't speak Spanish and could not make any use of a Spanish message in the log).

Where do you see these message?

Most of the error message are kept in English since they should only end-up in Logs/Log output channels. We do this since we would not understand localized message otherwise (it for example can't speak Spanish and could not make any use of a Spanish message in the log).

Yaeh, I understand it, but some products use your product as a dependency and some messages throws in the UI without any processing, and I can't handle it on my side.

Here these messages in the UI.
It came from Theia, but in Theia it had come from the vscode-jsonrpc npm dependency module.
Some time ago, all of these phrases were in the file "vscode-jsonrpc/lib/common/connection.js", it was like this:
"Pending response rejected since connection got disposed"
"Restarting server failed"
"Server initialization failed."
"${this._name} client: couldn't create connection to server."
"The ${this.client.name} server crashed ${this.maxRestartCount + 1} times in the last 3 minutes. The server will not be restarted. See the output for more information."

But not I could find just one phrase.
Here another example of how it looks (not mine) in vscode extension:

Issue where I got last picture: https://github.com/microsoft/pylance-release/issues/3391


Hooks doesn't work for nestjs 8+ version

Version: @nestjs/common 8.0.6, @nestjs/core 8.0.6.
Steps to reproduce:

Install nest version 8+.
Install NestPack/hooks library.
Error Nest can't resolve dependencies of the HooksService is being thrown(you can see details in the screenshot below)

The current behaviour
The project can't be built.
Expected behaviour
The project builds successfuly.

I've found that https://github.com/nestjs/nest/issues/7568 here the same issue is being described.
I can fix this with PR if this repository is still being maintained(I'm not sure about it).
Could you tell me whether this repo is still being maintained?

Had the same issue when using with nest js 8+. But i have managed to solve this issue by using yarn resolution as the following "resolutions": {     "@nestjs/common": "^8.0.0",     "@nestjs/core": "^8.0.0"   },

@nikosson @Phu96 could you please share an update on this whether there was any fix for this issue with Nestjs 8+ and Hooks module. I am getting the same issue while going with Nestjs 9 from version 7.1.3.

in order to solve this, the author of this package just have to move @nestjs/core to a peer dependecy instead of hard dep:
https://github.com/NestPack/hooks/blob/c1edb195a0ad612c689a375355951fd6333ae63e/package.json#L16-L18


Multiple database support

Right now, Mamute only supports MySQL databases. It would be useful to developers and users if it supported at least a few of the other major players (Oracle, PostgreSQL, etc.) and an in-memory database for local development.
Note: there appear to be a few DAO dependencies on MySQL's syntax, but since the application already uses Hibernate it should be possible to work around them.

Based on the response in the forum (http://meta.mamute.org/332-it-is-possible-to-change-the-database-to-something-other-than-mysql) I also thought this would be possible, however... there are some obstacles
1 mysql specific code. This is present in the MigrationExecutioner and DatabaseManager (as alread in the comment)
2 the create script for the database is pure MySQL
3 even when I remove the custom code and converted the database script to PostgreSQL it does not work due to incompatible type mappings.
To work, these 3 need to be overcome:
1 the mysql specific code must go or at least be activated only when a mysql connection is taken. This can be obtained via the hibernate session
2 we need to provide a separate create script per database type.
3 when the mapping is not working, a separate dialect can be created to force the mapping to the required type (main issues were BigInteger iso Long and that sort of stuff... should be possible to get a compatible mapping done).
If somebody is interested to test it, I would be willing to give it a go for the PostgreSQL usecase, since we use that as default backend.

@kullervo16: I think I am willing to test on postgres. Just create a branch. I'll git checkout and build using mvn

Hello,
May I contribute to the project and help you guys with this issue ?
~Dio


Why does Hermes need both rpc_addr and websocket_addr?

Summary

hermes is an implementation on relayer delivering the message between chains.
And I thought it would be enough for a node to provide a gRPC service only.
After some exploration, I found rpc_addr is related to check the latest status of a chain for relayer. Is there any trait for me to implement a rpc service?
Problem Definition

Proposal

Acceptance Criteria

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate milestone (priority) applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Hermes depends on both the gRPC endpoints exposed by the Cosmos SDK as well as the JSON-RPC and WebSocket endpoints exposed by Tendermint. As such you currently need to specify all three of rpc_addr, grpc_addr and websocket_addr in the configuration.
Can you get into more details as to what is the problem with the RPC endpoint? Is the chain you are working with not Tendermint-based?

As per your original question: at the moment there is no way to mock just the light client, but you can either:
a) write your own implementation of the ChainEndpoint trait
b) implement a RPC proxy manually which exposes the same API as Tendermint and configure its URL as the rpc_addr
As for the WebSocket endpoint, you may not need it if you go with option (a) but you will still need to implement the ChainEndpoint::init_event_monitor method for it return a channel through which the relayer can listen for IBC events.

The chain I am working with is not built by Cosmos SDK.
Is hermes only designed for Cosmos SDK chain? If I want to use hermes as the relayer in my chain, what trait should be implemented in my chain?
ChainEndpoint trait seems a trait for relayer.

Is hermes only designed for Cosmos SDK chain?

At the moment, yes. Many teams are working on forks to support non-SDK, eg Composable Finance to support Substrate (Polkadot ecosystem) networks: https://github.com/ComposableFi/ibc-rs/commits/master.
This module captures all the relayer dependencies towards a network (eg Cosmos SDK networks) including Tendermint-level dependencies: https://github.com/informalsystems/ibc-rs/blob/1d56e6db85a25f0c14dd80a6336266118d4c0ead/crates/relayer/src/chain/cosmos.rs#L1
The trait ChainEndpoint is the relevant one. Importantly, we're re-architecting Hermes to provide better support for relaying on non-SDK networks (https://github.com/informalsystems/ibc-rs/pull/2478).
What is the network you're looking to support?

Technically your chain doesn't need to be built on the Cosmos SDK to work with hermes; it only needs to expose the same gRPC endpoints as the SDK. You can look at basecoin for an example of how that might be implemented.

Technically your chain doesn't need to be built on the Cosmos SDK to work with hermes; it only needs to expose the same gRPC endpoints as the SDK. You can look at basecoin for an example of how that might be implemented.

basecoin is the application built on tendermint. Hermes needs rpc_addr which is exposed by tendermint.

basecoin is the application built on tendermint.

That's right.

Hermes needs rpc_addr which is exposed by tendermint.

That's correct, but insufficient. It also needs some gRPC endpoints, which are exposed by the application (e.g. basecoin). So essentially you will need to implement the rpc endpoints coming from tendermint as well as some additional gRPC endpoints exposed directly by the application.


tfcompile AOT with quantization

Does the tfcompile have capability of quantization?
Is tfcompile able to process on input the quantized models?

@peter197321
Can you please refer this link and see if it helps you.
This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there and provide better and faster support for such issues. Thanks!

I think it does not help since AOT compilation works for for x86-64 CPU only as indicated in AOT (Ahead-of-time) compilation for CPU with tfcompile

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


Create icons specific to HAX that describe platform operations accurately

#485 #486  expresses this as does. If we had some additional custom icons this wouldn't be a big deal.

added a lot of material icon design variants and made existing ones more expressive. This is a step toward where we need to go in another round of auditing


Build wal-g for aarch64

c094867a74d08093cbd7b4373eebd94a9a820608 added aarch64 (arm64) support for everything except wal-g, which does not ship aarch64 binaries in its releases.
We can, however, build those from source: https://github.com/wal-g/wal-g/blob/master/docs/PostgreSQL.md#installing
It's not clear if only building aarch64 from source, and using the pre-built binaries for amd64, is preferred, or if we should build from source on all architectures.  The pre-built binaries are convenient and likely slightly faster to install, but consistency (especially since we don't run CI for aarch64) says we should build from source everywhere.

It's possible this should be a release blocker, so we can claim full aarch64 support in 5.0 with no caveats.

I think building from source for all platforms makes sense if we're building it for some, but it may also be worth opening an issue with wal-g upstream asking for aarch64 support, since that's probably the best long-term solution.

https://github.com/wal-g/wal-g/issues/863 for wal-g making arm64 binary builds.


Card of Crafted with ♥ using no super responsive

Again me xd, I found a bug in the Crafted with ♥ card, if you put more information than originally proposed it breaks the design in certain devices.

 ♥

    <a
      href="https://softdone.com.mx/"
      target="_blank"
      class="text-purple-500 hover:text-purple-700 transition-colors">
    Softdone</a
    > © 2023 · Crafted with ♥ using
     <a
      href="https://astro.build/"
      target="_blank"
      class="text-purple-500 hover:text-purple-700 transition-colors">Astro </a> Inspired by the portfolio created by

      <a
      href="https://www.linkedin.com/in/gianmarco-cavallo/"
      target="_blank"
      class="text-purple-500 hover:text-purple-700 transition-colors"> Gianmarco Cavallo. </a>

  </p>
</Card>

This is the code I tried to use, as you can see it's nothing out of the ordinary, on PC and Android it works as it should but on some devices the excess of information breaks the design.
This is what it looks like without the excess of information

Indeed, the 2 problems were solved, thank you very much for everything:)