QUIC client always sets qlog file to '.qlog'

Currently when running proxygen hq with quic in client mode and setting the --qlogger-path flag, proxygen will always write the qlog to qlogger-path/.qlog. The documentation states that it is intended to write to <CID>.qlog but this doesn't happen.
What's happening is in QuicClientTransport.h, the constructor defaults connectionIdSize = 0, so in the below code snippet, clientConnectionId will be an empty vector. https://github.com/facebookincubator/mvfst/blob/8581abeed160bcc1d205aab3e35338746d3fc8b4/quic/client/QuicClientTransport.cpp#L48-L51
Later in QuicClientTransport.cpp when the QuicClient sets its qlogger, it will set dcid = clientConnectionId = '':
https://github.com/facebookincubator/mvfst/blob/8581abeed160bcc1d205aab3e35338746d3fc8b4/quic/client/QuicClientTransport.cpp#L1534-L1542
setDcid() does not seem to be called again after that. Thus when we call FileQLogger::outputLogsToFile, the dcid will have a value but it will be an empty vector, causing the '.qlog' filename. https://github.com/facebookincubator/mvfst/blob/499b5fb0cebf893da1cc9707fa2bbe8eaf3e6c4e/quic/logging/FileQLogger.cpp#L444-L453
While this can be dealt with from the user's perspective by creating multiple distinct qlog directories when running proxygen client multiple times, it is a bit cumbersome. Especially since other QUIC implementations properly output 'unique' qlogs on each run. I'm not sure what the fix will be but changing QuicClientTransport.h constructor to set connectionIdSize to some arbitrary number such as 20 temporarily fixes the issue.

Thank you for reporting this! I also noticed that but haven't had the time to fix it. An easy fix would be to use server cid for setDcid call. A proper fix is to remove the setScid and setDcid APIs from QLogger interface and add group_id support, and use server cid as the group_id for now (that will be broken again when we support CID changes in the middle of a connection).

@yangchi is right of course but I think perhaps the best long term approach for the filename is to use the ODCID selected by the client, which is always random and both sides know, and it never changes, for naming qlog files. It's indeed something we need to fix.

The ODCID approach is probably indeed the best one and the one used by most other implementations as well.
Not intending to hi-jack this issue with a tangent, but qlog draft-02 will include the QLOGDIR environment variable (https://github.com/quiclog/internet-drafts/issues/51), which is similar to SSLKEYLOGFILE in concept. This is already supported by several implementations (e.g., curl, quiche, quic-go), but not sure it's in mvfst yet. Maybe that could be included as part of this fix as well?

We now use the ODCID


Investigate yaml schema validation

Description of Problem:
When we read YAML training data files, we validate them against a schema. This is currently taking a lot of time. Skipping this step e.g. brings down the training data reading times from 18 minutes to 8 minutes.
Overview of the Solution:

is there a faster library?
Can we accelerate our current library?
Should we add a flag to the CI to disable the schema validation?

Definition of Done:

[ ] Propose next steps to speed up the YAML schema validation

related https://github.com/RasaHQ/rasa/issues/7977
We should also double check if the schema extension here is needed or can be accelerated

See: https://json-schema-everywhere.github.io/yaml#:~:text=While YAML has advanced features,supported choice for YAML validation.

We should consider using jsonschema (and making the schemas public)

We decided to drop this one because the performance is good already and because we have more important stuff to work on.


Add Task panel, link to tasks from user region span panels

I have a work-in-progress implementation in the https://github.com/kiwicom/gotraceui/tree/ms/tasks branch. The branch needs cleanup before it can be sent upstream and I'll probably rebase it multiple times before then.
If anyone has feedback on it in the mean time, please let me know.

Related: https://github.com/dominikh/gotraceui/pull/162


Scala Kinesis Enrich: How to change the log level at runtime?

How can I change the log level at runtime for the Kinesis enricher? I have events that are failing, but I'm unable to see any details as to why, just that they're getting written to the bad stream.

Hello @jramos ,
It isn't currently possible to change the log level - there are some thoughts about this in ticket #1526
You can go through some slightly weird steps to edit the Kinesis Enrich executable and change the logging level:
tail -c +42 snowplow-kinesis-enrich-0.6.0 > snowplow-kinesis-enrich-0.6.0.jar
java -Dorg.slf4j.simpleLogger.defaultLogLevel=error -jar snowplow-kinesis-enrich-0.6.0.jar {{config options}}

The tail command strips off the initial shell script bytes of the file, leaving you with a normal jar file which is runnable using java -jar.

Hi @jramos - the records in the bad stream will tell you why they are failing! The JSONs contain the raw event and the failure messages. You can load these into Elasticsearch using the kinesis-elasticsearch-sink for analysis. There is nothing meaningful logged to stdout/err around individual event failures.

Cool, thanks!

Actually, there's a debug log level that'll output the bad row. Thanks guys!


DOC: SEO Capabilities

Review and edit the doc input provided in GH-1269.
See also this PR: GH-1272.

PR GH-1520 created.


Regenerative Braking

Summary
Check battery temperature, wheel speed, and max cell voltage before starting regenerative braking.
Send negative torque request starting from  <50% pedal braking.
Changelist

Start regenerative braking at:

Battery temperature< 45 degrees C (charging according to data sheet)
Max cell voltage < 3.9V
Wheel speed > 5.0 km/hr (according to rule book)
<30% accelerator pedal

Active differential

Power limiting with max power = 10kW

as10.5kW ~ 35A, battery can handle ~35A continuous for charging

Unit tests written

Refactor TV and Regen together

Testing Done

Tested concept on track

Resolved Issues

Checklist
Please change [ ] to [x] when you are ready.

[ ] I have read and followed the code conventions detailed in README.md (This will save time for both you and the reviewer!).
[ ] If this pull request is longer then 500 lines, I have provided explicit justification in the summary above explaining why I cannot break this up into multiple pull requests (Small PR's are faster and less painful for everyone involved!).

Fixes SW-17


Error in creating kind cluster using kind setup script

Describe the bug
If suppose there are two clusters with the name "kindxyz" and "kindabc" is present in the vm and now we try to create another cluster with the name "kind123", it will give an error that "Cluster is already created".
To Reproduce
Create a cluster named kind1 and then try to create another cluster kind using the kind-setup.sh script, it will generate an error.
Expected
Cluster creation should be successful.
Actual behavior
cluster creation fails

The reason for the failure is in kind-setup.sh script we have
kind get clusters | grep $CLUSTER_NAME > /dev/null 2>&1
  if [[ $? -eq 0 ]]; then
    echoerr "cluster $CLUSTER_NAME already created"
    exit 0
  fi

So when we already have a cluster named "kind2" and now we try to create a cluster name "kind", the grep command will show that there is already a cluster named kind present even though the cluster named kind is not present.


From which paper is the UPerNet architecture taken?

Hi
I was wondering from which paper the UPerNet architecture is taken?
I'm looking for the paper that describes it, and the reasoning behind it.
Thanks

@jackaceuser
Unified Perceptual Parsing for Scene Understanding. T. Xiao, Y. Liu, B. Zhou, Y. Jiang, and J. Sun.


evaluating BEV bounding boxes

I'm using the KITTI cpp code in this repo to evaluate my birds eye view bounding box detections. The code filters the detections into easy, moderate and hard by the height of the detected object's bounding box in the image space (i.e. pixels). I do not have image detections at all. I'm experimenting solely on BEV data. Any idea how to evaluate ONLY BEV detections. Is there a reference somewhere for this?

just commenting out the other parts in the cpp file, then compile again.


some special words can not be encoded

I just followed your instructions of code to convert the llama 3-8b-instruct model into an embedded. When I use the l2v.encode() function to get embedding of sentence "Buddhism (religion/philosophy)", the code will raise an issue about "RuntimeError: The expanded size of the tensor (10) must match the existing size (12) at non-singleton dimension 0.  Target sizes: [10].  Tensor sizes: [12]". Just some special words can raise this kind of issues. So do you know the reason of this problem?

Hi, can you share a code snippet to reproduce the issue?

ok.
Firstly, I converted the foundational llama 3-8b-instruct model into an embedder, named "Llama-3-8B-instruct-Emb".

Then, I follow your instructions to reload this model and use this model to get embedding.

In the end, I use "l2v.encode()" to generate embedding.

It is just an example of this issue. Most sentences can generate embedding correctly, but some sentences will raise this problem. So, I don't know how to solve this issue.

Hi @Yan2266336,
I believe you are mixing two different ways of loading the model. The loading using transformers and trust_remote_code is required for loading Huggingface models, which have custom files that are needed for bidirectional attention. l2v.save will not save those files, hence if you load from a local directory, you are actually using a unidirectional model instead of bidirectional.
If you are saving using l2v.save, then you should be loading the model with l2v = LLM2Vec.from_pretrained method.
This code snippet is working without any errors on my end
import torch
from llm2vec import LLM2Vec

if __name__ == "__main__":
    l2v = LLM2Vec.from_pretrained(
        "meta-llama/Meta-Llama-3-8B-Instruct",
        device_map="cuda",
        torch_dtype=torch.bfloat16,
        low_cpu_mem_usage=True,
    )

    l2v.encode(["Buddhism (religion/philosophy)"])

Thank you so much for helping me to solve this issue. However, arises another issue when I use this code to get embeddings, just as shown in the figure.

Do you know what the problem is? Because I have tried this way to get embeddings, but it didn't work. Therefore, I used the code you shared in the hugging face to get the embeddings.

It works. Thanks for helping me to solve these problems.

No problem. Feel free to re-open the issue if you have any more questions

Hello, I have to bother you again. recently I Instruct-tuned a 'meta-llama/Meta-Llama-3-8B-Instruct' model and pushed it into my hugging face, this model is 'YBXL/Meta-Llama-3-8B-InstUMLS-Concept-train11e-06'. The model's structure is shown here:

However, I used the same way to load my model into the llm2vec framework, and the previous issue arose again.

I also tested the foundational llama-3-8b-instruct model and my previous fine-tuned llama model, they are still working. only the lasted one "YBXL/Meta-Llama-3-8B-InstUMLS-Concept-train11e-06", the llm2vec arose this problem. Could you please help me to solve this problem? Thank you so much.

It seems like there are some issues with responding, I didn't see any of your responses.

@Yan2266336, the issue arises because the input text is not put in a proper template. This step happens here, but because the model name has changed, the if condition is not satisfied. Here is a quick workaround to override the function and apply Llama-3 template.
from llm2vec import LLM2Vec

import torch

class CustomModel(LLM2Vec):
    def prepare_for_tokenization(self, text):
        text = (
            "<|start_header_id|>user<|end_header_id|>\n\n"
            + text.strip()
            + "<|eot_id|>"
        )
        return text

l2v = CustomModel.from_pretrained(
    "YBXL/Meta-Llama-3-8B-InstUMLS-Concept-train11e-06",
    device_map="cuda",
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True
    )

l2v.encode(["Buddhism (religion/philosophy)"])

Thank you so much. So, in the future, I just need to define a custom model as you described here to fit the prompt template, right? Unless you design a prompt template outside the package later on.

Yes, exactly. Your understanding is correct.

Closing as it is stale. Feel free to re-open if there are any more questions.


Scam Thread Submission

Duplicate Submissions

[X] Yes, I checked that the name is not currently in the list
[X] I read the wiki explaining each different categories and examples before submitting

(Required) Spam Comment Direct Link
https://www.youtube.com/watch?v=uEBT74A_710&lc=UgzTKDJ1URWkaYNwfHF4AaABAg.9gwms5Fz2tl9gwuwZiWwIn
(Optional) Screenshot of comments referencing the scammer names

(Required) List of the scammer names
jonathan lewis

Added


Skipping DASH manifest - 403

Hello,
I use youtube-dl on Fedora 22 64b.
youtube-dl --version
2015.07.04
Just got this:
WARNING: [youtube] FndmvPkI1Ms: Skipping DASH manifest: ExtractorError(u'Could not download DASH manifest: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)
[debug] Invoking downloader on 'https://r2---sn-gxo5uxg-jqbe.googlevideo.com/videoplayback?id=167766bcf908d4cb&itag=141&source=youtube&requiressl=yes&pcm2cms=yes&gcr=fr&mn=sn-gxo5uxg-jqbe&mm=31&ms=au&mv=m&pl=18&ratebypass=yes&mime=audio/mp4&gir=yes&clen=6478313&lmt=1429874861434540&dur=203.174&fexp=901816,906335,9408710,9415365,9415485,9416126&signature=0EB39F083E529C1EEAC3920288F3C09F822650DB.34AE2CC8F886D725623198C1E7162F58B23A1AA2&upn=uhYLlhTjMjg&key=dg_yt0&mt=1437898173&sver=3&ip=<IP_ADDRESS>&ipbits=0&expire=1437919826&sparams=ip,ipbits,expire,id,itag,source,requiressl,pcm2cms,gcr,mn,mm,ms,mv,pl,ratebypass,mime,gir,clen,lmt,dur'
If you need any more information, let me know ;)
Best,
Edouard

Your copy is outdated. Have a look at update instructions if you have problems on updating.

I've checked that but as I installed youtube-dl through dnf, I'm going to wait for the package to be updated (lazy french here, sorry ;). If the issue has been fixed in more recent versions, then great! Thanks for your reply and the good job


How to scan Websockets?

Hi I'm trying to scanning MQTT ports and I got success. I want to whether I can directly search for a specific port without specifying the type of the port. For eg. I want to search for websockets which is port 9001. How can I do that?

@balthazar

You might want to read a little more about Zeroconf to get a better answer, but I think you should be able to as the default type is tcp and that's what websockets are using


Bring back assetPathResolver closure if set in Tenancy Vite Facade

The original Vite Facade uses the assetPathResolver closure (if set) to generate assets with a custom URL. This is needed when for example assets are cached on a CDN, or if you need assets from a central URL while in Tenant context.
This updates the Tenancy version of the Vite-Facade to bring back the assetPathResolver logic.
Example usage from Laravel docs:
{{
  Vite::withEntryPoints(['resources/js/app.js']) // Specify the entry points...
    ->createAssetPathsUsing(function (string $path, ?bool $secure) { // Customize the backend path generation for built assets...
        return "https://cdn.example.com/{$path}";
    })
    ->toHtml()
}}

Thanks!


SR 4 can safely shrink request and response payload sizes

With a major version bump on the horizon, we can take a hard look at our payload sizes. IMO, much of the information that we're passing is redundant. I'm going to do a breakdown here so that we can discuss and share our approach with folks like @joshleblanc and @jonathan-s who write code that interfaces with our data structures.
Note that several points assume that #592 will be merged.
Request
Today:
{"attrs"=>{"class"=>"btn btn-dark", "type"=>"button", "data-reflex"=>"click->example#ping", "data-action"=>"click->example#__perform", "data-controller"=>"stimulus-reflex", "checked"=>false, "selected"=>false, "tag_name"=>"BUTTON", "value"=>""}, "dataset"=>{"dataset"=>{"data-reflex"=>"click->example#ping", "data-action"=>"click->example#__perform"}, "datasetAll"=>{}}, "selectors"=>[], "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "resolveLate"=>false, "suppressLogging"=>false, "xpathController"=>"//*[@id='poop']/form[1]/button[1]", "xpathElement"=>"//*[@id='poop']/form[1]/button[1]", "inner_html"=>"", "text_content"=>"", "reflexController"=>"stimulus-reflex", "permanentAttributeName"=>"data-reflex-permanent", "target"=>"example#ping", "args"=>[], "url"=>"http://localhost:3000/", "tabId"=>"c146c7c3-7914-4dfb-adc1-5f6e70f57ce4", "version"=>"3.5.0-pre9", "params"=>{"last_name"=>"bad", "bar"=>true}, "formData"=>"first_name=&last_name="}

attrs: required, don't see how we can get around it
dataset: why do we send this as a separate list? why can't we get it from the attrs?
datasetAll: propose that we omit this and default to {} unless it is specified
selectors: propose that we omit this and default to [] unless it is specified
reflexId: required
resolveLate: will be removed in SR 4
suppressLogging: propose that we omit this and default to false
xpathController: will be removed in SR 4
xpathElement: will be removed in SR 4
inner_html: propose that we rename this to innerHtml and omit it and default to "" unless it is specified
text_content: propose that we rename this to textContent and omit it and default to "" unless it is specified
reflexController: propose that we omit this and default to stimulus-reflex unless it is specified
permanentAttributeName: propose that we omit this and default to data-reflex-permanent unless it is specified
target: required
args: propose that we omit this and default to [] unless it is specified
url: required
tabId: required
version: required
params: propose that we omit this and default to {} unless it is specified or a form is serialized
formData: propose that we omit this and default to "" unless it is specified

Proposed:
{"attrs"=>{"class"=>"btn btn-dark", "type"=>"button", "data-reflex"=>"click->example#ping", "checked"=>false, "selected"=>false, "tag_name"=>"BUTTON", "value"=>""}, "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "target"=>"example#ping", "url"=>"http://localhost:3000/", "tabId"=>"c146c7c3-7914-4dfb-adc1-5f6e70f57ce4", "version"=>"3.5.0-pre9"}

That has to look nicer, no?
Response
Today:
{"cableReady"=>true, "operations"=>[{"value"=>0, "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "selector"=>"#my_val", "operation"=>"setValue"}, {"name"=>"stimulus-reflex:morph-nothing", "selector"=>nil, "payload"=>{}, "stimulusReflex"=>{"attrs"=>{"class"=>"btn btn-dark", "type"=>"button", "data-reflex-serialize-form"=>"true", "data-reflex"=>"fart->example#ping", "data-action"=>"example#ping fart->example#__perform", "data-controller"=>"example", "checked"=>false, "selected"=>false, "tagName"=>"BUTTON", "value"=>""}, "dataset"=>{"dataset"=>{"data-reflex-serialize-form"=>"true", "data-reflex"=>"fart->example#ping", "data-action"=>"example#ping fart->example#__perform", "data-controller"=>"example"}, "datasetAll"=>{}}, "selectors"=>["body"], "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "resolveLate"=>false, "suppressLogging"=>false, "xpathController"=>"//*[@id='poop']/form[1]/button[1]", "xpathElement"=>"//*[@id='poop']/form[1]/button[1]", "innerHtml"=>"", "textContent"=>"", "reflexController"=>"example", "permanentAttributeName"=>"data-reflex-permanent", "target"=>"example#ping", "args"=>[], "url"=>"http://localhost:3000/", "tabId"=>"c146c7c3-7914-4dfb-adc1-5f6e70f57ce4", "version"=>"3.5.0-pre9", "params"=>{"lastName"=>"bad", "bar"=>true}, "formData"=>"first_name=&last_name=", "morph"=>:nothing}, "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "operation"=>"dispatchEvent"}], "version"=>"5.0.0.pre9"}

With the introduction of the Reflex class on the client, there is basically no need to send the stimulusReflex object back to the client. We are already tracking almost everything in the hash on the Reflex instance. In fact, so far as I can tell, the only thing that is new is the morph type. For page and selector morphs, html, permanent_attribute_name and children_only are passed as options to CableReady itself.

selector: propose defaulting to nil
payload: propose defaulting to {}

Note that we might even be able to default the permanent_attribute_name to data-reflex-permanent and save another 45 bytes for every Reflex operation.
Proposed:
{"cableReady"=>true, "operations"=>[{"value"=>0, "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "selector"=>"#my_val", "operation"=>"setValue"}, {"name"=>"stimulus-reflex:morph-nothing", "morph"=>:nothing, "reflexId"=>"22d1b880-417d-4a9b-b4b3-b5339562368f", "operation"=>"dispatchEvent"}], "version"=>"5.0.0.pre9"}

Sign me up!

If we capture the permanent flagged DOM elements during the Reflex init and store references, we can do permanent protection entirely on the client and not even need to send the permanentAttributeName at all.

I think we can close this for now, as our attention is on building up TurboBoost. We can reopen this if the need arises.


#78 add center_nucleotide output to bin json using the median of a list of positions

This gives the exact correct nucleotide position.  My only concern is that it might be slower than before.  However, if JSON output is not a significant portion of total runtime then that doesn't matter.

It looks like the Travis build is failing because it can't get the code?
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
Error: retrieving gpg key timed out.
The command "sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y" failed and exited with 1 during .

Awesome!
I've tried to restart the build. Seems things have been flaky lately. This will get easier when Travis moves to Ubuntu 20.04.

Center_nucleotide and the surrounding median math was dropped in favor of the much simpler first_nucleotide and last_nucleotide output.


Umbrella header warning while using Carthage

Hi, due to recent problems with SQLite.swift and Cocoapods, I use Carthage to import SQLite.swift to my project. Everything builds fine, but I get a warning: Umbrella header for module 'SQLite' does not include header 'sqlite3.h'. Is this warning something I can ignore, or can it cause any problems in the future, e.g. during submission to the App Store?
I use Carthage 0.15.2 along with Xcode 7.3

+1 same problem
Redefinition of module "Compression","Darwin","OS","libkern"

@Huato115 Are you sure you have the same problem using Carthage? @SebastianOsinski's warning appears to be different?

Xcode version 7.3 . You should try yourself.

@Huato115 This is not the same problem. I have minor issue with Carthage, you seem to have major build errors with resemble issues #378 #380

I have exactly the same issue. Tried to switch from Pod to Carthage, but this gives me exactly the same warning.

@filipmelik thank a lot

For me this warning  somehow disappeared today. I cannot really remember what I did, but i reckon it was only something like Clean and Clean Build Folder. Nothing special. Can you try it @SebastianOsinski to see if the problem disappear?

@filipmelik Thanks! It dissapeared after Cleaning build folder. Maybe it was some 'left over' after previous builds

Ah, the zen of Clean Build Folder…
Is this safe to close out?

Closing out for now. Feel free to chime in and I'll reopen if this continues to be an issue.


make senders that cannot complete with a value awaitable

such senders are awaitable as if they could return void.
Fixes #611

/ok to test

/ok to test


Rules require dependent section routing path re-evaluation

What is the context of this PR?
This PR adds answer id section dependents. When an answer_id is changed which would affect the status of another section the routing path of that section is re-evaluated to make sure it is still correct
How to review
Using test_new_routing_and_skipping_section_dependencies answer the first question as yes to skipping and add a couple of household members. Complete the primary person and one of the household members, now go back and change your answer to skipping to no, you should see the statuses change of the completed sections. Changing the skipping answer back will see them complete again
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

We'll need to revisit dependency handling at some point. It is a bit messy with all the different bits we have had to add.


Unable to use the claimed GAS

The wallet shows i have a xx amount of claimed GAS but ,iam unable to transfer it or use it .
Iam using the latest NEO wallet 2.3.6458.21374

See #70

Try to rebuild index?

There are links re this.

Search here and on youtube and you will find the simple answer.

I have the same issue as you, I think. #100
Have you found a solution?


Large file download on Swagger UI with FileResponse / StreamingResponse. Chrome out of memory issue.

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi import FastAPI
from fastapi.responses import StreamingResponse, FileResponse

app = FastAPI()

@app.get("/small_file_please")
async def get_small_file():
    fn = "small_864K.png"
    response = FileResponse(fn, media_type="application/octet-stream", filename=fn)
    return response

@app.get("/medium_file_please")
async def get_medium_file():
    fn = "medium_995M.zip"
    response = FileResponse(fn, media_type="application/octet-stream", filename=fn)
    return response

@app.get("/large_file_please")
async def get_large_file():
    fn = "large_1.5G.zip"
    response = FileResponse(fn, media_type="application/octet-stream", filename=fn)
    return response

Description

I was trying to create some endpoint to download file using FastAPI.
It worked very good for small files, but as soon as I tried with some large file, the chrome browser just crashes upon loading completes. Showing following message,

StreamingResponse or FileResponse has same situation.
In my case, up to around 1G was okay but when I tried with more than 1.4G file it crashes.
At first I looked up google to find a way to increase memory limit with --max_old_space_size=4096 but no luck.
And looked for fastapi related posts but couldn't find it as well.
So I was wondering If anyone had simillar issue and guide me to right direction?

Operating System
Linux
Operating System Details
FastAPI is running on Ubuntu 18.04. (Inside docker container)
Tested chrome browser was on Windows 10.
FastAPI Version
0.70.0
Python Version
3.8.10
Additional Context
No response

I can confirm that with curl command the api works correctly, so it is not FastAPI issue.
Sorry about interrupt!!


Use compiler filesystem

hi there, I was running into an issue with your where another plugin was augmenting the local fs, but was being ignored by this Plugin.
best practice is that plugins should use the compiler exposed filesystems to avoid these sort of issues. The downside is you can only really rely on the async functions existing, which complicates the logic a bit here. On the upside side tho, webpack already caches all fs operations, so your caching logic here could probably be removed  as redundant (I didn’t want to assume you wanted to do that though)

friendly ping

I've merged this and released 2.0, could you try using it and ensure it meets your use case?
I'd like to get some people using it before I go ahead and update create-react-app.


Extract and test a couple of helper functions

Codecov Report

Merging #8 into master will increase coverage by 6.77%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
+ Coverage   32.82%   39.59%   +6.77%
==========================================
  Files           5        6       +1
  Lines         195      197       +2
  Branches       27       27
==========================================
+ Hits           64       78      +14
+ Misses        131      119      -12

Impacted Files
Coverage Δ

src/types.ts
100% <ø> (ø)
:arrow_up:

src/actions.ts
15.5% <100%> (+0.11%)
:arrow_up:

src/services/auth.ts
83.33% <100%> (+10%)
:arrow_up:

src/services/utility.ts
100% <100%> (ø)

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 56c3af6...a18dada. Read the comment docs.


Add more property attribute

This is supplemental change of  dmd/#279 and dmd/#280.
But this pull doesn't need the compiler fixes.

Now, Phobos built with -property option. This patch is needed for fixing some bugs.

Thanks for your quick merging!.

[OT] How to reference a pull request (not an issue) in github (possibly from other project of same user) and where is the manual? I mean post source of your pull request description please. (yes, google doesn't help)


Add Guild Ops Suite as Operator tool

Operator Tool addition

Name: Guild Operator Suite
Description: A collection of tools and scripts for easy interaction with blockchain
Link:  https://cardano-community.github.io/guild-operators
Source: https://github.com/cardano-community/guild-operators

Description of the change

Add Guild Operators Suite to getting-started page.
Rename cntools reference to guild-ops-suite as superset.
Fix logical error (AND to NAND, and instanceOf -> typeOf) in checkOperatorTool function in builder-tools.js

Very nice, thank you for the contribution. Small note: I think the notebox with the "disclaimer" has a tab in which results into a code box within the note box.

Ah - I think I fixed it with the next [squashed] commit before marking it ready (y)


fix #447 NPE

Fixes #447
Turn on the HandRestock function of Tweakeroo, dig a block in survival mode, such as dirt, and then put it down immediately, it will cause a crash.

I'd prefer to actually resolve the underlying issue here with panels being null if possible, perhaps addWidgets should exit much earlier if EMI is in an error state because of tweakeroo?

I'd prefer to actually resolve the underlying issue here with panels being null if possible, perhaps addWidgets should exit much earlier if EMI is in an error state because of tweakeroo?

You mean like this?
	public static void addWidgets(Screen screen) {
		SidebarPanel panel = panels.get(1);
		if (panel.space == null) {
			EmiLog.warn("panel.space is null, stop addWidgets.");
			return;
		}
		forceRecalculate();
		if (EmiConfig.centerSearchBar) {
			search.x = (screen.width - 160) / 2;
			search.y = screen.height - 21;
			search.setWidth(160);
		} else {
			search.x = panel.space.tx;
			search.y = screen.height - 21;
			search.setWidth(panel.space.tw * ENTRY_SIZE);
		}
		EmiPort.focus(search, false);

		emi.x = 2;
		emi.y = screen.height - 22;
		tree.x = 24;
		tree.y = screen.height - 22;
		updateSidebarButtons();
	}

I'd prefer to actually resolve the underlying issue here with panels being null if possible, perhaps addWidgets should exit much earlier if EMI is in an error state because of tweakeroo?

You mean like this?
	public static void addWidgets(Screen screen) {
		SidebarPanel panel = panels.get(1);
		if (panel.space == null) {
			EmiLog.warn("panel.space is null, stop addWidgets.");
			return;
		}
		forceRecalculate();
		if (EmiConfig.centerSearchBar) {
			search.x = (screen.width - 160) / 2;
			search.y = screen.height - 21;
			search.setWidth(160);
		} else {
			search.x = panel.space.tx;
			search.y = screen.height - 21;
			search.setWidth(panel.space.tw * ENTRY_SIZE);
		}
		EmiPort.focus(search, false);

		emi.x = 2;
		emi.y = screen.height - 22;
		tree.x = 24;
		tree.y = screen.height - 22;
		updateSidebarButtons();
	}

After testing, this way of writing will cause the backpack search bar to be rendered to the upper left corner when it is first opened.
Then, due to my limited level, I did not find the specific reason why panels became null.

forceRecalculate(); should be setting up the panels, and only seems to bail if EmiScreenBase.getCurrent() is null, meaning there's no "real" screen open. This pattern is used in several places in EmiScreenManager and can be put at the start of this method instead. No need to warn, this is an expected case.
EmiScreenBase base = EmiScreenBase.getCurrent();
if (base == null) {
	return;
}

Just want to make sure this actually fixed the problem, and I am going to nitpick, the codestyle of the repo doesn't have single line ifs. If this works and you make the style change I'll happily merge and release for all versions in the next update. Thanks for reporting, debugging, and fixing this issue :)

Just want to make sure this actually fixed the problem, and I am going to nitpick, the codestyle of the repo doesn't have single line ifs. If this works and you make the style change I'll happily merge and release for all versions in the next update. Thanks for reporting, debugging, and fixing this issue :)

This solves the problem nicely. And thank you very much for reminding.

Oh you were targetting the 1.20 branch, but all commits need to be merged into the main 1.20.4 branch and retargetting has caused a really big diff... can you remake the PR based on 1.20.4? I'm sorry for all the work I'm asking of you for such a simple change but I can't merge it without that :sweat_smile:

I didn't see this was resolved, sorry for the late merge.


Update to latest VS Code engine and Node 10 types

The latest version of VS Code runs on Node 10.  This updates our Node type declarations to v10 to better check compatibility (though it looks like we were okay).
It looks like the CI was already using Node 10, so I don't think we need to update anything there.
Creating this PR now to allow CI to noodle on it.  @bnookala would you mind taking a look to see if you think I've overlooked anything please?  But let's not merge until the latest VS Code has been out there a little longer.  Thanks!

Looks good review wise. I'll pull your branch and test locally as well.

@bnookala Did you run into any issues?  If it worked okay for you then I'll merge it.

@itowlson - no issues!


GeRM: stream resource/datum documents

This PR implements stream resource/datum documents generation by GeRM with https://github.com/bluesky/ophyd (sync).

@AbbyGi, @jwlodek, it's ready for your review!


difference() output is not in order

Bug report
I have an increasing time-series data and I would like to get the difference between two consecutive measurements. I am using the difference() function, but I get erroneous negative output and irregular time order in the output.
System info: v1.2, Ubuntu 14.04
Steps to reproduce:

Insert the following data (daily increasing values from 2016-09-01 to 2016-11-18)
gist link: https://gist.github.com/ahmetkizilay/8159e06b5680aac2c6365df44fae0305

View inserted data (for sanity check)

SELECT DIFFERENCE(value) FROM daily_stats_3

Call difference() function:

SELECT DIFFERENCE(value) FROM daily_stats_3

Expected behavior: I expect to see time values ascending in order, and only positive values as this is an increasing time series data
Actual behavior: The time order seems to be inconsistent, hence the difference values are wrong
> SELECT DIFFERENCE(value) FROM daily_stats_3
name: daily_stats_3
time                 difference
----                 ----------
2016-09-02T04:00:00Z 7
2016-09-03T04:00:00Z 4
2016-09-04T04:00:00Z 5
2016-11-14T05:00:00Z 833
2016-11-15T05:00:00Z 14
2016-11-16T05:00:00Z 10
2016-11-17T05:00:00Z 15
2016-11-18T05:00:00Z 10
2016-11-07T05:00:00Z -185
2016-11-08T05:00:00Z 29
2016-11-09T05:00:00Z 14
2016-11-10T05:00:00Z 28
2016-11-11T05:00:00Z 34
2016-11-12T05:00:00Z 8
2016-11-13T05:00:00Z 11
2016-10-31T04:00:00Z -189

Additional info: The following query, however, seems to work as expected. (I have one value per day, so MIN is the only value recorded for that day)
SELECT DIFFERENCE(MIN(value)) FROM daily_stats_3 WHERE time >= '2016-09-01' GROUP BY time(1d)

It might be related to this one: #8214.
Can you try it out with that commit included? If that PR doesn't match your issue or it doesn't work, please comment again and I'll reopen this issue. Thanks.


Update travis to build node 5

Travis will allow Node 5 to failures. Node .10 and 4 have to pass.

@RackHD/corecommitters @benbp

*** BUILD #288 ***
Test Name: Models.GraphDefinition object returned from toJSON() "before all" hook: reset DB collections
Error Details: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.
Stack Trace: Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.

test this please

test this please

:+1:

+1

+1


Vaultwarden/Bitwarden theme no longer working after last update.

Describe the bug
After the latest Vaultwarden update the organizr theme isn't working anymore.
Theme Install Method (Don't skip)

Webserver subfilter Config/NPM

Application Info (Don't skip)

2.25.0
Latest
vaultwarden/server

To Reproduce
Steps to reproduce the behavior:

Open login screen
Theme isn't working

Expected behavior
Working theme
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (If applicable) (please complete the following information):

OS: Win 11
Browser: chrome
Version: 96.0.4664.110

@BaukeZwart try the develop branch now

same issue with sonarr and radarr. themes not working

same issue with sonarr and radarr. themes not working

Those are working fine here.

same issue with sonarr and radarr. themes not working

Those are working fine here.

they are now upon another restart. cheers

@BaukeZwart Looks like they added dark/light theme options that is doing it. I pushed some changes, but might still be some jank in there

@GilbN looking good.
At first glance everything is looking good again.
I will check the various pages, if I find anything I will report back.
Thanks for the fix and all the best for next year.


Can't scroll to bottom on Android

On Android the scroll stops at about 70% on the way down. It's not possible to scroll through all elements. I use Grid's in my list, each about 300x180 pixel but some are bigger or smaller. All grid sizes are calculated with auto rows and columns (the width is always 300). On Android the scroll bar at the right goes to the bottom while the elements in the list are only scrolled for about 70% at this point. On iOS this works fine (sometimes it needs a few scroll attemps to work there).

Still having the issue and get many reports from my users that this especially is not working on Android Tablets..

Hi, it probably some kind of Xamarin.Forms.ListView issue, which FlowListView is based on. Does it work on a standard ListView?

It is working with the default ListView just fine. This is the code of a tabbed page which contains 4 lists on different pages. Each page has this issue there. I'm currently trying to rebuilt it with Padding instead of Margin because the Margin is somehow not calculated in the RowHeight in Xamarin.
https://pastebin.com/Nk97e3Dv

I'll try to debug it. Meanwhile, you could also try the newest nuget version and see if it would help.

Just done a few quick tests. On the first 4 devices it seems to work. I will prepare a Beta update for my app and let my beta users test it a bit more.

Is this completely fixed in some release now or just closed because it works partially?

I just assumed that it's fixed if you can't reproduce it

As mention in the edit of my last post it does not come up the same way as before but it still has a problem if I rotate the device while the list is open. So at least it seems to work as long as I do not rotate the device with the latest version.

As a temporary fix you could try this (notice using ItemsSource instead of FlowItemsSource):
                var items = (IEnumerable<object>)flowListView.ItemsSource;
                flowListView.ScrollTo(items.ToList().Last(), ScrollToPosition.End, false);

If it won't work, it's probably a Xamarin.Forms.ListView issue (on which FlowListView is based)

Did you try it?

I did not tested it yet. But it seems like the changes to my code are enough to make it work. It looks like the FlowListView has the same problem with margins as many other controls as well (because it is not calculated into the actual control size). Since I rebuilt the list with paddings it looks like the list works even on a size switch (landscape / portrait). Strange thing that it works on iOS the whole time. I just released a new version to my Android beta testes with the padding instead of margin.. lets see if the bug is fixed on their devices too.

@Sebastian1989101 Thanks for info, it sounds like a Xamarin.Forms issue so I'll close this one. Feel free to reopen it if you have more info.


Preserve theme style upon restore

If we have a custom theme style for Material APEX instead of using the default theme style, can we preserve our custom theme style after restoring theme subscription?

Yes, I have checked that. It updates all styles in common between master and child applications, and additional styles in child applications are preserved. But, when you refresh theme subscription, your child application changes current style to master style, and you have to manually apply it again.

I confirm what @yevon has said. cc @sonny316


Proposal ref(store): make ceph optional if the node is running in aws or azure

The objective is to delegate the decision to use the ceph cluster or not.
It makes more sense (at least to me) to use the blob store provided by the IAAS and not ceph.
This implies that the application logs cannot be retrieved using deis logs -a <app>
(this could be a good reason to rethink the actual logging mechanism)
Right now is not possible to decide this and this option can eliminate the issues that ceph some times can present like "4 requests are blocked > 32 sec;" that are painful to solve.
I know that this proposal can cause a passionate discussion but I just want to know if I'm the only one thinking that this could be an option

You're not the only one. We needed a quick and dirty solution to make Deis HA by default and Ceph helped us get to 1.0. I'm personally open to making this an optional component (I can finally have my 1-node mini cluster for developing once more).

I'd love to see this as well. Nearly every issue I have had with Deis has been related to ceph doing silly things. The worst was the time it decided to fill my three equally sized disks to 35%, 91% and 95%. I then did a rebalance by utilization and it ended up at 31, 99, and 100 even though it declared reasonable weights for each osd.

+1 (related to #2812).
Most of the issue I've had while running Deis have been caused by Ceph, unfortunately.

ceph is now optional with #3947. docs are at http://docs.deis.io/en/latest/managing_deis/running-deis-without-ceph/


AutoStake rebrand from .net to .com and add missing services

Now it's ok with Rebus and complaining elsewhere ¯_(ツ)_/¯
The test seems to have some kind of bug

So the error was just misleading and infact it was indeed my own fault!
Thank you both


Implement wcRespond

User description
This takes all the actions on behalf of a front end when responding to a SessionRequest. Returning the Result that the fron end needs to reply to the request with. In the case that there is a sendTransaction request, this method also relays the transaction to the appropriate network.

PR Type
Enhancement, Other

Description

Added wcRespond method to the NearEthAdapter class to handle session request responses, including transaction relaying.
Updated buildTxPayload function parameter name for clarity.

Changes walkthrough 📝
Relevant filesEnhancement

ethereum.tsAdd wcRespond method to NearEthAdapter class

src/chains/ethereum.ts
Added wcRespond method to NearEthAdapter class.  Included Signature import from viem.  Included RecoveryData import from local types.

+17/-0

transaction.tsRename parameter in buildTxPayload function

src/utils/transaction.ts

Renamed parameter in buildTxPayload function for clarity.

+2/-2

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

Merging this but following up with a proposal for putting wc behind a beta feature.


apprtc websocket server down?

currently getting websocket timeouts, the red box says
WebSocket open error: WebSocket error
WebSocket register error: WebSocket error

after a while (~30s - 60s). @ggarber can see the same.
@MirkoBonadei @KaptenJansson can you please take a look? @juberti said there were cert errors recently.

What happens is some client goes rogue or maliciously creates thousands of bogus TLS connections to the signalling server and it runs out of sockets. Once those timeout it works again. Load balancing between the two instances was broken due to a VM name change but that has been rectified. Not sure if that will help in this situation though.

apprtc has been shutdown, according to their GitHub repository. Farewell , AppRTC

this has been overtaken by events indeed

It has also shocked me
On Wed, Feb 23, 2022, 1:02 PM Philipp Hancke @.***>
wrote:

this has been overtaken by events indeed
—
Reply to this email directly, view it on GitHub
https://github.com/webrtc/apprtc/issues/602#issuecomment-1048511981, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ARUDRLDUQEHXN3M355OAUS3U4SERXANCNFSM4GOQVN7A
.
You are receiving this because you commented.Message ID:
@.***>

If you are missing https://appr.tc/ , give a try to https://hub.docker.com/r/pegome/apprtc It has support for SSL and inbuilt TURN server.


Any sort of error causes a infinite redirect chain

Describe the problem
While implementing the Auth0 SDK, both email being not verified and script-blocker blocking access to the auth0.com domain is causing an infinite redirect chain with changing tokens.
What was the expected behavior?
Fine-grained error handling capabilities being available, so I can alert my users if the domain is blocked, or if the e-mail needs to be verified. If requests are retried, I'd expect an implementation of exponential back-off preventing rapidly sending requests despite them failing all the time.
Reproduction
Implement auth0-react like described here: https://auth0.com/docs/libraries/auth0-react
Way 1
Create a new user, but don't confirm the e-mail. Log-in and see rapid redirections.
Way 2
Install uMatrix and log-in to the React app. See rapid redirections.
Environment

Please provide the following:

**Version of auth0-react used: 1.1.0
**Which browsers have you tested in?: Firefox, Chrome
**Which framework are you using, if applicable (Angular, React, etc): React

The way we're currently working around this issue is parsing URL search params ourselves and when it contains error and/or error_description abort rendering any Auth0 components. That prevents at least the redirect chain from happening.
Looking at the code from this repo, the error is being handled internally and should be made visible to the user. Another nit is that the server is returning an English localized string in error_description instead of an enum which could be used to localize the error cause in the React application.

Hi @Empty2k12 - thanks for raising this.
In the event of a login error, the hook will return an error which you can use to handle cases like this.
If the callback url contains error and error_description params, the error object will also contain those properties.
You're probably getting an infinite redirect chain because you're using withAuthenticationRequired which currently ignores errors, so you should guard against them before using it eg
const App = () => {
  const { error } = useAuth0();
  if (error) {
    return <>Oops... {error.error_description || error.message}</>
  }
  return <Router><Route component={withAuthenticationRequired(Profile)}/></Router>;
}

We could look at adding an onError to withAuthenticationRequired, making it:
const App = () => {
  const onError = (error) => <>Oops... {error.error_description || error.message}</>;
  return <Router><Route component={withAuthenticationRequired(Profile, { onError })}/></Router>;
}

But the first example should prevent the infinite redirects issue for now.

Another nit is that the server is returning an English localized string in error_description instead of an enum which could be used to localize the error cause in the React application.

Are you generating the error on the server from a custom rule (eg https://auth0.com/rules/email-verified)?

@Empty2k12 ☝  I've edited the post above: you shouldn't be redirecting to a protected page because the onRedirectcallback won't fire if handleRedirectCallback errors, and you shouldn't make your callback page a protected page, so you shouldn't be able to get into an infinite redirect after a login error. Do you have an example app or any code I can look at?

you shouldn't be redirecting to a protected page because the onRedirectcallback won't fire if handleRedirectCallback errors, and you shouldn't make your callback page a protected page, so you shouldn't be able to get into an infinite redirect after a login error.

I cannot share code at this time, but the setup is quite simplistic. There's only one route, which is the protected one. Any user which is not authenticated will be redirected to the login-page. Seems like this use-case is not supported at this time, can you suggest any workarounds?
<Auth0ProviderWithHistory>
    <Menu />
    <Route path="/">
        <ComponentWithwithAuthenticationRequired />
    </Route>
</Auth0ProviderWithHistory>

If the callback url contains error and error_description params, the error object will also contain those properties.

Not sure how I missed the error being exported from the useAuth0 hook, sorry! This will simplify the error handling a little.

Are you generating the error on the server from a custom rule (eg https://auth0.com/rules/email-verified)?

This is indeed the case, from the error it looked like this is a feature from Auth0 rather than a script, but I checked back with the person in charge of setting up Auth0. I will initiate a change which - in our case - returns an enum-error which can be localized vs. a complete error string.

There's only one route, which is the protected one.

You'll need a route to handle the callback that isn't protected, eg:
const CallbackComponent = () => {
  var { error, isLoading } = useAuth();
  if (isLoading) return <>Logging you in...</>;
  if (error) return <>Verify your email and login again</>;
}

...

<Auth0ProviderWithHistory redirectUri="http://domain/callback">
    <Menu />
    <Route path="/callback">
        <CallbackComponent />
    </Route>
    <Route path="/">
        <ComponentWithwithAuthenticationRequired />
    </Route>
</Auth0ProviderWithHistory>

Closing this, feel free to reopen if you have any other questions


third_party/gemmlowp/fixedpoint/fixedpoint.h:520:27: error: no matching function for call to 'max(long int, const double&)' min_bound),

Hello,
I am trying to run the hello_world example on Cortex-M4F-equipped Adafruit Metro M4 Express, but I am getting the following error:
In file included from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/common.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/kernels/pooling.h:23,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:32,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h: In static member function 'static gemmlowp::FixedPoint<tRawType, tIntegerBits> gemmlowp::FixedPoint<tRawType, tIntegerBits>::FromDouble(double)':
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h:520:27: error: no matching function for call to 'max(long int, const double&)'
  520 |                  min_bound),
      |                           ^
In file included from c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\char_traits.h:39,
                 from c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\string:40,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/base.h:51,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/array.h:20,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/flatbuffers.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/schema/schema_generated.h:7,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/core/api/flatbuffer_conversions.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algobase.h:222:5: note: candidate: 'template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
In file included from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/common.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/kernels/pooling.h:23,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:32,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h:520:27: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'double')
  520 |                  min_bound),
      |                           ^
In file included from c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\char_traits.h:39,
                 from c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\string:40,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/base.h:51,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/array.h:20,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/flatbuffers.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/schema/schema_generated.h:7,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/core/api/flatbuffer_conversions.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
In file included from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/common.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/kernels/pooling.h:23,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:32,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h:520:27: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'double')
  520 |                  min_bound),
      |                           ^
In file included from c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\algorithm:62,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/base.h:55,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/array.h:20,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/flatbuffers.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/schema/schema_generated.h:7,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/core/api/flatbuffer_conversions.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algo.h:3456:5: note: candidate: 'template<class _Tp> _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
In file included from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/common.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/kernels/pooling.h:23,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:32,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h:520:27: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
  520 |                  min_bound),
      |                           ^
In file included from c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\algorithm:62,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/base.h:55,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/array.h:20,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/flatbuffers/include/flatbuffers/flatbuffers.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/schema/schema_generated.h:7,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/core/api/flatbuffer_conversions.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:22,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
c:\users\abc\appdata\local\arduino15\packages\adafruit\tools\arm-none-eabi-gcc\9-2019q4\arm-none-eabi\include\c++\9.2.1\bits\stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
In file included from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/common.h:28,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/kernels/pooling.h:23,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/micro_mutable_op_resolver.h:32,
                 from c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/micro/all_ops_resolver.h:19,
                 from C:\Users\abc\AppData\Local\Temp\.arduinoIDE-unsaved2023926-7172-jv6p6q.i19h\hello_world\hello_world.ino:22:
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/third_party/gemmlowp/fixedpoint/fixedpoint.h:520:27: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
  520 |                  min_bound),
      |                           ^
In file included from C:\Users\abc\AppData\Local\Temp\arduino\sketches\C9E5610F54A51B6C6C327C27D11F2DDB\sketch\hello_world.ino.cpp:1:
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/cppmath.h: In function 'T tflite::TfLiteRound(T)':
C:\Users\abc\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.7.13\cores\arduino/Arduino.h:128:22: error: expected id-expression before '(' token
  128 | #define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
      |                      ^
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/cppmath.h:32:39: note: in expansion of macro 'round'
   32 |     return TF_LITE_GLOBAL_STD_PREFIX::std_name(x);    \
      |                                       ^~~~~~~~
c:\Users\abc\Documents\Arduino\libraries\Arduino_TensorFlowLite\src/tensorflow/lite/kernels/internal/cppmath.h:35:1: note: in expansion of macro 'DECLARE_STD_GLOBAL_SWITCH1'
   35 | DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~

exit status 1

Compilation error: exit status 1

Any idea what could be the cause? Seems to be related to how pooling is implemented in gemmlowp.
Otherwise I just pulled the latest Arduino_TensorFlowLite and I am using Arduino IDE 2.2.1. I used to be able to run TFLM on Metro M4 Express still about a year and a half ago.
Thanks!

@eppane
Could you give additional detail on where you downloaded the TFLM codebase from?  Did you clone the Arduino examples repo?  That repo is up to date as of March 2023 and is the only official source of TFLM for Arduino code.  It supports the Arduino Nano 33 BLE (NRF52840, cortex M4).

Hello @ddavis-2015!
Yes, I cloned that one. It says that it should be compatible with most Arm Cortex M-based boards and regarding peripherals, I commented out L61 #error "unsupported board" in src\peripherals\peripherals.h. The hello world example is not using any Nano-specific peripherals, right?
Here is a code snippet I have successfully ran before and I am now trying to modify it to support the current codebase:
#include <TensorFlowLite.h>
#include "tensorflow/lite/micro/all_ops_resolver.h"
#include "tensorflow/lite/micro/micro_error_reporter.h"
#include "tensorflow/lite/micro/micro_interpreter.h"
#include "tensorflow/lite/schema/schema_generated.h"
#include "tensorflow/lite/version.h"

// Model
#include "6_v16.h"

// Globals, used for compatibility with Arduino-style sketches.
namespace {
tflite::ErrorReporter* error_reporter = nullptr;
const tflite::Model* model = nullptr;
tflite::MicroInterpreter* interpreter = nullptr;
TfLiteTensor* input = nullptr;
TfLiteTensor* output = nullptr;

constexpr int kTensorArenaSize = 50*1024;
uint8_t tensor_arena[kTensorArenaSize];

constexpr int N_INPUTS = 65*4;
constexpr int N_OUTPUTS = 1;
}

float X_test[N_INPUTS] = {0.09090899676084518,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.09090899676084518,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.15556000173091888,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.15556000173091888,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.15556000173091888,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.15556000173091888,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.15556000173091888,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.11111000180244446,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.13636000454425812,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.022221999242901802,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.2272700071334839,0.022221999242901802,-0.20000000298023224,-0.2340400069952011,0.2272700071334839,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.2272700071334839,0.022221999242901802,-0.20000000298023224,-0.2340400069952011,0.2272700071334839,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.2272700071334839,0.022221999242901802,-0.20000000298023224,-0.2340400069952011,0.2272700071334839,0.022221999242901802,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.2444400042295456,-0.2340400069952011,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2766000032424927,0.18182000517845154,0.06666699796915054,-0.20000000298023224,-0.2766000032424927,0.13636000454425812,0.06666699796915054,-0.20000000298023224,-0.2766000032424927,0.13636000454425812,-0.022221999242901802,-0.20000000298023224,-0.4042600095272064,0.09090899676084518,-0.15556000173091888,-0.2444400042295456,-0.4042600095272064,0.09090899676084518,-0.06666699796915054,-0.28889000415802,-0.5744699835777283,0.09090899676084518,-0.06666699796915054,-0.3333300054073334,-0.4468100070953369,0.09090899676084518,0.022221999242901802,-0.3333300054073334,-0.4468100070953369,-0.045455001294612885,0.06666699796915054,-0.3333300054073334,-0.4468100070953369,-0.045455001294612885,0.06666699796915054,-0.3333300054073334,-0.4893600046634674,0.0,0.11111000180244446,-0.3777799904346466,-0.4893600046634674,0.0,0.20000000298023224,-0.3777799904346466,-0.5319100022315979,-0.31817999482154846,0.20000000298023224,-0.3333300054073334,-0.5319100022315979,0.09090899676084518,0.28889000415802,-0.28889000415802,-0.5319100022315979,0.13636000454425812,0.28889000415802,-0.28889000415802,-0.5319100022315979,0.13636000454425812,0.28889000415802,-0.3333300054073334,-0.10638000071048737,0.13636000454425812,0.3333300054073334,-0.28889000415802,-0.10638000071048737,0.13636000454425812,0.3333300054073334,-0.2444400042295456,-0.10638000071048737,-0.2272700071334839,0.3333300054073334,-0.2444400042295456,-0.10638000071048737,-0.8636400103569031,0.3333300054073334,-0.28889000415802,-0.10638000071048737,-0.8636400103569031,0.3333300054073334,-0.3333300054073334,-0.2340400069952011,-0.8636400103569031,0.28889000415802,-0.3333300054073334,-0.2340400069952011,-0.8636400103569031,0.2444400042295456,-0.3333300054073334,-0.2766000032424927,-0.8636400103569031,0.20000000298023224,-0.3333300054073334,-0.31915000081062317,0.0,0.20000000298023224,-0.3777799904346466,-0.31915000081062317,0.09090899676084518,0.15556000173091888,-0.3777799904346466,-0.31915000081062317,0.09090899676084518,0.11111000180244446,-0.3777799904346466,-0.31915000081062317
};

float y[N_OUTPUTS] = { -1.0 };
int inference_count = 0;

void setup() {
  // Init error reporter
  static tflite::MicroErrorReporter micro_error_reporter;
  error_reporter = &micro_error_reporter;

  // Init model (check model name in .h-file)
  model = tflite::GetModel(__6_v16_tflite);
  if (model->version() != TFLITE_SCHEMA_VERSION) {
    TF_LITE_REPORT_ERROR(error_reporter,
                         "Model provided is schema version %d not equal "
                         "to supported version %d.",
                         model->version(), TFLITE_SCHEMA_VERSION);
    return;
  }

  // Retrieve ops
  static tflite::AllOpsResolver resolver;

  // Init Interpreter
  static tflite::MicroInterpreter static_interpreter(
      model, resolver, tensor_arena, kTensorArenaSize, error_reporter);
  interpreter = &static_interpreter;

  // Allocate memory for tensors
  TfLiteStatus allocate_status = interpreter->AllocateTensors();
  if (allocate_status != kTfLiteOk) {
    TF_LITE_REPORT_ERROR(error_reporter, "AllocateTensors() failed");
    return;
  }

  // Retrieve pointers for input and output tensors
  input = interpreter->input(0);
  output = interpreter->output(0);

  delay(4000);
}

void loop() {
  doInferenceQuant();
  showResults();
  delay(3000);
}

void doInferenceQuant() {
  // Quantize input
  for (int i = 0; i < N_INPUTS; i++) {
    input->data.int8[i] = (int8_t)((X_test[i] / input->params.scale) + input->params.zero_point);
  }

  // Run inference
  TfLiteStatus invoke_status = interpreter->Invoke();
  if (invoke_status != kTfLiteOk) {
    TF_LITE_REPORT_ERROR(error_reporter, "Invoke failed on x: %f\n",
                         static_cast<float>(X_test[0]));
    return;
  }

  // Dequantize output
  for (int i = 0; i < N_OUTPUTS; i++) {
    y[i] = (float)((output->data.int8[i] - output->params.zero_point) * output->params.scale);
  }

  inference_count += 1;
}

void showResults() {
  Serial.print("PROBABILITY: ");
  Serial.println(y[0]);
  Serial.print("\n\n");
}

How would you go from here, any ideas? I took away the micro error reporter and added MicroPrintf, modifying accordingly. And also the version.h.
Thank you!

@eppane
The compilation issues you face with the hello_world example are two-fold:

The repo is currently only supporting the Arduino Nano 33 BLE, and does not compile without modification on any other platform
Arduino Board Support Packages (BSPs) often contain macros for common functions which act in direct conflict with their C++11 standard library equivalents.  You can see this in the peripherals.h header file with the need to #undef abs.  In your case, the Adafruit BSP defines a round macro, making the TFLM code unable to compile correctly.

The best way to work around these issues is as follows:

remove all files from src/peripherals except for the peripherals.h and utility.h files.
modify src/peripherals/peripherals.h to change the lines:

#else  // ARDUINO_ARDUINO_NANO33BLE
#error "unsupported board"

and replace them with:
#elif defined(ADAFRUIT_METRO_M4_EXPRESS)

// Temporary fix, similar to buganizer #268498682, arduino-examples issue #169
#undef round

#else  // ARDUINO_ARDUINO_NANO33BLE
#error "unsupported board"

modify the file src/tensorflow/lite/micro/system_setup.cpp, replacing this line:

#if defined(ARDUINO) && !defined(ARDUINO_ARDUINO_NANO33BLE)

with the following line:
#if defined(ARDUINO) && !defined(ADAFRUIT_METRO_M4_EXPRESS)

Making these changes should allow the hello_world example to compile and link correctly.  Tested with Arduino IDE 1.8.19 and Adafruit SAMD BSP 1.7.13 versions.
As this is an unsupported platform, no guarantee can be made that hello_world runs correctly on your hardware.
This issue will now be closed.  Please feel free to reopen the issue should you wish to provide further comments.

Hello @ddavis-2015!
Thank you for your expertise and for these suggestions, worked like a charm! 🙏


XamlMarkup - Blend - Missing references

Blend error:  ""Some assembly references are missing"".
What is the name of the required assemblies?

XAML designer support is not yet available.


Cell showing "More" multiple times

Shouldn't it just be showing "5 more" and "7 more" once?
Here's my code
import React, { FunctionComponent, useMemo } from 'react';
import { ScrollView, Dimensions } from 'react-native';
import { Calendar, ICalendarEvent } from 'react-native-big-calendar';
import moment from 'moment';
import { useSelector } from 'react-redux';
import Navbar from '../commons/Navbar';
import { RootState } from '../../reducers';

const { height } = Dimensions.get('window');

const CalendarView: FunctionComponent = () => {
  const { appointments } = useSelector((state: RootState) => state.appointments);
  const events: ICalendarEvent[] = useMemo(() => {
    return appointments.map(a => {
      return { start: moment(a.Times.Start).toDate(), end: moment(a.Times.End).toDate(), title: a.Client.Forename };
    });
  }, [appointments]);
  return (
    <>
      <Navbar back />
      <ScrollView>
        <Calendar
          onPressCell={date => console.log(date)}
          onPressEvent={event => console.log(event)}
          events={events}
          height={height - 100}
          mode="month"
        />
      </ScrollView>
    </>
  );
};

export default CalendarView;

I'll check it weekend.

i have same problem @@ need hot fix this

Fixed by #466 , released on v1.0.3


[Issue 9888] add python3.9 on manylinux2014 build support

Fixes #9888
Motivation
We want to add support for Python 3.9
Modifications
Separated building Python 3.5+ from Python 2.7 because of cryptography dropping its manylinux1 builds.
I'm not 100% sure how the build system works, but the docker image builds passed locally for me.
Verifying this change

[ ] Make sure that the change passes the CI checks.

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

Anything that affects deployment: yes

Documentation

Does this pull request introduce a new feature? - no

Could you add a CI to verify your build? Here's an example: https://github.com/apache/pulsar/pull/10307/files#diff-303ec062b4618dd53fc8d3faf1f51697336d7219840a0b624ea73fc315ccbfde

Please also take a look, @zymap

Could you add a CI to verify your build? Here's an example: https://github.com/apache/pulsar/pull/10307/files#diff-303ec062b4618dd53fc8d3faf1f51697336d7219840a0b624ea73fc315ccbfde

@BewareMyPower Not sure what to add, since I only edited existing scripts. Although, I couldn't find where create-images.sh and build-wheels.sh are called.

@lbenc135 I mean you only need to add a CI workflow to verify docker build can succeed on your Dockerfiles.
@zymap Could you give some help on where create-images.sh and build-wheel.sh are called?

@BewareMyPower Added (CI - Python - Build 3.9 client)

@zymap Please also take a look to verify whether it solves the Python 3.9 client release issue.


IBM Cloud object storage code snippet not working

Problem Description
The code snippet available on this official documentation does not work properly.
https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-python
When I try to copy and paste from both the client approach and the resource approach the example function provided to list my buckets does not work.
On the documentation is not clear at all of which method the user should be using if it's the client approach or the resource approach.
def get_buckets():
    print("Retrieving list of buckets")
    try:
        buckets = cos.buckets.all()
        for bucket in buckets:
            print("Bucket Name: {0}".format(bucket.name))
    except ClientError as be:
        print("CLIENT ERROR: {0}\n".format(be))
    except Exception as e:
        print("Unable to retrieve list buckets: {0}".format(e))

Problem Solution
What it worked for me was the following snippet
bucket_name = '<Bucket name>'
bucket_files = cos_client.list_objects(Bucket=bucket_name)

for file in bucket_files['Contents']:
    print(file['Key'])

Please change the documentation, it took a long time for me an ibmer used to IBM products to find the correct way.
What I needed to do was to generate code automatically through cloud pak for data. Clients would take a lot longer.

Thank you @janpeter123  for informing , we have created an internal ticket for this and we will be updating the documentation in the next release.

@janpeter123 The documentation issues are fixed. Can you please check and close this ticket.

Closing as fix already provided.


Added maximum values accepted by cmdlet

Added maximum values accepted by cmdlet

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.


3a03

Davies, C., Ashford, J., Espinosa-Anke, L., Felmlee., D, Preece, A.,  Srivatsa, M., Turner, L.,  and Whitaker, R.M., (2021),
Multi-Scale User Migration on Reddit, Workshop on Cyber Social Threats, International Conference on Web and Social Media (ICWSM), accepted for publication.
Hudson, L, Whitaker, R.M., Allen, S.M., Turner, L., Felmlee, D.,
The Centrality of Edges based on their role in Induced Triads, (2021), IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM), in submission.

Can't create links yet as both items not published yet


Missing API for changing secret of a dbus collection

Unlike portal::Keyring, we currently have no (direct) way to change the password of a dbus::Collection. I think the main problem here is that changing a collection password isn't part of the secret-service dbus specification.
Seahorse / gnome keyring work around this and have something custom implemented (org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface).
A possible workaround I can see at the moment would be to load the collection as a keyring file via portal::Keyring and change the password there - although I'm not sure how many side effects it would have to fiddle with the keyring file directly instead of using the intended oo7/secret-service api.
I wonder if this is something we can fix on oo7 side, or if we need an updated/extended secret-service dbus specification.

Unlike portal::Keyring, we currently have no (direct) way to change the password of a dbus::Collection. I think the main problem here is that changing a collection password isn't part of the secret-service dbus specification.

At least gnome-keyring's current implementation doesn't allow any collections other than login/session. The former is unlocked when you log-in and the later stays alive for the duration of the session. Sadly you can't create new ones :p hopefully something we can fix with the new server implementation.

Seahorse / gnome keyring work around this and have something custom implemented (org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface).

We would have to implement that interface for server side. But I would not expose that as an API at all.

A possible workaround I can see at the moment would be to load the collection as a keyring file via portal::Keyring and change the password there - although I'm not sure how many side effects it would have to fiddle with the keyring file directly instead of using the intended oo7/secret-service api.

I don't think there should be any effect imho. but maybe @ueno can think of something that might break (other than auto-unlocking when you login)

I wonder if this is something we can fix on oo7 side, or if we need an updated/extended secret-service dbus specification.

Asked differently, why you would want to change the collection's unlock password

At least gnome-keyring's current implementation doesn't allow any collections other than login/session

Huh. I can add new collections from both Seahorse and KeyRack finely. How does this work if it is not implemented in g-k-d at all? Or do you mean something else?

Asked differently, why you would want to change the collection's unlock password

Own keyrings/collections which you created from Seahorse / KeyRack. You're only able to set the password once when you create the collection, afterwards there's no way of changing the password (at least using Key Rack, Seahorse has the ominous guilt ridden interface).

I don't think there should be any effect imho

I can give it a try. I was a tad worried when g-k-d has the file opened / writes something to it, and I access it at the same time with oo7 to change the password

other than auto-unlocking when you login

From KeyRack side I only would allow to change the password for custom collections either way, the login collection password should stay in sync with the user password so that the auto unlock works.

I don't think there should be any effect imho

For the record, I successfully avoided having to fiddle with files at all by using the org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface interface in Key Rack. This makes it possible to change keyring passwords the same way as Seahorse does.
See https://gitlab.gnome.org/sophie-h/key-rack/-/merge_requests/23
This works, but perhaps oo7 can provide a better API for this in the future, especially if it becomes a secret service/gnome keying server.

I don't think landing that was great, because it is not an interface I think we should keep in the future and it is tied to GNOME Keyring specifically.


Update the dependency to core-java 0.10.77-SNAPSHOT.

Auto-generated PR to update core library dependency to the latest version.

@dmitrykuzmin PTAL. And feel free to merge if LGTM.


issue #4224 Fixing the constraint app-4 for Appointment.status = noshow

This PR closes issue #4224.

Thanks for your patience, @mudlej
Is it possible for you to amend your commits to include a "sign-off" line in accordance with https://github.com/LinuxForHealth/FHIR/blob/main/CONTRIBUTING.md#legal ?
Alternatively, if you indicate here your agreement to https://developercertificate.org/ then I will override the DCO status.

I couldn't change the first commit message.
But I did for the others, and I say it here as well.
I agree to the DCO in https://developercertificate.org/


Handle timer

The bot must implement a way to run timer at x interval
Potentially, this timer must resist at restrart. So we need to implement some data storage

Created #10 for data storage


Bump version to 13.4.3

13.4.2 was inserted in the middle of https://github.com/alphagov/digitalmarketplace-frontend-toolkit/pull/202 so this brings in those changes properly.

@quis just :+1: this in 'real-life'.


Can't add another disk

Hello,
I try to add another disk to a Clickhouse instance.  i update the yaml file with :
    files:
      config.d/disks.yaml: |-
        <clickhouse>
          <storage_configuration>
            <disks>
              <disk2><path>/var/lib/clickhouse-new/</path></disk2>
            </disks>
            <policies>
              <default>
                 <volumes>
                   <default>
                    <disk>disk2</disk>
                  </default>
                </volumes>
              </default>
            </policies>
          </storage_configuration>
        </clickhouse>

I can't see the new disk in clickhouse (SELECT * FROM system.disks;). The new pv is mounted on the proper path.
I couldn't find any documentation to do that with the operator.
Operator version:  0.21.0
Clickhouse version:  23.10.5

your XML is not valid
                <default>
                 <volumes>
                    <disk>disk2</disk>
                  </default>
                </volumes>

try
     files:
      config.d/disks.yaml: |-
        <clickhouse>
          <storage_configuration>
            <disks>
              <disk2><path>/var/lib/clickhouse-new/</path></disk2>
            </disks>
            <policies>
              <default>
                 <volumes>
                    <volume2>
                      <disk>disk2</disk>
                    </volume2>
                </volumes>
              </default>
            </policies>
          </storage_configuration>
        </clickhouse>

if you want to add disk2 to default volume in default storag policy
then use
     files:
      config.d/disks.yaml: |-
        <clickhouse>
          <storage_configuration>
            <disks>
              <disk2><path>/var/lib/clickhouse-new/</path></disk2>
            </disks>
            <policies>
              <default>
                 <volumes>
                    <default>
                      <!-- during XML merge you could override default disk if you miss it-->
                      <disk>default</disk>
                      <disk>disk2</disk>
                    </default>
                </volumes>
              </default>
            </policies>
          </storage_configuration>
        </clickhouse>

Thanks. I saw the typo for the xml. I tried your configuration with no more success. "Select * from system.disks" stills return the default one.

could you share
grep -C 20 storage_configuration /var/lib/clickhouse/preprocessed_confis/config.xml
inside from your clickhouse pod?

moreover, could you share SELECT * FROM system.storage_policies

i don't see any reference to disk2 in var/lib/clickhouse/preprocessed_confis/config.xml but i see in the beginning that "/etc/clickhouse-server/config.d/disks.yaml" has been used to generate this file.
"SELECT * FROM system.storage_policies"  shows only the default disk.
grep -C 20 storage_configuration /var/lib/clickhouse/preprocessed_configs/config.xml
         Note that the amount of data in mapped files does not consume memory directly and is not accounted
         in query or server memory usage - because this memory can be discarded similar to OS page cache.
         The cache is dropped (the files are closed) automatically on removal of old parts in MergeTree,
         also it can be dropped manually by the SYSTEM DROP MMAP CACHE query.
      -->
    <mmap_cache_size>1000</mmap_cache_size>

    <!-- Cache size in bytes for compiled expressions.-->
    <compiled_expression_cache_size>134217728</compiled_expression_cache_size>

    <!-- Cache size in elements for compiled expressions.-->
    <compiled_expression_cache_elements_size>10000</compiled_expression_cache_elements_size>

    <validate_tcp_client_information>false</validate_tcp_client_information>

    <!-- Path to data directory, with trailing slash. -->
    <path>/var/lib/clickhouse/</path>

    <!-- Multi-disk configuration example: -->
    <!--
    <storage_configuration>
        <disks>
            <default>
                <keep_free_space_bytes>0</keep_free_space_bytes>
            </default>
            <data>
                <path>/data/</path>
                <keep_free_space_bytes>0</keep_free_space_bytes>
            </data>
            <s3>
                <type>s3</type>
                <endpoint>http://path/to/endpoint</endpoint>
                <access_key_id>your_access_key_id</access_key_id>
                <secret_access_key>your_secret_access_key</secret_access_key>
            </s3>
            <blob_storage_disk>
                <type>azure_blob_storage</type>
                <storage_account_url>http://account.blob.core.windows.net</storage_account_url>
                <container_name>container</container_name>
                <account_name>account</account_name>
                <account_key>pass123</account_key>
--

        <policies>
            <all>
                <volumes>
                    <main>
                        <disk>default</disk>
                        <disk>data</disk>
                        <disk>s3</disk>
                        <disk>blob_storage_disk</disk>

                        <max_data_part_size_bytes></max_data_part_size_bytes>
                        <max_data_part_size_ratio></max_data_part_size_ratio>
                        <perform_ttl_move_on_insert>true</perform_ttl_move_on_insert>
                        <prefer_not_to_merge>false</prefer_not_to_merge>
                        <load_balancing>round_robin</load_balancing>
                    </main>
                </volumes>
                <move_factor>0.2</move_factor>
            </all>
        </policies>
    </storage_configuration>
    -->

    <!-- Path to temporary data for processing hard queries. -->
    <tmp_path>/var/lib/clickhouse/tmp/</tmp_path>

    <!-- Disable AuthType plaintext_password and no_password for ACL. -->
    <allow_plaintext_password>1</allow_plaintext_password>
    <allow_no_password>1</allow_no_password>
    <allow_implicit_no_password>1</allow_implicit_no_password>

    <!-- When a user does not specify a password type in the CREATE USER query, the default password type is used.
         Accepted values are: 'plaintext_password', 'sha256_password', 'double_sha1_password', 'bcrypt_password'.
      -->
    <default_password_type>sha256_password</default_password_type>

    <!-- Work factor for bcrypt_password authentication type-->
    <bcrypt_workfactor>12</bcrypt_workfactor>

    <!-- Complexity requirements for user passwords. -->
--
            <message>be at least 12 characters long</message>
        </rule>
        <rule>
            <pattern>\p{N}</pattern>
            <message>contain at least 1 numeric character</message>
        </rule>
        <rule>
            <pattern>\p{Ll}</pattern>
            <message>contain at least 1 lowercase character</message>
        </rule>
        <rule>
            <pattern>\p{Lu}</pattern>
            <message>contain at least 1 uppercase character</message>
        </rule>
        <rule>
            <pattern>[^\p{L}\p{N}]</pattern>
            <message>contain at least 1 special character</message>
        </rule>
    </password_complexity> -->

    <!-- Policy from the <storage_configuration> for the temporary files.
         If not set <tmp_path> is used, otherwise <tmp_path> is ignored.

         Notes:
         - move_factor              is ignored
         - keep_free_space_bytes    is ignored
         - max_data_part_size_bytes is ignored
         - you must have exactly one volume in that policy
    -->
    <!-- <tmp_policy>tmp</tmp_policy> -->

    <!-- Directory with user provided files that are accessible by 'file' table function. -->
    <user_files_path>/var/lib/clickhouse/user_files/</user_files_path>

    <!-- LDAP server definitions. -->
    <ldap_servers>
        <!-- List LDAP servers with their connection parameters here to later 1) use them as authenticators for dedicated local users,
              who have 'ldap' authentication mechanism specified instead of 'password', or to 2) use them as remote user directories.
             Parameters:
                host - LDAP server hostname or IP, this parameter is mandatory and cannot be empty.
                port - LDAP server port, default is 636 if enable_tls is set to true, 389 otherwise.

i have update the issue with clickhouse and operator versions.

I found the problem. I'm so used to yaml file , i called it disks.yaml instead of disks.xml. It's working fine now. Thanks @Slach

@gabriel-suela No, the file must be in xml, i was using the wrong extension. When clickhouse merges the config files, it will only merge files with .xml extention.


Fix animation compression going the wrong way

On the compression page break breaks the animation rotates wrongly.
Fixes: https://github.com/godotengine/godot/issues/96882
See also https://stackoverflow.com/a/47190699/381724 discussion about rint() and nearbyint(). Math::fast_ftoi uses rint which appears to be using FE_TONEAREST.
See https://stackoverflow.com/questions/311696/why-does-net-use-bankers-rounding-as-default about discussion about banker's rounding which is FE_TONEAREST.

Video of the mrp of animation compression.
https://youtu.be/b5wAQqX9XsM

I'll rewrite the commit message to be slightly better.

I think this is the right way to go, since it seems right to use round(nearest) at least for bitsampling.
However, note that this fix eliminates glitching, it still causes the stutter in the same as Math::round() as I commented in https://github.com/godotengine/godot/issues/96882#issuecomment-2344978163, and there are still areas that could be improved.
https://github.com/user-attachments/assets/24972a2c-b4ed-4e0d-9ead-e4f044917db4
For example, it might be possible to do something like blending the first and last few bits of the page during decoding to make it smooth like anti-aliasing.
Or it may simply be that there is still a boundary error lurking somewhere, as I commented in there.

Would it work to use a cubic interpolation for blending the prev page's last few bits and next page's first few bits?

Since this stutter does not occur unless we use a round()(or fast_ftoi()), I would expect that it is a boundary value error due to some boundary being implemented with assuming to floor truncating, but I do not know where that is.

Should this be merged as is, or should some more work be done first to work on the other problem identified?

There is definitely still work to be done, but IMO the stutter still looks better than the glitch, so I think it is acceptable to merge this PR and postpone the work to eliminate the stutter in the later.

Thanks!


Induction Matrix Charge/Discharge Duration ETA

Is your feature request related to a problem? Please describe.
Sometimes I have no reactor running (during maintenance for example), and would like to know how much time I have left until the induction matrix runs out of energy.
Describe the solution you'd like
A simple additional line that calculates the estimated time it takes, until the Matrix runs out of energy. The same line could display the estimated duration until the matrix is completely full, if the current energy input is higher than the output.
Additional context
/

Nice idea! I'll be able to do that!