javascript:void(0) error in Firefox 46

When I use the newest Firefox Version I get a javascript:void(0) error and a very annoying sound. I tried clearing cache and cookies, starting in save mode and made sure javascript was enabled. However the error and the sound stay. I find some hints pointing to a coding error, so could you please infestigate the issue. Thanks!
Kind regards
Frank
PS: Everything works fine in MS Edge

Can you please post more info about the error? I'm on FF 46 and don't see any errors in the console.

If I hover over one of the drop-down menus or selecting a value I get a small info in the lower left hand corner saying javascript:void(0) (see screenshot). If I select an entry in any drop-down menu I get the anoying sound. Sadly I don't know how to provide you with more info as I'm no programmer. Could Firebug help?

I used the web console and it tells there is an empty string in getElementById().
It also states there might be an issue with scroll linked effects (see https://developers.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects)
Sadly the exact error messages are in German so I don't post them here.

Does this happen only on Firefox?  Does the problem occur in other browsers?
What are the specific steps required to reproduce the error?

I guess I fixed this by turning off the hardware accelaration for the graphics card in Firefox.


Expose access-token-jwt library, so this package could be used without express

Describe the problem you'd like to have solved
In my project I use nodejs but do not use the express, would it be possible for you to export or publish the access-token-jwt as a separate entity?
Thank you

Until this issue is resolved I extracted and published it as auth0-access-token-jwt

Hi @markelog - thanks for your interest in this.
You are of course welcome to fork and publish your own versions of this code, I would only kindly ask that you don't include "auth0" in the name.
Regarding publishing this, we do hope to extend this to more frameworks either through a framework agnostic package or through more framework specific packages. Will close this in favour of https://github.com/auth0/node-oauth2-jwt-bearer/issues/63

Regarding publishing this, we do hope to extend this to more frameworks either through a framework agnostic package or through more framework specific packages.

I know you are, since you are expressing this hope in at least three others issues like it.

You are of course welcome to fork and publish your own versions of this code, I would only kindly ask that you don't include "auth0" in the name.

it has auth0 in it's name because that's your code, I have nothing to do with it besides exposing it – which you should have done in the first place. Publishing this package and adding docs for it could be done in like 30 minutes? Having said that, how would you propose for me to call it?
Gotta say, as a paying customer, I am quite disappointed with your community work 😢

Gotta say, as a paying customer, I am quite disappointed with your community work 😢. Since you are expressing this hope in at least three other issues like it.

I'm really sorry you feel that way @markelog - we're a relatively small team of SDK engineers with a large surface area of SDKs to support and have to make hard decisions about what to support. We are grateful for the feedback though.

it has auth0 in it's name because that's your code, I have nothing to do with it besides exposing it.
How would you propose for me to call it?

Auth0 has no control over what goes into your auth0-access-token-jwt package, you are the owner. I would suggest a package name that doesn't include "auth0", that way there's no risk of confusing others about ownership.

auth0-access-token-jwt Is it really the only way to use Auth0 with Node.js (no express) to verify access tokens?

I have the same need today, the Guard in the guidelines doesn't work with the SocketIO gateway in NestJS.
So I have to verify the token manually and need some method to do so but it is not exposed.

we're a relatively small team of SDK engineers with a large surface area of SDKs to support

Respectfully, this is a strong argument in FAVOR of publishing it. The linked ticket is 2 years old now. You're never going to get to all of the frameworks, and even if you did, plenty of use cases don't use any framework at all. This isn't some component library, it's security. I want to use an official package from the auth provider, not some third party module.
But at any rate, rather than republishing, here's a bit of middleware abuse to expose the same interface as access-token-jwt:
import { auth, AuthResult, UnauthorizedError } from 'express-oauth2-jwt-bearer'

type ConfigParams = Parameters<typeof auth>[0]

export const jwtVerifier = (config?: ConfigParams) => {
  const middleware = auth(config)

  return (accessToken?: string): Promise<AuthResult> => {
    return new Promise((resolve, reject) => {
      if (!accessToken) {
        return reject(new UnauthorizedError())
      }
      const request = {
        query: { access_token: accessToken },
        headers: {},
        is: () => false,
        auth: undefined as unknown as AuthResult,
      }

      middleware(request as any, {} as any, (error: unknown) => {
        error ? reject(error) : resolve(request.auth)
      })
    })
  }
}

Which can be used like:
const verifyJwt = jwtVerifier({
  issuerBaseURL: 'https://example.com',
  audience: 'https://example.com/api',
})

try {
  const authResult = await verifyJwt('abcd1234')
} catch (error) {
  console.error(error)
}


Add Gemma support (Add flag to control BOS token usage)

closes #1455 .
Gemma seems especially sensitive to the inclusion of a BOS token.
prior to using a BOS token:
hf (pretrained=google/gemma-7b,attn_implementation=flash_attention_2), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: auto (32)
|    Tasks     |Version|Filter|n-shot|  Metric  |     Value     |   |    Stderr    |
|--------------|------:|------|------|----------|--------------:|---|-------------:|
|lambada_openai|      1|none  |None  |perplexity|5909545606.3929|±  |899657349.2755|
|              |       |none  |None  |acc       |         0.0037|±  |        0.0008|

After adding this BOS token:
hf (pretrained=google/gemma-7b,attn_implementation=flash_attention_2), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: auto (32)
|    Tasks     |Version|Filter|n-shot|  Metric  |Value |   |Stderr|
|--------------|------:|------|------|----------|-----:|---|-----:|
|lambada_openai|      1|none  |None  |perplexity|3.4640|±  |0.0677|
|              |       |none  |None  |acc       |0.6707|±  |0.0065|

(Speculative reason for this: Google tends to use attention masks that prevent packed documents from attending across document boundaries (https://github.com/google-research/t5x/blob/ecb126e1f5c2aea648f39869d4e69fb4374a4868/t5x/utils.py#L535-L537), which might mean the models never see no-BOS examples unlike many models trained on GPU with no special attention mask.)
This PR adds BOS by default to Gemma when evaluating with --model hf, and allows users to control BOS token presence via the --model_arg add_bos_token=True flag (defaults to false for backward compatibility.

Mistral results:
hf (pretrained=mistralai/Mistral-7B-v0.1,attn_implementation=flash_attention_2), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: auto (64)
|    Tasks     |Version|     Filter     |n-shot|  Metric   |Value |   |Stderr|
|--------------|------:|----------------|------|-----------|-----:|---|-----:|
|lambada_openai|      1|none            |None  |perplexity |3.1800|±  |0.0582|
|              |       |none            |None  |acc        |0.7563|±  |0.0060|
|hellaswag     |      1|none            |None  |acc        |0.6120|±  |0.0049|
|              |       |none            |None  |acc_norm   |0.8104|±  |0.0039|
|gsm8k_cot     |      3|strict-match    |8     |exact_match|0.3829|±  |0.0134|
|              |       |flexible-extract|8     |exact_match|0.4132|±  |0.0136|

hf (pretrained=mistralai/Mistral-7B-v0.1,attn_implementation=flash_attention_2,add_bos_token=True), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: auto (64)
|    Tasks     |Version|     Filter     |n-shot|  Metric   |Value |   |Stderr|
|--------------|------:|----------------|------|-----------|-----:|---|-----:|
|lambada_openai|      1|none            |None  |perplexity |3.2026|±  |0.0584|
|              |       |none            |None  |acc        |0.7500|±  |0.0060|
|hellaswag     |      1|none            |None  |acc        |0.6156|±  |0.0049|
|              |       |none            |None  |acc_norm   |0.8115|±  |0.0039|
|gsm8k_cot     |      3|strict-match    |8     |exact_match|0.3745|±  |0.0133|
|              |       |flexible-extract|8     |exact_match|0.4086|±  |0.0135|

points to the fact that we don't want this on by default and want it to be configurable by a user.

@lintangsutawika this is ready for review!


[enhancement] support Boolean query

elastic alert support Bollean query.

completed by https://github.com/openinsight-proj/elastic-alert/pull/27


how to search?

I've tried the version 1.1.1. But I cannot find the feature search. Let me know how to do a search or you can add this feature to search a term in a folder with a lot of md files.

Sorry this was not mentioned in the readme documentation, but to search a term within a file you can do ctrl+f which will open a search toolbar at the bottom of the editor. This feature can also be used for find and replace.
I will keep this issue open for adding a feature that allows a term to be searched in a folder of md files.

Searching text within a md file is already supported. However searching a term within a folder of md files is out of scope and would go against the simplicity of md.it. Hence this feature will not be implemented.
Alternatively, #12 suggests a new feature that will allow the user to open a folder of md files and access them in md.it.


Find new project owners for 2022-2023 school year

I'm not planning on updating this myself after leaving for college. I'll need to find new owners sometime this school year if I don't want EPSchedule to die.

Need to add Everest as a collaborator on this project

@kuberti is owning for now, but will need to revisit in 1.5y

new owners @ajosan25 and @thesuperRL


FIX font on mobile problem page

Appearance on mobile

thanks @lucyleeow ! did you do a pass on all pages in your testing ?

These changes are specific for this page so shouldn't affect other pages.
There may be UI issues on other pages though - e.g. https://github.com/paris-saclay-cds/ramp-board/pull/376#issuecomment-579579501 I'm not sure about how to fix this issue so it would take someone else  (e.g. @maikia) the same time as it would take me to fix it.
Happy to fix other UI issues that I know how to fix.

Problems page:

increased text font

Top navbar icons are bigger

screen size aware padding

Teaching and description pages have larger font on mobile

challenge page has smaller font on mobile

Still to fix - the top navbar with RAMP and icons is too large for the challenge and event page on mobile. Could reduce font on the event pages.
I won't have time to do this before I leave - maybe @maikia can look into it.

Merging this PR and we will open a new one with the navbar

can you update server so we can see how far we are?


wasm Ethereum gasPrice bug

Describe the bug
I have a bug in signing on Ethereum, when I use 3b9aca00 as gasPrice there is no problem, but 5 times 12a05f200 has a bug.
To Reproduce
testBSC4 = async () => {
const {CoinType, HexCoding, AnySigner} = supportCenter.walletCore;

const input = TW.Ethereum.Proto.SigningInput.create({
  toAddress: '0xd348c59e41e069c650132c0a8492c815158d067c',
  chainId: Buffer.from('01', 'hex'),
  nonce: Buffer.from('38', 'hex'),          //1000000000 //2000000000  //5000000000
  gasPrice: Buffer.from('12a05f200', 'hex'),//3b9aca00 // 77359400 //12a05f200
  gasLimit: Buffer.from('5208', 'hex'),
  transaction: TW.Ethereum.Proto.Transaction.create({
    transfer: TW.Ethereum.Proto.Transaction.Transfer.create({
      //1000000000000000000
      amount: Buffer.from('0de0b6b3a7640000', 'hex'),
    }),
  }),

  privateKey: HexCoding.decode('****'),
});

const encoded = TW.Ethereum.Proto.SigningInput.encode(input).finish()
const signed = AnySigner.sign(encoded, CoinType.smartChain);
const output = TW.Ethereum.Proto.SigningOutput.decode(signed);

const rawTx: TxData = {
  nonce: '0x38',
  gasPrice: '0x12a05f200',
  gasLimit: '0x5208',
  to: '0xd348c59e41e069c650132c0a8492c815158d067c',
  value: '0x0de0b6b3a7640000',
};
const common = Common.custom(
  { chainId: 1 },
  { hardfork: Hardfork.London }
);
const tx = new Transaction(rawTx, { common });

const signTx = tx.sign(Buffer.from('****', 'hex'));
const serializedTx = signTx.serialize();

//trust
console.log(HexCoding.encode(output.encoded))
//ethereumjs/tx
console.log('0x' + serializedTx.toString('hex'));

}
}
Expected behavior
Changing the price does not affect the signature result, but I am not sure under what circumstances the gasPrice will be affected
Screenshots

现在改变gasPrice为12a05f200

signTx is error
Additional context
macOS 12.6

When I use 09C7652400 instead of 9C7652400, the signature is successful and I get the correct result. This problem is also true for other gasPrices. Is there any plan to modify this problem, or how should I correctly regulate the gasPrice? Are there any other parameters that need attention?

I also found a similar answer in the historical issue
#959
#973

How do I login to view my balance

HexCoding handles it correctly btw

HexCoding handles it correctly btw

Thanks, I'll try it, the code I wrote is found in the test file.


Add 'Contacts' Feature : Send an Email to a Contact

Codecov Report

Merging #83 (2e5bd01) into master (72a3a1d) will increase coverage by 0.03%.
The diff coverage is 63.63%.

@@             Coverage Diff              @@
##             master      #83      +/-   ##
============================================
+ Coverage     59.04%   59.08%   +0.03%
- Complexity      543      553      +10
============================================
  Files           107      110       +3
  Lines          2105     2136      +31
  Branches        199      201       +2
============================================
+ Hits           1243     1262      +19
- Misses          781      793      +12
  Partials         81       81

Impacted Files
Coverage Δ
Complexity Δ

.../main/java/seedu/dictionote/model/AddressBook.java
70.96% <0.00%> (-20.70%)
12.00 <0.00> (ø)

src/main/java/seedu/dictionote/model/Model.java
100.00% <ø> (ø)
2.00 <0.00> (ø)

...main/java/seedu/dictionote/model/ModelManager.java
70.58% <0.00%> (-2.59%)
28.00 <0.00> (ø)

.../exceptions/InvalidContactMailtoLinkException.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

...dictionote/logic/commands/EmailContactCommand.java
100.00% <100.00%> (ø)
7.00 <7.00> (?)

...onote/logic/parser/DeleteContactCommandParser.java
100.00% <100.00%> (ø)
2.00 <1.00> (?)

...eedu/dictionote/logic/parser/DictionoteParser.java
76.92% <100.00%> (+0.92%)
16.00 <0.00> (+1.00)

...ionote/logic/parser/EmailContactCommandParser.java
100.00% <100.00%> (ø)
2.00 <2.00> (?)

... and 1 more

Continue to review full report at Codecov.

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


Group based access

I wanted to have different groups which have different rights.

Can view only the projects assigned to them
Can only view the products and engagements (delete and add should not be possible)
Can view the findings and do the updates like close, mark as active but cannot delete

I did created a group using the admin interface but when the user tries to close the issue he is asked to enter the credentials and nothing happens
I have given all the possible access to the group

currently most of these don't work, #1048

currently most of these don't work, #1048

Do I have any other alternative through which I can handle this..user who is just "Active" cannot mark the issue as close. While I don't want him to see any further detail.

#2615 will allow active and authorized users to close findings.


spelling mistake

There was a spelling mistake in 1st possible action of Error codes table

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


Make reverse iteration resilient to element deletion

Risk Level: Low
Testing: Unit Tests
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

Yan -- can you tweak the title to indicate what subsystem this PR is modifying?


Portable Verison?

Greetings,
In the spirit of having a portable version of the sd project and by that I mean, empower to copy and paste the entire project to other PCs without having all the install shenanigan. That said, the steps I've taken seems like a good start but nonetheless, it's partially working.
steps on dev pc:
removed python if any
Install git
Install miniconda3
run Anaconda Powershell Prompt (miniconda3)
cd C:
git clone https://github.com/lstein/stable-diffusion.git
cd C:\stable-diffusion
conda env create -f environment.yaml
I do NOT "conda activate ldm"
copy the envs/ldm to stable-diffusion directory
Uninstall miniconda3 and git
remove any python environment variable, if any
Prior to start dream.py, I set python environment variable to "stable-diffusion/envs/ldm" on the fly and boom, it works beautifully.  The problem is that when copied over another PC, I get:
dream.py", line 12, in
import ldm.dream.readline
ModuleNotFoundError: No module named 'ldm'
So, somewhere in the process something seems to remain on my dev pc that it is not porting over the vanilla PC. Any idea what that might be?

It's not going to work without conda. All virtual environment tools (conda, pew, etc.) rely on setting environment variables, and other tricks to redirect the OS to use the "wrapped" Python.
There are ways to make portable Python apps, but we're not anywhere near there yet.

Thank you tildebyte,
I see no env variables. Any explanation why it does work after uninstalling conda? What are the other tricks in question?

I don't know; I don't use conda.
pew does the following to the environment on Windows:

PATH=/c/Users/USER/.virtualenvs/stable-diffusion-stable/Scripts;REST_OF_EXISTING_PATH
VIRTUAL_ENV=C:\Users\USER.virtualenvs\stable-diffusion-stable

but it's possible that the pew workon command does other things which I don't know about.

thank you tildebyte, I'd like to move this OP as an official feature request. It should be pretty basic since Conda encapsulate the entire Python environment into a single folder. All that remains is to figure what conda activate ldm really does. I'm guessing environment variables are set on the fly and that's pretty much it.

Its very doable. I personally like my venv's directly next to my app, and makes them kind of portable.
Do the following for that:

Open a Terminal in the root of the project
execute python -m venv /path/to/new/virtual/environment (python can be python3, depends on your setup; path would be for me: /root_of_app/.venv/)
Activate the venv by the correct activation script inside the venv/scripts/
Install the requirements.txt for your OS directly via pip install -r requirements-xxx.txt or make one yourself out of the conda environment.yaml

Done, now you can run the app just normally. You can copy the whole project (including the venv folder ofc) and it'll still work, as long as you activate the venv first.
Also with every start of the terminal, you have to activate the venv again. (VS code does that automatically so i dont have to).
You can also create a shortcut for that, just google for your OS (+ auto start the dream server also possible, with a little bash/batch)

I should have mentioned that I'm on Windows 10. By venv, did you mean "Environment variables"? I have no idea what step 3 entails...
In all cases, the goal is the start dream.py with command line/batch file where all the Python registering is done in one go, setting environment variables included. I mean, that should be easy enough...
A bit of background, I'm running a QT C++ app to start a Python process like so:
	QStringList l_arguments;
	l_arguments << "-E";
	l_arguments << QString("%1/scripts/dream.py").arg(m_ApiPath);
	l_arguments << "--model" << l_model;
	l_arguments << "--sampler" << l_sampler;

	QStringList l_paths;
	l_paths << "PythonRoot";
	l_paths << QString("PythonRoot/Scripts").arg(l_pathPython);
	l_paths << QString("PythonRoot/Library/bin").arg(l_pathPython);
	l_paths << QString("PythonRoot/Lib").arg(l_pathPython);

	QProcessEnvironment l_env = QProcessEnvironment::systemEnvironment();
	l_env.insert("Path", QString("%1;%2").arg(l_paths.join(";")).arg(QString(qgetenv("Path"))));

	m_QtProcess->setProgram(l_command);
	m_QtProcess->setArguments(l_arguments);
	m_QtProcess->setProcessEnvironment(l_env);
	m_QtProcess->start();

Is there anything missing that Conda does under the hood that would solve the OP error?

Thank you Scchogo. The idea is not to have anything to point anywhere, portable! Copy/paste folder and it works! Everything should be solved running a batch file or a python script inside the root folder. For the sake of distributing the thing for the common user and collectively stop the shenanigan madness.

I'm getting at the end of my rope with this. Would anyone know how would the environment variables be set using a batch file to launch dream.py?

@Dschogo, maybe the venv works on your machine but the venv config file has a hardcoded path to where python is installed and the default is under the user account. It wont work on another machine. Also, the fact that venv requires to install Python on your machine is not a portable solution. Targeting the pyhton.exe straight from the venv folder does create a endless loop launching several python.exe to infinity and beyond.


modelmesh-sering-mlserve failed to connect etcd

Describe the bug

To Reproduce
Steps to reproduce the behavior:
I installed it  by command ./scripts/install.sh --namespace modelmesh-serving --quickstart, it started ok, but modelmesh-serving-mlserve failed to start.
kubectl apply -f - <<EOF
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
name: example-sklearn-isvc
annotations:
serving.kserve.io/deploymentMode: ModelMesh
spec:
predictor:
model:
modelFormat:
name: sklearn
storage:
key: localMinIO
path: sklearn/mnist-svm.joblib
EOF
I know the reason is  modelmesh-sering-mlserve failed to connect etcd, but how to fix it.
Expected behavior

Screenshots

kubectl  logs modelmesh-serving-mlserver-0.x-64c799988d-ldts9

Environment (please complete the following information):

OS: [e.g. iOS]
centos 7
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context

I used kubeasz to install k8s in the AllinOne.

Yea, I fix it now


SQL Alchemy integrity Error (& hole in coverage)

In cas sqlalchemy issued an IntegrityError not based on a UniqueViolation, the exception was swallowed.
Also, this was not tested properly, so we had 99% in coverage

Successful PR Checklist:

[x] Tests

[ ] (not applicable?)

[ ] Documentation

[x] (not applicable?)

:+1:

😮 ❤


Magerun cannot be ran

Version of Den
in-dev
Image
den-php-fpm-magento2:8.1-node16
Describe the bug
n98-magerun2's binary is owned by root and cannot be executed by the www-data user
To Reproduce

den env up;den shell
n98-magerun2 list

Expected behavior
List of Magerun commands is displayed
Actual behavior
Could not open input file: /usr/local/bin/n98-magerun2

@navarr The fact it's owned by root isn't the issue, as the composer binaries are owned by root as well. The issue is that n98-magerun2 isn't readable by anyone except root:
www-data@mcico-php-fpm:/var/www/html$ ls -la /usr/local/bin/n98-magerun2
-rwx--x--x    1 root     root       5498190 Aug  5 13:49 /usr/local/bin/n98-magerun2

www-data@mcico-php-fpm:/var/www/html$ ls -la /usr/bin/composer2
-rwxr-xr-x    1 root     root       2799637 Aug 22 18:39 /usr/bin/composer2

PR incoming.

PR 80 resolves this. https://github.com/swiftotter/den/pull/80


Define readable vars for Ceph version comparisons

Fixes issue #736
Adds vars all the way up to kraken

@bengland2 I think you once mentioned these vars as being confusing. Can you also take a look and let me know your thoughts on the new vars?

@alfredodeza thanks for that, you need to set include: facts.yml after the package is installed.

@leseb of course! so silly :( will fix

@leseb re-pushed and now the tests are happy!

Thanks!


Disable type-checking for CAS Profile definitions

Problem
The CAS profile definition, as part of the hierarchy, attempts to install a number of attribute converters to auto-convert attributes such as gender, locale, etc. These attributes are only converted if they match the converter's required attribute type. This assumption does not hold true for CAS, as all attribute released in validation payloads are of type String and will never be classified with their own dedicated type. With such type restrictions, (specially more so when CAS is running as an OIDC provider), certain attributes can never be released to clients because their value will never match the required type.
Patch

Allow gender matching to be case insensitive
For CAS profile definitions, disable type checking that requires certain attributes such as gender to match a certain class

This should also be backported to 3.7.x.

Indeed, it makes sense.

PS This now ported over to the 3.7.x branch as well.

Thanks

I just realized we should have done that on a 3.8.x branch. Anyway, it will be available on the 3.7.1-SNAPSHOT version...


How to use the sorted grid indices

The sorting algorithm works efficiently, but I wonder with the sorted image and grid indices, how to recover to the original image? I have tried several ways to do this but all failed. Thanks.

Hi, were you able to get back the original image?


To sort the search results.

How do I sort the search results?

All I had to do was use the OrderingFilter.


When the storage is slow cappx creates a lot of identical VMs

/kind bug
What steps did you take and what happened:
I use a old SSD (About 250MB r/w) if i use this storage, CAPPX creates identical VMs.
What did you expect to happen:
Not to create identical VMs

Desired state is a two node cluster (1 CP & 1 Worker)

could you share the log of cappx-controller-manager here ?


[FLINK-17255][python] Add HBase connector descriptor support in PyFlink.

What is the purpose of the change
HBase connector descriptor is already supported since 1.10.0 at Java side. We should also support it in PyFlink.
Brief change log

add HBase connector descriptor methods corresponding to java side in descriptors.py
add HBaseDescriptorTests in test_descriptors.py
add HBase connector usage documentation in connect.md

Verifying this change
This change added tests and can be verified as follows:

added HBaseDescriptorTests in test_descriptors.py

Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? ( no)

@flinkbot run azure

@zentol Do you know why the CI was not triggered even manually triggered with @flinkbot run azure?

@flinkbot run azure

@flinkbot run azure

@shuiqiangchen Thanks for the PR. LGTM. Merging...


Cocoapods, use_frameworks! option, and non-public class

When used as a Cocoapods dependency with use_frameworks! option, I encounter a compilation issue with SevenSwitch class not being found. It looks like SevenSwitch must be made a public class to be exposed... do you confirm?

:+1: Seeing the same - With use_frameworks! I'm able to see the control in Interface Builder if I specify SevenSwitch as both the module and the class, but I can't see to create an outlet in the viewcontroller.

Thanks for letting me know. The problem should be fixed now. You'll probably have to re-install your pods in your project since I kept the same version number. Use the following commands in your project directory and you should be good to go. rm -r Pods then pod install

Works great thanks for the quick fix!


exception handling for errors returned from terraform boot API

Fixed #840
Fixed #847

@WangLiNaruto something is not fine with the screenshot. If you look at the terraform-local implementation, we will also show the exact error coming from terraform. We need that same behavior with terraform-boot too.


Latest commits broke the internal api.json generator

Godot version:

broken c2c11fc063e723c41579e6307e40fd16ac5334c4
works v3.1 release
OS/device including version:
Linux
Steps to reproduce:
godot32 --gdnative-generate-json-api api.json
A few excerpts:
https://docs.godotengine.org/en/latest/classes/class_undoredo.html#class-undoredo-method-add-do-method
@@ -8401,7 +8464,7 @@
                                "arguments": [
                                        {
                                                "name": "object",
-                                               "type": "Object",
+                                               "type": "",
                                                "has_default_value": false,
                                                "default_value": ""
                                        },
@@ -8426,7 +8489,7 @@
                                "arguments": [
                                        {
                                                "name": "object",
-                                               "type": "Object",
+                                               "type": "",
                                                "has_default_value": false,
                                                "default_value": ""
                                        },

clang++ -o src/gen/RigidBody.o -c -fPIC -g -std=c++14 -Wwrite-strings -Og -m64 -I. -Igodot_headers -Iinclude -Iinclude/gen -Iinclude/core src/gen/RigidBody.cpp
In file included from src/gen/RigidBody.cpp:1:
In file included from include/gen/RigidBody.hpp:12:
In file included from include/gen/PhysicsBody.hpp:11:
include/gen/CollisionObject.hpp:14:1: error: declaration of anonymous class must be a definition
class ;
^
include/gen/CollisionObject.hpp:14:1: warning: declaration does not declare anything [-Wmissing-declarations]
include/gen/CollisionObject.hpp:30:28: error: C++ requires a type specifier for all declarations
        void _input_event(const  *camera, const Ref<InputEvent> event, const Vector3 click_position, const Vector3 click_normal, const int64_t shape_idx);
                          ~~~~~   ^

Probably due to #27184.

As I said in #27184 I didn't actually test it and didn't expect it to get merged :see_no_evil:
I will probably take a look at the weekend, but patches are welcome anyway of course :smile:

Dangit, if i had known this was broken I would have fixed it first before updating godot_headers.. I'll have a quick look. Note that this will need cherry picking in 3.1 !!!

Fixed by #27754.

As I said in #27184 I didn't actually test it and didn't expect it to get merged

It wasn't clear from that comment that it wasn't tested though. Please add [WIP] to the PR title or use the new GitHub "Draft" feature next time to prevent it being merged before it's ready.

Sure, sorry :see_no_evil:


Raycast3D is very hard to see in editor

Godot version: v3.1 c861756
Issue description:
Raycast3D gizmo is almos impossible to view if it overlaps with the axis. It also z-fights with the axis.
My proposal is to have a more visible gizmo for the raycast node.

What would be the best way to approach this?

@MCrafterzz Displaying RayCast3D as a thin box instead of a line would likely solve this.

I'd probably recommend an arrow shape, similar to the one used for directional lights, but thinner.

Can I take this up, since it looks like it's not fixed yet? I'll start working on this from next week though due to exams (so if anyone else wants it and is able to take it instead, please let me know)

@lightspot21 Sure :slightly_smiling_face:
Feel free to salvage things from #33103.

There's not much to salvage but sure 😉

This was fixed by https://github.com/godotengine/godot/pull/46529, closing.


[WIP] Require a cast to timestamp in postgres/sdb

Making sqlToCharTimestamp() return "TO_CHAR((%s)::timestamp(0), 'YYYY-MM-DD HH24:MI:SS')" for postgres/sdb. With this, the data type of (%s) won't be unknown after the cast.

Note: A Postgres-specific change was done. Therefore, the Postgres hook was updated in the class FormulaPostgreSQLHooks. impl module contains tests that run using Postgres DB. Other DB-specific tests are abstracted in different DB-specific modules like oracle-test, h2-test, etc. Therefore, the test data file impl/src/test/goldfiles/FormulaFields/testDateTimeText.xml was changed as this file is used to test for PostgresDB-specific functionality.


Add documentation for path param validation

I discovered that I was re-inventing the wheel when I was parsing a path parameter as an Int and throwing a BadRequestResponse when the parameter was not parseable.
I found in the source code that pathParam() has similar signatures to queryParam() and that you can grab the Int from the path parameter directly like this:
    before("/customer/:customerId/*") { ctx ->
        val customerId = ctx.pathParam<Int>("customerId").get();
        ...
    }

In the docs where validation is discussed for queryParam() might be a good place to add similar information for pathParam() with validation. (https://javalin.io/documentation#validation)
BTW, I did not find the javalin docs in the github repo. Are they available in another repo? I could submit a PR if they are.

Thanks @bseib ! You can use the validator with both query-params, path-params and form-params. I agree that the docs should make this clearer. If you want to submit a PR, the repo is here: https://github.com/javalin/javalin.github.io

Document validation with ctx.header() too?

Yes, makes sense to include. This is a great improvement, thanks!


Add support to measure multiple lights

Some lights have very low power draw on low brightness levels. Most smartplugs cannot measure below 0.3/0.4 watts. To measure more accurately it would be a good idea to add a feature to the measure tooling to measure multiple of the same bulb at the same time.
The tool will divide the power by the amount of lights specified.
For example when you have connected 3 lights to your smartplug and it reads 12 watt, it will save 4 watt into the CSV file.

Fixed by #278


Upgraded to v0.27 today getting Warning 1946 popup

Here's screen shot

Uninstalled and tried again, this time I specifically ran the install as admin. Got no errors this time. Hope this helps troubleshoot.

@Rangeball
can you provide more information on how you installed it the first time?

The first attempt was in-place update from the previous, by checking and updating within the PowerToys app.

From: Enrico Giordani<EMAIL_ADDRESS>Sent: Wednesday, December 2, 2020 7:40:04 PM
To: microsoft/PowerToys<EMAIL_ADDRESS>Cc: Rangeball<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/PowerToys] Upgraded to v0.27 today getting Warning 1946 popup (#8346)
@Rangeballhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FRangeball&data=04|01||c96d48e1a364412a472b08d89723fa4a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637425528055217468|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=4CdvTqueXFE04lHO%2F6RflxdINrq8MA3GuII5PL79jvo%3D&reserved=0
can you provide more information on how you installed it the first time?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerToys%2Fissues%2F8346%23issuecomment-737583369&data=04|01||c96d48e1a364412a472b08d89723fa4a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637425528055227462|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=ogDweVtH6O2k%2BdN0PpmdoG%2B0KJeoDpGnvrm4b7F%2FVLE%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJQVY7FTTFJQVVD3PMGIVVDSS3M6JANCNFSM4UK6WF5A&data=04|01||c96d48e1a364412a472b08d89723fa4a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637425528055227462|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=24Dg6G2eaieny4dEtgZB8zNh0GS3wsDz%2FsrfdHH1c1s%3D&reserved=0.

@Rangeball
it could have been a glitch of the Windows installer, since there is not really anything we changed in the installer and the fact that the second time it worked confirms there is nothing wrong with the PowerToys installer itself, but with the underling Windows installer.

Closing the issue for now since there is not really anything we can do about it.


Debian pinning is lower than the default

Hi,
Could the pinning priority for Debian become a parameter so that it can be adjusted to be higher than the priority set as the default?  At the moment I get the following even though the powerdns::version is set to '4.2'
pdns-recursor:
Installed: 4.1.11-1+deb10u1
Candidate: 4.1.11-1+deb10u1
Version table:
4.2.2-1pdns.buster 600
500 http://repo.powerdns.com/debian buster-rec-42/main amd64 Packages
*** 4.1.11-1+deb10u1 990
990 http://security.debian.org buster/updates/main amd64 Packages
100 /var/lib/dpkg/status
Thanks
Geoff

Just FYI I am running this on Debian 10 (Buster) successfully otherwise, I mention this as the supported version doesn't currently include 10

I am not sure how to do this as I am not a Debian user myself and neither are we @sensson. If you're able to make this, feel free to raise a PR.
As support for Debian 10 goes, we don't keep track of all operating systems and we do rely on users like yourself to notify us of these changes. Is what you're describing an overall issue with Debian or is it safe to assume Debian 10 is fully supported? In that case we will add it to our supported systems.

I will create PR. its not really an issue its just that sometimes pinning priority of other package repos is high than the 600 in this module which means we ended up with the Debian version of PowerDNS and they do tend to lag quite far behind and in our case the version or 4.1 they provide has issues with DNSSEC queries so I would like to force using the packages from PowerDNS themselves.
BTW Thanks for the module :)


track city/country

Hi,
Thanks to provide this useful tool!
I found the tool only count the number of visitors every day, so I just wondering is it possible to track the city/country of the visitors of my repository from google analysis?
Thanks

Yes, please use Google Analytics UI to get this view. It uses IP information to approximate what you're looking for.


Please prepare bundle for OCP 4.7

Now that we are fully branched for 4.7, please prepare your operator to supply a 4.7 bundle, so that 4.7 operator publishing works and doesn't overwrite 4.6 bundles. This means at least updating the package.yaml under
https://github.com/openshift/cluster-kube-descheduler-operator/tree/master/manifests
@jcantrill @richm
Reference: openshift/ocp-build-data#708

/assign @ingvagabund
have we already done this?

https://github.com/openshift/cluster-kube-descheduler-operator/pull/145
/close


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>
tests/rollup.config.js

chore(rollup): add to output interop

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update strict compile numbers

This PR fixes #

Pull Request Test Coverage Report for Build 236593341

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 39.068%

Totals

Change from base Build 236570165:
0.002%

Covered Lines:
18934

Relevant Lines:
44303

💛  - Coveralls


feature request: Open article in browser with right arrow

Like in earlier versions of NNW:
When an article is already selected, another press on the right arrow key opens it in browser.

We’re using it to move focus to the article view. This way you can use arrow keys to switch between all three panes. Other keys (enter, b, etc.) will open the browser.


Some links in the "The Demo" section of the README are broken

More precisely all links pointing to the non-existent create-react-app-snapshot repo.

Oh, facepalm, I'd set that repo to private. Fixed now.


Identifiers table always exists in database trace error

I'm using telemetry on a project based on OrchardCore and YesSql. I've activated a SqlClient monitoring, and I've this error in lot of traces.

Can we check if the table exists instead of mute the error here ?
https://github.com/sebastienros/yessql/blob/b2f85e848850c172fc0f93ce570e1567b8eeaad5/src/YesSql.Core/Services/DbBlockIdGenerator.cs#L63

Dupe of #400


docs

Needed docs
Frontend

[ ] home page
[ ] start typing page
1. easy mode
2. normal mode
3. tutorials mode
4. multiplayer modes (easy normal custom)
[ ] loging register forgot password page
[ ] profile pages
[ ] dashboard
[ ] themes
[ ] recent games/statistics

Backend

I request @xWafl to write what we need for the docs on the backend part


[SYSTEMML-1728] Reshape util to convert tensors in NCHW to CNHW format

Reshape util to convert tensors in NCHW to CNHW format.
@dusenberrymw can you please review this PR?
cc @bertholdreinwald @niketanpansare

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1624/

@dusenberrymw
Thanks for reviewing. I think I implemented all of your suggestions. Please take a look and let me know in case I missed something.

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1627/

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1628/


/// comments wrong: ConfigurationSection.Value docs are incomplete

Copy from https://github.com/MicrosoftDocs/feedback/issues/303 by @MV10
The docs state "Gets or sets the section value."
This is only accurate if GetSection is called on a key that has a single value. If GetSection actually returns a configuration section, then Value will be null and the GetChildren extension method should be used to iterate over configuration contents.
ConfigurationSection
ConfigurationSection.Value
IConfigurationSection
IConfigurationSection.Value

I'm pretty sure a sections can have children and a value at the same time

@MV10 if you can post a repo we'll reopen this.

It's simple to reproduce. ASP.NET not required! 😛
https://github.com/MV10/issue_aspnet_813
For this sample config, only the foo key results in a non-null Value property.
{
  "section": {
    "subsection": {
      "foo": "has_value",
      "bar": [ 1, 2, 3 ],
      "baz": [
        { "this": 1 },
        { "that": 2 }
      ]
    }
  }
}

    class Program
    {
        static IConfiguration cfg;

        static void Main(string[] args)
        {
            cfg = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile(path: "appsettings.json", optional: false)
                .Build();

            test("section");                         // value null
            test("section:subsection");       // value null
            test("section:subsection:foo"); // has value
            test("section:subsection:bar"); // value null
            test("section:subsection:baz"); // value null

            Console.WriteLine("\nPress any key.");
            Console.ReadKey();
        }

        static void test(string key)
        {
            var section = cfg.GetSection(key);
            Console.WriteLine($"{key} value is null? {section.Value is null}");
        }
    }

While its true a single json file can't express both a value and a subsection, that's not a limitation of configuration in general.  You can accomplish that via two json files, with a second one that sets "section:subsection = "value".  ini files support this natively.  You can also directly set configuration values programatically

@HaoK Of course! Very interesting. Thank you.


Add the setFromName method to the email.js class.

Thanks for contributing to SendGrid Open Source! We think it's awesome when community members contribute to our projects and want to celebrate that.
The following link will ask you to authenticate with Github (so we can verify your identity). You'll then be asked for your shipping address so that we can send you a thanks for contributing.
Click Here to Continue »
Once again, thank you!


Move extension.js files into its own directory

perhaps ideally we'd have
extensions
+-- fetch
    +-- extension.js
    +-- index.html (optional, for the website, docsURI)
    +-- test.js (optional, ideally we would have automated testing for extensions that can feasibly be tested)
    +-- README.md (optional, for extensions imported from other places or with other non-trivial development info)
+-- pointerlock
    +-- ...

we still want extension URLs to look like https://extensions.turbowarp.org/fetch.js in the end, so a build step would be needed

README.md and index.html can maybe be combined


Fixed example usage

Hi there,
First of all thanks for this great tool, I am planning to use it in my own little project :+1:
I just saw a little mistake in the Readme, so i fixed it.
Have a nice day!

Thanks :) And that's awesome.


Settings validation

What I see happening right now for our team is that Detekt gets updated pretty often, and with this rules change. Currently there's no easy way to see which parts of configuration file are invalid, e.g. rule is removed, parameters were added/removed. Similarly one can't see easily that a rule has been added, but is disabled by default.
I would like to try and add some sort of report about used-but-deleted configuration keys, or unused-but-disabled ones. This would of course be different for fail-fast approach etc, but I just want to see whether it makes sense.
Right now the simple approach would be to wrap parsed Config in a class that would remember all accessed keys, and from this data a report could be made. Could you let me know whether the feature is feasible, how to best tackle it, and most importantly - where would I unit test it? I still find it somewhat difficult to follow all the tests and structure, and would appreciate any pointers

duplicate #516


Allow for a Row Key function to be passed to the sinks

Allows the developer to pass a function to control the value of the RowKey, for example:
(Recommended by http://stackoverflow.com/questions/15195773/azure-table-storage-rowkey-design-for-ordered-data)
.WriteTo.AzureTableStorageWithProperties(storage, Serilog.Events.LogEventLevel.Information,
                storageTableName: "Serilog",
                rowKeyFunc: (evt, msg) =>
                {
                    return (DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks).ToString("d19");
                });

The non-properties enabled sinks don't yet have extension methods to pass the function in.

There is a risk with this that someone could shoot themselves in the foot by creating a rowkey that isn't unique within a given partition so we potentially need to help people help themselves by documenting some guidance?

On reflection, I'm wondering if there is a better way to achieve what you want.
Adding in a func is great in terms of flexibility, but it doesn't give much guidance to the user and I worry about the long-term maintenance of supporting such a parameter.
If we instead add a way for row key to be sorted would that meet your requirements?
That could look something like an enum, say, e.g.:
RowKeySortedBy.Category, RowKeySortedBy.CategoryAndMessageFormat, RowKeySortedBy.MessageFormat, RowKeySortedBy.Time
Or, another option that provides more flexibility (but is more complex so I'd only want to put it in if we felt there was a need for it), might be some sort of interface like:
public interface IRowKeyGenerator
{
    string GenerateRowKey(LogEventEntity entity, int batchId);
}

Open to other suggestions too :)

Hi Rob!
So sorry I've been very busy. Admittedly I had to get this working quickly, hence the Func, working forward from the Extension method then figuring out the actual functionality as I went.
In retrospect, the idea of the IRowKeyGenerator is great. In fact, what appears to be the stumbling block is the AzureTableStorageEntityFactory, which doesn't allow for much (any) extensibility.
As the extension method is essentially the "entry point" and it'd have to be provided there. Perhaps creating a default one, which does exactly what it does now, and have the extension allow either a different factory/rowkeyprovider or the enum as you've suggested, to make it easier to swap the row key generator instance if you really do need the power.
I'll keep trying!

@robdmoore We recently ran into a need to customize the row key as well because it causes 400's against the table storage API. Basing the row key off of the message template text is problematic as the length can be too long, and the row key has more restrictions on allowed characters. Any chance you could change how this generated or allow for some customization?

@bahrens If there are circumstances where the rowkey generates a 400 then that's a bug in my mind - the row key generation code should always produce a correct rowkey. Feel free to submit PR(s) to fix the problems you found.
Separate to that the idea behind a fully customisable row key as per this PR and the comments above are still a valid idea that someone can also submit a PR for.

Let me know if you want a separate issue for this, but...
In addition - I'd like the partition key to use the same strategy that azure does if you send all trace messages to azure table storage. The partition key is the current hour in this format YEARMONTHDAYHOUR - It means you can query all the logs for a given hour(s) really qucikly.
The current partition key doesn't allow me to query for it in a fast way like this.

I'm confused. I thought that's exactly what we were doing with partition key currently? It's been a while since I've looked though, am I wrong?

Unless azure changed how they do it?
It always used to be '0' followed by the current ticks (which is is my memory of what we did for this library).

@robdmoore Cheers for the response. Your sink code does indeed use '0' followed by the number of ticks.
Azure uses the format YEARMONTHDAYHOUR as the partition key, so you get a bunch of logs with the same partition key - e.g.<PHONE_NUMBER>. Makes querying nice this way... Maybe this has change since you wrote the lib?
Not sure about the RowKey, but it looks it's just a guid.

Any update when IRowKeyGenerator will be implemented if at all. I would also suggest creating a IPartitionKeyGenerator.

A bit silly from to open up a PR when this was already there, but nonetheless do my changes in #9 also cover your scenarios? ATM I have not updated the properties version, but I plan to them similarly as the non-properties sinks.

Any chance we can get this merged? Thanks

There are still a few outstanding review comments from @robdmoore that need attention before we can move on this. Thanks for the bump!
@trgarratt are you still keen to push this one forwards, or should we switch over and address it via #9? Thanks!

hi @trgarratt and @nblumhardt , what is the status of the merge? this rowkey customization really is a wanted enhancement.

@vip32 it looks like this one and #9 have both stalled. Is anyone keen to see this through to completion? If so I'll close the two abandoned PRs. Cheers!

@nblumhardt i'll think we will move to documentdb instead for the logevents storage. which should get us better querying possibilities (as table storage only allows for pk and rk indexes).

@vip32 cool, thanks for the update.
@bjorncoltof is picking up #9 so I'll close this and direct further discussion over there. Thanks everyone!


Fix: Issue 597

as title.

The error message to this code:
open data Nat | O | S Nat
def bad Nat : Nat | S S O => O | _ => O

is now:

Aya said:
Failed with `class org.aya.tyck.pat.PatternProblem$InsufficientPattern`: In file main.aya:2:22 ->

  1 | open data Nat | O | S Nat
  2 | def bad Nat : Nat | S S O => O | _ => O
                            ^^

Error: There is no pattern for the parameter
         (_5 : Nat)

at (48-48) [2,22-2,22]
java.lang.AssertionError: Failed with `class org.aya.tyck.pat.PatternProblem$InsufficientPattern`: In file main.aya:2:22 ->

  1 | open data Nat | O | S Nat
  2 | def bad Nat : Nat | S S O => O | _ => O
                            ^^

Error: There is no pattern for the parameter
         (_5 : Nat)

Merge?

bors r+


Typo in Rails Image Readme

https://registry.hub.docker.com/_/rails/
The onbuid tag expects a Gemfile.lock in your app directory.
Should read:
The onbuild tag expects...

Thanks! :+1:


Request: Amazon Linux base image

Any chance you could provide us a prepackaged solution for Amazon Linux, please?

You mean using amazon linux2 as base ?

Any chance you could provide us a prepackaged solution for Amazon Linux, please?

I am using ffmpeg with AWS, and I am just curious, what is your motivation?


Fix the test

The builder mutates the params you give it so you can no longer use the original to compare with the output.
The fix was to clone the input before passing to the builder. I would argue that it's mildly unexpected for the builder to mutate the input objects...perhaps the builder should be taking a clone of the inputs for it's own purposes? One for another PR?
Also, sorry sorry sorry - never change things after you run the tests and think "it'll be fine".
fixes #181

Thank you @alanshaw :)


Not found /_app/immutable/assets/xxx

Describe the bug
We're hosting sveltekit with SSR in a Docker container that's hosted in azure. We have datadog to track errors and we tend to see about 3 to 30 of these 404's a day on our small-medium site.
We played around with azure cdn cache, but when we enabled this, the errors really came to show, so we disabled the azure cache. When doing so, it went back to it's normal occurance.
This issue is the same as this question posted a while ago; https://github.com/sveltejs/kit/discussions/7057
Example error for a 404 asset:
Error: Not found: /_app/immutable/assets/_layout-c5c8ebf1.css
at resolve (file:///app/server/index.js:2276:18)
at resolve (file:///app/server/index.js:2163:34)
at Object.handle (file:///app/server/chunks/hooks.server.js:379:10)
at runMicrotasks (<anonymous>)
at runNextTicks (node:internal/process/task_queues:61:5)
at processImmediate (node:internal/timers:437:9)
at async respond (file:///app/server/index.js:2161:22)
at async Array.ssr (file:///app/handler-393b2283.js:1102:3)

What might be the cause of this type of error, Is it just something that happenes when document is out of sync with assets, or is it something we can do to keep this from happening?

Reproduction

Logs
No response
System Info
System:
    OS: macOS 12.5.1
    CPU: (8) arm64 Apple M1
    Memory: 347.42 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.15.1 - /usr/local/bin/node
    npm: 8.11.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 110.0.5481.100
    Safari: 15.6.1
  npmPackages:
    @sveltejs/adapter-node: next => 1.0.0-next.85
    @sveltejs/kit: ^1.0.1 => 1.0.1
    svelte: ^3.44.0 => 3.55.0
    vite: ^4.0.3 => 4.0.3

Severity
annoyance
Additional Information
No response

My guess: You deploy a new version, the user is still using the old version and doing a navigation to a not-yet-loaded page where they need to request an asset (JS file or whatever), which then fails. It's more visible when turning CDN off since the CDN is caching the outdated assets from your previous deployment for a while.
SvelteKit should do a full-page reload if it sees that a navigation wasn't successful. I'm not sure if this also applies to CSS files though.

Something we should document: you can detect version changes and proactively opt in to full page reloads by setting a version.pollInterval in your config and using it to disable the client-side router:
<!-- src/routes/+layout.svelte -->
<script>
  import { updated } from '$app/stores';
</script>

<main data-sveltekit-reload={$updated ? '' : 'off'}>
  <slot />
</main>

@Rich-Harris https://github.com/sveltejs/kit/issues/9089#issuecomment-1435370289
Firstly, excuse me for my ignorance, but I've been getting similar errors on Sentry for an app at work, and I've been tasked with investigating it (3 weeks in, currently writing a 3rd Notion document :face_exhaling:). Seeing your response gave me a few questions about this.
The docs for the updated config option currently states:

Not all navigations will result in an error though, for example if the JavaScript for the next page is already loaded.

Would a pre-rendered SPA (using static adapter) potentially be one of the cases where a navigation wouldn't trigger a full-page reload?
Would it be safe to assume that Sentry (and similar platforms) would be reporting a lot of false positives?

Example: User is on https://my-fake.app/, they navigate to https://my-fake.app/profile. Although the page loads perfectly fine, Sentry still reports that there was an error.

I appreciate any insight, and if this wasn't the appropriate place to ask, I can create a Discussion. This potentially could save me a lot of time, thank you!

Not necessarily. If some assets are not loaded yet, and they are required for the next page you're about to navigate to, you'll also run into the 404 in case of a new version
Yes, everytime you deploy a new version you'll likely get some false positives in the sense that there are errors reported but your users likely won't notice anything

I think it is JS files only, but that's fine since any pages that are loaded for client-side nav also have a JS portion. When one of these requests fails with a 404, SvelteKit will automatically request /_app/version.json, and if that's change, it will turn the navigation into a full page reload rather that a client-side SPA navigation.

Something we should document: you can detect version changes and proactively opt in to full page reloads by setting a version.pollInterval in your config and using it to disable the client-side router:
<!-- src/routes/+layout.svelte -->
<script>
  import { updated } from '$app/stores';
</script>

<main data-sveltekit-reload={$updated ? '' : 'off'}>
  <slot />
</main>

This is a bit confusing. Is it handled automatically like Conduitry suggested or is it required to implement the code that Rich Harris suggested? What's the point of the code snippet if it's already handled by SvelteKit?
I've been getting a bunch of errors related to this in Sentry and they are definitely real errors because I've gotten many emails from users that have gotten them.

That's odd — those are the errors that usually lead to a request for version.json followed by a reload. Unless version.json is somehow the same before and after the redeploy?

Something we should document: you can detect version changes and proactively opt in to full page reloads by setting a version.pollInterval in your config and using it to disable the client-side router:
<!-- src/routes/+layout.svelte -->
<script>
  import { updated } from '$app/stores';
</script>

<main data-sveltekit-reload={$updated ? '' : 'off'}>
  <slot />
</main>

I'm also trying to extremely common Failed to fetch dynamically imported module error and came across this issue, and this comment from @Rich-Harris. Sadly using this code I get the following error in my console:
Error: Cannot subscribe to 'updated' store on the server outside of a Svelte component, as it is bound to the current request via component context. This prevents state from leaking between users.For more information, see https://kit.svelte.dev/docs/state-management#avoid-shared-state-on-the-server
Looking at https://kit.svelte.dev/docs/modules#$app-stores-updated it didn't really make it clearer to me how to use this properly.

I don't get this error given that code snippet. Please open a separate issue with a reproduction repo if the issue persists.

I haven't seen it anymore after that one time, no idea what caused it 🤷♂

Same error here.

Something we should document: you can detect version changes and proactively opt in to full page reloads by setting a version.pollInterval in your config and using it to disable the client-side router:
<!-- src/routes/+layout.svelte -->
<script>
  import { updated } from '$app/stores';
</script>

<main data-sveltekit-reload={$updated ? '' : 'off'}>
  <slot />
</main>

After following this, I got all errors from js file.
So I made trick. I exchanged two values.
<main data-sveltekit-reload={$updated ? 'off' : ''}>

But it showed same results.
I don't have deep knowledge, so  just wish somebody can solve this issue.

Just figured out what exactly is changing, all of the files Kit touches / creates always have a different hash, regardless of if Vite's hashes would stay the same. Here's a commit on a repro -> https://github.com/snuffyDev/sveltekit-hash-gen-repro/commit/0343f726a29ddda16263b1e938be3d0adcab8301
To reproduce yourself locally:

clone and install.
run a build (save the contents of the singletones.xxxx.js file, for example, somehow)
run a build again
diff the two singleton files.

The hashes change, and even the actual output does as well, even though the contents haven't? Is due to Vite building with rollup, or something?
Here's a video showing what Vite's behavior looks like when building a library I work on (contents of the files haven't changed between builds -> hashes stay the same):
https://user-images.githubusercontent.com/72365477/236735437-3ccbe3b6-5b84-435f-88f7-fc8bc172e3eb.mp4

@snuffyDev Are you setting a version name explicitly in your svelte config? Otherwise it defaults to the timestamp and as such every build will have a different version number embedded in it which will change the hashes for most chunks.

@snuffyDev Are you setting a version name explicitly in your svelte config? Otherwise it defaults to the timestamp and as such every build will have a different version number embedded in it which will change the hashes for most chunks.

Midnight Airhead moment :skull:, slipped my mind that version.name existed.

@gtm-nayan Assuming default svelte version.name config (i.e. timestamp of build), is it therefore intended that the hashes for most chunks change on every deploy, regardless of code changes?
Because that seems to lead to "overeager invalidation" and thus to more "user agent tries to fetch invalidated chunk and crashes" issues?
Or am I missing something?

is it therefore intended that the hashes for most chunks change on every deploy, regardless of code changes?

We certainly don't want that to happen, but I don't really see any other sane default that we can put either. We're assuming people won't usually deploy often without code changes. (css, js, even strings inside your js/svelte files are code changes).

user agent tries to fetch invalidated chunk and crashes
The router regularly polls the version file to check if it has been updated and falls back to native navigation if it has. And you can use the snippet that Rich provided above in case you make use of a lot of dynamic imports.
https://github.com/sveltejs/kit/blob/51c0b3cdccf3545892459f196bc71740481bcff8/packages/kit/src/runtime/client/client.js#L735

Users should probably base their versions on some version control identifier if available but the framework can't assume its presence.
We could maybe try to use a hash of the vite manifest, but that has a chicken and egg problem of its own.

I get this without fail every time for github pages.  Why?

Hey folks. We're facing this issue as well. Somehow it's originating from Sentry. Is there a workaround for this? Some of our users are affected.

@Fasteroid @SubhamPramanik if you can share a reproduction, it would help with diagnosing the issue.

@SubhamPramanik , what version are you running would help as well.

hey @jycouet right now we are using   "@sveltejs/kit": "^1.20.5", and error that is coming for us is attached below
@SubhamPramanik

@jycouet @eltigerchino
We aren't able to fully reproduce the issue at will on our side. It happens pretty randomly and we can see the same in user session replays as well. Here are some pointers that might be relevant, as this issue started happening after we made the following changes:

We recently moved our Sveltekit app to a Docker container. I've shared the Dockerfile [1] for it below.
We were running the app as vite dev --host but now we're running it as node build/index.js after vite build.
I'm not sure if this is relevant but with vite dev --host I saw significant memory consumption in the pod and the app would crash pretty frequently with the following error [2], which led us to use node build/index.js, post which the resource consumption wasn't as much.
Also sharing our package.json for version checks and dependencies.
The issue gets resolved as soon as we clear the cache. So I'm assuming the issue is somewhat related to cache reference.

[1] Dockerfile
# Build Stage
FROM node:18-buster AS build

# Install Doppler
ARG DOPPLER_AUTH_TOKEN
ARG DOPPLER_CONFIG
ENV DOPPLER_TOKEN ${DOPPLER_AUTH_TOKEN}
ENV DOPPLER_CONFIG ${DOPPLER_CONFIG}

RUN apt-get update && apt-get install -y apt-transport-https ca-certificates curl gnupg && \
    curl -sLf --retry 3 --tlsv1.2 --proto "=https" 'https://packages.doppler.com/public/cli/gpg.DE2A7741A397C129.key' | apt-key add - && \
    echo "deb https://packages.doppler.com/public/cli/deb/debian any-version main" | tee /etc/apt/sources.list.d/doppler-cli.list && \
    apt-get update && \
    apt-get -y install doppler

WORKDIR /app
COPY . .
RUN doppler setup -p chat-collectiv --config $DOPPLER_CONFIG

# Install Python, make, and g++ for node-gyp
RUN apt-get install -y python3 make g++ && ln -sf python3 /usr/bin/python

# Install dependencies
RUN npm install

# Build the package
RUN npm run build

# Expose port
EXPOSE 5173
EXPOSE 3000

CMD ["npm", "run", "prod"]

[2] Error image

[3] package.json
{
  "name": "frontend_app",
  "private": "true",
  "version": "0.0.1",
  "scripts": {
    "dev": "doppler secrets download --no-file --format env > .env && vite dev --host",
    "build": "doppler secrets download --no-file --format env > .env &&  vite build",
    "preview": "vite preview --port 3000",
    "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
    "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
    "generate:sitemap": "node generate-sitemap.js",
    "prod": "doppler secrets download --no-file --format env > .env && node build/index.js"
  },
  "devDependencies": {
    "@lottiefiles/svelte-lottie-player": "^0.3.0",
    "@neoconfetti/svelte": "^1.0.0",
    "@sveltejs/adapter-auto": "^2.0.0",
    "@sveltejs/kit": "^1.20.5",
    "@sveltestack/svelte-query": "^1.6.0",
    "@tsconfig/svelte": "^4.0.1",
    "@types/cookie": "^0.5.1",
<EMAIL_ADDRESS>"^0.0.13",
    "@types/js-cookie": "^3.0.3",
    "autoprefixer": "^10.4.14",
    "axios": "^1.4.0",
    "dotenv": "^16.1.4",
    "linkifyjs": "^4.1.1",
    "node-sass": "^8.0.0",
    "postcss": "^8.4.23",
    "postcss-load-config": "^4.0.1",
    "prismjs": "^1.29.0",
    "socket.io-client": "^4.6.1",
    "svelte": "^4.0.0",
    "svelte-check": "^3.4.3",
    "svelte-intersection-observer": "^0.10.0",
    "svelte-preprocess": "^5.0.3",
    "svelte-transition": "^0.0.7",
    "tailwindcss": "^3.3.1",
    "tslib": "^2.4.1",
    "typescript": "^5.0.0",
    "vite": "^4.3.6"
  },
  "type": "module",
  "dependencies": {
    "@sentry/sveltekit": "^7.69.0",
    "@sveltejs/adapter-node": "^1.3.1",
    "dom-to-image": "^2.6.0",
    "downloadjs": "^1.4.7",
    "file-saver": "^2.0.5",
    "html-to-image": "^1.11.11",
    "html2canvas": "^1.4.1",
    "js-cookie": "^3.0.5",
    "modern-screenshot": "^4.4.28",
    "moment": "^2.29.4",
    "noisejs": "^2.1.0",
    "path": "^0.12.7",
    "sass": "^1.63.6",
    "sitemap": "^7.1.1",
    "statsig-js": "^4.39.2",
    "svelte-click-outside": "^1.0.0",
    "svelte-french-toast": "^1.2.0",
    "svelte-infinite-scroll": "^2.0.1",
    "three": "^0.154.0",
    "troika-three-text": "^0.48.0-unicode.3",
    "uuid": "^9.0.0",
    "vite-plugin-string": "^1.2.1"
  }
}

@SubhamPramanik thank you for sharing that info. Is it possible for you to also share what files are being cached / how the cache is setup? This seems to be a common factor with regards to the issue author's description

Thank you for re-opening.  The only reason I'm here is because nobody has answered #9381, so I'm forced to use CSR just to have client-side javascript.
After clearing my head for 2 weeks, I realize now the issue is that since I'm hosting on Github Pages but using the legacy way of deploying a branch, SvelteKit's guess that the chunks are at https://github.com/Fasteroid/svelte-portfolio/ is wrong; they're actually at https://github.com/Fasteroid/svelte-portfolio/tree/gh-pages.
Seems this was likely user error.  What's the correct way to fix this?

After clearing my head for 2 weeks, I realize now the issue is that since I'm hosting on Github Pages but using the legacy way of deploying a branch, SvelteKit's guess that the chunks are at https://github.com/Fasteroid/svelte-portfolio/ is wrong; they're actually at https://github.com/Fasteroid/svelte-portfolio/tree/gh-pages.
Seems this was likely developer error on my part. What's the correct way to fix this?

You’ll want to configure the paths.base setting to match wherever your files live at.
https://kit.svelte.dev/docs/configuration#paths
See https://kit.svelte.dev/docs/adapter-static#github-pages for more comprehensive info. I’ve just updated it.

Hey @eltigerchino, I looked into our setup and I don't see any caching config on our side. My best guess would be that we're using the default caching setup provided by Vite/SvelteKit.
Here in the vite.config.ts:
import { sveltekit } from "@sveltejs/kit/vite";
import { defineConfig, loadEnv } from "vite";
import string from "vite-plugin-string";
import { sentrySvelteKit } from '@sentry/sveltekit'

export default ({ mode }: any) => {
  // Load app-level env vars to node-level env vars.
  process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };

  return defineConfig({
    resolve: {
      alias: {
        $components: "/src/lib/components",
        $helpers: "/src/lib/helpers",
        $assets: "/src/lib/assets",
        $pages: "/src/lib/pages",
        $apis: "/src/lib/apis",
        $stores: "/src/lib/stores",
        $context: "/src/lib/context",
      },
    },
    plugins: [sentrySvelteKit({
      sourceMapsUploadOptions: {
        org: 'xxxxxxx',
        project: 'xxxxxxx',
      }
    }), sveltekit(), string({ include: "**/*.glsl" })],
  });
};

Hey @eltigerchino, I looked into our setup and I don't see any caching config on our side. My best guess would be that we're using the default caching setup provided by Vite/SvelteKit.
Something to note, we've CloudFlare proxy siting infront of all the requests.

@SubhamPramanik could you check the response headers of /_app/version.json in your production environment? I'm wondering if it's possible that it's getting cached somehow. I'm likely wrong about this but anything's worth a shot at this point. Maybe we need to explicitly add a no-cache header or the like for version.json?
https://github.com/sveltejs/kit/blob/ce4fd764e271b1a461979dfaf9698af6f36e3714/packages/adapter-node/src/handler.js#L39-L42

@eltigerchino Surprisingly enough I don't see a call to /_app/version.json in the network logs in the browser.
But here is the response header for general /_app/immutable/* calls.

Our app is open to the public: https://chat.collectivai.com, incase you want to try things out.

lol

To anyone that still has this issue, tried everything in this thread but nothing works, I just want to share a solution that might help:
Solution that worked for me:
Clearing the Cached images and files in Chrome settings:
Goto: chrome://settings/clearBrowserData?search=clear

I only left the images and files option checked because i don't want to delete all browsing data in that chrome profile.
After clearing the cache the site works as normal.

My case:

OS: Mac OS ventura
Sveltekit: 1.27.6
Hosted on Vercel

Other notes:
This error just came out of nowhere for me, I deploy changes to a branch Vercel deployment is fine and the error just appeared, and only on one chrome browser, testing on other browser my site works fine, it even works on incognito. But the errors persist on the regular chrome profile
Hope this helps, Cheers!

To anyone that still has this issue, tried everything in this thread but nothing works, I just want to share a solution that might help:
Solution that worked for me: Clearing the Cached images and files in Chrome settings: Goto: chrome://settings/clearBrowserData?search=clear

I only left the images and files option checked because i don't want to delete all browsing data in that chrome profile.
After clearing the cache the site works as normal.

My case:

OS: Mac OS ventura
Sveltekit: 1.27.6
Hosted on Vercel

Other notes: This error just came out of nowhere for me, I deploy changes to a branch Vercel deployment is fine and the error just appeared, and only on one chrome browser, testing on other browser my site works fine, it even works on incognito. But the errors persist on the regular chrome profile
Hope this helps, Cheers!

It may be useful in developing situations, but this error appears in users after production.
Therefore, it is not very helpful.

Ditto, it only appears in deployment for us too (with adapter-node).

This issue occur building files name change.
so, i fixed does not change file name with hash.

In this file line 638~640, building file name with hash
so i remove hash.
and not occur this issue.
node_modules modify with 'patch-package'.

I have this problem as well, it's really bad actually.  Here are some interesting observations. I am using Cloudflare Pages, and I noticed if you disable proxying entirely (meaning no cache of any kind is being applied by a cdn, it all seems to work).  Add proxy back (everything gets cached by cdn) it all breaks again. Even if I clear the CDN cache, it's still broken. Adding the version check stuff did not resolve the issue at all.  Going to the root of the app always works. If you load the initial page from root, everything works, every single time even with CDN cache on.  If you go to a non-root page, it's a gamble if it will work or not. Some work, some don't and it appears to be completely random.  Sometimes its trying to pull js files that simply don't exist in the deployment and were from previous deployments. Where is getting the reference to these? I have no idea as I am using an Incognito Window and I have cleared the CDN cache. So it really shouldn't have a reference to these old paths, but somehow it does.  It's possible some kind of caching header is really screwing things up somewhere as CDN's use edge caches as well and it's possible it's cached somewhere else along the route even if cleared? It's very odd. It's not just js files though, it's also css files.  Pretty much anything inside of immutable gets completely botched with a CDN enabled.
I was originally thinking it was related to Cloudflare Pages or the Adapter but since it works 100% fine if you disable the CDN I am not so sure. I have not tried uploading to another hosting provider, but based on what I saw in here it doesn't look like it would help.

Would like to add a new discovery to this, if you enabled Signed Exchanges in Cloudflare and your clicking on the links in Google Search Results to test this behavior as I was since that's where the majority of complaints were coming from, those links are not pointing to your site. They are pointing to a Cached version of your page on Google Exchange and this completely breaks SvelteKit for some reason, so you cannot use this feature with SvelteKit.  You will need to disable this and then wait several days, weeks maybe for Google to drop your site from the Google Exchange network.

Hi guys.
I found a way fully handle this.
first, you see this my reply
First way
In addition, i remove immutable cash line by using patch-package.
So, not occur this situation.
But, sveltekit developer tell me, this way is page loading speed down.
So, you guys remind this.

This is causing a lot of issues on my end on each new version deploy. Setting the poll interval lower would probably help, but that means an extra few million monthly hits to handle (and to pay for, considering Cloudflare Pages pricing for example). I'm trying a lot of hacky things, but nothing works flawlessly yet.

I'm confused why this is still an issue, and why it is not fixed at the vite or sveltekit layer.
It seems like maaaany more people should be encountering this issue.

I was able to mostly fix the issue on my side. I'm using CloudFlare Pages, and whenever I deploy a new version I just purge the cache for the entire domain using the CloudFlare API. Doing this fix the issue for all new users arriving on the app, and then the ´pollInterval' takes care of the users already on the app.

I'm also experiencing something similar. I'm deployed on Vercel using the vercel adapter. The initial SSR'd HTML loads correctly, but when we try to fetch the JS chunks, the browser decides to try to fetch them from the disk cache instead of loading fresh chunks, which causes unexpected behavior.
I've tried:

setting a deterministic version name in svelte.config.js
followed these instructions to track updates https://kit.svelte.dev/docs/configuration#version

I've noticed that version.json isn't even called as network event sometimes - I wonder if that's b/c the JS needed to do so isn't loaded properly?
Thanks!

I am still experiencing the same problem after I:

set the version.pollInterval to 6000
set the version name as my commit hash

But some people still have the not found error. Anyone figured out a reliable solution?

If you clear your app's cache on each deploy, it works flawlessly. For example, on CloudFlare, use Caching -> Configuration -> Purge everything (or Custom purge).

If you clear your app's cache on each deploy, it works flawlessly. For example, on CloudFlare, use Caching -> Configuration -> Purge everything (or Custom purge).

We're using Vercel without CloudFlare. Not sure if there's anything we can do with this setup to clear the app cache.

Did you guys just have this happen on a site too? I did as well for one also running through cloudflare as a dns and cache provider. Wondering if their cache maybe had a minute

I've noticed that version.json isn't even called as network event sometimes - I wonder if that's b/c the JS needed to do so isn't loaded properly?

Yes, that may be the case. For example, in addition to a litany or 404s for a bunch of files, including
GET https://staging-app.usemantel.com/_app/immutable/entry/app.e6f98f24.js net::ERR_ABORTED 404 (Not Found)

...

TypeError: Failed to fetch dynamically imported module: https://staging-app.usemantel.com/_app/immutable/entry/start.3303bec4.js

The app's JS never loads. When I inspect the DOM, the only thing inside the body > div is the load script, which contains at the bottom:
Promise.all([
	import("./_app/immutable/entry/start.3303bec4.js"),
	import("./_app/immutable/entry/app.f7e92c3b.js")
]).then(([kit, app]) => {
	kit.start(app, element);
});

There is no further HTML loaded from the root layout, etc.  As you can see, the cached version is looking for app.e6f98f24.js but the newest version is ap.f7e92c3b.js.

@vecter - what does your [x-vercel-cache](https://vercel.com/docs/edge-network/caching#x-vercel-cache) header look like? By reading the docs, it seems that Vercel is suppose to clear the cache on every deploy.

@frederichoule

It says either HIT or MISS depending on whether or not it can find the file. Apologies for my noobie question but how does that relate to this issue?
I did a hard purge of the Vercel app's data cache but that didn't do anything.

I meant, the x-vercel-cache of your root page staging-app.usemantel.com. The main issue is that your staging-app.usemantel.com returns the HTML of an old build, so you have to find a way to invalidate the cache of that root URL.

Yeah it seems right - so your root page returns the correct scripts to be loaded, but those scripts don't load (example scheduler.66c77ea2.js). I can access that script from here without any problem. Can you check on your side what's the error?

Yeah it seems right - so your root page returns the correct scripts to be loaded, but those scripts don't load (example scheduler.66c77ea2.js). I can access that script from here without any problem. Can you check on your side what's the error?

It must be a browser caching issue. I can load that URL (https://staging-app.usemantel.com/_app/immutable/chunks/scheduler.66c77ea2.js) fine in an Incognito chrome window. However, in my main Chrome window where I've been doing all of my development work, I get the 404. I'm pretty sure it's b/c Chrome is trying to load it form the disk cache:

The Status Code shows "404 Not Found (from disk cache)". It assume itt's not in the cache because it's a new file from the most recent build. I don't know why Chrome doesn't try to fetch the file remotely. Maybe becauase the Link: value are all relative and not absolute?

Can you adjust the Cache-control: public, immutable, max-age=31536000 header on Vercel? That means Chrome will cache the 404 pages for 365 days. It should be no-store instead. That's the root of your problem.

Can you adjust the Cache-control: public, immutable, max-age=31536000 header on Vercel? That means Chrome will cache the 404 pages for 365 days. It should be no-store instead. That's the root of your problem.

Thank you for that suggestion. I will look that up and try that now. Will let you know how it goes.

Can you adjust the Cache-control: public, immutable, max-age=31536000 header on Vercel? That means Chrome will cache the 404 pages for 365 days. It should be no-store instead. That's the root of your problem.

One thing: if I set it to no-store, wouldn't that mean that those pages are never cached? It seems that that would slow page loads significantly. Is there a better value like no-cache or something else?

You should set no-store on 404 status code only, not all of them.

404 status: no-store
200 status (root page): public, must-revalidate, max-age=86400 (although you would have to invalidate the cache on each deploy, which Vercel does by default I think)
200 status / immutable assets: public, immutable, max-age=31536000

That makes sense, thanks for spelling that out. I've scoured the Vercel docs on how to set the Cache-Control header conditioned on the response code status but I don't see how:
https://vercel.com/guides/how-to-configure-the-cache-control-response-header-in-vercel-projects#using-the-vercel.json-file
https://vercel.com/docs/edge-network/headers#cache-control-header
Am I totally missing something or is there a simple way to do it?

I haven't played with Vercel much, so I do not know exactly how to do it. I'll give it a try later today and see what I can find. In the meantime, I also found that: https://vercel.com/docs/deployments/skew-protection.

I haven't played with Vercel much, so I do not know exactly how to do it. I'll give it a try later today and see what I can find. In the meantime, I also found that: https://vercel.com/docs/deployments/skew-protection.

Thanks for the reference, I'll try that and see if it resolves the issue somehow (hard to tell currently if it's exactly related)

If you find a way to no-cache your 404 urls, and clear the cache on the root page on every deploy, everything will work as intended!

If you find a way to no-store your 404 urls, and clear the cache on the root page on every deploy, everything will work as intended!

Interesting, what do you mean by "clear the cache on the root page on every deploy"? I assume you mean the browser's cache of some files but I'm not quite sure.

If you clear your app's cache on each deploy, it works flawlessly. For example, on CloudFlare, use Caching -> Configuration -> Purge everything (or Custom purge).

Like I said here, but I do not know how to do it on Vercel. I used to have the same bug you had when I deployed our app. Our error rate was skyrocketing on each deploy, but now it's 0% since we added a clear cache step on our deploy process.

We're running into this issue too, Vercel is aggressively caching 404s. I'm not sure how the initial 404 is happening that causes the cache hit, I'm thinking it could be a race condition with one JS file calling another before the others are on disk? I've filed a ticket with Vercel, It's not clear to me how to no-store my 404s, but still looking into it on my own.

I've confirmed that sveltekit is not returning the Cache-Control headers on a 404 when using (my preview server locally). Vercel is caching it, which is not what Sveltekit is asking it to do. 3 days with a ticket open to Vercel and not even a first reply.

Hi all, created a PR with a solution that's working for me, there are probably better approaches, but this could be a good example of the problem. https://github.com/sveltejs/kit/pull/12526

I can reproduce this issue now, depoyed on Vercel (and even with skew protection enabled).
Repo is here.
To actually reproduce, check out this video I recorded.
But essentially you have to:

Visit the deployed page
Add a code-change, bump the version and deploy
In another tab visit the site
Go back to the old tab and inspect how it's getting 404

I can reproduce this issue now, depoyed on Vercel (and even with skew protection enabled).
Repo is here.
To reproduce, check out this video I recorded.
But essentially you have to:

Visit the deployed page
Add a code-change, bump the version and deploy
In another tab visit the site
Go back to the old tab and inspect how it's getting 404

I can reproduce this issue now, depoyed on Vercel (and even with skew protection enabled).
Repo is here.
To reproduce, check out this video I recorded.
But essentially you have to:

Visit the deployed page
Add a code-change, bump the version and deploy
In another tab visit the site
Go back to the old tab and inspect how it's getting 404

Hi Alex, thank you for the detailed video, it's really helpful. I don't currently have access to skew protection so I can't reproduce this but I'll forward the matter to @Rich-Harris @dummdidumm @trueadm who can look at it when they have some free time.
Like you said in the video, it's probably the new tab which is updating the cookie and causing the old tab to lose the correct cookie. I'd also recommend creating a new issue for this.
You may also be interested in this issue https://github.com/sveltejs/kit/issues/12592 which advocates for using a header instead of a cookie.

I had this same problem on some dynamic routes and I fixed it by adding a +page.ts file to the effected routes with this code in it:
export const ssr = false;
https://kit.svelte.dev/docs/page-options#ssr


[WIP] Album htmx

file management will be done in the admin for now, closing PR but keep the branch for future use please


[Errno 2] No such file or directory: '/workspace/sd/stable-diffusion-webui/extensions/.ipynb_checkpoints/.git'

Today when I try to generate images, I found an error in one of my extension installed, then when I try to update all extensions, instead of the list of extensions, the error as such comes: FileNotFoundError: [Errno 2] No such file or directory: '/workspace/sd/stable-diffusion-webui/extensions/.ipynb_checkpoints/.git'
I use the runpod version of stable diffusion.
version: v1.5.0  •  python: 3.10.10  •  torch: 2.0.0+cu117  •  xformers: N/A  •  gradio: 3.32.0  •  checkpoint: 4c86efd062

in a new cell, run !rm -r /workspace/sd/stable-diffusion-webui/extensions/.ipynb_checkpoints

Thanks. It works now.


evaluation on those frames at the begging or the end of one video

How did you deal with the situation when the target frame is the first one of the video? then there isn't any perceding frames to make the target frame as the 'center frame'. Or you just ignore it and start the evaluation from the 13th frame when the input sequence length is 27?

Following [1, 2], in the data preprocessing, if the arget frame is the first one of the video, we pad with the edge values of array.
You can refer to https://github.com/Vegetebird/StridedTransformer-Pose3D/blob/163f0cb4869ef51d7545b4c3d04ce3491a2b67e2/common/generator.py#L103.
[1] VideoPose3D
[2] ST-GCN

thank you very much for the quick reply~
I found another interesting thing that the max-pooling only extracts value each stride_num[i] steps because the kernel size is set to 1, there isn't any implict 'max-pooling' operation conducted. Have you ever tried kernel size 3 and got any performance discrepancy?
https://github.com/Vegetebird/StridedTransformer-Pose3D/blob/163f0cb4869ef51d7545b4c3d04ce3491a2b67e2/model/block/strided_transformer_encoder.py#L65

I forget whether I have tried it, maybe you can try it~


Unable to debug Validation Errors because of Guzzle truncation

Guzzle is truncating validation errors making it extremely difficult to debug. This seems to be an issue when Guzzle is configured to throw exceptions on errors. I have traced the problem down to Requester.php and was able to output the message by printing the message body contents. https://github.com/contentful/contentful-core.php/blob/446826d86635a7538ed61a60d7541fb40fd5c277/src/Api/Requester.php#L84
Example of Truncated Error
{
  "sys": {
    "type": "Error",
    "id": "InvalidEntry"
  },
  "message": "Validation error",
  "details": {
    "errors": {
      "err truncated ... )"
    }
  }
}

Hi @RayHughes ,
this is indeed annoying, but it's a problem with GuzzleHttp. You can avoid it by supplying an instance which is configured not to do so. Here's an example with the Contentful library based on this comment:
// First, create the Guzzle HTTP client
$stack = new \GuzzleHttp\HandlerStack(\GuzzleHttp\Utils::chooseHandler());
$stack->push(\GuzzleHttp\Middleware::httpErrors(new \GuzzleHttp\BodySummarizer(PHP_INT_MAX)), 'http_errors');
$stack->push(\GuzzleHttp\Middleware::redirect(), 'allow_redirects');
$stack->push(\GuzzleHttp\Middleware::cookies(), 'cookies');
$stack->push(\GuzzleHttp\Middleware::prepareBody(), 'prepare_body');
$httpClient = new \GuzzleHttp\Client(['handler' => $stack ]);

// Next, create Contentful client options and set the HTTP client
$options = \Contentful\Delivery\ClientOptions::create()->withHttpClient($httpClient);

// Finally create the client with the options
$client = new \Contentful\Delivery\Client( 'b4c0n73n7fu1', 'cfexampleapi', 'master', $options);

Hope this helps!