V2 - Appropriate error message is not displayed when trying to identify a user associated with another company as CLA manager

Prerequisite

Create a CLA group with CCLA enabled
Add github repository for the CLA group
Generate template

Steps to Follow

Login to Github as corporate contributor
Navigate to the repository used in prerequisite
Create PR
CLA check fails
Click on CLA NOT SIGNED
Contributor is redirected to Contributor Console
Click on Proceed as a Corporate Contributor
Select Company that has not signed CLA for the project
Click No
Enter Email Id of user associated with another company
Observed that API response is displayed as it is and user friendly message is not displayed

Verified that the issue is fixed and cla-manager-designee role is assigned


Enum type casting

I was very surprised to discover that connexion does not currently support type casting of swagger enum types to the python enum type (according to the docs and my own testing).
This is a feature request to support such casting.
type: string
enum: [value1. value2]
x-openapi-enum-class: myproject.mypackage.MyEnum

When I use the above parameter definition I would love to be able to receive MyEnum types as arguments to my controller functions. Even better, since we're specifying x-openapi-enum-class the enum values could be inferred without having to specify them twice.
Apologies if this is already supported and I somehow missed it.

Is anyone implementing this? Are the maintainers okay with adding this feature to Connexion? If no one is implementing this I would gladly volunteer to implement it.


Unsoundness bug: Thread-epoch can be advanced even if a pin is held

As this example demonstrates, the thread-local epoch can be advanced, even though we have the current epoch pinned:
extern crate crossbeam;

use crossbeam::mem::epoch::{self, Atomic};
use std::sync::{Arc, Barrier};
use std::sync::atomic::Ordering::Relaxed;
use std::thread;

const VALUE1: u32 = 42;
const VALUE2: u32 = 1337;

fn reset_ptr(ptr: Arc<Atomic<u32>>) {
    let g = epoch::pin();
    if let Some(shared) = ptr.swap(None, Relaxed, &g) {
        unsafe { g.unlinked(shared) };
    }
}

fn advance_epoch() {
    // This function uses unsafe, however in this case it is safe to do so,
    // or rather it should be if not for the unsoundness bug. We are are simply
    // allocating a new atomic pointer, setting it to null and asserting that
    // the old value is unreachable (which it is).
    let g = epoch::pin();

    for _ in 0..32 {
        let ptr = Atomic::new(VALUE2);
        let shared = ptr.swap(None, Relaxed, &g).unwrap();
        unsafe { g.unlinked(shared) };
    }
}

fn main() {
    let barrier = Arc::new(Barrier::new(2));
    let ptr = Arc::new(Atomic::new(VALUE1));

    {
        let barrier = barrier.clone();
        let ptr = ptr.clone();
        // The barriers are here to sync the threads so the use-after-free
        // happens deterministically. In most cases it would happen as a result
        // of a race condition.
        thread::spawn(move || {
            barrier.wait();
            barrier.wait();
            reset_ptr(ptr);
            barrier.wait();
        });
    }

    barrier.wait();
    let g = epoch::pin();
    let shared = ptr.load(Relaxed, &g).unwrap();
    barrier.wait();
    barrier.wait();

    // The thread has now finished and our shared pointer still contains the
    // original atomic value.
    assert!(**shared == VALUE1);

    // Run some unrelated code after loading the shared pointer. This code
    // should not be able to advance the epoch, since we have it pinned, however
    // it is still possible to do so.
    advance_epoch();
    advance_epoch();
    advance_epoch();

    // However as soon, our shared pointer has been freed and it now contains a
    // new value instead.
    assert!(**shared != VALUE1);
}

It looks like the problem is that pin() will call try_collect() even when in a nested critical section. try_collect() will then advance the local epoch. Should be easy to fix.


Watch for CEPs in the cluster instead of all pods

Coverage decreased (-0.04%) to 44.578% when pulling 440826f68165ba779aa807bf2440ba4adfbd7442 on pr/watch-for-ceps-only into 97f8299d6c1a0da4a3f23c296f1e719c72e94c35 on master.

test-me-please


Add cache size property description

Description

Adds in description and configuration mechanism for node.search.cache.size property

Issues Resolved

Resolves #6912

Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Naarcha-AWS , @kotwanikunal - Can we merge this PR or does it still need updates?

@hdhalter Added in the commented suggestions and rebased the branch. This is good now :)


not working with vercel deploy?

I am using https://github.com/nuxt/vercel-builder
and this is what I get in the logs

16:08:24.232	node_modules_dev/unplugin-icons/types/vue3.d.ts(2,12): error TS2614: Module '"vue"' has no exported member 'FunctionalComponent'. Did you mean to use 'import FunctionalComponent from "vue"' instead?
16:08:24.233	node_modules_dev/unplugin-icons/types/vue3.d.ts(2,33): error TS2614: Module '"vue"' has no exported member 'SVGAttributes'. Did you mean to use 'import SVGAttributes from "vue"' instead?
16:08:24.233	node_modules_dev/unplugin-icons/types/vue3.d.ts(7,12): error TS2614: Module '"vue"' has no exported member 'FunctionalComponent'. Did you mean to use 'import FunctionalComponent from "vue"' instead?
16:08:24.233	node_modules_dev/unplugin-icons/types/vue3.d.ts(7,33): error TS2614: Module '"vue"' has no exported member 'SVGAttributes'. Did you mean to use 'import SVGAttributes from "vue"' instead?
16:08:24.254	Error: Command failed with exit code 2: npx tsc --target ES2018 --module ESNext --moduleResolution Node --lib ESNext,ESNext.AsyncIterable,DOM --esModuleInterop true --allowJs true --sourceMap true --strict true --experimentalDecorators true --baseUrl . --types @nuxt/types,@nuxt/content,@types/node,unplugin-icons/types/vue,@nuxtjs/i18n --noEmit false --rootDir /vercel/path1 --outDir now_compiled nuxt.config.ts
16:08:24.254	at makeError (/vercel/bde74988fa2cf27a/.build-utils/.builder/node_modules/execa/lib/error.js:60:11)
16:08:24.254	at handlePromise (/vercel/bde74988fa2cf27a/.build-utils/.builder/node_modules/execa/index.js:118:26)
16:08:24.254	at processTicksAndRejections (internal/process/task_queues.js:95:5)
16:08:24.255	at compileTypescriptBuildFiles (/vercel/bde74988fa2cf27a/.build-utils/.builder/node_modules/@nuxtjs/vercel-builder/lib/index.js:221:3)
16:08:24.255	at Object.build (/vercel/bde74988fa2cf27a/.build-utils/.builder/node_modules/@nuxtjs/vercel-builder/lib/index.js:334:31)
16:08:24.255	at buildStep (/var/task/webpack:/@vercel/api/scripts/build-container/src/utils/purpose-build.ts:184:1) {

Also not working with next / vercel


"https://flashinfer.ai/whl/cu121/torch2.3/ " there is no files.

Hello,
I found there is no files in below link.
pip install -e . --extra-index-url https://flashinfer.ai/whl/cu121/torch2.3/

@JuiceLemonLemon not sure if i follow. Please add error logs and more details about your environment

Thank you very much for your reply, I have found the flashinfer file.


Convert from notebook with sphinx directives to notebook with markdown/html

Sorry for the completely novice question, this is based on a few short minutes of experience of nbsphinx, but I couldn't see what I was looking for in the docs/examples.
I've long wanted to be able to document stuff using rST and sphinx concepts in notebooks, things like resolving cross-references and even inclusion of docstrings etc.. Just like when documenting with sphinx, I think it is reasonable that this involves an explicit transformation to inject the information into the resulting output (in this case, that would be another notebook).
From a technical perspective we can see sphinx as a two part transformation, first it converts special rST syntax using the context it gets given about the documentation project to standard rST, and then it transforms the rST to the desired output format.
From a brief look at the code, nbsphinx does the following:

convert the whole notebook to rST
let sphinx transform the generated rST as a normal document

In order to achieve the notebook -> notebook conversion though, you'd want to:

convert rST cells to rST documents
let sphinx transform the cell (perhaps to html)
inject the transformed content back into a notebook

Given your experience developing nbsphinx, I wanted to ask the question: "how far off is nbsphinx from being able to do that?" and if the answer is "a long way away", whether you can see any pitfalls with the suggested approach (e.g. do you not get enough context for things like ToC tables, etc.)?

Heya, to note this is possible with https://myst-nb.readthedocs.io/en/latest/, which "drives" https://jupyterbook.org.
There is also some conversation about conversion to "plain" notebooks here: https://github.com/executablebooks/MyST-NB/issues/148

Heya, to note this is possible with https://myst-nb.readthedocs.io/en/latest/, which "drives" https://jupyterbook.org.
There is also some conversation about conversion to "plain" notebooks here: https://github.com/executablebooks/MyST-NB/issues/148

to note this is possible with https://myst-nb.readthedocs.io/en/latest/

Very cool! Thanks for letting me know @chrisjsewell! :+1:
I was just looking through the docs, and couldn't quite find what I was looking for:

Step 1: Take a notebook with standard sphinx declarations (e.g. :meth:`my_pkg.MyClass.my_method` ) written in rST (happy to use the MyST syntax if it has to be done in markdown)
Step 2: Run it through a sphinx project such that links & docstrings etc. are generated
Step 3: Inject the generated content back into the appropriate cell in the notebook
Step 4: Behold that the notebook now has the relevant documentation for my_method + relative links to the key parts of the documentation also generated with sphinx (therefore the notebook fundamentally belongs to the sphinx built docs)

to note this is possible with https://myst-nb.readthedocs.io/en/latest/

Very cool! Thanks for letting me know @chrisjsewell! :+1:
I was just looking through the docs, and couldn't quite find what I was looking for:

Step 1: Take a notebook with standard sphinx declarations (e.g. :meth:`my_pkg.MyClass.my_method` ) written in rST (happy to use the MyST syntax if it has to be done in markdown)
Step 2: Run it through a sphinx project such that links & docstrings etc. are generated
Step 3: Inject the generated content back into the appropriate cell in the notebook
Step 4: Behold that the notebook now has the relevant documentation for my_method + relative links to the key parts of the documentation also generated with sphinx (therefore the notebook fundamentally belongs to the sphinx built docs)

I'm not quite sure if I understand what you want to do ... do you want to have a Jupyter notebook as both input and output of the process?
I guess so, because you are saying this:

In order to achieve the notebook -> notebook conversion though, you'd want to:

convert rST cells to rST documents

let sphinx transform the cell (perhaps to html)

inject the transformed content back into a notebook

Transforming the cell into an HTML snippet sounds like something Sphinx might be able to do (although it normally creates a whole bunch of HTML files). Probably the underlying docutils is better suitable for that?
What I don't understand, however, is how you want to store the generated HTML back in the Jupyter notebook?
Jupyter notebooks cannot contain true HTML, they can only contain a subset of HTML as part of Markdown.
They actually can contain arbitrary HTML in raw HTML cells, but I don't think that's what you want because this will not be rendered in e.g. JupyterLab.
How and in what context would you like to use those hypothetical notebooks with the replaced cells?

I'm not quite sure if I understand what you want to do ... do you want to have a Jupyter notebook as both input and output of the process?
I guess so, because you are saying this:

In order to achieve the notebook -> notebook conversion though, you'd want to:

convert rST cells to rST documents

let sphinx transform the cell (perhaps to html)

inject the transformed content back into a notebook

Transforming the cell into an HTML snippet sounds like something Sphinx might be able to do (although it normally creates a whole bunch of HTML files). Probably the underlying docutils is better suitable for that?
What I don't understand, however, is how you want to store the generated HTML back in the Jupyter notebook?
Jupyter notebooks cannot contain true HTML, they can only contain a subset of HTML as part of Markdown.
They actually can contain arbitrary HTML in raw HTML cells, but I don't think that's what you want because this will not be rendered in e.g. JupyterLab.
How and in what context would you like to use those hypothetical notebooks with the replaced cells?

Perhaps an example of what I actually want to be able to do would help:
I want to store a notebook in a repository which contains sphinx style markup, e.g. :class:`my_pkg.MyClass`  as part of the prose of a broader tutorial. This could be the canonical place that I want to document "MyClass", if that is the case, I would use something like nbsphinx or myst-nb to generate html from the notebook (this bit already works thanks to these great packages! 👍 ). However, I might also/alternatively want to be able to have this context in an interactive environment inside a notebook, for example, for use in mybinder, or just in a local Jupyter environment - this would be used in the context of a tutorial where it is desirable to have some of the documentation next to code cells. In this case I want the :class:`my_pkg.MyClass`  markup to be replaced with the contents of what sphinx would generate from this. The result would be another notebook (a built notebook) with the sphinx syntax having been substituted for what sphinx would normally put in its build output (e.g. html).
The resulting notebook must necessarily either contain markdown cells (perhaps via sphinx-markdown-builder) or alternatively html which can hopefully fit into the subset of html that is supported in markdown cells in the notebook. I already appreciate that it is perfectly possible to have a code cell which gives this information via a call to help(), but this hampers the flow/readability - the prose (markdown cells) should be the place to provide this information, and the code cells should be the place to enter code, and are not the best place to read docs.

Perhaps an example of what I actually want to be able to do would help:
I want to store a notebook in a repository which contains sphinx style markup, e.g. :class:`my_pkg.MyClass`  as part of the prose of a broader tutorial. This could be the canonical place that I want to document "MyClass", if that is the case, I would use something like nbsphinx or myst-nb to generate html from the notebook (this bit already works thanks to these great packages! 👍 ). However, I might also/alternatively want to be able to have this context in an interactive environment inside a notebook, for example, for use in mybinder, or just in a local Jupyter environment - this would be used in the context of a tutorial where it is desirable to have some of the documentation next to code cells. In this case I want the :class:`my_pkg.MyClass`  markup to be replaced with the contents of what sphinx would generate from this. The result would be another notebook (a built notebook) with the sphinx syntax having been substituted for what sphinx would normally put in its build output (e.g. html).
The resulting notebook must necessarily either contain markdown cells (perhaps via sphinx-markdown-builder) or alternatively html which can hopefully fit into the subset of html that is supported in markdown cells in the notebook. I already appreciate that it is perfectly possible to have a code cell which gives this information via a call to help(), but this hampers the flow/readability - the prose (markdown cells) should be the place to provide this information, and the code cells should be the place to enter code, and are not the best place to read docs.

I don't think it's a good workflow because the notebooks lose information.

If the "generated" notebooks are distributed rather than the original one (which might happen by accident), it will not be possible to update the hard-coded information in them.

I take that. Though I could imagine though having a special syntax which preserved the original input as well as the output.
Ultimately notebooks have the characteristic already when we think of code cells...
:thinking: - I'd definitely be interested in hearing about it if somebody put such a prototype together, but I think the issue doesn't need to remain open for that (it isn't an issue with nbsphinx in itself).


Maven not working with Java 11 Dev Container

Type: Bug
I'm having real issues after creating a Java Dev Container in VSCode and I cannot figure it out.
I created the container using the prompts in VSCode, Java 11, Maven is supposed to be installed with it and the mvn command is there but that's where the problems start. After the container boots up, I open up the bash shell and enter mvn clean install which is a valid command in the POM file and I get the following back:
root ➜ /workspaces/project (dev ✗) $ mvn clean install
The JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program.
root ➜ /workspaces/project (dev ✗) $ echo $JAVA_HOME
/usr/local/sdkman/candidates/java/current
root ➜ /workspaces/project (dev ✗) $ cd /usr/local/sdkman/candidates/java
root ➜ .../local/sdkman/candidates/java $ ls
current
root ➜ .../local/sdkman/candidates/java $ java -version
openjdk version "<IP_ADDRESS>" 2022-08-12 LTS
OpenJDK Runtime Environment Microsoft-40648 (build <IP_ADDRESS>+1-LTS)
OpenJDK 64-Bit Server VM Microsoft-40648 (build <IP_ADDRESS>+1-LTS, mixed mode)

So then I use the Maven extension in VSCode and click to run the clean lifecycle button and get this:
root ➜ /workspaces/project (dev ✗) $ "/workspaces/project/mvnw" clean -f "/workspaces/project/pom.xml"
bash: /workspaces/project/mvnw: /bin/sh: bad interpreter: Permission denied

Even though I'm logged into this shell/container as root, and you can see that on the bash prompt.
Here is the devcontainer.json file, any help is appreciated
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/java
{
	"name": "Java",
	"build": {
		"dockerfile": "Dockerfile",
		"args": {
			// Update the VARIANT arg to pick a Java version: 11, 17
			// Append -bullseye or -buster to pin to an OS version.
			// Use the -bullseye variants on local arm64/Apple Silicon.
			"VARIANT": "11-bullseye",
			// Options
			"INSTALL_MAVEN": "true",
			"INSTALL_GRADLE": "false",
			"NODE_VERSION": "lts/*"
		}
	},
	// Configure tool-specific properties.
	"customizations": {
		// Configure properties specific to VS Code.
		"vscode": {
			// Set *default* container specific settings.json values on container create.
			"settings": {},
			// Add the IDs of extensions you want installed when the container is created.
			"extensions": [
				"vscjava.vscode-java-pack",
				"pivotal.vscode-boot-dev-pack"
			]
		}
	},
	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	// "forwardPorts": [],
	// Use 'postCreateCommand' to run commands after the container is created.
	// "postCreateCommand": "java -version",
	// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
	// "remoteUser": "vscode",
	"features": {
		"git": "latest",
		"aws-cli": "latest",
		"python": "latest"
	}
}

# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/java/.devcontainer/base.Dockerfile

# [Choice] Java version (use -bullseye variants on local arm64/Apple Silicon): 11, 17, 11-bullseye, 17-bullseye, 11-buster, 17-buster
ARG VARIANT="17-bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}

# [Option] Install Maven
ARG INSTALL_MAVEN="true"
ARG MAVEN_VERSION=""
# [Option] Install Gradle
ARG INSTALL_GRADLE="false"
ARG GRADLE_VERSION=""
RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
    && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi

# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
ARG NODE_VERSION="lts/*"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
#     && apt-get -y install --no-install-recommends <your-package-list-here>

# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

I think that's all of the relevant information, but I'll answer any other questions anybody else has.
VS Code version: Code 1.71.2 (74b1f979648cc44d385a2286793c226e611f59e7, 2022-09-14T21:07:15.900Z)
OS version: Darwin arm64 21.6.0
Modes:
Sandboxed: No
Remote OS version: Linux arm64 5.10.124-linuxkit

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
6, 6, 5

Memory (System)
16.00GB (0.07GB free)

Process Argv
--crash-reporter-id 28d2b1bd-d333-4c3d-94a8-365403169239

Screen Reader
no

VM
0%

Item
Value

Remote
Dev Container: Java

OS
Linux arm64 5.10.124-linuxkit

CPUs
unknown (5 x 0)

Memory (System)
7.67GB (5.25GB free)

VM
0%

Extensions (45)

Extension
Author (truncated)
Version

rtf
ale
2.5.1

flutter-snippets
ale
3.0.0

es7-react-js-snippets
dsz
4.4.3

vscode-great-icons
emm
2.1.86

vscode-firefox-debug
fir
2.9.8

auto-close-tag
for
0.5.14

auto-rename-tag
for
0.1.10

vscode-graphql-syntax
Gra
1.0.4

easy-icons
jam
0.3.1

swift
Kas
0.2.0

procfile-support
log
0.0.1

dotenv
mik
1.0.1

jupyter-keymap
ms-
1.0.0

remote-containers
ms-
0.251.0

remote-ssh
ms-
0.84.0

remote-ssh-edit
ms-
0.80.0

remote-wsl
ms-
0.66.3

vscode-remote-extensionpack
ms-
0.21.0

awesome-flutter-snippets
Nas
3.0.3

vscode-gatsby-snippets
nic
1.1.2

material-icon-theme
PKi
4.20.0

react-snippets
run
0.1.3

vscode-react-snippets
ugr
2.0.1

vscode-icons
vsc
11.18.0

vscode-todo-highlight
way
1.0.5

JavaScriptSnippets
xab
1.8.0

material-theme
zhu
3.15.5

aws-toolkit-vscode
ama
1.50.0

vscode-docker
ms-
1.22.1

python
ms-
2022.14.0

vscode-pylance
ms-
2022.9.40

jupyter
ms-
2022.8.1002431955

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.9

vscode-boot-dev-pack
Piv
0.1.0

vscode-spring-boot
Piv
1.39.0

java
red
1.10.0

vscodeintellicode
Vis
1.2.27

vscode-java-debug
vsc
0.44.0

vscode-java-dependency
vsc
0.21.0

vscode-java-pack
vsc
0.25.2

vscode-java-test
vsc
0.37.1

vscode-maven
vsc
0.39.0

vscode-spring-boot-dashboard
vsc
0.7.1

vscode-spring-initializr
vsc
0.11.0

(9 theme extensions excluded)

/extJava

It looks like this is caused by the Java extension. Please file the issue to the Java extension repository. Make sure to check their troubleshooting instructions and provide relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


Adding support to storing Container's package name for OdspDriverUrlResolver  to enable prefetching of Container's scripts

To enable prefetching of Container's scripts in parallel of loading fluid content, we would like to add a header containing the package name. For now, the plan is to start adding this support to OdspResolvedUrl and later discuss to extend it to FluidResolvedUrl (we see that this could be used by other storage drivers to improve perf).
The way I'm thinking to add this functionality is by adding a request header to and then adding it to the resolved url so we are able to access it, similar to what we do with create new filename.
Next steps:
After having the container's package name available for us, make the needed changes to the bohemia code loader to be able to leverage this information and make the network request before having completely loaded the fluid content (we can do this in parallel).
We need to take into consideration the use of cached scripts, right now we have this functionalitym but this change is going to enable us to be generic and rely on package name embedded in the link (as a header)

#3944

What i'm not seeing is how is this persisted, especially in the load case? where does the host issuing the request to load a container get this value to set it in the header? If the host already know it, then it seems they could just load the code, and it doesn't need to be in the resolved url?

Couple of thoughts:

In general, I'd like to have line of sight on how much logic around URL resolving lives in the FF driver vs our internal repo? Is there a plan for convergence? I believe we already do some trickery for the component URL in the internal repo
In terms of how we will use the information, we can probably take a staged approach, where office-web-host uses this information to manually call preload on the code loader in parallel to the loader call. Once we refine the APIs a bit, we can form an opinion on what the ICodeLoader preload API should look like and we could move the actual preload out of office-web-host and into FF driver/loader

What i'm not seeing is how is this persisted, especially in the load case? where does the host issuing the request to load a container get this value to set it in the header? If the host already know it, then it seems they could just load the code, and it doesn't need to be in the resolved url?

I have the same question, I think this has to end up in the URL. I don't have context on where the logic around encoding fluid info into the ODSP nav lives, my guess is that it is in office-web-host.

In addition to resolving urls the url reslover can also generate them via getAbsoluteUrl. I think if that function was encoding the container type in the url it would make sense, but then i don't think the load path would pass the container type as a header, as it would be expected to be encoded in the url itself.

Couple of thoughts:

In general, I'd like to have line of sight on how much logic around URL resolving lives in the FF driver vs our internal repo? Is there a plan for convergence? I believe we already do some trickery for the component URL in the internal repo
In terms of how we will use the information, we can probably take a staged approach, where office-web-host uses this information to manually call preload on the code loader in parallel to the loader call. Once we refine the APIs a bit, we can form an opinion on what the ICodeLoader preload API should look like and we could move the actual preload out of office-web-host and into FF driver/loader

So all the nav parameter encoding/sharing link generation used to live in FFX repo before 0.27. In 0.27, both the resolvers have been merged and ffx will start using the FF resolver(mostly entirely but maybe if they want to add anything on top of that then they can wrap FF resolver just like today).

I also second Tony's opinion that if the host already knows the package info(whether it adds it in url or in header), then it can do code loading stuff already. Why it needs to be added in the resolved url?

I also second Tony's opinion that if the host already knows the package info(whether it adds it in url or in header), then it can do code loading stuff already. Why it needs to be added in the resolved url?

I don't think the host will know what it is, it will need to be encoded in the URL in the nav parameter and extracted from there

Couple of thoughts:

In general, I'd like to have line of sight on how much logic around URL resolving lives in the FF driver vs our internal repo? Is there a plan for convergence? I believe we already do some trickery for the component URL in the internal repo
In terms of how we will use the information, we can probably take a staged approach, where office-web-host uses this information to manually call preload on the code loader in parallel to the loader call. Once we refine the APIs a bit, we can form an opinion on what the ICodeLoader preload API should look like and we could move the actual preload out of office-web-host and into FF driver/loader

I agree with #2, I think that is the approach we are going for.
I added the change to include the containerpackagename in the nav parameter but are we saying that headers don't work for this kind of work because we need to be able to store it in the url?

Given that the container package information is going to be stored in the real URL via the nav parameter, it feels like having it be a part of the URL rather than a header might be a better fit no?
Is the goal of the V2 URL resolver that we can just pass a share URL and it would automatically know how to decode code hint out of it?

FYI, i moved the implementation to use the URL instead of headers

The current change looks better, but i think there is still a bootstrapping problem. If the hint exists, it can add it to the url generated via getAbsoluteUrl, and those urls will also have the hint, which is good. But what about the case where there is no hint, like a storage generated url in something like an at mention email. Or is that not a case we are trying to solve here.

Before we approve any change I think we should understand and agree on the full life cycle of the hint

The current change looks better, but i think there is still a bootstrapping problem. If the hint exists, the resolver can add it to the url generated via getAbsoluteUrl, and those urls will also have the hint, which is good. But what about the case where there is no hint, like a storage generated url in something like an at mention email. In that case any link created here will also be missing the hint, and so on. Or is that not a case we are trying to solve here.

For now if there is no hint, we would not use the preloading functionality and fallback to the current behaviour. the plan was to add this and start making changes in the bohemia code loader. Right now Bohemia code loader works with the assumption that we always load office-fluid-container, with this change, we can extend the functionality to be generic and to rely on package name embedded in the link.  After that, we can discuss if we want to move the functionality to be in the FF side.

I just think we will lose the hint quickly. For instance, if someone creates a new document, creates no links, and then closes the document the hint will be lost, as it is not persisted.
We need to at least have a plan for subsequent re-openings, and how we will rehydrate the hint, as that could have implications in the hint design.

I just think we will lose the hint quickly. For instance, if someone creates a new document, creates no links, and then closes the document the hint will be lost, as it is not persisted.
We need to at least have a plan for subsequent re-openings, and how we will rehydrate the hint, as that could have implications in the hint design.

This is optimizing for the scenario where we are loading from a link, like Teams/OWA. Can you clarify what you are referring to here Tony? ODSP doc lib click or something? Do you have an alternate proposal in mind for the design here?

Any links created from a document without a hint won't have the hint, it is lost. So only links created at time of original create will have the hint. All subsequent opens from things like the doc link, mru, at mention emails, all other means of access will not have the hint, and links created there will not have it either.

Unless i'm missing something? Is there something in the PR that gets odsp to persist the container type an return it on all subsequent odsp generated links for that file?

My proposal would be to persist it a container create time and try to rehydrate if it exists. i don't know what specific mechanisms odsp has for this

My proposal would be to persist it at container create time and try to rehydrate if it exists. i don't know what specific mechanisms odsp has for this

Can you elaborate more on what this means? Adding a network roundtrip here is not an option we want to go with, what kind of mechanism are you looking for from ODSP here?
I would expect this PR to add the ability to persist this in the ODSP URLs generated from containers for copy/paste scenarios, I'm not familiar enough with the code to know where that should happen.

I thought that the change I made was doing that (persisting the container package in the ODSP url), is there something I'm missing?

You are just adding it to the resolved url which is always created afresh during create or load. It is not persisted anywhere. The most you can do currently is to just cache the resolved url but that is just for same host.
So yeah is will not persist the way you want.

You are just adding it to the resolved url which is always created afresh during create or load. It is not persisted anywhere. The most you can do currently is to just cache the resolved url but that is just for same host.
So yeah is will not persist the way you want.

were do we need to make the changes to be able to persist this?

My proposal would be to persist it at container create time and try to rehydrate if it exists. i don't know what specific mechanisms odsp has for this

Can you elaborate more on what this means? Adding a network roundtrip here is not an option we want to go with, what kind of mechanism are you looking for from ODSP here?
I would expect this PR to add the ability to persist this in the ODSP URLs generated from containers for copy/paste scenarios, I'm not familiar enough with the code to know where that should happen.

If you want to use it in copy/paste scenarios, then I think you need to add this ability in "appendDataStorePath" api. I think this is the api which is used by app resolver to generate url when copy/paste. You may need to add this hint in the url generated.

I think you will need to make another network round trip if there isn't a hint. At container create time the resolver should kick off a request to put the hint somewhere (odsp metadata?), probably doesn't need to block.
On url resolve you should make a request for that metadata. To avoid perf issue i wouldn't block the resolve on this request, eventually it will show up, and you will put it somewhere. You probably want to block getAbsoluteUrl on this request, so the hint can then be appended.

I was thinking about this a bit more, and there may be another path. We could potentially pass the containers code details to url resolver:
export interface IUrlResolver {
    resolve(request: IRequest): Promise<IResolvedUrl | undefined>;

    getAbsoluteUrl(
        resolvedUrl: IResolvedUrl,
        relativeUrl: string,

        // this param would be new and optional
        codeDetails?: IFluidCodeDetails,
    ): Promise<string>;
}

this method is called by Container, so has easy access to them. This should also get rid of the need to have the ResolvedUrl involved. I think i'm ok with this, as the codeDetails and the url resolver are already something the host needs to be aware of, so it doesn't feel like it's introducing new concepts, or crossing our layer boundaries. I don't love the mixing of code loading and drivers, but it does make it natural to encode package details into the url in a runtime agnostic way.
Curious what @ChumpChief , @vladsud , and @curtisman  think about this idea.

It sounds reasonable to me

Catching up here. Looks like there are 2 questions:

Adding the container hint to the URL (works for the scenario flow) - this is critical to our shipping scenarios in Dec.
How do we handle other cases where a sharing link is generated from other sources (like DocLIb etc.)?

We can work with the Sharing team to see how to add hints here in general. There might be prior art we can fallback on here.

this was fixed by #4001


[Event Request] Codeunit Intrastat Document Completion (331), Procedure "DefaultPurchaseDcouments"

Hi,
we need to transfer additional values from Intrastat Setup to the Purchase Header, so would like to suggest the event "OnAfterDefaultPurchaseDocuments" in procedure "DefaultPurchaseDocuments":
OnAfterDefaultPurchaseDocuments(Rec, IntrastatSetup);`
The signature of the event looks like this:
    [IntegrationEvent(false, false)]
    local procedure OnAfterDefaultPurchaseDocuments(var Rec: Record "Purchase Header"; IntrastatSetup: Record "Intrastat Setup")
    begin
    end;

Thanks!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Implement validation monitoring

Alert on invalid package validation result
Ensure all packages are getting validated

This could be a query against packages table for Validating duration > some threshold
Note: before blocking validation is enabled, we can keep the existing monitor (has its own cursor)

MDS runner for queue size and dead-letter queue size

this talks to both Service Bus and ASQ

All this needs is alerting.


Change default find mode to Dynamic Hybrid

This PR changes the default find mode to "DynamicHybrid" also known as Find Mode 5 which would result in reduced initial iteration time on novel networks.
Additional details can be found in Issue #398

Good! But do we have any results of performance testing of Hybrid vs. DynamicHybrid?

Good! But do we have any results of performance testing of Hybrid vs. DynamicHybrid?

I have created that PR for this purpose.

@JehandadKhan

Good! But do we have any results of performance testing of Hybrid vs. DynamicHybrid?

I have created that PR for this purpose.

So we do not have immediate goal to merge it?
Actually I thank that export MIOPEN_FIND_MODE=DYNAMIC_HYBRID should be easier to use because:

you do not need to rebuild anything
you can use any baseline for testing (develop, staging or mainline branch, any git hash)

Or this looks too complicated for our CQE team?

@atamazov @junliume This PR passes the CI and may be merged

Let me try some manual perf testing first.

@atamazov @junliume This PR passes the CI and may be merged

Let me try some manual perf testing first.


Clickable checker names and severity levels on statistics view

It would be a nice extension to the statistics view if the user clicks on a :

[ ] checker name a filter view would be shown where the checker name is selected and the result list is filtered
[ ] severity level a filter view would be shown where the severity level is selected

Filtering should use the selected runs at the statistics view.

We already have an issue for this: #905.

Thanks!
I will extend that with the clickable severity option.


Replace pkg/client/generic with dynamic client from client-go

pkg/client/generic is legacy we inherited from KubeFed. It is an unnecessary layer of abstraction and has different usage patterns from client-go's dynamic client. We'd like to standardize all clients to those provided by client-go.

All packages in pkg/client are generated except pkg/client/generic. After pkg/client/generic is removed, we should rename pkg/client to something like pkg/generated to better reflect its status.


Writing a flutter project is very slow

Writing a flutter project is very slow. Hopefully this will improve the problem of writing a flutter too slowly

Can you be more specific about what is slow?
If the provided functionality is provided by an extension for flutter, can you file the issue there?
VS Code does not provide any support for Flutter out of the box.


Setting Input Value With Alt Input Value

Currently, using your library, I have a working calendar that has an input value and an alt input value. One thing that was asked of me was to have the ability to be able to manually edit the calendar and when you click away from the input box, the calendar will automatically update with the new value.
I am using your example here: https://jsfiddle.net/chmln/qf2b5yLa/2/ to try and get it to work however it does not. I assume it is due to the dates being the different formats and therefore it cannot set one to the other. Is there a built-in way to handle this?
Trying to extract the date with something like this doesn't work either as it believes that the day and months are the opposite way round:
myDate.getFullYear() + "-" + (myDate.getMonth()+1) + "-" + myDate.getDate();
Example code:
datePickerLoad : function(){
    	var optional_config = {
    		dateFormat: "Y-m-d",
    		altInput: true,
    		altFormat: "d/m/Y",
    		allowInput: true,
    		minDate: "1900-01",
    		onChange: function(selDates, dateStr) {
    		  	this._selDateStr = dateStr;
    		},
		onClose: function(selDates, dateStr, instance){
			if (this.config.allowInput && this._input.value && this._input.value !== this._selDateStr) {
			    this.setDate(this.altInput.value, false);
			}
    		}
    	}

    	$(".date-picker").flatpickr(optional_config);
},

flatpickr version used: v2.5.7
Browser name and version: Chrome: 57.0.2987.110 (although FireFox seems to have the same behavior)
OS and version: Ubuntu 16.04

EDIT: I ended up using moment.js to get it working (although matching up the differing date formats was fiddly) but it doesn't look as nice as letting flatpickr handle it all probably would have which is a shame. So I'll likely close this issue.

Hey @huseyinham
You got very close to making it work.
setDate() takes a third param where you specify the date format of the string you're passing in.
So all you had to do was
setDate(this.altInput.value, false, this.config.altFormat);

You should also use something like Cleave to enforce the typed format.
https://jsfiddle.net/chmln/2r3j0rgs/4/

P.S. flatpickr exposes its date parser and formatter, so you could even avoid moment.js altogether.

Flatpickr.prototype.parseDate("2016-10-20", "Y-m-d")

Thu Oct 20 2016 00:00:00

Flatpickr.prototype.parseDate("31/01/1995", "d/m/Y")

Tue Jan 31 1995 00:00:00

Flatpickr.prototype.formatDate(new Date(), "Y-m-d h:i K")

"2017-04-24 11:56 AM"

Thanks! As I said, I got the result I wanted in the end using moment.js but I'd obviously rather make the code shorter and neater overall so I'll give your suggestions a go.
Sorry for clogging up your repo with my silly questions :)

@huseyinham no problem! I'll close the issue but feel free to ask questions if you need help with anything

Hi,
Shouldn't this be the default behaviour anyway? That is:

user tabs focus to a flatpickr's altinput-enabled ; flatpickr opens;
but the user enters a date by keyboard (because allowInput: true);
user tabs on to the next input; flatpickr closes and...
flatpickr takes in the value entered as if it had been picked from the calendar.

As it (currently) is, that last step doesn't happen. To the end-user however this is a source of confusion, because visually, everything appears to be okay; the value has been entered and it seems as if it has been blissfully accepted. However, as soon as the time comes to validate the form, it responds as if nothing has been entered at all (presuming no earlier value existed).
Would you agree that the latter is not likely to be what one would expect?
I used this (closed) issue as the hook to hang this coat on because it already describes the exact problem we're currently facing; hope that's allright.

@chmln thank you so much, that cleave.js example is 🥇

Hi! I had the same problem described in this issue, so I applied the solution described by @huseyinham and it works properly, except in one case. What happens if you want to remove a date previously introduced? You can't because inside onClose event you're checking for this._input.value so if this value is blank the setDate method won't be called. Also the this._selDateStr is always undefined, so I've removed this check.
Thanks for your work.

@vlledo Not quite sure what your goals are, but you could detect deletion in  onChange whether selDates.length > 0, and if its not


State reconciliation via snapshots

The app needs to keep consistent state with events from from the websocket and the entire state snapshot from the  REST API. It needs to keep track of what it knows and reconcile new information so that the UI can be powered by incremental changes and nice animations.
This ticket represents the work of receiving new entire state snapshots.

Estimate: 2 days, already spent a day on it.


Videos do not play back

It appears that videos do not play back at all. The gallery and stuffs loads, but clicking on a video just yields a black screen, with the total time being 0:00 and it is impossible to play.
On the server side in the activity log it only shows "user finished playing title", never that it was started.

This seems to be fixed in 0.2.0, thank you!


Define how to create the external test group

Process & structure.
Goal: create an external test group (restaurants) with 6-12 members with the purpose to test ideas, features before developing or deploy with prototypes and usability tests.
Some basic points:

Define the strategy for approach;
Find between 6 a 12 people that fit with our personas;
Write one or more mail template for different interactions;
Define if we need/should to give some kind of reward (voucher, paid account, etc);

All of you feel free to add more points here in this comment.

Should we create a project out of this and putting the steps needed there? Would you prefer to do it here or in the main repo? Let me know if I can help.

For me the main repo with steps needed sounds good because if we need to repeat the process it's easier – or if someone else needs to get in to the process. Here can come up with the idea and then create another project or issue with the final steps, email templates, rules, etc.

If we are doing it in the main repo, can you close this and create an issue there @fabiennepimenta ?

I can but I just need to understand this a bit better. Let's talk next week @menor , ok?


[DUOS-2531][risk=no] Test helper cleanup

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-2531
Summary
Minor PR to start the cleanup of DAOTestHelper. Essentially, we need to move all protected object creation out to the test classes that need the populated objects. This PR doesn't partially addresses that. Future PRs will complete the task.

Have you read CONTRIBUTING.md lately? If not, do that first.

Label PR with a Jira ticket number and include a link to the ticket
Label PR with a security risk modifier [no, low, medium, high]
PR describes scope of changes
Get a minimum of one thumbs worth of review, preferably two if enough team members are available
Get PO sign-off for all non-trivial UI or workflow changes
Verify all tests go green
Test this change deployed correctly and works on dev environment after deployment

Still through this, but one thing I am concerned about with this approach is refactorability. If, e.g., datasets get a new required field, you have to change it in 30 different places, and I could see that leading to hard to catch bugs and more headache as a developer. I feel that if there are different needs between DAOTest classes, then there should be different/appropriately named functions within the DAOTestHelper. That way it's the most flexible to future changes. However, I won't hold this ticket up, since I know you prefer this approach, I just feel a bit hesitant about it.

but one thing I am concerned about with this approach is refactorability. If, e.g., datasets get a new required field, you have to change it in 30 different places, and I could see that leading to hard to catch bugs and more headache as a developer.

This is the problem what this PR is trying to solve, but what is true now is the reverse. Every test class needs some flavor of object creation and by consolidating all of that into one class, we end up creating an uber-service class that is in fact unmanageable, hard to debug, and forces the developer to go into every usage of that class across all sorts of unrelated test classes. Every change to Institution, for example, if it were consolidated in one place, will side affect every other class that needs it outside of the single class that needed the change. We've seen this happen with User, DAR, DAC, etc. Each time a test class needs a slightly new flavor of the class, we create a variation of a create method in the main helper class. The idea here is to make test classes independent.

I totally get where you're coming from as far as creation code that might need variations across DAOTest, I just think this makes it even more complicated / adds more places code needs to change for the more common case that instantiation code does not change.


Localization process updates

Add a note that

strings with mobile prefix are from the RN app
PR is submitted to both platform and mattermost-mobile repos

@enahum let me know what you think?
I'll let the localization community know as well once this PR is approved


Vehicles Should Not Move More Than One Lane at a Time

Basic concept is below. In many countries it's illegal to make any lane change outside of the one closest to the curb (or, if turning from a double right (left for left-hand), the next closest one to the curb).

Of course, realistically in certain situations, it's almost remotely impossible to turn into the nearest lane. This means if our destination is nearby (possibly the next or near tile in the Vehicle Grid) then they should be allowed to cross multiple lanes.

But, at this specific example, most people don't do that, they do this.

Possibly what we could do is temporarily set the path's target lane before we make the turn, and at the same time store the original path's lane, and have the vehicle move over after they've already turned. Although I'm unsure of the complications of this.
Also, this not only happens at turns. Often I'll find vehicles in the game crossing from the innermost lane to the outermost lane, crossing a total of 6 lanes. This is completely unrealistic and is a federal crime in the real world. I'd assume this has a lot to do with the realistic vehicle AI, so it is probably more in that category. Just wanted to put this out there, however.

Technically, if that's a static rule it can be implemented by introducing lane transition costs for junctions in RoutingManager. If behavior depends on the traffic situation we can extend DLS logic.
Current implementation:

At via nodes (node connecting exactly 2 segments): During path-finding time we already penalize multi-lane changes:

At junction nodes, possible lane transitions are directed by the routing engine (https://tmpe.viathinksoft.com/wiki/index.php?title=Junction_%26_transition_routing). All lane transition costs are always set to zero.

Besides technical aspects:
I don't know whether there is a strict rule that prohibits vehicles from turning to an inner lane while turning right in the US. At least for Europe I am not aware of any such kind of rule.
I just asked my girlfriend what she would do in this situation:
"Would you rather (1) first turn to the outermost lane and then later switch to one of the two left-turning lanes or (2) would you go directly for them while turning right?"
Her answer was: "It depends. If there was conflicting traffic coming towards me I would probably do (1), otherwise (2)". I probably would have given the same answer.

This page from Utah's Driver's Handbook might be helpful with the implementation and logic of this feature. Funnily enough, it also has a small amount of information about #25 (turn-on-red) logic for one-way roads.
For archiving's sake, I will post the important section from the handbook here.
RIGHT TURNS
Signal right for two seconds. Do not swing wide to the left
before a right turn and always turn right from the right side
of your lane.
LEFT TURNS
Signal left for two seconds. Yield to oncoming traffic and
always turn left from the left side of your lane.
MULTIPLE LANES
Enter the same lane from which you are turning and stay
in that lane until the turn is finished.

A person may not operate a vehicle over, across, or within
any part of an island.

This is a test comment.

What handbooks say and what drivers do are often two different things ;)

While this is correct, some of the moves I've been watching vehicles do are extremely dangerous and would result in their death. And even though I've seen people cross multiple lanes, I haven't seen them do it nearly as much as you would expect. Later today I might be able to get some images of some examples, as well as possibly some in-game clips of these death-resulting actions. For all I know maybe all we need to do is tone down the severity of how sharply they turn.

What handbooks say and what drivers do are often two different things ;)

... which is why we go to our girlfriends for advice on traffic management ;P


test: fix broken apps system tests

This PR fixes the apps system tests (prior to this, 11/15 were failing).  This PR is a good pre-requisite to my main sprint tasks of adding a couple new system tests.
The tests were failing because the JSON structure was changed, and a couple text fields on the UI have been re-labeled. After this change, all these tests should be passing. However, these tests are still pretty brittle because they depend on JSON structure, and many string values of labels on the pages. They look suspiciously like integration tests, and we should discuss how to approach system tests moving forward.
Checklist

[ ] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

@ahoskins could you please align the commit message with our contribution guideline?

The pod and job test still fail but all the app ones pass. Great Job! ⚒ 💯

Updated the commit name! @orlandohohmeier, github seems to have automatically dismissed your review since the commit is updated. Also, @tnguyen0, can you take a look at this please?


docs: fix hyperlink

Fix broken LINE developer links.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.543%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
930

Relevant Lines:
996

💛  - Coveralls


dual-function-keys: 1.4.0 -> 1.5.0

Description of changes

https://gitlab.com/interception/linux/plugins/dual-function-keys/-/compare/1.4.0...1.5.0?from_project_id=18984568&straight=false
Notable new feature: Allow HOLD_START: AFTER_RELEASE to avoid sending the hold action until the key is released. Useful for auto-shifted keys.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 275026 run on x86_64-linux 1

1 package built:

interception-tools-plugins.dual-function-keys


Cannot package with npm3

With npm3 comes the flat modules hierarchy: http://blog.npmjs.org/post/110924823920/npm-weekly-5
As a consequence: I cannot packager anymore my aria templates project:

As you can see in the screenshot, the grunt task easypackage tries to load the atpackager tasks with an incorrect path...
I think the method getModulePath from https://github.com/ariatemplates/ariatemplates/blob/master/tasks/task-easypackage.js#L19 must be updated in order to allow the flat modules hierarchy.

A temporary workaround is to enable the legacy mode for npm by creating a file name .npmrc in the root folder of my project and add the follozing line in the file:
legacy-bundling=true
More information at: https://docs.npmjs.com/misc/config#legacy-bundling

@divdavem thks for the fix ;)


Add the GSG underfs extension module

@calvinjia  Addressed the comments, mainly do
(1) support list directory without recursive.
(2) use writer in outputStream
PTAL, thanks


Feature: SsrSite Basic Auth

There have been some more requests on basic auth support for SsrSites.
Currently, SsrSites configures a VIEWER_REQUEST CloudFront function to set the x-forwarded-host headers: https://github.com/serverless-stack/sst/blob/master/packages/sst/src/constructs/SsrSite.ts#L899
But when a user configures their own VIEWER_REQUEST, it will be ignored since CF uses the first one
      functionAssociations: [
        ...this.buildBehaviorFunctionAssociations(),
        ...(cfDistributionProps.defaultBehavior?.functionAssociations || []), // VIEWER_REQUESTS here are ignored
      ],

Proposal:
Add basicAuth config prop to the site config property, eg:
basicAuth?: {
   username: string,
   password: string
}

Update:
  private createCloudFrontFunction() {
    const {username, password} = this.cdk...basicAuth;
    const basicAuth = `
      var authHeaders = event.request.headers.authorization;
      if (authHeaders && authHeaders.value === "Basic ${Buffer.from(${username}:${password}).toString('base64')
}"}) {
        ${this.buildConfig.serverCFFunctionInjection || ""}
        return event.request;
      }
     return {
        statusCode: 401,
        statusDescription: "Unauthorized",
        headers: {
          "www-authenticate": { value: 'Basic realm="Secure Area"' },
        },
      };
    `;
    const normal = `
      ${this.buildConfig.serverCFFunctionInjection || ""}
      return request;
    `

    return new CfFunction(this, "CloudFrontFunction", {
      code: CfFunctionCode.fromInline(`
function handler(event) {
  var request = event.request;
  request.headers["x-forwarded-host"] = request.headers.host;

  ${this.cdk.basicAuth ? basicAuth : normal}
    });
  }

I suspect the best way to handle this that doesn't force a specific auth implementation is to fix the injections prop for AstroSite construct.
The this.props from Line 80 needs to also extract the injections prop, and then place that prop in end of each of the injections arrays here: https://github.com/sst/sst/blob/2bba12c7b031f13f70bcbb03499f434db3cc554e/packages/sst/src/constructs/AstroSite.ts#L96-L108

Should be done at the SsrSite level right?

It's already supported on the SsrSite level through the plan hook with the cloudFrontFunctions property. It just needs to be added to the dependent Constructs (like AstroSite).
https://github.com/sst/sst/blob/2bba12c7b031f13f70bcbb03499f434db3cc554e/packages/sst/src/constructs/SsrSite.ts#L923-L944
If you wanted to use SsrSite directly you could achieve this by extending the SsrSite construct before you instantiate it. (I haven't tested this, just an idea).
const {username, password} = this.cdk...basicAuth;
const basicAuth = `
  var authHeaders = event.request.headers.authorization;
  if (authHeaders && authHeaders.value === "Basic ${Buffer.from(${username}:${password}).toString('base64')
}"}) {
    ${this.buildConfig.serverCFFunctionInjection || ""}
    return event.request;
  }
 return {
    statusCode: 401,
    statusDescription: "Unauthorized",
    headers: {
      "www-authenticate": { value: 'Basic realm="Secure Area"' },
    },
  };
`;

class MySsrSite extends SsrSite {
  protected plan() {
    const plan: Plan = {
      cloudFrontFunctions: {
        serverCfFunction: {
          constructId: "CloudFrontFunction",
          injections: [
            this.useCloudFrontFunctionHostHeaderInjection(),
            basicAuth
          ]
        }
      }
    }
    return this.validatePlan(plan);
  }
}

Cool, then I can probably close this feature ticket. @jayair can you add some documentation around basic auth (see code above)

Oh interesting.

Yeah we've been getting requests for all sorts of customization. Most requests are quite niche/advanced. For example, we added the enableServerUrlIamAuth for enabling IAM auth for the server function URL a while back, which I sense very few people need.
I added a cdk.transform prop, which takes a callback that lets your customize the site.
Quick refresher, each site has this concept of a plan that defines the origins, edge function, CF functions, etc that are going to be created. See NextjsSite's plan here. With this callback, you can customize the plan like this:
new NextjsSite(stack, "Web", {
  cdk: {
    transform: (plan) => {
      const basicAuth = `...`;
      plan.cloudFrontFunctions.serverCfFunction.injections.push(basicAuth);
    },
  },
});

Over time I can see plan support more customization options. You run the risk of breaking/maintaining the transform.
This will be in the next release. Let me know if it makes sense.

Added an example here https://docs.sst.dev/constructs/NextjsSite#advanced-examples

@fwang, that's a much better approach than extending the construct class.  Is the plan parameter typed or does it come through untyped?

Yup should be typed

I believe I may have caught this a bit late, but it appears there might be some discrepancies in the documentation. It's possible that the code examples provided by @fwang were directly inspired by the initial pseudocode from @bayssmekanique.
To make it work you must return the value like:
const basicAuthInjection = `
if (request?.headers?.authorization?.value !== '${Buffer.from(${username}:${password}).toString('base64')}') {
  return {
    statusCode: 401,
    statusDescription: "Unauthorized",
    headers: {
      "www-authenticate": { value: 'Basic realm="Secure Area"' },
    },
  };
}`;

@eduardokanema the syntax doesn't seem to be correct for me in this part

And when I fix it like this (I call this function to get the injection) - credentials are requested, but never accepted.
const basicAuthInjection = (username: string, password: string) => {
  const userPwdPair = `${username}:${password}`;
  const encodedPair = Buffer.from(userPwdPair).toString('base64');

  return `
if (request?.headers?.authorization?.value !== '${encodedPair}') {
  return {
    statusCode: 401,
    statusDescription: "Unauthorized",
    headers: {
      "www-authenticate": { value: 'Basic realm="Secure Area"' },
    },
  };
}`;
};

What am I doing wrong?

@Roman86, that's better asked in the sst-astro Discord.
Running the function from the console might be easiest way to debug this.

thanks @bayssmekanique ! The code was invalid for sure. I've managed to make it work. Thanks for the discord link btw. Many people may come here while searching the topic, so I've updated my question by turning it into the working solution

I had just updated the docs with the basic fix: https://github.com/sst/sst/pull/3716


Ability to refer to a path relative to the current scope in use declarations

(Note that this is not about the ability to refer to the current module, which is already possible with use self::foo.)
Rust allows declaring modules, enums, and extern crates in most places where items can be declared, including block scopes inside functions.
One use of this is bringing an extern crate into scope inside a conditional branch:
fn show_message(message: &str) {
    if (inside_a_gui_context) {
        extern crate messagebox;
        // Import trait Messagebox
        use messagebox::Messagebox; // Doesn't work
        ...
    } else {
        println!("{}", message);
    }
}

The problem is that there is no way to refer to items declared this way in use declarations, as paths in use declarations are absolute.
It feels inconsistent being able to declare items like this, but not being able to refer to them in use declarations, and might surprise some users. It did surprise me.
While referring to the items inside can be done by using their full relative path (e.g. do_something_with(messagebox::foo)), there is no way to import traits, so the user has to move the module/crate up to a scope where it can be referred from in use declarations.
One way this could be resolved is to give users a way to refer to a relative path in use declarations.
Options include:

Using a keyword , e.g. use relative::messagebox::Messagebox, although I'm not sure reserving a new keyword this late in the alpha is desirable.
Using _, as in use _::messagebox::Messagebox, but I'm not sure if _ could otherwise refer to a valid path. It's also not as descriptive as a keyword, but still better than nothing.

The general ability to use relative paths in use declarations might also bring ergonomic benefits in other cases too.
Any thoughts on this issue?

Not sure I understand the issue. I think @eddyb has the best understanding of this area.

Another option would be to change the existing use self::messagebox::MessageBox semantic to refer to all items currently in scope, which would include the items inside a block if the use is written inside the block.

This seems like it should enter FCP.

If not outright considered a bug.

I think I've run into this issue with Maud.
I'd like to write a function-like proc macro that expands to the following expression (where $expr and $output` are arguments to the macro):
{
    extern crate maud;
    use maud::Render;
    $expr.render_to($output);
}

But because of this issue, the use statement fails to compile.
I could call the trait method directly (maud::Render::render_to(...)) but then I lose autoref.
I ended up working around this issue using a forwarding trait + blanket impl:
{
    extern crate maud;
    trait RenderWrapper: maud::Render {
        fn __render_to(&self, output: &mut String) {
            maud::Render::render_to(self, output);
        }
    }
    impl<T: maud::Render> RenderWrapper for T {}
    $expr.__render_to($output);
}

but this feels kind of icky.

Closing in favor of https://github.com/rust-lang/rust/issues/53130.


Google Destination Credentials not loading properly from ENV variables.

dlt version
0.4.12
Describe the problem
There's a mismatch of functionality when importing google credentials from .dlt/secrets.toml and ENV VARS.
I set the following configs for the default BQ authentication:
[destination.filesystem]
bucket_url = "<bucket_url"
[destination.credentials]
project_id = <project_id>
private_key = <key_id>
client_email =
Following this guide: Following this guide: https://dlthub.com/docs/general-usage/credentials/config_providers
I converted to the env variables:
export DESTINATION__FILESYSTEM__BUCKET_URL=<bucket_url>
export DESTINATION__CREDENTIALS__PROJECT_ID=<project_id>
export DESTINATION__CREDENTIALS__PRIVATE_KEY=
export DESTINATION__CREDENTIALS__CLIENT_EMAIL=
But when running the pipelines this error is raised that leads me to believe that it's trying another route for auth, using OAUTH2:
  File "/usr/local/lib/python3.12/site-packages/fsspec/core.py", line 408, in url_to_fs     fs = filesystem(protocol, **inkwargs)          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.12/site-packages/fsspec/registry.py", line 303, in filesystem     return cls(**storage_options)            ^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.12/site-packages/fsspec/spec.py", line 81, in __call__     obj = super().__call__(*args, **kwargs)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.12/site-packages/gcsfs/core.py", line 319, in __init__     self.credentials = GoogleCredentials(project, access, token)                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.12/site-packages/gcsfs/credentials.py", line 50, in __init__     self.connect(method=token)   File "/usr/local/lib/python3.12/site-packages/gcsfs/credentials.py", line 228, in connect     self._connect_token(method)   File "/usr/local/lib/python3.12/site-packages/gcsfs/credentials.py", line 161, in _connect_token     credentials = self._dict_to_credentials(token)                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.12/site-packages/gcsfs/credentials.py", line 128, in _dict_to_credentials     refresh_token=token["refresh_token"],                   ~~~~~^^^^^^^^^^^^^^^^^ KeyError: 'refresh_token'
Expected behavior
No response
Steps to reproduce

Configure .dlt/secrets.toml as provided above
Run a pipeline
Convert to ENV VARS
Run the same pipeline with errors

Operating system
Linux
Runtime environment
Docker, Docker Compose
Python version
3.11
dlt data source
CSV
dlt destination
Google BigQuery
Other deployment details
No response
Additional information
No response

@LuanVCL there seems to be a bug in an old gcfs version: https://github.com/fsspec/gcsfs/issues/120. Could you let me know which gcfs version you are using and wether updating it fixes the problem?
Thanks.

I didn't manage to to retrieve the previous version, but updating solved the issue. Thanks!

Amazing thanks :)


Firewall rule creation bug

Add new firewall rule to the Security Group
Close the dialog
Open it again

No created firewall rules are shown.

Closed with #692


Permission denied on device access

While building berry, I intended to install all the make generated files inside a different directory, other than the default (/usr/share/). Just wanted not to execute make as a root user.
Now, ofc /dev/mouse gives me Permission Denied(Saw it from x server logs). Is it because berry doesn't have root access?
Is there any other way around this other than sudo make install?

I don't believe this is a berry specific issue. You're free to put the necessary binaries (berry, berryc) wherever you please. Whether or not you can run berry rootless is an X server issue.
This post might be useful: https://unix.stackexchange.com/a/439107 ?

Thank you for the guidance :)
I will investigate this further. Closing


"Type" is wrapped when there is no content below

Should look alike

Still an issue on https://www.iotexscan.io/action?actionType=createDeposit


Server Task Authoring Expressions in docs appear to be invalid

Issue Description
Documentation on Server Task Authoring, specifically the example expressions, appear to be inaccurate or no longer usable at
https://github.com/microsoft/azure-pipelines-tasks/blob/master/docs/authoring/servertaskauthoring.md
Additionally the link these docs provide for more information does not appear to address expressions in the same terms as the Server Task Authoring documentation and focuses on pipeline variables rather than api responses.
Specifically I am trying to match if a basic value in an API response is present.
Sample API response:
[ {
  "active" : true,
} ]

I am trying to write an expression that checks if active is present, if active is true, or any way to parse this API response for use in an extension task.
Have tried:
eq(root['active'], 'true')
eq(count(jsonpath('$.active=='true')), 1)
eq(count(jsonpath('$[?(@.active==true)]')), 1)
ge(count(root['active']), 1)
and numerous other possibilities (including adding not() encapsulations) but have not been able to get an expression to work correctly.
Any help appreciated!
Thanks!
Required Information
Documentation on Server Task Authoring, specifically the example expressions appear to be inaccurate or no longer usable.
https://github.com/microsoft/azure-pipelines-tasks/blob/master/docs/authoring/servertaskauthoring.md
Question, Bug, or Feature?
Type: Quesion
Enter Task Name: Is the Server Task Authoring documentation still accurate or not? If it is not, it should be removed. Specifically the example expressions do not appear to work.
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment
Azure Pipelines
Agent - Hosted

I was able to find a solution after trying numerous others that seemed to validate fine in online validators 🤷
What worked for me was
"Expression": "not(eq(jsonpath('$.[0].active')[0], 'true'))"


Remove listWithStatistics from launchQueue

In this change we remove ListWithStatistics, List, and related query methods from LaunchQueueActor and TaskLauncherActor. The statistics that powered are now more directly collected from their authoritative components and aggregated using a newly introduce LiveFold sink component. The LiveFold sink allows the current fold value to be queried at any point in time, and feeds the results in /v2/queue.
JIRA Issues: MARATHON-8222

@jeschkies  RateLimit updates needed a new home for aggregation. LiveFold was a nice abstraction that worked for multiple things.
InstanceTracker did not have timestamps tracking when they entered provisioned or scheduled states. Also, doing a full scan for all 15,000 instances to see which ones are in those states would've been a tad tedious as /v2/queue gets queried often. Introducing /v2/queue statistics concerns in to InstanceTracker (adding the timestamp, maintaining an index of scheduled / provisioned instances) would've grown the InstanceTracker and made it more complex. LiveFold was a way to reduce overall intimacy with components in the system. With LiveFold, InstanceTracker has no dependency on the LaunchStats, nor does it implement any special concern for it; it is rightfully the other way around. The interaction between two two components is pretty strictly limited.
Additionally, the RateLimiter can just emit updates about delays and not have to know anything about collecting stats, responding to special queries, etc. Subscribe is a very simple concept and there are multiple entities in our system that are concerned with receiving RateLimiter updates. We were able to proverbial kill multiple birds with one stone by implementing a Subscribe mechanism for RateLimiter, and then using a LiveFold to aggregate events received as a result of that subscription for LaunchStats.


Application Icon destroyed on MacOS

VS Code Version: 1.55.0 Commit: c185983a683d14c396952dd432459097bc7f757f
OS Version: MacOS 11.2.3 (20D91)

Steps to Reproduce:

Download the brand new universal version from official webset
The small icon is in a mess:

The Big icon is not disrupted, but smaller icon is, you may found this in activity monitor:

Does this issue occur when all extensions are disabled?: Yes

Find me via email<EMAIL_ADDRESS>

/duplicate of #120305


New repo name?

Martin says “async” is a temporary, placeholder name, but what will it change to?
(one motivation, I think, is to avoid any confusion with https://github.com/scala/scala-async and/or https://github.com/rssh/dotty-cps-async)

fiber

We will soon be changing it to gears :)

We will soon be changing it to gears :)

Radiation ，wow, looking forward for feature update.


Pandora Station Scrobbling

When scrobbling my Pandora stations, it sets the song to "Band-Name Radio", instead of the track that actually played!
You can see this on my LastFM feed.
https://www.last.fm/user/zquestz
Also, seeing a few duplicates. We have 8 BluOS Nodes in the house, and we link rooms together. Probably a larger setup than most users.
This app is awesome and other scrobbles seem to be perfect, would love to get this little issue fixed!

Thank you for taking the time to write this issue and for your valuable feedback. Since Pandora is not available where I live, would you be able to provide a sample output of what a Node gives as its status when you are playing a Pandora radio?
You can query a player with an IP like this on macOS or Linux using curl (or Postman or which tool you prefer):
curl http://<player_ip>:11000/Status
If you could provide the XML output that you get, it would help me fix the issue as the documentation is a bit vague on this particular case.
Regarding the duplicates from many players: It might be that in a setup like yours the players will each report when they are done playing a track. Am I correct that you are seeing as many scrobbles per track as there are players in a given room / group?

There seems to be an issue related to the fact that because if not playing, say files from a network drive, but streaming from a streaming service the name attribute is not available so blu-hawaii uses title1. However, when streaming certain network radios, like Radio Paradise, the title1 field will include the name of the stream/station, not the track playing. I suspect that this is the case with Pandora too.
Example, Radio Paradise:
...
<album>Things are changing</album>
<artist>Gone Gone Beyond</artist>
...
<title1>RP Main Mix</title1>
<title2>Things are changing</title2>
<title3>Gone Gone Beyond • Things are changing</title3>

Playing from a file on network drive:
...
<album>Faded Caprice</album>
<artist>E.R.P.</artist>
...
<name>Let's Amble</name>
...
<title1>Let's Amble</title1>
<title2>E.R.P.</title2>
<title3>Faded Caprice</title3>

Streaming from Tidal:
...
<album>Imaginal Disk</album>
<artist>Magdalena Bay</artist>
...
<title1>She Looked Like Me!</title1>
<title2>Magdalena Bay</title2>
<title3>Imaginal Disk</title3>

It would be possible to use the service id, but that would be brittle as services might get added or renamed. Let's see the Pandora output as well to be able to determine if some simple rule could be used to determine which title to use.
Like, if title2 matches the artist and title3 the album, use title1, else use title2. Too bad that the API does not return better data here.

I am out of town for a couple days, but will get you that sample XML output as soon as I get home. 😀-JoshOn Sep 12, 2024 11:36 PM, Janne Liuhtonen @.***> wrote:
Thank you for taking the time to write this issue and for your valuable feedback. Since Pandora is not available where I live, would you be able to provide a sample output of what a Node gives as its status when you are playing a Pandora radio?
You can query a player with an IP like this on macOS or Linux using curl (or Postman or which tool you prefer):
curl http://<player_ip>:11000/Status
If you could provide the XML output that you get, it would help me fix the issue as the documentation is a bit vague on this particular case.
Regarding the duplicates from many players: It might be that in a setup like yours the players will each report when they are done playing a track. Am I correct that you are seeing as many scrobbles per track as there are players in a given room / group?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Here is the sample output XML.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<status etag="8140fd864cae756060b386cafe4e4258">
<actions>
  <action hide="1" name="back" />
  <action name="skip" url="/Action?service=Pandora&skip=TR%3A2166321" />
  <action icon="/images/loveban/love.png" name="love" notification="Pandora will play more tracks with similar music qualities." state="-1" text="Love" type="thumbs" url="/Action?service=Pandora&love=TR%3A2166321" />
  <action icon="/images/loveban/ban.png" name="ban" notification="This track won't play on this station." state="-1" text="Ban" type="thumbs" url="/Action?service=Pandora&ban=TR%3A2166321" />
</actions>
<album>Prana Pulse</album>
<albumid>AL:191326</albumid>
<artist>Shaman's Dream</artist>
<artistid>AR:213207</artistid>
<canMovePlayback>true</canMovePlayback>
<currentImage>https://content-images.p-cdn.com/images/11/92/78/b5/01bd4f0bbf2e3324fe8a6577/_640W_640H.jpg</currentImage>
<cursor>0</cursor>
<db>-28.5</db>
<image>https://content-images.p-cdn.com/images/11/92/78/b5/01bd4f0bbf2e3324fe8a6577/_640W_640H.jpg</image>
<indexing>0</indexing>
<mid>15</mid>
<mode>1</mode>
<mute>0</mute>
<pid>10</pid>
<prid>0</prid>
<quality>191000</quality>
<repeat>0</repeat>
<schemaVersion>34</schemaVersion>
<service>Pandora</service>
<serviceIcon>/Sources/images/PandoraIcon.png</serviceIcon>
<serviceName>Pandora</serviceName>
<shuffle>0</shuffle>
<sid>140</sid>
<similarstationid>Pandora:radio:SF:16722:213207</similarstationid>
<sleep></sleep>
<song>0</song>
<state>stream</state>
<stationImage>https://content-images.p-cdn.com/images/3f/bd/73/31/cd7f42cba6358625dd80d56a/_500W_500H.jpg</stationImage>
<streamFormat>MP3 191 kb/s</streamFormat>
<streamUrl>Pandora:radio:ST:0:138214111317067420</streamUrl>
<syncStat>190</syncStat>
<title1>Shaman's Dream Radio</title1>
<title2>Nectar</title2>
<title3>Shaman's Dream • Prana Pulse</title3>
<totlen>445</totlen>
<trackstationid>Pandora:radio:SF:21586:2166321</trackstationid>
<volume>36</volume>
<secs>183</secs>
</status>

Also, Spotify has some odd output.
Here's the XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<status etag="45b2420cb661a754d1e9c24bfe99c5d0">
<actions>
  <action androidAction="android.intent.action.VIEW" androidPackage="com.spotify.music" desktopApp="spotify:open" desktopInstall="https://spotify.com/download" icon="/Sources/images/SpotifyIcon.png" iosApp="spotify:open" itunesUrl="https://itunes.apple.com/ex/app/spotify/id324684580" name="contextMenuItem" text="Open Spotify app" />
  <action name="back" />
  <action hide="1" name="skip" />
</actions>
<album>Echoes of Silence</album>
<artist>Jane Winther</artist>
<canSeek>0</canSeek>
<currentImage>https://i.scdn.co/image/ab67616d0000b273f67bb0f29db21239ad72580b</currentImage>
<cursor>0</cursor>
<db>-40.4</db>
<image>https://i.scdn.co/image/ab67616d0000b273f67bb0f29db21239ad72580b</image>
<indexing>0</indexing>
<inputId>Spotify</inputId>
<mid>15</mid>
<mode>1</mode>
<mute>0</mute>
<noCoverBackground>true</noCoverBackground>
<pid>2</pid>
<prid>0</prid>
<repeat>0</repeat>
<service>Spotify</service>
<serviceIcon>/Sources/images/SpotifyIcon.png</serviceIcon>
<serviceName>Spotify</serviceName>
<shuffle>0</shuffle>
<sid>144</sid>
<sleep></sleep>
<song>0</song>
<state>pause</state>
<stationImage>/Sources/images/SpotifyIcon.png</stationImage>
<streamUrl>Spotify:</streamUrl>
<syncStat>63</syncStat>
<title1>Spotify - playing elsewhere</title1>
<title2>Echoes of Silence</title2>
<title3>Jane Winther • Echoes of Silence</title3>
<totlen>274.377</totlen>
<volume>19</volume>
<secs>0</secs>
</status>

title1 comes in as a very odd value... "Spotify - playing elsewhere"
title2 is the album - Echoes of Silence
title3 is the artist and album - Jane Winther • Echoes of Silence
I don't see the actual track name at all.... =\
Not sure how best to fix this one.

Spotify has some odd edge case too.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<status etag="45b2420cb661a754d1e9c24bfe99c5d0">
<actions>
  <action androidAction="android.intent.action.VIEW" androidPackage="com.spotify.music" desktopApp="spotify:open" desktopInstall="https://spotify.com/download" icon="/Sources/images/SpotifyIcon.png" iosApp="spotify:open" itunesUrl="https://itunes.apple.com/ex/app/spotify/id324684580" name="contextMenuItem" text="Open Spotify app" />
  <action name="back" />
  <action hide="1" name="skip" />
</actions>
<album>Echoes of Silence</album>
<artist>Jane Winther</artist>
<canSeek>0</canSeek>
<currentImage>https://i.scdn.co/image/ab67616d0000b273f67bb0f29db21239ad72580b</currentImage>
<cursor>0</cursor>
<db>-40.4</db>
<image>https://i.scdn.co/image/ab67616d0000b273f67bb0f29db21239ad72580b</image>
<indexing>0</indexing>
<inputId>Spotify</inputId>
<mid>15</mid>
<mode>1</mode>
<mute>0</mute>
<noCoverBackground>true</noCoverBackground>
<pid>2</pid>
<prid>0</prid>
<repeat>0</repeat>
<service>Spotify</service>
<serviceIcon>/Sources/images/SpotifyIcon.png</serviceIcon>
<serviceName>Spotify</serviceName>
<shuffle>0</shuffle>
<sid>144</sid>
<sleep></sleep>
<song>0</song>
<state>pause</state>
<stationImage>/Sources/images/SpotifyIcon.png</stationImage>
<streamUrl>Spotify:</streamUrl>
<syncStat>63</syncStat>
<title1>Spotify - playing elsewhere</title1>
<title2>Echoes of Silence</title2>
<title3>Jane Winther • Echoes of Silence</title3>
<totlen>274.377</totlen>
<volume>19</volume>
<secs>0</secs>
</status>

title1 comes in as a very odd value - Spotify - playing elsewhere
That being said I don't see it scrobbling this value.

Spotify has some odd edge case too.
title1 comes in as a very odd value - Spotify - playing elsewhere
That being said I don't see it scrobbling this value.

This is because the state value is "pause", only statuses with state "stream" and "play" are processed.

Excellent, thx =)

Thank you! Looks like the logic in the PR should work. I'll add a test case with that Pandora XML, fix the track comparison and release a new version. I'll let you know when I'm done. Let's keep the issue open until we can confirm that it works.

I've also thought about the duplicates from many players problem, let's open another issue about that one? It requires a bit more investigation and the fix is not as simple as this one. 🧐

I think it might be okay. I was restarting blu-hawaii and want to do more testing on my end before I open an official ticket. =)

I think it might be okay. I was restarting blu-hawaii and want to do more testing on my end before I open an official ticket. =)

That would be much appreciated. 👍 Also any logs you could share (run with LOG_LEVEL=debug) would be really useful. Remember to redact any information that you'd prefer not to share like IPs though.

I merged #87 and released v1.2.0 that fixes this. 🚀

Can confirm the fix works! My scrobbles are looking legit!

Great! I'm closing this issue, let's continue in another one.


Add a Physical Rack model

This PR is able to add a PhysicalRack model to ManageIQ.
Today, providers are able to access all physical server directly, although this change relate physical servers to physical racks instead providers, i wanted to keep a possible way to access physical servers through providers so this change won't break most providers out there.
Depends on: https://github.com/ManageIQ/manageiq-schema/pull/156

@agrare Please review.


Create package

[x] Create PKGBUILD
[ ] Upload to AUR
[ ] Download tldr archive at package install

WONTFIX: Can't download archive to user dir during package install as root
Simplest approach is to recommend users run cheatsheet -update post install

PKGBUILD: https://gist.github.com/jcrd/f93311a8a5a5e04e87ab1ec29ab94b57


Add common profile validation.

This fixes an oversight where rustflags is not nightly-gated in a profile override (like [profile.dev.package.foo]).
The problem is that the validation was only being done for the top-level profile.
The solution here is to consolidate common profile validation that should be done for both the top level and the overrides. In the process I also fixed validation of codegen-backend which also is shared. This will hopefully help prevent other oversights in the future.

r? @alexcrichton
(rust-highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit 99bfbbcb602c9812bd603cd311d2b331b081837f has been approved by alexcrichton

:hourglass: Testing commit 99bfbbcb602c9812bd603cd311d2b331b081837f with merge d6cdde584a1f15ea086bae922e20fd27f7165431...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing d6cdde584a1f15ea086bae922e20fd27f7165431 to master...


Save First dialog in DESIGNER

When viewing plans in the DESIGNER tab, I often click on a link to a different plan by mistake. It would be nice if the Save First? dialog included a Cancel option.

Fixed by 1af53fd


npm ERR! cb() never called!

OS：windows 7
node.js：v13.14.0
npm：6.14.4
D:\proj\casdoor\web>npm install
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>babel-eslint is now @babel/eslint-parser. This package will
 no longer receive updates.
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 1
5x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition. testing-libr
ary__dom provides its own type definitions, so you do not need this installed.
npm WARN deprecated<EMAIL_ADDRESS>fsevents 1 will break on node v14+ and could be using insecure
binaries. Upgrade to fsevents 2.
npm WARN deprecated<EMAIL_ADDRESS>Switch to 'npm install joi'
npm WARN deprecated<EMAIL_ADDRESS>This package has been deprecated and is no longer mai
ntained. Please use @rollup/plugin-babel.
npm WARN deprecated<EMAIL_ADDRESS>Moved to 'npm install @sideway/address'
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated and is no longer supported
or maintained
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated and is no longer supported or
 maintained
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated and is no longer supported or
 maintained
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usa
ge due to the number of issues. Because of the V8 engine whims, feature detection in old core-js ver
sions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependen
cies to the actual version of core-js.
npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>

npm ERR!       Please report this error at:
35508 error <https://npm.community>

@Kininaru @sh1luo

hi @ha666, this may be caused by npm cache.
Try to do so in web directory:
rm -rf node_modules
sudo npm cache clean -f
npm install && npm run start

Closed as resolved.


Release new version, update readme

Pull Request Checklist
Reference Issue
Please provide the reference to issue this PR is addressing (# followed by the issue number). If there is no associated issue, write "N/A".
ref:
Checklist Items
Before submitting your pull request, please review these items:

[ ] Have you followed the contributing guidelines?
[ ] Have you verified that there are no existing Pull Requests for the same update/change?
[x] Have you updated any relevant documentation or added new tests where needed?

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[x] Other...

Description: new version release

yea, let's stay with Python 3.10? To be in sync with Pyserini?


Kumite search is broken

Kumite page currently only lists very old ones and only searches against those. This is caused by the search index being incomplete and the data is not lost.
I'll try to fix this over the weekend. Sorry for any inconvenience.

This is fixed. The pagination is broken, but this is a known separate issue.


Issue with k8s.io/docs/concepts/services-networking/ingress/

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
Incorrect secret type in TLS example.
Proposed Solution:
type: Opaque -> type: kubernetes.io/tls
Page to Update:
https://kubernetes.io/docs/concepts/services-networking/ingress/

Is this OK to close?

/language en

/close


Re-include pylint in Agent packages

What does this PR do?
Re-include pylint in Agent packages (only when python 2 is included)
Motivation
Was removed by mistake when removing 'a7' from the packages in https://github.com/DataDog/datadog-agent/pull/4224

I'll merge once the gitlab pipeline successfully builds the packages


cURL using IPv6

In some cases (exactly 2 that I have encountered so far) cURL will try to resolve using IPv6 which results in an exception stating that it cannot resolve "mws.amazonservices.com".
The fix was to add the following cURL option to lib/OffAmazonPaymentsService/Client.php.
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
I did not want to submit a pull request since I am not sure if this will break (or be ignored) PHP prior to 5.3.

Might be a doc bug in that we want to just call it out, but can you take a look @jonahellison

Resolved in 1.4 branch.


[Feature Request]: API to opt-out from automatically bind a registered singleton to a Store

Summary
As a user i would like that some of my registered singletons can opt-out from being bound with IObjectStoreBinder to a KeyStore.
API Changes
Maybe an attribute as [ObjectStoreBinder("none")]
or other means in some of the following methods:
StartupModule.Init
StartupModule.DoBindables
IObjectStoreBinder.Bind
Intended Use Case
Currently my workaround is to use Unbind(object) after initialization.
I want to ensure that some of interfaces do not persist their values with the default store
or implement another custom persistance flow.
Code of Conduct

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

Anything that implements INotifyPropertyChanged & is a singleton that is registered to Shiny is bound.
This is something that is being consider for 3.0, but it isn't promised.

I understand is far away from prio.
Thanks for taking it into consideration.
In the meantime Unbind () and removing a public setter where possible are some ways to workaround It.


rclone doesnt honor the --no-check-certificate flags in 1.33

seems rclone doesnt honor the --no-check-certificate flags in 1.33
using Fedora
rclone --no-check-certificate mkdir s3:backup
2016/10/05 00:01:00 Attempt 1/3 failed with 1 errors and: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_4_1475593260.88
2016/10/05 00:01:00 Attempt 2/3 failed with 1 errors and: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_5_1475593260.88
2016/10/05 00:01:00 Attempt 3/3 failed with 1 errors and: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_6_1475593260.88
2016/10/05 00:01:00 Failed to mkdir: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_6_1475593260.88
[root@localhost ~]# rclone mkdir s3:backup
2016/10/05 00:02:47
Transferred:      0 Bytes (0 Bytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        1m0s
2016/10/05 00:03:16 Attempt 1/3 failed with 1 errors and: RequestError: send request failed
caused by: Head https://s3.optimcloud.com:443/backup: dial tcp: lookup s3.optimcloud.com on [fe80::7aa3:51ff:fe10:3ffe%enp2s0f1]:53: dial udp [fe80::7aa3:51ff:fe10:3ffe%enp2s0f1]:53: i/o timeout
2016/10/05 00:03:47
Transferred:      0 Bytes (0 Bytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        2m0s
2016/10/05 00:04:17 Attempt 2/3 failed with 1 errors and: RequestError: send request failed
caused by: Head https://s3.optimcloud.com:443/backup: x509: certificate signed by unknown authority
2016/10/05 00:04:47
Transferred:      0 Bytes (0 Bytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        3m0s
2016/10/05 00:05:34 Attempt 3/3 failed with 1 errors and: RequestError: send request failed
caused by: Head https://s3.optimcloud.com:443/backup: x509: certificate signed by unknown authority
2016/10/05 00:05:34 Failed to mkdir: RequestError: send request failed
caused by: Head https://s3.optimcloud.com:443/backup: x509: certificate signed by unknown authority

It is possible this got fixed as part of 0cb9bb3b54397ff2dd7a563194d1ec98ca9cedaa - so can you give a recent beta a try, eg http://pub.rclone.org/v1.33-31-g9ea20baβ/

Nope seems its not...
rclone -V
rclone v1.33-31-g9ea20baβ
rclone --no-check-certificate lsl s3:
2016/10/05 00:16:42 InvalidURI: Failed to parse the specified URI.
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_15_1475594202.16
[root@localhost ~]# rclone --no-check-certificate lsl s3:
2016/10/05 00:38:25 InvalidURI: Failed to parse the specified URI.
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_16_1475595505.34
[root@localhost ~]# rclone --no-check-certificate mkdir s3:backup
2016/10/05 00:38:37 Attempt 1/3 failed with 1 errors and: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_17_1475595517.5
2016/10/05 00:38:37 Attempt 2/3 failed with 1 errors and: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_18_1475595517.5
2016/10/05 00:38:37 Attempt 3/3 failed with 1 errors and: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_19_1475595517.5
2016/10/05 00:38:37 Failed to mkdir: BadRequest: Bad Request
status code: 400, request id: libres3_17107f5560deb908aadce262de4df380_25784_19_1475595517.5

None of the above errors say x509: certificate signed by unknown authority which is what the --no-check-certificate prevents.
What are you trying to connect to?  Have you tried using -v and --dump-bodies to debug what is going on?

Did you figure this out?

no, gave up on rclone and went to find another app  that works
On Mon, Jan 9, 2017 at 12:37 PM, Nick Craig-Wood<EMAIL_ADDRESS>wrote:

Did you figure this out?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ncw/rclone/issues/763#issuecomment-271350712, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABXFTo9eEvTt75G3ilRquTPERBD2m7POks5rQnBQgaJpZM4KNzJ5
.

Ok!