Using it with react_templates

Hello,
I try to use this library in my application and I have a little issue. Indeed, I am using the (https://github.com/wix/react-templates)[react templates library] and it is using the extension .rt and not the .js or the .jsx extension. And I do not find how-to configure .i18nrc in order to change this pattern.
Cheers,

Hi @jenseng,
i have a fix for this problem.
The AbstractProcessor uses a pattern to get files which could be configured (through the options).
But, in the i18nliner checks comment (file i18nliner-js/dist/lib/commands/check.js) you omit to transmit the configured pattern to the Processor in order to go through files you want:
      pattern: this.options.pattern,

In this case @ekaradon should call i18nliner export --pattern='*.rt' to make it work in his specific react templates context.
I create the https://github.com/jenseng/i18nliner-js/pull/18 PR in the i18nliner-js project to fix that.
Cheers

@fraisse Thanks for the PR, I'll check it out!
@ekaradon Though even with that PR, I suspect react-i18nliner won't work in its current form with react-templates, since it preprocesses JSX, not HTML (I'm fairly certain both esprima and acorn would choke on .rt, and recast definitely would not generate valid .rt). Also, react-i18nliner uses the same processor for both regular .js files as well as .jsx (since JSX is a superset of JS). So I think we'd probably need a brand new new pre-processor for .rt files.
That said, you should be able to use i18nliner-js today via javascript expressions, e.g.

{I18n.t("Hello World")}

Note that you'll want to run the i18nliner check and export commands on the javascript files generated by react-templates, not on the original .rt files.

@jenseng Thanks for the answer,
Indeed, it does not work. It is stuck with an error complaining about a malformed string:
Error: Line 3: Adjacent JSX elements must be wrapped in an enclosing tag
[...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:7736
           throw e;
   at throwError ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:2819:21)
   at parseJSXElement ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:7226:13)
   at parsePrimaryExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:3590:20)
   at parseLeftHandSideExpressionAllowCall ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:3683:61)
   at parsePostfixExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:3723:20)
   at parseUnaryExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:3790:16)
   at parseBinaryExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:3880:16)
   at parseConditionalExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:3940:16)
   at parseAssignmentExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:4193:16)
   at parseExpression ([...]/node_modules/react-i18nliner/node_modules/recast/node_modules/esprima-fb/esprima.js:4250:16)

But I am not sure about what it would take to make it work and what need to be done. Is it possible to get further explanations about the pre-processing thing?
Also, I would like to know what the pre-processing outputs. I first thought that it was transforming the balise from:

 My title

to:
{i18n.translate("my_title")}

But if such was the case, It would works with esprima without complaints.

Hello,
Would it be possible to get some clues about this topic? I am hesitating between using react-intl8 and this project but I would prefer to use this last one because the syntax is nicer. However, I am a bit stuck with this error of compilation and as I have no idea about how long it would take to support react-templates, I am in the dark.

Hello,
I just met this complication on working on my project.
What is the fix planning ?
Thanks you for your work !

@ekaradon / @ailonn: sorry for the delayed response, I've had a busy couple weeks...
react-i18nliner parses javascript files to find JSX elements with translate attributes. It expects the file to be valid JSX, and by default it uses esprima to do the parsing (though you can also use acorn). Although react-templates are similar to JSX, they are not equivalent, and thus will not be handled correctly by esprima or acorn. Key differences include class vs className, case-sensitivity of properties, attribute quoting, JSX's requirement that adjacent elements be nested in another one (that's the error you're seeing), etc.
So in its current state, there's not currently any way to use react-i18nliner on an .rtl file. And unfortunately, I don't have any immediate plans to support it. That said, I'd be happy to entertain pull requests that do add support. Though ideally, I think it would make even more sense as a separate NPM module (e.g. react-templates-i18nliner), and I'd be happy to provide some direction on how to go about it. react-templates uses cheerio to parse the HTML in your .rtl file into a tree, and then generates javascript from it.
So for react-templates-i18nliner, it seems like you would want to:

Build a pre-processor that loads the DOM tree from your .rtl file via cheerio (just like react-templates does), and converts components w/ translate="yes" into I18n.ComponentInterpolators (see tests here). Ideally it would output .rtl back out, which react-templates would then covert into .js. This pre-processor would need to be used in your build process before react-templates runs.
Build an i18nliner processor (using the pre-processor above) that extracts strings from those elements, so that they are picked up when you run i18nliner check or i18nliner export.

The pre-processor would have a lot of parallels to react-i18nliner's, the fundamental difference being it would operate on a cheerio tree instead of an esprima AST.
All that said, you should be able to use i18nliner as-is (e.g.
{I18n.t("My Title")}
), provided that you are running i18nliner check on the files after they're converted from .rtl to .js. From your error, it sounds like you're running i18nliner on the original .rtl files, which won't work due to the aformentioned incompatibilities between .rtl and .jsx. I don't know how you're building your assets (grunt/gulp/webpack/broccoli), but you'd want to point i18nliner at the intermediate or final .js files (since esprima/acorn cannot parse .rtl files). So you should probably 1. skip any hacks you have to process .rtl files and 2. tweak your .i18nrc to point at the files that have already been compiled by react-templates (maybe a tmp, dist, or public dir), e.g.
{
  "directories": ["dist"],
}

I hope that helps!

@jenseng, thanks for your answer. It did help me to see more clearly how it works.
However, after thinking about it, I have decided to restart the project using only JSX through function which is imported from a different file in order to keep my definition of html outside of the component itself.
Indeed, react-templates was giving me some real headaches using it with different libraries like yours, react-router or even worse was giving me new bugs that pure JSX have not (like ignoring setting disabled).
Anyway, the problem is solved for my part and I will be using your library. I let you choose if you want to close this ticket or let it opened for newcomers.
Cheers!


GitHub repositories processing issue

Hi,
I have about 7 repositories. Each time that I perform an "Update GitHub Repos", it says that all 7 of the repositories have been processed successfully. However, their are only 4 git repos visible on my sourcerer profile. Also the analysis on my Sourcerer profile is based off of those 4 repositories only. I am wondering why all the other repository stats, commits etc are not being fetched?
Sourcerer profile: https://sourcerer.io/tech-overlord
Regards,
Ali

Also having the same issue, It can not process my C repo, reisraff/cim, that has some commits, and it does not count since it is not processed.

I'm facing the same problem, I have five repo, but It is showing just one. I tried to create a new account, but It has happened the same problem.

Same here with GitHub.
First run: 8 repos ok, 24 skipped.
After couple of runs: 1 repo ok, 31 skipped.
Maybe a GitHub API limitation?

Again, same issue here.

Yes same even I have 2 public repo but my jupyter lab repository does not seem to be getting processed


e2e: add smoke test for running snaps

As a part of cross-distro effort, we are trying to make sure that snapd works well in WSL environments. We now have WSL-specific release tests that check new snapd releases in Ubuntu 22.04 and Ubuntu 24.04 as running inside WSL. We want to complement this with a small smoke test that ensures subsequent WSL releases do not regress running snapd.
The test itself installs the hello snap from the store and runs it.
Jira: https://warthogs.atlassian.net/browse/SNAPDENG-24157

I've closed this in favor of https://github.com/ubuntu/WSL/pull/497 which is opened from the same repository.


Simple date format each time new object creation removed

What is the purpose of the change
AcceLogFilter message creation and last and current check was performing by each time simple date formate object creation. In this version of code I have use the ThreadLocal for each thread wise to create simple date format object instead of each call
https://github.com/apache/incubator-dubbo/issues/3026
Brief changelog
XXXXX
Verifying this change
Runnig UT and verifying generated access log.
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a [GITHUB_issue] (https://github.com/apache/incubator-dubbo/issues/3026) field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #3027 into master will increase coverage by 0.04%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##           master    #3027      +/-   ##
==========================================
+ Coverage   64.24%   64.29%   +0.04%
==========================================
  Files         584      584
  Lines       26056    26060       +4
  Branches     4562     4562
==========================================
+ Hits        16740    16754      +14
+ Misses       7132     7125       -7
+ Partials     2184     2181       -3

Impacted Files
Coverage Δ

...a/org/apache/dubbo/rpc/filter/AccessLogFilter.java
71.27% <57.14%> (+0.16%)
:arrow_up:

...ache/dubbo/remoting/p2p/support/AbstractGroup.java
45.45% <0%> (-11.37%)
:arrow_down:

...onfig/spring/extension/SpringExtensionFactory.java
78.04% <0%> (-7.32%)
:arrow_down:

...he/dubbo/registry/multicast/MulticastRegistry.java
63.79% <0%> (-1.73%)
:arrow_down:

...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java
66.66% <0%> (+0.83%)
:arrow_up:

.../exchange/support/header/HeaderExchangeServer.java
60.68% <0%> (+0.85%)
:arrow_up:

...rg/apache/dubbo/common/timer/HashedWheelTimer.java
62.36% <0%> (+1.74%)
:arrow_up:

...dubbo/remoting/exchange/support/DefaultFuture.java
69.79% <0%> (+2.01%)
:arrow_up:

...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java
79.41% <0%> (+2.2%)
:arrow_up:

...e/dubbo/remoting/transport/netty/NettyChannel.java
56.47% <0%> (+2.35%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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

If we can move all date time format into org.apache.dubbo.rpc.filter.AccessLogFilter.LogTask, then we can safely make the formatter static, since it is now running on a single thread.

If we can move all date time format into org.apache.dubbo.rpc.filter.AccessLogFilter.LogTask, then we can safely make the formatter static, since it is now running on a single thread.
@beiwei30
I am planning for move FILE_DATE_FORMATTER to LogTask level (as you are suggesting, i also beleive it will make sense) as this is created once for each log thread(which is currently single threaded). as of now to simply intiale SimpleDateFormat once per LogTask thread instance as it is created (as of now it is not served from thread pool, when we have thread pool can change it accordingly) and MESSAGE_DATE_FORMATTER to RpcContext level. Would you correct me if this approach has problem. Any guidance will be appreciated.

Hi all, would you care to review it.

@beiwei30, would you suggest here me any thing ?

@khanimteyaz
Hi,
I have not found a LogTask in AccessLogFilter before. After I looked at the code, I personally thought that it would be fine to put all the log output into the LogTask.
It make sense writing to log through this thread, but just to confirm you mean writing to log only, not the log message creation part?
I think we can use the newSingleThreadScheduledExecutor to create a timed task. This way we can just create a SimpleDateFormat once (bind to a LogTask).
How do u think?
Performing all write through single instance by **newSingleThreadScheduledExecutor ** is good approach and I am with you on this, only thing which is stoping me how in the case of writing pending log message in case of jvm shutdown. I think jdk provide a way for this and using the scheduleWithFixedDelay of ScheduledExecutorService.

@carryxyh
Do you feel, the approach I am taking is right or would you suggest me something else here on the implementation?

@khanimteyaz
IMO, the log message will create and log in schedule thread.

how in the case of writing pending log message in case of jvm shutdown

What I may understand about this sentence is not very accurate. What you mean is, how do you write the pending information to a file at the end of the JVM? I think we can let the scheduled thread daemon.

Do you feel, the approach I am taking is right or would you suggest me something else here on the implementation?

I think we should change the logQueue to let us create log message in another thread.
Maybe like this: ConcurrentMap<String, Set<LogData>> logQueue. And then, our scheduled thread just check the queue regularly. This is my thought. After that, we can promise our log is print in only one thread and make the SimpleDateFormat single instance.

@carryxyh

What I may understand about this sentence is not very accurate. What you mean is, how do you write the pending information to a file at the end of the JVM? I think we can let the scheduled thread daemon.

I am think I was wrong on the pending log message, thanks for correcting me and helping out here. Let the schedule thread to finish the pending task 😄
Regarding

I think we should change the logQueue to let us create log message in another thread.
Maybe like this: ConcurrentMap<String, Set> logQueue. And then, our scheduled thread just check the queue regularly. This is my thought. After that, we can promise our log is print in only one thread and make the SimpleDateFormat single instance.

I will make the changes accordingly.

@carryxyh I have made the changes but builds failing due to travis log limit.

Hi, seems like your pr has many commits of other persons.
Would u pls clear your pr first? I saw that this pr has changed about 600 lines code.
About the ci, I will have a look.

Hi, seems like your pr has many commits of other persons.
Would u pls clear your pr first? I saw that this pr has changed about 600 lines code.
About the ci, I will have a look.

Sure. on it.

I will create a new branch where, would raised all the changes with all recommendation

@carryxyh  created another PR for the same https://github.com/apache/incubator-dubbo/pull/3080
As I am not sure how to reduce number of commit from existing PR, so created a new one. Sorry for the inconvenience.
Would request you to guide on this, how to reduce or clear other's commit from existing one, so that next time I can avoid creating separate PR.


Fixed a memory leak while resising image

This actually caused memory warnings , which forced app exits

Looks good. Merged! :+1:


Undeferring a deferred function type handler can change its prototype

Running the following in ch will print false rather than true as expected:
function testreturner(){
  return function test(){};
}

var t = testreturner();
Object.defineProperty(t, "a", {value: 1});

var t2 = testreturner();
var o = {};
Object.setPrototypeOf(t2, o);
Object.defineProperty(t2, "b", {value: 1});
WScript.Echo(o === t2.__proto__);

Looks like this might have been introduced by f3c5f9f215

Ah. Looks like this will be resolved by moving to PathTypeHandler for function objects that have properties added to them. I'll keep this open for now and then close it once the PathTypeHandler change goes in.

This has been fixed.


Admin login should redirect to Messages panel

After admin login, redirect to Messages page.
Currently the user is redirected to admin page.

I fixed it


Add CLI argument to dump data before HTML report

It would be useful to have a new CLI argument in execute command
$ nreport execute --debug

This would enable futher logging (in future PR) and would dump the data and report configuration (in the local storage) before HTML/PDF generation.
Why do we need this you may ask! Because in many situations when developing we need a way to check what's wrong with the data. We sometimes also need to dump it to be able to re-generate a preview with the same datasets (that's exactly what I did to build the preview script).

[!NOTE]
https://github.com/NodeSecure/report/pull/374 need to be merged before starting any PR

it seems to be clear for me, can you assign me on it please ?


deps: updates wazero to 1.0.0-pre.3

This updates wazero to 1.0.0-pre.3.
Notably, this improves performance and changes host function syntax.
NOTE: v1.0.0-pre.3 is not yet released, so wait before merging.

@pkedy benchmarking this makes a huge difference for guests that make a lot of host calls, for example, one benchmark went from over 10us to less than 4 per request. the new pre-release will be out in a couple days so I'll update accordingly.


[TheForest] Covalence don't call OnUserChat because player it's null

Step 2: Describe your setup

Oxide version ("latest" is not a version): v2.0.3248 ( not updates affected to TheForest at latest )
Game name and version: TheForestDedicatedServerv0.60 and TheForest client v0.60
OS version: Windows2012Server( server) Windows10 ( client )

Step 3: Describe the problem
At try to get hook on plugin, can't on event named OnUserChat because variable iplayer it's null.
Steps to reproduce:

Type text on game chat
Create plugin that extend plugin method named OnUserChat
Modify Core to test it

Observed results:
After put log on core OnPlayerChat method, i get NULL message on iplayer variable, that explains why can't hook named method OnUserChat
Expected results:

Can Hook method named OnUserChat on new Plugin files

Relevant code (if applicable):
Edited core code : TheForestCore.cs
if (iplayer != null) return Interface.Call("OnUserChat", iplayer, evt.Message);
else
{
  Debug.Log($"[CORE][EVENT]: OnPlayerChat NULL IPlayer");
  return null;
}

Step 4: Additional information
Other references:
Maybe it's related issue to : #1104 , [TheForest] Covalence can't ban player by Username, or ID

Should be resolved in the latest commit and upcoming snapshot.

keep my eyes open, thank you @lukespragg


Added corpus reader for n-gram frequencies #845 #884

@stevenbird I've made the changes discussed in https://github.com/nltk/nltk/pull/884. I think you'll find this version cleaner.
With regards to lazy loading, I was under the impression that wrapping CrubadanCorpusReader in
LazyCorpusLoader in corpus/init.py is all I needed; or did you mean I should modify the code to use nltk.data.LazyLoader in place of open() somehow? (I was only able to find an example in nltk/corpus/reader/plaintext.py)

@stevenbird I've taken the liberty moving textcat.py to nltk/classify (https://github.com/nltk/nltk_contrib/pull/16) and modifying it a bit to account for changes in crubadan.py

Thanks @avitalp. I'll merge this ahead of more testing and review.

Thank you for the helpful hints @stevenbird! I've made the changes and submitted a PR (https://github.com/nltk/nltk/pull/893)


[CARBONDATA-2264] Support create table using CarbonSource Without TableName

When we run the sql:
sql("create table create_source(intField int) USING org.apache.spark.sql.CarbonSource")
It will throw exception:
org.apache.spark.sql.AnalysisException: Table creation failed. Table name is not specified;
Only run:
sql("create table create_source(intField int) USING org.apache.spark.sql.CarbonSource") options('tableName'='create_source')
Can work success.
CarbonData should need not  set tableName in options.
We should fix the problem.
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4442/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3209/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3211/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4444/

Retest this please.

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/3964/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3213/

Retest this please.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4451/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/3966/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3218/

@jackylk Please review it.

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3274/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4503/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4010/

@jackylk Please review it again.

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3329/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4555/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4053/

@jackylk done, please handle it.

LGTM


Add check for disabled CSRF protection in Spring

This query checks for CsrfConfigurer.disable() method invocation, which disables Spring CSRF protection and most likely makes the application vulnerable to Cross-Site Request Forgery (CWE-352).
For more details, see: https://docs.spring.io/spring-security/site/docs/current/reference/html5/#servlet-csrf-configure-disable

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Dismiss from environment

In iOS 15+ the way to dismiss a sheet/modal is to use  @Environment(\.dismiss). In previous versions it was @Environment(\.presentationMode) which is now deprecated.
I am not sure what would be the best approach to implement the API in the Backport for that, any idea?

Yep I actually have that on my list. Not difficult at all. It’s almost done cause I previously did my own presentation dismiss for standard UIKit presentation. I’ll get this in for sure 👍

This is now completed and will be released later tonight.

Closing, as this is now included in version 1.2.0


Raw/TO_JSON method

is there a method to access the raw JSON response in the module, especially for a domain object?

I will look at adding a TO_JSON() method to Net::RDAP::Base, so you can call JSON::encode($rdap) and have it work. In the meantime here are some alternatives:
1. Convert the object to a hash and then encode a reference to that hash:
my %domain = %{Net::RDAP->new->domain("example.com")};
my $json = JSON::XS->new->encode(\%domain);

2. Use Net::RDAP::Registry with Data::Mirror:
my $json = Data::Mirror::mirror_str(Net::RDAP::Registry->get_url(Net::DNS::Domain->new("example.com")));

Thanks for that.  Tying in with my other question you answered already, it looks like the corollary to the second option for preserving the raw registrar response would still involve iterating on the array created using the links() method to ID the element (e.g., $link) with rel->'relative' and then call Data::Mirror on that:
my $json = Data::Mirror::mirror_str($link->href);

Apologies for all the questions, I'm just trying to figure out whether I'm better of encoding as JSON or pulling a second response to treat as raw unless/until you implement TO_JSON() and making sure I understand the methods in the module helps a ton.  Thanks so much.

I've just released Net::RDAP v0.22 which adds the TO_JSON() method to Net::RDAP::Base.

Hey thanks a ton!


function-based web app

tbd

i am unclear about the risks and advantages of <input type=<type>> and <input type="<type>">

i am not sure about the risks/advantages of <input type=<type>> <> <input type="<type>">


Pull in webview guest resizing patch (from upstream)

Patch:
https://github.com/electron/electron/pull/7658
Per:
https://github.com/brave/browser-laptop/issues/586#issuecomment-256070454

no longer applies


Limited iteration

Something B+ trees are used for a lot is to answer the question "which items satisfy p >= start and p < stop" - this I reckon should be possible to answer with the blist implementation but is not possible via the APIs exposed it seems?
The usecase is using blist to make a database indexing engine.

The obvious API would be o[start:stop]

blist supports all of the operations a regular list supports, including o[start:stop].

start and stop in that case aren't keys, they're indexes. You can't go L['foo':'foobar'] for example.

blist is heavily inspired by the B+ tree, but it's not a B+ tree.  There are no keys, and there's no guarantee that the items in the blist are sorted.
You could use the sortedlist class that comes with blist to accomplish what you want, though, by making use of the .bisect_left and/or .bisect_right methods.  Based on your use case, you might want to consider using a proper B+ tree implementation; it might be a better fit.

Thank you for your help! blist.sortedlist does indeed seem do the trick.
It may be a good idea to find a B+ tree implementation first, either in C or Python. Would you happen to know one?

One more question, how is performance of the following:
def query(L, v, limit=None):
  i = L.bisect_right(v)
  i_u = None if limit is None else i + limit
  return L[i:i + limit]

ISTM it will be O(log n)?

Glad I could help.  The performance would be O(log**2 n) in the worst case: bisect_right will do O(log n) lookups and each lookup can take O(log n) in the worst case.  If you don't insert or delete things from the list (or do so extremely rarely), then the lookups will take only O(1) and the overall performance will be O(log n).
I don't know of a good B+ tree implementation offhand.


Exception encountered while listening to EventStream, Microsoft.Azure.WebJobs.Script.Grpc: Object reference not set to an instance of an object.

A function I am upgrading to the new dotnet-isolated model is failing when I run it, and I have narrowed down the code to a service registration by the IdentityModel library.
I have pasted the full output of func host start --verbose below, but the main error seems to be:
Exception encountered while listening to EventStream
Microsoft.Azure.WebJobs.Script.Grpc: Object reference not set to an instance of an object.
I appreciate it is difficult to know where the fault may lie, but I can tell you that we use this exact code in an ASP.NET Core applications, various Web Jobs and I have tested myself today by creating a very simple Generic Host Console app and can confirm it works in all cases, but not when I use it in the functions app.
If I comment just these lines, then the error goes away:
            services.AddAccessTokenManagement(options =>
            {
                options.Client.Clients.Add(MessagingClient.ClientId,
                                           new ClientCredentialsTokenRequest
                                           {
                                               Address = tokenUrl,
                                               ClientId = MessagingClient.ClientId,
                                               ClientSecret = clientSecret,
                                               Scope = "messaging"
                                           });
            });

The source code for the AddAccessTokenManagement method is here: https://github.com/IdentityModel/IdentityModel.AspNetCore/blob/3.0.0/src/AccessTokenManagement/TokenManagementServiceCollectionExtensions.cs
Is there anything here that could be conflicting with the Azure Functions service registrations or any obvious reasons this could cause the failure?
My other dependencies resolve fine, and as said, as soon as I comment this out, I no longer get the error. Just to be absolutely sure, I also made a fake implementation of IAccessTokenManagementService and when I register that with DI instead everything is fine, so it seems to be something in the IdentityModel assembly / registration method that is causing the issue.
Azure Functions Core Tools
Core Tools Version:       3.0.3388 Commit hash: fb42a4e0b7fdc85fbd0bcfc8d743ff7d509122ae
Function Runtime Version: 3.0.15371.0

[2021-03-23T19:50:57.401Z] Building host: startup suppressed: 'False', configuration suppressed: 'False', startup operation id: 'acdd21b7-726a-4045-b2a1-424b570fa1b2'
[2021-03-23T19:50:57.418Z] Reading host configuration file '/home/dan/projects/StudyTravel/Network/src/StudyTravel.Network.AzureFunctions/bin/output/host.json'
[2021-03-23T19:50:57.419Z] Host configuration file read:
[2021-03-23T19:50:57.419Z] {
[2021-03-23T19:50:57.419Z]   "version": "2.0",
[2021-03-23T19:50:57.419Z]   "logging": {
[2021-03-23T19:50:57.419Z]     "applicationInsights": {
[2021-03-23T19:50:57.419Z]       "samplingSettings": {
[2021-03-23T19:50:57.419Z]         "isEnabled": true,
[2021-03-23T19:50:57.419Z]         "excludedTypes": "Request"
[2021-03-23T19:50:57.419Z]       }
[2021-03-23T19:50:57.419Z]     }
[2021-03-23T19:50:57.419Z]   }
[2021-03-23T19:50:57.419Z] }
[2021-03-23T19:50:57.431Z] Loading functions metadata
[2021-03-23T19:50:57.444Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:java
[2021-03-23T19:50:57.445Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:powershell
[2021-03-23T19:50:57.446Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:python
[2021-03-23T19:50:57.446Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:node
[2021-03-23T19:50:57.447Z] Reading functions metadata
[2021-03-23T19:50:57.449Z] 0 functions found
[2021-03-23T19:50:57.455Z] 0 functions loaded
[2021-03-23T19:50:57.456Z] Loading extensions from /home/dan/projects/StudyTravel/Network/src/StudyTravel.Network.AzureFunctions/bin/output. BundleConfigured: False, PrecompiledFunctionApp: False, LegacyBundle: False
[2021-03-23T19:50:57.458Z] Loading startup extension 'ServiceBus'
[2021-03-23T19:50:57.513Z] Loaded extension 'ServiceBus' (<IP_ADDRESS>)
[2021-03-23T19:50:57.522Z] Loading startup extension 'Startup'
[2021-03-23T19:50:57.522Z] Loaded extension 'Startup' (<IP_ADDRESS>)
[2021-03-23T19:50:57.527Z] Reading host configuration file '/home/dan/projects/StudyTravel/Network/src/StudyTravel.Network.AzureFunctions/bin/output/host.json'
[2021-03-23T19:50:57.527Z] Host configuration file read:
[2021-03-23T19:50:57.527Z] {
[2021-03-23T19:50:57.527Z]   "version": "2.0",
[2021-03-23T19:50:57.527Z]   "logging": {
[2021-03-23T19:50:57.527Z]     "applicationInsights": {
[2021-03-23T19:50:57.527Z]       "samplingSettings": {
[2021-03-23T19:50:57.527Z]         "isEnabled": true,
[2021-03-23T19:50:57.527Z]         "excludedTypes": "Request"
[2021-03-23T19:50:57.527Z]       }
[2021-03-23T19:50:57.527Z]     }
[2021-03-23T19:50:57.527Z]   }
[2021-03-23T19:50:57.527Z] }
[2021-03-23T19:50:57.737Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:java
[2021-03-23T19:50:57.737Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:powershell
[2021-03-23T19:50:57.737Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:python
[2021-03-23T19:50:57.737Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:node
[2021-03-23T19:50:57.829Z] Initializing Warmup Extension.
[2021-03-23T19:50:57.863Z] Initializing Host. OperationId: 'acdd21b7-726a-4045-b2a1-424b570fa1b2'.
[2021-03-23T19:50:57.868Z] Host initialization: ConsecutiveErrors=0, StartupCount=1, OperationId=acdd21b7-726a-4045-b2a1-424b570fa1b2
[2021-03-23T19:50:57.881Z] Loading functions metadata
[2021-03-23T19:50:57.881Z] Reading functions metadata
[2021-03-23T19:50:57.881Z] 0 functions found
[2021-03-23T19:50:57.962Z] 5 functions loaded
[2021-03-23T19:50:57.965Z] LoggerFilterOptions
[2021-03-23T19:50:57.965Z] {
[2021-03-23T19:50:57.965Z]   "MinLevel": "None",
[2021-03-23T19:50:57.965Z]   "Rules": [
[2021-03-23T19:50:57.965Z]     {
[2021-03-23T19:50:57.965Z]       "ProviderName": null,
[2021-03-23T19:50:57.965Z]       "CategoryName": null,
[2021-03-23T19:50:57.965Z]       "LogLevel": null,
[2021-03-23T19:50:57.965Z]       "Filter": "<AddFilter>b__0"
[2021-03-23T19:50:57.965Z]     },
[2021-03-23T19:50:57.965Z]     {
[2021-03-23T19:50:57.965Z]       "ProviderName": "Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.SystemLoggerProvider",
[2021-03-23T19:50:57.965Z]       "CategoryName": null,
[2021-03-23T19:50:57.965Z]       "LogLevel": "None",
[2021-03-23T19:50:57.965Z]       "Filter": null
[2021-03-23T19:50:57.965Z]     },
[2021-03-23T19:50:57.965Z]     {
[2021-03-23T19:50:57.965Z]       "ProviderName": "Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.SystemLoggerProvider",
[2021-03-23T19:50:57.965Z]       "CategoryName": null,
[2021-03-23T19:50:57.965Z]       "LogLevel": null,
[2021-03-23T19:50:57.965Z]       "Filter": "<AddFilter>b__0"
[2021-03-23T19:50:57.965Z]     },
[2021-03-23T19:50:57.965Z]     {
[2021-03-23T19:50:57.965Z]       "ProviderName": "Azure.Functions.Cli.Diagnostics.ColoredConsoleLoggerProvider",
[2021-03-23T19:50:57.965Z]       "CategoryName": null,
[2021-03-23T19:50:57.965Z]       "LogLevel": null,
[2021-03-23T19:50:57.965Z]       "Filter": "<AddFilter>b__0"
[2021-03-23T19:50:57.965Z]     }
[2021-03-23T19:50:57.965Z]   ]
[2021-03-23T19:50:57.965Z] }
[2021-03-23T19:50:57.965Z] LoggerFilterOptions
[2021-03-23T19:50:57.965Z] {
[2021-03-23T19:50:57.965Z]   "MinLevel": "None",
[2021-03-23T19:50:57.965Z]   "Rules": [
[2021-03-23T19:50:57.965Z]     {
[2021-03-23T19:50:57.965Z]       "ProviderName": null,
[2021-03-23T19:50:57.965Z]       "CategoryName": null,
[2021-03-23T19:50:57.965Z]       "LogLevel": null,
[2021-03-23T19:50:57.965Z]       "Filter": "<AddFilter>b__0"
[2021-03-23T19:50:57.966Z]     },
[2021-03-23T19:50:57.966Z]     {
[2021-03-23T19:50:57.966Z]       "ProviderName": "Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.SystemLoggerProvider",
[2021-03-23T19:50:57.966Z]       "CategoryName": null,
[2021-03-23T19:50:57.966Z]       "LogLevel": "None",
[2021-03-23T19:50:57.966Z]       "Filter": null
[2021-03-23T19:50:57.966Z]     },
[2021-03-23T19:50:57.966Z]     {
[2021-03-23T19:50:57.966Z]       "ProviderName": "Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.SystemLoggerProvider",
[2021-03-23T19:50:57.966Z]       "CategoryName": null,
[2021-03-23T19:50:57.966Z]       "LogLevel": null,
[2021-03-23T19:50:57.966Z]       "Filter": "<AddFilter>b__0"
[2021-03-23T19:50:57.966Z]     },
[2021-03-23T19:50:57.966Z]     {
[2021-03-23T19:50:57.966Z]       "ProviderName": "Azure.Functions.Cli.Diagnostics.ColoredConsoleLoggerProvider",
[2021-03-23T19:50:57.966Z]       "CategoryName": null,
[2021-03-23T19:50:57.966Z]       "LogLevel": null,
[2021-03-23T19:50:57.966Z]       "Filter": "<AddFilter>b__0"
[2021-03-23T19:50:57.966Z]     }
[2021-03-23T19:50:57.966Z]   ]
[2021-03-23T19:50:57.966Z] }
[2021-03-23T19:50:57.966Z] FunctionResultAggregatorOptions
[2021-03-23T19:50:57.966Z] {
[2021-03-23T19:50:57.966Z]   "BatchSize": 1000,
[2021-03-23T19:50:57.966Z]   "FlushTimeout": "00:00:30",
[2021-03-23T19:50:57.966Z]   "IsEnabled": true
[2021-03-23T19:50:57.966Z] }
[2021-03-23T19:50:57.966Z] SingletonOptions
[2021-03-23T19:50:57.966Z] {
[2021-03-23T19:50:57.966Z]   "LockPeriod": "00:00:15",
[2021-03-23T19:50:57.966Z]   "ListenerLockPeriod": "00:00:15",
[2021-03-23T19:50:57.966Z]   "LockAcquisitionTimeout": "10675199.02:48:05.4775807",
[2021-03-23T19:50:57.966Z]   "LockAcquisitionPollingInterval": "00:00:05",
[2021-03-23T19:50:57.966Z]   "ListenerLockRecoveryPollingInterval": "00:01:00"
[2021-03-23T19:50:57.966Z] }
[2021-03-23T19:50:57.966Z] ServiceBusOptions
[2021-03-23T19:50:57.966Z] {
[2021-03-23T19:50:57.966Z]   "PrefetchCount": 0,
[2021-03-23T19:50:57.966Z]   "MessageHandlerOptions": {
[2021-03-23T19:50:57.966Z]     "AutoComplete": true,
[2021-03-23T19:50:57.966Z]     "MaxAutoRenewDuration": "00:05:00",
[2021-03-23T19:50:57.966Z]     "MaxConcurrentCalls": 256
[2021-03-23T19:50:57.966Z]   },
[2021-03-23T19:50:57.966Z]   "SessionHandlerOptions": {
[2021-03-23T19:50:57.967Z]     "AutoComplete": true,
[2021-03-23T19:50:57.967Z]     "MaxAutoRenewDuration": "00:05:00",
[2021-03-23T19:50:57.967Z]     "MaxConcurrentSessions": 2000,
[2021-03-23T19:50:57.967Z]     "MessageWaitTimeout": "00:01:00"
[2021-03-23T19:50:57.967Z]   },
[2021-03-23T19:50:57.967Z]   "BatchOptions": {
[2021-03-23T19:50:57.967Z]     "MaxMessageCount": 1000,
[2021-03-23T19:50:57.967Z]     "OperationTimeout": "00:01:00",
[2021-03-23T19:50:57.967Z]     "AutoComplete": true
[2021-03-23T19:50:57.967Z]   }
[2021-03-23T19:50:57.967Z] }
[2021-03-23T19:50:57.967Z] HttpOptions
[2021-03-23T19:50:57.967Z] {
[2021-03-23T19:50:57.967Z]   "DynamicThrottlesEnabled": false,
[2021-03-23T19:50:57.967Z]   "MaxConcurrentRequests": -1,
[2021-03-23T19:50:57.967Z]   "MaxOutstandingRequests": -1,
[2021-03-23T19:50:57.967Z]   "RoutePrefix": "api"
[2021-03-23T19:50:57.967Z] }
[2021-03-23T19:50:57.968Z] Starting JobHost
[2021-03-23T19:50:57.969Z] Starting Host (HostId=danarchlinux-1335764010, InstanceId=5c325554-9496-4f70-b66e-16e799874eb3, Version=3.0.15371.0, ProcessId=236566, AppDomainId=1, InDebugMode=False, InDiagnosticMode=False, FunctionsExtensionVersion=(null))
[2021-03-23T19:50:57.978Z] Loading functions metadata
[2021-03-23T19:50:57.979Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:java
[2021-03-23T19:50:57.979Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:powershell
[2021-03-23T19:50:57.979Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:python
[2021-03-23T19:50:57.979Z] FUNCTIONS_WORKER_RUNTIME set to dotnet-isolated. Skipping WorkerConfig for language:node
[2021-03-23T19:50:57.979Z] Reading functions metadata
[2021-03-23T19:50:57.980Z] 0 functions found
[2021-03-23T19:50:57.985Z] 5 functions loaded
[2021-03-23T19:50:58.023Z] Generating 5 job function(s)
[2021-03-23T19:50:58.070Z] Found the following functions:
[2021-03-23T19:50:58.070Z] Host.Functions.MyFunction
[2021-03-23T19:50:58.070Z] Host.Functions.SendDailySummaryNotificationEmail
[2021-03-23T19:50:58.070Z] Host.Functions.SendMonthlySummaryNotificationEmail
[2021-03-23T19:50:58.070Z] Host.Functions.SendSummaryNotificationEmail
[2021-03-23T19:50:58.070Z] Host.Functions.SendWeeklySummaryNotificationEmail
[2021-03-23T19:50:58.070Z]
[2021-03-23T19:50:58.091Z] Initializing function HTTP routes
[2021-03-23T19:50:58.091Z] No HTTP routes mapped
[2021-03-23T19:50:58.091Z]
[2021-03-23T19:50:58.096Z] Host initialized (121ms)

Functions:

        MyFunction: TimerTrigger

        SendDailySummaryNotificationEmail: TimerTrigger

        SendMonthlySummaryNotificationEmail: TimerTrigger

        SendSummaryNotificationEmail: ServiceBusTrigger

        SendWeeklySummaryNotificationEmail: TimerTrigger

[2021-03-23T19:50:58.189Z] Exception encountered while listening to EventStream
[2021-03-23T19:50:58.189Z] Microsoft.Azure.WebJobs.Script.Grpc: Object reference not set to an instance of an object.
[2021-03-23T19:50:58.716Z] The next 5 occurrences of the 'SendMonthlySummaryNotificationEmail' schedule (Cron: '0 0 0 1 * *') will be:
[2021-03-23T19:50:58.716Z] 04/01/2021 00:00:00+01:00 (03/31/2021 23:00:00Z)
[2021-03-23T19:50:58.716Z] 05/01/2021 00:00:00+01:00 (04/30/2021 23:00:00Z)
[2021-03-23T19:50:58.716Z] 06/01/2021 00:00:00+01:00 (05/31/2021 23:00:00Z)
[2021-03-23T19:50:58.716Z] 07/01/2021 00:00:00+01:00 (06/30/2021 23:00:00Z)
[2021-03-23T19:50:58.716Z] 08/01/2021 00:00:00+01:00 (07/31/2021 23:00:00Z)
[2021-03-23T19:50:58.716Z]
[2021-03-23T19:50:58.729Z] The next 5 occurrences of the 'MyFunction' schedule (Cron: '0 0,30 * * * *') will be:
[2021-03-23T19:50:58.729Z] 03/23/2021 20:00:00+00:00 (03/23/2021 20:00:00Z)
[2021-03-23T19:50:58.729Z] 03/23/2021 20:30:00+00:00 (03/23/2021 20:30:00Z)
[2021-03-23T19:50:58.729Z] 03/23/2021 21:00:00+00:00 (03/23/2021 21:00:00Z)
[2021-03-23T19:50:58.729Z] 03/23/2021 21:30:00+00:00 (03/23/2021 21:30:00Z)
[2021-03-23T19:50:58.729Z] 03/23/2021 22:00:00+00:00 (03/23/2021 22:00:00Z)
[2021-03-23T19:50:58.729Z]
[2021-03-23T19:50:58.757Z] Executing 'Functions.SendWeeklySummaryNotificationEmail' (Reason='Timer fired at 2021-03-23T19:50:58.7246640+00:00', Id=948a860e-aae2-4cec-a642-9dca729d5e1f)
[2021-03-23T19:50:58.757Z] Executing 'Functions.SendDailySummaryNotificationEmail' (Reason='Timer fired at 2021-03-23T19:50:58.7246619+00:00', Id=56f41691-7528-4533-9b58-955127b5eaf4)
[2021-03-23T19:50:58.757Z] Trigger Details: UnscheduledInvocationReason: RunOnStartup
[2021-03-23T19:50:58.757Z] Trigger Details: UnscheduledInvocationReason: RunOnStartup
[2021-03-23T19:51:58.025Z] Starting worker process failed
[2021-03-23T19:51:58.025Z] The operation has timed out.
[2021-03-23T19:51:58.656Z] Exception encountered while listening to EventStream
[2021-03-23T19:51:58.656Z] Microsoft.Azure.WebJobs.Script.Grpc: Object reference not set to an instance of an object.
[2021-03-23T19:51:58.940Z] Exceeded language worker restart retry count for runtime:dotnet-isolated. Shutting down and proactively recycling the Functions Host to recover
[2021-03-23T19:55:14.786Z] Final functionDispatcher state: WorkerProcessRestarting. Initialization timed out and host is shutting down
[2021-03-23T19:55:14.786Z] Final functionDispatcher state: WorkerProcessRestarting. Initialization timed out and host is shutting down
[2021-03-23T19:55:14.807Z] Executed 'Functions.SendDailySummaryNotificationEmail' (Failed, Id=56f41691-7528-4533-9b58-955127b5eaf4, Duration=256074ms)
[2021-03-23T19:55:14.807Z] System.Private.CoreLib: Exception while executing function: Functions.SendDailySummaryNotificationEmail. Microsoft.Azure.WebJobs.Script: Did not find any initialized language workers.
[2021-03-23T19:55:14.807Z] Executed 'Functions.SendWeeklySummaryNotificationEmail' (Failed, Id=948a860e-aae2-4cec-a642-9dca729d5e1f, Duration=256074ms)
[2021-03-23T19:55:14.807Z] System.Private.CoreLib: Exception while executing function: Functions.SendWeeklySummaryNotificationEmail. Microsoft.Azure.WebJobs.Script: Did not find any initialized language workers.
[2021-03-23T19:55:14.910Z] The next 5 occurrences of the 'SendDailySummaryNotificationEmail' schedule (Cron: '0 0 0 * * *') will be:
[2021-03-23T19:55:14.910Z] 03/24/2021 00:00:00+00:00 (03/24/2021 00:00:00Z)
[2021-03-23T19:55:14.910Z] 03/25/2021 00:00:00+00:00 (03/25/2021 00:00:00Z)
[2021-03-23T19:55:14.910Z] 03/26/2021 00:00:00+00:00 (03/26/2021 00:00:00Z)
[2021-03-23T19:55:14.910Z] 03/27/2021 00:00:00+00:00 (03/27/2021 00:00:00Z)
[2021-03-23T19:55:14.910Z] 03/28/2021 00:00:00+00:00 (03/28/2021 00:00:00Z)
[2021-03-23T19:55:14.910Z]
[2021-03-23T19:55:14.916Z] The next 5 occurrences of the 'SendWeeklySummaryNotificationEmail' schedule (Cron: '0 0 0 * * 0') will be:
[2021-03-23T19:55:14.916Z] 03/28/2021 00:00:00+00:00 (03/28/2021 00:00:00Z)
[2021-03-23T19:55:14.916Z] 04/04/2021 00:00:00+01:00 (04/03/2021 23:00:00Z)
[2021-03-23T19:55:14.916Z] 04/11/2021 00:00:00+01:00 (04/10/2021 23:00:00Z)
[2021-03-23T19:55:14.916Z] 04/18/2021 00:00:00+01:00 (04/17/2021 23:00:00Z)
[2021-03-23T19:55:14.916Z] 04/25/2021 00:00:00+01:00 (04/24/2021 23:00:00Z)
[2021-03-23T19:55:14.916Z]
[2021-03-23T19:55:14.919Z] Host started (256948ms)
[2021-03-23T19:55:14.919Z] Job host started
[2021-03-23T19:55:14.923Z] Unhandled exception. System.InvalidOperationException: Can't write the message because the previous write is in progress.
[2021-03-23T19:55:14.923Z]    at Microsoft.Azure.Functions.Worker.GrpcWorker.SendStartStreamMessageAsync(IClientStreamWriter`1 requestStream) in D:\a\1\s\src\DotNetWorker.Grpc\GrpcWorker.cs:line 86
[2021-03-23T19:55:14.923Z]    at Microsoft.Azure.Functions.Worker.WorkerHostedService.StartAsync(CancellationToken cancellationToken) in D:\a\1\s\src\DotNetWorker.Core\WorkerHostedService.cs:line 25
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
[2021-03-23T19:55:14.923Z]    at StudyTravel.Network.AzureFunctions.Program.Main() in /home/dan/projects/StudyTravel/Network/src/StudyTravel.Network.AzureFunctions/Program.cs:line 37
[2021-03-23T19:55:14.923Z] Unhandled exception. Grpc.Core.RpcException: Status(StatusCode="Cancelled", Detail="")
[2021-03-23T19:55:14.923Z]    at Grpc.Net.Client.Internal.HttpContentClientStreamWriter`2.WriteAsyncCore(TRequest message)
[2021-03-23T19:55:14.923Z]    at Microsoft.Azure.Functions.Worker.GrpcWorker.SendStartStreamMessageAsync(IClientStreamWriter`1 requestStream) in D:\a\1\s\src\DotNetWorker.Grpc\GrpcWorker.cs:line 86
[2021-03-23T19:55:14.923Z]    at Microsoft.Azure.Functions.Worker.WorkerHostedService.StartAsync(CancellationToken cancellationToken) in D:\a\1\s\src\DotNetWorker.Core\WorkerHostedService.cs:line 25
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
[2021-03-23T19:55:14.923Z]    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
[2021-03-23T19:55:14.924Z]    at StudyTravel.Network.AzureFunctions.Program.Main() in /home/dan/projects/StudyTravel/Network/src/StudyTravel.Network.AzureFunctions/Program.cs:line 37
[2021-03-23T19:55:14.946Z] Stopping host...
[2021-03-23T19:55:14.952Z] Stopping JobHost
[2021-03-23T19:55:14.954Z] Stopping the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'MyFunction'
[2021-03-23T19:55:14.959Z] Stopping the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'SendDailySummaryNotificationEmail'
[2021-03-23T19:55:14.959Z] Stopping the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'SendMonthlySummaryNotificationEmail'
[2021-03-23T19:55:14.959Z] Stopping the listener 'Microsoft.Azure.WebJobs.ServiceBus.Listeners.ServiceBusListener' for function 'SendSummaryNotificationEmail'
[2021-03-23T19:55:14.962Z] Stopping the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'SendWeeklySummaryNotificationEmail'
[2021-03-23T19:55:15.033Z] Stopped the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'MyFunction'
[2021-03-23T19:55:15.033Z] Stopped the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'SendDailySummaryNotificationEmail'
[2021-03-23T19:55:15.033Z] Stopped the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'SendMonthlySummaryNotificationEmail'
[2021-03-23T19:55:15.034Z] Stopped the listener 'Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener' for function 'SendWeeklySummaryNotificationEmail'
[2021-03-23T19:55:19.940Z] Host did not shutdown within its allotted time.

Might help to have a small repro here to make sure we have your exact setup. Is that something you'd be able to provide in a GitHub repo? Thanks!

@fabiocav I've managed to upload a minimal repro here: https://github.com/djjlewis/AzureFunctionsIdentityModelErrorRepro
Basically, add the latest IdentityModel.AspNetCore package (3.0.0) and then use the AddAccessTokenManagement() service collection extension in ConfigureServices() and you will see the error immediately when the function starts.
I originally thought this was in the main IdentityModel package, but it's actually IdentityModel.AspNetCore.
As I mentioned though, we do use this in webjob service bus subscribers without issue, and I also did a minimal test with a generic host project and it also registered it fine without issue.
Perhaps some service registration it is doing is conflicting with the default Azure Functions registrations?

From my small investigation into this issue, it looks like there is some timing issue between
https://github.com/Azure/azure-functions-dotnet-worker/blob/main/src/DotNetWorker.Grpc/GrpcWorker.cs#L60
and
https://github.com/Azure/azure-functions-dotnet-worker/blob/main/src/DotNetWorker.Grpc/GrpcWorker.cs#L83
when calling public Task StartAsync(CancellationToken token).
This is where (I think) the exception is being thrown (at least in my case, this is the error I see in the console):
https://github.com/grpc/grpc-dotnet/blob/master/src/Grpc.AspNetCore.Server/Internal/HttpContextStreamWriter.cs#L62
If, for some reason, the StartWriterAsync is writing something when it's called, it will conflict with the StreamingMessage startStream message being sent at the beginning.

I tried to follow Dave Brock's example, https://daveabrock.com/2021/02/24/functions-dotnet-5. I am seeing the same error:
[2021-04-13T16:36:12.638Z] Exception encountered while listening to EventStream
[2021-04-13T16:36:12.642Z] Microsoft.Azure.WebJobs.Script.Grpc: Object reference not set to an instance of an object.
[2021-04-13T16:36:16.233Z] Host lock lease acquired by instance ID '000000000000000000000000E42D1057'

But this only happens if the call to SeedDatabase(host) is present. Comment this out and I don't see the error. I also tried changing the function to make it similar the code produced by following this guide, https://docs.microsoft.com/en-gb/azure/azure-functions/dotnet-isolated-process-developer-howtos?pivots=development-environment-vscode&tabs=browser
public class Functions
{
    private readonly SampleContext _context;

    public Functions(SampleContext context) =>
        _context = context;

    [Function("BandsGet")]
    public async Task<HttpResponseData> BandsGetExecute(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req,
        FunctionContext executionContext)
    {
        var logger = executionContext.GetLogger("BandsGet");
        logger.LogInformation("C# HTTP trigger function processed a request.");

        var response = req.CreateResponse(HttpStatusCode.OK);
        var bands = await _context.Bands.ToArrayAsync();
        await response.WriteAsJsonAsync(bands);

        return response;
    }
}

Also happening to me when I configure authentication:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
   .AddMicrosoftIdentityWebApi(options => {}, options =>
   {
      ...
   });

I saw PR #445 come through which mentioned a fix to the ordering of GRPC steam registrations and thought that sounded promising for this isse! I cloned the latest main branch and pointed my project to the local version and sure enough it looks to have fixed the issue.
Any idea when the next official release will drop with that PR included @fabiocav? :pray:

Closing this stale issue as this problem should be resolved.
@djjlewis please feel free to let us know if you're still having issues.


Motion sets as on despite nobody in the room

Version of the custom_component : v2.2.2
-->
Configuration
mqtt:
  host: <IP_ADDRESS>
  user: passwd
  password: passwd
cameras:
  camera_1: # <------ Name the camera
    ffmpeg:
      inputs:
        - path: rtsp://admin:passwd@<IP_ADDRESS>:1206/Streaming/Channels/2/# <----- Update for your camera
          roles:
            - detect
            - rtmp
    rtmp:
      enabled: False # <-- RTMP should be disabled if your stream is not H264
    detect:
      width: 1280 # <---- update for your camera's resolution
      height: 720 # <---- update for your camera's resolution
    motion:
      mask:
        - 0,71,408,62,407,25,0,25
    zones:
      zone_0:
        coordinates: 0,538,29,571,93,632,117,668,139,673,200,673,315,678,447,680,559,681,636,668,774,663,896,663,1010,661,1075,646,1047,594,1051,520,1012,425,961,362,905,306,808,307,688,286,541,284,381,281,184,286

Add your logs here.
Describe the bug :
I have set frigate with masks and zones, and i'm trying to use its motion entity as a trigger, [switch.camera_1_detect]
The mask is already covering the timestamp, and nobody's supposed to be triggering the motion since the place is closed.
But why does the entity always reports as on?
Debug log
I will followup the logs soon, the place is crowded already.

Add your logs here.

A couple things here:

Even though it's called motion sensor, it has nothing to do with motion, just presence.
You will want to check your camera for a false positive showing up as a person using the debug view in frigate.

Ok i was under the impression it works just like hikvision add on where it would turn off and on based on motion detected.
I don't mind using presence either as long as it detects human in the room.
Basically what i need is, IF there is human in the room, then do X.
#2 will do once the store is closed, right now it's too crowded to filter false positive.

Basically what i need is, IF there is human in the room, then do X.
Yes, that's how it works today
#2 will do once the store is closed, right now it's too crowded to filter false positive.
Sure, it's going to definitely be true right now if there's people there. If it's still true when store is closed then it's likely a false positive somewhere.

Basically what i need is, IF there is human in the room, then do X.

Yes, that's how it works today

#2 will do once the store is closed, right now it's too crowded to filter false positive.

Sure, it's going to definitely be true right now if there's people there. If it's still true when store is closed then it's likely a false positive somewhere.

Actually when i posted that the store was closed..
i just tested it again with my spare cam, i simply leave it at my office like this, there's nobody in the room, timestamps already covered, but the sensor still says on... even after i set the state to off it would go back to on almost immediately

@Buster14 Which sensor are you referring to that says on? Screenshot of that would be helpful.
Also, does the frigate debug view show that it sees anything?

These ?
There's nothing on event either..

Oh, that switch is for enabling or disabling object detection, that is not a "sensor" and does not represent any information for what frigate is detecting.

The sensors should be used for the purpose you are describing

Ah no wonder ! Found the right sensor just now, the symbol is the same thats why i mistook it.
Thanks again for the quick help nick i will monitor again once my place is open.

A couple things here:
1. Even though it's called motion sensor, it has nothing to do with motion, just presence.

@NickM-27 @blakeblackshear
This should be put into the docs! I have searched hours why the binary motion sensor does not reset to the "clear" state again while a stationary object is considered stationary and not moving for a long time. It kept staying in the state "detected".
Even for stationary objects I would have expected that the motion sensor only triggers while the stationary object moves and/or enters/leaves a zone.
Now I wonder how to have a binary sensor that indicates if a stationary object is moving within the zone.
Entering/leaving the zone should be easy as I just need to trigger on changes of the object count in that zone.
BTW (only cosmetic): According to the HA docs it seems that there is even the correct device class "presence": https://www.home-assistant.io/integrations/binary_sensor/
Even "occupancy" and "moving" might be considered here as well.

@NickM-27 @blakeblackshear This should be put into the docs! I have searched hours why the binary motion sensor does not reset to the "clear" state again while a stationary object is considered stationary and not moving for a long time. It kept staying in the state "detected". Even for stationary objects I would have expected that the motion sensor only triggers while the stationary object moves and/or enters/leaves a zone. Now I wonder how to have a binary sensor that indicates if a stationary object is moving within the zone. Entering/leaving the zone should be easy as I just need to trigger on changes of the object count in that zone.

I'll take a look at the docs and see, this might fit better in the home assistant readme or elsewhere.

BTW (only cosmetic): According to the HA docs it seems that there is even the correct device class "presence": https://www.home-assistant.io/integrations/binary_sensor/ Even "occupancy" and "moving" might be considered here as well.

It already has the device class set as motion. Could be set to something else but then the name would need to be changed too which would break setups.


Exclamation Marks Output Issue

Issue
Hello,
I am using Aider with Deepseek-coder-v2 on the IDX platform without any issues, but when I try to use it locally with Ollama with VSCode, all my responses return "!!!!!!!!!!!" answer.
First, I installed ollama and then use "ollama run deepseek-coder-v2" and started the server, talked with the LLM without any issues. After that, I ran "aider --model ollama/deepseek-coder-v2" and started the chat, but the response was always bunch of exclamation marks. Here is the screenshot:

I tested with or without a metadata file just to check if it made any difference, but it didn't.
After triggering this error, ollama is also starting to act up and when I go back and try to talk with ollama, it does the following:

I only managed to run aider with deepseek only one time (I was trying everything, uninstalling, reinstalling, etc) but that was it, its not working again. I don't know what else to do.
Please help me.
Thanks in advance.
Version and model info
Aider v0.43.4
Model: ollama/deepseek-coder-v2 with whole edit format
Git repo: .git with 7 files
Repo-map: disabled
VSCode terminal detected, pretty output has been disabled.

Thanks for trying aider and filing this issue.
This is probably a sign that your quantized LLM is not capable of following aider's system prompt. You should use a stronger model.
https://aider.chat/docs/llms.html#use-a-capable-model

Hello,
As you can see, I am using deepseek-coder-v2, which is capable of following Aider's system prompt according to the Aider's LLM Leaderboard. However, I solved my issue by not using Ollama's Windows server client and instead running the "Ollama serve" directly from the terminal.

Glad to hear it's working for you now.
I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.


fix: allow large specs to load schema

Addresses #7923
Before: page becomes unresponsive when clicking around to models with circular refs
After:

Did we figure out whether the issue was circular refs or just "big models"? because limiting the depth to 4 seems to imply it's big models.

Did we figure out whether the issue was circular refs or just "big models"? because limiting the depth to 4 seems to imply it's big models.

@wmhilton I don't think we confirmed one way or the other. Could it not be that it's both?
Also, if we don't limit this number, won't the example be extremely long to the point someone is scrolling forever? Is it helpful from a product standpoint to have such a long example?

../packages/elements-core/src/utils/exampleGeneration.ts:82:5 - error TS2345: Argument of type '{ maxSampleDepth: number; }' is not assignable to parameter of type 'Options'.
  Object literal may only specify known properties, and 'maxSampleDepth' does not exist in type 'Options'.

82     maxSampleDepth: 4,
       ~~~~~~~~~~~~~~~~~

Found 1 error.

🤔

../packages/elements-core/src/utils/exampleGeneration.ts:82:5 - error TS2345: Argument of type '{ maxSampleDepth: number; }' is not assignable to parameter of type 'Options'.
  Object literal may only specify known properties, and 'maxSampleDepth' does not exist in type 'Options'.

82     maxSampleDepth: 4,
       ~~~~~~~~~~~~~~~~~

Found 1 error.

🤔

This is because json-schema-sampler hasn't been released yet after this PR was just approved. It still thinks this is not a prop.


Startup Module

On startup of  the nqrduck application the first module should be selected and also highlighted in the module selection.

Fixed with 84b9e98406e12abf35fd1ceb75d72f56e5447ac4


VS2015 Compile Error

Compiling GFlags under Visual Studio 2015 fails with "snprintf already has a body" errors, presumably because VS2015 defines snprintf and previous versions didn't - the same issue pops up in Glog. To get it to build windows_port.cc needs a version test around its definition of snprintf thus:
#ifdef _MSC_VER
#if _MSC_VER < 1900
int snprintf(char *str, size_t size, const char *format, ...) {
  int r;
  va_list ap;
  va_start(ap, format);
  r = vsnprintf(str, size, format, ap);
  va_end(ap);
  return r;
}
#endif
#endif

Thus far I can't confirm that this doesn't break anything, but it certainly allows the build to succeed.

It seems this incorrect preprocessor directive is responsible. It should probably be a !defined(_MSC_VER) || _MSC_VER < 1900 instead.
This older PR #116 actually fixed this issue earlier, but the following PR #129 messed it up.

Actually, the it should be fine as is in the master branch. Was reading the preprocessor condition introduced by PR #129 incorrectly.

Hi Andreas - I definitely took the 2.1.2 code rather than code from the master branch, so that would certainly explain what I'm seeing. Thanks for your very rapid response!


correctness proof of Codegen doesn't compile

The proof of correctness for Codegen doesn't compile with Coq 8.14.1
it is also not included in the CI build (has never been?)
for now it would help to know if there is a version of Coq for which it is known to compile?
(I tried an older version with Coq 8.9 and had some issues installing the dependencies. )
thanks!

@andrew-appel you might have some information I don't have here?

It appears that this was not spotted by the CI because it is not included in
https://github.com/CertiCoq/certicoq/blob/master/theories/_CoqProject

Over the next 10 months, @zoep will be working on correctness proofs of two CertiCoq phases, including codegen, so I expect this will get fixed by early 2024.


Can't find anything on AWS Console after successful run of deployment.sh

I was able to run deployment.sh successful, and can access Admin/Application/Landing URLs, but when I go to CodePipeline on AWS Console, I don't see any pipeline/build/deployment. What am I missing?

Thanks for the response. I do see multiple stacks on the CloudFormation console.

@lwang168 - In the Cloudformation console, do you see a stack with name "serverless-saas-pipeline" successfully completed? This is the stack which takes care of creating codepipeline.

Yes, with the status "UPDATE_COMPLETE".
This is what happened. The first time I ran deployment.sh, it failed, but I remember I saw entries in CodePipeline build/deployment/pipeline. I deleted them.
Then I fixed issues from prior runs, and re-ran deployment.sh successfully, but no entries in CodePipeline. Is this expected behavior? How do I re-create entries in CodePipeline?

If "serverless-saas-pipeline" stack has completed successfully then the code pipeline might have created.
Are you looking in the correct region? In the AWS console go the CodePipeline service in the same region where you have deployed the Serverless SaaS Reference solution then in the left menu under "Pipeline" click on "Pipelines" and you should see it.
You can redeploy code pipeline by just running the code in deployment.sh from L18 to L22

Thanks for your help. I believe I use the same region us-east-1. See attached screenshots of CloudFormation and CodePipeline.

Did you tried redeploying the 'serverless-saas-pipeline' stack? If possible delete the 'serverless-saas-pipeline' stack first and then redeploy.
You can redeploy by just running the code in deployment.sh from L18 to L22
Or you can just rerun the whole deployment.sh script.

It works by deleting "serverless-saas-pipeline" stack and redeploying. Thanks for the help.


TypeError: Cannot read properties of null (reading 'value')

Error telemetry:
TypeError: Cannot read properties of null (reading 'value')
[at T in src/vs/base/browser/markdownRenderer.ts:452:23](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/markdownRenderer.ts#L452:23)
at pc.getHover in out/vs/workbench/workbench.desktop.main.js:2966:19879
[at pc.renderElement in src/vs/workbench/browser/parts/views/treeView.ts:1018:22](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/workbench/browser/parts/views/treeView.ts#L1018:22)
[at renderElement in src/vs/base/browser/ui/tree/asyncDataTree.ts:108:17](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/asyncDataTree.ts#L108:17)
[at T.renderElement in src/vs/base/browser/ui/tree/abstractTree.ts:408:17](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/abstractTree.ts#L408:17)
[at H.renderElement in src/vs/base/browser/ui/list/listWidget.ts:1110:13](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/listWidget.ts#L1110:13)
[at c.insertItemInDOM in src/vs/base/browser/ui/list/listView.ts:815:13](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/listView.ts#L815:13)
[at c._splice in src/vs/base/browser/ui/list/listView.ts:565:10](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/listView.ts#L565:10)
[at c.splice in src/vs/base/browser/ui/list/listView.ts:467:16](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/listView.ts#L467:16)
[at <anonymous> in src/vs/base/browser/ui/list/splice.ts:17:35](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/splice.ts#L17:35)
at Array.forEach (<anonymous>)
[at t.splice in src/vs/base/browser/ui/list/splice.ts:17:20](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/splice.ts#L17:20)
[at <anonymous> in src/vs/base/browser/ui/list/listWidget.ts:1431:57](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/listWidget.ts#L1431:57)
[at v.bufferEvents in src/vs/base/common/event.ts:1065:13](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/common/event.ts#L1065:13)
[at M.splice in src/vs/base/browser/ui/list/listWidget.ts:1431:22](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/list/listWidget.ts#L1431:22)
[at M.splice in src/vs/base/browser/ui/tree/abstractTree.ts:1244:9](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/abstractTree.ts#L1244:9)
[at S.spliceSimple in src/vs/base/browser/ui/tree/indexTreeModel.ts:305:14](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/indexTreeModel.ts#L305:14)
[at S.splice in src/vs/base/browser/ui/tree/indexTreeModel.ts:156:9](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/indexTreeModel.ts#L156:9)
[at A._setChildren in src/vs/base/browser/ui/tree/objectTreeModel.ts:122:14](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/objectTreeModel.ts#L122:14)
[at A.setChildren in src/vs/base/browser/ui/tree/objectTreeModel.ts:71:8](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/objectTreeModel.ts#L71:8)
[at D.setChildren in src/vs/base/browser/ui/tree/objectTree.ts:63:14](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/objectTree.ts#L63:14)
[at de.render in src/vs/base/browser/ui/tree/asyncDataTree.ts:944:13](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/asyncDataTree.ts#L944:13)
[at de.refreshAndRenderNode in src/vs/base/browser/ui/tree/asyncDataTree.ts:715:8](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/asyncDataTree.ts#L715:8)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
[at async de._updateChildren in src/vs/base/browser/ui/tree/asyncDataTree.ts:514:3](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/asyncDataTree.ts#L514:3)
[at async de.updateChildren in src/vs/base/browser/ui/tree/asyncDataTree.ts:500:3](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/base/browser/ui/tree/asyncDataTree.ts#L500:3)
at async Promise.all (index 0)
[at async ge.doRefresh in src/vs/workbench/browser/parts/views/treeView.ts:802:4](https://vscode.dev/github/microsoft/vscode/blob/92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9/src/vs/workbench/browser/parts/views/treeView.ts#L802:4)

I believe this is because a bad markdown string is passed into markdownRenderer.ts

It looks like this may come from an extension setting a tree item tooltip to null, especially since it's only hitting on ~100 machines. The API doesn't support null here, but we don't validate that the objects passed in to the API are as expected. I will add validation for the tree view, but I don't think we can throw if the object isn't valid since that may break existing extensions.

I've added some console logs for when extensions provide bad tree items. Let's wait a release or two to give extensions a chance to clean this up then I'll add a throw so that we don't get error telemetry anymore.


feat(lsp): add goto definition for locals

Description
Problem*
Resolves
feat(lsp): add goto definition for locals #3706
Summary*
LSP server now understands goto definition command issued by Client (ie. vscode). In case of local symbol it will jump to it's definition.
Additional Context
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

can you briefly summarize the changes being made in the PR?


teleport: 5.1.0 -> 5.1.2

Motivation for this change
Things done

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

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

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

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

1 package built:

teleport

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

1 package built:

teleport

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 111571 run on x86_64-darwin 1

1 package built:

teleport


chore(deps): update dependency autoprefixer to v10.4.18

This PR contains the following updates:

Package
Type
Update
Change

autoprefixer
devDependencies
patch
10.4.17 -> 10.4.18

Release Notes

postcss/autoprefixer (autoprefixer)
v10.4.18
Compare Source

Fixed removing -webkit-box-orient on -webkit-line-clamp (@Goodwine).

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


[JS Polyfills] Also call the original console methods if they exist

Ex. When console.log or similar is called, this will call
the original method, which can be quite useful.
For example, under iOS, this will log to the Safari console debugger,
which has an expandable UI for inspecting objects, etc., and is also
just useful if you are using that as a REPL.
I don't believe this incurs a meaningful performance penalty unless
the console is open, but it would be easy to stick behind a flag
if that is a problem.

@vjeux - this looks good to me, do you see any issues with pulling this in?

Sorry for the super long review time :x Can you get rid of all the unrelated changes and rebase? Thanks!

@vjeux here is a rebased version: https://github.com/facebook/react-native/pull/2486

merged (w original author attribution!)


How to cite your dataset VV

Hi, thanks for your work and I would like to know how to cite your dataset VV.

Unfortunately, this dataset has not been introduced with any paper. Perhaps you can cite this webpage

Unfortunately, this dataset has not been introduced with any paper. Perhaps you can cite this webpage
Ok, thanks for your reply.


BUG: improve contact us section UI

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

we should increase the contact us section width so that name, email etc. section can be increased.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@anuragverma108  plz assign me this issue


Density maps and people localization

Hello, your work looks really impressive, but I have some questions about the code: 1. In the paper, you mentioned that there would be density map generation later. From my understanding, the output in the test.py file should be a density map, but its size does not match the input's, so I am not sure if the output is indeed the density map referred to in the text. 2. Can your code identify the locations of people?

Thanks for your interest. In the counting tasks, the output density map is
typically smaller than the original image for two main reasons. First, the
backbone is based on the VGG network, which inherently downsamples features
by a factor of 16. Second, maintaining the density map at the original
image size would result in an exponential increase in computational cost
when calculating the loss. As a result, the model generates a smaller
density map. For visualization purposes in the paper, I use cv2.resize to
scale the model's output density map to the same size as the original image.
Regarding your second question, our model currently does not support direct
localization output. If needed, you could potentially apply a non-maximum
suppression (NMS) algorithm to the output density map to extract
localization points. However, I haven't tried this approach, and the
results may be unstable.
Yi Lei @.***> 于2024年10月11日周五 18:37写道：

Hello, your work looks really impressive, but I have some questions about
the code: 1. In the paper, you mentioned that there would be density map
generation later. From my understanding, the output in the test.py file
should be a density map, but its size does not match the input's, so I am
not sure if the output is indeed the density map referred to in the text.
2. Can your code identify the locations of people?
—
Reply to this email directly, view it on GitHub
https://github.com/LoraLinH/Gramformer/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVYQMFUWYPBCC7DWDWC54LDZ26S5HAVCNFSM6AAAAABPYUUSUWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4DCMBTGYZDKNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Exported project cannot find banks, oggs and events?

OS: Windows 10
Godot: v3.2.3
Fmod: 2.00.14
I'm playing around with the demo project and tried to export it to an EXE.
In the editor everything works fine without any issue, but when I run my exported build I get these errors:

I checked my .PCK with the godot-unpacker and found that indeed the necessary files are available, as shown here:

I'm using the demo-project included inside of this repo and I'm using the latest release DLL for windows x64. Also I'm using the 2.00 version of both fmod.DLL and fmodstudio.DLL.
How do I make an exported build work properly?

Small addendum/update: If I copy the assets folder next to the exported EXE. Everything works...
However, Fmod should be able to use the banks and ogg that are present in the PCK instead? 🤔

Hey @2shady4u !
Thank you for the bug report.
It seems we are not managing ressource path properly.
I think problematic code is here:
https://github.com/utopia-rise/fmod-gdnative/blob/6c71f3f030243836e7ac177ee981690ecccddd08/src/godot_fmod.h#L20
Maybe we will have difficulty to pass ressource path to fmod. IIRC we had a discussion with @CedNaru few months ago about this.

I think I had a similar issue with calling the inklecate.exe on exported builds.
In that case I fixed it by always extending the path to a global path using this function:
static func get_game_folder() -> String:
	if OS.has_feature("standalone"):
		print("Running an exported build.")
		return OS.get_executable_path().get_base_dir()
	else:
		print("Running from the editor.")
		return ProjectSettings.globalize_path("res://")

Maybe this is a good work-around for the time being?

Having the files next to the .exe is how I proceed.
That plugin is just a bridge to FMOD, so FMOD itself can't access files the same way Godot does.
Using "res://" paths for FMOD object are renamed to standard relative paths, It's just a trick I added so people are able to unify the path, but maybe it wasn't a good idea because it can be confusing.
At it is today, I don't know how I can read inside a PCK file from Fmod.

One possibility I see:
-Godot File object seems to give enough control to the reading of the File with function such as "get_buffer", 'seek".
-I never used that, but it seems that you can implement some custom File callback system for FMOD.
By using those 2 functionalities, it might be possible to implement some fallback system in the plugin that would directly interact with a Godot File Object if Fmod can't directly access it.

Link:
Fmod File Callback
Godot File

@CedNaru @piiertho
@fire was able to make it work for the SQLite module here:
https://github.com/godot-extended-libraries/godot-sqlite/blob/a9b699c90203989239c49eebbfc70c11fc2ac59c/sqlite.cpp#L185
(using the open_buffered()-function)
But I didn't go deeper into it so I don't know how it exactly works... But it involves the use of this particular file:
https://github.com/godot-extended-libraries/godot-sqlite/blob/master/thirdparty/sqlite/spmemvfs.h
@CedNaru Yes, having the files next to the EXE works, so I'll use that method for now.

Feel free to ask any questions.

I don't remember much but here's a more recent pointer. https://github.com/godot-extended-libraries/godot-sqlite/blob/master/sqlite.cpp#L218

Is anyone actively working this one? I ran into this issue and can use the workaround for now, but will need a more robust solution at some point. If no one else is able to get to it, I may be able to devote some time on it once I've addressed the more urgent tickets for my game, but it'll probably be a bit before then

Is anyone actively working this one? I ran into this issue and can use the workaround for now, but will need a more robust solution at some point. If no one else is able to get to it, I may be able to devote some time on it once I've addressed the more urgent tickets for my game, but it'll probably be a bit before then

@BrianMWest for now we did not started to work on this issue. Feel free to contribute :)
Anyway this issue needs to be resolved. We would work on it when kotlin is alpha, but if someone have time we're opened to contribs :D

@BrianMWest for now we did not started to work on this issue. Feel free to contribute :)
Anyway this issue needs to be resolved. We would work on it when kotlin is alpha, but if someone have time we're opened to contribs :D


fix serverAddr bugs

Describe what this PR does / why we need it
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: cevencheng:x: jasondeng1997You have signed the CLA already but the status is still pending? Let us recheck it.


AB#5902056 - Upgrade hermes to 0.11 for Android only

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[ ] I am making a fix / change for the macOS implementation of react-native
[x] I am making a change required for Microsoft usage of react-native

Summary

In order to consume Hermes in Office for Android, we need a fix that made it into version 0.10. Due to an issue in 0.10, we decided to bump to 0.11 as there wouldn't be any breaking API changes.
Changelog

[Android] [Added] - Upgrade Hermes to 0.11 for android only via a patch
Test Plan

Tested via the Hermes variant of RN tester.

LGTM - I feel the changes to the jest and metro configs should be also done in main branch?


The all effect is crashing reactotron

fixes: #12

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix(client): handle verification of full-stack cert once

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #46544

The extra client-side validation to claim the Full Stack cert broke Redux.
This is one of those "temporary fixes" that will probably remain in the codebase for multiple generations.
NOTE
Here is some interesting behaviour I noticed when testing:

Logs
  fcc:server 2022-06-20T15:57:10.429Z 404 POST 0.961 ms - /challenges-completed +905ms
  fcc:certification full-stack +9s
  fcc:certification isFullStackCert +1ms

Error: connect ECONNREFUSED <IP_ADDRESS>:1025
Is authenticated user: true
Headers: {
  "host": "localhost:3000",
  "connection": "keep-alive",
  "content-length": "25",
  "pragma": "no-cache",
  "cache-control": "no-cache",
  "sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"",
  "csrf-token": "gKQAjbJG-R59feM8Mdb0PrXwUE5yY1cPhrgY",
  "content-type": "application/json",
  "sec-ch-ua-mobile": "?0",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
  "sec-ch-ua-platform": "\"Windows\"",
  "accept": "*/*",
  "origin": "http://localhost:8000",
  "sec-fetch-site": "same-site",
  "sec-fetch-mode": "cors",
  "sec-fetch-dest": "empty",
  "referer": "http://localhost:8000/",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-GB,en-US;q=0.9,en;q=0.8",
  "cookie": "_ga=GA1.1.1534566293.1621334289; _gid=GA1.1.744998966.1655734568; _csrf=u8QX5aaGWlwXZrOWGnhALhrJ; jwt_access_token=s%3AeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NUb2tlbiI6eyJpZCI6Im55eW5zVHlRcm1YTm84QVBNS2lHN1NBa1N2c0JpQzFYblo4UWhJMkd1aGZpeEFhVjZoRXB1SjVnRlROZUVjSlUiLCJ0dGwiOjc3NzYwMDAwMDAwLCJjcmVhdGVkIjoiMjAyMi0wNi0yMFQxNDo0ODoxOS42MjVaIiwidXNlcklkIjoiNWZhMmRiMDBhMjVjMWMxZmE0OWNlMDY3In0sImlhdCI6MTY1NTczNjQ5OX0.yXteisp3wKnUSMLuYBR6S9-Wbram8nFWq4bfpORSMD8.kADjKgjCrWL%2F4SN1LI8LlXxZdqUTZ4hIUZG%2FLPiRQ%2FU; connect.sid=s%3ArEhNtn_yVjEuqDabJd3qyUrFvtO_4WYw.AI1UmUdAhJ8hc5on4J4sTNA4OySCWXBi5JajD36%2BeP0; _gat=1; csrf_token=gKQAjbJG-R59feM8Mdb0PrXwUE5yY1cPhrgY"
}
Original request: PUT /certificate/verify
Stack: Error: connect ECONNREFUSED <IP_ADDRESS>:1025
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1229:16)

// raw
{
  "errno": -111,
  "code": "ESOCKET",
  "syscall": "connect",
  "address": "<IP_ADDRESS>",
  "port": 1025,
  "command": "CONN"
}

  fcc:server 2022-06-20T15:57:19.592Z 500 PUT 48.566 ms - /certificate/verify +92ms
  fcc:certification full-stack +55s
  fcc:certification isFullStackCert +1ms

Here is some interesting behaviour I noticed when testing:

You do not have the mail handler configured.

🤦♂ Thanks


Release CSV v2.0.2

Dependencies
Issues of this new version should be done before resolving this issue.
Checklist

[x] Upgrade the application's version.
[x] Add a new version in changelog.
[x] Create a release on the repository.

Done.


Use argparse for luigid

The motivation is simply that argparse is the new and better parser.
Also, argparse is shipped with 2.7 which is the lowest version of python
we support for now.

We should really use the configuration system though, not command line parsing

The same configuration system as we use for the client? Won't we unnessesarily couple the client with the server?
But this is OK to merge then I guess?

sure lgtm


Refresh README

Make it looks like more like others readmes

put installation section on the beginning
add testing and license section
document default values for glicko2 settings
replace var with const

And thank you again :+1:


[Tables] Fix odata serialization

Fix to correct boolean serialization for CLI insert command when combined with this recent fix:
https://github.com/Azure/azure-cli/pull/22060

/azp run python - tables - tests

API change check for azure-data-tables
API changes are not detected in this pull request for azure-data-tables

/azp run python - tables - tests


Support usage scenarios

From @ApiSecRay on March 31, 2015 6:51
Add a way to describe a series of messages that start at the billboard URI and end when the client’s goal is achieved.
Copied from original issue: restful-api-description-language/radl-core#5

I'm not sure this is possible in the general case.  Perhaps we should work out the concept in detail on the Wiki?

Sure. But let's prioritize all the issues first.

I took a stab at this: https://github.com/restful-api-description-language/RADL/wiki/Support-usage-scenarios.
Let me know what you think.

I'm working to add example request and response payloads to the resources in my radl which I think is a concrete example of what you are trying to get at with this feature, and I have a couple of thoughts:

I decided not to put the samples into the data model, because sometimes the same data models get used in different contexts in very different ways, so it is nice to be able to concretely tie the request/response example to a particular resource.  Data models also lack information about which parameters are optional, and which parameters are used only for input or output.
I figured I could just insert documentation into some appropriate place in the radl xml, but in all of the places where I wanted to add it, it is either disallowed by the schema, or ignored by the XSL, so my only good option is to put it right at the top of each method description, before all the other fields.  Some sample payloads are pretty big, which means that they will make it hard to match up the method with the other information about the method.
Since sample payloads can be large, it would be nice to have an explicit way to encapsulate them in the radl, instead of relying on   That way, they will appear in a predictable place in the html, and we could automatically put an expand/collapse around them to keep them from bloating the documentation.

Have you seen the <examples> element? It is meant for storing a collection of examples. Each <example> may contain documentation and text. You can use the documentation to explain the context. You can put <examples> in both <data-model> and <representation>.


# prefixed variable in math

#let total_order = 123
#let another-order = 456
$ a^#total_order + a^#another-order$

I previously thought we only need # for single char vars. But it turns out to be needed in more cases

This has been workarounded in recent commits. We don't format them


Construction arms are missing ball joint when layered

Here is what it looks like in the builder:

But the SVG on its own looks fine:

@andrewrmn Is this an SVG issue or a layering issue?

@kawilkin Fixed!


Remove MixedGeometryArray from the public API

Closes #895

Superseded by https://github.com/geoarrow/geoarrow-rs/pull/928


Why SingleLineTextField doesn't have AutoComplete?

I need autocomplete, autocomplete mode to get suggestions from url, custom source, etc.

Maybe that's because we don't have an implementation for Dropdown boxes.


Possible locking bug in python3 with decode_responses=True

When creating a redis instance by passing decode_responses=True to StrictRedis, I encouter a bug in Python 3.
The token saved in threading.local is created this way:
token = b(uuid.uuid1().hex)

And the check is done this way:
            lock_value = pipe.get(name)
            if lock_value != expected_token:

But with decode_responses=True, the value got from redis is a str, not a bytes, so the values don't match and the error "Cannot release a lock that's no longer owned" is raised.
Maybe it's an error on my side (detected when making redis-limpyd work with redis-py 2.10.x).
It would be cool if someone could confirm this problem
Thanks in advance, and for this amazing library

You're correct, this is a bug. lock_value will be a unicode string based on your encoding while expected_token is likely a byte string.

This was resolved with redis-py 3.x. Thanks for reporting.


Wechaty主分支依赖的Wechaty-Puppet和Wechaty-Puppet目前的NPM版本不一致

Wechaty主分支目前依赖的是^0.35.1
而目前Wechaty-Puppet目前NPM上的版本是0.34.3
我自己实现的Puppet继承自0.34.3版本(NPM能下载到的非next的最新版本),所以在实际使用的时候会出现报错
const puppet = new CustomPuppet({
    token: 'token'
}) as Puppet
const bot = new Wechaty({ puppet })

会得到一个错误:
Type 'CustomPuppet' is not assignable to type 'Puppet'.
Property 'options' is protected but type 'Puppet' is not a class derived from 'Puppet'.

我想问下是因为Wechaty-Puppet版本不一致导致的问题吗?

我想问下是因为Wechaty-Puppet版本不一致导致的问题吗?

The short answer is: YES.
I believe you are running into https://github.com/wechaty/wechaty/issues/2090 .
Please update your Puppet version to the same version that the Wechaty is using, and to see if it can solve your problem.

Please update your Puppet version to the same version that the Wechaty is using, and to see if it can solve your problem.
但是目前npm上wechaty-puppet版本只有0.34.3,我是要使用wechaty-puppet的next版本么?还是等你们重新发布一个大于0.35版本的wechaty-puppet

我手动指定了^0.35版本,解决问题了.
建议latest标签的版本可以升级到0.35以上,和wechaty所依赖的最低版本可以一致

Glad to know that you have solved this issue, cheers!
I'd love to accept a PR to update the version to 0.35, please feel free to create one if you like to.
Thank you very much!

我需要研究下wechaty-puppet的发布机制,之后会提交一个pr试试


update paths

Change the default root path to the cwd so the example index.juttle can simply refer to paths starting with /examples.
Also go through all examples and remove /run from the URLs.
Tested that when running /examples/core-juttle/index.juttle, the various links properly work to load the other juttles.

@mnibecker @dmehra

lgtm given the accepted way to run juttles outside of examples is
$ juttle-engine --root /

So if we agree on cwd, is this good to go? @go-oleg?

The way juttle-engine-client was written in outrigger, it won't work with cwd either since it resolved the given path to be an absolute filesystem path. It would need to resolve it relative to configured root.

I think the simplest thing to do would be to not resolve at all -- assume that the cwd where the user is running the client is the same as where they ran the engine... @mstemm thoughts here?

In the spirit of #gsd to get this release out the door, I removed the commit that changes the root to cwd. This now only contains the URL changes in examples and index.juttle, so the behavior should be the same as outrigger.
We can discuss whether to change the default root path at a later time, but we shouldn't block the release on it.

:+1: lgtm


feat [Logger]: (static) addOutputListener

re added addOutputListener used in logger_flutter
updated dependencies:

test ^1.16.8 -> ^1.21.3
padantic ^1.11.0 -> flutter_lints ^2.0.1

note:
tests passed.
I will make another P.R. for logger_flutter after some tests.

Any update on merging this?

@bradintheusa use
https://pub.dev/packages/logger_flutter_fork
and
https://pub.dev/packages/logger_fork


[BUG] @Catch on ErrorFilter not working

Information

Version: ^7.13.1
Packages: @tsed/platform-exceptions

BadRequest from ajv and Unauthorized from manual thrown still return empty response. And debug not go through ErrorFilter.catch
Errors were thrown from LoginInteraction.ts (invalid body params when login)
Example
// ErrorFilter.ts - exact copy from https://tsed.io/docs/exceptions.html#exception-filter
@Catch(Error)
export class ErrorFilter implements ExceptionFilterMethods {
  catch(exception: Exception, ctx: PlatformContext) {
    // BadRequest from Ajv validator didn't run through this function
  }
}

// Server.ts
import "./error-handler/ErrorFilter.ts"

@Configuration({
  // app config
  mount: {
     "/": [InteractionsCtrl],
  },
  oidc: {
    // oidc config
  }
})
export class Server {}

Acceptance criteria

[ ] Criteria 1

Close it. I made mistake in another config so it  failed


Add shellcheck

Problem this feature will solve
Since this project is almost entirely shell scripts it would be nice to have the option to lint them without any additional setup.
Background
shellcheck is a good bash linter
Proposed Solution
Install shellcheck latest version for all users.
Constraints and Assumptions
Many users wont use this but it is so tiny lets add so that we can use Gitpod to develop this project
Alternatives or Workarounds
Develop this project on the local machine without Gitpod
Or
Just use the command line shellcheck
Additional context
shellcheck cannot be added conditionally to the IDE since it needs to be installed via docker and as an extension in .gitpod.yml

shellcheck in the  IDE cannot ignore files with no extension so the shellcheck IDE extension will not be used.
I devised a command that will inclusively shellcheck just the starter scripts. This has been added as an alias.
alias lint-starter-scripts='find "$GITPOD_REPO_ROOT/.gp" -type d \( -name node_modules \) -prune -false -o -name "*.sh" -exec shellcheck -x -P "$GITPOD_REPO_ROOT/.gp" {} \;'