Bug: CORS fetching model face-detection

What happened?
I am using:
@tensorflow-models/face-detection & @mediapipe/face_detection
All worked fine until this morning in local and all deployed environmets. But now we are receiving this CORS error:
Access to fetch at 'https://www.kaggle.com/models/mediapipe/face-detection/frameworks/tfJs/variations/short/versions/1/model.json?tfjs-format=file&tfhub-redirect=true' (redirected from 'https://tfhub.dev/mediapipe/tfjs-model/face_detection/short/1/model.json?tfjs-format=file') from origin 'https://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Relevant code
import * as faceDetection from '@tensorflow-models/face-detection';
import { FaceDetector } from '@tensorflow-models/face-detection';
import { MediaPipeFaceDetectorModelConfig } from '@tensorflow-models/face-detection/dist/mediapipe/types';

import '@mediapipe/face_detection';

// package.json
...
 "dependencies": {
   "@mediapipe/face_detection": "^0.4.1646425229",
   "@tensorflow-models/face-detection": "^1.0.1",
    "@tensorflow/tfjs": "^4.2.0",
    "@tensorflow/tfjs-backend-wasm": "^4.2.0",
    "@tensorflow/tfjs-core": "^4.14.0",
..}

Relevant log output
`Access to fetch at 'https://www.kaggle.com/models/mediapipe/face-detection/frameworks/tfJs/variations/short/versions/1/model.json?tfjs-format=file&tfhub-redirect=true' (redirected from 'https://tfhub.dev/mediapipe/tfjs-model/face_detection/short/1/model.json?tfjs-format=file') from origin 'https://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.`

tensorflow_hub Version
0.12.0 (latest stable release)
TensorFlow Version
2.8 (latest stable release)
Other libraries
No response
Python Version
3.x
OS
Linux

Same issue for: https://tfhub.dev/google/tfjs-model/movenet/singlepose/lightning/4/model.json?tfjs-format=file

Same issue for: https://tfhub.dev/mediapipe/tfjs-model/facemesh/1/default/1/model.json?tfjs-format=file

Facing the same issue.
It is BLOCKING and HIGHEST PRIORITY for us.
Facing the exact same issue as the Original Poster of this bug.

Any guidance on how to solve this?

We are facing the same issues with blazeface library, it is a site breaking bug for us too. I would really appreciate any help with this.
Access to fetch at 'https://www.kaggle.com/models/tensorflow/blazeface/frameworks/tfJs/variations/default/versions/1/model.json?tfjs-format=file&tfhub-redirect=true' (redirected from 'https://tfhub.dev/tensorflow/tfjs-model/blazeface/1/default/1/model.json?tfjs-format=file') from origin 'https://www.irozhlas.cz' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

       Failed to load resource: the server responded with a status of 404 (Not Found)
cropeditor:1 Access to fetch at 'https://www.kaggle.com/models/tensorflow/blazeface/frameworks/tfJs/variations/default/versions/1/model.json?tfjs-format=file&tfhub-redirect=true' (redirected from 'https://tfhub.dev/tensorflow/tfjs-model/blazeface/1/default/1/model.json?tfjs-format=file') from origin 'https://www.irozhlas.cz' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
js__dSJKmLCh4BpFgjlNf9Iac84ycwL8EphiuirtOMXoq8g__VtZTTyFHsrjhjaQGg5eL4fFzR50dH4-D8OnrCt4LnuM__MDVaI8Jh7c3M7XGde2fgB9UFepjZlSUMn2Nm5CbCILk.js:17 Uncaught (in promise) TypeError: Failed to fetch
    at e.<anonymous> (cropeditor.worker.0.js:2:29895)
    at e.t [as fetch] (cropeditor.worker.0.js:2:29798)
    at e.<anonymous> (cropeditor.worker.0.js:2:41927)
    at d (cropeditor.worker.0.js:2:402762)
    at Generator._invoke (cropeditor.worker.0.js:2:402550)
    at Generator.next (cropeditor.worker.0.js:2:403187)
    at r (cropeditor.worker.0.js:2:167011)
    at c (cropeditor.worker.0.js:2:167214)
    at cropeditor.worker.0.js:2:167273
    at new Promise (<anonymous>)

Same issue for: https://tfhub.dev/mediapipe/tfjs-model/facemesh/1/default/1/model.json?tfjs-format=file

Hi all, we're looking into this issue. Thanks for your patience.

For those who are with this problem, let me tell you I fixed doing that:

Downloaded model from https://www.kaggle.com/models/mediapipe/face-detection/frameworks/tfJs/variations/short/versions/1/
Served the two files in my own domain. Get the path to the model.json file
Use this path in detectorModelUrl key.

`
import { MediaPipeFaceDetectorTfjsModelConfig } from '@tensorflow-models/face-detection/dist/tfjs/types';
import * as faceDetection from '@tensorflow-models/face-detection';
import '@mediapipe/face_detection';
const { MediaPipeFaceDetector } = faceDetection.SupportedModels;
const detectorConfig: MediaPipeFaceDetectorTfjsModelConfig = {
runtime: 'tfjs',
maxFaces: 2,
detectorModelUrl:
'https://[yourdomain]/model.json',
};
faceModel.current = await faceDetection.createDetector(
MediaPipeFaceDetector,
detectorConfig,
);
`

Hi all, we rolled out a fix for the issue. You should hopefully start to see the model load from https://tfhub.dev URLs again soon. Due to varying layers of caching, propagation of the fix may be client dependent. So keep checking, but keep us posted if the URLs continue to fail.
Thanks again for your patience!

For those who are with this problem, let me tell you I fixed doing that:

Downloaded model from https://www.kaggle.com/models/mediapipe/face-detection/frameworks/tfJs/variations/short/versions/1/
Served the two files in my own domain. Get the path to the model.json file
Use this path in detectorModelUrl key.

import { MediaPipeFaceDetectorTfjsModelConfig } from '@tensorflow-models/face-detection/dist/tfjs/types';
import * as faceDetection from '@tensorflow-models/face-detection';
import '@mediapipe/face_detection';

const { MediaPipeFaceDetector } = faceDetection.SupportedModels;
const detectorConfig: MediaPipeFaceDetectorTfjsModelConfig = {
    runtime: 'tfjs',
    maxFaces: 2,
    detectorModelUrl:
       'https://[yourdomain]/model.json',
};
faceModel.current = await faceDetection.createDetector(
    MediaPipeFaceDetector,
    detectorConfig,
);

I tried doing the same.
const detectorConfig = { modelType: poseDetection.movenet.modelType.SINGLEPOSE_LIGHTNING, modelUrl: };
I also tried writing a different API that fetches the model from kaggle url, adds CORS headers and sends to front end.
router.get("/modelWrapper", async (req, res) => {
  try {
    console.log("********** poseDetector WRAPPER *************");
    const response = await fetch('https://www.kaggle.com/models/google/movenet/frameworks/tfJs/variations/singlepose-lightning/versions/4/model.json?tfjs-format=file&tfhub-redirect=true');

    console.log("********** RESPONSE WRAPPER *************");
    // Check if response is successful
    if (!response.ok) {
      throw new Error('Failed to fetch resource');
    }

    // Get response body as JSON
    const data = await response.json();

    // Add CORS headers
    res.setHeader('Access-Control-Allow-Origin', '*');
    console.log("********** HEADER WRAPPER *************");
    // Send response back to frontend
    res.json(data);
  } catch (error) {
    console.error('Error:', error.message);
    res.status(500).send('Internal server error');
  }
});

However, in both cases, the weights need to be loaded from the same kaggle URL and I am not finding how to download it? group1-shard2of2.bin `group2-shard2of2.bin
Any suggestions on fixing this would be helpful. The issue is happening in our live Production environment .

@pranjalieedee I don't know exactly what issue you're hitting without logs and/or a repro of your dev environment. But I know for self-hosting the model, you will need to host all the tfjs model files (model.json and *.bin) at the same path on your web app infrastructure. See the relevant docs on the expected TF.js filepaths here:

https://www.tensorflow.org/js/guide/save_load#https
https://js.tensorflow.org/api/latest/#loadGraphModel

The intermediate API code snippet you shared only fetches the model.json file:
const response = await fetch('https://www.kaggle.com/models/google/movenet/frameworks/tfJs/variations/singlepose-lightning/versions/4/model.json?tfjs-format=file&tfhub-redirect=true')

For TF.js to work on the frontend, you'll need to handle fetching all the other *.bin files that make up the model.

For those who are with this problem, let me tell you I fixed doing that:

Downloaded model from https://www.kaggle.com/models/mediapipe/face-detection/frameworks/tfJs/variations/short/versions/1/
Served the two files in my own domain. Get the path to the model.json file
Use this path in detectorModelUrl key.

import { MediaPipeFaceDetectorTfjsModelConfig } from '@tensorflow-models/face-detection/dist/tfjs/types';
import * as faceDetection from '@tensorflow-models/face-detection';
import '@mediapipe/face_detection';

const { MediaPipeFaceDetector } = faceDetection.SupportedModels;
const detectorConfig: MediaPipeFaceDetectorTfjsModelConfig = {
    runtime: 'tfjs',
    maxFaces: 2,
    detectorModelUrl:
       'https://[yourdomain]/model.json',
};
faceModel.current = await faceDetection.createDetector(
    MediaPipeFaceDetector,
    detectorConfig,
);

I tried doing the same.
const detectorConfig = { modelType: poseDetection.movenet.modelType.SINGLEPOSE_LIGHTNING, modelUrl: };
I also tried writing a different API that fetches the model from kaggle url, adds CORS headers and sends to front end.
router.get("/modelWrapper", async (req, res) => {
  try {
    console.log("********** poseDetector WRAPPER *************");
    const response = await fetch('https://www.kaggle.com/models/google/movenet/frameworks/tfJs/variations/singlepose-lightning/versions/4/model.json?tfjs-format=file&tfhub-redirect=true');

    console.log("********** RESPONSE WRAPPER *************");
    // Check if response is successful
    if (!response.ok) {
      throw new Error('Failed to fetch resource');
    }

    // Get response body as JSON
    const data = await response.json();

    // Add CORS headers
    res.setHeader('Access-Control-Allow-Origin', '*');
    console.log("********** HEADER WRAPPER *************");
    // Send response back to frontend
    res.json(data);
  } catch (error) {
    console.error('Error:', error.message);
    res.status(500).send('Internal server error');
  }
});

However, in both cases, the weights need to be loaded from the same kaggle URL and I am not finding how to download it? group1-shard2of2.bin `group2-shard2of2.bin
Any suggestions on fixing this would be helpful. The issue is happening in our live Production environment .

@pranjalieedee I don't know exactly what issue you're hitting without logs and/or a repro of your dev environment. But I know for self-hosting the model, you will need to host all the tfjs model files (model.json and *.bin) at the same path on your web app infrastructure. See the relevant docs on the expected TF.js filepaths here:

https://www.tensorflow.org/js/guide/save_load#https
https://js.tensorflow.org/api/latest/#loadGraphModel

The intermediate API code snippet you shared only fetches the model.json file:
const response = await fetch('https://www.kaggle.com/models/google/movenet/frameworks/tfJs/variations/singlepose-lightning/versions/4/model.json?tfjs-format=file&tfhub-redirect=true')

For TF.js to work on the frontend, you'll need to handle fetching all the other *.bin files that make up the model.

Thank you. I downloaded the files from https://www.kaggle.com/models/google/movenet/frameworks/tfJs/variations/singlepose-lightning/versions/4 and am serving them locally.
We have been able to get the system up and running.

Thanks all again for sharing. Since the issue is resolved, I'm going to close these related threads out (#908, #909, #904).


Amazon Bedrock streaming output

Add streaming output for Amazon Bedrock

@sunbc0120
Thanks for adding this to the Bedrock LLM, would you want to wait for #8017 to be merged before adding this? Also, would you want to add an example of usage in the sample notebook?

@sunbc0120 Thanks for adding this to the Bedrock LLM, would you want to wait for #8017 to be merged before adding this? Also, would you want to add an example of usage in the sample notebook?

example notebook: adding
wait for #8017 , don't mind wait, but upon checking the changes, maybe it makes sense it updates after this one merged as it says

raise NotImplementedError(
            """Bedrock doesn't support stream requests at the moment."""
        )

This won't be valid after this PR merged.

Doesn't this also need a streaming boolean flag and changes to the _call to handle streaming?

Is there any documentation on this? It was also my 1st thoughts but failed to find any explanation.

Not just _call for llms but also _stream for the chat model class.

Working on with #10393


[vite] error while updating dependencies

Hello, I want to use react three editor to modify my scene, when I installed this module following your instructions in this repository, I received this error (in the image below) in my terminal, I Still want to clarify the step I did before:
Here is the error in my terminal:
16:31:28 [vite] error while updating dependencies: Error: ENOENT: no such file or directory, rename '[project_path]\node_modules\.vite\deps_temp_3b70f825' -> '[project_path]\node_modules\.vite\deps'
1 - yarn add @react-three/editor --dev
2 - I added this code in vite.config.ts:
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { r3f } from '@react-three/editor/vite';

export default defineConfig((env) => ({
  plugins: [env.command === 'build' ? react() : r3f()],
}));

3 - yarn run dev (then the error in console)

Note 1: In my browser console I get this message:

Failed to load resource: server responded with a status of 504 (Optimization department out of date)

Note 2: I'm using typescript 4.9.3, vite 4.2.0 and @react-three/editor 0.0.16

Same!


Make secrets for third-party PRs available

What this PR does / why we need it:
If a PR gets labeled with ok-to-test the integration test job is
triggered and this github action has access to secrets.
The github action does for security resaons not allow secrets on all
PRs, so we add this extra step.
Still, the action itself, while using a secret, does not have any
interaction points with users. The PR content is actually not even
checked out.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Also see https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ for more details and being able to judge for yourself if you consider this safe.
Release notes:
NONE

/cc @cchengleo


FeedNotifier cannot connect to servers not supporting TLS 1.0

If I try to connect to a server that does not support TLS 1.0, I get the error message:

The URL entered does not appear to be a valid RSS/Atom feed.

This is probably also the cause in these issues:
#98 - https://www.ssllabs.com/ssltest/analyze.html?d=www.upwork.com - only TLS 1.2 enabled
#93 - https://www.ssllabs.com/ssltest/analyze.html?d=xkcd.com - only TLS 1.2 enabled

Now this is something I did not check and can confirm I have the same issue.

I have the same issue with this feed:
https://bartervg.com/u/1e58/o/rss/
Without HTTPS this feed works fine.
According to SSL Labs, only TLS 1.2 and 1.3 are enabled.

This patched version works: https://github.com/fogleman/FeedNotifier/issues/98#issuecomment-491711595


Support for renamed rekordbox.app

I rename my rekordbox app packages with additional version numbers, thus I can revert to previous versions if something gets unstable with an update (yes it happens to Pioneer software as well ;-)
eg. /Applications/rekordbox 6/rekordbox 6.7.3.app
I'm not sure if this is supported yet, I'm getting:
Traceback (most recent call last):
  File "/Users/jojo/.pyenv/versions/jteezer310/bin/jteezer", line 8, in <module>
    sys.exit(root())
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/Users/jojo/git/jteezer/jteezer/jteezer.py", line 580, in rekordbox_cmd
    update_config(pioneer_install_dir, pioneer_app_dir)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/pyrekordbox/config.py", line 189, in update_config
    conf = _get_rb6_config(pioneer_install_dir, pioneer_app_dir)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/pyrekordbox/config.py", line 108, in _get_rb6_config
    conf = _get_rb_config(pioneer_prog_dir, pioneer_app_dir, version=6)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/pyrekordbox/config.py", line 49, in _get_rb_config
    versions.sort(key=lambda s: list(map(int, s.split("."))))
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/pyrekordbox/config.py", line 49, in <lambda>
    versions.sort(key=lambda s: list(map(int, s.split("."))))
ValueError: invalid literal for int() with base 10: 'app'

while doing
    from pyrekordbox import show_config
    from pyrekordbox.config import update_config

    pioneer_install_dir = "/Applications/rekordbox 6"
    pioneer_app_dir = "/Users/jojo/Library/Application Support/Pioneer/rekordbox6"

    update_config(pioneer_install_dir, pioneer_app_dir)
    show_config()

Hi,
thank you, that's a very good point! It's not supported yet, and I don't really have a way to test the config on a Mac, but i will try to add that feature soon:)

I think the issue was an error when parsing the version number. Could you check if the fixes in the new branch work for you?

Hi, sorry for the late response and thanks for the effort in fixing it.
I can report the following:
Installed as pip install git+https://github.com/dylanljones/pyrekordbox.git@rb_versions
 pip list | grep pyrek
pyrekordbox            0.1.6.dev7+g5e1be6c

Did a testrun of my program that's using pyrekordbox which worked fine,
then renamed /Applications/rekordbox 6/rekordbox.app to /Applications/rekordbox 6/rekordbox 6.7.3.app
and it failed like this:
Traceback (most recent call last):
  File "/Users/jojo/.pyenv/versions/jteezer310/bin/jteezer", line 8, in <module>
    sys.exit(root())
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/Users/jojo/git/jteezer/jteezer/jteezer.py", line 597, in rekordbox_cmd
    db = Rekordbox6Database(key=db_key)
  File "/Users/jojo/.pyenv/versions/3.10.5/envs/jteezer310/lib/python3.10/site-packages/pyrekordbox/db6/database.py", line 165, in __init__
    raise FileNotFoundError(f"No Rekordbox v6 directory found in '{pdir}'")
FileNotFoundError: No Rekordbox v6 directory found in '/Applications'

Is it supposed to find any .app file that might be rekordbox or do I have to configure it / tell it?

Hey @JOJ0 , no worries!
ah I see, didn't think far enough in the first fix:D Could you maybe run the following for the default and renamed Rekordbox app and post the output here?
from pyrekordbox import show_config

show_config()

Don't forget to remove any personal info;)
It is a bit tricky without having the option to look at the file system, but I think that should be enough to figure it out.
I want to re-implement the configuration anyway, it is a bit messy. This is a good chance to do so, but it could take a little.

Yes, .app files on macs surprisingly enough are always directories, at least as far as I know :-)

I am a little confused about the installation directories you posted. I took a closer look at how the directory is found for default installations, and it seems like the location should only be /Applications, not /Applications/rekordbox 6. In the last example, did you also supplied the locations via
from pyrekordbox import show_config
from pyrekordbox.config import update_config

pioneer_install_dir = "/Applications/rekordbox 6"
pioneer_app_dir = "/Users/jojo/Library/Application Support/Pioneer/rekordbox6"
update_config(pioneer_install_dir, pioneer_app_dir)

I think the easiest solution is to let the user also pass the actual directory name, so rekordbox 6.7.3.app in your case. Will commit the changes shortly, let me know if it works.

I created a new branch config, since i cleaned up the configuration. Could you try the following?
from pyrekordbox import update_config, show_config

pioneer_install_dir = "/Applications/rekordbox 6"
pioneer_app_dir = "/Users/jojo/Library/Application Support/Pioneer/rekordbox6"
dirname = "rekordbox 6.7.3.app"

update_config(pioneer_install_dir, pioneer_app_dir, rb6_install_dirname=dirname)
show_config()

This is still not the cleanest solution, but i hope it works!

Hey @JOJ0, any updates if this fixes the issue?

Try to give an update in the next days/weeks. Soonish! Holiday right now :-)

ah sorry, enjoy your vacation:-)

I tested different versions on Windows, if this is still an issue on Macs please reopen.

Hi, sorry for the  massive delay with testing. Please clarify where from update_config and show_config should be imported? From pyrekordbox.config or from pyrekordbox?
$ pip list | grep pyrekordbox
pyrekordbox            0.2.1

my code snippet:
    from pyrekordbox import show_config
    from pyrekordbox.config import update_config
    from pyrekordbox import Rekordbox6Database
    from pyrekordbox.db6 import DjmdPlaylist
    pioneer_install_dir = "/Applications/rekordbox 6"
    rb_app = 'rekordbox 6.7.6.app'
    update_config(pioneer_install_dir, rb6_install_dirname=rb_app)

leads to
...
    update_config(pioneer_install_dir, rb6_install_dirname=rb_app)
TypeError: update_config() got an unexpected keyword argument 'rb6_install_dirname'

I am still a little confused about the pioneer_app_dir, did you move that too? If not, omit that argument:
update_config(pioneer_install_dir, rb6_install_dirname=dirname)

No I did not move it. I was just unsure whether it's a mandatory argument or. I just stated it, IIRC as it was documented back then.

If it doesn't work, you might have to look on your machine. The directory should contain at least two directories, rekordbox6 and rekordboxAgent. So the pioneer_app_dir path should not contain rekordbox6.
This is still not the cleanest solution, but i hope it works!

Hey, no worries:D
The config changes aren't in the latest release yet, please install the latest version from GitHub, then update_config should accept the keyword argument. And yes, my bad, that was a typo, you should import
from pyrekordbox.config import update_config

I will change that later, would be better if you could just import that from the top-level import.
I merged the branch into master recently, since (at least for me on Windows) the fix worked. Please just use the master branch from now on.

Do you want to see testruns from current git master?

That would be great:) But please test on your system, the unit tests for config are kind of hacked together. They just test if config finds the latest installed version. And the directory names on your machine might vary.
I will make the import change mentioned above when i am home later today!
Thanks for the help!

Should be importable either way now!

Hi, from current master - as of writing:
[07:59:49] pyrekordbox.config:WARNING  - Could not extract password: [Errno 2] No such file or directory: '/Applications/rekordbox 6/rekordbox.app/Contents/MacOS/rekordboxAgent.app/Contents/Resources/app.asar'
[07:59:50] pyrekordbox.config:WARNING  - Could not extract password: [Errno 2] No such file or directory: '/Applications/rekordbox 6/rekordbox 6.7.6.app/rekordbox.app/Contents/MacOS/rekordboxAgent.app/Contents/Resources/app.asar'
Traceback (most recent call last):
  File "/Users/jojo/.pyenv/versions/beets310/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
    self.dialect.do_execute(
  File "/Users/jojo/.pyenv/versions/beets310/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
sqlite3.DatabaseError: file is not a database

HTH :-)

Since you mentioned that earlier,

If it doesn't work, you might have to look on your machine. The directory should contain at least two directories, rekordbox6 and rekordboxAgent. So the pioneer_app_dir path should not contain rekordbox6.

I double checked how this directory looks on my machine exactly:

And now another final test with "renaming back" rekordbox 6.7.6.app to just rekordbox.app:
    from pyrekordbox import show_config, update_config
    from pyrekordbox import Rekordbox6Database
    from pyrekordbox.db6 import DjmdPlaylist
    pioneer_install_dir = "/Applications/rekordbox 6"
    # pioneer_app_dir = "/Users/jojo/Library/Application Support/Pioneer/"
    # rb_app = 'rekordbox 6.7.6.app'
    rb_app = 'rekordbox.app'
    update_config(
        pioneer_install_dir, rb6_install_dirname=rb_app)

Your first comment suggests to me that the config actually worked this time. The error you are getting is probably because pyrekordbox falls back to importing sqlite3 if sqlcipher3 cannot be imported.
Since the migration to SqlAlchemy 2.0 in version 0.2.1 the old SqlCipher library (pysqlcipher3) is not longer supported since it is incompatible. Have you installed sqlcipher3? Also check (the end) of this issue if you are having problems installing it.
Otherwise it looks to me that the configuration was successful, otherwise you would have gotten an error earlier:) Also thanks for the screenshot of your installation directory!
Concerning you last comment: Those are some additional checks that raised the error. It should work with the default name (so no need to passrb6_install_dirname in that case), but i will try to remove that error later. I agree that just passing the original directory name should also work!

I will apply the fix later today, if that still doesn't resolve your issue maybe you can help fixing it? If a directory name is passed only the first part of the if statement is used, so not that complicated:D

on it! What's unclear to me in the code:
This error seems to be useful:
pyrekordbox.config.InvalidApplicationDirname: The supplied application dirname 'rekordbox.app' does not exist in '/Applications/rekordbox 6'

but why do we need that one?
  File "/Users/jojo/git/pyrekordbox/pyrekordbox/config.py", line 279, in _get_rb_config
    raise ValueError(
ValueError: Major version is 6, but the supplied application dirname is 'rekordbox.app'

I think we could remove that entirely. Or is there any reason why a version number should be in the rekordbox.app directory? It could be an arbitrary name. No matter if it's called rekordbox6.app or rekordbox 6.1.app or whatever.
I'll open a PR just removing that part. What do you think?

By the way, did installing sqlcipher3 resolve the first error?

Didnt go down the sqlcipher install rabbithole yet. It reads scary, homebrew and symlinking of libs involved. I'm using an old macOS version (10.15 Catalina) unsupported by homebrew already. All that points to possible PITA... 😆😅
Will do when I feel brave enough again. Thanks for the hints in any case!👌

Ah I see, at least you won't run into the issues on M1 Mac's:D
If you don't feel like installing SQLCipher you can always just build against the amalgamation files, no need for Homebrew there;)
https://pyrekordbox.readthedocs.io/en/latest/installation.html#id1

python3 -m pyrekordbox install-sqlcipher

Oh yeah, that worked! Thanks so much for that hint! Awesome, that was way too easy now! :-)))


Read the advertisedId from beacon with Chrome Physical Web

Hi, its possible read the advertisedId with the physical web chrome support.
I manage beacon with Proximity Api and i need read the Eddystone-url and the eddystone-uid from beacon.  It is possible?
Thanks.

Sorry, could you please provide some more context?  Are you trying to get the URL from the beacon in a web page?  From an Android app?  Through the proximity API?

Hi, I am developing an web app to manage beacons eddystone with google proximity api.
I have one beacon that sends an eddystone-url and eddystone-uid frame.
I need chrome read the eddystone-uid frame, the eddystone-url frame its ok with physical web feature.
It's possible that chrome read the eddystone-uid frame with the physical web feature?
Thanks.

No, the physical web feature currently only notifies the user.  We don't have an API in chrome to access that data yet.


after router.reset() and router.configure() the view isn't updated

I updated the skeleton-navigation from v0.18.1 to v0.19.0.
Try to reconfigure the router with a new map(from server) after authentication.
It worked in v0.18.1. Now it looks like the router doesn't update the view after router.reset(), router.configure()
I can reproduce this in a fresh skeleton-navigation v0.19.0 by calling
reloadRouter(){
    var dynamicMap = [
        { route: ['', 'welcome'], name: 'welcome',      moduleId: 'welcome',      nav: true, title: 'Welcome' },
        { route: 'users',         name: 'users',        moduleId: 'users',        nav: true, title: 'Github Users' },
        { route: 'child-router',  name: 'child-router', moduleId: 'child-router', nav: true, title: 'Child Router' }
    ];

    this.router.reset();
    this.router.configure(config => {
        config.map(dynamicMap);
    });
}

Is there something missing to reconfigure the router?
Can I trigger and force the model to update the view?

@ddittmann Have you tried this.router._refreshNavigation()? I believe that has to be called after you reconfigure the router. That being said, it might be worth the team adding a line to configure so that it automatically refreshes the navigation.

TypeError: this.router._refreshNavigation is not a function

In aurelia-router v0.13 I can find.
this.router.refreshNavigation()

But I can't see any effect, the navigation view is still empty. Feels like the observation has been canceled.

I have similiar problem. Now when router.reset() was removed, calling router.configure(handler) has no effect if router has been configured already. handler is being called. router.ensureConfigured() promise is being resolved, but router.routes has no changes. Please, help. My app does really need to re-configure routes when processing auth too.

@valichek I am currently in the same boat as you.

@avitex Just as an idea, I think we can use determineActivationStrategy(), if routes should be reconfigured we return activationStrategy.replace in that way we will get new object and get configureRouter() called. But to get determineActivationStrategy() called we need to refresh the page, can be done with router.navigate('', {replace: true}). So when we get new routes, we can get some flag ON and check it in determineActivationStrategy(). Have not implement this idea yet, but it looks working for now.

@valichek Interesting work around, Ill give it a try at home if I get time. I am currently, and quite embarrassingly so, just calling document.location.reload() as a dirty workaround so I could focus on different logic in the application in the meantime.

I am having similar "view not being updated"  experience after I call this.aurelia.setRoot('authenticated') where authenticated.js contains my router configuration for authenticated routes. Could the root cause for this issue be same?

I'm facing the same issue when I reset the router with new routes
this.router.reset();
      this.router.configure(config => {
        config.title = 'Aurelia';
        config.map([
          { route: ['', 'welcome'], name: 'welcome',      moduleId: 'welcome',      nav: true, title: 'Welcome' },
          { route: 'users',         name: 'users',        moduleId: 'users',        nav: true, title: 'Github Users' },
          { route: 'child-router',  name: 'child-router', moduleId: 'child-router', nav: true, title: 'Child Router' }
        ]);
      }).then(() => {
        console.log(this.router.routes);
        this.router.navigate('', { replace: true });
      });

Finally i have implemented my idea for route reset and it works)
determineActivationStrategy(){
    return !this.refreshRoutes? activationStrategy.invokeLifecycle : activationStrategy.replace;
}

I use canActivate() to parse parameters and load new navigation if needed, when navigation is loaded I save it (but not in current VM, bacause it will be re-created) and set this.refreshRoutes = true and return new Redirect(navigationInstruction.fragment+(navigationInstruction.queryString? '?'+navigationInstruction.queryString:''), { replace: true});
Note that I don't need to set this.refreshRoutes false, because when activationStrategy.replace is determined, aurelia creates new object for current model.

Please @valichek, where is should the determineActivationStrategy method be kept? Is it the main.js folder or each viewmodel that will configure routes dynamically

@smithaitufe when you have configureRouter() implemented in viewmodel, you can have  determineActivationStrategy() in that vm too

You can add determineActivationStrategy() to any view model that is navigated to. If you don't want to litter your view model with that, and the strategy is static, you can add an activationStrategy property to the route config.


Is there a way to resize images downloaded through RemoteImageGetter ?

I want to force the size of the images downloaded since some of them are downloaded and resized to very small size.
Can i do something with RemoteImageGetter like i would do in ImageGetter by overriding a method like getDrawable ?

Can i do something with RemoteImageGetter like i would do in ImageGetter by overriding a method like getDrawable ?

Sure, you could resize the image here, before using it.
Will not consider this for the library.


Incorrect statement "Be aware that enabling a workspace for Unity Catalog cannot be reversed. "

The Accounts Console allows an admin to remove a workspace from UC. There is a warning that doing so will result in any workloads in that workspace being unable to access UC data, which is understandable.
Maybe you can confirm and adjust the wording. A customer asked me today if they can do this if they see some problem and the doc caused some confusion. Thank you.

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

ID: 096a947e-c9d1-0f41-2459-a41e7edbd3d9
Version Independent ID: 096a947e-c9d1-0f41-2459-a41e7edbd3d9
Content: Enable a workspace for Unity Catalog - Azure Databricks
Content Source: databricks/data-governance/unity-catalog/enable-workspaces.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@JimThorstad
Thanks for your feedback! We will investigate and update as appropriate.

@JimThorstad
Thanks for your contribution. Please add your ideas in below link, so our production team can review it and update the same.
Ideas · Community (azure.com)


[registries] Fix git registry path

Summary
Right now, when using a git registry, the path searched for a port CONTROL or vcpkg.json file is, for instance, $HOME/.cache/vcpkg/registries/git-trees/SHA/. I think the path searched should at least include the port name, that is, at least be $HOME/.cache/vcpkg/registries/git-trees/SHA/PORT_NAME/. Otherwise, each registry could only have a single port. That being said, it could be a good idea to have the same default layout than the official vcpkg repository, that is, search in the directory $HOME/.cache/vcpkg/registries/git-trees/SHA/ports/PORT_NAME/. This is what I implement here.
I understand from the specifications that the ports part of the path will be configurable in vcpkg-configuration.json at some point via the path: attribute. What I implement here is a default behavior that will allow to start using git registries immediately.
Reproduction
Related repositories:
https://github.com/klalumiere/toyprojectvcpkg
https://github.com/klalumiere/vcpkg-overlays
export VCPKG_FEATURE_FLAGS=manifests,registries,versions
export VCPKG_ROOT=PATH_OF_VCPKG
git clone https://github.com/klalumiere/toyprojectvcpkg
cd toyprojectvcpkg
mkdir debug
cd debug
cmake -G Ninja ..

without my fix, this fails with a message
[DEBUG] cmd_execute_and_stream_data() returned 0 after     2871 us
Error: while loading 49fdf3529f1a0bd69c6ef113929bd534e6b89d55:
Failed to find either a CONTROL file or vcpkg.json file.
Error: Failed to load port personaldependency from /home/klalumiere/.cache/vcpkg/registries/git-trees/49fdf3529f1a0bd69c6ef113929bd534e6b89d55
Note: Updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure.
[DEBUG] /home/klalumiere/Projects/vcpkg/buildtrees/_vcpkg/src/vcpkg-tool-2021-02-24-d67989bce1043b98092ac45996a8230a059a2d7e/src/vcpkg/portfileprovider.cpp(188)

Listing the directory /home/klalumiere/.cache/vcpkg/registries/git-trees/49fdf3529f1a0bd69c6ef113929bd534e6b89d55 confirmes that it contains both personaldependency/vcpkg.json and ports/personaldependency/vcpkg.json.
With my fix, the example above works fine.

The intent is that the hash is not a commit id, but rather a git tree:
C:\src\vcpkg> git rev-parse HEAD
4d91d5c8b10cfe46f38e6badc15f63da6fdf7a3d # Not this one -- this is a commit ID
C:\src\vcpkg> git rev-parse HEAD:ports/tinyxml2
5bc723c583463d1e50ff6dcf0131328759371eeb # This is the right one -- this refers to the tree object
[...]
This prevents ports from being duplicated for every registry commit -- instead, they are checked out exactly once per unique content.

OMG, I didn't think about that! :flushed: :laughing: Super, thanks! :slightly_smiling_face:


add fnm support for displaying node version

Is your feature request related to a problem? Please describe.
I was switching from nvm to fnm (another node version manager) and noticed, that spaceship-prompt doesn't work with it.
Here is a article about fnm.
Describe the solution you'd like
It would be nice, if both version managers would be supported. I know this could be a problem for people who have both installed.

I'd recommend switching to asdf tbh.

:tada: This issue has been resolved in version 3.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add more tests for read_parquet(engine='pyarrow')

I'm not happy with the lines added to _read_arrow_parquet_piece. We may need to add tests for MultiIndex in the future to ensure that they also work.

[x] Tests added / passed
[x] Passes flake8 dask
[ ] Fully documented, including docs/source/changelog.rst for all changes
and one of the docs/source/*-api.rst files for new API

cc @wesm @fjetter

From my perspective this looks good.  I suspect that @martindurant would have a more discerning eye here.

Not much to say, looks fair enough.
Do we test multi-column indexes at all? I notice you added a specific provision for this.

@martindurant No, I have not seen any multi-column index tests yet in the Parquet engine tests. We should have a look at them in a follow-up PR.

I plan to merge this tomorrow if there are no further comments.

Merged.  Thanks @xhochy !


Clarify ETag changes at every update

For a blob in Azure Storage, the ETag changes at every update. Is it the same for an ADT twin? Could we document that fact?

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

ID: 9e97b4d5-7efe-4f5f-0b83-c67de8c36d10
Version Independent ID: d64704f7-0e1b-eb34-46e7-0bca3ab707fd
Content: Manage digital twins - Azure Digital Twins
Content Source: articles/digital-twins/how-to-manage-twin.md
Service: digital-twins
GitHub Login: @baanders
Microsoft Alias: baanders

Also, it would be useful to clarify what we can do with this ETag. Which operations support If-Modified-Since, If-Match etc?

@algattik Good Point! Our SME Content Author will review your feedback!

@algattik yeah the etag is updated anytime the resource is updated. So it this case, when a twin gets update, it will get a new etag.
The etags come in handy when the client is not sure if the data has been updated on the server. You can call the twin add API and if the etag's match, then you don't have to waste resources to complete the save.

I'm adding the details provided above to the document in PR #149313.

@algattik, Does this resolve your issue, or is there more detail you'd like to see reflected in the docs?
Thanks all for continuing to make the Azure Digital Twins documentation better!

Thank you. Also, it would be useful to clarify if this ETag can be used in HTTP Headers like we can do with storage blobs:

with read operations to avoid fetching content that hasn't changed.
with write operations to support optimistic concurrency.

Also, filtering queries by ETag doesn't see to work:
curl --location --request POST 'https://MYINSTANCE.weu.digitaltwins.azure.net/query?api-version=2020-10-31' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer xxx' \
--data-raw '{"query":"SELECT T FROM digitaltwins T WHERE $dtId = '\''7b2e9195-73bb-20fd-ac8e-3d6109f07f4e'\'' AND $etag = '\''W\"68155e16-7d55-4ace-8de2-d85997fffe70\"'\''"}'

{"value":[],"continuationToken":null}

@algattik try formatting your etag value like so. That should fix it
"query": "SELECT * FROM digitaltwins WHERE ($dtId = 'MasterBed' AND $etag = 'W/"cb296fb9-c515-454c-b1ae-00ffa78b7e2d"')"

I'm going to proceed with merging this fix PR to live today, which will automatically close the issue.
If there's more information to discuss, feel free to comment back with additional comments or questions to continue the conversation even after it's closed, and we can reopen if needed.  Thanks!


EF Core 2.0 - InMemoryDatabase Testing - Changing a value of an attribute is Updating the database record

I observed what I consider unexpected behaviour when doing integration testing using InMemoryDatabase testing. It seems that line 4 in the TestMethod below is actually updating the database record from OPEN to CLOSED. It was intended to be only a preparation for the actual update using the repository that for simplicity I have left out here. I'm aware that quote "InMemory is designed to be a general purpose database for testing, and is not designed to mimic a relational database", but in my opinion this behaviour is not what I expect from a general purpose database. I would like to hear from you if you consider this a bug. If not how can I test my update procedures using InMemoryDatabase ?
        [TestMethod]
        public void Authors_ChangeStatusCode_StrangeBehaviour()
        {
            Author authToBeUpdated = _repository.getAuthor("Postma");
            Guid internalCode = authToBeUpdated.InternalCode;
            Assert.IsTrue(authToBeUpdated.StatusCode == "OPEN");

        4)  authToBeUpdated.StatusCode = "CLOSED";

            Author authFound1 = _repository.get(authToBeUpdated.InternalCode);
            Assert.IsTrue(authFound1.StatusCode == "CLOSED");
            Author authFound2 = _repository.getAuthor(authToBeUpdated.Name);
            Assert.IsTrue(authFound2.StatusCode == "CLOSED");
        }

    Part of creating the record - works correctly.

        private Author createAuthorRecord(string authorName, string externalCode)
        {
            Author auth = new Author();
            auth.InternalCode = Guid.NewGuid();
            auth.ExternalCode = externalCode;
            auth.StatusCode = "OPEN";
            auth.Name = authorName;

           ....

            return auth;
        }

  Base class for constructing the  .UseInMemoryDatabase

      public abstract class AbstractTestBase
      {
        protected readonly BooksDbContext _testDbContext;

        public AbstractTestBase()
        {
            DbContextOptions<BooksDbContext> _options
                = new DbContextOptionsBuilder<BooksDbContext>()
                        .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                        .Options;

            _testDbContext = new BooksDbContext(_options);
            _testDbContext.Database.EnsureCreated();
        }

        public virtual void Dispose()
        {
            _testDbContext.Database.EnsureDeleted();
            _testDbContext.Dispose();
        }

Further technical details
EF Core version: 2.0.1
Database Provider: InMemoryDatabase
Operating system: Windows 10
IDE: (e.g. Visual Studio 2017 15.5.2)

@JRBonnema Without seeing the repository code, I would guess that that the get method is returning the same instance, probably because the context is tracking it. When EF does executes a query that returns the an entity that is already tracked, then the tracked instance is returned, which in this case already contains the modification made.

@ajcvickers  You diagnosis was entiry correct. I found out that In [TestInitialize] I added three records without using the repository, that were not detached after adding the records to the InMemoryDatabase, resulting in the behaviour you describe above.
When I added this three records using the repository.add() function the problem went away.  Sorry for the inconvenience and let me use this occasion to complement you and your team colleagues on the great work your doing with Entity Framework.


Version number is not updating

When the file version number changes it is not updating the state variable.

Resolved in 0.31


fix: fix deadend when DojoError renders

closes https://github.com/polywrap/evo.ninja/issues/514

Since this is a critical bug, I'm going to push this to prod using admin privileges.


Remove sslkeylog file setup from quic-hq-interop

Now that libcrypto supports the user of SSLKEYLOGFILE, the interop demo attempts to open the same file based on the same env variable.
The hq-interop-demo code can just be removed, and it fixes the open failure when both libcrypto and hq-interop attempt to open and write the same file, which is causing the nightly failure

This pull request is ready to merge

Pushed. Thanks.


feature request: translations

Can't really share with my pals until the UI would support translations.

Support for additional languages is now be added. Have added an automated Russian translation.
I'll leave this issue open for additional language requests.


Make SR class Internal

Public System.SR class unnecessarily causes conflicts in projects that have dependency on this library and define their own SR class.

This repo needs updated to the latest Microsoft source code now that Span is available in NET45 via the System.Memory package. There have been significant performance improvements and bug fixes.


Content: New Catalyst TV Sections and pages

I have added a new section for catalyst t.v content to be added. Files should all be synced for git localized ready to be translated.
please checkout out #78 for further discussions.

Please ignore this


Loadouts not saving properly in beta 2

I have seen this happening before beta 2 but haven't had the time to comment. I create a load out lets say "Crota". Then I want to create a new one and the down menu has all the crota weapons still there but it has no name as a new loadout. I remove the "Crota" weapons and add the ones that I want in this loadout and save. Now I have two loadouts bu if I go to "Crota" it has the weapons I added to the new one I created and there is no loadout with "Crota" weapos, just to of them with the same weapons and different name.
In summary, it seems that you can create as many loadouts as you want but only one set of weapons is actually loaded in all loadouts.

Related to #63.  This is fixed in the code, and will go out in Beta 3.  I'll push it today so you all can use it this weekend.


New tiktok issue ALERT

[02:56:23] Create a firefox browser instance in headless mode
[02:56:35] Authenticating browser with cookies
[02:56:38] Posting video.mp4
with description: this is my escaped "description"
[02:56:38] Navigating to upload page
[02:56:40] Uploading video file
[02:56:44] Video should be uploading
[02:56:44] Video should be uploaded
Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
[02:57:45] Failed to upload C:\Users\jbbag\OneDrive\Escritorio\otro tik\video.mp4
[02:57:45]
A video failed to upload

Error while uploading video
SOMEONE knows how to fix it?!

I'm on ubuntu 22.04, same issue

Hi folks, Tiktok changed from an input iframe to just an input - by changing the _change_to_upload_iframe(driver) code to """

"""
pass
Not an ideal workaround, but might help

Привет, ребята, TikTok изменился с входного iframe на просто входной - изменив код _change_to_upload_iframe(driver) на """  """ pass
 Not an ideal workaround, but might help

thank you!


Current url

Description
Fix: https://github.com/Shopify/hydrogen/issues/535
Added useCurrentUrl that gets url from request.url on server, but window.location.href on client.
Additional context

Before submitting the PR, please make sure you do the following:

[x] Add your change under the Unreleased heading in the package's CHANGELOG.md
[x] Read the Contributing Guidelines
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[x] Update docs in this repository for your change, if needed

Todo:

[ ] figure out why useServerRequest().url does not return query params when its in RSC mode
[ ] Add docs

cc @jplhomer @blittle no need to review carefully yet, but I want to know how you guys feel about the approach right now in useCurrentUrl

Rename useCurrentUrl -> useUrl with @blittle in person review

Also dropped all the random fixes that does not belong in this PR to https://github.com/Shopify/hydrogen/pull/623


Add ability to use CryptoKey objects as identities

Subtle Crypto allows handling non-extractable private keys via the CryptoKey objects. This, coupled with the recent addition of X25519 to WebCrypto and a growing number of browsers supporting it would mean that it'd be possible to store X25519 identity keys in a non-extractable form in the browser.
I think it'd be a good addition to typage to support passing raw CryptoKey objects as identities.
(Another angle would be long-term migration to WebCrypto when the browser support is better. I've done a similar thing for ssh signatures).

Ah yes this is definitely something we should support.
Would it be reasonable to just autodetect WebCrypto support and use it in place of libsodium.js (or noble, see #20) even when the key is passed in raw? Looks like even Node and Deno support it these days, right?
What's the best way to test this and the fallback? Run the full suite in a browser? Rely on Node's and Deno's implementations? Artificially stump the auto-detection to test the fallback?

Oof, except all WebCrypto APIs are async, so we'd have to change the public APIs to be async, right? Is there any convention for how to handle this?

Would it be reasonable to just autodetect WebCrypto support and use it in place of libsodium.js (or noble, see https://github.com/FiloSottile/typage/issues/20) even when the key is passed in raw? Looks like even Node and Deno support it these days, right?

I've discussed that with the X25519-in-WebCrypto draft author and from what I can gather the support in browsers is widespread and modulo some small details with the spec (making the construction more robust IIUC) it's going to be natively supported (finally! I might add).

What's the best way to test this and the fallback? Run the full suite in a browser? Rely on Node's and Deno's implementations? Artificially stump the auto-detection to test the fallback?

That's a good question. I'd add end-to-end tests and run then in a variety of browsers. The check whether the fallback is used should be just informative, unless you're explicitly targetting non-evergreen browsers the "fallback is not necessary now" may be an indicator that the fallback code can be completely removed.
This is quite a bit of additional work - great that you're thinking it through.

Oof, except all WebCrypto APIs are async, so we'd have to change the public APIs to be async, right? Is there any convention for how to handle this?

Ugh, right. Indeed they are async and async-ness would need to be propagated upwards up to the API. Technically it is possible to offer one API that can be used in sync and async fashion (see this) but this sounds like an additional complexity. The advantage of the async API is that it's more HSM-friendly (say, if the request is propagated to external service, or a Yubikey exposing site that asks for a PIN and then a touch, the async promise would wait until it's all done).
Thanks for your time! :wave:

Oof, except all WebCrypto APIs are async, so we'd have to change the public APIs to be async, right? Is there any convention for how to handle this?

I seem to be a day late to the party, but I'll add that using async everywhere is a bit of a bummer. Using async is a non-negligible cost for contexts which aren't already async. I can't speak for others, but the easiest way to work with this for my own use case is probably patching out the WebCrypto support in favor of a non-async API in our dependency.
Thinking of possible solutions, none that comes to mind seems particularly attractive. It's not possible here to use overloaded typings, since the decrypt method can't tell ahead of time what kind of key it'll use. Adding independent methods would break consistency with the typical age interface. And maintaining independent libraries for webcrypto/purejs APIs adds a lot of maintenance overhead.

I agree in principle, but in practice it depends on how annoying the "just to get a sync interface" part really is in a codebase. Going async is not free, and depending on what you do even requires additional locking to avoid race conditions.

This really boils down to the function coloring problem and is not specific to typage but rather a more general issue.
Technically it's possible to write code agnostic to sync/async by using generators but sometimes the cure is worse than the disease ;)

Still, I agree it may well be the correct decision to stay async for typage here just for this reason. Annoying. 😒

I feel like the writing was on the wall and the sync interface, as nice as it was, was never going to stay forever. As I mentioned in the other comment, other high-level crypto libraries are already using async interface anyway. :man_shrugging:


Form validation implemented according to specification

The form validation is implemented: The content of the email field has to be in lowercase.

When a user submits the form, check if the email field value is in lowercase
If the validation is OK, the form is sent.
If the validation is not OK,  an error message is shown to the user near the submit button informing them of the error, and the form is not sent..

PR observation resolved

Linters files fixed
README.md updated

Fix PR comment: form not submitting

The form now submits if no error

Textarea place holder issue now fixed

The placeholder text in the textarea now clear off when user types in the textarea

Fixed textarea placeholder issue:

Placeholder text in textarea now clears when the user starts to type
@prolajumokeoni


Twitter Support PLZ

THX for your app but it does not work with Twitter. Can you fix it plz?

X/twitter is now reachable only after a login.
I don't have the need nor the time to implement a login storage system, see #30.
Closing this as duplicate.


Fix Travis CI build and re-enable it

https://travis-ci.org/lwm/tasty-discover/jobs/272715416
Weird. Pretty sure this is nothing to do with me ...

I've tried. No idea.

The style build is also borked - https://travis-ci.org/lwm/tasty-discover/jobs/317534665.


ARTEMIS-899 don't log stack trace on authn failure

(cherry picked from commit f1d67df5e69737ca26cb65686b87391fbda9eadc)
JIRA: https://issues.jboss.org/browse/JBEAP-8683

@treblereel I am working through the backlog for Artemis jboss-1.1.0-x PRs.  This one has a reference to an EAP 7.1.0 JIRA.  Does this JIRA still apply (i.e. do we need to clone the JIRA for the 7.0.x stream) or should I close it out?

@mtaylor yeap, i have fixed pr's , PR 7.0.x https://github.com/rh-messaging/jboss-activemq-artemis/pull/170
PR 7.1.x https://github.com/rh-messaging/jboss-activemq-artemis/pull/169
so i think this pr should be closed


Make Radius required, use Black as colour in Circle

Both Polygon and Polyline use Black as the default colour, making them visible on the Map when used without specifying a colour.
Circle by default draws a 0-radius circle. If the radius is specified, it still draws a Transparent circle on the map, making it not visible.
Update the Circle function to require the radius to be specified, and change the default colour to Color.Black, as used in other Composable for Maps.
As it was a simple edit, I've done it already and I would be ready to open the PR if this is agreed upon

If you would like to upvote the priority of this issue, please comment below or react on the original post above with :+1: so we can see what is popular when we triage.
@lnicolet Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

Check the issue tracker - bugs and feature requests for Google Maps Platform APIs and SDKs
Open a support case - Get 1:1 support in Cloud Console.
Discord - chat with other developers
StackOverflow - use the google-maps tag

This is an automated message, feel free to ignore.

Is there any update on this? I'm happy to make the changes and open a PR request.

Done so here, and signed the agreement (if that check can be re-run, it should now pass). @kikoso


[MSVC] openh264 failed to build with "fatal error C1083: Cannot open include file: 'codec_def.h': No such file or directory"

Hi,
Recently, we update the commit of openh264 (commit is : 2e63786), it failed to build with "fatal error C1083: Cannot open include file: 'codec_def.h': No such file or directory (D:\a01_work\2\s\src\vctools\Compiler\CxxFE\sl\p1\c\p0prepro.c:1934) [F:\gitP\cisco\openh264\test\build\win32\codec_ut\codec_unittest.vcxproj]"
Could you please help look this issue? Thanks.
Repro steps:

git clone https://github.com/cisco/openh264 F:\gitP\cisco\openh264
set VSCMD_SKIP_SENDTELEMETRY=1 & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
cd F:\gitP\cisco\openh264
if exist F:\gitP\cisco\openh264\test\build\win32\codec_ut rd /s /q F:\gitP\cisco\openh264\test\build\win32\codec_ut
xcopy F:\tools\openh264\patch\gtest F:\gitP\cisco\openh264\gtest /k/r/e/i/s/c/h/f/y 2>&1
xcopy F:\tools\openh264\patch\codec_ut F:\gitP\cisco\openh264\test\build\win32\codec_ut /k/r/e/i/s/c/h/f/y 2>&1
devenv /upgrade .\codec\build\win32\dec\WelsDecoder.sln 2>&1
devenv /upgrade .\codec\build\win32\enc\WelsEncoder.sln 2>&1
devenv /upgrade .\test\build\win32\codec_ut\Codec_UT.sln 2>&1
msbuild /p:Platform=x64 /p:Configuration=Release /p:WindowsTargetPlatformVersion=10.0.18362.0 .\test\build\win32\codec_ut\Codec_UT.sln /t:Rebuild 2>&1

Expected result:
build successfully.
Actural result:
......
F:\gitP\cisco\openh264\codec\encoder\core\inc\param_svc.h(46,10): fatal error C1083: Cannot open include file: 'codec_def.h': No such file or directory (D:\a01_work\2\s\src\vctools\Compiler\CxxFE\sl\p1\c\p0prepro.c:1934) [F:\gitP\cisco\openh264\test\build\win32\codec_ut\codec_unittest.vcxproj]
......
Detailed log:
build.log

‘codec_def.h’ is under '\codec\api\svc'
maybe the include directory has not include?

@Marssssss Thanks for your reply. This issue has already been solved.


[GOBBLIN-921]Make pull/push mode when registering partition to be configurable

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[ ] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-921] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-921

Description

[ ] Here are some details about my PR, including screenshots (if applicable):
In pull mode, register will first try to check if the partition has already existed to reduce the call to add_partition. In push mode, register will try to call add_partition directly and relying on the exception to determine whether existed which mode should be used when most of the partition the HiveRegister try to register is not existed to reduce the call to HiveMetaStore.

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Test on cluster

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2777 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##             master   #2777      +/-   ##
===========================================
- Coverage      4.15%   4.15%   -0.01%
  Complexity      744     744
===========================================
  Files          1894    1894
  Lines         70829   70863      +34
  Branches       7787    7790       +3
===========================================
  Hits           2942    2942
- Misses        67574   67608      +34
  Partials        313     313

Impacted Files
Coverage Δ
Complexity Δ

...lin/hive/metastore/HiveMetaStoreBasedRegister.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

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 28d3d7b...d57082b. Read the comment docs.

@sv2000 Here is the separate PR for hive registration, can you take a look at it?


Remove logrus logger

As I was deploying core onto Backbone, I came over some strange too many open files issue. I tenatively removed logrus (which was supposed to be removed anyways) to make sure that didn't cause the issue. It did not, but I'm still issuing this PR to remove it.
Also, this adds a retry around verifying the redis connection on startup.

/cc internetti
/cc neb42

feel like the redis thing could have been it's own PR, since it's only 10 files, I'll let it slide :P
/lgtm


No instructions on how to get started with HTML examples on own machine?

I found this command in a pull request (https://github.com/elm-lang/html/pull/12): elm-package install -y elm-lang/html
Where are new users supposed to find that command? There are a lot of examples that run in the in-browser-example-compile, but it is not easy to find out how to get them running on your own machine.
:)

Sorry you ran into this!  Best way to document a tricky thing is to fix the tricky thing so it does not need docs anymore!


minio is using up all memory

minio would use 4GB in 12hours now

refer https://github.com/minio/minio/issues/12742
it seems can be fix by upgrading minio to latest version


fix: Use mutation observers to queue microstasks for debouncing inste…

…ad of using setTimeout() (marco
fixes #846

This approach seems quite good to me, the only thing Im wondering its if we should disconnect the MutationObserver observer when the component gets disconnected?
Not sure if right now we will leak something, or maybe we just don't need to care about it.

Have moved this to https://github.com/skatejs/skatejs/pull/851.

@bradleyayers cool, thanks for moving the comment too :)


App crashes on clicking "Install Playlist"

When I attempt to install a playlist, Beat Saber Mod Manager crashes with the following exception:
Application crashed
System.TypelnitializationException: The type initializer for 'Tmds.DBus.CodeGen.DBusObjectProxy TypeBuilder' threw an exception.
→System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.Single [TSource] (IEnumerable`1)
at Tmds.DBus.CodeGen.TypeExtensions.GetConstructor(Type, BindingFlags, Type[])
at Tmds.DBus.CodeGen.DBusObjectProxyTypeBuilder..cctor()
--- End of inner exception stack trace ---
at Tmds.DBus.CodeGen.DBusObjectProxyTypeBuilder.Build(Type) at Tmds.DBus.CodeGen.DynamicAssembly.GetProxyTypeInfo(Type)
at Tmds.DBus.Connection.CreateProxy(Type, String, ObjectPath)
at Tmds.DBus.Connection.CreateProxy[T](String, ObjectPath)
at Avalonia.FreeDesktop.DBusSystemDialog.<>c.<.cctor>b__15_0() in /_/src/Avalonia.FreeDesktop/DBusSystemDialog.cs:line 18 at System.Lazy`1.ViaFactory(LazyThreadSafetyMode)
at System.Lazy`1.ExecutionAndPublication (LazyHelper, Boolean)
at System.Lazy`1.CreateValue()
at Avalonia.FreeDesktop.DBusSystemDialog. TryCreate(IPlatformHandle) in /_/src/Avalonia.Free Desktop/DBusSystemDialog.cs:line 23 at Avalonia.X11.NativeDialogs.Composite Storage Provider.EnsureStorageProvider()
in /_/src/Avalonia.X11/NativeDialogs/CompositeStorageProvider.cs:line 25
at Avalonia.X11.NativeDialogs.Composite StorageProvider.OpenFilePickerAsync(FilePickerOpenOptions)
in /_/src/Avalonia.X11/NativeDialogs/CompositeStorageProvider.cs:line 37

It looks like something's going wrong in trying to open a file picker?
I'm using KDE, if that helps debug things.

Same underlying issue as in #17.


Change reverse api

Made first argument of geocoder.reverse a query-object {lat,lon}, so further parameters can be supported by geocoders, (See PR #86), and the API is analogue to geocode(value, callback).
Old (lat, long, callback)-API is still supported, so it's fully backward compatible.
Based on fixes from PR #83 and #84

nice job :+1:


DONT MERGE Enable funct tests

@rawlingsj  we can close this PR in favor of #2003

yeah sounds good!


ABDP missing astro chip interface

in the version 1.10.2-1.1.1 in the astro body data programmer the interface for programming an unprogrammed chip is missing.

g.

Programming the asteroid chip is now done in the observatory in the 1.1.x builds.

ah! ok thanks for the info.

I have tried to program an Asteroid chip in the observatory with no luck.  what are the steps to do it?  Am i missing something?
I am loving the mod.  It is amazing!

You need to have 100 distance data in one of the data blocks, then you need to hit scan (It should be green with the data).  From there a list of asteroids will come up, select the one you want then click the gears.  Note for it to work it has to be night and the telescope must be open.

wow, thanks for the fast reply.  i have tried to get data first.  it never loads any data.  i have also tried to insert some data from a chip that got the data from a satellite.

the observatory has been operating since the update was released with data collected.

you have to feed it distance data from a satellite now, it no longer creates data on its own.
You should have been able to insert data from the chip though.  Will see why that''s not working

Yes, i have tried to send data to the buffer from a chip.  the chip has almost 500 data on it.  I have also tried multiple data buses

I think what happened is that if the data buffer has no data when the observatory is built it won't accept any other kind of data.  So if you break the observetory and put some distance data into the hatch before rebuilding it, it should fix the issue

That worked!  the screenshots are before and after.

You rock!


PersonUI Improve Validation

Addresses issue 24

I just did some more testing, the controls have the proper options, but they are not being persisted to the API when changed. I believe that the mentorId and partnerId update will not work correctly till the API is improved, but all of the other values should persist directly as before the change. I've restored the branch, you can continue to make changes and post an updated PR when you're ready.


always render a SMARTS when passed the smarts props (or make it optional)

current behavior is
is_valid_smiles(smarts) ?
render_smiles(smarts) :
render_smarts(smarts)

which means that SMARTS that are valid SMILES would get rendered as SMILES.
this behavior should either be optional or removed.

Done in #50, we now expose showSmartsAsSmiles props to enable drawing smarts that are valid smiles as smiles.
The option is disabled by default.


Styling issue

I did include the control like described on the website
Now the icon seems to be too small and with the standard buttons the icons aren't visible.

Why are your buttons dark? You must have some other style sheet.

I am using the default but maybe some of my other CSS overrides the default mapbox CSS. I will check this.

 on this. Similar problem + 1 more:

icon not visible (same as above)

After adding font-awesome lib, icon appears but:

icon is off center
"locating" animation (rotation css) is off-center.

Do you use a custom css or mapbox?

mapbox (per https://www.mapbox.com/mapbox.js/plugins/#leaflet-locatecontrol, the demo of which fails to work btw, with console reporting: "GET https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-locatecontrol/v0.42.0/L.Control.Locate.js ".

@gamecubate Yes, the files are not deployed correctly by mapbox. See https://github.com/mapbox/mapbox.js-plugins/issues/25. I'd suggest that you use bower, if you can. It makes sure you always use the latest version.
To fix the style issue, use the special mapbox css file that I build. It resolves this style issue.

Thanks. Will try with bower.

Reopen if this is still an issue.


how to remap alt key in vimrc

{
    "inoremap": [
        ["<a-i>", "<Up>"],
        ["<a-j>", "<Left>"],
        ["<a-k>", "<Down>"],
        ["<a-l>", "<Right>"],
    ],
//   i               ↑
//j  k  l         ←  ↓  →
        "nnoremap": [
            ["h", "i"],
            ["j", "h"],
            ["k", "j"],
            ["i", "k"],
            ["H", "I"],
            ["J", "H"],
            ["K", "J"],
            ["I", "K"],
        ],
}

Alt key can not remap, how to remap it?
And I found a bug using jupyterlab 3.0.8 and vimrc 0.5.2 on WSL2 Ubuntu 20.04 Anaconda(just use pip installed, do not install the node.js).
When I reopen the Jupyterlab,  all the remapping will not work. And I add comments into vimrc(otherwise can not save change), and remapping will work again, but when i use jupyterlab for a while, and it will not work again. I need add a comment the vimrc again to  make it run.
Seems there is a backend process always get out of running, maybe in your or jupyterlab's code.

Hi @yunlongYoung

Alt key can not remap, how to remap it?

I played around with this and it's confusing that the remappings you have don't work. However, these do:
 "inoremap":[
        ["<A-i>", "k"],
        ["<A-j>", "h"],
        ["<A-k>", "j"],
        ["<A-l>", "l"],
    ],

And I found a bug using jupyterlab 3.0.8 and vimrc 0.5.2 on WSL2 Ubuntu 20.04 Anaconda(just use pip installed, do not install the node.js).
When I reopen the Jupyterlab, all the remapping will not work. And I add comments into vimrc(otherwise can not save change), and remapping will work again, but when i use jupyterlab for a while, and it will not work again. I need add a comment the vimrc again to make it run.

I'm not sure I totally follow the steps to reproduce this which makes it harder to debug. If you are able to come up with a minimal example demonstrating this that would be super helpful.
Also does refreshing the browser page help?

I wonder if the issue when you re-open is due to the loading order of the jupyterlab-vim extension and this extension. I'm not sure if that's controllable with explicitly depending on the other extension though. I'd prefer not to do that as that would prevent this extension from working for the people who just want vim in the fileeditor

Hi, @ianhi
This one worked for me perfectly.
{
"inoremap":[
        ["<A-i>", "k"],
        ["<A-j>", "h"],
        ["<A-k>", "j"],
        ["<A-l>", "l"],
    ],
"nnoremap": [
        ["h", "i"],
        ["j", "h"],
        ["k", "j"],
        ["i", "k"],
        ["H", "I"],
        ["J", "H"],
        ["K", "J"],
        ["I", "K"],
    ],
}

This one could not use  to move, but normal mode ran well.
//just change all "A" to "a"
{
"inoremap":[
        ["<a-i>", "k"],
        ["<a-j>", "h"],
        ["<a-k>", "j"],
        ["<a-l>", "l"],
    ],
"nnoremap": [
        ["h", "i"],
        ["j", "h"],
        ["k", "j"],
        ["i", "k"],
        ["H", "I"],
        ["J", "H"],
        ["K", "J"],
        ["I", "K"],
    ],
}

I  found the problem occurred immediately when I leave the cell mode by shift-G(vim extension key) or mouse click another cell.
//it maked the mapping in this way

//   i               ↑
//j  k  l         ↓  ↑ →

//the h key mapping to default i's behavior, entering input mode before cursor
//H and I input at the line start.

It did not go all invalid, but partially invalid. And the invalid key mapped into vim default behavior.
I disabled all the Jupyter keyboard shortcuts, but problem came all the same.
So, it is not relevant with the Jupyterlab, but almost can be certain conflict with vim extension when exit cell mode.
I suggest rerun the vimrc extension when every time enter a cell.
And maybe you can test a minor vimrc, by just remapping j or k or uppercase i. I just need take my child go hospital :)


[Other]: Theme button of Course page neither styled and nor working.

Is your request related to a problem? Please describe.
The course page's theme button isn't placed properly. That's damaging the UI of the website.
Describe the solution you'd like
We can add some beautiful styles and functionality to it.
Describe alternatives you've considered
No response
Additional context
No response

Please assign it to me. I can fix it.

@Neeteshking21 Can you please put a screenshot or some reference to this

@Jassi10000.

also Index page's theme button's alignment not perfect.

Okayy !!


Create helm unit-tests for the rstudio-workbench chart

I'm going to close this ticket out.  It's very generic and I have created a bunch of unit tests. I think it's enough to establish a reasonable pattern for unit testing of the rstudio-workbench chart.


Documentation: auto-publish on build

It's easy enough to do now, and it should probably only be done when I push to master, now that #6 is done and all the source links point there now.
That's a good enough place to be in that I don't think it makes sense to automate unless I get this going somewhere that differentiates between develop and master docs.


feat(tutorial): complete step 3 (Poughkeepsie)

Congratulations! 🥇 You have successfully completed part 3 of the Carbon Tutorial.


Deleting records with selection on _id is broken

CrateDB version
4.7.0 / 5.0.1 / 5.10
CrateDB setup information
single / multi-node
Steps to Reproduce
cr> CREATE TABLE del_test (val int);
CREATE OK, 1 row affected  (0.415 sec)

cr> INSERT INTO del_test VALUES  (1),(1),(2);
INSERT OK, 3 rows affected  (0.032 sec)

cr> SELECT arbitrary(_id)
    FROM del_test
    WHERE val = 1
    GROUP BY val
    HAVING count(*) > 1;
+----------------------+
| arbitrary(_id)       |
+----------------------+
| 6wCcQoQBNMIiChzeUweD |
+----------------------+
SELECT 1 row in set (0.019 sec)

-- here is the problem:
cr> DELETE FROM del_test WHERE _id IN (SELECT arbitrary(_id)
    FROM del_test
    WHERE val = 1
    GROUP BY val
    HAVING count(*) > 1);
DELETE OK, 0 rows affected  (0.022 sec)

cr> DELETE FROM del_test WHERE _id IN (SELECT '6wCcQoQBNMIiChzeUweD');
DELETE OK, 0 rows affected  (0.029 sec)

-- that works
cr> DELETE FROM del_test WHERE _id IN ('6wCcQoQBNMIiChzeUweD');
DELETE OK, 1 row affected  (0.031 sec)

Expected Result
DELETE OK, 1 row affected  (0.031 sec)

Actual Result
DELETE OK, 0 rows affected  (0.029 sec)

edit:
EXPLAIN
SELECT *
FROM del_test
WHERE _id IN (SELECT _id FROM del_test)
-- SELECT OK, 0 records returned (0.033 seconds)

MultiPhase
  └ Collect[doc.del_test | [val] | (_id = ANY((SELECT _id FROM (doc.del_test))))]
  └ OrderBy[_id ASC]
    └ Collect[doc.del_test | [_id] | true]

------------

EXPLAIN
SELECT *
FROM del_test
WHERE _id::CHAR(20) IN (SELECT _id FROM del_test)
-- SELECT OK, 3 records returned (0.041 seconds)

MultiPhase
  └ Collect[doc.del_test | [val] | (_cast(cast(_id AS character), 'text') = ANY((SELECT _id FROM (doc.del_test))))]
  └ OrderBy[_id ASC]
    └ Collect[doc.del_test | [_id] | true]

------------
EXPLAIN
SELECT *
FROM del_test
WHERE _id IN ('58puQ4QBQmJ97UbuHnXp','jxcRQ4QB4KuX8tRunOAg')

Get[doc.del_test | val | DocKeys{'58puQ4QBQmJ97UbuHnXp'; 'jxcRQ4QB4KuX8tRunOAg'} | (_id = ANY(['58puQ4QBQmJ97UbuHnXp', 'jxcRQ4QB4KuX8tRunOAg']))]

Please note this works if _id is explicitly casted to ::CHAR(20)

thx for the report and investigation!

Hi, I am the original reporter on this issue, today I tried to add casting to the _id field as suggested.
I am on version 4.8.4 and unfortunately the cast does not work here, I get the message The 'char' type doesn't support type parameters when I add ::CHAR(20).

Hi, I am the original reporter on this issue, today I tried to add casting to the _id field as suggested. I am on version 4.8.4 and unfortunately the cast does not work here, I get the message The 'char' type doesn't support type parameters when I add ::CHAR(20).

Just logging that on a separate conversation it has been confirmed that on versions of CrateDB < 5.0.0 the CHAR data type is not available, but the issue can still be worked around using VARCHAR instead.


ci: display the currently bundle golang-release in the release note

related: #16

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

v1.1.0
GitHub release

Your semantic-release bot :package::rocket:


Exception handling while disabling tuning

@erwa  The context is , for some jobs tuning is not disabling after several iteration (it might be issues while updating database ) . To confirm the same exception handling is put


vue $set do not work

Version
2.5.16
Reproduction link
https://codepen.io/vvpvvp/pen/XYvxMg
Steps to reproduce
1、click 'change a value' button
2、click 'change a value use $set' button
What is expected?
value a changed
What is actually happening?
value a not changed

That's because if you add a property a onto value first, then value will has its own property named a, then you $set it, it will not be reactive because it should not be proxy.
See source code: https://github.com/vuejs/vue/blob/master/src/core/observer/index.js#L199-L202
So you should always use $set instead of manually adding property.


Normalize endpoint filename with address(es)

Both the "Add" and "Delete" endpoints for user addresses have funny filenames due to the title of the documentation section containing address(es).

endpoint scope: User Emails
endpoint name:  Add email address(es), Delete email address(es)
route: POST /user/emails, DELETE /user/emails
documentation URL: https://developer.github.com/v3/users/emails/#delete-email-addresses, https://developer.github.com/v3/users/emails/#add-email-addresses

Current specification
https://github.com/octokit/routes/blob/d8c3b5db9c9d1f7cef7bf2afbbf7e1382b309a8f/routes/users/emails/add-email-address-es.json
https://github.com/octokit/routes/blob/d8c3b5db9c9d1f7cef7bf2afbbf7e1382b309a8f/routes/users/emails/delete-email-address-es.json
I expected
I think it would make sense to name the files *-email-addresses.json rather than *-email-address-es.json

Good catch, that should be easy enough to fix :)
To give you some background on how things work: the definitions of all routes are currently stored redundantly, for example POST /user/emails is defined in

https://github.com/octokit/routes/blob/d8c3b5db9c9d1f7cef7bf2afbbf7e1382b309a8f/routes/users/emails/add-email-address-es.json#L1-L10
https://github.com/octokit/routes/blob/d8c3b5db9c9d1f7cef7bf2afbbf7e1382b309a8f/routes/users.json#L280-L289
https://github.com/octokit/routes/blob/d8c3b5db9c9d1f7cef7bf2afbbf7e1382b309a8f/index.json#L18489-L18498

I don’t think that’s ideal, it made my life easier while developing it. For example if there is a problem with a single endpoint, I can edit the file which only contains the single specification, run the TEST_URL=https://developer.github.com/v3/users/emails/#add-email-addresses  node test/integration/single-endpoint-test.js until I changed the code so that the test passes. I’ve described the process in https://github.com/octokit/routes/blob/master/CONTRIBUTING.md#contributing
As we work on the OpenAPI which supports referencing external files I don’t think there will be a need for that redundancy

Ok, cool! For now I am only generating the individual files, as that is going to give me the information I need to fix inconsistencies in github/github and write the parsing to extract the information we need. Once we've locked down the OpenAPI spec we're aiming for I will switch to generating that.


BinarizedMNIST can't load full training set

The BinarizedMNIST class doesn't offer any interface for loading the full 60,000 example training set, only the 50,000 example sub-train set used for hyperparameter validation. This means you can't really use it to reproduce state of the art results on the test set that were obtained by training on the full training set. It's also not consistent with the original MNIST class.
@vdumoulin wrote /  @lamblin reviewed this, let me know if that's the intended behavior for some reason.

Likewise, it appears not to have any labels, and I'm pretty sure Russ's DBM results involved training an RBM over h2 and y followed by PCD on the joint of v, h1, h2, and y.

It was meant to be a wrapper around the unlabeled binarized MNIST data that's been used for Russ' DBM as well as NADE and VAE, hosted at http://www.cs.toronto.edu/~larocheh/public/datasets/binarized_mnist/binarized_mnist_{train,valid,test}.amat.
This is the only version of that exact binarization which I have access to, so this is why labels aren't available. If anyone knows where a version including labels can be downloaded, we can update the download script and the class to make labels available.
There is no reason not to allow for training on the whole training set other than the dataset was constructed to be a wrapper around the three previously-mentioned files, so that's definitely something that can be implemented.


Try commenting out clearAllStaticFieldsForUnitTest to see what happens

Hi @fil512
FYI the stuff that is commented out does 2 things:

randomizeLocale() sets the timezone, platform file endings, and system locale to a randomized value in order to catch any unexpected dependencies on a particular platform/locale in the unit tests. Removing this won't break anything, but IMO it is useful behaviour.

The "clear static fields" stuff is there to avoid a situation where each test class has its own static variable with a FhirContext in it. At one point this was causing us to run out of memory, which is why we added this. It may well not be an issue anymore given that we generally use the FhirContext.forCached() methods now, and we're no longer on Travis (which had much lower available resources in its runners)

Ah good to know.  The randomizeLocale stuff is definitely useful.  If the tests pass, I'll remove the clear static stuff and rename the method to randomizeLocale()

pre-merge build passed.  don't want to wait for the next mr to pass again before merging


QEMU UART does not output anything

I'm on Chapter 2 of the OS blog and I have written the UART driver, but I don't see anything show up on the screen when I use println.
My code is linked below.
uart.zip
This is what I see when I run the program:

I just realized that the "wfi" and "j 3b" liines in boot.S were not allowing the operating system to continue. I'm closing the issue.


Update fr.po

WIP

Could you make these changes directly on Weblate? It's much easier to sync if we don't get stuff pushed directly to git while other stuff gets added on Weblate.
See https://hosted.weblate.org/projects/godot-engine/godot/

Oh well sure! It's much easier that way.

Great! I'll archive this PR then.
The changes made on Weblate are not committed automatically to this repo, but I sync them once a week or so for all languages.


Add the possibility to override the url in the client configuration

Usefull when a reverse proxy is used for exemple in an intranet.

@PierreSalaun please describe the issue, not clear

The client actually uses the overridden URL ✅


iframe support

It looks like the framework for this was added as a result of #11.
I think there just needs to be another method added?
normalizeIframe(elem) {   return normalizeFrame(elem); }

:+1: Yes, please!

Thanks for reporting, this should be fixed in 0.2.3.

@tuvistavie sorry to pester, but when testing 0.2.3 (<textarea> in <frame>), Atomic Chrome is opening up two Atom tabs...
I don't believe this happened in 0.2.2.
Oddly, it does not seem to work for a texteditor like CodeMirror (inside <frame>), but does work for CodeMirror without <frame> involved.

@pixelchutes Thanks for the catch!
I was using the window object instead of the iframe window object,
causing the error when working inside in iframe.
I just published a fix as 0.2.4, please let me know how it goes!

@tuvistavie Confirmed, thank you! :beers:


fix issue #2130 - With config.showStudyList : false -> Still showing …

…hyperlink to StudyList on Not Found Component
Solve issue #2130 (https://github.com/OHIF/Viewers/issues/2130)

If StudyList is disabled on configuration, and reach a non existent page, is still possible to go to StudyList, bceause hyperlink is present on Not Found Component.

Change description:
Changed NotFound component to show only the "Go back to the Study List" only if the config parameter showStudyList is true. If the config parameter showStudyList is false hide the Link
Link to issue: https://github.com/OHIF/Viewers/issues/2130
Suggested reviewer: @dannyrb

Thanks for the PR! That is definitely unintended behaviour.

thanks!


Handle docker as a provider

This treats the "Docker" provider the same way as it does a cluster.

https://ocd.appscale.com:8080/job/Daily Build/4798/


Bot doesn't follow freechannels.

When I type !getconfig freechannels, I get a list of rooms. These rooms are correct. But, if someone spams in one of those rooms, they still get silenced.

uhhh, after some work, its not !setconfig module.channels spam ! #yourchannel, but instead !setconfig modules.channels spam ! #yourchannel. uwu


Build AMIs with a meaningful name

Because I think it makes much more sense to see bosh-aws-xen-hvm-ubuntu-trusty-go_agent/3468.11 from bosh-cpi than BOSH-e731bf31-319a-474c-aa8d-3017fcf8b014.

I added a publisher_name to the pipeline because I thought it might be important to disambiguate between light stemcells produced by different pipelines/teams. The previous UUID wasn't really useful, but it made it very unlikely for there to be overlap between AMIs produced elsewhere or for people to accidentally derive the origin of an AMI.
Maybe someday name could be a friendly URL pointing to the stemcell release version instead.

I considered it, but then didn’t believe we should really be relying on the
GUID since anybody can technically publish whatever value they want.
Rather, we should be relying on the AMI IDs that we publish if we are
looking for something canonical and a token that we trust.
I still think the field should be something concisely meaningful for
people. If we need cross-referencing for technical IDs, perhaps we should
be doing something like the Ubuntu cloud images index.
Danny Berger
https://dpb587.me

This was accidentally closed when we removed the develop branch. Would it be possible for you to resubmit it against the master branch?


[FLINK-8554] Upgrade AWS SDK

What is the purpose of the change
This pull request upgrades AWS SDK
Brief change log

Upgrades AWS SDK

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

version: 1.11.319:
[INFO] org.apache.flink:flink-connector-kinesis_2.11:jar:1.6-SNAPSHOT
[INFO] +- com.amazonaws:aws-java-sdk-kinesis:jar:1.11.319:compile
[INFO] |  +- com.amazonaws:aws-java-sdk-core:jar:1.11.319:compile
[INFO] |  \- com.amazonaws:jmespath-java:jar:1.11.319:compile
[INFO] +- com.amazonaws:amazon-kinesis-producer:jar:0.12.9:compile
[INFO] |  \- (com.amazonaws:aws-java-sdk-core:jar:1.11.312:compile - omitted for conflict with 1.11.319)
[INFO] \- com.amazonaws:amazon-kinesis-client:jar:1.9.0:compile
[INFO]    \- (com.amazonaws:aws-java-sdk-kinesis:jar:1.11.272:compile - omitted for conflict with 1.11.319)

version: 1.11.325
[INFO] org.apache.flink:flink-connector-kinesis_2.11:jar:1.6-SNAPSHOT
[INFO] +- com.amazonaws:aws-java-sdk-kinesis:jar:1.11.325:compile
[INFO] |  +- com.amazonaws:aws-java-sdk-core:jar:1.11.325:compile
[INFO] |  \- com.amazonaws:jmespath-java:jar:1.11.325:compile
[INFO] +- com.amazonaws:amazon-kinesis-producer:jar:0.12.9:compile
[INFO] |  \- (com.amazonaws:aws-java-sdk-core:jar:1.11.312:compile - omitted for conflict with 1.11.325)
[INFO] \- com.amazonaws:amazon-kinesis-client:jar:1.9.0:compile
[INFO]    \- (com.amazonaws:aws-java-sdk-kinesis:jar:1.11.272:compile - omitted for conflict with 1.11.325)

@StephanEwen here is test error in the build job,  and it seems the aws sdk is under license "Apache 2.0", so should I do the second item you asked?

Are there anything in 1.11.325 we desperately need?
If not, I would oppose upgrading AWS SDK too frequently. Highly likely that we don't need any of the new changes in 1.11.325. As you can see, the current sdk version is 1.11.319 which is upgraded just a few days ago.
There're a few reasons we should discourage it:

It doesn't add much value, and we don't really need it
It costs lots of unnecessary work from both contributors and Flink community (committers, reviewers, etc)
AWS releases their SDK very frequently, in a much faster pace than we can possibly catch up

@StephanEwen close this or not?


Create new 2nd level section within Build docs called "Overview"

And include the content currently on staging and/or "What is Build" on the build subdomain.
I'm suggesting this to allow for a similar approach to the Build landing page as what I'm proposing on the other landing pages.... @wildabeast let me know if you disagree.

Related to what is currently on staging:
So it is great that the "Overview" page now exists, but it is displaying the same content as the "Getting Started" page. The content should be (what is currently found on the landing page) as below (but styled):
PhoneGap Build is a cloud service for compiling PhoneGap applications.
Adobe PhoneGap provides a way for users to create mobile applications using technologies such as HTML, CSS, and Javascript. Applications created with PhoneGap can be distributed to various vendor app stores (ex: Apple App Store) and installed on a end-user's device like any other native application. Each vendor provides a different toolchain, and each PhoneGap release is compatible with a specific set of tools. This is where PhoneGap Build comes into help.
Here are some of the benefits PhoneGap Build provides:
Managed Compilation and Signing (No SDKs)
Local development involves installing and maintaining multiple native SDKs as well as the Cordova/PhoneGap SDK. PhoneGap Build takes this headache away! Get app-store ready apps without the headache of maintaining native SDKs. PhoneGap Build will always be build against the required SDK for the platform you are targeting.
Multiple Supported Platforms
Target iOS, Android, Windows (Phone) all with a single codebase. As a web-service, PhoneGap Build may be used from any OS.
Work With Your Team
Work collaboratively by adding team members and create roles within your PhoneGap Build projects.
Quicker Development Cycle
Use Hydration to get faster debug and build cycles. With Hydration, updates to your application be pushed directly to your testers' previously installed apps, ensuring everyone is working on the most up-to-date version.

looks good on stage


Adds Crank.Agent log file support - serilog

As discussed in https://github.com/dotnet/crank/pull/365, this PR adds log file support for crank agent.
Users can pass an opt-in --log-path command-line argument with a full path to a log-file.
Log files roll every 1 day.

@sebastienros I have an build error related to usage of Serilog
error SIGN001: Signing 3rd party library Serilog.dll with Microsoft certificate 'Microsoft400'. The library is considered 3rd party library due to its copyright: ''
I wasn't expecting it, since Serilog is used in Yarp without issues. What is Crank policy about third party lib usage ?

Needs to be registered here: https://github.com/dotnet/crank/blob/main/eng/Signing.props
And also added to https://github.com/dotnet/crank/blob/main/NOTICE.txt


Prefer helpers over HTML tags

I'm using ember-document-title, which registers the title helper in order to set the document title in the templates.
title "My Cool App" separator=" | " prepend=true

However, I can't use the title helper, as Emblem renders it as the <title> tag:
<title>"Veltro" separator=" | " prepend=true</title>

It would be nice, if we could teach Emblem to prefer helpers over HTML tags.

Emblem wouldn't know the difference since it doesn't actually boot Ember.   Don't know what they're called.

I'm not sure :(
I tested out the addon on Ember 1.13.3 /<EMAIL_ADDRESS>and it didn't give any errors.  I can confirm that the output of that in Emblem is:
{{title "My Cool App" separator=" | " prepend=true}}

Wait a second. Did I understand correctly, that it works just fine for you?
If so, I'll test it again in a fresh app.

Yap, works. It has to be another addon that introduces this bug. I'll dig into this.
For the curious:
{
  "name": "veltro",
  "version": "0.0.0",
  "description": "Small description for veltro goes here",
  "private": true,
  "directories": {
    "doc": "doc",
    "test": "tests"
  },
  "scripts": {
    "start": "ember server",
    "build": "ember build",
    "test": "ember test"
  },
  "repository": "",
  "engines": {
    "node": ">= 0.10.0"
  },
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "broccoli-asset-rev": "^2.0.2",
    "ember-cli": "^1.13.1",
    "ember-cli-app-version": "0.4.0",
    "ember-cli-auto-register-helpers": "1.0.1",
    "ember-cli-autoprefixer": "0.4.1",
    "ember-cli-babel": "^5.0.0",
    "ember-cli-bourbon": "1.0.1",
    "ember-cli-content-security-policy": "0.4.0",
    "ember-cli-dependency-checker": "^1.0.0",
    "ember-cli-deploy": "0.4.2",
    "ember-cli-dotenv": "1.0.0",
    "ember-cli-emblem": "0.2.7",
    "ember-cli-gzip": "1.1.1",
    "ember-cli-htmlbars": "0.7.9",
    "ember-cli-htmlbars-inline-precompile": "^0.1.1",
    "ember-cli-i18n": "0.0.6",
    "ember-cli-ic-ajax": "0.2.1",
    "ember-cli-inject-live-reload": "^1.3.0",
    "ember-cli-mirage": "0.1.5",
    "ember-cli-neat": "0.0.4",
    "ember-cli-qunit": "0.3.15",
    "ember-cli-release": "0.2.3",
    "ember-cli-sass": "4.0.1",
    "ember-cli-server-variables": "0.0.3",
    "ember-cli-simple-auth": "0.8.0",
    "ember-cli-simple-auth-token": "0.7.2",
    "ember-cli-styles-reloader": "0.1.6",
    "ember-cli-uglify": "^1.0.1",
    "ember-component-css": "git://github.com/jeffhertzler/ember-component-css.git#880df649fdc50a98fe09de63c620d04177a246bb",
    "ember-data": "1.13.5",
    "ember-disable-proxy-controllers": "^1.0.0",
    "ember-document-title": "1.13.0",
    "ember-export-application-global": "^1.0.2",
    "ember-feature-flags": "1.1.0",
    "ember-moment": "1.2.1",
    "ember-suave": "0.1.11",
    "liquid-fire": "0.20.4"
  }
}

ember-cli-mirage is the fugitive. However I have absolutely no idea, why.

Happens with .hbs code as well. Not an issue with this addon. Closing.


Initialise GOV.UK scripts on paas-admin

What
We've faced an issue where the mobile verion of the site would not
function correctly - specifically when it comes to mobile menu - due to
JavaScript not being initialised.
How to review

Run application
Shrink the window to mobile view
See if the menu trigger works

LGTM 👍