Related resources

Rebased from previous PR #136.

Implementation seems to work in some limited tests. Some test cases was failing but I've now managed to fix them. @joukevandermaas this is now ready for review.

There are two behavioral changes that I've seen with this PR:

Before it seems the default behavior was to return all relationship data as included. With this PR relationship data will not be included by default and must be explicitly requested with the include param. I think this behavior was added intentionally by @yohanmishkin but I'm not sure about the reasoning.

Before empty relationships was included. With this PR they are not. I can't find if the spec says one of these two is the correct behavior.

@joukevandermaas can you clarify "Is there some way to dis-allow the client from including resources? The endpoint still has to support it for it to work."?

@bjornharrtell

I think that's fine in theory, but it's a breaking change. I'd rather keep the current behavior and allow users of Saule (API writers) to opt into the new behavior, e.g. with an [AllowClientInclude] attribute on the action method, or a parameter to the BelongsTo and HasMany functions in ApiResource.

This is also what I meant by "is there some way to dis-allow the client from including resources? The endpoint still has to support it for it to work." The API writer should be able to control whether the client can or cannot include a given relationship.

IIRC empty relationships were converted into a link (they were serialized with a links hash that allowed clients to fetch the data async).

{
  "attributes": { ... },
  "relationships": {
    "job": {
      "links": {
        "related": "http://.../job",
        "self": "http://.../relationships/job"
      }
    }
  }
}

I think that should still happen if the client did not ask to include the resource or if the resource property does not exist on the model.

Thanks for the explanations, I think it makes sense.

We had some heavy objects with many nested relationships so that's why I made inclusions opt-in by default, but it makes sense to me to avoid introducing breaking changes.

To be honest, I'm not positive why I removed empty relationships, but I think it may have been ember-cli-mirage inspired.

Ready for review once more @joukevandermaas. Things done:

Should now be without any breaking change for API consumers
Default is to include related data but can be opt-out via action attribute (this concerns only the case where the include param is not used)
Added test for included resource referenced in multiple resources

I've refactored to keep the state of DisableDefaultIncluded on IncludedContext instead of QueryContext, and assuming false if IncludedContext is null. Ready for review yet again @joukevandermaas.

@bjornharrtell Thanks so much for seeing this through! I'm going to merge this and publish a new beta release with the changes.
@yohanmishkin Thanks for your contributions to this!


[FEAT]: [IMPORTANT] embedding chat into iframe for web page

It would be very important and allow for expanded use in an expenential way, the possibility of add the ability to add a chat into a site via iframe

Being done here: https://github.com/Mintplex-Labs/anything-llm/pull/656
(also don't say "important" please! It makes it seem urgent like security issue)


Game Server Request - Icarus

Please add Icarus dedicated server to the supported list.
https://store.steampowered.com/app/1149460/ICARUS/

Can you provide an IP and port to test?

implemented

implemented

Is this live? If so, what's the Game ID? I don't see it.

https://github.com/DiscordGSM/GameServerMonitor/pull/105
Pending pull and implementation of it
@BattlefieldDuck


Comparison operators don't work?

All the basic comparison operators appear to be unsupported.
For instance, if I run this:
echo "a == b" | decaffeinate

traverse.js complains like so:
Error: cannot traverse unknown node type: EQOp

I get the same results for any other comparison operators, as well.
Here's a list of all I tried and their associated AST node names (I may be missing some operators):

EQOp (==, is)
NEQOp (!=, isnt)
GTOp (>)
GTEOp (>=)
LTOp (<)
LTEOp (<=)
UrnaryExistsOp (<expr>?)
BitAndOp (&)
BitOrOp (|)
BitXorOp (^)

Thanks for highlighting this. All of these should be fixed in v1.6.0.


Suggestions for Siren

Just some ideas, don't have to use em but I think he could use some help to further differentiate him from Forest Giants.
Better Hidden State - Siren head, while hidden, has a "Ship" scan node instead of registering as an enemy. While it is hidden, Siren head operates similar to Circuit Bees, automatically breaking disguise and aggroing on the player who wandered too close instead of needing line of sight to trigger.
Transceiver - Unless it is hiddden, Siren head will react aggressively to being scanned and automatically chase players who scan it. If Siren head is currently hidden and scanned, appearing as the ship, and the player is within an acceptable radius, Siren head sprints towards its victim, crushing them.
Broadcast - Siren head activates broadcasts from your ship speaker and any active walkie-talkies or boomboxes. This broadcast not only attracts dogs, but also brackens. This gives the exterior enemy a potential interior presence. Frequency of broadcasts being configurable while hidden, wandering, and aggressive should be configurable.

I'm not currently developing the mod right now and might not add these but I'll keep them in mind for the future.


ember-cli-nwjs doesn't work with ES7 async

Hello,
getting following error:
"Uncaught ReferenceError: regeneratorRuntime is not defined",
async start(){
    try {
       let response = await this.get('sync').request(json);
....

In ember-cli-build.js I am using:
var app = new EmberApp(defaults, {     babel: {       includePolyfill: true     }   });
On browser works fine

I'm getting this error with ember 2.9.0+ with simply running the application.  It appears to only happen when i build the app for OSX. If i build it for WIN32/64 it works fine.

Hi,
I'm experiencing a similar Problem with ember-concurrency Addon. Works fine in Browser but when building with nw the following error occurred
var testGenFn = regeneratorRuntime.mark(function testGenFn() {                   ^ ReferenceError: regeneratorRuntime is not defined
It makes no difference for which OS it's build.


Make the generated resource accessors public

When working in a multi-module project sometimes it makes sense to share resources between modules.
I don't think it's possible now with Compose Resources as the generated Res object and the resources accessors have internal modifier. It would be good to be able to instruct the compose plugin to generate public resource accessors.
Compose version: 1.6.10-rc02

https://www.jetbrains.com/help/kotlin-multiplatform-dev/1.6.10/compose-images-resources.html#setup
compose.resources {
    publicResClass = true
}

Great, thanks!

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Standardize npm

Coverage remained the same at 69.716% when pulling d753836ea9f19dfe0a4756806dbcbd8e977b99c4 on standardize_npm into d5a8d693e2118c84ac55df646f425d6654459cd8 on master.

Coverage remained the same at 69.716% when pulling d753836ea9f19dfe0a4756806dbcbd8e977b99c4 on standardize_npm into d5a8d693e2118c84ac55df646f425d6654459cd8 on master.

Coverage remained the same at 69.716% when pulling d753836ea9f19dfe0a4756806dbcbd8e977b99c4 on standardize_npm into d5a8d693e2118c84ac55df646f425d6654459cd8 on master.


Login Page title shows - Login to Sunbird

in the Login page - (
https://staging.ntp.net.in/auth/realms/sunbird/protocol/openid-connect/auth?client_id=portal&state=d1208a96-f76e-4843-805d-9cedf5d5f9d9&redirect_uri=https%3A%2F%2Fstaging.ntp.net.in%2Fprivate%2Findex%3Fauth_callback%3D1&scope=openid&response_type=code#!/content/edit/do_2123206859170365441741
)
the page title (ie. the title meta tag ) says - "Login to Sunbird "
Shouldn;t be  "Login to NTP " ?

Now it's "Login to DIKSHA"

@vinod303 This issue is fixed hence i am closing this issue.


About symmetric option

Hi, thanks for publishing this wonderful works.
I want to ask is there any missing about symmetric code. I checked the code but don't see the initialize for symmetric like in LASR source code. Also the results are different from what I expected.

Hi, we didn't assume a symmetric rest shape in ViSER. The results look strange. Was any hyper-parameter modified?

Thanks for the quick reply!
No I didn't modify any hyperparamet in breakdance-flare sample. I follow the default instructions (prepare, run vcn, then run the two script breakdance.sh and render result). Though I use the given script in the repo but should I increase the number of epochs?
For the camel example, I wrote the configs file follow breakdance config example and modified the breakdance script into camel (i commented the index start and end in the script). I also followed the standard instruction (prepare, run optimize and render). I thought it missing other half was because of the symmetric option because I see LASR using it. But maybe it's not the case so I ask here just in case.
camel.sh
#!/bin/bash
eval "$(command conda 'shell.bash' 'hook' 2> /dev/null)"
conda activate viser/
dev=0
ngpu=1
batch_size=4

#dev=0,1,2,3
#ngpu=4
#batch_size=1

seed=1003
address=1111
logname=camel-$seed
checkpoint_dir=log

# optimize viser on a subset of video frames
# for camel we use start: 22, end: 42
dataname=camel-init
CUDA_VISIBLE_DEVICES=$dev python -m torch.distributed.launch \
    --master_port $address --nproc_per_node=$ngpu optimize.py \
    --name=$logname-0 --checkpoint_dir $checkpoint_dir --n_bones 21 --only_mean_sym \
    --num_epochs 20 --dataname $dataname --ngpu $ngpu --batch_size $batch_size --seed $seed
CUDA_VISIBLE_DEVICES=$dev python -m torch.distributed.launch \
    --master_port $address --nproc_per_node=$ngpu optimize.py \
    --name=$logname-1 --checkpoint_dir $checkpoint_dir --n_bones 36 --nosymmetric\
    --num_epochs 10 --dataname $dataname  --ngpu $ngpu --batch_size $batch_size \
    --model_path $checkpoint_dir/$logname-0/pred_net_latest.pth --finetune --n_faces 1601
CUDA_VISIBLE_DEVICES=$dev python -m torch.distributed.launch \
    --master_port $address --nproc_per_node=$ngpu optimize.py \
    --name=$logname-2 --checkpoint_dir $checkpoint_dir --n_bones 36 --nosymmetric\
    --num_epochs 10 --dataname $dataname  --ngpu $ngpu --batch_size $batch_size \
    --model_path $checkpoint_dir/$logname-1/pred_net_latest.pth  --finetune --n_faces 1602

# start-idx and end-idx are determined by the initization subset of frames
# delta-max-cap is computed as max( number-of-frames - end-idx, start-idx - 0)
dataname=camel
CUDA_VISIBLE_DEVICES=$dev python -m torch.distributed.launch \
    --master_port $address --nproc_per_node=$ngpu optimize.py \
    --name=$logname-ft1 --checkpoint_dir $checkpoint_dir --n_bones 36 --nosymmetric\
    --num_epochs 60 --dataname $dataname --ngpu $ngpu --batch_size $batch_size \
    --model_path $checkpoint_dir/$logname-2/pred_net_latest.pth --finetune --n_faces 1601 \
    # --start_idx 22 --end_idx 42 --use_inc --delta_max_cap 30
CUDA_VISIBLE_DEVICES=$dev python -m torch.distributed.launch \
    --master_port $address --nproc_per_node=$ngpu optimize.py \
    --name=$logname-ft2 --checkpoint_dir $checkpoint_dir --n_bones 36 --nosymmetric\
    --num_epochs 20 --dataname $dataname  --ngpu $ngpu --batch_size $batch_size \
    --model_path $checkpoint_dir/$logname-ft1/pred_net_latest.pth --finetune --n_faces 8000

camel-init.config
[data]
datapath = database/DAVIS/JPEGImages/Full-Resolution/rcamel/
dframe = 1
init_frame  = 0
end_frame = -1
can_frame = -1

[data_0]
datapath = database/DAVIS/JPEGImages/Full-Resolution/rcamel/
dframe = 1
init_frame  = 0
end_frame = -1
can_frame = -1
ppx = 960
ppy = 540

[meta]
numvid = 1

camel.config
[data]
datapath = database/DAVIS/JPEGImages/Full-Resolution/rcamel/
dframe = 1
init_frame  = 0
end_frame = -1
can_frame = -1

[data_0]
datapath = database/DAVIS/JPEGImages/Full-Resolution/rcamel/
dframe = 1
init_frame  = 0
end_frame = -1
can_frame = -1
ppx = 960
ppy = 540

[meta]
numvid = 1

For the breakdance example, I wasn't able to reproduce your failure case. There might something critically wrong. As a sanity check, can you run
bash scripts/render_result.sh breakdance-flare log/breakdance-flare-1003-1/pred_net_10.pth 36

just to check whether the initialization stage succeeded? You should be able to get something like this

If it didn't, can you also attach the tensorboard file log/breakdance-flare-1003-0/events.out.t* as well as the log/breakdance-flare-1003-0/pred_net_20.pth?

Hi, here is the init. looks like it failed somehow.

Here is the drive link to log checkpoint and events for breakdance-flare-1003-0: https://drive.google.com/drive/folders/1PgkyGC_R2xwXwUrJp4Ayj0VOSI4p_PSd?usp=sharing

From the tensorboard log, the pre-computed flow is wrong.
Warped image is attached (left: correct, right: wrong)

Can you check whether the pre-computed flow is the same as ones provided? An easy way to check is to compare the flow-warped images at database/DAVIS/FlowFW/Full-Resolution/rbreakdance-flare/warp*.jpg

The prepare files are correct. I show warp-00027.jpg from my folder and the given preprocess.

The files alone are correct, but the part it reads or somehow it gets the wrong one (hence wrong one show in the tensorboard) i guess. But I didn't change anything in the code though. This is hard.

Hi , just realized there was a bug in flow pre-processing script, where flow are stored in an upside-down way. This should fix the issue: https://github.com/gengshan-y/viser-release/commit/aceefb58fb705cc86be6a83f0297e9d054804619

Oh okay, I'm running the sample again after applying the fix. I will report the result after it's done.

Hi. The breakdance sample after the patch https://github.com/gengshan-y/viser-release/commit/aceefb58fb705cc86be6a83f0297e9d054804619 is super good.

But for the camel sample it's still quite bad. I used the same camel.config as mentioned in previous reply. I wonder did I write the config wrong somehow?

The camel sequence has 90 frames, which is difficult to do gradient-based optimization from scratch. What we did in lasr/viser is to first optimize the subsampled frames (over time by a factor of 5), and then optimize all the frames.
This repo doesn't contain an example for camel but you may check this to generate flow of the subsampled frames, and modify the config according to configs/elephant-walk-init.config.


Revert "Remove details about multiple CA certs on Cloud [DOC-9578]"

Reverts cockroachdb/docs#18255
Preview: src/current/cockroachcloud/client-certs-dedicated.md

src/current/cockroachcloud/client-certs-dedicated.md

Tracked in https://cockroachlabs.atlassian.net/browse/DOC-9779

Chris gave LGTM offline.


fix(modules): correct build your own module link

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#274
#273  👈
#272
#271
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NathanFlurry and the rest of your teammates on  Graphite


Cypress/E2E: fix upload of screenshots

Summary
Fix upload of screenshots
Release Note
NONE

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/259099

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/259113

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/259135

/e2e-test

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/259180

/update-branch

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/259226


Make imports of backends conditional

It is possible that a particular installation will not have z3, cvc5 or a future backend. CloudSec should make all imports conditional and should raise reasonable exceptions when a user tries to use a backend that is not available in their installation.

This is now working in develop, to be included in the 0.2.0 release.


ERROR 500 when i try to view Report or Product

I just installed the petereport via Docker and i'm getting this error 500 when i try to view product or report etc..
I tried installing multiple times still no luck.
Screenshots :

I turned on the debug mode and i got below error.

Error during template rendering

In template /opt/petereport/app/preport/templates/home/template.html, error at line 0
clean() got an unexpected keyword argument 'styles'
1 	<!DOCTYPE html>
2 	<html lang="en">
3 	<head>
4 	    {% block head %}
5 	      {% block meta %}
6 	        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 	        <meta charset="utf-8">
8 	        <meta http-equiv="X-UA-Compatible" content="IE=edge">
9 	        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
10 	      {% endblock meta %}

Environment:

Request Method: GET
Request URL: http://<IP_ADDRESS>/product/view/1

Django Version: 3.2.5
Python Version: 3.8.10
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'martor',
 'django_bleach',
 'preport']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']

Template error:
In template /opt/petereport/app/preport/templates/home/template.html, error at line 0
   clean() got an unexpected keyword argument 'styles'
   1 : <!DOCTYPE html>
   2 : <html lang="en">
   3 : <head>
   4 :     {% block head %}
   5 :       {% block meta %}
   6 :         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   7 :         <meta charset="utf-8">
   8 :         <meta http-equiv="X-UA-Compatible" content="IE=edge">
   9 :         <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
   10 :       {% endblock meta %}

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.8/dist-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/petereport/app/preport/views.py", line 358, in product_view
    return render(request, 'products/product_view.html', {'pk': pk, 'DB_product_query': DB_product_query, 'DB_report_query': DB_report_query, 'count_product_report': count_product_report, 'product_findings': count_product_findings_total, 'count_product_findings_critical_high': count_product_findings_critical_high, 'count_product_findings_medium': count_product_findings_medium})
  File "/usr/local/lib/python3.8/dist-packages/django/shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/usr/local/lib/python3.8/dist-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 988, in render
    output = self.filter_expression.resolve(context)
  File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 698, in resolve
    new_obj = func(obj, *arg_vals)
  File "/usr/local/lib/python3.8/dist-packages/django_bleach/templatetags/bleach_tags.py", line 23, in bleach_value
    bleached_value = bleach.clean(value, **args)

Exception Type: TypeError at /product/view/1
Exception Value: clean() got an unexpected keyword argument 'styles'

Same here with latest commit 0cafe850888f857b4aefb742179b0a0de4e63aa4

Temporary solution is to revert back to commit 1d95bad3d8cdc92ec0800f618bd51d17a633f0c4
git reset --hard 1d95bad3d8cdc92ec0800f618bd51d17a633f0c4
And then ,
docker-compose up --build

Hitting the same 500 error when creating PDF report

Hi All,
Thank you for getting this to me, I was investigating the issue, it seems that python 3.10 is installed with docker, and there are some issues with a couple of libraries; bleach and collections. For backwards compatibility, they continue to be visible in this module through Python 3.9.
So I recommended to start the server manually using python < 3.10 until I found the way to update those libraries or force docker to use python 3.9.
Thanks

Should be fixed in the last commit, take a look and let me know if do you find any other issue.

Hi
Still getting the error 500 while creating a pdf report, which have a lot of base64 image in it.

Thanks

@ky0112 this is a different issue than this one, could you open a new issue providing more details, for example enabling the debug mode and adding the output?
To enable debug mode, change 'debug': True in config file: /app/config)/petereport_config.py
Thanks


Committing HF LFS files with URL fails inside browser

Added a failing test here: https://github.com/huggingface/huggingface.js/commit/d0991eb353246a3323337ef9bd1d676e2e691679
It uploads an empty file instead.
The test works in node.

It seems to compute sha just fine btw, so problem is probably on upload.
Should investigate, and if the browsers are only happy with native blobs, we should maybe during the upload use something like fetch with duplex: 'half' + streaming request: https://developer.chrome.com/articles/fetch-streaming-requests/#streaming-request-bodies
Should also check for non-LFS files, eg a text file of 8MB, if it works fine or not.

@coyotte508 Which error are you talking about:

wrong size header expected +0 to equal 4194304
wrong header expected 'text/plain' to be 'text/plain;charset=utf-8'

Is there anything I can do or are they both related to CORS issue in Moon side?
(CF https://github.com/huggingface/huggingface.js/actions/runs/4564221641/jobs/8053715355)

The CORS error was unrelated to the LFS files upload in the end (only the regular file upload I guess) but it's fixed as well.
It's fixed in https://github.com/huggingface/huggingface.js/commit/a30183882a2efc3db505aa6140144231f871126a
Unfortunately we can't do fetch(..., {body: webBlob} in browsers (tried chrome & FF) it seems

FYI, I opened issues in Firefox and Chromium bug trackers to understand why it's not working with fetch body
https://bugzilla.mozilla.org/show_bug.cgi?id=1826243
https://bugs.chromium.org/p/chromium/issues/detail?id=1430298


[Bug]: Middleware rewrites cause infinite redirect loop when pointing to a directory in public

Summary
Given the following middleware:
export default (request) => NextResponse.rewrite(new URL('/foo', request.url));

If there's a folder /foo in /public, requests enter an infinite redirect loop.
Note this is almost certainly related to #2331 , and I'd bet it's cause by the same underlying root issue.  The difference between this ticket and that one is that here we use NextResponse.rewrite instead of MiddlewareRequest.rewrite, and instead of an error we get an infinite redirect loop.
A link to a reproduction repository
https://github.com/cprussin/netlify-issue-repro-2
Expected Result
Render the file /public/foo/index.html if it exists, and 404 if it does not.
Actual Result
Infinite redirect loop
Steps to reproduce

Deploy repo
Navigate to site

Next Runtime version
4.40.2
Is your issue related to the app directory?

[X] Yes, I am using the app directory

More information about your build

[ ] I am building using the CLI
[ ] I am building using file-based configuration (netlify.toml)

What OS are you using?
None
Your netlify.toml file
No response
Your public/_redirects file
No response
Your next.config.js file

`next.config.js`
module.exports = {
  reactStrictMode: true
};

Builds logs (or link to your logs)

Build logs
6:27:29 AM: build-image version: 2a79f2b6b97edab3f858983ec4cea00280a2836a (focal)
6:27:29 AM: buildbot version: c7db8131ac2d97256c1f537cc5bbdf08464b8daa
6:27:29 AM: Fetching cached dependencies
6:27:29 AM: Starting to download cache of 201.6MB
6:27:30 AM: Finished downloading cache in 544ms
6:27:30 AM: Starting to extract cache
6:27:32 AM: Finished extracting cache in 2.525s
6:27:32 AM: Finished fetching cache in 3.127s
6:27:32 AM: Starting to prepare the repo for build
6:27:32 AM: Preparing Git Reference refs/heads/master
6:27:34 AM: Starting to install dependencies
6:27:34 AM: Python version set to 3.8
6:27:34 AM: Attempting Ruby version 2.7.2, read from environment
6:27:35 AM: Using Ruby version 2.7.2
6:27:35 AM: Started restoring cached go cache
6:27:35 AM: Finished restoring cached go cache
6:27:35 AM: go version go1.19.13 linux/amd64
6:27:36 AM: Using PHP version 8.0
6:27:37 AM: Started restoring cached Node.js version
6:27:38 AM: Finished restoring cached Node.js version
6:27:39 AM: v18.18.2 is already installed.
6:27:39 AM: Now using node v18.18.2 (npm v9.8.1)
6:27:39 AM: Enabling Node.js Corepack
6:27:39 AM: Started restoring cached build plugins
6:27:39 AM: Finished restoring cached build plugins
6:27:39 AM: Started restoring cached corepack dependencies
6:27:39 AM: Finished restoring cached corepack dependencies
6:27:39 AM: No pnpm workspaces detected
6:27:39 AM: Started restoring cached node modules
6:27:39 AM: Finished restoring cached node modules
6:27:40 AM: Installing npm packages using pnpm version 8.7.6
6:27:40 AM: Lockfile is up to date, resolution step is skipped
6:27:40 AM: Already up to date
6:27:40 AM: Done in 467ms
6:27:40 AM: npm packages installed using pnpm
6:27:41 AM: Install dependencies script success
6:27:41 AM: Starting build script
6:27:42 AM: Detected 1 framework(s)
6:27:42 AM: "next" at version "13.5.4"
6:27:42 AM: Section completed: initializing
6:27:44 AM:
6:27:44 AM: Netlify Build
6:27:44 AM: ────────────────────────────────────────────────────────────────
6:27:44 AM:
6:27:44 AM: ❯ Version
6:27:44 AM:   @netlify/build 29.22.5
6:27:44 AM:
6:27:44 AM: ❯ Flags
6:27:44 AM:   baseRelDir: true
6:27:44 AM:   buildId: 652a973f3a0d00000817e314
6:27:44 AM:   deployId: 652a973f3a0d00000817e316
6:27:44 AM:
6:27:44 AM: ❯ Current directory
6:27:44 AM:   /opt/build/repo
6:27:44 AM:
6:27:44 AM: ❯ Config file
6:27:44 AM:   No config file was defined: using default values.
6:27:44 AM:
6:27:44 AM: ❯ Context
6:27:44 AM:   production
6:27:44 AM:
6:27:44 AM: ❯ Using Next.js Runtime - v4.40.2
6:27:45 AM:
6:27:45 AM: @netlify/plugin-nextjs (onPreBuild event)
6:27:45 AM: ────────────────────────────────────────────────────────────────
6:27:45 AM:
6:27:45 AM: Next.js cache restored.
6:27:45 AM: Netlify configuration property "build.environment.NEXT_PRIVATE_TARGET" value changed.
6:27:45 AM:
6:27:45 AM: (@netlify/plugin-nextjs onPreBuild completed in 111ms)
6:27:45 AM:
6:27:45 AM: Build command from Netlify app
6:27:45 AM: ────────────────────────────────────────────────────────────────
6:27:45 AM:
6:27:45 AM: $ pnpm run build
6:27:45 AM: ><EMAIL_ADDRESS>build /opt/build/repo
6:27:45 AM: > next build
6:27:46 AM:    Creating an optimized production build ...
6:27:48 AM:  ✓ Compiled successfully
6:27:48 AM:    Linting and checking validity of types ...
6:27:48 AM:    Collecting page data ...
6:27:50 AM:    Generating static pages (0/4) ...
6:27:51 AM:    Generating static pages (1/4)
6:27:51 AM:    Generating static pages (2/4)
6:27:51 AM:    Generating static pages (3/4)
6:27:51 AM:  ✓ Generating static pages (4/4)
6:27:53 AM:    Finalizing page optimization ...
6:27:53 AM:    Collecting build traces ...
6:27:54 AM: Route (app)                              Size     First Load JS
6:27:54 AM: ┌ ○ /                                    140 B          80.5 kB
6:27:54 AM: └ ○ /_not-found                          883 B          81.2 kB
6:27:54 AM: + First Load JS shared by all            80.3 kB
6:27:54 AM:   ├ chunks/95-667055ea6e31680b.js        27.5 kB
6:27:54 AM:   ├ chunks/b97a3a71-357a375a396d8622.js  51 kB
6:27:54 AM:   ├ chunks/main-app-968e29e1596532ac.js  229 B
6:27:54 AM:   └ chunks/webpack-bf1a64d1eafd2816.js   1.66 kB
6:27:54 AM: ƒ Middleware                             25 kB
6:27:54 AM: ○  (Static)  automatically rendered as static HTML (uses no initial props)
6:27:55 AM:
6:27:55 AM: (build.command completed in 9.5s)
6:27:55 AM:
6:27:55 AM: @netlify/plugin-nextjs (onBuild event)
6:27:55 AM: ────────────────────────────────────────────────────────────────
6:27:55 AM:
6:27:55 AM: Moving static page files to serve from CDN...
6:27:55 AM: Moved 6 files
6:27:55 AM: You are not using Netlify Edge Functions for image format detection. Set env var "NEXT_FORCE_EDGE_IMAGES=true" to enable.
6:27:55 AM: ✨ Deploying middleware and functions to Netlify Edge Functions ✨
6:27:55 AM: Netlify configuration property "redirects" value changed to [
6:27:55 AM:   { from: "/_next/static/*", to: "/static/:splat", status: 200 },
6:27:55 AM:   {
6:27:55 AM:     from: "/_next/image*",
6:27:55 AM:     query: { url: ":url", w: ":width", q: ":quality" },
6:27:55 AM:     to: "/_ipx/w_:width,q_:quality/:url",
6:27:55 AM:     status: 301
6:27:55 AM:   },
6:27:55 AM:   { from: "/_ipx/*", to: "/.netlify/builders/_ipx", status: 200 },
6:27:55 AM:   {
6:27:55 AM:     from: "/api/*",
6:27:55 AM:     to: "/.netlify/functions/___netlify-handler",
6:27:55 AM:     status: 200
6:27:55 AM:   },
6:27:55 AM:   {
6:27:55 AM:     from: "/foo/index.html",
6:27:55 AM:     to: "/foo/index.html",
6:27:55 AM:     conditions: { Cookie: [Array] },
6:27:55 AM:     status: 200
6:27:55 AM:   },
6:27:55 AM:   {
6:27:55 AM:     from: "/*",
6:27:55 AM:     to: "/.netlify/functions/___netlify-handler",
6:27:55 AM:     status: 200,
6:27:55 AM:     conditions: { Cookie: [Array] },
6:27:55 AM:     force: true
6:27:55 AM:   },
6:27:55 AM:   {
6:27:55 AM:     from: "/_next/data/HIbEp6Vx_qa969jm4QjQU/_not-found.json",
6:27:55 AM:     to: "/.netlify/functions/___netlify-handler",
6:27:55 AM:     status: 200,
6:27:55 AM:     force: false
6:27:55 AM:   },
6:27:55 AM:   {
6:27:55 AM:     from: "/_not-found",
6:27:55 AM:     to: "/.netlify/functions/___netlify-handler",
6:27:55 AM:     status: 200,
6:27:55 AM:     force: false
6:27:55 AM:   },
6:27:55 AM:   {
6:27:55 AM:     from: "/*",
6:27:55 AM:     to: "/.netlify/functions/___netlify-handler",
6:27:55 AM:     status: 200
6:27:55 AM:   }
6:27:55 AM: ].
6:27:55 AM:
6:27:55 AM: (@netlify/plugin-nextjs onBuild completed in 190ms)
6:27:55 AM:
6:27:55 AM: Functions bundling
6:27:55 AM: ────────────────────────────────────────────────────────────────
6:27:55 AM:
6:27:55 AM: Packaging Functions from .netlify/functions-internal directory:
6:27:55 AM:  - ___netlify-handler/___netlify-handler.js
6:27:55 AM:  - ___netlify-odb-handler/___netlify-odb-handler.js
6:27:55 AM:  - _ipx/_ipx.js
6:27:55 AM:
6:28:30 AM:
6:28:30 AM: (Functions bundling completed in 35.4s)
6:28:30 AM:
6:28:30 AM: Edge Functions bundling
6:28:30 AM: ────────────────────────────────────────────────────────────────
6:28:30 AM:
6:28:30 AM: Packaging Edge Functions from .netlify/edge-functions directory:
6:28:30 AM:  - next_src_middleware
6:28:30 AM:  - rsc-data
6:28:32 AM:
6:28:32 AM: (Edge Functions bundling completed in 1.6s)
6:28:32 AM:
6:28:32 AM: @netlify/plugin-nextjs (onPostBuild event)
6:28:32 AM: ────────────────────────────────────────────────────────────────
6:28:32 AM:
6:28:32 AM: Next.js cache saved.
6:28:32 AM:
6:28:32 AM: (@netlify/plugin-nextjs onPostBuild completed in 66ms)
6:28:32 AM:
6:28:32 AM: Deploy site
6:28:32 AM: ────────────────────────────────────────────────────────────────
6:28:32 AM:
6:28:32 AM: Starting to deploy site from ".next"
6:28:32 AM: Calculating files to upload
6:28:32 AM: 8 new files to upload
6:28:32 AM: 2 new functions to upload
6:28:41 AM: Skipping HTML post processing
6:28:41 AM: Post processing - header rules
6:28:41 AM: Starting post processing
6:28:41 AM: Section completed: deploying
6:28:41 AM: Site deploy was successfully initiated
6:28:41 AM:
6:28:41 AM: (Deploy site completed in 8.7s)
6:28:41 AM:
6:28:41 AM: Netlify Build Complete
6:28:41 AM: ────────────────────────────────────────────────────────────────
6:28:41 AM:
6:28:41 AM: (Netlify Build completed in 57.2s)
6:28:41 AM: Caching artifacts
6:28:41 AM: Started saving node modules
6:28:41 AM: Finished saving node modules
6:28:41 AM: Started saving build plugins
6:28:41 AM: Finished saving build plugins
6:28:41 AM: Started saving corepack cache
6:28:41 AM: Finished saving corepack cache
6:28:41 AM: Started saving pip cache
6:28:41 AM: Finished saving pip cache
6:28:41 AM: Started saving emacs cask dependencies
6:28:41 AM: Finished saving emacs cask dependencies
6:28:41 AM: Started saving maven dependencies
6:28:41 AM: Finished saving maven dependencies
6:28:41 AM: Started saving boot dependencies
6:28:41 AM: Finished saving boot dependencies
6:28:41 AM: Started saving rust rustup cache
6:28:41 AM: Finished saving rust rustup cache
6:28:41 AM: Started saving go dependencies
6:28:41 AM: Finished saving go dependencies
6:28:41 AM: Build script success
6:28:41 AM: Section completed: building
6:28:43 AM: Uploading Cache of size 201.6MB
6:28:44 AM: Section completed: cleanup
6:28:44 AM: Finished processing build request in 1m15.444s
6:28:41 AM: Post processing - redirect rules
6:28:41 AM: Post processing done
6:28:41 AM: Section completed: postprocessing
6:28:42 AM: Site is live ✨

Function logs
N/A -- logs are empty
.next JSON files
No response

This appears to be related to Pretty URLs -- disabling Pretty URLs causes the infinite redirect to go away.  However, strangely, when using this middleware with pretty URLs disabled, I'm still getting behavior that matches pretty URLs, i.e. a rewrite to /foo is actually pointing to /foo/index.html.
So it appears that there's some issue with how pretty URLs interacts with next apps.  I'm not sure if what I'm seeing is intended functionality or a bug, but it works for my use case -- I'll leave this ticket open in case it's considered unexpected functionality.

Hi @cprussin
The team at Netlify have now released the new v5 Next.js runtime which has support for both pages and app router, on-demand and time-based revalidation, automatic fine-grained cache control, and automatic image optimization using Netlify's image CDN.
You can find the documentation and additional information on the new runtime here: Next.js on Netlify
The v4 runtime is now in the maintenance support phase with no new features being added. Occasional bug fixes and security patches will be applied when needed.
Thanks!


Earthquake Prediction

Earthquake Prediction
The Los Alamos National Laboratory recently made their research data public and hosted a competition on Kaggle so that data scientists everywhere could get a crack at it. The competition closed three months ago, but this was an interesting enough real world problem that I wanted to take a shot at it regardless.
There are 23 columns.
Dataset : https://www.kaggle.com/c/LANL-Earthquake-Prediction
Algorithm used

Linear Regression
Support Vector Machine
Random Forest Regressor
Cat Boost Regressor
XG Boost Regressor
Light Gradient Boosting Machine


Live

Test PR

Docs Build status updates of commit cf00e7e:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Test PR


Added extra unsupported scenario for geo-replication

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

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

The following users don't have valid GitHub IDs, or are not collaborators on this repo: microsoftdocs/public-repo-pr-review-team

#sign-off

@chantalolieman  - that was easy. Good catch.


Add missing hashes for sdx compose

What? and Why?

What does this pull request change/fix? Why was it necessary?

Adds hashes required to be built by sdx compose
Checklist

[ ] CHANGELOG.md updated? (if required)

Codecov Report

Merging #102 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #102   +/-   ##
=======================================
  Coverage   87.39%   87.39%
=======================================
  Files          17       17
  Lines        1357     1357
=======================================
  Hits         1186     1186
  Misses        171      171

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 e8aa028...7cce94c. Read the comment docs.

 SDX-Compose issues with hashes


Argument filtering for pytest fails to handle custom arguments

Issue Type: Bug
I created a fixture in conftest.py that reads at input args to pytest (using pytest_addoption. See code below. When I try and add this option to my settings.json file so that my tests execute properly, it fails with the ERROR: file not found...
Here is my conftest.py file :
import pytest
import os

def pytest_addoption(parser):
    parser.addoption("--config_file", action="store")

@pytest.fixture(scope='session')
def config_file(request):
    config_file_value = request.config.option.config_file
    if config_file_value is None:
        print(f'config_file_value = {config_file_value}')
        pytest.skip()
    elif not os.path.exists(config_file_value):
        print(f'config_file_value = {config_file_value}')
        pytest.skip()
    return config_file_value

And then my settings.json relevant to this:
{
    "python.pythonPath": "/usr/bin/python3",
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pytestEnabled": true,
    "python.testing.cwd": "",
    "python.autoComplete.addBrackets": true,
    "python.testing.pytestArgs": [
        "--config_file app/config.json",
    ]
}

And finally the output of the console :
ython /root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /root/jetson-task-manager -s --cache-clear --config_file app/config.json
Test Discovery failed:
Error: ============================= test session starts ==============================
platform linux -- Python 3.6.9, pytest-5.4.2, py-1.5.2, pluggy-0.13.1
rootdir: /root/jetson-task-manager
plugins: forked-0.2, xdist-1.22.1
collected 0 items

============================ no tests ran in 0.06s =============================
ERROR: file not found: --config_file app/config.json

Traceback (most recent call last):
  File "/root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/run_adapter.py", line 22, in <module>
    main(tool, cmd, subargs, toolargs)
  File "/root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/adapter/__main__.py", line 100, in main
    parents, result = run(toolargs, **subargs)
  File "/root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 44, in discover
    raise Exception("pytest discovery failed (exit code {})".format(ec))
Exception: pytest discovery failed (exit code 4)

Running pytest version 5.4.2. Feels to me like this option is taken as if it were a file to test, versus an actual argument. Ideas? Am I missing something?
Extension version: 2020.4.76186
VS Code version: Code - Insiders 1.46.0-insider (d487078dc7fc1c276657cadb61b4f63833a8df55, 2020-05-07T16:19:54.327Z)
OS version: Windows_NT x64 10.0.18363
Remote OS version: Linux arm64 4.9.140-tegra
Remote OS version: Linux arm64 4.9.140-tegra

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 x 2112)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.93GB (7.08GB free)

Process Argv

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: jetson

OS
Linux arm64 4.9.140-tegra

CPUs
unknown (6 x 345)

Memory (System)
7.68GB (0.66GB free)

VM
0%

Item
Value

Remote
Container taskmanager:latest (/taskmana…

OS
Linux arm64 4.9.140-tegra

CPUs
unknown (6 x 1420)

Memory (System)
7.68GB (0.66GB free)

VM
0%

@omartin2010 You have to split these into separate arguments. Right now it is treating --config_file app/config.json as a filename.
"python.testing.pytestArgs": [
        "--config_file",
        "app/config.json",
    ]

if I do that, it doesn't work, I get this :
python /root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /root/jetson-task-manager -s --cache-clear --config_file app/config.json
Test Discovery failed:
Error: ERROR: usage: run_adapter.py [options] [file_or_dir] [file_or_dir] [...]
run_adapter.py: error: unrecognized arguments: --config_file
  inifile: None
  rootdir: /root/jetson-task-manager

Traceback (most recent call last):
  File "/root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/run_adapter.py", line 22, in <module>
    main(tool, cmd, subargs, toolargs)
  File "/root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/adapter/__main__.py", line 100, in main
    parents, result = run(toolargs, **subargs)
  File "/root/.vscode-server-insiders/extensions/ms-python.python-2020.4.76186/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 44, in discover
    raise Exception("pytest discovery failed (exit code {})".format(ec))
Exception: pytest discovery failed (exit code 4)

Turns out I also have another argument that needs to be there which is the directory that contains the tests, so my args are :
    "python.testing.pytestArgs": [
        // "test",
        "--config_file",
        "app/config.json"
    ]

With or without the test argument (not having this line at all or putting it last), I get the same error..

Looking at pytest's help i don't see a config-file but i see a -c. I don't think they have a expanded config file option.
> py -3.8 -m pytest --help | findstr config
                        configuration file raise errors.
  -c file               load configuration from `file` instead of trying to
                        locate one of the implicit configuration files.
test session debugging and configuration:
  -h, --help            show help message and configuration info
  --trace-config        trace considerations of conftest.py files.

Try this:
"python.testing.pytestArgs": [
        "-c",
        "app/config.json"
    ]

I think I may have been unclear. This is for my own, user defined parameter, one one for pytest itself, so that a fixture can retrieve it in this kind of a function:
def pytest_addoption(parser):
    parser.addoption("--config_file", action="store")

so that it's passed to my pytest session. So I want this param to pass straight to my stuff. So far it works when I run this from the command line, just not when from vscode...

Looks like the bug is in filterArguments for pytest:
https://github.com/microsoft/vscode-python/blob/61b179b2092050709e3c373a6738abad8ce581c4/src/client/testing/pytest/services/discoveryService.ts#L46
We pass the config_file arguments there and we don't get back the expected arguments. In the case of :
        "python.testing.pytestArgs": [
            "--config_file",
            "app/config.json",
            "tests"
        ]

Expected:
python c:\GIT\issues\s p\vscode-python\pythonFiles\testing_tools\run_adapter.py discover pytest -- --rootdir c:\GIT\issues\issue11736 -s --cache-clear --config_file app/config.json tests

Actual:
python c:\GIT\issues\s p\vscode-python\pythonFiles\testing_tools\run_adapter.py discover pytest -- --rootdir c:\GIT\issues\issue11736 -s --cache-clear --config_file app/config.json
python c:\GIT\issues\s p\vscode-python\pythonFiles\testing_tools\run_adapter.py discover pytest -- --rootdir c:\GIT\issues\issue11736 -s --cache-clear --config_file tests

Not sure why it prints out the command twice with different arguments.

I have a similar issue, I also try to provide custom defined options to my tests and the discovery doesn't forward them correctly, so pytest raises an error and no tests will be found.
My setup is almost identical to the description above. In addition I allowed the config names to be specified via environment variables which is the only way to get it to work!
I had to default to "python.envFile": "${workspaceFolder}/.env", which worked in my case as I defaulted to environment variables if no explicitely provided. But not all tests will allow this...
# conftest.py
def pytest_addoption(parser):
    def environ_or_required(key: str) -> Dict[str, Any]:
        return (
            {"default": os.environ.get(key)}
            if key in os.environ
            else {"required": True}
        )

    parser.addoption(
        "--discord-token",
        type=str,
        help="discord bot token",
        **environ_or_required("DISCORD_TOKEN"),
    )
    parser.addoption(
        "--discord-channel",
        type=str,
        help="discord bot channel name or id",
        **environ_or_required("DISCORD_CHANNEL"),
    )

@pytest.fixture(autouse=True)
def env_setup(monkeypatch: pytest.MonkeyPatch, request: pytest.FixtureRequest):
    monkeypatch.setenv("DISCORD_TOKEN", request.config.getoption("--discord-token"))
    monkeypatch.setenv("DISCORD_CHANNEL", request.config.getoption("--discord-channel"))

// settings.json
{
    "python.pythonPath": "venv/bin/python",
    "restructuredtext.confPath": "",
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pytestEnabled": true,
    "python.testing.pytestArgs": [
        "--discord-token",
        "my-private-token",
        "--discord-channel",
        "Allgemein",
    ],
}

And one error message:
python /home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /mnt/c/work/project/python-transformer-discord-notifier -s
Test Discovery failed:
Error: ERROR: usage: run_adapter.py [options] [file_or_dir] [file_or_dir] [...]
run_adapter.py: error: the following arguments are required: --discord-token, --discord-channel

Traceback (most recent call last):
  File "/home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/run_adapter.py", line 22, in <module>
    main(tool, cmd, subargs, toolargs)
  File "/home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/adapter/__main__.py", line 100, in main
    parents, result = run(toolargs, **subargs)
  File "/home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 44, in discover
    raise Exception("pytest discovery failed (exit code {})".format(ec))
Exception: pytest discovery failed (exit code 4)

I have to add that I have to restart VSCode else the changes in settings.json will not effect the current pytest discovery. With reloading, the pytest args are mangled ... I'm not sure how to provide them correctly ...
python /home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /mnt/c/work/project/python-transformer-discord-notifier -s --cache-clear --discord-token --discord-channel my-private-token
python /home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /mnt/c/work/project/python-transformer-discord-notifier -s --cache-clear --discord-token --discord-channel Allgemein
Test Discovery failed:
Error: ERROR: usage: run_adapter.py [options] [file_or_dir] [file_or_dir] [...]
run_adapter.py: error: argument --discord-token: expected one argument

Configuring it like so also fails: (sometimes with a different message...)
    "python.testing.pytestArgs": [
        "--discord-token 'my-private-token'",
        "--discord-channel Allgemein",
    ],

python /home/user/.vscode-server/extensions/ms-python.python-2020.12.424452561/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /mnt/c/work/project/python-transformer-discord-notifier -s --cache-clear --discord-token 'my-private-token' --discord-channel Allgemein
Test Discovery failed:
Error: ============================= test session starts ==============================
platform linux -- Python 3.8.5, pytest-6.2.1, py-1.10.0, pluggy-0.13.1
rootdir: /mnt/c/work/project/python-transformer-discord-notifier, configfile: setup.cfg
plugins: cov-2.10.1
collected 0 items

========================= no tests collected in 0.07s ==========================
ERROR: file or directory not found: --discord-token 'my-private-token'

(Using terminal.integrated.env.linux for environment variables did not seem to work. Might be the wrong setting. Env file worked.)
Are others having the same issue?

I'm also facing this issue.
Passing arguments:
  "python.testing.pytestArgs": [
    "-s",
    "--result-logger",
    "local"],

Triggers error:
Error: Process exited with code 4: ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
__main__.py: error: unrecognized arguments: --result-logger
  test_simple_object_detection.py::test_simple_object_detection[roundabout_entrance]
  inifile: None
  rootdir: /home/gigi/workspace/test_harness/as_simulator_tests

@ralwing that seems to be error coming from pytest itself. If you run that command manually in the terminal what happens?

Having a very similar problem:
"python.testing.pytestArgs": [
"-rP",
"--html=c:\Data\pytest-report.html",
"--self-contained-html"
],
These are all ignored  - not matter what I do with them, they do not effect running tests either with "run test" or "debug test"
window 10, vs code 1.58.2
pytest, pytest-html (among others)

Anyone found a solution to this?  I'm also having the same problem.
I've tried directly passing via settings.json:
    "python.testing.pytestArgs": [         "test",         "--custom_opt"         "custom_input"     ],
As well as passing the configuration file:
    "python.testing.pytestArgs": [         "test"         "-c",         "setup.cfg"     ],
Where my configuration file looks like:
[tool:pytest]
addopts=--custom_opt=custom_input

@karthiknadig any movement on this issue. It cropped up in regards with another issue as well

We are in the process of re-writing the testing adapter #17242 . It is actively being worked on in the current milestone.

@karthiknadig - as a fellow open-sourcer - happy to play guinea pig 😉  - thanks for your work

Until a fix available, you can add these options on pytest.ini file,
[pytest]
addopts = --config_file app/config.json

https://docs.pytest.org/en/6.2.x/customize.html

So basically I can't dynamically choose between two different implementations like:
python -m pytest --algorithm merge
python -m pytest --algorithm quick
To reuse the same tests?

Has there been any movement on this?  I can't get any of the suggestions or workarounds to work (VS Code Version: 1.80.2)

I created a proposal with a solution for this problem, would love your input on the above issue! https://github.com/microsoft/vscode-python/issues/21845

I was able to use this format to get around it:
{
    "python.testing.pytestArgs": [
        "--mycustom-arg1=value1",
        "--mycustom-arg2=value2"
}


@Suppress doesn't work with StringTemplate rule

Expected Behavior
If I annotate a class with @Suppress("StringTemplate") the rule StringTemplate doesn't raise any issue in that class.
Observed Behavior
It does: https://github.com/detekt/detekt/runs/7255299587?check_suite_focus=true#step:4:540
Steps to Reproduce
@Suppress("StringTemplate")
class A {
 val a = "a"
 val b = "${a}"
}

Context
#5051
It works if I use @file:Suppress("StringTemplate")
Your Environment

Version of detekt used: main/1.21.0-RC2
Gradle scan link: https://ge.detekt.dev/s/wzs6gfrjvtu2c

Closing. I just remember that this is a known wont-fix


MutatingWebhookConfiguration v1

Bug Report

What did you do?

I've created a custom CRD with Mutating Webhook (defaulter) and a simple reconciler which do nothing except applying status and finalizer on object issued from CRD.
What did you expect to see?

All works 😃
What did you see instead? Under which circumstances?

When I Add a ressource, defaulter do the job, but adding finalizer fail with
ERROR	controller-runtime.manager.controller.project	Reconciler error	{"reconciler group": "foo", "reconciler kind": "Bar", "name": "test", "namespace": "test", "error": "Internal error occurred: failed calling webhook \"vbar.kb.io\": webhook returned response.patchType but not response.patch"}

After a week of headhache, I finally found https://github.com/kubernetes/apiserver/blob/master/pkg/admission/plugin/webhook/request/admissionreview.go#L87 and found root issue (I think).
This error come from a new test introduced in v1 of admission mutate webhook.
I've force use of v1beta1 and It works.
Environment
Operator type:

/language go

Kubernetes cluster type:

$ operator-sdk version
operator-sdk version: "v1.3.0", commit: "1abf57985b43bf6a59dcd18147b3c574fa57d3f6", kubernetes version: "1.19.4", go version: "go1.15.5", GOOS: "linux", GOARCH: "amd64"

$ go version
go version go1.15.6 linux/amd64

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.4", GitCommit:"e87da0bd6e03ec3fea7933c4b5263d151aafd07c", GitTreeState:"clean", BuildDate:"2021-02-18T16:12:00Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-14T07:30:52Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

Possible Solution

Force only v1beta1 while waiting patch.
Change this :
// +kubebuilder:webhook:path=/mutate-....,mutating=true,...,name=vfoo.kb.io,admissionReviewVersions={v1,v1beta1}

to this (no more v1 in admissionReviewVersions):
// +kubebuilder:webhook:path=/mutate-....,mutating=true,...,name=vfoo.kb.io,admissionReviewVersions={v1beta1}

Additional context

@BugMaster510945 what controller-runtime version is your operator using?
/triage support

Hi @estroz,
how can I get controller-runtime ?
In doubt, here my go.mod, generated by operator-sdk :
module ...

go 1.15

require (
	github.com/go-logr/logr v0.3.0
	github.com/onsi/ginkgo v1.14.1
	github.com/onsi/gomega v1.10.2
	github.com/pkg/errors v0.9.1
	k8s.io/api v0.19.2
	k8s.io/apimachinery v0.19.2
	k8s.io/client-go v0.19.2
	sigs.k8s.io/controller-runtime v0.7.0
)

@BugMaster510945 try bumping to v0.7.2, which contains a bugfix for webhook patches.

Hi @estroz,
Indeed v0.7.2 contains fixes which solve my issue.
Thanks for your time


Insecure asset loaded in production

Details

Loading mixed (insecure) display content “http://i2.wp.com/media.readthedocs.org/images/silhouette.png” on a secure page[Learn More]

The default Gravatar URL should be:
https://media.readthedocs.org/images/silhouette.png

This means adding this somewhere in production settings:
GRAVATAR_DEFAULT_IMAGE = 'https://media.readthedocs.org/images/silhouette.png'

Currently, users are redirected to http://i2.wp.com/media.readthedocs.org/images/silhouette.png which will display a connection warning in nice browsers :)

Not sure where that url is coming from, we already override this setting to our media assets. Our gravatar setting is not pointing to https URL currently though.
What URL are you noticing this issue?

@agjohnson If you login on readthedocs.org and you don't have a gravatar, the replacement image is set for an insecure URL. It doesn't happen with the dev settings, they're fine (and the dev server isn't running on HTTPS anyways).

This is already fixed, I'm seeing the proper silhouette over HTTPS. Closing.


FL: Retire 2 legislators and updates to URLs, emails, and offices

FL legislator updates:

Retired 2 legislators: Manny Diaz Jr. and Cord Byrd
Added link and source URLs for many legislators
Added emails and additional offices for some legislators

Thanks for doing that!

Sure thing! I noticed the lint failed because the "vacant_until" date is today for the CA legislators. I added the 2 recently sworn in CA legislators David Alvarez and Tina McKinnor.


Fix ips command for platforms without ifconfig

Some platforms (e.g. Arch Linux) don't have ifconfig by default. They use ip instead.

Thanks!

Great!


Compatibility with .tif/.tiff files

Really nice and clean written library, best exif parse I've found so far! Works awesome with .jpg images.
But when trying to parse a .tif file, no error is thrown and the result from the parsing is 'undefined'.
Is the parser not compatible with tif files?

Hello. Thanks for the compliments, glad you use it.
As far as I know EXIF structure in jpegs is built upon TIFF so I expected it to work, but didn't have enough time to test it properly. Not because I'd be reckless but because of the limited time I could dedicate to the library. So far I only used it for jpegs but if you could provide me with some tiffs to develop against, I may be able to look into it.

Please find attached two sample tif images.
Sample Tif.zip
I did some debugging myself and it seems like it fails finding the app segment (function findAppSegment). Would be great if you could look into this or provide some tips

Hello. Yes, by taking a quick look i can say it's not able ti find the segment. Though it looks like all of the data is in the XMP (XML) format which this plugin does not parse by default anyway. 3rd party XML parser would be required for his anyway.
I'm not sure what to do about the tiff format yet. I'll look into it more if i have time

There is indeed XMP data but there should also be some EXIF data. If you eg use http://exif.regex.info/exif.cgi you can see what the contents of the Exif are.

You're right. The TIFF segment is at the very beginning of the file, whereas the jpg exif always starts with other data. The module is ready for this. There's a parseTiff() method on the ExifParser class.

It seems the parseTiff function would be able to handle it, but it fails at the beginning ensureSegmentPosition because it does not find the app segment?

Yes. I'm trying to recall the segments, byte orders, etc.. so it takes a while for me to look around the almost a year old code :D.
There's a findTiff function called both in parseTiff method like you say, but also in index.mjs where it gets you the exifPosition (var exifPosition = findTiff(view)) and it fails because the 49 49 is not wrapped in an app segment. As far as my memory reaches i don't think we need the segment info (its there to give us the size of the segment) so we may be able to return 0 from parseTiff and feed the tiff position to https://github.com/MikeKovarik/exifr/blob/master/src/parser.mjs#L167

I got it to work ! If if (exifPosition) is null,  just provide {start: 0} as tiffPostion to the constructor makes it all work.

Yes, but that's a dirty trick. This module tries to be as fast as possible. So when there's no indication of exif data it stops. Assuming it's always 0 when nothing is found would end up reading and parsing whole file which might not have any exif at all :D. I'll have to come up with a little more elegant solution.

Yes agree it's not a clean fix. Maybe instead of looking for the app segment, you could directly look for the marker? It expects these two cases anyway or it throws:
if (marker === 0x4949) 			this.le = true // little endian 		else if (marker === 0x4D4D) 			this.le = false // big endian

I did some extra testing and found another issue. The .tif file works great and has all exif data, but the .tiff image misses some data like the GPS information. It seems like both GPSInfoIFDPointer and ExifIFDPointer are null in the parseTiff method. Any idea what is going wrong there?

I haven't gotten there yet (no that i would be aware of it). I'm trying to polish the first problem now. It'd be great if you could dig into it more for now.

Got it to work. Greetings to Leuven :D.
I'll finish this up when i get home.

The GPS issue or the app segment issue ? :D

Read my last message again :D

For the issue of reading GPS data, I debugged in until the point where it tries to parse the value. It find the GPSInfoIFDPointer key, but the problem is the type of the value is "13" which is not part of the switch case, hence returning undefined https://github.com/MikeKovarik/exifr/blob/bd00a145fa5734a68636f662c51e12a42e8f5b8c/src/parser.mjs#L331
Trying to understand what this switch does

Actually the issue is already higher up where the SIZE_LOOKUP does not contain more than 10 entries https://github.com/MikeKovarik/exifr/blob/bd00a145fa5734a68636f662c51e12a42e8f5b8c/src/parser.mjs#L297

I dont really understand what is going on. In the EXIF standard only 10 types exists, so don't understand how we can get a type 13 here.

I fixed it, again dirty: if type is 13, Im mapping it back to 4 which is a LONG (according to the EXIF specs, this is what GPSInfoIFDPointer should be);

I finally got home and finished polishing the first problem. Though i haven't run into the second. I successfuly extracted the GPS info from the .tif file on the first go and discovered that they're from the city Leuven. That's what i meant by the previous messages.
Anyway. I pushed version that works now. it works in node, not in browser because of the way we load files in browser. we just load the first few kb of the file, but this .tif has some data at the end of the file too. I'm thinking of rewriting the parsers anyway because it's quite messy.
could you try it out if your GPSInfoIFDPointer persists or is solved by my code?

Thanks, will have a try. Don't understand why it wouldn't work in the browser though. My 'dirty fix' worked perfectly in the browser (using ArrayBuffer).
With regards to the GPS issue, see my comment above what fixes it, but don't know what the real cause is. Maybe TIFF files have extra types?

To clarify the browser issue. It works in browser if you feed the whole image ArrayBuffer into the library. But the tests are written to feed it url which then loads it in chunks instead of downloading the whole file. That's the problem.
Last thing last night i did was add a few tests, try running them both in browser and mocha and you'll see.
I should:

rewrite & add more tests to test both reading modes (read whole file, read file by chunks)
fix the chunked reading (works in node, not in browser, well it works)

status update: I've been silently rewriting big portion of the library over the past week.

Improving the tiff support
rewriting tests
rewrote file reading from functions to classes
added extraction of thumbnail buffer

That would be 2.0.0.
If ill have enough time i'll also rewrite the chunked reading. Not that it's not working. It does on simple images where all metadata are stacked together. The library reads only the first 64kb (parseChunkSize) of any file when in chunked reading mode (both can be customized in options). The file you provided interestingly has some metadata offseted outside the 64kb. So either the chunk size has to be increased or the library has to be able to read more chunks. That's tricky in the way it's currently written. Now that I know about this I'd like to implement it, though I'll save it for 3.0.0.

@BossensM have you tried the code since we discussed it? Like I said, I believe the unknown type 13 was caused by some incorrect offset caused by the dirty tricks. Have you tried / could you try the current code?
FYI: In the coming days i'll push even more changes, mostly breaking changes. I'd appreciate feedback before the 2.0.0 is released.

I have tried the latest master, but still same issues with the .tiff file. As said earlier the .tif works, it's only the .tiff (which is coming from another type of camera) that has issues reading the GPS info.
Nice working on improving the library !

OOoooh. Now i get it. I assumed both of your files are from the same camera and only added 001.tif to tests and forgot about the 002.tiff.
So 001.tif works nicely and 001 i'll have to look into tomorrow.

You were right with the type 13 and it's not such a dirty fix you did afterall :D. Here's more info about it. https://sno.phy.queensu.ca/~phil/exiftool/standards.html

Interesting ! Didn't see that page. Will you also implement a fix in that for v2.0 ?

Yes. Already fixed with tests. I'll push it tonight

Would you mind publishing a new version to NPM?

Yes. I'm planning to, but I've been trying to squeeze new docs and examples into 2.0 as well. It took a little longer due to crunch around release in my day job.
I'll try to publish it tonight (European time).
Thanks for interest.

@BossensM @GeoffreyBooth It's done. Just released 2.0.0. I'm sorry it took a little longer. I kept finding bugs, unexpected outputs, fixing stability, adding tests and making sure it's stable.
If you're interested in future of the library, there is a little roadmap at the bottom of a readme.

Nice work Mike !


chore(security): fix dependency vulnerabilities

#47
Description of change
Please provide a description of the change here If there are associated issues, please reference them here.
Pull request (PR) check-list

:white_check_mark: Please review and check the appropriate items.

Type of change

[ ] BREAKING CHANGE (with documentation) Please explain if selected
[ ] Chore
[ ] Defect (bug) fix (with regression tests)
[ ] Documentation
[ ] Feature/enhancement (with JSDoc and/or Wiki article(s))
[ ] Hotfix (with documentation)
[ ] Performance improvement (with benchmarks)
[ ] Refactoring (with catalog reference)
[ ] Reversion
[ ] Tests

Code standards compliance

[ ] Yes, eslint passes.
[ ] N/A (not applicable): Please explain if selected

Code quality. Do the quality gateways pass with an "A" grade?

[ ] Complexity
[ ] Duplications (0.00%)
[ ] Issues (0 issues or documentation for "won't fix" cases)
[ ] Maintainability/Technical Debt
[ ] Reliability
[ ] Security
[ ] N/A (not applicable). Please explain if selected

Test coverage

[ ] The source code is 100% covered with passing specs.
[ ] N/A (not applicable). Please explain if selected

:information_source: These tasks are not required to open a PR and can be done afterwards, or while the PR is open.

Coverage remained the same at 100.0% when pulling 05d04a229b2da3652c011dcb6d4b78e25ca1593f on chore/#42-fix-security-vulnerabilities into 7410f4185fc70bd91f0c7ce629acfe3e0ed1762a on develop.

Coverage remained the same at 100.0% when pulling 05d04a229b2da3652c011dcb6d4b78e25ca1593f on chore/#42-fix-security-vulnerabilities into 7410f4185fc70bd91f0c7ce629acfe3e0ed1762a on develop.

Coverage remained the same at 100.0% when pulling 5645ccc8681c32898179bf5e73253fd921232527 on chore/#42-fix-security-vulnerabilities into 7410f4185fc70bd91f0c7ce629acfe3e0ed1762a on develop.

Coverage remained the same at 100.0% when pulling 68daf5b4b4bba1d901336bea1518c4f4335c809a on chore/#42-fix-security-vulnerabilities into 7410f4185fc70bd91f0c7ce629acfe3e0ed1762a on develop.

Coverage remained the same at 100.0% when pulling 68daf5b4b4bba1d901336bea1518c4f4335c809a on chore/#42-fix-security-vulnerabilities into 7410f4185fc70bd91f0c7ce629acfe3e0ed1762a on develop.

chore(scm): merge #42, #43 into develop.
bitHound is timing out, but DependencyCI returns positive results.
Closes #42


Question regarding facenet

Why did you manually add the inceptionnetv2 instead of importing it from the tensorflow API?

I followed what reference study did. There might be some little differences.

Can you share what reference study you followed?

follow the links in the read me - license section.

The link for facenet in license section does not work

this guy likes to close issues without answering. 3 issues open, 413 closed lol and most of the closed issues without direct answers. why do you even reply if you do not want to answer

@blueprintparadise as i mentioned you should follow the link in the license section of read-me. It will redirect you to here. I re-checked it and the link works!
@rinath I cannot see any issue here. the real issues are in the status of open for a long time.


slicedIterator does not belong in Lexicon and only works for sequences

@ticoann what do you think
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/Lexicon.py#L570
does not seem to me to belong in Lexicon.py since it's instead just a general utility function. The other problem with it is that it does not work with an iterator, only with an actual list. I have a version of this that will work with iterators too. It's a bit slower, but the original will slice 12M items into 1000 item chunks in 72 ms and the new version is 200 ms.
I'd propose to replace this with a new version that is actually in src/python/Utils since it has nothing to do with WMCore. Here's my replacement code:
#! /usr/bin/env python

import itertools
import time

class MyTimer(object):
    def __init__(self, verbose=False):
        self.verbose = verbose

    def __enter__(self):
        self.start = time.time()
        return self

    def __exit__(self, *args):
        self.end = time.time()
        self.secs = self.end - self.start
        self.msecs = self.secs * 1000  # millisecs
        if self.verbose:
            print 'elapsed time: %f ms' % self.msecs

def grouper(iterable, n):
    """
    :param iterable: List of other iterable to slice
    :type: iterable
    :param n: Chunk size for resulting lists
    :type: int
    :return: iterator of the sliced list
    """
    iterable = iter(iterable)
    return iter(lambda: list(itertools.islice(iterable, n)), [])

def slicedIterator(sourceList, sliceSize):
    """
    :param: sourceList: list which need to be sliced
    :type: list
    :param: sliceSize: size of the slice
    :type: int
    :return: iterator of the sliced list
    """
    start = 0
    end = 0

    while len(sourceList) > end:
        end = start + sliceSize
        yield sourceList[start: end]
        start = end

print "Make big list",
with MyTimer(verbose=True) as t:
    bigList = list(range(0, 12345678))
print "Grouping big list",
with MyTimer(verbose=True) as t:
    for i in grouper(bigList, 1000):
        pass
print "Grouping xrange",
with MyTimer(verbose=True) as t:
    for i in grouper(xrange(0, 12345678), 1000):
        pass
print "Slicing big list",
with MyTimer(verbose=True) as t:
    for i in slicedIterator(bigList, 1000):
        pass

tinyList = range(0, 11)
print "Original function"
for i in slicedIterator(tinyList, 3):
    print i
print "New function"
for i in grouper(tinyList, 3):
    print i
print "New function on xrange"
for i in grouper(xrange(0, 11), 3):
    print i

Source of grouper is here: http://stackoverflow.com/questions/3992735/python-generator-that-groups-another-iterable-into-groups-of-n

Thanks Eric, I agree with you. Time difference doesn't seem to be critical. There is only one case we used this currently in WMCore. (for DBS call) which we would remove eventually.

I noticed it because an outstanding patch from @amaltaro also uses it.

Fixed by #6459

Not fixed. Sliced iterator is still in Lexicon.

Really? I though you removed it.
https://github.com/dmwm/WMCore/commit/e47ac1c9909b53f0b69451699a1e87d580ef8c3d#diff-0ed75c44d8f6712727213d921d2f53e4

Yep, code is not there in master
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/Lexicon.py
you're probably looking at another branch, Eric (?)

 Closing.

Fridays.... LoL


Support palemoon

Can you add support for palemoon? https://www.palemoon.org/
It's mostly compatible with Firefox, but what versions are obsolete differs a lot. And anybody using it will definitely not consider returning to Firefox.
For example, my browser have User-Agent-String:Mozilla/5.0 (X11; Linux i686; rv:25.7) Gecko/20150820 Firefox/31.9 PaleMoon/25.7.0
It's not newest (it's from 2015-08-26, 26 was released this week) but the fact you are reporting it as "other" suggests you don't support it at all.

+1

Palemoon 27.3.0 doesn't pass the test on http://browser-update.org/update-browser.html either.

(New Moon)


Allow cave selection from the command line.

Currently, when patching large exes, use interaction is required everytime to select the proper caves. I think the cave 'table' only needs to be printed once per file. So why not have the caves selected in the command? Because currently, most AV's pick this up and so waiting for the table to show up becomes a pain.

It's printed to show the user what caves are for each section of shellcode.
I'm working on automating the process.  There are reasons for not
automatically doing it right now.
Until then this is how it will be done.
On Jan 25, 2015, at 3:55 PM, Burglory<EMAIL_ADDRESS>wrote:
Currently, when patching large exes, use interaction is required everytime
to select the proper caves. I think the cave 'table' only needs to be
printed once per file. So why not have the caves selected in the command?
Because currently, most AV's pick this up and so waiting for the table to
show up becomes a pain.
—
Reply to this email directly or view it on GitHub
https://github.com/secretsquirrel/the-backdoor-factory/issues/36.


[WFLY-15311] Exclude google guava and opentelemetry artifacts from EE…

… 9+ transformation as their use of javax.annotation is not about EE APIs
https://issues.redhat.com/browse/WFLY-15311

WildFly Preview tests:
https://ci.wildfly.org/viewLog.html?buildId=275622&tab=buildResultsDiv&buildTypeId=WF_Ee9BootableJarLinuxJdk8
https://ci.wildfly.org/viewLog.html?buildId=275626&tab=buildResultsDiv&buildTypeId=WF_WildFlyPreviewLinuxJdk17
https://ci.wildfly.org/viewLog.html?buildId=275624&tab=buildResultsDiv&buildTypeId=WF_WildFlyPreviewLinuxJdk11

WildFly Preview tests:
https://ci.wildfly.org/viewLog.html?buildId=275738&tab=buildResultsDiv&buildTypeId=WF_Ee9BootableJarLinuxJdk8
https://ci.wildfly.org/viewLog.html?buildId=275748&tab=buildResultsDiv&buildTypeId=WF_WildFlyPreviewLinuxJdk17
https://ci.wildfly.org/viewLog.html?buildId=275750&tab=buildResultsDiv&buildTypeId=WF_WildFlyPreviewLinuxJdk11

@jasondlee Please review.


Constitutional Committee hot key adoption in conway

In the conway era, we no longer need to stage the adoption of the hot keys for the constitutional committee (corresponding to the old genesis keys). This was originally done for the overlay schedule, since anything that affects the block header check must be stable for one stability window.
The TICK rule is where the adoption is currently happening, using the fGenDelegs map. In conway, the hot key certificate can immediately update the hot-cold key map in the Deleg-Gen rule (which should be renamed to something like Deleg-CC-HotKey.

Already implemented in the GOVCERT rule.


Budget balance regress test 276

Regression testing branch inclusive of PR 276 changes by @jdebacker .

Closing in favor of regression tests set up in PR #316


Question about FPS?

I noticed the FPS in your paper is 420, but I test the model of batch-size 1, and the FPS is 120 on 2080TI.
Whether the result is tested on batchsize=16? Why repeat the images to increase the number of batch-size will run faster?

#19

@liuruijin17 @harrylin-hyl @zxt881108 @lunachy For all who is interested in LSTR's FPS.  #19
I've re-implemented LSTR and tested its performance on a single 2080 Ti (standard edition, no OC, also my hard disk is not SSD) here.
I've confirmed that, as @liuruijin17 observed, batch_size=1 in the standard 360x640 resolution is not enough to reach the full performance of a large GPU (360x640 & 1080x1920 yields similar speed). So I go with common practice for testing real-time models and changed the input resolution. The results are (it is indeed very fast, essentially achieves real-time in 2K, without special optimizations for transformers):

method
backbone
resolution
FPS
FLOPS(G)

LSTR
ResNet18s
360 x 640
92.45
1.15

LSTR
ResNet18s
1080 x 1920
91.23
10.20

LSTR
ResNet18s
2160 x 4320
23.60
40.75

The only architecture diff in my current re-implementation to the original is I use 2-class cross-entropy (which saves 33 parameters) and no frozen the 1st BN (which adds 32 parameters). thop counts the parameters as 0.74M, if you count as the original code did, you will get 765786.


Validate that timestamps are POSIX

Per GBFS spec, last_updated timestamps need to be POSIX timestamp format (i.e. no of seconds since 1 Jan 1970 UTC). A range-based check would make sure that the time is sensible (e.g. no of seconds rather than no of milliseconds).

@oobrien thank you.
I made a https://github.com/PierrickP/gbfs-validator/pull/5 to enforce this rule. Can you review it ?

Thanks, yes that's great.


Setup Python/Flask-project

Task done: Setup Python/Flask-project.
Initiated project to the state where flask-backend is functioning and user interface works in web browser showing just a Welcome-page.
Added project dependencies to requirements.txt.
Updated README.md to include setting up and running instructions.

Moro! Tsekkaappa Jimi tuliko pull request perille ja saako sen mergetettyä ihan ok.


Update rwkv.py

I have updated the code to ensure consistent error handling for ImportError. Instead of relying on ValueError as before, I've followed the standard practice of raising ImportError while also including detailed error messages. This modification improves code clarity and explicitly indicates that any issues are related to module imports.

thanks @ParamdeepSinghShorthillsAI!


Update recipe for py312_patch

Preparation for py312 release.

Linter check found the following problems:
The following problems have been found:
INFO: clone/recipe/meta.yaml:0: output_missing_script: output "zfp": Output is missing script.
All checks OK

Linter check found the following problems:
The following problems have been found:
INFO: clone/recipe/meta.yaml:0: output_missing_script: output "zfp": Output is missing script.
All checks OK


The convert button seems to be broken.

The tool works until I hit the convert button, in which case it does nothing.

Nevermind it seems like an issue on my end.  Had some other people try and they said it was working.

Nevermind I was using a .png instead of .jpg


Filament does not discover resources since version 2.15.16

Package
filament/filament
Package Version
v2.15.28
Laravel Version
v9.26.1
Livewire Version
No response
PHP Version
PHP 8.1
Problem description
Resources disappeared from my panel.
Expected behavior
What did you expect to happen instead?
Steps to reproduce
Well, I had my resources previously created from version 2.14.* and when I did composer update to the latest version, my resources disappeared from the panel, but what is really happening is that Filament::getResources() is not getting them for me. It's weird but I did tests and this happens from version 2.15.16 onwards.
Reproduction repository
https://github.com/luilliarcec/filament-bug-2.15.16
Relevant log output
No response

Reopening, our bot only checks GitHub repositories at this time

Moving Filament::registerUserMenuItems() to the boot method instead of register fixed the problems.

Cool, please make sure that you only bind to the Laravel container in register(), as per Laravel guidelines
https://laravel.com/docs/9.x/providers#the-register-method


Any chance to add buttons from the scanner?

Hey there. THX for this project here!
I think this project is what I need to bring my Canon ImageFORMULAR DR-2010C to life. My scanner is completely supported by sane, see here: http://www.sane-project.org/man/sane-canon_dr.5.html
An alternative could be the official linux driver from canon from 2010:
https://www.canon-europe.com/support/products/document-scanners/dr-series/imageformula-dr-2010m.html?type=drivers&driverdetailid=tcm:13-1359803&os=all&language=en
Because it has 3 Buttons, I really want to use them:

Hi !
This software only send files from a directory to paperless when files match a prefix.
It works better with scanservjs
There is no interaction with scanner directly , just with files in a directory


fix: getSessions should be typed as optional

Documented as optional but typed as required

This is already optional via the parameters being Partial<ElectronMainOptions>.
https://github.com/getsentry/sentry-electron/blob/b11442f04012c97fb3e05ffa73dce5916e73c3d0/src/main/sdk.ts#L70
Any reason to make the property optional too?

When ElectronMainOptions is re-used as a type in a helper function E>g. getOptions(): ElectronMainOptions it is vaguely unexpected behavior that an options struct wouldn't be used directly and would instead be Partial<T> in a parameter interface.  Can we instead just type ElectronMainOptions correctly so that the Partial isn't needed?

Understood! Closing in favour of #448


Site Showcase Request

Please include:

Description
Some links doesn work anymore
Primary Link
https://getmdl.io/showcase/index.html
Screenshot

It looks to be back up. Contributor is currently going through a re-build phase so it may have occasional downtime.
MDL is no longer being maintained so no updates to the showcase are going to occur from here on out.
Thank you.


What is the best way to log/manage issues?

I think the permissions on this repo mean that very few people can tag issues or close them.
But if we put issues against individual repos then it is hard to keep track of them, and I'm not sure how that plays now with the PR model...

Just created a test amount to see what none team members can do.

Looks like if i own it then i can close it see https://github.com/me-box/databox/issues/112

I'm happy to triage incoming issues tag and assign them and keep on top of closing out resolved ones.
I'd like to keep all issues on the databox repo, but people open issues on other components then they can refer to the ones hear to give a central monitoring point. This has worked well in the past.


flatpak: Preserve pixbuf path in validate-icon

Motivation for this change
Without this, flatpak-validate-icon fails on SVG files and I can't build any flatpaks which have SVG icons.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I tested with:
$ git checkout 46e1c7f17aafaab18091f8fe04c1586f4ab932af^; nix-build . -A flatpak; ./result/libexec/flatpak-validate-icon --sandbox 16 16 ~/.local/share/flatpak/exports/share/icons/hicolor/symbolic/apps/org.gnome.Boxes-symbolic.svg; echo $?
HEAD is now at 29dc0ba6577 vimPlugins: update (#63119)
/nix/store/5nw27q7hb34a9bd49zdpg44fc8p1kh0k-flatpak-1.2.4
Format not recognized
1
$ git checkout 46e1c7f17aafaab18091f8fe04c1586f4ab932af; nix-build . -A flatpak; ./result/libexec/flatpak-validate-icon --sandbox 16 16 ~/.local/share/flatpak/exports/share/icons/hicolor/symbolic/apps/org.gnome.Boxes-symbolic.svg; echo $?
Previous HEAD position was 29dc0ba6577 vimPlugins: update (#63119)
HEAD is now at 46e1c7f17aa flatpak: Preserve pixbuf path in validate-icon
/nix/store/4a8j3i5k7d0f9skxwwfknsk7czk1ndfv-flatpak-1.2.4
0

Not sure if we should pick it up from environment or wrap it with librsvg, see https://github.com/NixOS/nixpkgs/pull/59665

The environment will have the correct value since it's already set by the wrapper.
$ grep GDK_PIXBUF_MODULE_FILE ./result/libexec/flatpak-validate-icon
export GDK_PIXBUF_MODULE_FILE='/nix/store/n26qkqmargjvb1pd0fdjp9qxh38g1zsr-librsvg-2.44.14/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache'

Cool.
Could you add librsvg # for flatpak-validate-icon to buildInputs anyway to make the dependency explicit?


Breakpoints with Gap setting

I wonder if it would be possible to add the ability to use different gap values using the same "breakpoint" method as the columns?

Hi, what's your proposal?
Are you talking about something like this?
const breakpoints = [
  { size: 640, columns: 1, gap: "10px" },
  { size: 768, columns: 2, gap: "20px" },
  { size: 1024, columns: 3, gap: "30px" },
  { size: 1280, columns: 6, gap: "40px" },
];

yes that's the kind of thing I had in mind


Style setting for navigation bar

Why it is needed?
For the status bar there is an option to set other styles separately, but for the navigation bar there is no such option. Sometimes it is required. I would be very grateful if you could consider adding a separate method.
Possible implementation
No response
Code sample
SystemBars.pushStackEntry({navBarStyle: isDarkMode ? 'light' : 'dark'})

When status-bar need light, but navigation-bar need dark this create a problem.

@leruse4ka When buttons navigation bar is used:
If the phone is in light mode -> the navigation bar has a light semi-opaque background, the button style is dark
If the phone is in dark mode -> the navigation bar has a dark semi-opaque background, the button style is light
So there's no need to set the navigation bar style, it always has enough contrast. Except if you override the default style using another library, but this is out of the scope of react-native-edge-to-edge, which only aligns with the Android 15 default behavior.

Everyone who has a theme controlled from the app and has the navigationBar color unsynchronized with the theme, then send in Appearance.setColorScheme scheme when changing the theme.
This turned out to be a discovery for me.


Handle optional static path segments

👋 One thing I noticed when working with remix-routes is that if you have a route file with an optional, but static, path segment, then the output type you get is a bit hard to work with.
For instance, say you had a route file app/routes/(user).settings.tsx.
In practical terms, that expands out to a route path of /user?/settings, which ultimately means you can use either of these two paths to reach that route:

/settings
/user/settings

However, currently remix-routes doesn't handle this case well, since there's no real way to signal to $path which variant of the route you want, and since the segment isn't dynamic, you can't use params to resolve the ambiguity.
Currently, $path just gives you the one option with the ? included, but with no params:

Which results in a bad url:

Rather than adding some additional flag to the API surface area of $path, with this PR I took the approach of treating optional path segments as two separate possible paths, and altering the build.ts process to expand those segments out into additional static paths.
In practice, this means that for each static optional path segment in your route definition, you get two route variants added to the generated Routes interface instead of just one, with each of them referencing the same source route file.
Using the app/routes/(user).settings.tsx example, you would get:
interface Routes {
  ...
  "/settings": {
     params: {
     },
     query: ExportedQuery<import('../../src/routes/(user).settings').SearchParams>,
  },
  "/user/settings": {
     params: {
     },
     query: ExportedQuery<import('../../src/routes/(user).settings').SearchParams>,
  },
  ...
}

While only adding a single entry to the RouteId type.
This felt like the most straightforward and "expected" implementation of handling optional path segments that aren't also dynamic (eg: ($lang).about.tsx).

[!NOTE]
I do realize that this addition has scalability issues as the number of optional path segments increases, since it will basically add 2^n entries. But IMO if you have 10+ optional path segments in a single route (which would be 1024 additional route paths - still probably not computationally problematic), then you have bigger problems to worry about.
Optionally, I would be happy to add some limiting factor in the expandOptionalStaticSegments function that would throw an Error after some number in order to avoid excessive computational overhead when the number of path segments gets too large.

Thank you! I think we don't need to worry about the 2^n problem for now util someone encounters the problem.


JA3 fingerprinting issue

Information: Chrome 131, Windows 11
curl_cffi not supporting "0-1-2" curve formats.
JA3 fingerprint ends with "0-1-2" yet you keep claiming for you it does not. Could you please send back a screenshot on Windows, Chrome 131 with the response you get from https://tls.browserleaks.com/json

I believe it's because I'm Windows 11. Which is why I'm getting "0-1-2" on the end of my ja3_text. Do you have a Windows 11 machine you could replicate this on?


Admin players/{id} changes

SERVER

change server to save thumbnails at 200x200 instead of 50x50
remove .team from schema
change .image to be .images: [] and set the first array item to the image that already exists
(I know you JUST did something similar for player biographies)

ADMIN
Show .thumbnail at top of this screen
Remove .team field (after change, above)
Display bios in tabs (similar to edit screen)
Edit/Delete links as buttons
General styling improvements

Add .active field to player and admin UI
Remove delete functionality
(Someone on our side accidentally deleted the captain...oops)


Add support for Blade and Soul

Seems like Blade and Soul has Razer Chroma support: https://youtu.be/kqytjCyUoVs
Should be working with Razer Wrapper Patch...

All these games: http://www.razerzone.com/chroma-workshop/#chroma-games should be supported by Aurora, right?

Theoretically, yes.

@DeathAngel thanks for adding support for Blade and Soul. :+1:


Create a test for the thermal field function

Fixes #50

Hello, I just added another test for a random temperature and random magnetic spin together.


Microtransactions

This PR implements microtransactions, a feature essential to every piece of modern software.
The implementation is only a stub for now, as we still have to figure out how to process payments

We might need to implement some sort of cryptographic verification to stop users from just modifying our memory from the js frontend

And what do you think about a limited stroke length? That way users could still use all tools, just not for any longer than 5 cm or some amount of time

We may also want to charge for either the red, green, or blue color primary. That way people can get a taste for Graphite's capabilities with 2/3 of the hue spectrum, but if they want to unlock the full capabilities of color and stop making art with stylized color palettes, a microtransaction would be required.

April 1st should be over in every time zone now


Not able to run Speedometer Benchmark locally

Hello,
I tried downloading the code of speedometer locally but it is not working as it is working at https://browserbench.org/Speedometer/ .
Could you please tell me that how can i execute https://browserbench.org/Speedometer/ Locally in my system..
Thanks & Regards
Shubham Goel

You need to run a webserver in the root directory and the load http://localhost:PORT/Speedometer in your browser.