call/cc crashes with no arguments

call/cc works when called properly:
>>> (call/cc (lambda (k) (+ 1 (k -1))))
 => -1
>>>

But it seems that some argument check is missing:
RUST_BACKTRACE=full RUST_BACKTRACE=1 target/debug/main
Handler set!
>>> (call/cc)
thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', src/environment.rs:238:13
stack backtrace:
   0: rust_begin_unwind
             at /usr/src/rustc-1.49.0/library/std/src/panicking.rs:495:5
   1: core::panicking::panic_fmt
             at /usr/src/rustc-1.49.0/library/core/src/panicking.rs:92:14
   2: core::panicking::panic_bounds_check
             at /usr/src/rustc-1.49.0/library/core/src/panicking.rs:69:5
   3: <usize as core::slice::index::SliceIndex<[T]>>::index
             at /usr/src/rustc-1.49.0/library/core/src/slice/index.rs:182:10
   4: core::slice::index::<impl core::ops::index::Index<I> for [T]>::index
             at /usr/src/rustc-1.49.0/library/core/src/slice/index.rs:15:9
   5: <alloc::vec::Vec<T> as core::ops::index::Index<I>>::index
             at /usr/src/rustc-1.49.0/library/alloc/src/vec.rs:1939:9
   6: peroxide::environment::ActivationFrame::get
             at ./src/environment.rs:238:13
   7: peroxide::environment::ActivationFrame::get
             at ./src/environment.rs:240:13
   8: peroxide::vm::run_one_instruction
             at ./src/vm.rs:276:26
   9: peroxide::vm::run
             at ./src/vm.rs:200:15
  10: peroxide::Interpreter::compile_run
             at ./src/lib.rs:176:9
  11: peroxide::Interpreter::parse_compile_run
             at ./src/lib.rs:169:9
  12: main::rep
             at ./src/bin/main.rs:141:15
  13: main::handle_one_expr
             at ./src/bin/main.rs:132:13
  14: main::handle_one_expr_wrap
             at ./src/bin/main.rs:79:5
  15: main::do_main
             at ./src/bin/main.rs:68:13
  16: main::main
             at ./src/bin/main.rs:29:11
  17: core::ops::function::FnOnce::call_once
             at /usr/src/rustc-1.49.0/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

And it seems that not only call/cc, but syntax-rules too, fails in the same way: try ((syntax-rules -1)).

Thanks for letting me know! I'll take a look this week

Argument length check was just broken in general, an easy example is ((lambda (x) x)). The reason was that the bytecode instruction that checks argument count is always the first in a function body, and the first instruction was always skipped due to the program counter being incremented as part of the main loop, even if it was just set to 0 to enter a new function.
Looks like this issue was introduced in commit cc897c89acd18c6811179c8cf6c717a8aeaa0260.
Should be resolved in 4040cc143cff03537d17480e5f169ad5943a25ef, added test cases for all examples discussed in this thread.

Yay! :fireworks:


Feature Request: uv pip download

And i can elimate pip :)

Hi this is a duplicate of https://github.com/astral-sh/uv/issues/3163


Address lack of viewmedia and viewblock events on blog homepage and topic pages

While evaluating the RUM collected data for blog.adobe.com, I identified two semi-related issues:

On the home page (or really any place where the card block is used), viewmedia checkpoints are not sent because the resulting DOM uses style="background-image..." rather than an img element.
On the home page and topic pages (or again, really any place where the article-feed block is used), viewmedia and viewblock checkpoints are not sent because the feed content is lazily loaded.

Note - I have opted here to bundle both solutions into a single JS file. These could certainly be broken apart but it seemed useful to bundle them into a single file containing any future RUM enhancements. But obviously open to feedback if maintainers would prefer an alternate approach.
Test URLs

Before: https://main--blog--adobecom.hlx.page/
After: https://rum-customization-bg-and-articles--adobecom-blog--justinedelson.hlx.page/
Before: https://main--blog--adobecom.hlx.page/en/topics/digital-transformation
After: https://rum-customization-bg-and-articles--adobecom-blog--justinedelson.hlx.page/en/topics/digital-transformation

Very cool! I think @chrischrischris can take a look when he's back from PTO. @rgclayton may have some thoughts, too.


Use bun's bundler instead of node_modules

This PR does not include removing node_modules/. That will be force-pushed afterwards, to avoid git bloat.

okay, you took over :D (you probably have a better knowledge of bun bundler anyway)

@Electroid any progress or I can take this?

Superseeded by #18


Support MySQL ServerVersion 8.0

This PR adds support for MySQL ServerVersion 8.0.
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Please update for the 2017-12-01-preview version as well. We still have customers and portal is using that version.

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

@QingqingYuan2 thanks for the review, updated 2017-12-01-preview 👍


Documentation CI is failing

See: https://github.com/MFlowCode/MFC/actions/runs/9085829960
Patching output file 341/345
Patching output file 342/345
Patching output file 343/345
Patching output file 344/345
Patching output file 345/345
type lookup cache used 560/65536 hits=823 misses=589
symbol lookup cache used 504/65536 hits=3114 misses=504
finished...
ninja: build stopped: subcommand failed.
Error: Process completed with exit code 1.
##[debug]Finishing: Build Documentation

This is actually related to #413
FAILED: fypp/post_process/m_variables_conversion.fpp.f90 /home/runner/work/MFC/MFC/build/fypp/post_process/m_variables_conversion.fpp.f90
cd /home/runner/work/MFC/MFC/build && /home/runner/.local/bin/fypp -m re -I /home/runner/work/MFC/MFC/build/include/post_process -I /home/runner/work/MFC/MFC/src/post_process/include -I /home/runner/work/MFC/MFC/src/common/include -I /home/runner/work/MFC/MFC/src/common -D MFC_GNU -D MFC_POST_PROCESS -D MFC_COMPILER=\"GNU\" -D MFC_CASE_OPTIMIZATION=False --line-numbering --no-folding /home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp /home/runner/work/MFC/MFC/build/fypp/post_process/m_variables_conversion.fpp.f90
/home/runner/work/MFC/MFC/src/common/m_variables_conversion.fpp:7: error: include file 'case.fpp' not found [FyppFatalError]


Want to add a new section in main page

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Want to add a new section in main page

Additional context
Add any other context or screenshots about the feature request here.

Hi @souvikpramanikgit, not planned for the new ui for now


No Pagination - 100 item limit

The Canvas API has pagination when calling items/assignments. This is shown by the return of the "link" item in the header, which informs the next page to query. (see https://canvas.instructure.com/doc/api/file.pagination.html)
However, this script doesn't handle that, meaning we only process the first 100 items.
Need to add logic to handle pagination (one option may be this link https://community.canvaslms.com/t5/Canvas-Developers-Group/Handling-Pagination/td-p/51450/page/2)
Is there someone who might be able to help with this?

I hacked together a solution from this post https://community.canvaslms.com/t5/Canvas-Developers-Group/Pagination-makes-endless-api-calls-when-retrieving-page-views/td-p/151089/page/2 and it works, but would love some review/input form @Nassuel who has better understanding of Python than I :)

It looks fine to me. Other than the if statement on line 193 using the response weirdly due to its scope. What's the purpose of that if statement?

Gotcha, good catch. When I was debugging, I ran into errors at first because I didn't' include the headers the second time, so I got a 401 on the paginated response (having only authenticated the initial request).
I'll pull that out - I don't think we need that line there since the two places we can get a 401/bad key would be on initial course selection (in iniitalize_api) or on initial course pull (if you're running it when using previously selected courses)


Allow to change dates from inputs

Hi, Thanks for your work.
It's not possible to change the dates from the inputs.
Thanks again, bye

You mean you want to type and change? That's a little tricky to handle. Specially min and max date validations.

Hello Praveen, i'm interested too in this case! Check that GIF, it will explain better than word 👍
https://gyazo.com/7fce85e0e99c6feb15e6946faed7c5b4


Add instance type/VM size spec to info endpoint response

Towards https://github.com/giantswarm/giantswarm/issues/6697
This spec change should allow the info endpoint to provide all details about AWS instance types or Azure machine sizes required by our UIs.
Preview
          "workers": {
            "count_per_cluster": {
              "max": null,
              "default": 3
            },
            "instance_type": {
              "options": [
                "m5.xlarge", "m5.2xlarge", "m5.4xlarge"
              ],
              "default": "m3.large",
              "specification": [
                {
                  "name": "m5.xlarge",
                  "description": "M5 series with medium resources",
                  "cpu_cores": 4,
                  "memory_size_gb": 16
                }
              ]
            }
          }

TODO

Make the spec provider-agnostic. instance_type is AWS terminology.
[ ] Update definitions
[ ] Check attribute naming for consistency

Obsolete


Update Whitehall admin to redirect requests for Organisation logos to assets-origin

I assume we're using something like image_tag organisation.logo.url to render Organisation logos in whitehall-admin. This will mean that we're displaying the images from disk rather than from Asset Manager. We'll need to be rendering them directly from Asset Manager (i.e. via assets-origin) before we can remove the NFS mount.

I wonder whether we'll be able to get away with just changing the implementation of organisation.logo.url (and possibly related methods) to return the URL of the logo on Asset Manager? I presume we'll need to do this as part of switching to use the AssetManagerStore (issue #274) anyway so we might get it for free. If we did this then I think we might be able to avoid having to put a redirect in place.

I've opened https://github.com/alphagov/whitehall/pull/3514 which will, I believe, do what we need as soon as we switch the LogoUploader from user AssetManagerAndQuarantinedFileStorage to AssetManagerStorage.

I'm fairly confident this issue will be resolved once we merge https://github.com/alphagov/whitehall/pull/3532 as part of issue #274. We should be able to check by clicking around the whitehall-admin interface in integration once that Whitehall PR has been merged.

I'm happy to close this as a non-issue. The organisation logo URLs we generate in Whitehall point to assets stored on assets-origin:
> Organisation.where(organisation_logo_type_id: OrganisationLogoType::CustomLogo.id).first.logo.url
"https://assets-origin.integration.publishing.service.gov.uk/government/uploads/system/uploads/organisation/logo/31/UKSA_logo_RGB_HomePage.jpg"

Prior to https://github.com/alphagov/whitehall/pull/3532, this would have returned a relative link to "/government/uploads/system/uploads/organisation/logo/31/UKSA_logo_RGB_HomePage.jpg" which would've been served on the whitehall-admin domain (i.e. https://whitehall-admin.integration.publishing.service.gov.uk/government/uploads/system/uploads/organisation/logo/31/UKSA_logo_RGB_HomePage.jpg). Note that this URL will return a 404 once we've removed organisation logos from NFS as part of issue #272. I don't think we need to worry about putting a redirect in place as these images are only available to users of the admin interface and so I don't expect them to have been shared.


[fr] update _config.yml

You are going to need to rebase this @julienXX. There is a conflict with the commit I just made in the last hour.

Great job @julienXX


Suspected failure due to introduction of ULAs

Rebooting an image that has been updated to a recent (unknown) version causes it to become permanently unreachable. All components need to be looked at, but the recent introduction of ULAs seems most likely to be the culprit.

The cause is unknown but recent commits fixed the issue. It may also have been a faulty squashfs-ng update causing the updater tool to create a corrupted partition.


Use RenderGraphApp in more places

Objective

RenderGraphExt was merged, but only used in limited situations

Solution

Fix some remaining issues with the existing api
Use the new api in the main pass and mass writeback
Add CORE_2D and CORE_3D constant to make render_graph code shorter

yeah, the use graph::* stuff was mostly an experiment to see how it felt. I only used it in places where there was a lot of duplication.


New package: AlgebraicOptimization v0.0.1

Registering package: AlgebraicOptimization
Repository: https://github.com/AlgebraicJulia/AlgebraicOptimization.jl
Created by: @tylerhanks
Version: v0.0.1
Commit: 907bfbf4b12db1c3b03ce71e564f4a5208ac34a3
Reviewed by: @tylerhanks
Reference: https://github.com/AlgebraicJulia/AlgebraicOptimization.jl/commit/907bfbf4b12db1c3b03ce71e564f4a5208ac34a3#commitcomment-143734688

This looks very interesting, but it still seems to be lacking documentation at the moment. Maybe it's just that the badge links in the README aren't pointing to the right location. Alternatively, could you add some usage examples to the README while a more complete documentation is pending?

Yes more complete documentation is pending. I will add some usage examples to the README.

[noblock] That looks much better now! Would you like me to unblock the registration so that it auto-merges, or is this PR too out of date now?

[noblock] That looks much better now! Would you like me to unblock the registration so that it auto-merges, or is this PR too out of date now?

Hey @goerz , I think I want this unblocked for auto-merging. Just to make sure, by re-triggering the julia registrator on the commit which added the usage example, the released version will be of that commit right? Thanks!

[noblock] You don’t have to retrigger the registration (and it’s probably best not to). The only thing holding back the auto-merge are your own blocking comment. You have to edit all comments to contain the word [noblock]


video number is Incorrect

when I open more than four web client, I join the same conversation, the last client show the video number more than four.

hi i think i found the issue;
beacuse of this line in nextrtc.js
remoteConnection.ontrack = e => this.onRemoteStream(connectionName, e.streams);
the ontrack event handler fires twice, if the remotestream has both audio and video (so i assume that you changed the audio:false to audio:true :) just like me )
but as the orijinal git example has audio: false i think msolarez has missed this situation.
so i think thats the problem but how to resolve this?


is it necessary to  extend     FlutterAndroidVolumeKeydownActivity

Change your MainActivity.java or MainActivity.kt to extend FlutterAndroidVolumeKeydownActivity
i think this is not a necessary

Not sure why you would think it's not necessary, but if you don't extend the Activity, it doesn't work.
Feel free to correct me if I'm wrong, but provide some proof please.


Lanes

To bring the awesome (turn) lane editing features to iD.
Things left

[ ] Bothways
[ ] Merge icons
[ ] UI nit picks
[ ] bugs marked as TODO in code

(closes #387)

Oneway turn lane editing

Is this PR still intended to be merged? There's been no activity in over a year and it's got conflicts.

Is this PR still intended to be merged? There's been no activity in over a year and it's got conflicts.

It would take a lot of work at this point to get it merged, but I think it's still worth trying.  The UI is kind of confusing, so I think best course of action is to start over when I can find a few weeks free.  For now, JOSM is really your best option for tagging lane information.

What was the reason that this MR was closed?

By the time it was closed, it had already become very stale: lots of merge conflicts, no longer possible to cleanly apply atop the current development branch. But anyways the discussion in #387 went in a different direction design-wise, focusing on an inspector field rather than floating map overlays.


Refactor: move decoherence prob error detect to front-end

So that the link isn't killed (at Simon's request)

Done!


Add nuget reference to twitter docs file

Thanks. See the changes that I made. Include it like I have when you do other docs.

Thanks. See the changes that I made. Include it like I have when you do other docs.

Thanks, will save that for future use!


Tarpaulin incorrectly detecting coverage of multi-project crates

Hello,
I have a project that contains both a lib and bin and as such as two test suites. It appears that tarpaulin doesn't detect coverage for the binary correctly: https://codecov.io/gh/Cogitri/tmplgen/tree/master/src/bin. I understand that tarpaulin doesn't detect the tests run by assert_cmd, but the tests from line 77 on should be detected, shouldn't they?

All tests that get run when you run cargo test should be detected and ran. Could you link the repository as well so I can clone it and try it out myself? I can't seem to find a link to it on codecov.

Ah, sure. The link to the repo is
https://github.com/Cogitri/tmplgen

Hmm well this is odd, when I run it on my own machine I get 32/35 lines covered on the file in question just running cargo tarpaulin Just 3 of the.success(); calls are missed and everything else is marked as covered. I'll look deeper into it but it might be a tricky one.

Hm, the output of it when I run it locally:
https://gist.github.com/97cf1367df4894626378d77c93b7796a

hmm what OS and rust version are you using?

Void Linux (x86_64), rust stable (so 1.31.0). I compiled tarpaulin with the latest nightly though. Dunno what Travis CI (usually does coverage for me) runs

I think travis is normally pretty good at keeping nightly up-to-date I don't think the cache effects it too much. Checking the travis log it was rustc 1.32.0-nightly (4a45578bc 2018-12-07) so pretty recent (2 days more recent than mine).
I'll update my nightly and check again

I think travis is normally pretty good at keeping nightly up-to-date

Yes, I think they run rustup update before build.

@Cogitri I know it's been a while but is this still an issue?

Ah, no worries. Seems like it works now: https://codecov.io/gh/Cogitri/tmplgen/tree/eb8e52d45453a7a8d396a451ecae4d07521fa8f6/src


Much more powerful git history editing

When working on a feature or bugfix with git, I will commit early and often as I iterate towards the final solution.    At minimum I will want to squash them.  But often, there is debug prints and so forth that I might want to reorder and eventually get rid of.  All of this happens on a private branch where rebasing and force pushing is acceptable because nobody else should be working on the same branch.
It would be nice if gitlens automated much of this history rewriting.  The sorts of operations I think would be useful are:

Reorder commits (dragging them around in history)
Squash (some range of) commits
Commit new code to previous commit (i.e. commit + squash to previous)
Split commit
Once all of the above is done, force push to remote branch

So, indeed all of those above except the last are different forms of git rebase -i.  Many will cause conflicts, but those can be handled the way VS Code already handles conflicts when doing a git rebase -i from the terminal window.
The above operations are probably what I jump out of VS Code to a terminal most often for.

Hi, for quite a while I used to rely on having $Env:EDITOR = 'code --wait' (Powershell) - then at least I didn't have to leave Code to do an interactive rebase. I suspect EDITOR="code --wait" would work on bsd/nix.
I note that a gui rebase editor is planned for v11. It has drag-n-drop.

A few related features I'd like to see, in the interactive rebase editor:

ability to select multiple commits and drag

either this is currently limited to one, or I don't know how to multi-select.

ability to select multiple, non-contiguous commits and have them made contiguous (i.e. unselected, interleaved commits are moved above or below)
for the reword (and maybe squash) options, ahead-of-time editing of the commit message in the line in the rebase editor


activePointer.worldX & worldY bug

I have 4 scenes at one time. The second scene from the top is outputing the worldX & worldY position of activePointer:

When I had 2 scenes (and this scene was also the second from the top) I hadn't encountered this problem.
Phaser version 3.12
If I'm trying to output the world position of active pointer from the top scene I get this:

If I'm trying to output from the bottom scene - ALL IS OK!

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I could reproduce only the second case, but I guess it can give a clue to resolve the first one:
class MainScene extends Phaser.Scene {
constructor ()
{
super('MainScene');
}
create ()
{
this.scene.get('SceneOne').scene.restart();
}
}
class SceneOne extends Phaser.Scene {
constructor ()
{
super('SceneOne');
}
create ()
{
let frame = this.add.graphics();
frame.lineStyle(3, 0xFFFFFF);
frame.strokeRect(0, 0, 1024, 768);
this.cameras.main.setZoom(0.5);
this.cameras.main.setScroll(-100, -100);
}
update() {
console.log(this.input.activePointer.worldX, this.input.activePointer.worldY);
}
}
let config = {
type: Phaser.CANVAS,
scene: [MainScene, SceneOne]
};
let game = new Phaser.Game(config);

Sorry for leaving this issue open for so long - it was actually fixed way back in version 3.16!


Recognize TS data arriving via handoff

Currently, TS data that arrives via handoff is not stored under a recognizable key.
The key is sext-encoded twice: once as pulled from disk on the sending side, then again when sent to the backend on the receiving side.
This patch addresses that problem, although it deserves more thought for the next major release.

+1 abc5050

Please also create a separate PR of this branch against riak_ts-develop-1.3.

Ran some simple tests with KV keys mirroring the sext keys we're looking for, and everything seems correct after the latest commit.

+1 8180b04

@borshop merge


[Feature] Port FileScanNode to BE connector

Signed-off-by: xyz<EMAIL_ADDRESS>What type of PR is this：

[ ] bug
[x] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #7452
Problem Summary(Required) ：

generally LGTM.

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
0
1
00.00%

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

we also need to change logic in exec_node
case TPlanNodeType::FILE_SCAN_NODE:
        *node = pool->add(new vectorized::FileScanNode(pool, tnode, descs));
        return Status::OK();

I have changed the logic in exec_node, if user still wants to use the old file scan framework, he can set enable_old_file_scan_framework

@mergify rebase

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
0
1
00.00%

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
0
1
00.00%

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

@mergify rebase

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
1
2
50.00%

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
1
2
50.00%

run starrocks_fe_unittest

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
1
2
50.00%

run starrocks_be_build

run starrocks_be_build

[FE PR Coverage check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/FileScanNode.java
1
2
50.00%

:large_blue_circle:
com/starrocks/planner/StreamLoadScanNode.java
1
2
50.00%

run starrocks_be_unittest

run starrocks_be_unittest


Update Python version ubuntu1804 Layer to 3.7

Switch from the python3-dev package to the python3.7-dev package. This will include a more recent version of python into the layer. More discussion is available on the bazel-dev@ list https://mail.google.com/mail/u/0/#inbox/FMfcgxwJXfnhxvJFvZQbltXPVjsJhVrM .
Possible warning: this may provide a different version of python during RBE and when running within the bazel docker container ( l.gcr.io/google/bazel).  This may introduce some strange things.

@googlebot I signed it!


REQUIRE_SIGNIN_VIEW isn't being enforced

Gogs version (or commit ref): <IP_ADDRESS>4
Git version: 2.11.3
Operating system: Docker image
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant / Need admin access

Log gist (usually found in log/gogs.log): N/A

Description
I checked REQUIRE_SIGNIN_VIEW when first installing but it doesn't seem to be having any effect. The setting is enabled in /data/gogs/conf/app.ini and in the admin configuration panel on the site.
When I browse the site from an incognito browser I'm still able to view users and repositories. I expected to be redirected to the sign in page. Please let me know if my understanding of this feature's behavior is flawed.

Hi, hmm. Right, you would have to restart in order to make this specific option work.
Duplicated to https://github.com/gogits/gogs/issues/2365.


Open recent has mixed Capitalisation and repeats the same file

Problem Description
In this image:

The filenames are either Capitalised or not. Maybe this should be more consistant?
Also If I open the same file with two different methods, I can get the same file twice, once capitalised, and one not.
What steps reproduce the problem?

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version:
Python version:
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

Hey @impact27, could you help us to take a look at this one?


Collecting feedback

This is just a prototype, and i am not sure about how well received the approach is by multiple sides.
Hence that, i use this issue to collect feedback.

@mpern - i would highly appreciate, if you do think this is feasible and viable. your @sap-commerce-tools it a great starting point and you gradle plugin, already gave me a lot of guidance (not for this one, but for other gradle plugins in connection with commerce).

I like the idea, it's something that I've thought about a while ago.
In a perfect world, there would be a fancy bootstrap Gradle plugin that only unpacks / bootstraps what's necessary.
(What we actually need is the Commerce equivalent to "Spring Boot Starters")
All dependencies are provided by a SAP-owned Maven repo, and you can only use those extensions/modules that you've licensed.
To take it one step further:
Replace ant with Gradle.
An extensions is, on a high level, just one or more Gradle (sub-)projecs with dependencies.
Buildcallbacks can be easily replaced with custom Gradle tasks that hook into a clearly defined build lifecycle using task dependencies.
e.g.
tasks.named("coolstorefrontcore:beforeBuild") {
    dependsOn("someCustomTask")
}

ant gradle is the first step in the right direction, but the legacy ant-bused build is already a huge burden on the developer experience of Commerc/hybris.
It's too hard to setup e.g. Sonar or any other tool with Commerce.


execute javascript

Hi,
I know featherlight can run javascript after open, after content, etc...
But inside a featherlight-box itself, I am unable to execute simple javascript actions.
e.g. In my featherlight-box, I have a form with some input fields.
The form is part of the 'parent page' and hidden with CSS (display: none).
When I try to alert the value of a field by clicking the submit button, I get null or undefined.
When the form is visible in the parent page (display: block), everything works perfectly.
Any idea how to fix this?
thx!

From the readme:
Questions?
For questions, please use Stack Overflow and be sure to use the featherlight.js tag. Please provide an example, starting for example from this jsfiddle


fix: improve which python executable is being used

Summary
This PR changes which python executable is used to populate the get-hooks payload.
This PR sets the python executable of other hooks command to the python executable used to run the get-hooks hook, defined in the slack.json file.
This allows developers to select which python executable the CLI must use to invoke hooks. This is accomplished by changing which executable is used to invoke the get-hooks hook. Here are some examples of "get-hooks" values.
Examples:
"get-hooks": "python3 -m slack_cli_hooks.hooks.get_hooks"
"get-hooks": "python2 -m slack_cli_hooks.hooks.get_hooks" // this is an example do not use python2
"get-hooks": "pypy -m slack_cli_hooks.hooks.get_hooks"
"get-hooks": "path/to/a/specific/bin/python -m slack_cli_hooks.hooks.get_hooks"

Testing

pull this branch
run scripts/build_pypi_package.sh
use the path to the generated .whl file to import the changes in a python project
In a python project run pip install /path/to/python-slack-hooks/dist/slack_cli_hooks-0.0.1-py3-none-any.whl
run python3 -m slack_cli_hooks.hooks.get_hooks
The the hooks values from the output should resemble "/Users/bob/path/to/my/project/env_3.12.2/bin/python -m slack_cli_hooks.hooks.get_manifest" and not "python3 -m slack_cli_hooks.hooks.get_manifest"

Special notes
Here are the scenarios I've tested

[x] unit tests 🟢
[x] Running the app with a global python executable using the python3 alias in slack.json 🟢
[x] Running the app with a global python executable using the python alias in slack.json 🟢
[x] Running the app with a virtual environment set up and the python3 alias in slack.json 🟢
[x] Running the app with a virtual environment set up and the python alias in slack.json 🟢
[x] Running the app with no virtual environment and the /Users/bob/path/to/virtural/env/bolt-python-project/env_3.12.2/bin/python alias set in slack.json 🟢
[x] Running the app with a virtual environment set up and using the python executable of a different virtual environment in the slack.json 🟢
[x] Running the app with a virtual environment set up but setting the python executable of a different virtual environment for the "start" hook only 🟢
[x] Running the app with a pypy virtual environment using the python3 alias in slack.json 🟢
[x] Running the app with no virtual environment and using the python executable of a pypy virtual environment in the slack.json 🟢

Requirements

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've run ./scripts/install_and_run_tests.sh after making the changes.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.58%. Comparing base (ea5748a) to head (7b67965).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #45      +/-   ##
==========================================
+ Coverage   94.55%   94.58%   +0.02%
==========================================
  Files          11       11
  Lines         202      203       +1
==========================================
+ Hits          191      192       +1
  Misses         11       11

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🙇 thank you
I agree with @filmaj, this implementation lets teams working on an app use environment variables or other strategies to customize the python executable for their given systems
But as @zimeg pointed out I am also curious about hidden edges with this approach, I will wait for @seratch review that may or may not uncover some edges


Multiple implementations of ResponseInterceptor fail to trigger

Describe the bug
I have 2 implementations of ResponseInterceptor, both fail to trigger in 4.1.0.  If I remove one of them, then it works.
@Component
public class AuditorGatewayResponseInterceptor implements ResponseInterceptor {

//// removed
}

@Component
public class AnotherResponseInterceptor implements ResponseInterceptor {

//removed
}

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

hello @marcdv , see gh-1003

Thanks, @marcdv. That's actually never been supported and also the docs only show a way to provide one interceptor, so this would be an enhancement. Since this project is now in maintenance mode (suggested replacement: Spring Interface Clients), we are not planning on adding new features ourselves, but we still review small community PR. I see @galaxy-sea has submitted a PR for this, but it has breaking changes, so can only be considered for a major release and I will mark it as such, however at this point it has not been decided if there will be another major of this project.

Hey @OlgaMaciaszek 👋🏻 , just asking, as I've seen you mention that spring-cloud-openfeign is now under maintenance mode a couple of times:
Could you maybe point me to Docs where this is explained?
Would it make sense to add this info to the Repo Readme?
Thanks in advance :)
P.S.:
The link above to the Spring Interface Clients does not seem to work!

Here a fixed linked: Spring Interface Clients.

Hi @askingcat . That's strange. The link works for me. Can you please try it again (maybe the site was temporarily down)? Here it is, in the warning section: https://docs.spring.io/spring-cloud-openfeign/reference/

Thank you for sharing that link! :)
Still off-topic, but regarding the link to the Spring Interface Client Docs:
Nope, still can't see it. But also, when I drill down to the list of releases at https://docs.spring.io/spring-framework/docs/
I found no entry for 6.0.6-SNAPSHOT, as used in the url, but there is one for 6.0.x-SNAPSHOT, so that might be a reason 🤷🏻
@askingcat's link points to 6.0.6 so that obviously works.


forceload not working?

So im using vanilla 1.17.1 RC2 and i tried multiple times using /forceload add ~ ~ (which adds the currenlty chunk to being forceloaded) but sadly this disapears after each restart.
Is that fixable?

testing: https://bugs.mojang.com/browse/MC-143952

yes, making sure the latest /forceload command doesnt fail fix the problem :)


Dotenv Customization

The branch includes changes that will allow developers to completely customize the dotenv library.
The parsing of env vars now happens inside a new file called dotenv.config.js. If you want to override this behavior, for instance, you have some additional plugins and other parsing requirements, just create your own dotenv.config.js in the root of your project and the serverless-dotenv-plugin will use that instead.

The idea seems sound, however I would note that my codebases are 100% TypeScript - I've even taken pains to make sure my webpack config files are in TypeScript.  I'd suggest that if this library goes down the road specified by this PR that it provide a way to handle that case.
Here are the webpack docs on the subject as a reference for one method of doing this: https://webpack.js.org/configuration/configuration-languages/

The idea seems sound, however I would note that my codebases are 100% TypeScript - I've even taken pains to make sure my webpack config files are in TypeScript. I'd suggest that if this library goes down the road specified by this PR that it provide a way to handle that case.
Here are the webpack docs on the subject as a reference for one method of doing this: https://webpack.js.org/configuration/configuration-languages/

That seems like a big lift given this project isn't written in TypeScript. Even if it is, if I'm understanding correctly, this plugin will have to compile the TypeScript into JavaScript on-the-fly to use the config.
Alternatively, could we make the path to dotenv.config.js customizable? That way, you can point to a compiled version of your config.

Most of my code isn't compiled to disk: instead the needed subsystems are registered with the tools on the command line.
That this project isn't in typescript isn't a problem to me, no uplift needed. To me this is an architectural issue. One that has been solved in other projects: see the -r flag used by node and many others that allows typescript, and many other things, to be handled. And it's probably not the only solution, just one I'm familiar with.

To me this is an architectural issue. One that has been solved in other projects

I would say that what you are asking is a feature, not an issue.
Not all JavaScript libraries need to support TypeScript IMO, but I'm guessing this is where we disagree :).

a feature, not an issue.
Touché.

Need to? No. Would I prefer? Yes. I too maintain a couple of open source
projects and nothing turns me off faster than being told I have to do
something. My point was to make my opinion known do that it can be
considered: one can’t make an informed decision of the information is
lacking. :)
So yes, back to the point, I would like if there was provided a way to read
the config file in typescript if a feature like was proposed in this PR is
considered by whomever takes up this banner.
On Tue, Dec 29, 2020 at 5:19 AM Mark Tse<EMAIL_ADDRESS>wrote:

To me this is an architectural issue. One that has been solved in other
projects
I would say that what you are asking is a feature, not an issue.
Not all JavaScript libraries need to support TypeScript IMO, but I'm
guessing this is where we disagree :).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/colynb/serverless-dotenv-plugin/pull/48#issuecomment-752071948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI2Q2AW6ZFLZEYB7OWP6YDSXHJOVANCNFSM4KPH4VSQ
.


Update to axum 0.7

hey @davidpdrsn is there anything else that needs to be done? More than happy to get it through to the finish line cheers

Sorry for the delay! I just published this in 0.6.0 🎉


Invalid parameters with fetch.ContinueRequest

What versions are you running?
v0.7.8
$ go list -m github.com/chromedp/chromedp
github.com/chromedp/chromedp v0.7.8
$ google-chrome --version
98.0.4758.102
$ go version
go version go1.17.1 windows/amd64

What did you do? Include clear steps.
chromedp.ListenTarget(ctx, func(ev interface{}) {
		switch ev := ev.(type) {
		case *fetch.EventRequestPaused:
			go func() {
				c := chromedp.FromContext(ctx)
				e := cdp.WithExecutor(ctx, c.Target)

				...

				var res []*fetch.HeaderEntry
				for k, v := range ev.Request.Headers {
					res = append(res, &fetch.HeaderEntry{Name: k, Value: fmt.Sprintf("%v", v)})
				}
				req := fetch.ContinueRequest(ev.RequestID).WithURL(ev.Request.URL).WithMethod(ev.Request.Method).WithHeaders(res).WithPostData(rawJson)

				if err := req.Do(e); err != nil {
					log.Printf("Failed to continue request: %v", err)
				}
			}()
		}
	})

What did you expect to see?
Request continues with provided parameters. The intent is to only modify the request body and then send along the request.
What did you see instead?
Invalid parameters. (-32602) error on req.Do(e). It does not spit out what is invalid parameter or if something is missing.

Duplicate of #719.
The body should be encoded as base64 string.

Thanks @ZekeLu . That got me past this error. However, the modified body is not actually being modified in the request. If I pop open the network tab in chrome and look at the request, the body is still the original body and not my new one. What else could I be doing wrong here?
(I have confirmed the modified body base64 encoded string is being put correctly into WithPostData)

Can you provide a simple reproducer?

@nathankodilla I would like to get your feedback. Since you closed the issue, I assume that you have addressed the issue. Can you share the information? Thank you!


Adding Shields for the "help-wanted" label

Description
This PR fixes #4
Notes for Reviewers
"help-wanted" issue count sheilds for:

[x] Meshery
[x] Service Mesh Landscape
[x] Service Mesh Performance
[x] Image Hub
...have been added.

Signed commits

[x] Yes, I signed my commits.

LGTM 🎉 Thanks @sudhay23

Thanks for your inputs @debo19 🎉


add custom error message for throw invalid() in actions

fixes #7224
Throws an error that suggests a fix instead of displaying [object Object].
The new error message:
Cannot "throw invalid()". Use "return invalid()"
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Thank you! Could add the same at ~line 57 and add a changeset?

Thank you! Could add the same at ~line 57 and add a changeset? Also, just throwing there isn't quite correct, there is a return with type error at the end where you should add the logic. Soemthing like return { type: 'error': error: error instanceof Invalid ? new Error('cannot ..') : error

Thanks for the guidance! Are the new changes correct? I wasn't sure if creating a function was warranted for returning the same error message in both handle_action_request and handle_action_json_request

Extracting that logic into a small function in the same file sounds good to me - other than that this looks 👍


PdfSimple: Text in result pdf is not selectable

Issue
Im trying out FastReport OpenSource in combination with the Open Source PdfSimple Plugin.
Unfortunately i cannot select words and copy them out of the generated pdf as its possible with any browser or adobe reader.
Is this a limitation of PdfSimple or a setting thing for the export?
Code
Report rep = new Report();
rep.BaseReport = @"C:\users\taut\desktop\invoice.frx";

rep.SetParameterValue("InvoiceNr", 22080514);

if (rep.Prepare())
{
    PDFSimpleExport export = new PDFSimpleExport();
    rep.Export(export, @"C:\users\taut\desktop\Watermark.pdf");
}

Result
Watermark.pdf

Hello!
Yes, these are the limitations of PdfSimple
because it exports everything in picture format
Best regards
Marat


Status of the elastalert project

Hi all. I wanted to ask if anyone can give an insight in the status if this (very useful) project. I see that there are more than 1k issues reported, and over hundred pull requests, but it seems the issues get not triaged that much and pull requests don't get integrated or are not ready/compatible anymore. Is Yelp still supporting this project?
Anybody knows anything about the "beta" branch which includes some features like multi threading (it has not seen changes since last August)?
Or is anybody aware of a fork which is more active than the original repo?

Hi, sorry about the inactivity in this project, we are not currently doing any active development on it. All of the branches, including beta, should be ignored, and are likely already merged.
I do plan on doing a final round of bug fixes and cleanup before we officially end support, probably sometime this year.

Hello and thank you for the clarification.
What would you recommend as a viable actively maintained alternative to Elastalert?

Hello and thank you for the clarification.
What would you recommend as a viable actively maintained alternative to Elastalert?

@Qmando thank you for the clarification and your quick answer. Is there any other tool you can recommend with similar features? Or would you just go with the features the ELK stack now has to offer (e.g. machine learning, alerts etc).?

The following are notifications for alerts based on Elasticsearch data.
Watcher
https://www.elastic.co/guide/en/kibana/7.8/watcher-ui.html
Alerting and action settings in Kibana
Alerts and Actions
Managing Alerts
Alert details
Managing Connectors
Open Distro for Elasticsearch
Alerting
Grafana
Perform alerting on data in Elasticsearch with Grafana
https://grafana.com/docs/grafana/latest/alerting/
https://grafana.com/docs/grafana/latest/alerting/notifications/

@ulfsa
The following items are maintained.
Since it depends on ElastAlert, there is a problem of whether ElastAlert can fork ElastAlert to major version upgrades of Elasticsearch and Python.
ElastAlert Server
johnsusek/elastalert-server
forked from ServerCentral/elastalert-server
https://github.com/johnsusek/elastalert-server
Praeco
ElastAlert WebUI
johnsusek/praeco
https://github.com/johnsusek/praeco
ElastAlert Kibana Plugin
nsano-rururu/elastalert-kibana-plugin
forked from bitsensor/elastalert-kibana-plugin
https://github.com/nsano-rururu/elastalert-kibana-plugin

Dear Naoyuki,
Thank you for your response.
Regarding notification alternatives to ElastAlert, the Watcher UI requires a Gold or above licence https://www.elastic.co/subscriptions, as do Action type = email when using Kibana UI Alerts. In conclusion, it seems one can not stay away from paying a licence if trying to use a pure ELK notification infrastructure.
For our needs, ElastAlert is a perfect match. I will try to contribute. In particular, I would like to have a set-comparison type Rule available, to verify for example a set of defined services are all up and running within some set timeframe. Basically the Rule would compare if the contents of sorted service array A is equal to the contents of Elasticsearch index query result (distinct/unique) attribute X sorted array B.

@Qmando
Is there an option to take over the maintenance of this repository to another person?

@nsano-rururu
We do plan on doing that. I can't tell you exactly when.

@Qmando
Thank you for your answer

@usp-npe
Main repositories maintained independently

Category
URL
memo

ElastAlert
jsonar/elastalert
Based on ElastAlert 0.1.35. Adds original functions, supports Python 3.8, supports elasticsearch-py version upgrade, etc.

ElastAlert
jertel/elastalert
ElastAlert 0.2.4 + TheHive alerter: Allow severity and tlp to be set by ruleElastAlert-Docker

ElastAlertServer,Praeco,ElastAlert
ElastAlertServer Helm ChartPraeco Helm Chart
ElastAlert 0.2.1 + BugfixServerCentral/elastalert-server fork + Bugfix

ElastAlertServer
coandco/elastalert-bitsensor
bitsensor/elastalert forkElastAlert 0.2.1Python 3.8

ElastAlertServer
yigitbasalma/elastalert
bitsensor/elastalert forkKubernetes support added.ElastAlert 0.2.4Python 3.8

Praeco
abirsigron/praeco
Based on Praeco 1.3.1.Added time window range alerts

Praeco
mareksimunek/praeco
Based on Praeco 1.0.1.added support for cutomAlert Type

@Qmando
If support ends, I think it's okay to end.
I don't think anyone will get angry.
Everyone is in trouble without knowing which one.

@Qmando
If support ends, I think it's okay to end.
I don't think anyone will get angry.
Everyone is in trouble without knowing which one.

@usp-npe

Or is anybody aware of a fork which is more active than the original repo?

jertel/elastalert  alt repo
https://hub.docker.com/r/jertel/elastalert-docker
https://github.com/jertel/elastalert/tree/alt
ElastAlert 0.2.4 + Fixed after 0.2.4 release
+

TheHive alerter: Allow severity and tlp to be set by rule
Switch out abandoned blist lib for sortedcontainers lib・・・Supports Python 3.9
Fix docker test
Fix test_rule.py error
Fix Stomp
Fix LineNotify & Pagertree
Sync requirements.txt and setup.py
Fix initializing self.thread_data.alerts_sent for running elastalert
Remove Stride integration
Update Docs for Zabbix
Fix SnsAlerter
Kibana Discover app link 7.4/7.5/7.6/7.7/7.8/7.9/7.10 support
Fix documents
Remove hipchat & Fix loaders.py
Adds --silence_qk_value option to elastalert
Add Jinja2 Templating Option to Alert Text Formatting
Fix example
Add tzlocal<3.0
Update running_elastalert.rst
Add opsgenie_addr to docs
Fix ruletypes.rst typo
Remove Duplicate Key in Schema YAML
Update alert types and Third Party Tools Info
Fix Zabbix
Fix Logging to elastalert_logger
Fix for the mapping error reported
Del the forgotten code of new_style_string_format
Fix slack ssl verification
Fix is_enabled not work with reload

@usp-npe

Or is anybody aware of a fork which is more active than the original repo?

jertel/elastalert  alt repo
https://hub.docker.com/r/jertel/elastalert-docker
https://github.com/jertel/elastalert/tree/alt
ElastAlert 0.2.4 + Fixed after 0.2.4 release
+

TheHive alerter: Allow severity and tlp to be set by rule
Switch out abandoned blist lib for sortedcontainers lib・・・Supports Python 3.9
Fix docker test
Fix test_rule.py error
Fix Stomp
Fix LineNotify & Pagertree
Sync requirements.txt and setup.py
Fix initializing self.thread_data.alerts_sent for running elastalert
Remove Stride integration
Update Docs for Zabbix
Fix SnsAlerter
Kibana Discover app link 7.4/7.5/7.6/7.7/7.8/7.9/7.10 support
Fix documents
Remove hipchat & Fix loaders.py
Adds --silence_qk_value option to elastalert
Add Jinja2 Templating Option to Alert Text Formatting
Fix example
Add tzlocal<3.0
Update running_elastalert.rst
Add opsgenie_addr to docs
Fix ruletypes.rst typo
Remove Duplicate Key in Schema YAML
Update alert types and Third Party Tools Info
Fix Zabbix
Fix Logging to elastalert_logger
Fix for the mapping error reported
Del the forgotten code of new_style_string_format
Fix slack ssl verification
Fix is_enabled not work with reload

Is  @jertel has the most complete and updated fork ?

Is  @jertel has the most complete and updated fork ?

@hottwister
I haven't checked all Elast Alert forks so I'm not sure if it's the most complete and updated fork.
As you can see, it's part of the 157 pull request.

@hottwister
I haven't checked all Elast Alert forks so I'm not sure if it's the most complete and updated fork.
As you can see, it's part of the 157 pull request.

People can follow on this discussion here to pitch in their opinions about an official fork and the process of it: jertel#77


bugfix: json.marshal not supported type: map[interface{}]interface{}

Coverage decreased (-0.04%) to 72.544% when pulling 86ef5b4fae22638c2fb2c676a831f5230c72c0ea on howieyuen:fix-json-marshal into 6d8d86f2f7559097d0e310cdd6fa459dbcd9ebbc on KusionStack:main.


Convert test crate to a normal module and make a few other things public

We need these fields, functions and the whole test crate to be public in order to reuse as much as possible in the unit testing framework.

One alternative way to organize this is to put the tests and things that are exclusively for tests in a separate, then you can use #[cfg(test)] only once. Or keep the current tests module and put the things you need in a common module.


Fixing 1201 - array property constraint deserialisation

Small fix for #1201 (missing deserialisation of ArrayProperty constraints (minItems, maxItems and uniqueItems).

@frantuma look OK to you?

Hi @fehguy. I have the same issue described in #1201 on both 1.5.8 and 1.5.9.  I need the fix committed by @conorclifford as I'm deserializing JSON schema that has minItems and maxItems and embedding the resultant Model.

Hi.  I tried out the fix and it works.  There's an unnecessary import statement "import com.google.common.collect.Maps;" you might want to remove.

@cipresso thanks for validating it.

I understand that this pull request is the first step to resolving the issue of maxItems within definitions of not being read by swagger-parser (https://github.com/swagger-api/swagger-parser/issues/239).  Just wanted to mention that this issue is currently causing our internal code generator (which uses swagger-parser/swagger-core) to not handle this case.  Whatever could be done to resolve this we would be most grateful for.


Update support to match Liquid Labs support

Work for this issue will begin begin on branch work-liquid-labs/cloudsite/225.


JBPM-5152: added tests for assignments editor

@jlindop thanks for review, I amended the commit according your comment.

@jomarko  There's some nice code clean-up here. Thanks!
+1


Issue with k8s.io/releases/

The schedule link for 1.32 reports 404.
Upcoming Release
Check out the schedule for the upcoming 1.32 Kubernetes release!
https://github.com/kubernetes/sig-release/tree/master/releases/release-1.32

Page: https://kubernetes.io/releases/#upcoming-release
@JohnTangZX, The corresponding PR is not merged yet in the kubernetes/sig-release repository, once it is merged, the information will be there.
https://github.com/kubernetes/sig-release/pull/2604

/sig release
Not a bug in k/website; the link is correct and https://github.com/kubernetes/sig-release/pull/2604 will make it come about.
@JohnTangZX thanks for reporting this. I could transfer this issue to SIG Release, or close it, or leave it open but with no action needed by this SIG.
What do you prefer?

/close
Feel free to reopen if the link fails while it should work.


cannot enable desktop notifications

tried to allow it via advanced settings, notifications then added the site but the enable desktop notification button cannot be pressed.

What browser are you using?


support gpg signature verification of download resources

This is to support gpg signature verification with mini_protile.
Example usage:
@recipe.files << {
      :url => "http://nginx.org/download/nginx-1.9.4.tar.gz",
      :gpg => {
        :key => 'A1C052F8',
        :signature => <<-SIGNATURE
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAABCAAGBQJV002uAAoJEFIKmZOhwFL41AcH/2VX1/5mD3dAUXfDaYMG92IV
AA8vHlsvXpCEPfCYBnPGYYFa/P0qPyw6hsWXZhWEGEm+BqZK6dWCLFaxTVTtsjOE
vhSR+LL+FNxYmGbK2lYq61PDDL45x5Qnhy3WK1e40F7CqmElSfMOjLuCNC7xR9Jc
zAZ014ADQ5yfH+Ma40K997AxZeCVGU+A5IEHGoZ2i8pyqx0Jhh6cbpC18yHu5ciN
0o4E4cLSFFckYB3FnUpDowRonBDNUpDRJVKMo5cvvskc/GWVUVomPuWyNGFPPmMJ
aySUQcOvO67Z14d9E9ziX/E24KWl6xRymmy9VhzawgSmf//3yZVaD6C/8om3qMw=
=zjw3
-----END PGP SIGNATURE-----
SIGNATURE
      }
    }

It does rely on downloading the source tarballs from nginx.org. This was done because there was no great solution to having a signed tarball and public/private keys just for a test fixutre.

The way the gpg support works doesn't make sense for me. We download a key from the internet, use it to decrypt a hash from the signature (bundled with the project files) and verify the hash against the downloaded tar file. So the signature has to be specific to each version of the tar file to carry a hash that is specific to the tar file.
I don't see an advantage compared to using a hash value directly. It would make sense to download a tar file and a corresponding signature and verify both with a key bundled with the project files. But this is not what the patch does.

It does rely on downloading the source tarballs from nginx.org. This was done because there was no great solution to having a signed tarball and public/private keys just for a test fixutre.

Nevertheless it would be better to build and sign a tar file from the scratch, like in the other test cases. That would document the signature process at the same time.

@larskanis that is correct.
The are couple of use cases that we are trying to prevent:

A man-in-the-middle attack. Where when downloading the source and key from the same site, we cannot guarantee either authenticity. This is why md5 and sha256 make sense in as values it is not just for content/network validation, but also origin validation.

We supply both arguments, key id and signature, because of specific use case. If someone is already has a gpg key chain setup, they could potentially validate a signature against another key in their key chain. Not necessarily preventing an attack, but we just want to verify that the signature uses the correct key id. This is why we validate the key's fingerprint against the signature's key fingerprint.

As for the test case, I'd love to. Do you have a key you'd like to sign something with?

A man-in-the-middle attack. Where when downloading the source and key from the same site, we cannot guarantee either authenticity. This is why md5 and sha256 make sense in as values it is not just for content/network validation, but also origin validation.

This still does not describe, which advantage the gpg usage has over plain hash values.

This is why we validate the key's fingerprint against the signature's key fingerprint.

This is useless. A PGP signature already comes with a 8 byte key reference, but the key id that is used to call gpg is only 4 bytes in size. So the retrieval of the fingerprint is less secure than that, what gpg does internal while gpg --verify .

As for the test case, I'd love to. Do you have a key you'd like to sign something with?

Use gpg --gen-key to build one :yum:

@larskanis, I'd like to resolve this, so we can get it accepted.
We provide meta information for a tarball that has been downloaded to be verified with a gpg signature and key id. Based on your comments, are you suggesting that we just provide the signature and parse the key id from the signature?
Can you please clarify your comments on using the fingerprint? Though gpg --verify return a correct status code, we just wanted to do further validation on the system that nothing was compromised.

I'd like to merge this once 2.0 has been cut, hopefully this week. Thanks for your patience, @jtarchie and thanks for asking good questions, @larskanis.

This PR is nonsense from a security point of view and I don't see a beneficial use case for it.
:-1:  for merging this.

@larskanis The use case here is for libraries that only provide a PGP signature, and not hashes. One example is nginx.
You may think that PGP is nonsense, and that's fine. But this PR was submitted in response to a real use case. If you have an alternative solution, or want to request a different implementation, let's discuss it.

@larskanis Any comments here? We need to verify packages that are signed in this manner, in particular nginx. I'm still not sure I understand your objections, but would like to merge this.

Rereading now, it seems the primary objection is:

This still does not describe, which advantage the gpg usage has over plain hash values.

and in fact I totally agree; but some projects do not provide hash values, and only provide a signature. nginx is one of those projects.
I'd like to merge this; and we can discuss how to improve functionality and/or test coverage at that point.

Merged manually.

Ugh, I'm reverting these commits.
We should not be downloading nginx three times during these tests. I agree with @larskanis that we should have a fixture file that we've signed and simply test the verification step (and exclude the download step).

Don't merge this PR! It is broken - in both implementation and design.
Broken in implementation because it makes operations around gpg that are redundant and the tests are not self contained.
Broken in design, because it does not use public key cryptography in a way that has any advantage compared to plain hashs. In particular: it bundles the signature with the MiniPortile setup (instead of downloading) and it downloads the gpg key instead of bundling it. This implies that the signature must be updated with each new version of the to be verified download.
There are two ways to escape:

Use hashs in the MiniPortile setup:

That's already built-in, so that it's only necessary to make a hash from the signature. This can be done per downloading file and signature and do:
gpg --verify nginx-1.9.7.tar.gz.asc nginx-1.9.7.tar.gz && sha256sum nginx-1.9.7.tar.gz

Now the signature is verified and no longer needed. The resulting hash can be used in the MiniPortile setup. This option requires gpg only at build time.

Add proper gpg support to MiniPortile

It should bundle the gpg key (or multiple keys) to the MiniPortile setup (or download it and verify the full fingerprint) and download both the signature and the to be verified file. That way the verification is independent to the version of the downloaded file, so that one and the same key can be used to execute it.
This options has the downside, that it adds gpg as a runtime requirement.

Hi all. I agree with @larskanis on using the full gpg key in the recipe. This blog post and others explain in details why short and long key ids are "trivially" collidable. I opened #71 to rebase the branch on top of master. I'll take this opportunity to modify the implementation (in the new pr) to use a full gpg key in the recipe.

@jvshahid Thanks for working on this! The assert_raise/s difference is because we switched from test/unit to minitest in the meantime. For the rest it's probably better to start from the scratch than using the existing code.

@jvshahid Tar files and PGP signatures are always provided as pairs for download. We should therefore not bundle the signature with the recipe, but download it from the server, that also provides the tar file. This has the advantage to be version independent. With bundled signatures the PGP support wouldn't be any better than using plain hashs.

@larskanis fair enough. i'll make the signature a url. i'll ping you on the other pr #71  when it is ready to take a final look. BTW, that pr already has code to have the pgp key in the recipe. i'd appreciate it if you can take a look keeping in mind the implementation will change to download the signature from a url.

@jvshahid Great! The only thing I would wish (and @flavorjones above), is that the test is self contained, like the hash verification tests. It could then run offline and would describe, how the signature is expected to be built. But this isn't that important - I could do this later, if you don't have the time.

@larskanis i think you asked two separate questions. Regarding running the tests offline. I think they do, since they use test fixtures (see these lines), this is at least true to the tests I added in #71. Regarding documenting the process of generating signatures in the test I'd like to leave that for later. I spent lot of the company's time on this pr for now. I might do this later on my spare time.

Closing, as this has been superseded by #71  and  #74


feat: Implemented cache API

Implemented cache service.

Codecov Report
Base: 33.03% // Head: 31.93% // Decreases project coverage by -1.09% :warning:

Coverage data is based on head (d8cda47) compared to base (71f40cf).
Patch coverage: 1.57% of modified lines in pull request are covered.

:exclamation: Current head d8cda47 differs from pull request most recent head 6a1cc35. Consider uploading reports for the commit 6a1cc35 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #703      +/-   ##
==========================================
- Coverage   33.03%   31.93%   -1.10%
==========================================
  Files         126      129       +3
  Lines       13972    14475     +503
==========================================
+ Hits         4615     4623       +8
- Misses       8935     9429     +494
- Partials      422      423       +1

Impacted Files
Coverage Δ

api/server/v1/marshaler.go
8.73% <0.00%> (-1.20%)
:arrow_down:

server/metadata/database.go
93.93% <ø> (ø)

server/metadata/namespaces.go
52.19% <0.00%> (-8.70%)
:arrow_down:

server/metadata/tenant.go
28.84% <0.00%> (-1.81%)
:arrow_down:

server/request/request.go
13.36% <0.00%> (-0.39%)
:arrow_down:

server/services/v1/api.go
0.00% <0.00%> (ø)

server/services/v1/cache.go
0.00% <0.00%> (ø)

server/services/v1/cache/sessions.go
0.00% <0.00%> (ø)

server/services/v1/database/query_runner.go
4.58% <0.00%> (+<0.01%)
:arrow_up:

server/services/v1/service.go
0.00% <0.00%> (ø)

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Question about using monaco-vscode-editor-api vs monaco-editor for LSP Integration

Hello team,
First of all, I would like to thank for developing such an amazing library.
I have a question regarding the usage of monaco-vscode-editor-api instead of directly using monaco-editor in the examples. What are the benefits of using it?
Recently, I was trying to use monaco-languageclient to connect monaco-editor with a WebSocket LSP server. However, it was not making any didOpen calls from the client when I was using monaco-editor version 0.50.0. When I changed it to npm<EMAIL_ADDRESS>it started making this call.
Someone else faced the same issue and was able to solve it by using this version: npm<EMAIL_ADDRESS>I would like to understand why this behavior occurs. I tried to find the documentation for the new package but was not able to locate it. Can someone explain why this is happening and when we should use the new package?
I'm unable to find the documentation for the monaco-vscode-editor-api package. Can you please point me in the right direction?
Thank you for your help!

i cant answer your question but the package is at https://github.com/CodinGame/monaco-vscode-api

the monaco-editor package contains the actual code of monaco-editor, which is extracted from the VSCode codebase, going through an intense treeshaking.
monaco-vscode-api also use the VSCode codebase widely, including what monaco-editor includes and much more
At some point, we were using the offical monaco-editor, which we "patched" to restore the treeshaken part, but it was really complicated to use and had a lot of downside (doesn't work well with pnpm for instance)
Now, we don't rely on the monaco-editor package at all, and bundle everything ourselves in the monaco-vscode-api package.
The @codingame/monaco-vscode-editor-api package just exposes the monaco-editor api bundled in monaco-vscode-api. If you install monaco-editor you just get another totally independent version of monaco-editor.

@CGNonofr Thanks for the detailed explanation!
One thing that is not clear to me is: when I use monaco-editor directly, it doesn't make a didOpen call, but when I use @codingame/monaco-vscode-editor-api, it does make the didOpen call. Can you explain why this is happening? Are we doing something in this package that's causing that call? In the older version of monaco-editor, it used to make didOpen call.
One more question I have: We're already installing the @codingame/monaco-vscode-editor-api package so I think we don't need to install the "vscode": "npm<EMAIL_ADDRESS>package separately. Am I right?

One thing that is not clear to me is: when I use monaco-editor directly, it doesn't make a didOpen call, but when I use @codingame/monaco-vscode-editor-api, it does make the didOpen call. Can you explain why this is happening? Are we doing something in this package that's causing that call? In the older version of monaco-editor, it used to make didOpen call.

As I said, if you install/use monaco-editor, it has absolutely nothing to do with monaco-vscode-api or monaco-languageclient, so nothing you can do with it will have any effect on your monaco-editor

One more question I have: We're already installing the @codingame/monaco-vscode-editor-api package so I think we don't need to install the "vscode": "npm<EMAIL_ADDRESS>package separately. Am I right?

It's probably not required to work but I would still recommend having as direct dependency anything you use directly in your code

Yes, I understand that both are different packages. In the examples, we install the monaco-vscode-editor-api as an alias to the monaco-editor package, right? My question is: when I install it using npm i monaco-editor, the client doesn't make a didOpen call, and none of the LSP features work. However, when I install it using npm install monaco-editor@npm:@codingame/monaco-vscode-editor-api, everything works fine. Do you have any idea why this behavior occurs?

It seems there is a misunderstanding here.

we install the monaco-vscode-editor-api as an alias to the monaco-editor package, right

I'm not sure you understood it the right way: it doesn't mean monaco-vscode-editor-api links to monaco-editor, it means monaco-editor links to monaco-vscode-editor-api. The official monaco-editor is NEVER involved here.

Ok, got it now! Thanks you so much for the help!


Immutable setIn is broken with more than 32 elements in an array.

This PR fixes an issue introduced in #3692 where the mergeLists method in setIn.js for immutable.js was updated due to mergeDeepWith being removed as a List function in<EMAIL_ADDRESS>Unfortunately this change introduced and error in which arrays with more than 32 elements were behaving unexpectedly since the new way of doing it didnt use ordered maps, instead just calls toMap(), which causes the merging to lose order with more than 32 elements due to optimizations in immutable.js. After 4.0.0-rc.5, the mergeDeepWith-method is exported as a global export instead of being attatched to Map, and List. This PR uses the global export version 4.x and uses the old way of merging for users with 3.x. I also added a test with long arrays for immutable setIn.
This PR should fix #3791
@erikras @gustavohenke can this be merged fast? Its pretty important since all long FieldArrays are currently broken.

Codecov Report

Merging #3803 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master   #3803   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files          70      70
  Lines        1593    1597    +4
======================================
+ Hits         1593    1597    +4

Impacted Files
Coverage Δ

src/structure/immutable/setIn.js
100% <100%> (ø)
:arrow_up:

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 216bffa...bfac461. Read the comment docs.

@erikras is it possible to allow the testfile for setIn to be longer than 250 lines so codeclimate will accept it? Or should I move the test to a separate file?

 I just encored this problem and I was writing an issue :D waiting for solution

Published in v7.2.2.


Look up patient state from patient zip code

Is your feature request related to a problem? Please describe.
The RADx spec allows senders to provide a patient zip code, but no state. Currently, we require patient state to be entered for proper message routing.
Describe the solution you'd like
We need to be able to populate patient state from patient zip code, in order to meet the RADx data spec.
Additional context
Some example messages are located in keybase: prime_dev_ops/sender_info/Intrivo

Hey team! Please add your planning poker estimate with ZenHub @brick-green @greene858 @jbiskie @jorg3lopez @MauriceReeves-usds @oslynn @TomNUSDS

Blocker for moving Intrivo forward. @MauriceReeves-usds to look into smarty streets

@MauriceReeves-usds looking into smartystreets this sprint.

If it's JUST zip->state, that's a pretty small table since the zip 3-digit prefix determines the state.
See: https://en.wikipedia.org/wiki/List_of_ZIP_Code_prefixes
The layout is also in prefix ranges. E.g.  California is 900-961, so the table is likely ~60 rows (AP and discontinued are in there)

At this point in time we need to unblock API senders using RADX MARS so we're moving ahead without SmartyStreets. We will revisit a feature for SmartyStreets in the near future.

Code completed. Need to write the PR next.

of course things got tricky at the end. One of the smoke tests is failing but I can't quite figure out why. Gonna pair with some other engs tomorrow to get it sorted out.

Lookup mapper was failing and has now been fixed. Based on our discussion in slack, I had to make patient state an optional field. Writing up PR now

Merging to master. Here are the schemas that will be affected:

direct-careevolution-covid-19
direct-hca-covid-19
hl7-detect-covid-19
hl7-hcintegrations-covid-19
hl7-lifepoint-covid-19
hl7-mns-covid-19
hl7-prescryptive-covid-19
hl7-primary-covid-19
hl7-signetic-covid-19

The functionality is such that a state value will be filled in based on the zip code only if the state is sent in blank. @sarahnw @BerniXiongA6 Do we need to communicate with any senders on this?

@brick-green This is awesome! I'll defer to @sarahnw on whether to communicate this to senders. Ideally, it's good practice to close the loop on requests or issues if they seem significant enough to share outside of release notes (otherwise, we're publishing monthly release notes on the RS website).


Edit action request payload mistakenly includes fields where are disabled and non-visible

Describe the bug
When I have explicitly set a property to isDisabled: true and isVisible: { edit: false }. The request payload still included the properties.
Installed libraries and their versions
    "admin-bro": "^3.0.0-beta.8",
    "@admin-bro/express": "^3.0.0-beta.2",
    "@admin-bro/typeorm": "^1.0.1",

To Reproduce
Steps to reproduce the behavior:

Disable a fieldoptions: {
  properties: {
    name: { isDisabled: false, isVisible: { edit: true } },
    updatedAt: { isDisabled: true, isVisible: { edit: false } },
  }
}

Log request payloadACTIONS.edit.before = [logRequestPayload]

async function logRequestPayload(request: ActionRequest, context: ActionContext) {
  console.log(request.payload)
  return request
}

Go to the record edit page, update name from a to b, and then click Save.
Got log:{
  name: 'b',
  updatedAt: '2018-08-01T16:48:39.025Z'
}

Note the updateAt is actually the pre-existing value before this update.

Expected behavior
When a field is set to isDisabled, I'd expect it will be excluded from the form payload.
I.e. request payload from above should be as below instead
{
  name: 'b'
}

Screenshots
Can be provided when needed.
AdminBroOptions with schema
@Entity()
export default class User extends BaseEntity {
  @PrimaryGeneratedColumn({ type: 'integer', name: 'id' })
  public id: number

  @Column("text", { name: "name" })
  public name: string;

  @Column('timestamp with time zone', { name: 'updated_at' })
  public updatedAt: Date
}

const adminBroOpts: AdminBroOptions = {
  resources: [{
    resource: User,
    options: {
      properties: {
        id: { isId: true },
        updatedAt: { isDisabled: true, isVisible: { edit: false } },
      }
    }
  }]
}
ACTIONS.edit.before = [logRequestPayload]
const adminBro = new AdminBro(adminBroOpts)
const router = buildRouter(adminBro)
app.use(adminBro.options.rootPath, router)

function logRequestPayload(request: ActionRequest, context: ActionContext) {
  console.log(request.payload)
  return request
}

Desktop (please complete the following information if relevant):

OS: [e.g. iOS] mac
Browser [e.g. chrome, safari] chrome

I could be missing some doc. Please let me know if I am doing anything wrong.
Thanks for helping me out =]

I did that (striping disabled) in v3.1 and immediately I brought that back :)
Everything because there are cases when the value from disabled is needed.
Let say you have one property component - let say map, and from this component you control values of 2 components: lat and lng. These 2 components are 'disabled' because user shouldn't change their values, but actual value should go to the backend.
Nevertheless, we will implement 'permit' parameter #430

Thanks for the update. Yea introducing new flags is good with me. Just my
two cents, I think the name 'permit' should be reserved for access control.
Maybe a optional filter function as argument can be more future proof?
On Fri, 28 Aug. 2020, 5:06 am Wojciech Krysiak<EMAIL_ADDRESS>wrote:

I did that (striping disabled) in v3.1 and immediately I brought that back
:)
Everything because there are cases when the value from disabled is needed.
Let say you have one property component - let say map, and from this
component you control values of 2 components: lat and lng. These 2
components are 'disabled' because user shouldn't change their values, but
actual value should go to the backend.
Nevertheless, we will implement 'permit' parameter #430
https://github.com/SoftwareBrothers/admin-bro/issues/430
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SoftwareBrothers/admin-bro/issues/547#issuecomment-682136655,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDITT6UM55WKFATWFVBSZ3SC2VBTANCNFSM4P65FWCA
.

yes you are correct we need a different name for that. Thanks


New url wemos drivers

Link has changed to: https://wiki.wemos.cc/tutorials:start

Thanks Peter. I changed the URL.


Has pinot supported subquery?

I find the doc link https://docs.pinot.apache.org/users/user-guide-query/gap-fill-functions
In section: Aggregation/Gapfill/Aggregation
The query supports subquery or nested sql, which means pinot support nested sql now?
SELECT time_col, SUM(status) AS occupied_slots_count
FROM (
SELECT GAPFILL(time_col,'1:MILLISECONDS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss.SSS','2021-10-01 09:00:00.000',
'2021-10-01 12:00:00.000','30:MINUTES', FILL(status, 'FILL_PREVIOUS_VALUE'),
TIMESERIESON(lotId)), lotId, status
FROM (
SELECT DATETIMECONVERT(event_time,'1:MILLISECONDS:EPOCH',
'1:MILLISECONDS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss.SSS','30:MINUTES') AS time_col,
lotId, lastWithTime(is_occupied, event_time, 'INT') AS status
FROM parking_data
WHERE event_time >=<PHONE_NUMBER>000 AND  event_time <=<PHONE_NUMBER>000
GROUP BY 1, 2
ORDER BY 1
LIMIT 100)
LIMIT 100)
GROUP BY 1
LIMIT 100

Currently that is supported only within GAP_FILL. We are evaluating the correctness and overhead of enabling it for general queries. If it works well, we can enable it for all queries.

Same topic as #7043

@Jackie-Jiang  Thanks for your reply, the topic In #7043 is about two years ago, so what about the release plan? We are comparing druid and pinot, druid could support subquery, but pinot has some features which druid doesn't have, so if pinot could support subquery, we will prefer to pinot.

The new multi-stage query engine (with join support) should support sub-query (cc @walterddr to confirm). One concern of directly supporting sub-query in the single-stage query engine is that the outer query is executed on the single broker, which might potentially consume too much resource.
If this is a deal breaker and multi-stage engine doesn't work, we can consider prioritizing this feature request.

sub-query is supported. the problem is this particular sub-query is not supported :-) reason is exactly in GAP-FILL

@walterddr  @Jackie-Jiang  if sub-query is supported or not support fully, could you please provide detail examples in document?

👀

General subquery is supported in multi-stage engine, but not in single-stage engine.
Gap-fill is a special syntactic sugar which uses subquery syntax and only works in single-stage engine.


Add taint and toleration logic to machinepools in instascale

Currently machineset nodes are tainted so that only specified rayclusters will be provisioned on the nodes, this same logic should be added to machinepools.

I'm thinking this could potentially be optional, changes in the sdk/ appwrapper may need to be implemented if we chooose this route.


"code": "capture/video-not-enabled", "message": "[capture/video-not-enabled] Video capture is disabled! Pass video={true} to enable video recordings.

What's happening?
I have follow the document and integrate this package for video recording app. I found that whenever I start recording it is giving me below error.
{"cause": {"message": "[capture/video-not-enabled] Video capture is disabled! Pass video={true} to enable video recordings.", "stacktrace": "com.mrousavy.camera.core.VideoNotEnabledError: [capture/video-not-enabled] Video capture is disabled! Pass video={true} to enable video recordings.
at com.mrousavy.camera.core.CameraSession.startRecording(CameraSession.kt:547)
at com.mrousavy.camera.CameraView_RecordVideoKt.startRecording(CameraView+RecordVideo.kt:36)
at com.mrousavy.camera.CameraViewModule$startRecording$1.invokeSuspend(CameraViewModule.kt:91)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
"}, "code": "capture/video-not-enabled", "message": "[capture/video-not-enabled] Video capture is disabled! Pass video={true} to enable video recordings.", "userInfo": null}
I have added video={true} in the Camera component then also I getting same error again and again.
My package json mentioned below
{
"name": "NewsClips",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"release": "cd android && ./gradlew assembleRelease",
"brelease": "cd android && ./gradlew bundleRelease"
},
"dependencies": {
"react": "18.2.0",
"react-native": "0.73.1",
"react-native-vision-camera": "^3.6.17"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/preset-env": "^7.20.0",
"@babel/runtime": "^7.20.0",
"@react-native/babel-preset": "^0.73.18",
"@react-native/eslint-config": "^0.73.1",
"@react-native/metro-config": "^0.73.2",
"@react-native/typescript-config": "^0.73.1",
"@types/react": "^18.2.6",
"@types/react-test-renderer": "^18.0.0",
"babel-jest": "^29.6.3",
"eslint": "^8.19.0",
"jest": "^29.6.3",
"prettier": "2.8.8",
"react-test-renderer": "18.2.0",
"typescript": "5.0.4"
},
"engines": {
"node": ">=18"
}
}
Reproduceable Code
function App(): React.JSX.Element {
  const camera = useRef(null);
  const [cameraPermission, setCameraPermission] = useState('');
  const [isCamActive, setCamActive] = useState(false);
  const [videoPath, setVideoPath] = useState();
  const [photoPath, setPhotoPath] = useState();

  const device = useCameraDevice('back');

  useEffect(() => {
    (async () => {
      const cameraPermissionStatus = await Camera.requestCameraPermission();
      setCameraPermission(cameraPermissionStatus);
    })();
  }, []);

  const handleRecordVideo = async () => {
    try {
      camera.current?.startRecording({
        onRecordingFinished: video => setVideoPath(video.path),
        onRecordingError: error => console.error(error),
      });
    } catch (e) {
      console.log(e);
    }
  };

  const handleStopVideo = async () => {
    try {
      await camera?.current?.stopRecording();
    } catch (e) {
      console.log(e);
    }
  };

  const initialize = () => {
    console.log('camera initialize');
    setCamActive(true);
  };

  if (device == null) return <ActivityIndicator />;
  if (cameraPermission == 'authorized') {
    return <Text>{cameraPermission}</Text>;
  }
  return (
    <View style={styles.screen}>
      <SafeAreaView style={styles.saveArea}>
        <View style={styles.header}>
          <Text style={styles.headerText}>React Native Camera Libraries</Text>
        </View>
      </SafeAreaView>

      <View style={styles.caption}>
        <Text style={styles.captionText}>
          Welcome To React-Native-Vision-Camera Tutorial
        </Text>
      </View>
      <View>
        <Camera
          ref={camera}
          style={[styles.camera, styles.photoAndVideoCamera]}
          device={device}
          onInitialized={initialize}
          isActive={isCamActive}
          video={true}
        />
        <TouchableOpacity style={styles.btn} onPress={handleRecordVideo}>
          <Text style={styles.btnText}>Start recording</Text>
        </TouchableOpacity>
      </View>
    </View>
  );
}

const styles = StyleSheet.create({
  screen: {
    flex: 1,
    backgroundColor: '#EEF2E6',
  },
  saveArea: {
    backgroundColor: '#3D8361',
  },
  header: {
    height: 50,
    backgroundColor: '#3D8361',
    alignItems: 'center',
    justifyContent: 'center',
  },
  headerText: {
    color: '#ffffff',
    fontSize: 20,
  },
  caption: {
    height: 100,
    justifyContent: 'center',
    alignItems: 'center',
  },
  captionText: {
    color: '#100F0F',
    fontSize: 16,
    fontWeight: '600',
  },
  camera: {
    height: 460,
    width: '92%',
    alignSelf: 'center',
  },
  photoAndVideoCamera: {
    height: 360,
  },
  barcodeText: {
    paddingHorizontal: 16,
    paddingVertical: 20,
    textAlign: 'center',
    color: '#100F0F',
    fontSize: 24,
  },
  pickerSelect: {
    paddingVertical: 12,
  },
  image: {
    marginHorizontal: 16,
    paddingTop: 8,
    width: 80,
    height: 80,
  },
  dropdownPickerWrapper: {
    paddingHorizontal: 16,
    paddingBottom: 16,
    zIndex: 9,
  },
  btnGroup: {
    margin: 16,
    flexDirection: 'row',
  },
  btn: {
    backgroundColor: '#63995f',
    margin: 13,
    paddingHorizontal: 20,
    paddingVertical: 16,
    borderRadius: 8,
  },
  btnText: {
    color: '#ffffff',
    fontSize: 20,
    textAlign: 'center',
  },
  video: {
    marginHorizontal: 16,
    height: 100,
    width: 80,
    position: 'absolute',
    right: 0,
    bottom: -80,
  },
});

Relevant log output
No log available

Camera Device
{
  "sensorOrientation": "landscape-right",
  "hardwareLevel": "full",
  "maxZoom": 10,
  "minZoom": 1,
  "maxExposure": 144,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "supportsFocus": true,
  "supportsRawCapture": true,
  "isMultiCam": false,
  "minExposure": -144,
  "name": "BACK (0)",
  "hasFlash": true,
  "hasTorch": true,
  "position": "back",
  "id": "0"
}

Device
Redmi note 10s
VisionCamera Version
3.6.17
Can you reproduce this issue in the VisionCamera Example app?
No, I cannot reproduce the issue in the Example app
Additional information

[ ] I am using Expo
[ ] I have enabled Frame Processors (react-native-worklets-core)
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

+1

Are you sure you have waited until the Camera is initialized? This error can never occur unless you really don't enable video={true}..

@mrousavy Yes I tested many times with multiple device while recording the video, I face same issue.
For capturing photo I didn't face this issue.

I am running into an identical issue, but with photo={true}. Pulling the props on the camera ref immediately before taking the picture confirms that the photo prop is set to true. But the promise doesn't resolve and throws the capture/photo-not-enabled error, advising passing photo={true} to the Camera element to enable capture.
This error is intermittent and seemingly random. However, when it will occur, the camera often displays as blurry.

Hey! Thanks for reporting this issue.
I've been working the past days on making sure the Camera lifecycle is safely handled and released when needed, so this crash doesn't occur anymore.
I just created a PR for this - can you please this to see if that fixes the issue for you? https://github.com/mrousavy/react-native-vision-camera/pull/2339
If this fixes your issue, please consider 💖 sponsoring me on GitHub 💖 to support me / thank me for building VisionCamera and continuously improving it.
If this does not fix your issue, please clone the repo, check out the branch fix/blackscreen (the PR above), run the Example app, reproduce your issue there and share the adb logcat logs with me (upload to pastebin or gist) so I can investigate this further.
Thank you! 🙏


[BUG] Freezes Foundry When Adding Or Deleting Notes

I upgraded a few months ago from v0.8.9 to the last version of v9 at the time I had issue importing entries from the old Simple Calendar version to 20.0.30. I submitted an issue and you were able to help me launch the importer which failed and closed last time. This worked and I was able to get my calendar entries imported successfully.
My problem is that SimpleCalendar has not worked properly for me since then. When I try to add an entry or edit it this causes Foundry to freeze but not fully, the pause wheel still rotates I just can't interact with anything as if waiting for SimpleCalendar to finish. I've had the console window open and it throws no errors or warnings.
Is there a fix for this? Or Is there anyway I can reset it or clear the cache so as to install the module fresh then import the notes?
Foundry Information

Foundry Version: v9 build 280
Game System: DnD5
Simple Calendar Version: 2.0.30

Browser (please complete the following information):

Browser Tried chrome, operagx, firefox

There shouldn't be any freezing when adding a new note to the calendar. Under the hood notes are just journal entries in Foundry in a hidden folder.
If you want to try from fresh what you can do is this:

Under Simple Calendars configuration go to the Import/Export tab and click the export button. This will generate a file with all of your calendar notes and settings. Save that file somewhere safe.
Still in the configuration go to the Settings tab (the first one) and turn on the setting "Show Notes Folder". You will then need to refresh the page.
Once the page has been refreshed and you are back into your world there should be a new notes folder visible under the Journal Tab. This directory will be called "_simple_calendar_notes_directory".
Under this folder is every note in your calendar, to start fresh you will need to delete all the notes under this directory.
With all the notes deleted you can uninstall the module, though this isn't specifically needed.
Reinstall the module if you did uninstall it.
Open up Simple Calendars configuration and go back to the Import/Export tab.
Under the import section choose the file that you saved earlier.
Click the Import button and it will start importing everything back into your world.
Once it is done then you will have everything set back up.

Hopefully that helps any issues you are seeing.
If not I would be curious if the lag happens when Simple Calendar is the only module active (to rule out other modules interfering)

Thanks for the support you're always super helpful. Looks like a module compatibility issue. I disabled all of the modules and tried SimpleCalendar solo and had no problems. Could you please see the screenshot below with my list of active modules and let me know if you see anything there that may be causing it?

Update:
I used the fantastic module Find The Culprit to locate the problem module (great little module works like magic).
Ultimately the problem module was Pin Cushion.
This mostly resolved the problem, however I still have about a 2-3 seconds of lag remaining when Permission Viewer, dScryb, and Dungeon Draw modules are activated but you can live with it.
Not sure if you can do anything about this or if it's an issue that the problem module developers will need to sort out but thanks for the help.

Sorry got busy with a few things.
I don't see this issue in version 10 of foundry (haven't set up a version 9 instance) with any of those modules so either is issue was fixed or there is something else going on.
Do you have a large number of notes in the calendar?

I've been running sessions in Foundry for a couple years now at least once a week so I indeed have a lot of notes. Simple Calendar is my main method of keeping track when and what happened.

Going to close this issue!


Understanding performance test

Hello. Thanks for the amazing repository!
I built the project and it works great.
I am trying to understand the performance test.
I would be glad if you can elaborate about what was measured.
Looking at Measure.swift:
func 🎬🤚() {
       🏷(for: index, with: "end")

       let beforeMeasurement = getBeforeMeasurment(for: index)
       let currentMeasurement = measurements[index]
       if let startTime = currentMeasurement["start"],
           let endInferenceTime = currentMeasurement["endInference"],
           let endTime = currentMeasurement["end"],
           let beforeStartTime = beforeMeasurement["start"] {
           delegate?.updateMeasure(inferenceTime: endInferenceTime - startTime,
                                   executionTime: endTime - startTime,
                                   fps: Int(1/(startTime - beforeStartTime)))
       }

   }

startTime is the moment that the image is received. It is a pixelBuffer, (640x480) image.
endInferenceTime is the moment when the inference was stopped, receiving a (14, 96, 96) heatmap from the CPM model.
beforeStartTime is the start time of the previous frame. Why do we measure it?
If so I understand what is:

inferenceTime: endInferenceTime - startTime - from pixelBuffer, (640x480) image to (14, 96, 96) heatmap .
executionTime: endTime - startTime - from pixelBuffer, (640x480), including post-process (convertToPredictedPoints, and moving average filter. BTW - what is this filter?)

But I don't understand what is fps: Int(1/(startTime - beforeStartTime))) - why is the beforeStartTime relevant?
To summarize, my questions are:

Did I understand correctly the inferenceTime and executionTime?
Why is the fps calculated with beforeStartTime?
Why do you have moving average filter in the post-process code? Is it instead the gaussian_filter in the original CPM code?

Thank you very much.

@yonatanbitton

startTime is the moment that the image is received. It is a pixelBuffer, (640x480) image.
endInferenceTime is the moment when the inference was stopped, receiving a (14, 96, 96) heatmap from the CPM model.
beforeStartTime is the start time of the previous frame. Why do we measure it?

Exactly right

inferenceTime: endInferenceTime - startTime - from pixelBuffer, (640x480) image to (14, 96, 96) heatmap .

Actually in our inferenceTime, it includes not only inference step but also pre-processing step because Apple's Vision framework is worked as the way.

executionTime: endTime - startTime - from pixelBuffer, (640x480), including post-process (convertToPredictedPoints, and moving average filter. BTW - what is this filter?)

The output of CoreML inference is heatmaps (not points), so we should convert it into points. Including converting into points with inferenceTime is executionTime. So I think your explanation is right.

moving average filter. BTW - what is this filter?

This is a kind of smoothing method in signal processing.
You can check the wiki(https://en.wikipedia.org/wiki/Moving_average if you want more detail!
So..

Did I understand correctly the inferenceTime and executionTime?

Yes

Why is the fps calculated with beforeStartTime?

For considering the camera video's fps. I set the fps of camera under 60. So the real fps shouldn't be under 60. And I wanted to check the real fps.

Why do you have moving average filter in the post-process code? Is it instead the gaussian_filter in the original CPM code?

Oh, you also saw the original code! At that time, I had three thinks.

The gaussian filter needs a lots of calculations in mobile device
I want to implement guassian filter without OpenCV but with Accelerate or Metal framework. But I was busy a little bit.
There is a low resolution issue in the model.

I hope you helpful.

Thank you for the answer :-)
Regarding the FPS:
I’d like to understand the relation between ‘Total Time’ and ‘FPS’ described in the tables here. Taking cpm/11-pro as an example, the total runtime is 23 msec (~43 fps) but the FPS for that setting is 15. You mentioned that you limited the camera to 60 FPS, so why don’t you get an FPS of 43 = min(43, 60) in this case?
Is it because of background tasks running on the device, or a different reason?