serdes errors against open webui

Hi!
I'm trying to set up llm-ls via llm.nvim plugin and I'm hitting weird serdes errors. I set the following config:
{
  backend="openai",
  url = "http://<IP_ADDRESS>:8080/api",
  api_token = "sk-xxxx", -- replace after publishing outside local network

  lsp = {
    cmd_env = { LLM_LOG_LEVEL = "DEBUG" }
  },
}

Weird thing is, completion seems to work just fine. But after each completion, I get a serdes error per following log. Any idea what am I doing wrong? I find it hard to find docs on using open webui as a backend, as well as the open webui docs for their API (I believe it is supposed to be openai compatible, hence I set it so).
Relevant logs (api key stripped):
{"timestamp":"2024-09-18T20:44:02.195454Z","level":"INFO","message":"file:///home/krakonos/test.cpp changed","target":"llm_ls","line_number":682}
{"timestamp":"2024-09-18T20:44:02.195645Z","level":"DEBUG","message":"client asked to cancel request 4, but no such pending request exists, ignoring","target":"tower_lsp::service::pending","line_number":64}
{"timestamp":"2024-09-18T20:44:02.346897Z","level":"INFO","message":"received completion request","document_url":"file:///home/krakonos/test.cpp","cursor_line":"19","cursor_character":"49","language_id":"cpp","model":"deepseek-coder-v2:16b-lite-base-q4_0","backend":"OpenAi { url: \"http://<IP_ADDRESS>:8080/api\" }","ide":"neovim","request_body":"{\"temperature\":0.2,\"top_p\":0.95}","disable_url_path_completion":false,"target":"llm_ls","line_number":514,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.347146Z","level":"INFO","message":"completion type: SingleLine","completion_type":"single_line","target":"llm_ls","line_number":537,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.347201Z","level":"INFO","message":"built prompt in 0 ms","prompt":"<｜fim▁begin｜>#include <iostream>\n#include <memory>\n\n\n\nclass A {\n\n};\n\nclass B {\n\n};\n\nint foo() {\n\n}\n\nint main() {\n    std::shared_ptr<A> a = std::make_shared<A>();\n    std::shared_ptr<B> b = std::make_shared<B>();<｜fim▁hole｜>\n    return 0;\n}\n<｜fim▁end｜>","build_prompt_ms":"0","target":"llm_ls","line_number":204,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.347232Z","level":"INFO","message":"sending request to backend","headers":"{\"user-agent\": \"llm-ls/0.5.2; rust/unknown; ide/Neovim\", \"authorization\": \"Bearer sk-xxxx\"}","url":"http://<IP_ADDRESS>:8080/api/v1/completions","target":"llm_ls","line_number":254,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.347281Z","level":"DEBUG","message":"sending request to backend","headers":"{\"user-agent\": \"llm-ls/0.5.2; rust/unknown; ide/Neovim\", \"authorization\": \"Bearer sk-xxxx\"}","body":"{\"model\": String(\"deepseek-coder-v2:16b-lite-base-q4_0\"), \"prompt\": String(\"<｜fim▁begin｜>#include <iostream>\\n#include <memory>\\n\\n\\n\\nclass A {\\n\\n};\\n\\nclass B {\\n\\n};\\n\\nint foo() {\\n\\n}\\n\\nint main() {\\n    std::shared_ptr<A> a = std::make_shared<A>();\\n    std::shared_ptr<B> b = std::make_shared<B>();<｜fim▁hole｜>\\n    return 0;\\n}\\n<｜fim▁end｜>\"), \"stream\": Bool(false), \"temperature\": Number(0.2), \"top_p\": Number(0.95)}","url":"http://<IP_ADDRESS>:8080/api/v1/completions","target":"llm_ls","line_number":255,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.347408Z","level":"DEBUG","message":"starting new connection: http://<IP_ADDRESS>:8080/","log.target":"reqwest::connect","log.module_path":"reqwest::connect","log.file":"/home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reqwest-0.11.20/src/connect.rs","log.line":429,"target":"reqwest::connect","line_number":429,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.347446Z","level":"DEBUG","message":"connecting to <IP_ADDRESS>:8080","target":"hyper::client::connect::http","line_number":537,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.363434Z","level":"DEBUG","message":"connected to <IP_ADDRESS>:8080","target":"hyper::client::connect::http","line_number":540,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.363816Z","level":"DEBUG","message":"flushed 637 bytes","target":"hyper::proto::h1::io","line_number":342}
{"timestamp":"2024-09-18T20:44:02.368285Z","level":"DEBUG","message":"parsed 5 headers","target":"hyper::proto::h1::io","line_number":207}
{"timestamp":"2024-09-18T20:44:02.368420Z","level":"DEBUG","message":"incoming body is content-length (22 bytes)","target":"hyper::proto::h1::conn","line_number":222}
{"timestamp":"2024-09-18T20:44:02.368492Z","level":"DEBUG","message":"incoming body completed","target":"hyper::proto::h1::conn","line_number":298}
{"timestamp":"2024-09-18T20:44:02.368619Z","level":"DEBUG","message":"pooling idle connection for (\"http\", <IP_ADDRESS>:8080)","target":"hyper::client::pool","line_number":376,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:02.368860Z","level":"ERROR","err_msg":"serde json error: data did not match any variant of untagged enum OpenAIAPIResponse","target":"llm_ls::error","line_number":8,"spans":[{"request_id":"3d2389a7-a53a-4e09-a658-4095254c72d4","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.380607Z","level":"INFO","message":"file:///home/krakonos/test.cpp changed","target":"llm_ls","line_number":682}
{"timestamp":"2024-09-18T20:44:03.381212Z","level":"DEBUG","message":"client asked to cancel request 5, but no such pending request exists, ignoring","target":"tower_lsp::service::pending","line_number":64}
{"timestamp":"2024-09-18T20:44:03.531812Z","level":"INFO","message":"received completion request","document_url":"file:///home/krakonos/test.cpp","cursor_line":"20","cursor_character":"4","language_id":"cpp","model":"deepseek-coder-v2:16b-lite-base-q4_0","backend":"OpenAi { url: \"http://<IP_ADDRESS>:8080/api\" }","ide":"neovim","request_body":"{\"temperature\":0.2,\"top_p\":0.95}","disable_url_path_completion":false,"target":"llm_ls","line_number":514,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.531954Z","level":"INFO","message":"completion type: SingleLine","completion_type":"single_line","target":"llm_ls","line_number":537,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.532024Z","level":"INFO","message":"built prompt in 0 ms","prompt":"<｜fim▁begin｜>#include <iostream>\n#include <memory>\n\n\n\nclass A {\n\n};\n\nclass B {\n\n};\n\nint foo() {\n\n}\n\nint main() {\n    std::shared_ptr<A> a = std::make_shared<A>();\n    std::shared_ptr<B> b = std::make_shared<B>();\n    <｜fim▁hole｜>\n    return 0;\n}\n<｜fim▁end｜>","build_prompt_ms":"0","target":"llm_ls","line_number":204,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.532053Z","level":"INFO","message":"sending request to backend","headers":"{\"user-agent\": \"llm-ls/0.5.2; rust/unknown; ide/Neovim\", \"authorization\": \"Bearer sk-xxxx\"}","url":"http://<IP_ADDRESS>:8080/api/v1/completions","target":"llm_ls","line_number":254,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.532073Z","level":"DEBUG","message":"sending request to backend","headers":"{\"user-agent\": \"llm-ls/0.5.2; rust/unknown; ide/Neovim\", \"authorization\": \"Bearer sk-xxxx\"}","body":"{\"model\": String(\"deepseek-coder-v2:16b-lite-base-q4_0\"), \"prompt\": String(\"<｜fim▁begin｜>#include <iostream>\\n#include <memory>\\n\\n\\n\\nclass A {\\n\\n};\\n\\nclass B {\\n\\n};\\n\\nint foo() {\\n\\n}\\n\\nint main() {\\n    std::shared_ptr<A> a = std::make_shared<A>();\\n    std::shared_ptr<B> b = std::make_shared<B>();\\n    <｜fim▁hole｜>\\n    return 0;\\n}\\n<｜fim▁end｜>\"), \"stream\": Bool(false), \"temperature\": Number(0.2), \"top_p\": Number(0.95)}","url":"http://<IP_ADDRESS>:8080/api/v1/completions","target":"llm_ls","line_number":255,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.532185Z","level":"DEBUG","message":"reuse idle connection for (\"http\", <IP_ADDRESS>:8080)","target":"hyper::client::pool","line_number":250,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.532446Z","level":"DEBUG","message":"flushed 643 bytes","target":"hyper::proto::h1::io","line_number":342}
{"timestamp":"2024-09-18T20:44:03.550477Z","level":"DEBUG","message":"parsed 5 headers","target":"hyper::proto::h1::io","line_number":207}
{"timestamp":"2024-09-18T20:44:03.550580Z","level":"DEBUG","message":"incoming body is content-length (22 bytes)","target":"hyper::proto::h1::conn","line_number":222}
{"timestamp":"2024-09-18T20:44:03.550620Z","level":"DEBUG","message":"incoming body completed","target":"hyper::proto::h1::conn","line_number":298}
{"timestamp":"2024-09-18T20:44:03.550722Z","level":"DEBUG","message":"pooling idle connection for (\"http\", <IP_ADDRESS>:8080)","target":"hyper::client::pool","line_number":376,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}
{"timestamp":"2024-09-18T20:44:03.550849Z","level":"ERROR","err_msg":"serde json error: data did not match any variant of untagged enum OpenAIAPIResponse","target":"llm_ls::error","line_number":8,"spans":[{"request_id":"e26d9290-1619-4990-9df8-b8b665f7621d","name":"completion_request"}]}

... If you've got suggestions on a better alternative to open webui, I might consider it. But I want to open the server to a few friends and don't want the hassle of manually managing api keys for raw ollama instance (that works fine btw.).
Any help would be appreciated!

Ok, so I made a bit of a progress. I found out the open webui is not really openai compatible as I thought. Not sure where I got that impression. I can use the /ollama endpoint to authenticate using a token and pass down my query. Right now, it boils down to:
url = "http://<IP_ADDRESS>:8080/ollama",        --doesn't work
url = "http://<IP_ADDRESS>:11434",   -- works

But hitting the API from a script seems to return exactly the same response:
#!/usr/bin/bash

curl 'http://<IP_ADDRESS>:8080/ollama/api/generate' \
  -H 'accept: */*' \
  -H 'authorization: Bearer sk-182affc34e0e43218580222cdd88ca06' \
  -H 'content-type: application/json' \
  --data-raw "{\"model\": \"codellama:7b-code\", \"options\": {\"temperature\":0.2, \"top_p\": 0.95}, \"prompt\":\"<PRE> #include <iostream>\\n#include <memory>\\n\\n\\n\\nclass A {\\n\\n};\\n\\nclass B {\\n\\n};\\n\\nint foo() {\\n\\n}\\n\\nint main() {\\n    std::shared_ptr<A> a = std::make_shared<A>();\\n    std::shared_ptr<B> b = std::make_shared<B>();\\n    std::cout << \\\"Hello, World!\\\" << std::endl;\\n    std::cout << a << std::endl;\\n    std::cout << b << std::endl;\\n     <SUF>\\n\\n\\n\\n\\n\\n\\n    return 0;\\n\\n}\\n <MID>\", \"stream\": false}"

echo ""
echo "===="
echo ""

curl 'http://<IP_ADDRESS>:11434/api/generate' \
  -H 'accept: */*' \
  -H 'authorization: Bearer sk-182affc34e0e43218580222cdd88ca06' \
  -H 'content-type: application/json' \
  --data-raw "{\"model\": \"codellama:7b-code\", \"options\": {\"temperature\":0.2, \"top_p\": 0.95}, \"prompt\":\"<PRE> #include <iostream>\\n#include <memory>\\n\\n\\n\\nclass A {\\n\\n};\\n\\nclass B {\\n\\n};\\n\\nint foo() {\\n\\n}\\n\\nint main() {\\n    std::shared_ptr<A> a = std::make_shared<A>();\\n    std::shared_ptr<B> b = std::make_shared<B>();\\n    std::cout << \\\"Hello, World!\\\" << std::endl;\\n    std::cout << a << std::endl;\\n    std::cout << b << std::endl;\\n     <SUF>\\n\\n\\n\\n\\n\\n\\n    return 0;\\n\\n}\\n <MID>\", \"stream\": false}"
  #--data-raw '{"stream":false,"model":"codellama:7b-code","messages":[{"role":"user","content":"who are you?"}]}'

(I copied the API endpoint URL and query body from llm-ls log). For some reason, when going through webui I get the unexpected error.  Looking at the source, it appears that ollama backend does not pass down the api token, even if provided. This limits the use of open webui, which does a great job securing the ollama instance and allowing me to use my selfhosted llm server when traveling.


V2.3.x release plan

[x] optimize merge operation, provide an option to rebuild the index after the merge is done @Jeremy-Run

discussion: #251

[x] refactor index module, use in-memory btree as backend.
[ ] disk hash index

I try to use diskhash as the index, but I found that the change will be a lot, so I will give up this issue.
If some user acquires this feature,  I recommend LotusDB instead.

[ ] maybe more...

Are you planning to add support for TTL function?

Also, could you consider adding support for self-repair function of WAL files?

If you want to add TTL (Time-to-Live) support, I can implement this. @roseduan

Are you planning to add support for TTL function?

Are you going to use rosedb? can you describe your case more clearly? So I can design this feature in the next release.

Also, could you consider adding support for self-repair function of WAL files?

What do you mean self-repair? You can add an issue in WAL project and tell me more about it, thanks.

We are currently attempting to utilize RoseDB for storing meteorological data, primarily focused on storing forecast data for the last 10 days. These data necessitate daily scheduled tasks such as collection, parsing, and collaborative element coordination. Additionally, the regular removal of outdated data is particularly crucial due to the substantial data volume, which amounts to no less than 30GB per day.

Are you planning to add support for TTL function?

Are you going to use rosedb? can you describe your case more clearly? So I can design this feature in the next release.

We are currently attempting to utilize RoseDB for storing meteorological data, primarily focused on storing forecast data for the last 10 days. These data necessitate daily scheduled tasks such as collection, parsing, and collaborative element coordination. Additionally, the regular removal of outdated data is particularly crucial due to the substantial data volume, which amounts to no less than 30GB per day.

Are you planning to add support for TTL function?

Are you going to use rosedb? can you describe your case more clearly? So I can design this feature in the next release.

We are currently attempting to utilize RoseDB for storing meteorological data, primarily focused on storing forecast data for the last 10 days. These data necessitate daily scheduled tasks such as collection, parsing, and collaborative element coordination. Additionally, the regular removal of outdated data is particularly crucial due to the substantial data volume, which amounts to no less than 30GB per day.

If the data amounts are no less than 30GB per day, I think you should pay attention to the restart speed of RoseDB, because rosedb will iterate all data to rebuild the index  in memory, it may take a long time if the data grows larger.
BTW, the TTL and expire methods are easy to support, I will add them to our development plan if you need them.

The restart speed is indeed relatively slow, We've developed middleware to achieve distributed management of RoseDB. At present, use 16 testing nodes, storing data around 120GB. Therefore, I'm particularly attentive to the efficiency and stability of the data merging functionality.
We have experimented with various storage engines, including BoltDB, Badger, VictoriaMetrics, and more. After comparing them, we found that RoseDB is relatively straightforward, with high read-write efficiency ~~~ it's quite astonishing!

OK thanks, I will add the TTL support in the next release.

V2.3.0 has released:
https://github.com/rosedblabs/rosedb/releases/tag/v2.3.0


CLI command list

Currently we have:

recent
history
trace

We would also like to include:

inspect COMPONENT_RUN_ID
ls tags
ls components
ls components --tag=TAG
ls components --owner=NAME

We can use get_components_for_owner and get_components_for_tag to make the ls commands.

Also include DB migration as a command

On second thought, maybe ls is not the command to use. Maybe:

mltrace tags
mltrace components
mltrace components --tag=TAG
mltrace components --owner=NAME

Where the output of each of these commands is just a list of tags or components, one item per line.

I think this is a better CLI design. This aligns well with what we have now. I can work on this and put up a draft for the same. We can later discuss how this pans out and what needs to be changed.

@aditim1359 is working on this

What exactly should "mltrace tags" be doing? Displaying all tags in use for all components?

Yes -- a tag can be associated with many components. No point in filtering tags by component because we could just call mltrace components --tag=TAG for that


Fix bugs found during alpha test

Provided screenshots within the issues for issue 179, 181, 182, 183, 185

[x] Closes #179

VALIDATION_REGEX check implemented within JobDescription and ParserUtil

[x] Closes #180

Added an actual Starbucks location to the sampleDataUtil.

[x] Closes #181

Now I store salary as a string (similar to Phone). No artificial limits imposed on user

[x] Closes #182

Changed MESSAGE_CONTRAINT and VALIDATION_REGEX

[x] Partially closes #183

Monthly Salary UI change
The square brackets I left as is, since it was specified in user-guide what [ ] and ... means. Do let me know if you want to enforce the (optional)

[x] Closes #185

Actually this issue stemmed from the deleteCommandParser so all 3 delete commands were affected by this
Since I have no choice but to utilise parseInt, I opted for a description change of the delete command
Let me know if you want me to do description change for salary as well and impose the limit or keep my current implementation as string.

[x] Closes #186

Was fixed in PR #160

[x] Closes #194

Undecided, waiting on thoughts

[ ] #184

This also applies for Skills
I'm undecided as I can implement the parseException, but that would result in a poorer UX (since instead of auto-merging, the user would have to remove the duplicated tag/skill)
Another method that I thought of was to convert the internal representation of tags/skills which is a HashSet into just a List.

I will then need to do 2 checks for duplicate arguments - one within the card UI element and another to modify the add job SUCCESS_MESSAGE.

Originally undecided, but push to later PR.

[ ] #187

https://github.com/AY2425S1-CS2103-F13-4/tp/issues/184

Regarding this, I don't think we need to perform any functional changes.
My suggestion was to merely detect the duplication, (perhaps check if input.size == set.size), and just add a feedback to the success message that some requirements have been merged.


Lab 10 - Grader Issue

A student reported:

On task_09 the auto_grader seems to be looking for best_model_by_rmse, but the task is seeded with best_model_by_RMSE, so it's causing failures, even when you have the correct answer.

I will update the grader for this task as soon as possible.

[x] Change best_model_by_rmse to best_model_by_RMSE in the code template.
[x] Change best_model_by_rmse to best_model_by_RMSE in the auto-grader checks.

This should be fixed now. Make sure to:

Open the notebook using the link in Canvas to bring in the updated grader.
Use best_model_by_RMSE in your solution to Task 09. That should be the name that the grader is checking.

I'll leave this open until the assignment is due for reference.


Question about the section 5.3 in your paper.

Hi @iCGY96! Thanks for your insightful work! I found it is hard to understand in Section 5.3: Labeled by Amplitude or Phase? In this section, the authors investigated the use of labels amplitude and phase separately. "The model is trained for the sample x combined by the phase spectrum Pxi and the amplitude spectrum Axj by optimizing Eq(7)". How to understand x combined by the phase spectrum P and the amplitude spectrum A. Is it means that you first decouple the x into A and P, then input the A and P to the networks with two FC
layers, or input [X, P] and [X, A] into the networks?

Thanks for your attention!
For two images xi and xj, sample x is combined by the phase spectrum P_xi and the amplitude spectrum A_xj. Then, the model is trained with (x, yi, yj) by Eq(7).
I hope this will help you!

Thanks so much for your reply! I get your meaning. One more question, have you tried to train a model only with Amplitude input or Phase input?

We didn't try that, but it's a direction worth exploring in the future.


Update README to include example usage of setting locale resource URL

This commit change is based on #50 . This is also based on my experience of having to Google an example. I believe this will help other users.

Thanks!


ci: make sure the if-condition works

Problem:
The CI teardown flow is not working.
Need always() to trigger the steps, or steps after the failure cannot be executed.
Solution:
Make sure the if-condition works
Related Issue:
Test plan:

LGTM, although I wonder -- could we instead remove the if line entirely? Would that also work to make these steps run?

Sure, that's the original behavior.
With always() but no check.
So I would get some error log from getting NDM log or vagrant destroy
I would like to cleanup these errors.

@mergifyio backport v0.7.x v0.6.x


Need help: Migration from existing app to flutter

We're migrating an existing iOS and Android app to a Flutter application.
Therefore we want to read existing information from the Keychain inside our new application.
When I try to fetch the value with the existing key. I don't get any results.
Is this even possible from within the package?

It should be possible after this MR would be merged #184 -> will do it this weekend

@HannesVDB please try the latest develop branch, it should support your case. You need to set accountName in IOSOptions to either a name of your account/service or null to access all entities (aka wildcard).

Closing the issue, @HannesVDB please re-open if it doesn't work for your case


Support custom k3s config parameters

Would it be possible to add custom config parameters to the K3S config.yaml for the control planes?
Much like the option to have additional Traefik parameters, I'm running this in production and I needed etcd/kube- controller, proxy and scheduler monitoring therefore I added these extra parameters to /etc/rancher/k3s/config.yaml for each control plane:
"etcd-expose-metrics": "true"
"kube-controller-manager-arg":
- "bind-address=<IP_ADDRESS>"
"kube-proxy-arg":
- "metrics-bind-address=<IP_ADDRESS>"
"kube-scheduler-arg":
- "bind-address=<IP_ADDRESS>"

This has the catch that I can't auto redeploy with the matrics exposed and it is a bit daunting needing to add those manually each time
Would that be a possibility or does this also fall into the  "We try not to support Third party X thing" category? If so then not a problem,  I will just stick with it :| or add it myself

We @11Tuvork28, we can do that definitely! Will try ASAP during this week. But if you want to go ahead and try yourself, PRs are most welcome.

Great!
I will give it a try in the next few days, will be the first time for me writing terraform :)

@11Tuvork28 Awesome! It's not hard you will see. We have similar logic all over the codebase! 🚀


add angular-dialog-service typescript definitions

Definitions for this project https://github.com/m-e-conroy/angular-dialog-service

angular-dialog-service/angular-dialog-service.d.ts
check list

[ ] is collect naming convention?

https://www.npmjs.com/package/angular-dialog-service
http://bower.io/search/?q=angular-dialog-service
others?

[ ] has a test file? (angular-dialog-service/angular-dialog-service-tests.ts or others)
[ ] pass the Travis-CI test?

Can someone please review this again?

thanks mate!


CSS minification

I was scrolling through the Lighthouse audit of my app when I noticed this:

Though it's not a ton, it's easily fixed by just adding --minify here: https://github.com/bullet-train-co/bullet_train/blob/main/package.json#L39-L40
I wonder if it's worth upstreaming this to the starter repo? "pretty printing" the CSS in the browser's devtools still makes it easily inspectable.
Or we could add an environment variable, e.g. MINIFY_CSS to switch it on/off?

Oh, that's interesting. I do think we should figure out how to get --minify to be the default for production. Or maybe make it always the default and use an ENV var to skip minification? SKIP_MINIFY_CSS or something?

Yep. Though to be honest, it seems the bulk of minification could be earned on the theme.


Suggestions for modification Microcore + plugin

前言
大家好，我是一名dubbo的深度使用者，在使用的过程中，发现在dubbo扩展点的设计上还留有一些小的缺陷。在说明的过程中，我会以接口org.apache.dubbo.rpc.Protocol来举例子。
缺陷说明
dubbo的扩展点可以满足新增一种实现方式的需求，比如我可以新增一种Protocol的实现（如下面的代码），用户可以在他的配置文件中使用新的实现。
但是却无法满足用户这样的需求：不想修改SPI默认扩展点的名字（对Protocol来说默认是dubbo），仅  仅想替换DubboProtocol的实现，也许是用户有更好的实现想自己尝试一把，但又不想通过修改源码重新编译来完成，抑或者是用户发现了一个bug，但是社区又不可能马上修改这个bug立马发布一个版本,对此时的用户而言，他最希望能无缝替换原实现）。我有时就有这种冲动，想要替换原实现。:）
 public  class  NewProtocol  implement Protocol{
       //code here ...
 }

修改建议   微核心+插件式
扩展点的加载方式，全部统一按照插件方式加载。插件由一个插件生命周期管理容器维护，它们构成微核心，核心不包括任何功能，这样可以确保所有功能都能被替换，并且，框架作者能做到的功能，扩展者也一定能做到，以保证平等对待第三方，所以，框架自身所有Extension功能均通过插件的方式实现，没有任何硬编码。
分包

微内核包   包括插件管理器的接口、一些核心注解、插件接口、插件生命周期接口、事件通知接口等
插件管理器的默认实现包   负责查找具体的插件实现（注意：插件管理器本身也是可以通过插件的形式被用户替换的哦）
其他的功能包（比如dubbo-config,dubbo-remoting）

目的
通过只添加代码就能替换或者新增实现，且无需修改任何原始代码。
Foreword
Hello everyone, I am a deep user of dubbo. During the process of using it, I found that there are some minor defects in the design of the dubbo extension point. In the process of explanation, I will use the interface org.apache.dubbo.rpc.Protocol as an example.
Defect description
Dubbo's extension point can meet the needs of a new implementation. For example, I can add a protocol implementation (such as the following code), users can use the new implementation in his configuration file.
But it can not meet the needs of users: do not want to modify the name of the SPI default extension point (the default is dubbo for Protocol), just want to replace the implementation of DubboProtocol, maybe the user has a better implementation, I want to try it myself, but I don't want to recompile by modifying the source code, or the user finds a bug, but the community can't immediately modify the bug to release a version. For this user, he hopes to replace the original implementation seamlessly.) . I sometimes have this urge to replace the original implementation. :)
Public class NewProtocol implement Protocol{
       //code here ...
 }
Suggestions for modification Microcore + plugin
The loading method of the extension point is all loaded in the same way as the plugin. Plugins are maintained by a plugin lifecycle management container, they form a micro core, the core does not include any features, so that all functions can be replaced, and the features that the framework author can do, the extension can certainly do, Guaranteed equal treatment of third parties, so all extension functions of the framework itself are implemented through plug-ins, without any hard coding.
Subcontracting
Microkernel package includes plugin manager interface, some core annotations, plugin interface, plugin lifecycle interface, event notification interface, etc.
The default implementation package of the plugin manager is responsible for finding the specific plugin implementation (note: the plugin manager itself can also be replaced by the user in the form of a plugin)
Other feature packs (such as dubbo-config, dubbo-remoting)
purpose
You can replace or add an implementation by just adding code, without modifying any of the original code.

+1

mark

Thank you for your advice. @kimmking

@liangfei0201 what about your opinion?

mark

The original intention of the framework itself still hopes to simplify the user's access cost as much as possible. If this method is followed, it may bring a certain access burden to the user.

Close this issue temporarily, if you have a new idea, you can reopen it.


Chapter 3 some_digit  error

:bug:
In Chapter 3,
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt

some_digit = X[0]
some_digit_image = some_digit.reshape(28, 28)
plt.imshow(some_digit_image, cmap=mpl.cm.binary)
plt.axis("off")

save_fig("some_digit_plot")
plt.show()

Making with the above code and it raised error:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~/anaconda3/envs/tf2/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   3079             try:
-> 3080                 return self._engine.get_loc(casted_key)
   3081             except KeyError as err:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 0

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
<ipython-input-6-29a4c649ca11> in <module>
      3 import matplotlib.pyplot as plt
      4
----> 5 some_digit = X[0]
      6 #some_digit=np.array(X.iloc[0])
      7 some_digit_image = some_digit.reshape(28, 28)

~/anaconda3/envs/tf2/lib/python3.7/site-packages/pandas/core/frame.py in __getitem__(self, key)
   3022             if self.columns.nlevels > 1:
   3023                 return self._getitem_multilevel(key)
-> 3024             indexer = self.columns.get_loc(key)
   3025             if is_integer(indexer):
   3026                 indexer = [indexer]

~/anaconda3/envs/tf2/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   3080                 return self._engine.get_loc(casted_key)
   3081             except KeyError as err:
-> 3082                 raise KeyError(key) from err
   3083
   3084         if tolerance is not None:

KeyError: 0

I come up with this solution
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt

#some_digit = X[0]
some_digit=np.array(X.iloc[0])
some_digit_image = some_digit.reshape(28, 28)
plt.imshow(some_digit_image, cmap=mpl.cm.binary)
plt.axis("off")

save_fig("some_digit_plot")
plt.show()

That worked for me ! Thank you

My pleasure.

Hi @ErdemOzgen,
I believe the source of the error is that fetch_openml() changed from returning a NumPy array to returning a Pandas array, and this broke some code in my book. Luckily, there's an easy fix: just pass as_frame=False when calling fetch_openml() and then all the code should work fine (not need for .iloc).
Hope this helps.

Hi @ageron ,
You are right, I have just added your code line of the new version in case somebody gets stuck.
Thanks for helping me out.
Warning: since Scikit-Learn 0.24, fetch_openml() returns a Pandas DataFrame by default. To avoid this and keep the same code as in the book, we use as_frame=False.
mnist = fetch_openml('mnist_784', version=1, as_frame=False)


[docs] Remove redundant aria-label when wrapped in Tooltip

These became redundant with #22729

Children are still labelled: https://github.com/eps1lon/mui-scripts-incubator/pull/1307


Clicking on an image in the email I received leads to a "Hmm... it's not here" page.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.73-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @davidcardoza
Slack conversation (hyperlinked to channel name): #quality
Action Performed:

Send an image as user A to user B while user B is offline
As user B, click image in email summary

Expected Result:
The image displayed without any issue
Actual Result:
hmm... it's not here message displayed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/3cd8c63b-c1fa-4af2-b903-70551fe1a429
https://github.com/user-attachments/assets/ed7822c1-3571-488a-99f5-ceb65322177e
View all open jobs on GitHub

This also happens in prod. Demoting to NAB.

Hm this feels like it might be backend, but definitely open to a front end solve if we have one! Will look shortly

Trying to replicate internally, apparently it's hard to get the email summaries to send.

Trying to get some help replicating this, once i can we can figure out the solution

Okay so I managed to reproduce finally. The issue looks like the formation of the link from the email, vs. how you get there from the app itself. I don't yet know exactly which parts are causing the biggest issues, but here's the details.
Link from email:
https://dev.new.expensify.com:8082/r/3058871422043474/attachment?source=https%3A%2F%2Fwww.expensify.com.dev%2Fchat-attachments%2F5094796852905002131%2Fw_53497515bb3b313ac8e88c4efded655601d91524.png

URL from navigating in App:
https://dev.new.expensify.com:8082/attachment?source=https%3A%2F%2Fexpensify-dgalerosen.ngrok.io%2Fchat-attachments%2F5094796852905002131%2Fw_53497515bb3b313ac8e88c4efded655601d91524.png&type=r&reportID=3058871422043474&isAuthTokenRequired=true&fileName=Screenshot_2024-12-10_at_12.27.42.png

Differences:
https://dev.new.expensify.com:8082
**[EMAIL LINK HAS /r/<reportID>]**
/attachment?source=
[EMAIL HAS OLD DOT LINK, URL HAS NEW]
chat-attachments%2F5094796852905002131%2Fw_53497515bb3b313ac8e88c4efded655601d91524.png
[URL HAS &type=r&reportID=3058871422043474&isAuthTokenRequired=true&fileName=Screenshot_2024-12-10_at_12.27.42.png]

Playing around, I think a few things are happening:

The report needs to be passed as a URL param, NOT as part of the url
Possibly, the source needs to be a newdot link, though I'm not sure about that
fileName and isAuthTokenRequired seem to possibly not be required, though that seems odd on the latter front.
I'm not sure about type

The nice thing is that it's consistent, it's not about whether or not the user has access to the particular report or attachment or whatever. That is, after I successfully open it, the email link still doesn't work. So it should be easy to reproduce / update that link once I find the logic.

hey @Gonals it looks like you wrote the initial URL that we use for attachment email links (here). any ideas on why these aren't working anymore?

That was a while ago, but it seems we have changed the URLs in Newdot?

Yeah hrm. Okay so I've got nearly all of what we need. I've updated the backend to use the right format:
URL_TO_NEW_DOT.'attachment?source='.$url.'&type=r&reportID='.$reportID;
This works on dev! Yay! However, I looked into production a little bit and I'm not 100% sure it will solve the problem. I found a recent image from the social channel. The link I received in my email (which doesn't work) was
https://new.expensify.com/r/6549335221793525/attachment?source=https://www.expensify.com/chat-attachments/1994588430180453104/w_ab9f5e72faca59f0bc1888e27f087a52d683bf6b.jpg

Adapting that into what my updated backend will send, we'll get:
https://new.expensify.com/attachment?source=https://www.expensify.com/chat-attachments/1994588430180453104/w_ab9f5e72faca59f0bc1888e27f087a52d683bf6b.jpg&type=r&reportID=6549335221793525

Unfortunately, that still doesn't work. Let's keep going.
The link that actually works, via App, is
https://new.expensify.com/attachment?source=https%3A%2F%2Fwww.expensify.com%2Fchat-attachments%2F7162688893835784434%2Fw_c622099d5dc912677747f0b1d9b2b0d91da26598.jpg&type=r&reportID=6549335221793525&isAuthTokenRequired=true&fileName=7594B93F-3659-4022-95AF-05728EADA518.jpg

Adapting that into the same format from my change, it still works like this:
https://new.expensify.com/attachment?source=https://www.expensify.com/chat-attachments/7162688893835784434/w_c622099d5dc912677747f0b1d9b2b0d91da26598.jpg&type=r&reportID=6549335221793525

At this point, we're at exactly the same link [format] as my new format. But it looks like the email link still wouldn't work, even with the changes - because the reportActionID (I assume that's what the numbers after chat-attachments are?) and the file name (w_....) are different.
I'm hoping that's unrelated, and it might work if we push this change? I'm heartened by it working on dev... but that's definitely peculiar.

Okay it did not fix it, I'm waiting to get a new image link so I can try to identify what else we can try.

Okay it did not fix it, I'm waiting to get a new image link so I can try to identify what else we can try.

@dangrous want me to send you an image? Don't open the DM so it will ship to your email.

that would be great @davidcardoza ! I just tried sending myself one from my expensifail account but it didn't come through, even after way more than 10 minutes... maybe yours will work

Sent a pic over via DM, it's a beaut.

So in that testing ^ it DID work as expected. Do you think we should have QA re-test this one more time?
I'll also send you one @davidcardoza for another local test.

Okay so it seems to work MORE of the time now, but not all the time.

David -> Daniel worked!
Daniel -> David worked!
Another David -> Daniel didn't work on first click, but did on second.
Another photo I happened to see come through worked!

I... am not sure what to do with that info haha. We're batting .750-1.000 but not certain it's enough. What do we think?


How to improve studentmodel's acc?

My teachermodel's acc is 99%, but when I try to distill knowledge, my studentmodel's acc is under 10%. It seems that studentmodel didn't learn knowledge from teachermodel.
I use Lenet5 as my studentmodel,alpha = 0.9, temperature = 1.
Thanks for your help.

Dataset is GTSRB, 43 classes.

Have you solved this problem? How it can be done


Refactor codegen.ts

Splitting out the not exported code from codegen.ts to make it easier to read.
There are a few exported methods in CodeGen that I don't really see a good use, I didn't want to remove anything for compatibility.
Microsoft Reviewers: Open in CodeFlow

@erictuvesson Merged and published as 3.0.5, thanks!


perf(infra): add go mod and sum file init for faster tests

when running integration tests in the infrastructure repository they tend to take a really long time due to dependency download. This change pulls them down at build so we don't end up expensively pulling them each test run (~1hr)

superseeded


Command fails if buffers for unrelated attributes are destroyed

I think I've encountered a cleanup bug in which attributes are not disabled so that subsequent, unrelated commands expect attributes used by previous commands to be available forever.
Reproduction: https://codepen.io/rsreusser/pen/QrxQzj
Reproduction code is listed at the bottom. The timeouts help make the sequence clear but are not required. The logs look like:
invoke command with two attributes
destroy color buffer
invoke command with one attribute
(unknown) WebGL: INVALID_OPERATION: drawArrays: no buffer is bound to enabled attribute

Solutions that cause the second command to succeed:

don't call the first command
don't destroy the color buffer used by the first command
add a second attribute to the second command

This suggests to me that the first command binds an attribute but that the second command does not disable it. This is fine if, for example, you haven't destroyed the attribute, but if you destroy it, then the second command expects it to be available even if it's not used.
require('regl')({
  onDone: (err, regl) => {
    if (err) return console.error(err);

    var vertexBuffer = regl.buffer([-1, -1, 0, 1, -1, 0, 0, 1, 0]);
    var colorBuffer = regl.buffer([1, 0, 0, 0, 1, 0, 0, 0, 1]);

    var commandWithTwoAttributes = regl({
      vert: `
        precision mediump float;
        attribute vec3 aPosition;
        attribute vec3 aColor;
        varying vec3 vColor;
        void main () {
          vColor = aColor;
          gl_Position = vec4(aPosition, 1);
        }
      `,
      frag: `
        precision mediump float;
        varying vec3 vColor;
        void main () {
          gl_FragColor = vec4(vColor, 1);
        }
      `,
      attributes: {
        aPosition: vertexBuffer,
        aColor: colorBuffer
      },
      count: 3
    });

    var commandWithOneAttribute = regl({
      vert: `
        precision mediump float;
        attribute vec3 aPosition;
        void main () {
          gl_Position = vec4(aPosition, 1);
        }
      `,
      frag: `
        precision mediump float;
        void main () {
          gl_FragColor = vec4(1, 0, 0, 1);
        }
      `,
      attributes: {
        aPosition: vertexBuffer,
      },
      count: 3
    });

    console.log('invoke command with two attributes');
    commandWithTwoAttributes();

    setTimeout(() => {
      console.log('destroy color buffer');
      colorBuffer.destroy();

      setTimeout(() => {
        console.log('invoke command with one attribute');
        commandWithOneAttribute();
      }, 1000);
    }, 1000);
  }
});

/cc @mikolalysenko and maybe @dy if interested (though maybe you're using your gl-utils library at the moment? 😄)

Appears to be a duplicate of #413, which probably needs a publish.


Make Anki Deck

by freq, in this repo or elsewhere

maybe just convert from yomitan (script the creation) or manually


Update README.md

Document what this repo is used for and link to the other test pack (test2).

Closing this, since it's already been merged to the aaa branch.


[Proposal] I2S traits - take 2

(This was all done and discussed in #204 but this crate continued its evolution before the merge. Here I just adapted the traits to how we do things now: 1 blocking trait with all methods, no nb variant as that will be deprecated eventually.
The proof implementations need to be adapted (sorry!) but this should be pretty easy)
I added some I2S traits to kick off the discussion started in #203.
The traits accept two words for left and right and are otherwise similar to SPI as of the 0.2.x version.
An interleaved version can be found in the i2s-interleaved branch. There the data should be passed interleaved. e.g. [left0,right0,left1,right1,...]
A version of these traits for the embedded-hal 0.2.x version can be found in the i2s-v0.2.x branch.
There is another MCU implementation in stm32f4xx-hal
TODO:

[ ] Demo microcontroller HAL implementation:

[ ] stm32h7xx-hal - discussion issue
[ ] [WIP] stm32f4xx-hal

[ ] Bit-banging HAL implementation supporting 16-bit and 32-bit packets

[ ] Working example tested using both MAX98357A and PCM5102A

[ ] Working example of saw wave

Uses driver: https://github.com/maxekman/cs43l22

[ ] Full-duplex trait implementation

[ ] stm32h7xx-hal - discussion issue

[ ] Changelog entry.

Thoughts?
cc. @maxekman @samcrow @YruamaLairba

r? @therealprof
(rust-highfive has picked a reviewer for you, use r? to override)

Hello, is the API still open for change ? I think an API based on [(W,W)] instead of left:[W], right:[W] or interleaved:[W] will prevent some stupid situation, for example :

an user may want only left channel and use left: [W;128] and right: [W;0], does implementation expect that ?
a left or right sample is corrupted. Naive implementation may just drop It, causing synchronization issue between channel.
a malicious user use an interleaved with odd number of elements, how methods should behave ?

Changes are still possible here. The reason I chose separate buffers for left and right instead of [(W,W)] is because they are much easier to deal with than an array of tuples and from my experience, both channels are probably being handled with separate buffers in the rest of the application already.
Of course this leads to situations like the ones you listed and I would expect any implementation to either deal with them in some way or impose additional restrictions like requiring that both buffers have the same length.
I will add some more documentation to the trait about this.

I published this trait in a separate embedded-i2s crate.
I would encourage anybody to continue the discussion over there.
A discussion about integration into embedded-hal would come much later.


[arm] Influxd in build 2.0.0-beta.12_linux_arm64 unable to start

Steps to reproduce:

upgrade (`wget https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.12_linux_arm64.tar.gz ; tar xvf influxdb_2.0.0-beta.12_linux_arm64.tar.gz  ; sudo cp influxdb_2.0.0-beta.12_linux_arm64/influxd /usr/local/bin/influxd
stop/start: (sudo systemctl restart influxdb2.service)
check status: (sudo systemctl status influxdb2.service)

Expected behavior:
Influxd should be self contained / no dependencies
Actual behavior:
influxdb_2.0.0-beta.12 has been dynamically linked, requiring external libs.
influxdb2.service - InfluxDB 2.0 service file.
   Loaded: loaded (/lib/systemd/system/influxdb2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-06-21 07:57:46 AEST; 1s ago
     Docs: https://v2.docs.influxdata.com/v2.0/get-started/
  Process: 24369 ExecStart=/usr/local/bin/influxd run --reporting-disabled --engine-path /mnt/Influx/.influxdbv2/engine --bolt-path /mnt/Influx/.influxdbv2/influxd.bolt
 Main PID: 24369 (code=exited, status=203/EXEC)

Jun 21 07:57:46 raspiM systemd[1]: Started InfluxDB 2.0 service file..
Jun 21 07:57:46 raspiM systemd[24369]: influxdb2.service: Failed to execute command: No such file or directory
Jun 21 07:57:46 raspiM systemd[24369]: influxdb2.service: Failed at step EXEC spawning /usr/local/bin/influxd: No such file or directory
Jun 21 07:57:46 raspiM systemd[1]: influxdb2.service: Main process exited, code=exited, status=203/EXEC
Jun 21 07:57:46 raspiM systemd[1]: influxdb2.service: Failed with result 'exit-code'.

Environment info:

System info: Linux 4.19.118-v8+ aarch64
InfluxDB version: influxdb_2.0.0-beta.12
Other relevant environment details: n/a

Config:
[Unit]
Description=InfluxDB 2.0 service file.

Befrore beta.10 it was static linked and has no problem.
Here are dynamic linked libraries in influxd beta.12:
$ readelf influxd -d | grep NEEDED
0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

Is still the same with beta.13:
[root@mb-dev influxdb_2.0.0-beta.13_linux_amd64]# ldd influx influxd
influx:
./influx: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./influx)
	linux-vdso.so.1 =>  (0x00007ffc297e1000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f71861b2000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7185f96000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7185d80000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f71859b2000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f71863b6000)
influxd:
./influxd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./influxd)
	linux-vdso.so.1 =>  (0x00007ffd76abe000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6170167000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f616ff63000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f616fd4d000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f616f97f000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f6170383000)

@russorat , is this the new norm?  If not can you organize to get another build for beta13 ?

thanks for opening this. let me ask around internally and see what our options are.

@nathanielc the next beta milestone is second week of July, seems pretty important that this works by then ;)
Could you please assign it appropriately and get in your next sprint, if possible?

@FixTestRepeat @drpuur @gonghito and others on this thread, looks like a recent change to a dependent library had a side effect of turning our binaries from static to dynamic. We didn't go out of our way to make static binaries originally, they just happened to be that way (See #17675).
We are working on build changes to add static builds to the next release due the second week of july. Until then, if you need static binaries, you will need to stay on Beta-10.

We've made this dependent on #17675, and moved that issue into our current sprint which started today. We are fairly certain that issues with the arm64 build will be resolved by having static linking. Once that issue is addressed, we will make sure arm64 builds are working right, and hopefully we can just close this issue.

Same issue is present on linux amd64 build for beta13.
./influxd: /lib64/libc.so.6: version GLIBC_2.18' not found (required by ./influxd)`

Just released a beta 14. Can someone check the binary to ensure it is statically compiled again? https://github.com/influxdata/influxdb/releases/tag/v2.0.0-beta.14

@russorat , beta14 seems to be still dynamically linked:
file influxdb_2.0.0-beta.14_linux_arm64/influxd
influxdb_2.0.0-beta.14_linux_arm64/influxd: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, Go BuildID=N_XxBa8kFqmZ6SssmuJ1/UqYGjsR4enaFdh-e2A5I/neOu2BlGX4WsHFjqBVBd/U2hsrHoNAQZPF5tfH0xf, BuildID[sha1]=fcffa4c7005e82153d816aedc43393877dbf51cb, stripped

We're planning to try and fix the arm64 binaries at some point in the future, but we had already built the amd64 binaries statically for a different task so switching OSS to build the same way was only a small amount of work. Since we changed flux to use a C ABI (the Rust code), we haven't yet built the arm64 statically and we haven't had time to set up a developer with an arm64 machine to test the resulting binaries.
The instructions for building statically on ARM64 should be similar to AMD64, but figuring out the cross compiler toolchains we need and the build flags is work we haven't been able to do. If you have any insight that would greatly aid us in building the binary statically again.
For AMD64, the following is required:

A toolchain for Rust that builds the Rust code fully statically. There's a musl compiler toolchain for AMD64 that does this.
A musl-gcc compiler that compiles the cgo stubs statically. We use musl-gcc on AMD64 for this.

When I took an initial look at this, I couldn't find a musl compiler toolchain for ARM64 using rustup and I hadn't researched where to find a musl-gcc compiler that cross compiled for arm64 yet. We're going to try to investigate this for an upcoming beta but just haven't been able to yet.

thanks @jsternberg  - i'd like to help but can't get the build environment to work.  Are the instructions on here still current?

Yes they are. The error message you see there indicates that it can't find the cargo executable for compiling rust. You can either ensure cargo is on the path or you can set the CARGO environment variable to the path.

hi @jsternberg , where is current investigation at?  I noticed compiling using make influxd also produces dynamically linked binary for ordinary linux amd64 arch (before even looking at cross-compiling).   What build command and flags are being used for the official beta builds currently? (Given that those are statically linked)
[bob@manjaro20 influxdb]$ make influxd
env GO111MODULE=on go build -tags '' -ldflags " -X main.commit=65d9b2c088" -o bin/linux/influxd ./cmd/influxd
[bob@manjaro20 influxdb]$ file bin/linux/influxd
bin/linux/influxd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8958ce0cd87744256c9dff8c15fa2c0ae354417d, for GNU/Linux 3.2.0, not stripped

@russorat any news on this one?
I got another toolchain compiled, but now stuck on how to specify using it during make

@FixTestRepeat unfortunately, not much progress. Last time we looked, we couldn't find a rust toolchain for static compilation on arm. Do you know of any?

There is https://rust-lang.github.io/rustup-components-history/aarch64-unknown-linux-musl.html and https://rust-lang.github.io/rustup-components-history/arm-unknown-linux-musleabi.html

Anyone had any luck with these?
Russ ?

The rc's and release doesn't even have arm64 builds available anymore. Is this not a supported architecture?

@FixTestRepeat @drpuur @davidgs  @davidgraeff our 2.0.3 release includes an updated ARM64 build which we hope will address issues like this. You can download the binaries here: https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.3_linux_arm64.tar.gz
Please let me know how it goes if you try it out!

I'm going to close this issue since I've seen reports in the community Slack that the new ARM binaries do (at least) start up, but please do open new issues if you try them out and hit problems!


Fixes wrapped types definition

Previously providing a field of type [Int] would define a GraphQL type [Int!] instead of defining [Int!]!. In order to define a [Int!] GraphQL type, one should now provide [Int]?.
The following cases are now properly handled:

Swift Type
GraphQL Type

[Int]
[Int!]!

[Int?]
[Int]!

[Int]?
[Int!]

[Int?]?
[Int]

Simplifies getGraphQLType(from:) to always recurse at least once given a wrapped type to avoid duplicate logic.

Codecov Report

Merging #7 into master will increase coverage by 1.37%.
The diff coverage is 96%.

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
+ Coverage   81.31%   82.69%   +1.37%
==========================================
  Files          13       13
  Lines        1686     1745      +59
==========================================
+ Hits         1371     1443      +72
+ Misses        315      302      -13

Impacted Files
Coverage Δ

...sts/StarWarsTests/StarWarsIntrospectionTests.swift
97.55% <100%> (ø)
:arrow_up:

Sources/Graphiti/Schema/Schema.swift
57.34% <94.73%> (+10.72%)
:arrow_up:

Continue to review full report at Codecov.

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

thanks a lot (:

merged and tagged


try subset

DRAFT PR

Coverage report

This PR does not seem to contain any modification to coverable code.

Thanks!


feat: allow switching timezone for date rendering. Fixes #3474

Signed-off-by: Isitha Subasinghe<EMAIL_ADDRESS>Fixes #3474
Please do not open a pull request until you have checked ALL of these:

[x] Create the PR as draft .
[] Run make pre-commit -B to fix codegen and lint problems.
[x] Sign-off your commits (otherwise the DCO check will fail).

[x] "Fixes #" is in both the PR title (for release notes) and this description (to automatically link and close the issue).
[ ] Add unit or e2e tests. Say how you tested your changes. If you changed the UI, attach screenshots.
[x] Github checks are green.
[x] Once required tests have passed, mark your PR "Ready for review".

If changes were requested, and you've made them, dismiss the review to get it reviewed again.

How does this work once webpack builds the app? I don’t think it has access to time zone anymore.

@alexec it is basically a C macro is my understanding according to this: https://webpack.js.org/plugins/define-plugin/.
All it does is text replacement: process.env.DEFAULT_TZ becomes "UTC".
I can also remove this, I just thought it being configurable is nice.
Alternatively we can use dotenv files.

@JPZ13 oh yeah I am aware of that aspect, correct me if I am wrong but I believe @alexec concern was that the process.env.DEFAULT_TZ was not available anymore after webpack has built the JS bundle, which I don't believe is correct. DefinePlugin should strip out  process.env.DEFAULT_TZ and replace it with just 'UTC', like this static build time thing was specifically what I was aiming for with this.
I wanted to just have a configurable default timezone in the webapp that someone can configure as a part of the build process itself.
This baking step is done here through webpack itself here https://github.com/argoproj/argo-workflows/pull/10120/files#diff-17798992c0235eb019e197c72e2967fd83ba5e2703ae7672ae54c56141e90aa8R63.
I made a minimal web page here to demonstrate that process.env.DEFAULT_TZ is in fact not undefined here: https://github.com/isubasinghe/argo-workflows/blob/test-webpack/ui/src/app/testapp.tsx.
It is 'UTC' and this value is from the previous DefinePlugin call to webpack.
I hope I made my intentions more clearer now.
Honestly perhaps reaching out to the server and querying its configured timezone is better, but for now imo this baking is good enough. Happy to change it if you disagree though.

Ah understood. It does seem like an odd developer experience to me. The user would have to create a separate docker image for the new timezone that they want to add. It seems strange to make the user do that rather than have the environment variable for DEFAULT_TZ be configurable on the argo server deployment

@JPZ13 the intention is that this is more something we change when we(Argo Project members) would like to change the default timezone we ship with.
The timezone is still configurable from the UI. Here is the image where one may select the timezone they would like to view logs in.

I just pushed a new change which saves the selected timezone into local storage as well. A fresh workflow run results in the following output, because I detected that I had previously chosen AEDT as my timezone:

Sorry to be a pain on this haha, I am going to retract what I said before regarding querying the server. I understand the default timezone being the same on the server and the client is a nice to have, but not convinced it is worth the effort.  Especially given that the timezone the user selects is now persisted on localstorage.

 Thanks for answering all my clarifying questions
I understand what you're getting at now. My apologies for the confusion on my end. Storing the timezone in local storage makes sense. Let's not worry about the API endpoint for now. If someone really wants it, we can always add it in later. Always better to ship small, incremental progress. I'll clone down the latest changes later today and give it a review

not stale

not stale


Update stores items api call

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 0.56%. Comparing base (e151bc1) to head (6d77fb4).

Files with missing lines
Patch %
Lines

src/components/Dashboard/ManageItems.tsx
0.00%
2 Missing :warning:

Additional details and impacted files
@@          Coverage Diff          @@
##            main     #28   +/-   ##
=====================================
  Coverage   0.56%   0.56%
=====================================
  Files         36      36
  Lines       2673    2673
  Branches      37      37
=====================================
  Hits          15      15
  Misses      2623    2623
  Partials      35      35

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


typo

Asked development team to review over Slack

Have now asked Firat directly if someone needs to review this.

This code does not match the code described above. The code above was the correct version.


Add sanjay-kamalakshan to Contributors list

add to contributors list

@sanjay-kamalakshan, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.


Difference between digital currency and cryptocurrency

Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
Proposed title of article
Your title should be descriptive of the article/tutorial. Be Specific. Use keyword research to gain your article higher ranking.
Introduction paragraph(s):
Please write the Introductory paragraph(s), that would be included in your article. We will use this writing snippet to help us assess overall quality before approval. We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
People often confuse digital currency and cryptocurrency. This article aims at educating readers on the differences that exists between cryptocurrency and digital currency.
Key takeaways:
What are the 3-5 most important things the reader should understand or be able to do after reading this article? Use this area to get your ideas down on the bulk of your article or tutorial.
Cryptocurrency overview
Digital currency overview
Differences between cryptocurrency and digital currency
References:
Please list links to any published content/research that you intend to use to support/guide this article.

Will open after I have published the other one Issue in queue

Will open after I have published the other one Issue in queue

This one can be opened after the other one has been published.
To avoid queues we are only allowing one topic and PR open at at time until publishing. 🚀


Upgrade to Storybook 7 + Vite builder

This change: (check at least one)

[ ] Adds a new feature
[ ] Fixes a bug
[x] Improves maintainability
[ ] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[ ] Yes
[x] No

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[x] Test suite(s) passing?
[x] Code coverage maximal?
[ ] Changeset added?
[ ] Component status page up to date?

What does this change address?
We want to continue moving along with Storybook, especially across major versions, to ensure we're able to take advantage of new features, faster builds, and more.
How does this change work?
We initially attempted to upgrade Storybook in place, but ran into difficult-to-debug issues after the initial codemod steps. Instead, I ultimately ripped Storybook out completely, installed it from scratch, then added needed pieces back in. In the process, I moved to the Vite builder instead of the Webpack builder for significantly improved local development speed.
Additional context
Of note:

I had to add a React import to the couple of React-related files in .storybook, it seems like the JSX transform wasn't working for them. This might be failing once uploaded to Chromatic.

Things that aren't working:

The theming is working for the Storybook UI, but isn't working within the docs content—maybe related to this issue?

Overall lgtm, just have a few questions!


Add action buttons to notifications to allow for user response to ntfy message

Add the ability to add clickable responses to a ntfy message.  This is allowed in android notifications (called notification actions: https://developer.android.com/training/notify-user/build-notification.html#Actions).  To make it consistent across all the ways to view a message I think it would also need to be added to the ntfy app's list of messages (adding clickable buttons under the message) and to web push notifications.
The action taken when a button is pushed could be a message published on a topic determined by a header set in the original notification and text indication which button.  In this way the server that sent the actionable notification can just listen on a determined topic for a reply and to take action.  The number of buttons and their text could be set in the same way.
Action buttons in a android notification (concept):

Would love to have this feature.
Not sure how it is implemented but HomeAssistant has a feature like that: https://companion.home-assistant.io/docs/notifications/actionable-notifications/
Maybe the client does a POST to the server?

I'm going to work on this next. I am still brainstorming, but this is the idea so far:
curl \
  -H "Action: Show Tweet; view; https://twitter.com/binwiederhier/status/1467633927951163392" \
  -d "Somebody tweeted about ntfy" \
  ntfy.sh/tweet-alerts

curl \
  -H "Action: Open HomecamApp; open; org.homecamapp" \
  -H "Action2: Call police; http-post; https://police.com/..." \
  -d "Garage door sensor motion alert" \
  ntfy.sh/garage-door-alert

My thoughts are that I can provide a limited syntax via HTTP headers, and then if you really want to pass more details, you can pass the message as JSON (https://ntfy.sh/docs/publish/#publish-as-json), something like
curl -d '{
  "message": "garage door alert",
  "actions": [
    {
      "action": "open",
      ...

Let us know if you need any help testing

📢  User actions: Request for testing

Server binary (amd64): https://phil.nopaste.net/ntfy-am64-actions?d=1&f=ntfy&a=vcbWyfDPkw
Android apk: https://phil.nopaste.net/ntfy-actions-android.apk?d=1&f=app-play-debug.apk&a=IkjnamhB0I

How to test
Server:

Run server binary with ntfy serve --cache-file cache.db (a db upgrade is required, so you may want to not use your prod db)
Android:
Back up current settings via Settings -> Back up to file
Uninstall ntfy from phone
Download .apk to phone and install it
Subscribe to local ntfy test server

Then navigate to https:///docs/publish/#action-buttons and play with it.

@RasHas @mrherman This is ready for testing :-D

:loudspeaker: Updated test binaries:
Server:

https://phil.nopaste.net/t7XjlVBntr?d=1&f=ntfy&a=qsyn9vej8g
wget -O ntfy-actions-amd64 "https://phil.nopaste.net/t7XjlVBntr?d=1&f=ntfy&a=qsyn9vej8g"

APK:

https://phil.nopaste.net/T7d7JOvNRH?d=1&f=app-play-debug.apk&a=uVxXKVl4wn

Will be in the next release


feat: support prod, max, min, and mean via reduce layer

Description
Support prod, max, min, and mean via reduce layer
Fixes #2205
Type of change

New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project (You can use the linters)
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[x] I have added tests to verify my fix or my feature
[x] New and existing unit tests pass locally with my changes
[x] I have added the relevant labels to my PR in so that relevant reviewers are notified

Tests passing - verified locally


react-native-scripts upgrading

I have react-native-scripts 0.0.27 version installed. Current version is 0.0.29. How can I check some changelogs, upgrading guide, breaking changes, etc?

Hi, I think this could help ... https://github.com/react-community/create-react-native-app/blob/master/react-native-scripts/template/README.md#updating-to-new-releases
If you want to manually upgrade using git, I've written a gist a week ago when I had the same problem with a composer project.
Check it here : https://gist.github.com/rmkpatchaa/f5949c4564cd504f72f110e6cbbd015f

oops, accidental close
@CandyOgre at the moment we aren't trying to aggregate things like React Native and Expo changes (those projects have their own release notes), but you're right that we should track things in CRNA that change/improve/break. I'll leave this open as a tracking issue to create a CHANGELOG.

Are there any updates to this issue?


Modified marketplace-publishers-guide

Updated TOC and section content for the marketplace-publishers-guide markdown file.

@jm-aditi-ms : Thanks for your contribution! The author, @ellacroi, has been notified to review your proposed change.

closing per email


Update dependencies to K8s 1.23

Update dependencies to K8s 1.23 and fix small incompatibilities with the libraries bumped.
Depends on: https://github.com/openshift/cluster-api-provider-ibmcloud/pull/14

Superseeded by https://github.com/openshift/cluster-api-provider-ibmcloud/pull/16


Add possibilities for custom CSS declarations on widget and dashboard settings

Is your feature request related to a problem? Please describe.
Currently the only existing solution to add some custom styling is by creating an HTML widget in the dashboard and add an style element.
Describe the solution you'd like
An additional option for each widget may be present to add custom styling to the widget individually, or to all widgets through the dashboard settings
Describe alternatives you've considered
Add more configuration options through the widget form
Additional context
Link to community thread

Perhaps these issues could be part of this implementation
Inserting a watermark into the Widget
[Dashboard] - Ostensive flag (watermark) for "Show Offline" in the Widget


[BusinessLogic] All GetById need fixing

GetVehicleById should get a list of available vehicles to chose from since the Id of the Vehicle wont be known to the user, same goes for GetFuelLogsById and get FuelLogsByVehicleId

Thats for the UI to do we dont need to implement that


Naive import of Proskomma Render

(Finally, merging to the right branch...)
This is a naive port of the Diegesis book rendering model to Diegesis Reboot.
There's a kludge to get the document Id which is not currently in navState. We can talk about this in our next meeting.

(You can demonstrate that this is the case by removing the styles and refreshing...)


Reduce some duplication in GoTrueApi

What kind of change does this PR introduce?
Refactor / DRY
What is the current behavior?
A lot of copy/paste code inside GoTrueAPI
What is the new behavior?
Refactored repetitive code inside of functions so that they can be re-used.
Additional context
!!
I am not a typescript/javascript developer.
!!
Also, I think these changes are pretty subjective, so...I wouldn't have my feelings hurt to have it rejected :)
Repeating yourself is often useful, but I think having 5 places do:
const session = { ...data }
if (session.expires_in) session.expires_at = expiresAt(data.expires_in)
return { data: session, error: null }

Isn't great. As a reader, I need to read all 5 closely to figure out if there's a [subtle] difference between them or not.Whereas, having them all use that same function makes the intent "these are all the same" much more obvious

Hi @alaister
Is there a reason for having both Api and Client? I see some methods, like verifyMobileOTP are only accessible directly from GoTrueApi. Are callers expected to reach into auth.api.X?
I feel like a lot of the code can be described as:
client_magicLink(email, optionsl) {
   api_magicLink(email, {shouldCreateUser: options.shouldCreateUser})
}

api_magicLink(email, options) {
   fetch({email,  gotrue_meta_security: { captcha_token: options.captchaToken })
}

And I wonder why client couldn't call fetch directly and skip the intermediary representation.
I think this is most obvious with errors:
1 - fetch raises an exception
2  - api catches and returns an error
3 - client detects the error and raises an exception
4 - client catches the exception and returns an error
If client called fetch directly, it would be:
1 - fetch raises an exception
2 - client catches and returns an error
Same outcome, but 1 less  if + throw + catch

I understand now that Api has extra functionality for server-side/service roles. A bit of a shame that it's exposed to through the Client. I'd need to put more thought into this now that I get it.


mgba: 0.7.0 -> 0.7.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mgba/versions.
meta.description for mgba is: '"A modern GBA emulator with a focus on accuracy"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1/bin/mgba-qt passed the binary check.
/nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1/bin/mgba passed the binary check.
/nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1/bin/.mgba-qt-wrapped passed the binary check.
3 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 0.7.1 with grep in /nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1
directory tree listing: https://gist.github.com/812d6086cc10ef287d3a809ea7bc3852
du listing: https://gist.github.com/ee850864229471de03404e77fb163b9c

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
mgba

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A mgba https://github.com/r-ryantm/nixpkgs/archive/132bb0bbe36b400af37e0814c6691eaa15f9f0d0.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1
ls -la /nix/store/qh8r2y7m4j3bfhmap2yvlyx4d82nqfgz-mgba-0.7.1/bin

cc @MP2E @AndersonTorres for testing.

Works great, merged. Should this be backported to the 19.03 branch? It only contains fixes


Build error on MacOS with clang 11.0

see https://github.com/libra/libra/issues/168
I have tested on MacOS Mojave 10.14.5 with clang 10.0, everything works fine.

https://github.com/libra/libra/issues/168#issuecomment-515814834


v1.6 backports 2020-01-09

#9821 -- identity: require global identity for empty labels (@borkmann)

Once this PR is merged, you can update the PR labels via:
$ for pr in 9821; do contrib/backporting/set-labels.py $pr done 1.6; done

This change is

never-tell-me-the-odds


Support Payments 2.0

I want release custom client with this API.

The latest TDLib version 1.7.4 supports Payments 2.0 among other new features.


add ecds support for composite filter

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest

@kyessenov This is ready for review. PTAL when you get chance. Basically I have latched the "dynamic providers" in FilterChainContextFactory. For this flow, I have also stored the filter_config_provider_manager also at the same place. I think we can use that model in other flows also and remove the singleton usage.

When is the fetching of a composite ECDS filter contents happen? If post-matching (during request/response processing) then this couples data-path and config-path together, which should be avoided if possible. If this is done during config-parsing then it should be ok (just need to be aware of longer time to get the entire config due to higher number of round-trips).

It happens on the main thread. ECDS is initialized during config parsing.

Seems that this will allow creating a multiple-levels of ECDS filters. How will this impact the amount of time it takes to initialize a listener/route?

Yes it is possible to create multiple levels of ECDS filters. I think this is no different from existing extension with matcher support. @kyessenov any thoughts?

Seems that this will allow creating a multiple-levels of ECDS filters. How will this impact the amount of time it takes to initialize a listener/route?

Yes it is possible to create multiple levels of ECDS filters. I think this is no different from existing extension with matcher support. @kyessenov any thoughts?

This is no different than LDS requesting RDS. ECDS can request more ECDS, and that always adds up to some initial config latency. A smart control plane can probably prefetch these configs similar to PUSH PROMISE, but the protocol is not capable of that. I hope the initial caching work for EDS will eventually allows us to improve the protocol in this respect.

Ping @kyessenov

/wait
for new commits

@kyessenov Moved FilterConfigProviderManager to ListenerManager (removed as singleton). PTAL. Only thing pending is validating the oneof - that only config or dynamic_config can be specified because we can enforce oneof now.

/retest

@kyessenov can you PTAL?

@adisuissa Thanks for the review. Addressed your comments. PTAL.

@kyessenov Can you please take a look when you get chance? getting in to frequent conflicts with the changes

hm, @kyessenov is out today - would you be OK doing a main merge, and waiting one day for him to get back?

/wait on main merge

@kyessenov can you please take a look when you get chance?

@ramaraochavali this will need a main merge to resolve mac ci issue

@kyessenov Added missing filter and updated tests. PTAL

/retest

@kyessenov PTAL when you get chance

@kyessenov gentle ping. Can you PTAL?

@kyessenov no problem. Addressed comments. PTAL

@kyessenov can you PTAL?

@kyessenov moved to server context. PTAL

/retest

/retest

/retest

/retest

/retest

@alyssawilk Can you please take a look when you get chance? Running in to frequent conflicts with recent factory context changes :-)

/retest

/retest

@alyssawilk Can you please approve and merge?

I think this needs one more main merge to pass the new CI checks
/wait

/retest

@alyssawilk merged main. But coverage for quic seem to fail and buffer integration test is flaky?

@alyssawilk merged main. But coverage for quic seem to fail and buffer integration test is flaky?

I've seen the same quic coverage failure in another PR (#31287), not sure if it is flaky or not.

yeah I think @phlax bumped quic coverage last night

/wait on CI
/retest


Make sure we attribute OSM

SDK-797

Coverage increased (+0.005%) to 96.379% when pulling 1a3ceefdc4efeb7e7d2c60169bf86236516bd66d on bartvde:osm-attribution into ad03104dd7d54f7dde45494da848767ac7831170 on boundlessgeo:master.

Hmm maybe it's better to change our examples to explicitly have the attribution, so it will also work in mapbox-gl-js

Coverage remained the same at 96.374% when pulling 7ddbe6392ee114fa4a7a19e5f135a2838eb7baf4 on bartvde:osm-attribution into ad03104dd7d54f7dde45494da848767ac7831170 on boundlessgeo:master.

Coverage increased (+0.003%) to 96.376% when pulling c7ffc994f9f3e24928a756ad89d35d494435c205 on bartvde:osm-attribution into ad03104dd7d54f7dde45494da848767ac7831170 on boundlessgeo:master.

Coverage increased (+0.003%) to 96.376% when pulling c7ffc994f9f3e24928a756ad89d35d494435c205 on bartvde:osm-attribution into ad03104dd7d54f7dde45494da848767ac7831170 on boundlessgeo:master.


If translations were added, where I can translate?

I am Polish and want to translate BD

At the moment, a11y isn't implimented on the installer, however it might be a possible upcoming feature. I'll keep you updated.

I'd love to translate BD in german.

I would love to translate BD into Turkish.

Hello. Where can I download Better Discord? Like I tried, but it didn't
work.
Please respond fast!
Maja.
czw., 15 kwi 2021 o 04:08 Raxana @.***> napisał(a):

I would love to translate BD into Turkish.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BetterDiscord/Installer/issues/16#issuecomment-819989280,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATUNGDGRHZ62IJSSYAJ4UILTIZDBBANCNFSM42G2PP6A
.

I can also do the DB for polish lang :^)

If you want to translate BD you can request to join the translation here: https://poeditor.com/join/project?hash=nRljcnV0ET

i would try my best to translate BD into chinese and portuguese

i would try my best to translate BD into chinese and portuguese

BD has already been translated into those languages

oh lol

I can translate BD into french

I can translate BD into french

i can translate into arabic lol


improve error experience

Codecov Report

Merging #6 into master will decrease coverage by 2.63%.
The diff coverage is 55.75%.

@@            Coverage Diff             @@
##           master       #6      +/-   ##
==========================================
- Coverage   70.42%   67.79%   -2.64%
==========================================
  Files          10       11       +1
  Lines         213      267      +54
==========================================
+ Hits          150      181      +31
- Misses         63       86      +23

Impacted Files
Coverage Δ

lib/protector.dart
100% <100%> (ø)

lib/src/js_console_proxy.dart
66.66% <100%> (ø)
:arrow_up:

lib/logging_service.dart
81.81% <100%> (ø)
:arrow_up:

lib/configure_logging_for_browser.dart
58.57% <52.94%> (-6.25%)
:arrow_down:

lib/logging_saver_for_sentry.dart
73.46% <53.57%> (-2.15%)
:arrow_down:

lib/logging_printer_for_browser.dart
61.81% <55.31%> (+4.12%)
:arrow_up:

Continue to review full report at Codecov.

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


Restoring message draft doesn't update rendered preview

Steps to reproduce:

Start writing a message.
Switch the editor to preview mode.
Click "Drafts" and select a different draft to edit.  Notice that the destination field is updated but the message preview is not.
Switch back to write mode.  The draft is correctly restored.
Switch back to preview mode.  The preview is now correct.

Arguably the correct fix is that we should switch back to write mode when you select a draft.

Hi I am unable to replicate this issue

I'm using Firefox 54.0 on Fedora.  There are no errors in the JS console.

I am using Chrome on both on Ubuntu zesty

@anirudhjain75 this is easy to reproduce in Chrome on Ubuntu if you follow @bgilbert's recipe exactly.

@zulipbot claim

#6766

@verma-varsha Are you still working on this?

@zulipbot label "GCI task"

@zulipbot claim


New NativeString in FFI

There seems to be a problem either within FFI or with the way the new property of NativeString is defined in the Model, such that when using it in FFI, the compiler crashes with a No provided declaration for NEW_standard__NativeString.
Since the property is similar, I suspect NativeArray to behave similarly.
Here's an example of code that exposes this behaviour.
class A
        fun foo: NativeString import NativeString `{
                return new_NativeString(50);
        `}
end

var x = new A
var ns = x.foo

@xymus can you look at it ?

This is a separate compiler issue actually, calling any extern constructors from extern code fails. I'm working on a fix. In the meantime, you can use the global compiler and it should be OK. (for new_NativeString at least).


Fixing issues with process exit

Resolves: #153 - Init process exit codes are not always returning because the container exited notification returns before the WaitProcess call comes in causing the HCS to teardown the container.
Resolves: #126 - WaitProcess should honor the timeout associated with the call and return the proper error response on timeout.

Just an FYI about the timeout waiting for the process. Currently, the HCS enforces this timeout itself, so it isn't strictly necessary to enforce it here. I'm fine with it, though, just pointing it out :)

Fixed the unit tests and pushed a new update.

@soccerGB - This is being hit by quite a few docker build scenarios with exit handling on file/folder detection. If your ok with this can we merge to master?


Sceneform Android Studio plugin adds Gradle plugin to wrong module

I have a project with two modules:
app (An Android app module)
ar (An Android lib module)
Current behavior:
On every asset import the asset definition is added to the build.gradle of the lib project. The following gradle sync fails with the error that the Sceneform gradle plugin only supports app modules. I have to manually move the definition to the build.gradle of the app module.
Expected behavior:
The plugin adds asset definitions to the app module's build.gradle as it's the only one that supports the Sceneform gradle plugin.

Related problem: if multiple "application" modules are in a project, the one named "app"
will always get the gradle modifications even if the intention is to add it to a different
application module; would be great if the plugin checked where the user has right-clicked in
the project hierarchy to figure out which build.gradle needs modifying

@stevesamknows - Thanks!  We have an internal fix to add the plugin and asset rule to the module associated with the model selected in the importer (i.e. the one you right-click on by default).  This should take care of the problem you're seeing as well.

This is fixed in the 1.4.0 version of the Sceneform Android Studio plugin.  Asset rules are now added to the project in which the asset files are located when they are imported.


Use a big ndarray in gluon/data/vision

use nd.array(data) instead of a list of ndarray to accelerate the time

Is it actually faster? This way slicing happens at runtime

reduce loading time from 7s to 2s. i guest the overhead is list and creating a large number of ndarrray


Poland marriage abroad

Updated additional links to notice of marriage and affidavit or affirmation of marriage

Closed pull request and will reopen correctly under GOV.UK content designers branch.


cuda variant for seissol-env

I have tried many combinations of cuda/gcc/llvm trying to install the gpu version of seissol.
This PR is the outcome of my tests.
I can now compile seissol-env on heisenbug with:
spack install -j 40 --fresh seissol-env +cuda %gcc@10
Seissol is then compiled with:
(note that I need to manually specify DHIPSYCL_CUDA_PATH)
cmake -DCOMMTHREAD=ON -DNUMA_AWARE_PINNING=ON -DASAGI=ON -DCMAKE_BUILD_TYPE=Release -DDEVICE_ARCH=sm_86 -DHOST_ARCH=hsw -DDEVICE_BACKEND=cuda -DPRECISION=single -DORDER=4 -DHIPSYCL_CUDA_PATH=/import/exception-dump/ulrich/myLibs/spack-packages/linux-debian11-zen2/gcc-10.2.1/cuda-11.8.0-dghkzftte3gzginwz5nhlu6wqz6dntzk  ..; make -j 60

Looks good to me


Welcome page + login controls

As the user clicks login, two text fields should be set visible and the user should be able to provide his username and password.
And after authentication, he should be directed to the welcome-user page, should the news feed.

The team decided on an alternative user story, and keeping this as a revisit for future if time allows and suits the application


Is there a benefit to spreading hosts across different VPS providers?

ie: would I get any benefit from setting up a three-host cluster with one host on AWS, one on Azure, and one on Digital Ocean (setting each up with ssh)?
Would this give me any fault tolerance if one of the hosts went down, or would everything go down anyway and it's not worth the trouble?

This would not work, the inter-host latencies would cause issues with the discoverd raft cluster.

:+1:  Thank you!


Update user guide with visuals

Added a visual guide for the following commands

find_meeting
undo

Codecov Report

Merging #110 into master will decrease coverage by 0.09%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #110      +/-   ##
============================================
- Coverage     59.42%   59.33%   -0.10%
  Complexity      677      677
============================================
  Files           116      116
  Lines          2583     2587       +4
  Branches        304      304
============================================
  Hits           1535     1535
- Misses          934      938       +4
  Partials        114      114

Impacted Files
Coverage Δ
Complexity Δ

...c/main/java/seedu/address/model/person/Person.java
94.02% <0.00%> (ø)
25.00 <0.00> (ø)

src/main/java/seedu/address/ui/MeetingCard.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

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 9f603e5...347ec6e. Read the comment docs.

Nice visual guidance to users! LGTM


Error Updating Keyword position

Congrats on the project!
I tried to get it up and running via docker, added the domain in the form of mydomain.xxxx, added a valid API key for ScrapingAnt and tried adding few keywords, but got the following error:
Error Updating Keyword position
When I tried adding the domain by entering www.mydomain.xxxx, it throws off not a valid domain. No errors visible in the logs.

@thelazyoxymoron Can you please share the screenshots of the errors?

@thelazyoxymoron Its becuase ScrapingAnt's IP pool for India is not great. They fail most of the time probably becuase Google banned them.
You should try ScrapingRobot Instead. But first make sure you have pulled the latest image via docker as the previous version has some bugs related ScrapingRobot.

Great. ScrapingRobot seems to have worked. However, it is only showing results for desktop search, and nothing for mobile search for the same keywords.


diskless-generator: make a real mount unit when using btrfs as rootfstype

fixes coreos/bugs#379

Thanks for tracking this down. I'm surprised I didn't do it this way in the first place, but then when I did it I just thought of it as an experimental hack I was going to improve later...

@marineam ptal

LGTM


Add option for custom error reporter

Opening for early feedback. @jonathanong I would like a way to surpress the console.error call since I've already sent the error to Sentry, and my logs follow a json format. Do you think this is a good approach?

Coverage remained the same at 100.0% when pulling 3d7e95edd6fc40cf315f58b5707142718d2ad3ff on LinusU:custom-error-reporter into df765a50c0c1de4fdbe4ce9cef2d910df4d8ba3e on expressjs:master.

ping @jonathanong ☺

+1


Add neutral button

Hi, I would like to contribute to your project by adding a neutral button.
It would be useful, for example, to show a "later" button.
Can I submit a pull to request?

Hi @defio
Looks like good idea. We will verify it and I will check your pull request.
Thanks for contribution

"Neutral button" feature were merged. Will be added to release 2.1.0


got an unexpected keyword argument 'prompt_library_path'

Getting "got an unexpected keyword argument 'prompt_library_path'" when doing this:
prompts = [ImaginePrompt(p, negative_prompt=n, prompt_library_path="./prompts")]

What am I doing wrong?

yeah this isn't documented. an ImaginePrompt doesn't do any sort of prompt expansion. It expects a static prompt.
This is probably what you're looking for though:
from imaginairy.enhancers.prompt_expansion import expand_prompts

my_prompt = "a giant {_animal_}"

expanded_prompts = expand_prompts(n=10, prompt_text=my_prompt, prompt_library_paths=["./prompts"])


Auto orientation bug

Everything works great but if I convert a portrait image I get it back as landscape, probably use auto-orient parameter for ImageMagick?

This package uses lambda's installed Imagemagick, with no options.
Probably, convert image taken by iOS's camera?
I recognize image orientation bug on iOS like this:
http://stackoverflow.com/questions/10600613/ios-image-orientation-has-strange-behavior
If not taken by iOS, it was strange...

How can we fix this? It is vary bad.

Looks like the problem is the EXIF data is stripped off of the original image.
@ysugimoto is there any way to keep this data with the resulting images?

@sbiermanlytle Unfortunately, how to leave the EXIF data seems to be no.
But, It is able to fix the rotation that check the EXIF data before reducing with identify command, and prepareing rotation image at Imagemagick.

@ysugimoto I just wanted to ask if you can commit a fix for the orientation bug? :)

There are a couple of places that describe what needs to be done "in the processing pipeline" to apply this fix: stackoverflow and lwip
Based on that I think that it's just a matter of wiring that code into this module and applying it, probably as an option if not the default.
@ysugimoto are you open to a pull request if I do this? What are your thoughts on where it should go in the code?

@guyellis Sure, I welcome the PR!
If it learn to lwip, I think this process:

Get orientation from EXIF, and save it (ImageData class property is the good place)
Reduce image
Rotate image from saved orientation angle

But, rotate image after reduce, perhaps it present some data innner image...
Please let also hear your thoughts.

@ysugimoto I ended up creating my own Lambda function from scratch which you can find here. The relevant line that flips the orientation is this one. Not sure if that's enough information for you to fix and close this issue?

@ysugimoto any updates?
@guyellis With your code, do you no longer experience the orientation bug from files uploaded via phone?

@jaketoolson from what I remember that line I referenced above fixes the issue. I haven't done extensive testing from a phone yet. There still is an orientation bug that I haven't addressed in what I'm using and I'm not sure if it's related to this.