No supported version of EME detected on this user agent

Hi, I'm working on the newest version of Microsoft Edge and I also tested this on Google Chrome but I still get the same error and so didn't manage to play a video on my website with Dash.js. I don't know how to fix this because I read in the explanation that  these browsers normally support the W3C Media Source Extensions (MSE).

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

ID: 7fee3830-8d03-9d6d-9c30-0ede9933a459
Version Independent ID: 794397d3-b604-0c63-50b0-6c23afe58a21
Content: Embedding a MPEG-DASH Adaptive Streaming Video in an HTML5 Application with DASH.js
Content Source: articles/media-services/previous/media-services-embed-mpeg-dash-in-html5.md
Service: media-services
GitHub Login: @Juliako
Microsoft Alias: juliako

@Justien22 , Thanks for raising the issue. I will investigate and update you.

@Justien22 , Could you please provide a test sample URL that would be helpful.
Here is a test URL
https://eventgridmediaservice-usw22.streaming.media.azure.net/fb050430-31bc-4f2d-9061-e004822be21b/manifest.ism/manifest(format=mpd-time-cmaf).mpd
and it works in this test DASH.js player:
http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html

@Justien22 , Please let me know if you have further queries.

Thank you for commenting on this issue. As I see now I was also working with the wrong stream. I was still using an RTSP stream from our program. We are currently looking if we would do the conversion to MPEG-DASH/HLS with FFMPEG or Wowza. So I let you know if we still have problems once we figured that out.

@DashleenBhandari-MSFT , Thank you for commenting on this issue. As I see now I was also working with the wrong stream. I was still using an RTSP stream from our program. We are currently looking if we would do the conversion to MPEG-DASH/HLS with FFMPEG or Wowza. So I let you know if we still have problems once we figured that out.

@Justien22 , Thanks for the update. Sure you can let me know if you have any concerns. Shall I proceed with the closure of the issue for now? If you need any assistance we can reopen the issue.

That's good for me. I let you know then.

Van: DashleenBhandari-MSFT<EMAIL_ADDRESS>verzonden: woensdag 25 maart 2020 17:25
Aan: MicrosoftDocs/azure-docs
Cc: Justien22; Mention
Onderwerp: Re: [MicrosoftDocs/azure-docs] No supported version of EME detected on this user agent (#50658)
@Justien22https://github.com/Justien22 , Thanks for the update. Sure you can let me know if you have any concerns. Shall I proceed with the closure of the issue for now? If you need any assistance we can reopen the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/50658#issuecomment-603940929, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AO43PT7QXDDUY5JF7V3KM7DRJIV7LANCNFSM4LRIAZFQ.

@Justien22 , Thanks for the update. I will proceed with the closure.


No such file or directory: 'sbatch'

Hi, I am trying to reproduce your results. I setup the conda env as described in Readme, and tried the data collection command provided in readme:
python tools/run_slurm.py --partition 1 --cpus 12 --mem 32G --job-name ml10-dataset --entry-point scripts/metaworld/collect_policy_dataset.py --arguments benchmark=ml10 tasks-per-env=25 cross-env-ep=10 within-env-ep=25 expert-ep=15 random-ep=2 epsilon=0.1 num-workers=10 noise-type=gaussian path=datasets/mw
It gives the following error:
Launching job with slurm configuration: /tmp/job_po5r2xu8.sh Traceback (most recent call last):   File "tools/run_slurm.py", line 121, in <module>     proc = subprocess.Popen(["sbatch", slurm_file])   File "/home/zj/anaconda3/envs/few-shot-pref-rl/lib/python3.8/subprocess.py", line 858, in __init__     self._execute_child(args, executable, preexec_fn, close_fds,   File "/home/zj/anaconda3/envs/few-shot-pref-rl/lib/python3.8/subprocess.py", line 1704, in _execute_child     raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'sbatch'
How can I fix this? Am I missing any packages? Thanks.

Hi!
Thanks for your interest in our work. The command listed is designed for use with a SLURM compute cluster. It seems like you aren't using SLURM.
Please try replacing tools/run_slurm.py with tools/run_local.py. This repo inherits from an older version of research lightning. You can read more about the slurm launcher there.

Thanks for your quick response! run_local seems to work, but another error occurs when I run the following command:
python tools/run_local.py  --cpus 1   --entry-point scripts/metaworld/collect_policy_dataset.py --arguments benchmark=ml10 tasks-per-env=25 cross-env-ep=10 within-env-ep=25 expert-ep=15 random-ep=2 epsilon=0.1 num-workers=10 noise-type=gaussian path=datasets/mw
It gives:
Traceback (most recent call last):   File "scripts/metaworld/collect_policy_dataset.py", line 254, in <module>     collect_dataset(   File "scripts/metaworld/collect_policy_dataset.py", line 141, in collect_dataset     src_env, policy = sample_policy(benchmark, train=train, env_name=None)   File "scripts/metaworld/collect_policy_dataset.py", line 88, in sample_policy     env.set_task(Task(env_name=env_name, data=pickle.dumps(data)))   File "/data3/zj/few-shot-preference-rl/src/metaworld/metaworld/envs/mujoco/sawyer_xyz/sawyer_xyz_env.py", line 162, in set_task     assert isinstance(self, data['env_cls']) AssertionError
I suspect it might be related to the version of Meta-World, as it gets updated frequently. Can you check the Meta-World commit you use for your codes?

Hi!
You can fix the error by following the metaworld setup instructions in the README. Specifically, the code doesn't work because ML10 has a mismatch between the environment names used and the actual environment classes.
In lib/python3.11/site-packages/metaworld/envs/mujoco/env_dict.py under ML10 at around line 391 change ('button-press-topdown-v2', SawyerButtonPressEnvV2) to ('button-press-topdown-v2', SawyerButtonPressTopdownEnvV2). This makes sure ML10 uses the topdown button press env, which is aligned with the name, and also ensures that we do not train on a test environment.

Thanks a lot. Can't believe Meta-World makes such a mistake :).


[#1846] Fixed open bot dialog url validation a11y issue.

#1846
===

Removed ARIA alerts for Bot URL validation
Added functionality to <AutoComplete /> component so that it properly narrates any error messages

Coverage decreased (-0.01%) to 65.917% when pulling c8a8884dbd1a26f14aad6532944d44deba24360c on toanzian/acc-#1846 into c53ac1dbf2f746af1026725f6bcdb4ba906bb3b9 on master.


Array update speed

🐛 Bug Report
I thought that since immer updates arrays directly, it would be more or less as performant as updating the array directly, but this is not at all the case.
I simulated the pattern "remove the nth element of an array". Code pasted later. The results on my machine are:
filter: 186.852ms
immer: 15.871s
splice: 50.453ms

immer seems to be 84 slower than the standard way to remove the nth element of an array in a mutable way (which is looping throught all the elements to remove the given index). This, itself, is not an efficient method, yet in my example is only ~4 times slower then directly using Array.splice()
Link to repro
import {produce} from "immer"

const arr = Array.from({length: 10_000_000}, (i, idx) => ({n: idx}));

console.time('filter');
let remove10_000nth = arr.filter(((i, idx) => idx !== 10_000));
console.timeEnd('filter');

console.time('immer');
remove10_000nth = produce(arr, draft => {
  draft.splice(10_000, 1)
})
console.timeEnd('immer');

console.time('splice');
arr.splice(10_000, 1);
console.timeEnd('splice');

Environment

Immer version: 10.0.4
[x] I filed this report against the latest version of Immer
[ ] Occurs with setUseProxies(true)
[ ] Occurs with setUseProxies(false) (ES5 only)

Note that Immer also deeply freezes the output, so that is probably a large
portion of your cost here. Might want to play with disabling that, or
freezing arr and the elements inside it first.
On Wed, Apr 17, 2024 at 10:23 AM pistacchio @.***>
wrote:

🐛 Bug Report
I thought that since immer updates arrays directly, it would be more or
less as performant as updating the array directly, but this is not at all
the case.
I simulated the pattern "remove the nth element of an array". Code pasted
later. The results on my machine are:
filter: 186.852ms
immer: 15.871s
splice: 50.453ms
immer seems to be 84 slower than the standard way to remove the nth
element of an array in a mutable way (which is looping throught all the
elements to remove the given index). This, itself, is not an efficient
method, yet in my example is only ~4 times slower then directly using
Array.splice()
Link to repro
import {produce} from "immer"
const arr = Array.from({length: 10_000_000}, (i, idx) => ({n: idx}));
console.time('filter');let remove10_000nth = arr.filter(((i, idx) => idx !== 10_000));console.timeEnd('filter');
console.time('immer');remove10_000nth = produce(arr, draft => {
draft.splice(10_000, 1)})console.timeEnd('immer');
console.time('splice');arr.splice(10_000, 1);console.timeEnd('splice');
Environment

Immer version: 10.0.4
I filed this report against the latest version of Immer
Occurs with setUseProxies(true)
Occurs with setUseProxies(false) (ES5 only)

—
Reply to this email directly, view it on GitHub
https://github.com/immerjs/immer/issues/1117, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBDAET3ZSVAKMIFCNEDY5YWRZAVCNFSM6AAAAABGK2G46WVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2DONRYHAZDEMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Try to add Unipungue University

This is an attempt to add Unipungue University.
The domain was down for a few days but now is active so it should pass the first validation stage.

@MaizerGomes First stage of verification passed, official domain is unipungue.ac.mz as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@MaizerGomes I have to close this request without merging, because you requested to add a non-existent domain to this repository: ;; connection timed out; no servers could be reached Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Thank You

This looks like it is something that will solve some pain points with building complex container images.
I have two suggestions that may have already been considered so feel free to ignore them:

This would make more sense implemented as a Docker frontend rather than creating another CLI that then calls docker. Given that this project only adds a small amount of additional syntax, I imagine interacting with Docker's LLB as a more efficient approach. I just discovered this possibility myself.
RUN --mount=type=cache support. It is not clear if this is possible when used in combination with dazzle.

I am curious if you have discovered any other similar tools / alternative OCI build tools in your research. Ansible Bender looks more composable than templating out a large Dockerfile, especially given that Ansible roles already exist for every component. However, that project does not yet have a means to specify when a layer doesn't depend on a previous layer.

This looks like it is something that will solve some pain points with building complex container images.
I have two suggestions that may have already been considered so feel free to ignore them:

This would make more sense implemented as a Docker frontend rather than creating another CLI that then calls docker. Given that this project only adds a small amount of additional syntax, I imagine interacting with Docker's LLB as a more efficient approach. I just discovered this possibility myself.

I did consider buildkits LLB functionality at the time. dazzle could use that functionality to build the individual chunks/layers instead of manually splitting out Docker files. While this does feel cleaner than the current way (and would be faster due to buildkit's parallel builds), it's also more complex and harder to debug. At the moment, as user of dazzle you can get a really good understanding of what happens just by looking at the Dockerfiles dazzle generates during the build.

RUN --mount=type=cache support. It is not clear if this is possible when used in combination with dazzle.

That is a good point which I hadn't thought about or experimented with.

I am curious if you have discovered any other similar tools / alternative OCI build tools in your research. Ansible Bender looks more composable than templating out a large Dockerfile, especially given that Ansible roles already exist for every component. However, that project does not yet have a means to specify when a layer doesn't depend on a previous layer.

I hadn't come across a tool that specifically builds independent layers. Buildpacks do something similar but specifically for building/deploying code rather than generic images.
W.r.t. to templating out of a large Dockerfile: initially I just tried to "recombine" individual images by factoring out a shared base image. This way one could build each layer from their own Dockerfile. This did prove quite cumbersome and difficult to handle though (e.g. making sure that all images were built from the exact same version of alpine:latest).


Add modules to capture available workflow metadata to pass on to the report

There are a few things here that look relevant:
https://www.nextflow.io/docs/latest/metadata.html#runtime-metadata

The prepare main report now does this


Files opened through harpoon aren't added to the buffer list

Hi, great plugin! I've updated to version 2 but got this issue.
The problem.
When opening files directly through Harpoon (added from a previous session), the files aren't added to the nvim buffers list.
To reproduce:

Config:

local harpoon = require("harpoon")
harpoon:setup()

Test scenario:

$ mkdir new_folder
$ cd new_folder
$ echo "file1 content" >> file1; echo "file2 content" >> file2; echo "file3 content" >> file3
$ nvim file1 file2 file3

The buffer list:
:buffers
1 %a   "file1"                        line 1
2      "file2"                        line 0
3      "file3"                        line 0

Add each file to the harpoon list:

:lua require("harpoon"):list()append()
:bn
:lua require("harpoon"):list()append()
:bn
:lua require("harpoon"):list()append()

Close and open a new nvim session:

:q
$ nvim

Go to any file through Harpoon:

:lua require("harpoon"):setup():list():select(2)

Check the buffer list:

:buffers

Expected behaviour:
The output at step 5 should be:
:buffers
1 %a   "file2"                        line 1

Thanks!

info
$ nvim --version
nvim --version
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/x86_64-pc-linux-gnu-gcc  -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wvla -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -fno-common -Wno-unused-result -Wimplicit-fallthrough -fdiagnostics-color=always -fstack-protector-strong -DUNIT_TESTING -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/usr/include/luajit-2.1 -I/usr/include -I/usr/include -I/var/tmp/portage/app-editors/neovim-0.9.4/work/neovim-0.9.4_build/src/nvim/auto -I/var/tmp/portage/app-editors/neovim-0.9.4/work/neovim-0.9.4_build/include -I/var/tmp/portage/app-editors/neovim-0.9.4/work/neovim-0.9.4_build/cmake.config -I/var/tmp/portage/app-editors/neovim-0.9.4/work/neovim-0.9.4/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include

archivo "vimrc" del sistema: "/etc/vim/sysinit.vim"
predefinido para $VIM: "/usr/share/nvim"

Run :checkhealth for more info

harpoon 0.02ms start
        dir    $XDG_DATA_HOME/nvim/lazy/harpoon
        url    https://github.com/ThePrimeagen/harpoon
        branch harpoon2
        commit c24c711

i am going to get logging to also log out adding to lists because i don't think i can repro this one.  but the logging isn't quite ready yet, will be ready shortly

ok, made some logger updates.  could you please update to the latest harpoon2 and perform the exact actions expected and then call :lua require("harpoon").logger:show() and copy that log over here?
we may need to iterate on this

ok, made some logger updates. could you please update to the latest harpoon2 and perform the exact actions expected and then call :lua require("harpoon").logger:show() and copy that log over here?
we may need to iterate on this

Done:
config_default#select { context = { col = 0, row = 1 }, value = "file2" } __harpoon_files

I think I know the problem and the logs don't help :)

Fixed by #392


Fix test_libvterm

Now there are 2 problem about test_libvterm:

Cannot build by clang with coverage option on Linux

DSO are built by clang but shared library is by gcc so llvm_gcda_*
(hidden symbols in libclang_rt) are unresolved in the library and
then the linkage error occurs at building the executable.

Cannot run on macOS

In run-test.pl, set "LD_LIBRARY_PATH" to ".libs" in order to link
with the shared library at invoking the executable, but macOS doesn't
interpret it; macOS uses "DYLD_LIBRARY_PATH".
Can solve them by linking a static library instead of shared.
I think we only have to test it as a static library, since Vim uses libvterm as embedded objects, not as a shared library.

The Appveyor failure seems unrelated.
The libvterm/Makefile doesn't work on FreeBSD, it uses gmake syntax.  Perhaps we can test of "uname" does not match "BSD"?

I added check if $(MAKE) is GNU make at running test_libvterm.

Strangely Appveyor still fails in the same way.  Don't see any relation with this PR.
Also relevant for libvterm @leonerd


fix(snap): make secretstore connect hook idempotent

Fixes #3814 by copying the tokens instead of moving them away from the origin.
In addition, it improves logging:

The list of directories are now fully printed (not just the first line)
Failed connect operation returns an error (when token not present because edgex-go doesn't provide it or someone has remove it)

Signed-off-by: Farshid Tavakolizadeh<EMAIL_ADDRESS>

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[x] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions
See #3814 to check how it used to work.
Using a locally-build edgexfoundry, so the plug doesn't connect automatically.
# install device-camera
$ sudo snap install edgex-device-camera --edge
edgex-device-camera (edge) 2.0.2-dev.4 from Canonical✓ installed
# connect the plug
$ sudo snap connect edgexfoundry:edgex-secretstore-token edgex-device-camera:edgex-secretstore-token
# check that token is copied
$ sudo ls /var/snap/edgex-device-camera/current/device-camera/secrets-token.json
/var/snap/edgex-device-camera/current/device-camera/secrets-token.json
# remove device-camera
$ sudo snap remove edgex-device-camera
edgex-device-camera removed

# install device-camera again
$ sudo snap install edgex-device-camera --edge
edgex-device-camera (edge) 2.0.2-dev.4 from Canonical✓ installed
# connect the plug again
$ sudo snap connect edgexfoundry:edgex-secretstore-token edgex-device-camera:edgex-secretstore-token
# check that token is copied
$ sudo ls /var/snap/edgex-device-camera/current/device-camera/secrets-token.json
/var/snap/edgex-device-camera/current/device-camera/secrets-token.json

Test error handling:
# disconnect the plug
$ sudo snap disconnect edgexfoundry:edgex-secretstore-token edgex-device-camera:edgex-secretstore-token
# remove the token manually
$ sudo rm -v /var/snap/edgexfoundry/current/secrets/device-camera/secrets-token.json
removed '/var/snap/edgexfoundry/current/secrets/device-camera/secrets-token.json'
# connect the plug
$ sudo snap connect edgexfoundry:edgex-secretstore-token edgex-device-camera:edgex-secretstore-token
error: cannot perform the following tasks:
- Run hook prepare-plug-edgex-secretstore-token of snap "edgexfoundry" (run hook "prepare-plug-edgex-secretstore-token": <13>Nov 12 19:54:21 root: edgex-secretstore-token: could not find token for device-camera)

Look at the journals:
$ journalctl -n 100 -o cat | grep edgex-secretstore-token:
edgex-secretstore-token: prepare SLOTDIRS=[ "$SNAP_DATA/device-camera" ]
edgex-secretstore-token: prepare device-camera
edgex-secretstore-token: copying /var/snap/edgexfoundry/x1/secrets/device-camera/secrets-token.json to /tmp/device-camera-secrets-token.json
edgex-secretstore-token: connect SLOTDIRS=[ "$SNAP_DATA/device-camera" ]
edgex-secretstore-token: connect device-camera
edgex-secretstore-token: moving /tmp/device-camera-secrets-token.json to /var/snap/edgexfoundry/x1/secrets/device-camera/secrets-token.json
...
edgex-secretstore-token: prepare SLOTDIRS=[ "$SNAP_DATA/device-camera" ]
edgex-secretstore-token: prepare device-camera
edgex-secretstore-token: could not find token for device-camera

New Dependency Instructions (If applicable)

Codecov Report

Merging #3815 (32e516a) into main (f7c7132) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #3815   +/-   ##
=======================================
  Coverage   45.77%   45.77%
=======================================
  Files         112      112
  Lines        9640     9640
=======================================
  Hits         4413     4413
  Misses       4844     4844
  Partials      383      383

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 f7c7132...32e516a. Read the comment docs.

Can you please add a "Fixes: #3814" to the body of your commit message?

Done. I amended the commit message.


PSA Add proposed method to associate metadata with packets

This commit only updates 2 of the example programs so that they
compile correctly, not all of them.  The others can be updated in a
later commit.  The changes to the others would be pretty much the same
as the changes made to psa-example-counters.p4 in this commit.
This includes some proposed updates to the section on cloning, as
well, but not yet for the resubmit and recirculate sections, which
also need updating.
The example program psa-example-bridged-metadata.p4 should become an
example somewhere in the document of doing all of these operations in
the same program, with metadata associated on all packet paths that
support it.

@tomrodeheffer I expect you may want to look at this, too, but not able to add you as a reviewer on Github.

@cc10512 I had a face-to-face meeting with @vgurevich about these changes, and I believe he is OK with them.  If he can approve them, and you have no objections, perhaps we are ready to merge these in?


Next filecoin module server/client impl

Will depend on new code by @jsign

Looks like the reputation module is about ready for this.


Reformat the code base to remove pinned beta-version black dependency

Right now, we have a version pin of black==20.8b1. Upon official release, the backwards compatibility was broken with previous versions. Since then, however, black has guaranteed backwards compatibility. So we should make the leap, reformat ARMI, and jump to black v23+

Actually, I think we SHOULD still pin the version of black. But just pin it to something much more modern.

Notes on this: v22 has ~50 file diffs, v23 has ~100. pinning to v22 is "less work" if we do this to more repos. (Many repos have no update at all!)

The usual approach in a software company for things like this would fall into two scenarios:

Constantly update the version of dependency to the latest-and-greatest.
Occasionally, say once a year, go through and updated the version of this dependency to near latest-and-greatest.

Now, software projects with a large direct-import user base rarely do (1) and I caution against it.
I like the idea of (2) going through and (say once a year) trying to update the version of black to near  latest-and-greatest.

I wholeheartedly agree. I think if we update to v22, we can make it happen whenever because the internal impact is minimal (the 40ish ARMI files plus 40 more across 10 repos). If we do v23, the impact is pervasive internally so we'd need to time it during a quiet dev period.

We have made our decision and pinned black to a more recent version:
https://github.com/terrapower/armi/blob/360791847227df3f3a337a996ef561e00f846a09/setup.py#L83
So, we are closing this ticket for now.


prometheus_tsdb_wal_corruptions_total is missing in new wal implementation

After updating to prometheus 2.5 I miss prometheus_tsdb_wal_corruptions_total metric.
Looks like it is not available in the new wal:
https://github.com/prometheus/tsdb/blob/master/wal/wal.go#L200-L219

Good catch Dima!


F39/F30/G30/I01/F80 Fingerprints - 404 errors (5 vehicles)

Describe the issue
New install, experiencing limited access with numerous "Unavailable" or "Unknown" messages on features on most vehicles. X2 seems to be the only vehicle fully supported.
Only interested in integrating I3s features to Home Assistant.
Home Assistant version
Home Assistant 0.110.6, fresh install
pip3 install --upgrade bimmer_connected
Screenshots

Connected Drive website

[x] I can still successfully login to the BMW Connected Drive website and the car status is available there.
[x] I have Connected Drive enabled for my vehicles.

Your config.yaml
bmw_connected_drive:
  name_of_car:
    username: USERNAME_BMW_CONNECTED_DRIVE
    password: PASSWORD_BMW_CONNECTED_DRIVE
    region: north_america

Number of cars
18 i3s (I01/ID5)
17 530 (G30/ID5)
18 X2 ( F39/ENTRYNAV2)
18 M3 (F80/ID5)
18 M3 (F80/ID5)

[x] I have 5 vehicles linked to the Connected Drive account.

Output of bimmer_connected fingerprint
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.account:getting new oauth token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:bimmer_connected.account:got new token [TOKEN] with expiration date 2020-06-09 08:03:06.105282
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[VEHICLE VIN]/status?deviceTime=2020-06-09T07%3A03%3A08&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[VEHICLE VIN]/status?deviceTime=2020-06-09T07%3A03%3A09&dlat=0.0&dlon=0.0 HTTP/1.1" 404 None
DEBUG:bimmer_connected.account:The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).
DEBUG:bimmer_connected.account:{"error":{"code":500,"description":"(SmartPhoneUtil-A-2012) Ressource not found. No status available for VIN [VEHICLE VIN]"}}
Traceback (most recent call last):
  File "/usr/bin/bimmerconnected", line 10, in <module>
    sys.exit(main())
  File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 223, in main
    args.func(args)
  File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 116, in fingerprint
    account.update_vehicle_states()
  File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 251, in update_vehicle_states
    car.update_state()
  File "/usr/lib/python3.8/site-packages/bimmer_connected/vehicle.py", line 72, in update_state
    self.state.update_data()
  File "/usr/lib/python3.8/site-packages/bimmer_connected/state.py", line 128, in update_data
    response = self._account.send_request(
  File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 170, in send_request
    raise IOError(msg)
OSError: The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).

status_0.txt
vehicles_0.txt

Another thing that came to me while looking through the list of vehicles:
Is the VIN that throws the NOT_FOUND exception your F30 (so second car in vehicles) and does not support the connected drive services fully? AFAIK the 2012 F30 still hasa  CCC and no NBT headunit, right?
If possible, could you remove the F30 from you ConnectedDrive account and test this?
Maybe we need to catch an exception gracefully somewhere or decide based on the data available in vehicles not to check the device status.

Did it work before? Or did you just try it for the first time?
In general, the BMW APIs are not totally stable, I do get regular 404 or 403s as well. So please try out a couple of times or wait a day or two (what the HA component already does).
Additionally, there is a new version of the API (at least for rest_of_world) which could also cause issues. However we don't have a confirmation that it works for north_america as well.
If you want, you can try out our beta for the new API using pip3 install bimmer-connected==<IP_ADDRESS>b1 and then try running the fingerprint again.
Another thing that came to me while looking through the list of vehicles:
Is the VIN that throws the NOT_FOUND exception your F30 (so second car in vehicles) and does not support the connected drive services fully? AFAIK the 2012 F30 still hasa CCC and no NBT headunit, right?
If possible, could you remove the F30 from you ConnectedDrive account and test this?
Maybe we need to catch an exception gracefully somewhere or decide based on the data available in vehicles not to check the device status.

Thanks for the quick reply!
I installed the original script a couple of weeks ago and have been troubleshooting in case it was something on my end, even reinstalling/restarting Home Assistant multiple times. What's weird is that the X2 seems to be fully working with ENTRYNAV2 (lower end NAV) and ID5 systems are crippled as seen in the screenshots. Unfortunately, I cannot remove vehicles from the ConnectDrive account.
I'm running <IP_ADDRESS>b1 currently and cannot get a fingerprint or status_0.txt  or vehicles_0.txt output.
<IP_ADDRESS>b1 log output and status screenshots below.
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.account:getting new oauth token
DEBUG:bimmer_connected.account:getting new GCDM token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): customer.bmwgroup.com:443
DEBUG:urllib3.connectionpool:https://customer.bmwgroup.com:443 "POST /gcdm/usa/oauth/token HTTP/1.1" 200 None
DEBUG:bimmer_connected.account:got new GCDM token Q8dAhAgxlLVmpu3m4HFmDYYwa9AaVxVX
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): myc-profile.bmwusa.com:443
DEBUG:urllib3.connectionpool:https://myc-profile.bmwusa.com:443 "GET /api/Account/ExternalLogin?provider=GCDM&response_type=token&redirect_uri=https%3A%2F%2Fmyc-profile.bmwusa.com%2F&client_id=self HTTP/ 302 0
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://api.bmwgroup.us:443 "GET /gcdm/protected/%7BclientId%7D/%7BclientVariantId%7D/customers/userAccount?response_type=code&client_id=[=REMOVED=]&rect_uri=https%3A%2F%2Fmyc-profile.bmwusa.com%2Foauth_callback.html&scope=authenticate_user&state=[=REMOVED=] HTTP/1.1" 404 None
DEBUG:urllib3.connectionpool:https://myc-profile.bmwusa.com:443 "GET /oauth_callback.html?scope=authenticate_user&refresh=[=REMOVED=]&state=[=REMOVED=] HTTP/1.1" 400 0
DEBUG:urllib3.connectionpool:https://myc-profile.bmwusa.com:443 "GET /api/Account/ExternalLogin?provider=GCDM&response_type=token&redirect_uri=https%3A%2F%2Fmyc-profile.bmwusa.com%2F&client_id=self HTTP/ 302 0
DEBUG:urllib3.connectionpool:https://api.bmwgroup.us:443 "GET /gcdm/protected/%7BclientId%7D/%7BclientVariantId%7D/customers/userAccount?response_type=code&client_id=d766b537-a654-4cbd-a3dc-0ca5672d7f8d&rect_uri=https%3A%2F%2Fmyc-profile.bmwusa.com%2Foauth_callback.html&scope=authenticate_user&state=[=REMOVED=] HTTP/1.1" 404 None
Traceback (most recent call last):
File "/usr/bin/bimmerconnected", line 10, in
sys.exit(main())
File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 226, in main
args.func(args)
File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 113, in fingerprint
account = ConnectedDriveAccount(args.username, args.password, get_region_from_name(args.region),
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 61, in init
self._get_vehicles()
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 264, in _get_vehicles
self._get_oauth_token()
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 123, in _get_oauth_token
self._oauth_token = oauth_tokens['access_token']
KeyError: 'access_token'

Ok, then please go back to the non-beta version:
pip3 uninstall bimmer_connected
pip3 install bimmer_connected

I will try to see if I come up with a better error handling for this (maybe this weekend) so it doesn't stop at the first error but ignores it an continues.

Ok, will give this a try tonight before reverting and follow up. Thanks!

My L231entry in account.py was a bit different than what you are listing, so uninstalled <IP_ADDRESS>b1 and went back to last version. If there's anything you'd like me to test, let me know.

Sorry for being clear: the changes were supposed to go to the current stable version, so the one you downgraded to.

Added the changed lines @ L231. Here's the fingerprint log, no status_0.txt or vehicles_0.txt output.
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.account:getting new oauth token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:bimmer_connected.account:got new token [=REMOVED=] with expiration date 2020-06-12 19:49:00.363373
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[= VIN REMOVED=]/status?deviceTime=2020-06-12T18%3A49%3A06&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[= VIN REMOVED=]/status?deviceTime=2020-06-12T18%3A49%3A07&dlat=0.0&dlon=0.0 HTTP/1.1" 404 None
DEBUG:bimmer_connected.account:The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).
DEBUG:bimmer_connected.account:{"error":{"code":500,"description":"(SmartPhoneUtil-A-2012) Ressource not found. No status available for [= VIN REMOVED=]"}}
Traceback (most recent call last):
File "/usr/bin/bimmerconnected", line 10, in
sys.exit(main())
File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 223, in main
args.func(args)
File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 116, in fingerprint
account.update_vehicle_states()
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 254, in update_vehicle_states
car.update_state()
File "/usr/lib/python3.8/site-packages/bimmer_connected/vehicle.py", line 72, in update_state
self.state.update_data()
File "/usr/lib/python3.8/site-packages/bimmer_connected/state.py", line 128, in update_data
response = self._account.send_request(
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 170, in send_request
raise IOError(msg)
OSError: The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).

Please try to remove the break in account.py#L171 as well.
Again sorry, this is being scratched on the go ;)

break removed in account.py
Not sure if this matters or not, but the only VIN being polled is only the X2, I don't see the i3 VIN listed anywhere in the log.
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.account:getting new oauth token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.                                                                                us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/to                                                                                ken HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.                                                                                us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/to                                                                                ken HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.                                                                                us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:bimmer_connected.account:got new token [=token removed=] with expiration date 2020-06-13 13:37:28.293474
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[=VIN REMOVED=]/status?deviceTime=2020-06-13T12%3A37%3A39&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[=X2 VIN REMOVED=]/status?deviceTime=2020-06-13T12%3A37%3A39&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/WBXYJ5C30JEF72408/status?deviceTime=2020-06-13T12%3A37%3A39&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/WBXYJ5C30JEF72408/status?deviceTime=2020-06-13T12%3A37%3A39&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/WBXYJ5C30JEF72408/status?deviceTime=2020-06-13T12%3A37%3A39&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[=X2 VIN REMOVED=]/status?deviceTime=2020-06-13T12%3A37%3A39&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[=X2 VIN REMOVED=]/status?deviceTime=2020-06-13T12%3A37%3A44&dlat=0.0&dlon=0.0 HTTP/1.1" 404 None
DEBUG:bimmer_connected.account:The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).
DEBUG:bimmer_connected.account:{"error":{"code":500,"description":"(SmartPhoneUtil-A-2012) Ressource not found. No status available for [=X2 VIN REMOVED=]"}}
Traceback (most recent call last):
File "/usr/bin/bimmerconnected", line 8, in
sys.exit(main())
File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 223, in main
args.func(args)
File "/usr/lib/python3.8/site-packages/bimmer_connected/cli.py", line 116, in fingerprint
account.update_vehicle_states()
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 253, in update_vehicle_states
car.update_state()
File "/usr/lib/python3.8/site-packages/bimmer_connected/vehicle.py", line 72, in update_state
self.state.update_data()
File "/usr/lib/python3.8/site-packages/bimmer_connected/state.py", line 128, in update_data
response = self._account.send_request(
File "/usr/lib/python3.8/site-packages/bimmer_connected/account.py", line 170, in send_request
raise IOError(msg)
OSError: The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).

The try/except block is still there?
Then I need to look through it fully but cannot give you an eta.
But I am pretty sure I know where the issue comes from 👍

Maybe I'm misunderstanding a step? Here's a snippet of account.py

That looks how I imagined. Not sure why it doesn't work as expected...

Could you please revert the changes?
Looking at your first logs and the code thoroughly it has nothing to do with the list of vehicles itself (i.e. vehicles_0.txt) but the vehicle state itself. Therefore we need the same logic in a different place.
Could you please try to change your state.py according to this: https://github.com/bimmerconnected/bimmer_connected/compare/master...rikroe:fix/exit_unsupported_vehicles
and let me know if that works for you?

bimmer_connected uninstalled and reinstalled. Changes made in state.py
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.account:getting new oauth token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "POST /gcdm/oauth/token HTTP/1.1" 200 None
DEBUG:bimmer_connected.account:got new token [TOKEN REMOVED] with expiration date 2020-06-14 11:35:59.911916
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[X2 VIN REMOVED]/status?deviceTime=2020-06-14T10%3A36%3A01&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[335 VIN REMOVED]/status?deviceTime=2020-06-14T10%3A36%3A02&dlat=0.0&dlon=0.0 HTTP/1.1" 404 None
DEBUG:bimmer_connected.account:The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).
DEBUG:bimmer_connected.account:{"error":{"code":500,"description":"(SmartPhoneUtil-A-2012) Ressource not found. No status available for VIN [335 VIN REMOVED]"}}
DEBUG:bimmer_connected.state:Unable to retrieve vehicle status from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[530 VIN REMOVED]/status?deviceTime=2020-06-14T10%3A36%3A03&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[i3 VIN REMOVED]/status?deviceTime=2020-06-14T10%3A36%3A04&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[M3 VIN REMOVED]/status?deviceTime=2020-06-14T10%3A36%3A05&dlat=0.0&dlon=0.0 HTTP/1.1" 404 None
DEBUG:bimmer_connected.account:The BMW Connected Drive portal returned an error: NOT_FOUND (received status code 404 and expected 200).
DEBUG:bimmer_connected.account:{"error":{"code":500,"description":"(SmartPhoneUtil-A-2012) Ressource not found. No status available for VIN [M3 VIN REMOVED]"}}
DEBUG:bimmer_connected.state:Unable to retrieve vehicle status from connected drive
DEBUG:bimmer_connected.state:requesting new data from connected drive
DEBUG:bimmer_connected.account:Old token is still valid. Not getting a new one.
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): b2vapi.bmwgroup.us:443
DEBUG:urllib3.connectionpool:https://b2vapi.bmwgroup.us:443 "GET /webapi/v1/user/vehicles/[M3 VIN REMOVED]/status?deviceTime=2020-06-14T10%3A36%3A07&dlat=0.0&dlon=0.0 HTTP/1.1" 200 None
DEBUG:bimmer_connected.state:received new data from connected drive
fingerprint of the vehicles written to /root/vehicle_fingerprint/2020-06-14_10-35-59
status_0.txt
status_1.txt
status_2.txt
status_3.txt
vehicles_0.txt

Great, that looks much better! If you're using this version in HA, you should see all relevant entities for all 4 cars except the F30.
Are you able to (un)lock/light flash/sound horn with the F30 from the BMW app?

I am using Home Assistant 0.110.6. I only have access to the i3S, the other vehicles are with other people (different locations).
Values are still listed as "unavailable" in the i3s as in the earlier screenshots. However, I am able to flash the headlights, operate locks/headlamps from the official BMW connected app.

Where did you edit the state.py? If you edited the one installed in HA's python environment, it should work.
You might need to restart HA.
However this is only a workaround until we've updated the package to PyPi.

Where did you edit the state.py? If you edited the one installed in HA's python environment, it should work.
You might need to restart HA.
However this is only a workaround until we've updated the package to PyPi.

I've restarted HA just to be sure. Using path /usr/lib/python3.8/site-packages/bimmer_connected/

Made changes to state.py in /usr/lib/python3.8/site-packages/homeassistant_cli/plugins/ and restarted HA with no changes in status.

Mhh, as I use HA Core on Docker I don't know how that works exactly for you.
I'll try to check how the changes work with the HA component tomorrow to see if we can safely use it from HA (or using a custom component as a workaround).

@gerard33 could you help us out here?
As far as I can see nothing in the HA component should break if a single vehicle does not have a state  (or rather an empty dict as state).
Is it possible to test this in HA without releasing a new version to PyPi?

I have tried to find the bimmerconnected library on my install (hassio) but can’t find it. I think (not checked) the path mentioned above is to the via pip installed version and not the one HA uses.
I think HA can indeed handle it if a vehicle doesn’t have a state.
Easiest way to test the new code is with a custom component. It’s possible to make a folder in the component folder where you place the bimmerconnected library, but guess making the code changes for that in the custom component is more work than to push a beta version to Pypi.

Appreciate the help, let me know what's needed to test on my end.

Just went ahead and installed HACS and bmw_connected_drive beta version 20200511.2 if that's any easier to troubleshoot. No change in status on i3.

Once #187 is merged and a new version of the custom component is made, you can use that version to see if the issue is fixed. The version you have used now doesn't contain the fix yet.

Please try to install release 20200617.1 of the custom component and try that out!

Small update made in the custom component. Please use version 20200617.2.

Small update made in the custom component. Please use version 20200617.2.

Installed 20200617.2 and starting to get some activity on the i3:

That looks good. The other cars are also showing data now (expect the F30)?

All seems to be working, thanks for your and @rikroe's help. Here's some screengrabs of the cards, the F30 will only show lock state. Don't worry about M3 Firmware: WBS8M9C56JXXXXXXX, as the car was totaled in an accident earlier this year. the other M3 seems to be communicating fine.
Let me know if you need any other areas tested.

Good to see it's working now. We will make a PR for HA so it get's fixed in the official integration as well.


[5.4] Update Blueprint.php to allow for utf8mb4 charset string or char index

For discussion. When using charset 'utf8mb4' on MySql you will get this error running migrations for any key or index set to string or char:
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Example database config contains:
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
Reasons: The InnoDB storage engine has a maximum index length of 767 bytes, so will reserve worst case scenario of 4 bytes per character 'utf8mb4' charset. That leaves us with 191 chars, while utf8, using 3 bytes, lets you index a maximum of 255 characters.
Warning: If you change charsets, you will first have to check that column values do not exceed the new limit.
The workaround is if you are using 'utf8mb4', set the column length in the migration.
Ex: $table->string('email', 191)->index();

:-1: for changing this.

I wanted to document the issue but I don't agree with this change either. If it  affects anyone an explanation is noted here.

Wondering how this will be tackled in the final release, migrations as of now throw error with above mentioned issue.


Models aren't easy to extend with custom columns

For example, if a new column is added to the CustomerInfo class (i.e. CustomerTitle) then there is no way of using the Kentico.Ecommerce package to access those new columns and expose them through the Customer model.
It could be useful to amend the models to set the "OriginalCustomer" value to be a protected property which can be access by classes inheriting from Customer. This would allow us to create a custom Customer model which includes our extra columns.
This pattern could be applied to the other models in the various packages.

Richard,
Thank you for your suggestion and ideas.
You are right. Current implementation (in Kentico 10 and 11) is that a model wraps an Info object and has the same default properties. This Info object is unfortunately internal readonly, so it cannot be accessed in the model extension.
We understand the limitation for customization because of this. At the same time it's important to mention that in Kentico 12, we are dropping the default models and related API in Kentico.Ecommerce integration package and also introduce new business API, universally usable in MVC and other development models.
This includes the Customer model removal. Replacement recommendation will be to use CustomerInfo object (and other direct ECommerce objects) or write your own model if needed.
We have discussed the possibilities of changing the internal Info object property protection to make it available in extended models (classes), it's still an open discussion, but because of the upcoming changes in K12 there's some voice against that.
With that being said, the ID of the object is already available, for example (in Customer model):
    public int ID => OriginalCustomer.CustomerID;

This means that it would be possible to add a custom CustomerInfo property in the extended Customer model, e.g.:
internal readonly CustomerInfo MyOriginalCustomer;   //(does not have to be internal)
... and initialize it in the constructor. Default model constructors are as follows:
    public Customer()
        : this(new CustomerInfo())
    {
    }

    public Customer(CustomerInfo originalCustomer)
    {
        if (originalCustomer == null)
        {
            throw new ArgumentNullException(nameof(originalCustomer));
        }

        OriginalCustomer = originalCustomer;
    }

Then build the custom properties for the custom fields. Value of a custom field of Info object could be get/set using GetValue/SetValue method.
The custom properties of the extended model class could be implemented e.g. this way:
    public object MyCustomerCustomProperty
    {
        get
        {
            return MyOriginalCustomer.GetValue("MyCustomerCustomFieldName");
        }
        set
        {
            MyOriginalCustomer.SetValue("MyCustomerCustomFieldName", value);
        }
    }

Anyway, due to restriction of the original model internal property access, it would be better to build the custom model using similar approach, but completely independent of the default one. At the same time, this would render the whole integration package a bit useless (as the original Customer model is used there).
If you can go with CustomerInfo object (or other base objects) alongside default models in order to read and work with your custom data, it would seem like an easiest solution until the next version makes the API tasks easier and allow you to work with the base info objects with minimal need for wrapper models.
Would your projects still benefit from the extensibility if we changed the internal info object properties access in a hotfix, i.e. make a public getter? I'm asking this with the information about dropping the models in next version in mind...
Any further comments, questions or feedback are appreciated!
Regards,
Zdenek

Hi Zdenek,
Thanks for the detailed response, appreciate the details re. the Kentico 12 API changes. Based on those I can understand why changing the current package for K11 would be less likely. We've "worked around" the issue in a similar manner as you described. We're using the Info classes directly when we need to access properties and creating a new instance of the model when we need to interact with the business APIs.
I believe it would be very helpful for projects currently in K11 to have access to the info object and to also have access in derived types. It would allow us to remove and simplify a portion of our business logic.
The key would be to make those changes whilst remaining compatible with the business APIs, primarily the APIs around the shopping cart.
Regards,
Rich

@kentico-zdenekc what was the original architectural motivation behind encapsulating the Info types behind new model types in the Kentico.Ecommerce package.
I notice this pattern repeated throughout the Kentico.* packages.
Is the goal a more DDD approach where the models have richer behavior instead of being ORM property bags like the *Info types are?
Or was the goal to slowly migrate the *Info types to being internal Kentico-as-a-framework concerns and expose a new set of model Apis that would allow the Kentico team to make *Info Api changes behind the scenes?
I'm asking because like @rshackleton my team often uses custom fields on core Kentico types (UserInfo, CustomerInfo, OrderInfo, ect...) and I want to ensure we are following patterns in alignment with Kentico's architecture goals.
Thanks!


'Project-scope' nuget.config should be 'Solution-scope'?

Hi,
I'm confused by this section of the documentation.
Shouldn't 'project level/scope' of nuget.config file supposed to be 'solution level/scope'? According to one answer on this issue, Visual Studio does not support project folder nuget.config.
Which one is correct?
I tried it with Visual Studio 2017 (15.6) with a C# .NET library project, I can only made solution scope nuget.config work, not the project scope.
Related to issue #776.

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

ID: 370d9d91-9f35-79aa-3ace-7b77436e988f
Version Independent ID: 3da4591a-3d3d-c07a-6672-97964de13b14
Content: Configuring the behavior of NuGet
Content Source: docs/consume-packages/Configuring-NuGet-Behavior.md
Product: nuget
GitHub Login: @karann-msft
Microsoft Alias: karann

Rolled up to #776


MEDIUM: Show full thread ancestry (back end, 2/2)

Note: Please see https://github.com/Expensify/App/issues/32618 for the complete problem/solution statement.  This issue only relates to implementing the back-end subset of the issue.

Back-end: (To be done by an internal engineer.)  Update OpenReport to return the the entire ancestry (i.e., the parentReportID, parentReportActionID and the reportAction to display), in the same exact format as if you had manually navigated down the tree, as far as it is shared with this user

Most of the time you will find a conversation by descending "down the tree", meaning you will already have the full ancestry locally cached by the time you get to the leaf thread conversation.
However, if you are mentioned in a branch, or switch platforms while in the middle of a chat, it's possible that you will be on a client that doesn't already know its full ancestry, so this change will ensure when you open the chat, you always populate its full ancestry.
The ancestry itself is stored using standard reportActions (exactly like you had navigated there from the top); nothing fancy:

reportActions_1: { 10: {original comment} }
reportActions_2: { 20: {child comment} }
reportActions_3: { 30: {grandchild comment} }
report_2: {parentReportID: 1, parentReportActionID: 10}
report_3: {parentReportID: 2, parentReportActionID: 20}

OpenReport should do a recursive query as far as the caller has access -- recognizing that not all users will be able to access the full ancestry (eg, if you are pulled into a thread in a private chat, and then that thread has another thread, you'll be able to see a partial ancestry -- including the original message in the private chat that was threaded in the first place -- but you won't be able to navigate back to that private chat, nor see any other chats that it might be a thread inside of).  There are likely a few ways to do this:
Perhaps use a recursive common table expression to pull all the necessary ancestor data in a single query
Alternatively, create some kind of recursive function like Report::getAncestry which accepts parentReportID to look up the parent report, and then its parent, so on recursively, adding results to the response.

I've got a Wave issue assigned now and haven't started on this. Going to remove myself to not be a blocker here. Doing a recursive SQLite query sounds pretty unique though so if nobody grabs it I'm happy to take it on and/or follow along in the reviews.

Nobody's picked it up yet, I'd love your help!

Alright I'm back in 😄

The recursive query part wasn't too bad! Turns out we already had an existing example in the code to follow. Did have a question on this one though...

if you are pulled into a thread in a private chat, and then that thread has another thread, you'll be able to see a partial ancestry

Thinking about workspace/non-workspace members for a sec... this is how I might imagine it could work and want to confirm first...
Case 1:

action: Invite anyone to a thread at any level inside a public room.
expectation: They can see the full ancestry since the top level room is public.

Case 2:

action: Invite anyone to a thread at any level inside a private room
expectation: They can only see the thread they were invited to.

Case 3:

action: Invite an off-workspace person to a thread on a workspace room
expectation: This works the same as a private room for the off workspace person. They are not workspace members and would have to be explicitly invited to the parent room in order to access the full ancestry.

Case 4:

action: Invite workspace member to a thread inside a workspace room
expectation: They can see the full ancestry as they are a policy member.

Mostly not sure about Case 3. I could see the usefulness of inviting an off-workspace person to a thread and also providing some way to optionally grant access to the entire contents of the room. But also feels like something we'd ask your permission to do first.

Update: I ran through all of these cases to see how things work now. And I'm gonna assume that the cases I laid out above is the direction we want to go in. We can always change how this works later. 👍
ETA: This change is going to take some extra time because the logic for building report action data is complex and we are still building them the PHP layer. The "easy" path to getting that to work is:

Make workspace members participants of the ancestor reports they have not joined yet, but can access.
Give them notificationPreference = 'hidden' so they do not show up in the LHN
PHP can then get the report data so it can build the reportActions we need to return to the client

The hard path would be to migrate all report actions to Auth. But this would be a very large refactor that I'm not convinced we need to do right now.

This is in review!

Auth PR Merged.
Web PR holding on the Auth deploy.


haskellPackages: fixes for pkgsCross.ucrt

Allows building a ton of non-TH libs under pkgsCross.ucrt.haskell.packages.ghc910, with TH libs triggering the same error as in #355543. But linking seems pretty broken for ucrt.haskell.packages.
pkgsCross.ucrt.haskell.packages.ghc910.hello fails with a gazillion undefined reference to what look like RTS symbols.
Preprocessing executable 'hello' for hello-<IP_ADDRESS>...
Building executable 'hello' for hello-<IP_ADDRESS>...
[1 of 1] Compiling Main             ( src/hello.hs, dist/build/hello/hello-tmp/Main.o )
[2 of 2] Linking dist/build/hello/hello.exe
/nix/store/gzr1ys4rd4mfrvlx9pl915q3km7asjaf-x86_64-w64-mingw32-binutils-2.43.1/bin/x86_64-w64-mingw32-ld: /nix/store/25nmznm3z4wpvz3l41kxzncrgjxaal9j-x86_64-w64-mingw32-ghc-9.10.1/lib/x86_64-w64-mingw32-ghc-9.10.1/lib/../lib/x86_64-windows-ghc-9.10.1/ghc-internal-9.1001.0-inplace/libHSghc-internal-9.1001.0-inplace.a(Base.o):fake:(.text+0x1b): undefined reference to `__imp_ghczmprim_GHCziTypes_True_closure'
/nix/store/gzr1ys4rd4mfrvlx9pl915q3km7asjaf-x86_64-w64-mingw32-binutils-2.43.1/bin/x86_64-w64-mingw32-ld: /nix/store/25nmznm3z4wpvz3l41kxzncrgjxaal9j-x86_64-w64-mingw32-ghc-9.10.1/lib/x86_64-w64-mingw32-ghc-9.10.1/lib/../lib/x86_64-windows-ghc-9.10.1/ghc-internal-9.1001.0-inplace/libHSghc-internal-9.1001.0-inplace.a(Base.o):fake:(.text+0x43): undefined reference to `__imp_ghczmprim_GHCziTypes_True_closure'
/nix/store/gzr1ys4rd4mfrvlx9pl915q3km7asjaf-x86_64-w64-mingw32-binutils-2.43.1/bin/x86_64-w64-mingw32-ld: /nix/store/25nmznm3z4wpvz3l41kxzncrgjxaal9j-x86_64-w64-mingw32-ghc-9.10.1/lib/x86_64-w64-mingw32-ghc-9.10.1/lib/../lib/x86_64-windows-ghc-9.10.1/ghc-internal-9.1001.0-inplace/libHSghc-internal-9.1001.0-inplace.a(Base.o):fake:(.text+0x6b): undefined reference to `__imp_ghczmprim_GHCziTypes_True_closure'
/nix/store/gzr1ys4rd4mfrvlx9pl915q3km7asjaf-x86_64-w64-mingw32-binutils-2.43.1/bin/x86_64-w64-mingw32-ld: /nix/store/25nmznm3z4wpvz3l41kxzncrgjxaal9j-x86_64-w64-mingw32-ghc-9.10.1/lib/x86_64-w64-mingw32-ghc-9.10.1/lib/../lib/x86_64-windows-ghc-9.10.1/ghc-internal-9.1001.0-inplace/libHSghc-internal-9.1001.0-inplace.a(Base.o):fake:(.text+0xb1): undefined reference to `__imp_newCAF'
/nix/store/gzr1ys4rd4mfrvlx9pl915q3km7asjaf-x86_64-w64-mingw32-binutils-2.43.1/bin/x86_64-w64-mingw32-ld: /nix/store/25nmznm3z4wpvz3l41kxzncrgjxaal9j-x86_64-w64-mingw32-ghc-9.10.1/lib/x86_64-w64-mingw32-ghc-9.10.1/lib/../lib/x86_64-windows-ghc-9.10.1/ghc-internal-9.1001.0-inplace/libHSghc-internal-9.1001.0-inplace.a(Base.o):fake:(.text+0xc3): undefined reference to `__imp_stg_bh_upd_frame_info'
...
~ 50k lines
...

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Consider updating release-cross.nix to build ucrt including haskell stuff!

Consider updating release-cross.nix to build ucrt including haskell stuff!

That's fine with me, but I wonder if we should take hydra resources for something which is still broken in several ways.

TH
building haskell executables
running executables

$ wine $(nix-build -A pkgsCross.ucrt64.hello)/bin/hello
009c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
009c:err:plugplay:enumerate_new_device Unable to install a function driver for device L"WINEBUS\\VID_845E&PID_0001\\0&0000&0&0".
009c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
009c:err:plugplay:enumerate_new_device Unable to install a function driver for device L"WINEBUS\\VID_845E&PID_0002\\0&0000&0&0".
wine: failed to open "/nix/store/r0n87ripkcrmq8qyn794gv99xvcysr5q-hello-x86_64-w64-mingw32-2.12.1/bin/hello": c0000135

On the other hand, having regression testing prevents things from getting more broken again


composer.lock

I think the best would be to commit the composer.lock together

I also think, we would add program versions, by default to composer json, like:
swiftmailer/swiftmailer: ~5.3.*
twig/twig: ~1.16.*
and so on? what do you think?
together with composer.lock it will make perfect combo, with stable packages, faster install etc
Thanks

One down: https://github.com/anomalylabs/streams/commit/fdf6ee11ce15946bd4e16afb2f24019e9169976b

PR for the second suggestion if you could?

Do it on streams and Ill merge to PyroCMS

I am trying to gather all packages pyrocms installed and gather their versions.... gimme 20mins or something like that

Perfect thank you!
Ryan Thompson
President / CEO
AnomalyLabs, Inc.
www.anomaly.is
t<PHONE_NUMBER>
m<PHONE_NUMBER>

On Jan 6, 2015, at 9:41 AM, huglester<EMAIL_ADDRESS>wrote:
I am trying to gather all packages pyrocms installed and gather their versions.... gimme 20mins or something like that
—
Reply to this email directly or view it on GitHub https://github.com/anomalylabs/streams/issues/12#issuecomment-68881615.

Omg, yesterday pcked everything and today somehow deleted... omfg:))) will retry now
but my observation are- we should require minimum required version.
And after playing with all that stuff, I figured out, that probably best is just to add 'prefer-stable' ?

Ya we are at the point where we can probably do that - keep in mind we are still on old commits of Laravel 5 and Illuminate/Html though too.
Ryan Thompson
President / CEO
AnomalyLabs, Inc.
www.anomaly.is
t<PHONE_NUMBER>
m<PHONE_NUMBER>

On Jan 7, 2015, at 2:12 AM, huglester<EMAIL_ADDRESS>wrote:
Omg, yesterday pcked everything and today somehow deleted... omfg:))) will retry now
but my observation are- we should require minimum required version.
And after playing with all that stuff, I figured out, that probably best is just to add 'prefer-stable' ?
—
Reply to this email directly or view it on GitHub https://github.com/anomalylabs/streams/issues/12#issuecomment-68990559.

I am now playing with prefer stable .. so far installer looks like this: http://pic.webas.lt/webas.lt-krnHqezYG8.png
I'all see how installer goes after that etc, if ok, I'll pull request in short time

Ok cool - ya update and make sure you can still install and all that and we’re good to go!
Thanks!
Ryan Thompson
President / CEO
AnomalyLabs, Inc.
www.anomaly.is
t<PHONE_NUMBER>
m<PHONE_NUMBER>

On Jan 7, 2015, at 2:15 AM, huglester<EMAIL_ADDRESS>wrote:
I am now playing with prefer stable .. so far installer looks like this: http://pic.webas.lt/webas.lt-krnHqezYG8.png http://pic.webas.lt/webas.lt-krnHqezYG8.png
I'all see how installer goes after that etc, if ok, I'll pull request in short time
—
Reply to this email directly or view it on GitHub https://github.com/anomalylabs/streams/issues/12#issuecomment-68990798.

@RyanThompson actuallly I am getting this: http://pic.webas.lt/webas.lt-dY4qAJ7csl.png
do you know of an issue why this could be?
Thanks

In the base composer package you need to keep laravel / illuminate html as is with the  VCS repositories as well: https://github.com/anomalylabs/streams/blob/master/composer.json#L14 https://github.com/anomalylabs/streams/blob/master/composer.json#L14
Ryan Thompson
President / CEO
AnomalyLabs, Inc.
www.anomaly.is
t<PHONE_NUMBER>
m<PHONE_NUMBER>

On Jan 7, 2015, at 2:51 AM, huglester<EMAIL_ADDRESS>wrote:
@RyanThompson https://github.com/RyanThompson actuallly I am getting this: http://pic.webas.lt/webas.lt-dY4qAJ7csl.png http://pic.webas.lt/webas.lt-dY4qAJ7csl.png
do you know of an issue why this could be?
Thanks
—
Reply to this email directly or view it on GitHub https://github.com/anomalylabs/streams/issues/12#issuecomment-68993847.

yeah, that is how it was mean to be. and I did not touch this :/
and laravel/framework - did install ok
but illuminate/html does not, still trying to figure out what could cause this...

Ryan, I can't build this using simple changes to: prefer-stable: true,
and here what I get: http://pic.webas.lt/0U7YMBwnHN.png
but the problem is not with that textarea plugin, or something, if I remove it, it stops 1 step earlier...
Maybe it is trying to do something, when ll pakcages are downloaded?
I'm quite lost here now.
I tried to apply my changes to platform using:
        {
            "type": "vcs",
            "url": "git@github.com:huglester/streams-platform.git"
        },

but same problem exists.
I have a feeling, that there is a package, which tries to remove something, and is not able to..
https://github.com/anomalylabs/addon-composer-plugin/blob/master/composer.json - btw here illuminate support required is 4.2, while streams-platform requires "illuminate/support": "5.0.*",

Push to your fork and show me the composer file you’re using.
Ryan Thompson
President / CEO
AnomalyLabs, Inc.
www.anomaly.is
t<PHONE_NUMBER>
m<PHONE_NUMBER>

On Jan 8, 2015, at 3:49 PM, huglester<EMAIL_ADDRESS>wrote:
Ryan, I can't build this using simple changes to: prefer-stable: true,
and here what I get: http://pic.webas.lt/0U7YMBwnHN.png http://pic.webas.lt/0U7YMBwnHN.png
but the problem is not with that textarea plugin, or something, if I remove it, it stops 1 step earlier...
Maybe it is trying to do something, when ll pakcages are downloaded?
I'm quite lost here now.
I tried to apply my changes to platform using:
    {
        "type": "vcs",
        "url": "git@github.com:huglester/streams-platform.git"
    },

but same problem exists.
I have a feeling, that there is a package, which tries to remove something, and is not able to..
https://github.com/anomalylabs/addon-composer-plugin/blob/master/composer.json https://github.com/anomalylabs/addon-composer-plugin/blob/master/composer.json - btw here illuminate support required is 4.2, while streams-platform requires "illuminate/support": "5.0.*",
—
Reply to this email directly or view it on GitHub https://github.com/anomalylabs/streams/issues/12#issuecomment-69255663.

was afk, sorry.
here you got: https://github.com/huglester/streams/commit/c39905756bdeee0409d8c205106da2a656093f09
I moved themes to required, since I would get:
exception 'ReflectionException' with message 'Class Anomaly\StreamsTheme\StreamsTheme does not exist' in D:\code\pyro.app\vendor\laravel\framework\src\Illuminate\Container\Container.php:745
if using composer install with --no-dev


[Question] Unbox in records

Hey! I tried to find this in documentation or in previous issues but couldn't find anything, so sorry if it's not a proper issue.
Is there any way that I can "unbox" a nested record?
If for example, I have the following in rescript:
module Address = {
  type t = {
    street: string,
  }
}

type user = {
  name: string,
  address: Address.t
}

and using ppx_spice, somehow I get an encoder that creates the following JSON with an user record:
{
  "name": "foo",
  "address_street": "bar"
}

Can you give me a self-contained example?
module Address = {
  @spice
  type t = {street: string}
}

@spice
type user = {
  name: string,
  address: Address.t,
}

let user = {name: "wk", address: {street: "munjung"}}
Js.log2("user", user)

let user2 = user->user_encode
Js.log2("user2", user2)
let user3 = switch user2->user_decode {
| Ok(user) => user
| Error(_) => assert false
}
Js.log2("user3", user3)

user {"address": {"street": "munjung"}, "name": "wk"}
user2 {"address": {"street": "munjung"}, "name": "wk"}
user3 {"address": {"street": "munjung"}, "name": "wk"}

It seems fine to me

Yes, that is the default behavior, but I'm not sure if you noticed, but the address field is not nested in my example. In my case I'll receive data all de-normalized in the response, like address_street aforementioned in the user. I couldn't find how to create a custom codec to turn many fields in the json (like address_street, address_number etc..) into a nested record when decoding and vice versa, when encoding turning a single attribute (of a nested record) into many different fields in the json result.

How about using @spice.key(...) for the fields?

@spice
type t = {
  name: string,
  @spice.key("address_street") addressStreet: string,
}

Can you elaborate your data and type definition you want decode json to? Concise example would be better to understand. Let me help you to make custom (d)encoder.

I tried to do that in the issue description, not sure if I could made myself clear enough.  I tried to create a concise example with only 2 fields. I'm consuming an api that have the following JSON schema representing an user:
{"name": "My User Name"
 "address_street": "my street",
 "address_number": 42}

I can mirror this same structure in my rescript code and use the @spice decorator to decode this data automatically, but I would like to organize my models better than the API that I'm consuming, so I wanted to have the address data in a different model, that would look like the following structure:
type address = {
  street: string,
  number: int,
}

type user = {
  name: string,
  address: address
}

And I would like to build an encoder/decoder to translate this for me, so for example:
let response: Js.Json.t = myApiCall() // the response is the same JSON object described above
let user = response->myMagicDecoder

Js.Console.log(user.name) // My User Name
Js.Console.log(user.address.street) // my street
Js.Console.log(user.address.number) // 42

This is the result that I want to achieve but I couldn't find out just looking at the documentation, because of the reasons that I tried to describe in the previous comments, in the JSON data I have only 1 dictionary with all the fields, but some fields have the same "suffix" (like address as in address_street and address_number), and I would like to decode all of these fields in a new nested record.
In this example if I decorate my user type and my address type with @spice (it was your first suggestion), it would generate 2 different decoders right? One for each type, but I still would have only 1 json object to be decoded, how could I make this work? I would have to pass the same json data to both decoders, hoping that they ignore the extra fields and have each model decoded separately and then nest them manually. As for your second suggestion, using the @spice.key decorator, wouldn't also help me to achieve my desired structure, as your example shows I wouldn't have a user record with an address attribute of type address, I would have a user record with an addressStreet attribute as string and an addressNumber as int.
Is it clearer now?

Sorry for the late reply. I think this is definitely possible with a custom (d)encoder. I'll try to come up with some code tonight or tomorrow.

There are three possible ways to do this

if a structure with a parent higher than user is possible, e.g. {"data": user}

@spice
type address = {
  street: string,
  number: int,
}

@spice
type user = {
  name: string,
  address: address,
}

let encoderUser = (v: user) => {
  let streetJson = Js.Json.string(v.address.street)
  let numberJson = Js.Json.number(v.address.number->Int.toFloat)
  let nameJson = Js.Json.string(v.name)
  [("name", nameJson), ("address_street", streetJson), ("address_number", numberJson)]
  ->Js.Dict.fromArray
  ->Js.Json.object_
}
let decoderUser = json =>
  switch json->Js.Json.classify {
  | JSONObject(dict) => {
      let name = dict->Js.Dict.get("name")->Option.map(Js.Json.classify)
      let addressStreet = dict->Js.Dict.get("address_street")->Option.map(Js.Json.classify)
      let addressNumber = dict->Js.Dict.get("address_number")->Option.map(Js.Json.classify)
      switch (name, addressStreet, addressNumber) {
      | (
          Some(Js.Json.JSONString(name)),
          Some(Js.Json.JSONString(street)),
          Some(Js.Json.JSONNumber(number)),
        ) =>
        Ok({name, address: {street, number: number->Int.fromFloat}})
      | _ => Error({Spice.path: "", message: "Expected name, street, number ", value: json})
      }
    }
  | _ => Error({Spice.path: "", message: "Expected JSONObject", value: json})
  }

let codecUser: Spice.codec<user> = (encoderUser, decoderUser)

@spice
type data = {user: @spice.codec(codecUser) user}

let data = %raw(`
{
  "user" : {
    "name": "woonki",
    "address_street": "Munjung",
    "address_number": 8
  }
}
`)

let data = data->data_decode
let json = data->Result.getExn->data_encode

You can create and utilize a custom codec for values of type user.

If a structure with a parent higher than user is not possible: Create a type for a stopover, such as type userRaw.

@spice
type address = {
  street: string,
  number: int,
}

@spice
type user = {
  name: string,
  address: address,
}

@spice
type userRaw = {
  name: string,
  address_street: string,
  address_number: int,
}

let data = %raw(`
{
  "name": "woonki",
  "address_street": "Munjung",
  "address_number": 8
}
`)

let data =
  data
  ->userRaw_decode
  ->Result.map(userRaw => {
    name: userRaw.name,
    address: {street: userRaw.address_street, number: userRaw.address_number},
  })

let json = data->Result.map(user =>
  {
    name: user.name,
    address_street: user.address.street,
    address_number: user.address.number,
  }->userRaw_encode
)

ReScript v11's Untagged union to model and interop directly: It's still in alpha release, but you can certainly try.

Hope this helps.

I've added the example for the solution 1, 2 in the examples directory. You can run on your local https://github.com/green-labs/ppx_spice/blob/main/examples/src/CustomCodecs2.res https://github.com/green-labs/ppx_spice/blob/main/examples/src/CustomCodecs3.res


not support '抖音.app' (china app)

not support '抖音.app' (china app)
v10.4.0

抖音双向认证的，中间人攻击搞不定

curl -x localhost:8080 -k 抖音.app works fine for me. Please reply if you have details how this can be reproduced.


feat: Laravel 11 support

ohh, i see shift PR https://github.com/singlestore-labs/singlestoredb-laravel-driver/pull/79 closing this


Opening a new prompt on top of existing prompt, creates a hidden extra element

See: http://jsfiddle.net/kj66j6wa/14/
Second prompt is also added in jqistates of first prompt.

Thanks for the bug report.  I do see the issue you're referring to and am investigating it.

This should now be working properly in the dev branch with commit b8821f6 referenced above.  Thanks for the bug report!


Different behavior when multiple attribute is dynamically added

I found that Select2 automatically draws first option as selected in multiple select control, but only if I dynamically add the multiple="multiple" attribute.
If this attr is in the HTML code, It works fine.
Is this a bug?
http://jsfiddle.net/r5py21hL/2/

This isn't an issue with Select2, it's how your browser handles the change. I've updated your fiddle to automatically alert the selected value.
http://jsfiddle.net/r5py21hL/4/
As you can see, the issue happens before Select2 gets to it.
When you create a <select> with <option> tags, the first one is automatically selected if none of the others are. So when you change it to a multiple select, the first tag, which was already selected, is displayed as a selected tag by Select2.


Add sonarcloud.io integration

This adds the changes needed for sonar cloud integration.
Closes #4.
Signed-off-by: Robert Varga<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 74

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.5%) to 91.801%

Files with Coverage Reduction
New Missed Lines
%

triemap/src/main/java/tech/pantheon/triemap/INode.java
1
83.65%

Totals

Change from base Build 72:
0.5%

Covered Lines:
739

Relevant Lines:
805

💛  - Coveralls


Use DisplayAttribute methods when getting name and description

Related to #1145.
DisplayAttribute has GetName and GetDescription methods that will return the Name and Description property values respectively if no ResourceType has been specified on the attribute, or will look up resource values if a ResourceType has been specified.
This PR updates schema generation to use the above methods when a DisplayAttribute is used, which allows localised resources to be used when generating schemas in addition to hard-coded name and description values.

Thx lgtm


[Question]: "Building wheel for flash_attn (setup.py) " for a long time without any notification

Describe the issue
Requirement already satisfied: mpmath>=0.19 in ./python/3.10.12/lib/python3.10/site-packages (from sympy->torch->minference) (1.2.1)
Building wheels for collected packages: minference, flash_attn
Building wheel for minference (setup.py) ... done
Created wheel for minference: filename=minference-0.1.4.post2-cp310-cp310-linux_x86_64.whl size=3547476 sha256=93f5a7f879dafae55626633576005655e19b00c388a48ff8ad1bdf32993ed52f
Stored in directory: /root/.cache/pip/wheels/42/57/2b/cc98ec52e123b55cca8d6830dc696017d312a553c67bb49024
Building wheel for flash_attn (setup.py) ... \

Please upgrade MInference to version 0.1.4.post3, which does not depend on flash_attn. You can do this by running the following command:
pip install minference==0.1.4.post3


models: Add get_user_by_id_in_realm_including_cross_realm().

Ongoing efforts surrounding #9474, #10391 and #10360 are contingent upon
such a function.
@timabbott: FYI :)

I think we want to be very careful about doing this efficiently.  The most common case here is that it's just a normal user id, so we want to try to do a normal lookup first, and if that succeeds, then we should just return that quickly.
Maybe the thing to do here is just look UserProfile, and if the realm matches, we're done.  And if the realm doesn't match, then I think we can do is_cross_realm_bot = user_profile.email in settings.CROSS_REALM_BOT_EMAILS).
@timabbott I don't know the full picture here and how the cache affects our strategy here, but the current approach definitely feels wrong to me.  If I'm reading this correctly, we're iterating through the three cross realm bots to find a match first.  If get_system_bot is super cheap, that's one thing, but even then, we should comment this carefully.

This looks much better!

Added a comment and merged, thanks @eeshangarg!


The "Fae"

Discussed in https://github.com/DraftBot-A-Discord-Adventure/Events/discussions/279

Originally posted by Mina191 June  4, 2023
You are wandering through a forest, when suddendly a beautiful woman runs toward you; she has long hair, the colour of sea-foam, and is dressed in a flowing silver gown, with the corset embellished by tiny sapphires. Moreover, she's holding a staff made of hawthorne in her right hand.
Her appearance makes you think of a what a fairy would look like, both wild and dazzling, if such creatures truly existed. And it makes you weary, as well, but the stranger kindly smiles at you and introduces herself as Donia.
She claims to be a fae, as you previously thought, and - although you don't believe her, thinking it might be a scam of some sort - you prefer to keep silent on the matter (that staff looks pretty dangerous, after all).
Oblivious to your thoughts, Donia offers you her blessings, thinking it might be useful in your path toward the princess.
You:

accept her offer: you feel like you're partecipating to a knighthood ceremony, since Donia puts the end of the staff on both your shoulders to give you her blessings. Either way, you don't feel that much different from before.
refuse, risking her ire: you frown, telling her that fae don't really exist and she's just delusional. Enraged, Donia starts beating you up with her staff, leaving you wounded on the ground.
try to find a compromise with the woman: she's a bit disappointed, but offers you a red rose as a gift for the princess; you'll get back on your way, also disappointed to have received just a single flower.

It's good for me, especially the time loss on "Do nothing". Maybe you could add a money loss for the blessing

I like this event, I valid. But maybe you can add a possibility on "do nothing", and possibly on "Try to find a compromise with the woman" ?

I like this event, I valid. But maybe you can add a possibility to "do nothing", and possibly to "Try to find a compromise with the woman" ?

Did you find the newer version, in the meantime?

No sorry. I can't find the most recent version. Isn't the md in Events/markdown/en/280.md ?

ye it is

This version is the latest ?
🧚♀ As you are wandering through the Oldster's Forest, a beautiful woman runs toward you; she has long hair, the colour of sea-foam, and is dressed in a flowing silver gown, with the corset embellished by tiny sapphires. Moreover, she's holding a staff made of hawthorne in her right hand. Her appearance makes you think of a what a fairy would look like, both wild and dazzling, if such creatures truly existed. And it makes you weary, as well, but the stranger kindly smiles at you and introduces herself as Donia. She claims to be a fae, as you previously thought, and - although you don't believe her, thinking it might be a scam of some sort - you prefer to keep silent on the matter, for her staff looks pretty dangerous to you. Oblivious to your thoughts, Donia offers you her blessings, thinking it might be useful in your path toward the princess.
👍 Accept her offer
👿 Refuse, risking her ire
🤝 Try to find a compromise with the woman
👍 You feel like you're participating in a knighthood ceremony, since Donia puts the end of the staff on both your shoulders - first on the left one, then on the right - to give you her blessings. Either way, you don't feel that much different from before. (nothing)
👍 You feel empowered by her blessing, but the effect soon disappears after Donia leaves you alone in the forest. You try to find her and ask for some kind of compensation, but are unable to locate her. You leave, annoyed to have been fooled, and swearing to yourself you're not going to fall for her tricks again, should you meet Donia on your path in some different place. (nothing)
👍 As soon as Donia uses her blessing on you, she also throw some strange blue powder in your face. You get drowsy and she helps you to walk to one of the nearest trees, where you fall asleep. You dream of being in the royal palace, during a social event.  You spend the rest of the dream dancing with her. When you wake up again you are still in the forest, some hours have passed and you feel better after having rested. (-2h, + 30 hp)
👿 You frown, telling her that fae don't really exist and she's just delusional. Enraged, Donia starts beating you up with her staff, leaving you wounded on the ground. (-25hp, 🤕)
👿 You try to be as reasonable as possible to convince Donia that fairies exist only in tales for children, but fail to convince her. Instead, to prove you wrong, Donia takes a small pouch, previously hanging on her waist, opens it and blows a red powder towards you. You can't avoid it and end up breathing the powder; feeling like you are in a dream, you don't argue when Donia takes your hand in hers and follow gladly as she guides you toward a glade.  But, in reality, those are wasps. Considering you a threat, they sting you multiple times. You are poisoned and need some time to get better. (-10 hp, 🤢)
🤝 She's a bit disappointed, but offers you a red rose as a gift for the princess. You get back on your way, also disappointed to have received just a single, measly flower. (nothing)
🤝 Instead of a blessing, you ask her if she knows of a place where you can rest for a couple of hours, before getting back on your way. Donia brings you to her house, where she also offers you some food and wine. The latter is particularly good and you end up emptying the whole bottle, barely able to reach the bed before falling asleep.  Waking up, you feel both scared and confused, and run away from her house as fast as you are able. (-1h45min)
[NRF]
👁 As you silently stare at her for a few minutes, Donia seemingly loses interest in you, and leaves without adding anything. But you are still staring at the same place. Without even a thought. It is only a couple of hours later that you come back to your senses, and continue on with your journey, as if nothing happened. (-2h10min)

faudrait la validation de quelques autres rédacs, puis on modifie ce qu'ils suggèrent, et enfin trad en fr + création du json


Make @fromdeno/test optional

@fromdeno/test could be turned into an optional peer dependency. When unavailable (npm install --production), Deno.test would be no-op. https://github.com/denoland/deno.ns/pull/25#issuecomment-944906561

Closes #25.

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

I don't think this is the right approach because I don't believe deno.ns should have any knowledge of the test runner and it doesn't allow using deno.ns with other test runners as #25 does.


Cannot find module 'pg'

Unable to install latest version
Igot the following error message in the logs:
Cannot find module 'pg'

@mariushosting Apologies - missed the notification for this.
Are you still seeing this issue with the latest v4 or v5 image? Are you upgrading an existing project or starting a new project?

@mariushosting Apologies - missed the notification for this.
Are you still seeing this issue with the latest v4 or v5 image? Are you upgrading an existing project or starting a new project?

New Project from scratch new installation from scratch v5 image. 👍

Can you share your logs and docker compose? I'm unable to reproduce the issue.

Can you share your logs and docker compose? I'm unable to reproduce the issue.
https://pastebin.com/hVjc5d86

LOGS: https://pastebin.com/UHK9NJdN

Thank you! This was helpful context. Took a look and it seems to be a known issue with Strapi x Postgres but is otherwise inconsistent. Are you using Windows by chance?
Per the Strapi blog, If you get a “cannot find module ‘pg’” error, install it manually by running yarn add pg or `npm install --``save pg within the project directory.

Thank you! This was helpful context. Took a look and it seems to be a known issue with Strapi x Postgres but is otherwise inconsistent. Are you using Windows by chance? Or are you on linux?
Per the Strapi blog, If you get a “cannot find module ‘pg’” error, install it manually by running yarn add pg or  npm install --save pg `` within the project directory.

Linux, I will try those two solution and let you know.

Cannot find module 'mysql2' same issue but different module for mysql.
I give up with this container right now.

I have the same issue

@aomaryoussef can you share your docker compose and your environment? Logs would also be helpful.
As before I'm unable to reproduce the issue.

This happens when you change the db type after the first initialization, to fix this, just rebuild the container with the env BUILD: true.