Support llama.cpp  "Multi GPU support, CUDA refactor, CUDA scratch buffer"

Multi-GPU inference is essential for small VRAM GPU. 13B llama model cannot fit in a single 3090 unless using quantization.
llama.cpp yesterday merge multi gpu branch, which help us using small VRAM GPUS to deploy LLM.
ggerganov/llama.cpp#1703
Hope llama-cpp-python can support multi GPU inference in the future.
Many thanks!!!

Pushed to v0.1.59, let me know if that works.

Can I use this with High Level API or is it available only in the Low Level ones?

Working for me with the high level API.
$ CMAKE_ARGS="-DLLAMA_CUBLAS=on" FORCE_CMAKE=1 pip install llama-cpp-python==0.1.59 --no-cache-dir
Collecting llama-cpp-python==0.1.59
  Downloading llama_cpp_python-0.1.59.tar.gz (1.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 69.9 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: typing-extensions>=4.5.0 in /home/mulderg/anaconda3/envs/lcp/lib/python3.10/site-packages (from llama-cpp-python==0.1.59) (4.6.0)
Requirement already satisfied: diskcache>=5.6.1 in /home/mulderg/anaconda3/envs/lcp/lib/python3.10/site-packages/diskcache-5.6.1-py3.10.egg (from llama-cpp-python==0.1.59) (5.6.1)
Requirement already satisfied: numpy>=1.20.0 in /home/mulderg/anaconda3/envs/lcp/lib/python3.10/site-packages (from llama-cpp-python==0.1.59) (1.24.3)
Building wheels for collected packages: llama-cpp-python
  Building wheel for llama-cpp-python (pyproject.toml) ... done
  Created wheel for llama-cpp-python: filename=llama_cpp_python-0.1.59-cp310-cp310-linux_x86_64.whl size=310301 sha256=2182deb938214949a0838f7b4f649cd78636f396450a48686d2fe07dabcd1d81
  Stored in directory: /data/tmp/pip-ephem-wheel-cache-pps732gv/wheels/ae/3d/33/588d5327568faa38106293c3de8fc5ba0c3cf514d4f6eec9c5
Successfully built llama-cpp-python
Installing collected packages: llama-cpp-python
  Attempting uninstall: llama-cpp-python
    Found existing installation: llama-cpp-python 0.1.57
    Uninstalling llama-cpp-python-0.1.57:
      Successfully uninstalled llama-cpp-python-0.1.57
Successfully installed llama-cpp-python-0.1.59

$ pip list | grep llama-cpp-python
llama-cpp-python         0.1.59

$ python ./smoke_test.py -f genesis50.txt -l 5 > /dev/null
ggml_init_cublas: found 2 CUDA devices:
  Device 0: NVIDIA GeForce RTX 3090 Ti
  Device 1: NVIDIA GeForce GTX 1080 Ti
llama.cpp: loading model from /data/llama/7B/ggml-model-f16.bin
llama_model_load_internal: format     = ggjt v1 (pre #1405)
llama_model_load_internal: n_vocab    = 32000
llama_model_load_internal: n_ctx      = 8192
llama_model_load_internal: n_embd     = 4096
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 32
llama_model_load_internal: n_layer    = 32
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 1 (mostly F16)
llama_model_load_internal: n_ff       = 11008
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 7B
llama_model_load_internal: ggml ctx size =    0.07 MB
llama_model_load_internal: using CUDA for GPU acceleration
ggml_cuda_set_main_device: using device 0 (NVIDIA GeForce RTX 3090 Ti) as main device
llama_model_load_internal: mem required  = 2292.09 MB (+ 1026.00 MB per state)
llama_model_load_internal: allocating batch_size x 1 MB = 512 MB VRAM for the scratch buffer
llama_model_load_internal: offloading 32 layers to GPU
llama_model_load_internal: offloading output layer to GPU
llama_model_load_internal: total VRAM used: 12865 MB
...................................................................................................
llama_init_from_file: kv self size  = 4096.00 MB
AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | VSX = 0 |

llama_print_timings:        load time =   594.61 ms
llama_print_timings:      sample time =  1273.07 ms /  2048 runs   (    0.62 ms per token)
llama_print_timings: prompt eval time =   594.55 ms /   109 tokens (    5.45 ms per token)
llama_print_timings:        eval time = 215376.56 ms /  2047 runs   (  105.22 ms per token)
llama_print_timings:       total time = 269666.63 ms

Here is a brief experimental result.
I used ziya, a large-scale pre-trained model based on LLaMA with 13 billion parameters and quantized to q8_0.
The model was successfully divided into two GPUs. However, I feel that the same prompts are slower than using single 3090,  perhaps need more experiments.
ggml_init_cublas: found 2 CUDA devices:
  Device 0: NVIDIA GeForce RTX 3090
  Device 1: NVIDIA GeForce RTX 3090
llama.cpp: loading model from /data0/zhangyuhan/llama_cpp/ggml-model-q8_0.bin
llama_model_load_internal: format     = ggjt v3 (latest)
llama_model_load_internal: n_vocab    = 39424
llama_model_load_internal: n_ctx      = 512
llama_model_load_internal: n_embd     = 5120
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 40
llama_model_load_internal: n_layer    = 40
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 7 (mostly Q8_0)
llama_model_load_internal: n_ff       = 13824
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 13B
llama_model_load_internal: ggml ctx size =    0.09 MB
llama_model_load_internal: using CUDA for GPU acceleration
ggml_cuda_set_main_device: using device 0 (NVIDIA GeForce RTX 3090) as main device
llama_model_load_internal: mem required  = 2457.17 MB (+ 1608.00 MB per state)
llama_model_load_internal: allocating batch_size x 1 MB = 512 MB VRAM for the scratch buffer
llama_model_load_internal: offloading 40 layers to GPU
llama_model_load_internal: total VRAM used: 13370 MB

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11    Driver Version: 525.60.11    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:1A:00.0 Off |                  N/A |
| 30%   44C    P2   117W / 370W |   7189MiB / 24576MiB |      7%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:68:00.0 Off |                  N/A |
| 52%   66C    P2   157W / 370W |  23693MiB / 24576MiB |     15%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A   2653794      C   python                           7186MiB |
|    1   N/A  N/A   2260259      C   python                          16496MiB |
|    1   N/A  N/A   2653794      C   python                           7186MiB |

The model was successfully divided into two GPUs. However, I feel that the same prompts are slower than using single 3090, perhaps need more experiments.

Yeah, I got worse performance using two GPUs than using one GPU as well. However, my second GPU is a 1080Ti, so I assumed it was my environment.

@wyzhangyuhan I think that is correct behavior? If its like the CPU/GPU spit, the gpus will run sequentially, not in parallel. It will run some on one 3090, and then on the other.
But I think you can fit Q4 65B on 2x 3090s, with very minimal quality loss :+1:

@AlphaAtlas Thanks for sharing your thoughts, I had mistakenly thought that multiple GPUs would enable faster inference. Also thanks for the suggestion, multi-GPU really solved my problem with LLM deployment! 👍


Calling the model for inference on one image

Hi,
From the code, it is not clear how do you call the model for inference on one image, and what data format you use. Would you mind to provide one example.

Making inferences on a single image is no different from making inferences on multiple images. Just put this image under a folder and treat this folder as a dataset.
As for the format of the image, both jpg and png are fine. You can refer to BasicSR's documentation to determine if more formats are supported.


Empty group / other-noun PUTs respond 200

If you send off {} to PUT /groups, for example, it will respond 200.
I would argue that this only makes sense for jobs, where the engine is explicitly heartbeating the noun.

@kofalt  you mean PUT /groups/{GroupId} ?


Why android.permission.WRITE_EXTERNAL_STORAGE permission is required?

Hey,
Thanks for producing this great library.
May I know, why android.permission.WRITE_EXTERNAL_STORAGE as stated in https://github.com/zhihu/Matisse
As, Matisse just perform read operation, and does not perform write operation.
Thanks.

take photo may needs write permission.


Improve histogram performance

Swaps the internal implementation in the histogram builder to use a faster implementation for determining the appropriate bucket. Instead of a binary search we can directly determine which bucket a value belongs in with arithmetic, reducing the complexity from O(log n) to O(1)

Nice! LGTM


Adjust force-update on inline snapshots to only view within the string

This solves the issue in #573 for the moment:

When --force-update-snapshots in passed, we only update inline snapshots when there's some difference within the string, such as an additional linebreak at the start or the end
We no longer update the surrounding hashes. In the existing code, this happened because we were writing too many inline snapshots, not because we were actually checking the number of hashes

Checking the number of hashes isn't easy to do — reason outlined at https://github.com/mitsuhiko/insta/pull/573#issuecomment-2323500808

It's a decent number of changes, but will integrate nicely with https://github.com/mitsuhiko/insta/pull/563.
~(FYI we currently don't look at the indentation, but we could adjust this)~ Now indentation works too

OK, I think this is in a pretty good state now — again, more changes than ideal — but I think moving the library to be simpler, fewer corners

@mitsuhiko this one is top of my list for you to review when you get the chance to review things; think it's a much better experience for users; somewhat to your point when merging the PR that enabled forcing inline snapshot updates

@mitsuhiko I think the benefits of this are large enough, and I would like to minimize conflicts with #489, that it's worth me merging without waiting longer for a review. The main drawback is potentially one of performance — the current code does many more allocations, albeit in non-perf-sensitive code.
I recognize you gave me merge permissions with the understanding I would be careful, so:

For the future, was merging this OK or would you have preferred I wait?
I'll address any objections
If you strongly object, I'll own reverting and rectifying any conflicts


Provide screenshots

1-2-3 screenshots will give better overview than 1 thousand words

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0880a27b-9437-31a1-ebec-1a892a207b3d
Version Independent ID: 2df0a3fb-77f1-7cc2-8af0-ce239aacaae7
Content: Quickstart: Create Front Door profile for high availability of applications
Content Source: articles/frontdoor/quickstart-create-front-door.md
Service: frontdoor
GitHub Login: @sharad4u
Microsoft Alias: sharadag

@SychevIgor Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

#reassign: amitsriva

Hello @SychevIgor, we have added screenshots to help illustrate the steps in the quickstart article. Please let me know if you have any other concerns. For now I will be closing this issue.
Thank you!
#please-close

just 2 years after a request... amazing!


feat(2691): pass type refs to llm

Summary:
Briefly describe the changes made in this PR.
Issue Reference(s):
Fixes #2691
/claim #2691
Build & Testing:

[ ] I ran cargo test successfully.
[ ] I have run ./lint.sh --mode=fix to fix all linting issues raised by ./lint.sh --mode=check.

Checklist:

[ ] I have added relevant unit & integration tests.
[ ] I have updated the documentation accordingly.
[ ] I have performed a self-review of my code.
[ ] PR follows the naming convention of <type>(<optional scope>): <title>

@dekkku Conflicts in this PR. The prompt is written in a text file now.
Moving to draft to reduce noise and improve CI efficiency. Once you are ready just mark it as "ready to review". Feel free to give a shoutout on the #contributors channel on Discord if you want immediate attention.


Implement String#to_i for BigInt values

Mostly just to let people know I'm working on this, just in case somebody else would decide to take a shot at this (very small chance, I know).
I'll probably finish it tomorrow, the remainder is pretty straight forward if you take the simple solution of walking backwards, using 1 character every time and carrying over the result, but I can think of a few optimizations to do this in bigger chunks

Current status: it works, but it's not really efficient. It can be merged, it does extend the functionality a bit, but I'll just leave it at draft status because it could be much faster. But I'm not going to be able to do that this weekend.

This should do it. Input is now parsed in chunks of 12 characters. I didn't measure anything, but running the relevant spec file feels about two seconds faster.
One possible optimization might be to make the chunk size depend on the base: the current value 12 is the maximum size that works for the maximum base (36). This could be bigger for smaller bases.

Sweet!


PayPal/Zettle Integration Failed with invalid_grant after Update

PHP Version
8.3
Shopware Version
<IP_ADDRESS>
Affected area / extension
Extension:PayPal-Integration
Expected behaviour
Create link between Shop and Zettle by PayPal after entered API Key
Actual behaviour

Got this error after pressing "next" in the first step.
Also see this in the log file:
[2024-08-26T17:41:18.750018+00:00] php.INFO: User Deprecated: Since symfony/framework-bundle 6.4: The "annotations.cached_reader" service is deprecated without replacement. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/framework-bundle 6.4: The \"annotations.cached_reader\" service is deprecated without replacement. at /var/www/share/shopware6/var/cache/prod_hc92e7e574268fbd6c608e6bf8b53d75e/ContainerW6CXP7X/Shopware_Core_KernelProdContainer.php:38600)"} []
[2024-08-26T17:41:18.750208+00:00] php.INFO: User Deprecated: Since symfony/framework-bundle 6.4: The "annotations.reader" service is deprecated without replacement. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/framework-bundle 6.4: The \"annotations.reader\" service is deprecated without replacement. at /var/www/share/shopware6/var/cache/prod_hc92e7e574268fbd6c608e6bf8b53d75e/ContainerW6CXP7X/Shopware_Core_KernelProdContainer.php:38614)"} []
[2024-08-26T17:41:18.750580+00:00] php.INFO: User Deprecated: Since symfony/framework-bundle 6.4: The "annotations.cache_adapter" service is deprecated without replacement. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/framework-bundle 6.4: The \"annotations.cache_adapter\" service is deprecated without replacement. at /var/www/share/shopware6/var/cache/prod_hc92e7e574268fbd6c608e6bf8b53d75e/ContainerW6CXP7X/Shopware_Core_KernelProdContainer.php:38572)"} []
[2024-08-26T17:41:18.750624+00:00] php.INFO: User Deprecated: Since symfony/serializer 6.4: Passing a "Doctrine\Common\Annotations\PsrCachedReader" instance as argument 1 to "Symfony\Component\Serializer\Mapping\Loader\AttributeLoader::__construct()" is deprecated, pass null or omit the parameter instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/serializer 6.4: Passing a \"Doctrine\\Common\\Annotations\\PsrCachedReader\" instance as argument 1 to \"Symfony\\Component\\Serializer\\Mapping\\Loader\\AttributeLoader::__construct()\" is deprecated, pass null or omit the parameter instead. at /var/www/share/shopware6/vendor/symfony/serializer/Mapping/Loader/AttributeLoader.php:51)"} []
[2024-08-26T17:41:18.772678+00:00] request.INFO: Matched route "api.action.paypal.pos.validate.api.credentials". {"route":"api.action.paypal.pos.validate.api.credentials","route_parameters":{"_route":"api.action.paypal.pos.validate.api.credentials","_routeScope":["api"],"_acl":["sales_channel.editor"],"_controller":"Swag\\PayPal\\Pos\\Setting\\SettingsController::validateApiCredentials"},"request_uri":"https://shop.domain.tld/api/_action/paypal/pos/validate-api-credentials","method":"POST"} []
[2024-08-26T17:41:18.796583+00:00] php.INFO: User Deprecated: Since symfony/validator 6.4: Method "Symfony\Component\Validator\ValidatorBuilder::setDoctrineAnnotationReader()" is deprecated without replacement. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since symfony/validator 6.4: Method \"Symfony\\Component\\Validator\\ValidatorBuilder::setDoctrineAnnotationReader()\" is deprecated without replacement. at /var/www/share/shopware6/vendor/symfony/validator/ValidatorBuilder.php:252)"} []
[2024-08-26T17:41:18.946989+00:00] request.ERROR: Uncaught PHP Exception Swag\PayPal\Pos\Api\Exception\PosTokenException: "The error "invalid_grant" occurred with the following message: Invalid JWT assertion" at TokenClient.php line 61 {"exception":"[object] (Swag\\PayPal\\Pos\\Api\\Exception\\PosTokenException(code: 0): The error \"invalid_grant\" occurred with the following message: Invalid JWT assertion at /var/www/share/shopware6/custom/plugins/SwagPayPal/src/Pos/Client/TokenClient.php:61)"} []
[2024-08-26T17:41:18.957386+00:00] php.INFO: User Deprecate

How to reproduce
This happen since the update from latest 6.4 to <IP_ADDRESS>.
Updated via Webfrontend. All extensions where disabled before the update and after the 6.5 update all extensions were also updated before turning it back on.
For reproduction:

Add Sales Channel
Select Point of Sale – Zettle by PayPal
Enter API Key
press next

Also happens in Shopware 6.6 and in a fresh installed SW <IP_ADDRESS> with Demo Assets via composer.

@Kaisa-Marysia Are you sure, you are using valid credentials here? Does your API key start with ey?
Have you tried creating a new key? With my credentials, this works totally fine.

Are you sure, you are using valid credentials here?
Yes they didn't changed during the update from 6.4 -> 6.5 -> 6.6

Does your API key start with ey?
Yes

Have you tried creating a new key?
Yes.

Also I created a new shop, with new domain, on a different host, with a new account and new credentials.
Every time the same problem.

[public] We have found the issue while fixing the following issue: https://github.com/shopware/shopware/issues/4658  We hope to release this next week.
[created from PPI-977, comment 493304]


Customizable Dashboard

Rather than just listing the set of hosts it would be better if the index page could be configured to show a set of graphs configured by the user.

Are there any preferences so far on how to implement a dashboard feature? Freeboard looks like a popular option for the client side. system-dashboard is another Python project that might offer some inspiration.
As an alternative (I haven't tried it) it might be possible to combine the Plugin:MQTT with a Web Sockets-enabled broker like Mosquitto and then freeboard-mqtt to render last-seen values. Who knows if (or how well) it'd work though!

I haven't given this much thought since I was originally brainstorming the project. By default it shows everything collected by collectd so at a minimum it would be nice to be able to configure that to a more focus set of graphs per host.

Just an update given my last comment proposed a potential approach, I did more testing and configured Collectd's MQTT plugin to send plain text protocol messages to Mosquitto. However I ran into a blocker because freeboard-mqtt  uses Paho MQTT JavaScript, which in turn requires web sockets support, and Mosquitto's web sockets support uses libwebsockets. The latter's most recent 2.1.0 version has a regression that prevents it from working, so I decided to park it until the regression is fixed.
I did learn enough about the components to believe it's worthwhile adapting freeboard-mqtt into a distinct GitHub-hosted plugin that can ingest Collectd MQTT plain text protocol messages. This would be usable with both private FreeBoard installations as well as the public http://www.freeboard.io version. SickMuse could then be used in several useful ways, but I will come back to that when I get a bit of time to complete the initial integration work.


grpc modules has problem

Version: ied version 2.0.5
Platform: Darwin easyvan 14.5.0 Darwin Kernel Version 14.5.0: Thu Apr 21 20:40:54 PDT 2016; root:xnu-2782.50.3~1/RELEASE_X86_64 x86_64
Subsystem: grpc npm module

ied is blazingly fast! but it has problems on installing grpc module. What I guess is grpc actually requires compilation of C code, I could not see any steps doing the compilation. npm install does have such step. Not sure if my guess is right, may need your comments. Here is the output after I installed grpc modules:
simon.tse@easyvan:~/git/public/research-ied$ node index.js
WARNING: No configurations found in configuration directory:/Users/simon.tse/git/public/research-ied/config
WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment.
module.js:339
    throw err;
    ^

Error: Cannot find module '/Users/simon.tse/git/public/research-ied/node_modules/734e3c4ad1b6df208f2d0647c1f6402fb141f9dd/package/src/node/extension_binary/grpc_node.node'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/Users/simon.tse/git/public/research-ied/node_modules/734e3c4ad1b6df208f2d0647c1f6402fb141f9dd/package/src/node/src/grpc_extension.js:38:15)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)

Have you tried ied install -b to actually build modules?


[Asset Iterator Node] - Device and bucket id field is ignored

The iterator does not consider the information in the device field and, therefore, returns all devices.
This bug must be related to this issue: https://github.com/thinger-io/node-red-contrib-thinger/issues/40

We are trying to find the bug, as we need the asset interactor node to get the project number. Without the project number, our NodeRed flow BREAKS!
Is this syntax correct?
https://github.com/thinger-io/node-red-contrib-thinger/blob/22823ceb9c844e851c5eb464901cb1902940a7a6/nodes/asset-iterator.js#L74
Is this syntax correct?  Before was: **name**=${filter}
Before:
name=${filter}&count=${count}
After:
count=${count}&${queryParametersString}
https://github.com/thinger-io/node-red-contrib-thinger/blob/22823ceb9c844e851c5eb464901cb1902940a7a6/nodes/asset-iterator.js#L90

The same problem occurs when trying to assign the bucket id. It is not considered, even when filling out the screen or defining it in the message.

Our suspicion is that the bug is in this change:
Before:
name=${filter}&count=${count}
After:
count=${count}&${queryParametersString}
queryParametersString Won't return filter={filter}?
https://github.com/thinger-io/node-red-contrib-thinger/blob/22823ceb9c844e851c5eb464901cb1902940a7a6/nodes/asset-iterator.js#L90

Does this line also need to be changed?
for:
msg.payload.asset_filter = queryParameters.get(" name ");
https://github.com/thinger-io/node-red-contrib-thinger/blob/ca4f7dfb5eb7f66fc03eb4a76dc6a195361cb4bb/nodes/asset-iterator.js#L115

Yeah, missed it. Will add it to the next version of the extension.


GROK-684 Deal with unicode quotes in blockly

Deal with unicode quotes in blockly text by converting them to ascii quote chars in an extension. This means that iOS devices like iPad will be foiled in their attempts to use lovely Unicode quote characters.
Fixes both the interactive slides not working (because the single or double quotes now match the event text) as well as the marker (since the marker now receives the same quote marks as via code mirror).

Yup! Tested on iPad Pro, latest iOS (oh wait, no, I've an update waiting for 11.4.1).


Consider enforcement of code style

nototools is a package with history and contains multiple code styles, including proof of concept versions. This situation causes difficulties for visual code analisys.
Idea:

120 symbols per line
Use isort with one import per line
Use black for automatic formatting.

I expect, that migration commit will be huge as hell ant will cause merge conflicts for not merged PRs, but next work on tooling will be much easier.

Ran black.


Multiple issues with retinal photopic cells

There are many issues with the classification of terms highlighted in the image below:

(drawn with OAK and cl viz -p i --down CL:0000490 CL:0000749 "OFF-bipolar cell" CL:0000573)

why is retinal cone cell not classified under retinal cell?
why is photopic receptor cell not classified under visual system neuron?
why isn't ON-blue cone bipolar cell not classified under retinal cone cell?
the classification of photopic receptor cell seems massively incomplete?
etc

Overall it looks like there are just too many axes of classification going on with insufficient axiomatization to render them complete
In some cases it seems like CL has grouping classes that are just inherently hard to make complete. E.g. my understanding is that role in photopic vision is not discrete. cones are typically photopic, rods typically scotopic, but this is not all or nothing (if it were, then there would be no need for a distinct "photopic receptor cell" classification)
Some of these groupings may be historic - e.g it looks like both photopic and scotopic receptor cells have been there from the early days of CL, and they are undefined. These could probably be obsoleted.
The classification here appears wrong:

[] CL:0000210 ! photoreceptor cell

[i] CL:0000489 ! scotopic photoreceptor cell
[i] CL:0000488 ! visible light photoreceptor cell

[i] CL:0000490 ! photopic photoreceptor cell

AFAIK, both scotopic and photopic are visible, the distinction is to do with light levels. visible light photoreceptor cell is also massively incomplete - other than photopic, it only has fly neurons.
I can see a number of challenges with making axiomatization complete here related to species specificity. There is a lot of tacit information to navigate around; we have the terrible GO-ish "camera-type eye" which needs to be fixed in GO and Uberon, there is also the fact that "retina" is used for the vertebrate structure, and the more generic photoreceptor array used for adult Drosophila retinal cells. And there are the usual annoying exceptions to photoreceptors being found in retinas. In fact CL:0000210 photoreceptor cell could technically be used by PO.
This is all compounded by the different uses of has-soma-location vs part of in the ontology...

I'm dubious about many grouping classes here:
Suggested obsoletions:

retinal cell (to general)
scotopic photoreceptor cell (most photoreceptor cell mix both roles?)
photopic photoreceptor cell (most photoreceptor cell mix both roles?)

Keep but prune:

visible light photoreceptor
UV light photoreceptor

Remove all insect photoreceptors from under these terms:
Which cell is specialised to respond to which frequencies will vary with species (it's entirely possible that in some insects, R7 does not respond to UV), so I think CL should not have much under these terms.  But single species cell type ontologies might find them useful, esp as we have patterns using GO.

why isn't ON-blue cone bipolar cell not classified under retinal cone cell?

because it aint a cone cell, it's a bipolar cell downstream of a cone cell

why is photopic receptor cell not classified under visual system neuron?

photoreceptor cell should be -  inferred from axiomatization.
Can be fixed by switching definition of photoreceptor cell:

Text def should refer to visual perception.
Axiomtization should use 'detection of light stimulus involved in visual perception'
This will be sufficient for inference under 'visual system neuron'


note the camelCase style for the Permissions

maybe put links in the main Enso docs, as well as StructureManager

added mention to the permission manager docs.


General error vs panic pass

We should do a general pass of all commands and evaluate if some of the panics we encounter should in fact be errors, given we have two different error handlers, one for each case.
For example, if a contract cannot be deployed because of a revert, then it's probably user error and we should provide better information to the user on how to resolve that issue instead of panicking.
In general we should avoid panicking as much as possible
This is a pretty big issue, but mostly opened for tracking.

This is done


python311Packages.openwebifpy: 3.2.7 -> 4.0.2

Changelog: https://github.com/autinerd/openwebifpy/releases/tag/4.0.2
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

4 packages built:

python310Packages.openwebifpy
python310Packages.openwebifpy.dist
python311Packages.openwebifpy
python311Packages.openwebifpy.dist

When will your nixpks-reviews run component tests again?

When will your nixpks-reviews run component tests again?

The Enigma2 integration has no tests.

https://github.com/home-assistant/core/pull/104206


Fix a request example using user-assigned identity

The request using user-assigned identity need the client_id.
It is not witten in the doc.

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

#label:"aq-pr-triaged"

#sign-off


Whitelist of taggeable blocks

The patch plugin encounter some performances issues (e.g. using TreeFeller McMMO skill on big trees of several hundreds oak blocks). It appears that it is finally not so realistic to considerer every block as taggeable. Fortunately, most of the blocks don't need to be taggeable (e.g. cobblestone, dirt, oak, ...). A configurable whitelist seems to be a great solution to solve the problem.
By default, the whitelist must be empty and deactivated. It will be empty because we don't want to maintains a provided whitelist across each Minecraft update. This is the responsability of the server administrator to determine which blocks must be taggeable to apply patch. However, since this whitelist may be required only for some servers, it is better to disable it by default. It will permits server administrator to test the patch and deploying it in their server quickly and easily while maintaining a complete protection of place-and-break exploits. Then, if they observe some performances issues they will start have interest in this feature.
It is preferable to store the whitelist into a separated YAML configuration file: whitelist.yml. In this file the server administrator must be able to:

Activate or deactivate the whitelist ;
Define the list of blocks to be considered as taggeable.

Since the list of valid IDs for blocks vary across Minecraft versions, server administrator must be informed about how to retrieve it. The best way to retrieve the ID of a particular for a particular version of Minecraft is by activating the right option in the client through F3 + H according the following link: https://minecraft.fandom.com/wiki/Debug_screen#More_debug_keys.
That's say, this means that this is these IDs must be supported by the configuration file. Fortunately, since 1.8+ item IDs match with the Bukkit Material enum names. The getMaterial(String) method of the enum is the one to be used: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html#getMaterial(java.lang.String).
It exists as well the matchMaterial(String) one, but it allows specifying deprecated IDs (the integer ones) which isn't what we want to support since they may be removed at any time.
For the validation part of configs, it is the responsability of each Minecraft server derivative implementation (i.e. actually only Bukkit), which means that the patch-place-break-core will not do any check on its own. In other terms, checks must be done at plugin enabling step.

Example of the restrictedBlocks.conf file content:
mode: blacklist
# Block names list
restrictedBlocks [
    DIAMOND_ORE,
    COBBLESTONE
]

Available mode options: blacklist, whitelist and disabled

Steps to follow:

[ ] Update API signatures and adapt algorithms in order to NOT interact with datasource when block name is blacklisted or not whitelisted (according to the restriction mode) => performances test to validate
[ ] Deserialization & Serialization of restrictedBlocks.conf file + creating of corresponding properties class
[ ] Properties validation with Material class


add Macintosh Operating System

add support Macintosh Operating System (x86 and POWER) .
thank you =)

MacOS PowerPC support is obsolete.  Why would you want that?

https://apple.stackexchange.com/questions/1308/whats-the-last-os-x-that-supported-power-pc
https://en.wikipedia.org/wiki/MacOS#PowerPC–Intel_transition

PowerPC support is optional.

MacOS is already working it uses the Linux implementation.
I'll update the documentation to reflect this.
You can build the project and use the list_cpu_features program to check it's working properly.


Specimen header

Coverage increased (+0.02%) to 95.321% when pulling<PHONE_NUMBER>41d0d26d9fc8a713d1fc5b535091c7 on cody-specimen-header into 61a6269319c19adf9f1c73f3e80244ff27436d8b on main.


Requesting some flexibility in topic input

I've been playing around quite a bit with airoboros, struggling to achieve my goal due to the nature of my "dataset". Since the public release of the GPT4 api to just about anyone, I'd like to try and run through my attempts again.
The dataset is a very large plaintext document transcript from a textbook, with a lot of content that requires context on surrounding lines.
I've had SOME success in just inputting the text file as the topics-path, but due to it only taking in one "topic" per line, a lot of the information and context is missed.
This might be a niche thing that only I will ever use, but is it possible to introduce a switch like --topic-grouping 5, which would group topic lines by every 5, and then send them through the prompt to be processed?

I'm curious, what is the goal/use case for that text content?  I ask because it may be something that would be better as a new "instructor", rather than re-using the topic list.

I'm curious, what is the goal/use case for that text content? I ask because it may be something that would be better as a new "instructor", rather than re-using the topic list.

In the most optimal scenario, large portions of my textbook(s) are ingested at once and, rather than "create a topic based on this", it would ask GPT4 to simply make the Instruction+Response directly from the output.
Asking it to generate instructions and then following up with asking it to answer its own instructions is like a short game of telephone, and it causes some of the fine details in this textbook to be lost.
I can't share the intended training content publicly, but if you'd like, I can find a way to get it into your email if that interests you.

In the most optimal scenario, large portions of my textbook(s) are ingested at once and, rather than "create a topic based on this", it would ask GPT4 to simply make the Instruction+Response directly from the output.

So you want to send a snippet of text, and have it generate a series of questions about that text, then produce the answers based on the text?

So you want to send a snippet of text, and have it generate a series of questions about that text, then produce the answers based on the text?

Perhaps it would require something like:

Feed block of text as input
GPT generates instruction based on given text
GPT generates response based on given text + original input.

Simply due to the nature of the data, a lot of the content covered is unlikely to be answerable soley by the data GPT4 has available.
This method, however, would use many more tokens than others.


Use timestamp of message as creation time for media files

First off : thank you so much for this project. I've been looking for a way to archive and extract family photos from our matrix e2e encrypted room for so long, it's so cool ! :star_struck:
It would be awesome if there was an option (or as default) to create the media files with the creation time from the message timestamp. (exif dates can be used too).

You're welcome, I'm glad someone else has found it useful.
Regarding your feature request: would you also like the original filename stored somewhere or don't care for this information?

The way the files are outputted right now (keeping the original filename) is great. Maybe at some point the use case of two different files with the same name will need to be handled (filename.png and filename(1).png like firefox does for example).

I misread your original request. I thought you meant you want the actual filename to be the timestamp, not the file's created attributes. Makes more sense. Good point about duplicate filenames, a file will be overwritten by a newer one if it has the same filename.


Adjust types property in all package.json files

We need to replicate this to all packages: https://github.com/FuelLabs/fuels-ts/pull/3190/commits/3d0c0f6432297912caa3bb67bd632258d375aef3
It seems that the types property must be the first, otherwise we get a warning:
Warning: G] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]

    ../../package.json:19:6:
      19 │       "types": "./dist/index.d.ts"
         ╵       ~~~~~~~

Originally posted by @petertonysmith94 in https://github.com/FuelLabs/fuels-ts/pull/3190#discussion_r1773851228

This PR ensures that the types property is correctly positioned as the first property in all package.json files to avoid potential warnings during compilation.
I have checked all linked repositories, and this issue has been addressed in all relevant package.json files.
This PR closes #3208.
https://github.com/FuelLabs/fuels-ts/pull/3212


Expose DateFormat.defaultOptions

If I am writing a translation library, it would be nice to be able to work with DateFormat in a generic way. DateFormat.defaultOptions is a good default for the English format. However, the only way to use it is to use DateFormat.format instead of DateFormat.formatWithOptions. I would need to use DateFormat.formatWithOptions for every other language, though. So English becomes this weird special case.
So right now I either have to define my own English DateFormat.FormatOptions and use it with DateFormat.formatWithOptions, or I have to handle English as a special case and call DateFormat.format when formatting dates in English.
It would be nice to have DateFormat.defaultOptions exposed.

Hey @okkero,
That makes sense. I'm going to make a big API update to support multiple languages.
There's more information about those changes this pull request.
I'll be sure to post updates in this issue, so it's easy to follow.
Thanks!
Ryan

Hey @okkero ,
I just pushed the updated API to the master branch if you want to check it out.
Added in a DateFormat.Language module that exposes the languages english and spanish for now.
Does this API update address your concerns?
Let me know!
Ryan

@ryannhg Yes, from what I can see it seems to address my concerns and more. Thank you for this :)

Awesome, feel free to grab 2.0.0 whenever you get a chance!
https://package.elm-lang.org/packages/ryannhg/date-format/latest/
And come back here if you have any other good suggestions 😄
Thanks again!
Ryan


how to run this demo

This might be obvious for some but I think it should stay somewhere in the README.

There is a section Start in Readme:

There is nothing about npm install though.. Maybe that one is worth adding? Sort of like here?

Sort of like here?

Yes, it should be listed under a more obvious section like "Install" or "Install Instructions" and the same section should contain every command you need to execute in order to run the demo.
Like under your link or here: https://github.com/carlosazaustre/universal-js-boilerplate#requirements-and-install

Can you call it "Getting Started" and list it closer to the top of the README (just under the status section, maybe?)

Good idea! Corrected.


[transaction not found] (Version: [1.10.0])

I noticed that a batch of transactions had been successfully broadcast to the node and returned tx_id, but when we tried to get the transaction information, we couldn't find it on the blockchain.  the following is the broadcast result of a transaction. could you take a look at it?
{
  "result": {
    "broadcast": true,
    "account_sequence_available": 69954835,
    "applied": true,
    "open_ledger_cost": "10",
    "tx_json": {
      "Account": "rDAE53VfMvftPB4ogpWGWvzkQxfht6JPxr",
      "Destination": "rDxfhNRgCDNDckm45zT5ayhKDC4Ljm7UoP",
      "TransactionType": "Payment",
      "TxnSignature": "3044022003F25A89BFD5A36A46B47269DAFCFC1F7246B0B08C52665A41F359960CE8330B02204FF87F8A4EC05CA1348B2697DAD25B5ED47F94DBDCEAB3ABEC11DD6BDA98698F",
      "SigningPubKey": "036085B9E6A6C3628E94FB87914AD5CBABB1DD5FA510D50D742919DC5684A43900",
      "Amount": "7957206868",
      "Fee": "3000",
      "Flags":<PHONE_NUMBER>,
      "Sequence": 69954834,
      "DestinationTag":<PHONE_NUMBER>,
      "LastLedgerSequence": 78876808,
      "hash": "2801C3CD8EA8DD9E5605F86382E8DE363EB0166E5DACB323A38FDB7C0CF9794A"
    },
    "queued": false,
    "engine_result_code": 0,
    "accepted": true,
    "kept": true,
    "validated_ledger_index": 78876793,
    "tx_blob": "120000228000000024042B6D122E3B9AF46E201B04B390886140000001DA495754684000000000000BB87321036085B9E6A6C3628E94FB87914AD5CBABB1DD5FA510D50D742919DC5684A4390074463044022003F25A89BFD5A36A46B47269DAFCFC1F7246B0B08C52665A41F359960CE8330B02204FF87F8A4EC05CA1348B2697DAD25B5ED47F94DBDCEAB3ABEC11DD6BDA98698F81148DE43FF9545F17CCD1174120F7E61CE47E77B01083148E0D713E837D8C34420B42F2CE1698BDFFB27FA5",
    "engine_result": "tesSUCCESS",
    "account_sequence_next": 69954835,
    "engine_result_message": "The transaction was applied. Only final in a validated ledger.",
    "status": "success"
  }
}

Now 39 transactions in a row have the same problem，It seems to be continuing to grow

What method gave you this response? submit? This looks like a response indicating the transaction was successfully applied in the open ledger (meaning there would be no reason to exclude it from the next proposal), and broadcast to peers (so they can include it in their proposals), but like the engine_result_message says, the transaction is final only in a validated ledger. It did not appear in a validated ledger, so its effect was not final. The current ledger sequence has since past the LastLedgerSequence, so the transaction will need to be retried.
It's odd that it didn't make it into a ledger in the 15 ledger (~1 minute) window it had after it was submitted, but it's not impossible. It appears that the transaction for this account with the previous sequence number, 69954833, was applied in ledger 78876803, just 5 ledgers before the LastLedgerSequence of this transaction. A transaction with this sequence number, but not this transaction, was applied in ledger 78876824. You may need to review the lifecycle around reliable transaction submission.

yes, it's is submit.  so, this transaction is not in a valid ledger，Is it still likely to succeed？ or I could say it has failed

yes, it's submit.  got it, thanks a lot

So the same sequence can only be used for one valid transaction, right？

Yes, for any given account, only one transaction can ever be validated (finalized) with the same sequence number. The sequence number is comparable to the "nonce" used by some other blockchain systems.

I have another question, it used to be that there were fewer cases like this on our side. Looking at the time of the transaction, from 2023-04-04(UTC) the number of cases has increased, and I am a little puzzled as to why it has been rare before. Like the new batch today


network: support authenticationCertificates in "network application-gateway http-settings"

Suggest expose form both update and create
//cc: @tjprescott

FYI workaround
a.	az network application-gateway http-settings create  --gateway-name yugangw-ag-1 -g yugangw-ag  --port 443 -n yugangw-ag-1-be-http-settings  --protocol https
b.	az network application-gateway auth-cert create --cert-file d:\temp\TestCert.cer --gateway-name yugangw-ag-1 -n yugangw-ag-1-auth-cert -g yugangw-ag
c.	az network application-gateway http-settings update  --gateway-name yugangw-ag-1 -g yugangw-ag -n yugangw-ag-1-be-http-settings --add authenticationCertificates id="/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/yugangw-ag/providers/Microsoft.Network/applicationGateways/yugangw-ag-1/authenticationCertificates/yugangw-ag-1-auth-cert"


👷 Changes to build inference types

Follow up to #449
Review with whitespaces off

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


add libnewlib-arm-none-eabi dep to thumb* targets.

Adds libc.a, libm.a, crt0.o and more.
This adds 73.17 MB to the image however.

Thanks, @Emilgardis!
@homunkulus r+

:pushpin: Commit 5853c6b has been approved by japaric

:hourglass: Testing commit 5853c6b with merge 5853c6b...

:sunny: Test successful - status-travis
Approved by: japaric
Pushing 5853c6bac66ea9889ecc62e4eeaf82605932a1c9 to master...


Remove the lock from the history recorder

Thread safety should be the responsibility of the handler as not all handlers may require a lock. I will be sending an additional PR to place a lock for the history record writer in the CLI.

Codecov Report

Merging #1447 into develop will decrease coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #1447      +/-   ##
===========================================
- Coverage    71.38%   71.37%   -0.01%
===========================================
  Files          128      128
  Lines        14160    14157       -3
===========================================
- Hits         10108    10105       -3
  Misses        4052     4052

Impacted Files
Coverage Δ

botocore/history.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add Wedbio.com

Thanks Darryl! I recommend you take a look at the Safe Harbor terms in https://github.com/disclose/disclose/tree/master/terms and consider adding either Partial or Full safeharbor terms to your policy.

Yes, we are currently working on it..
thanks for reminding.

Hi @yesnet0, we have modified the url for safe harbor terms.
please kindly review again. thank you

Given the above commentary I've updated this to reflect a full safe harbor. Once reviewed by another author I will merge.

thanks @codingo, I'll wait for other reviewers to approve

Can anyone help on this PR? should I rebase this PR or is there any automatic way to rebase this?

Hey @darrylsepeda! Apologies, but I think I stuffed something up in the PR. Would be appreciated if you could do another PR by doing a git clone of the repo, making your changes again, and then putting in another PR. I can get that resolved for you quickly.


CI: Add GitHub Action for create_perf_json.py

The goal of this PR is to introduce a simple GitHub action to run and check create_perf_json.py. With potentially ongoing JSON refactoring I want to make sure this script continues to function. As a somewhat related change, scripts/perf is added to .gitignore since it is an output directory.
Action triggered by

Pushes.
Pull requests.
Fixed schedule for once a week.

Archives
The default output directory scripts/perf for 10 days.

@ZhengjunXing0 Adding you in a comment since I can't seem to add you as a reviewer.

Currently, it generates core/uncore events and TMA metrics together, but normally core/uncore and TMA JSON files are not merged at the same time, so there is a period when adding a new platform it will always report errors.

Thanks, looks good to me. There's a minor typo "Ingore" in the commit message of the first patch.

Thanks Ian. I fixed the commit message typo.


Set Dialog name to Begin Dialog action, when creating a new dialog from within a Begin Dialog action

Describe the bug / To Reproduce

Add a Begin Dialog action
From the Begin Dialog action, create a new dialog
Results in a new dialog, which you can edit normally.
However, the newly created dialog (setp #2) doesn't get assigned to the Begin Dialog steps, unless specifically (manually) setting the new dialog.

Expected behavior
The newly created dialog should be the value of the Begin Dialog action and being automatically set.

I have tried to reproduce the bug, but got the expected behavior. Is the behavior shown in the following gif correct? @yochay  @a-b-r-o-w-n


Changes not pulled from main repo

Hi.
Perhaps I am being impatient, but I have had the app active on EddiesTech\elkmeuk for a few hours, and have tried doing it manually, but no pull request or commits have been made. Have I done something wrong? Or am I just being impatient?
Many thanks
Eddie

Just done. Evidently I am not patient enough! :)


Last update timestamp not available in Zigbee2mqtt

Description of problem:
Zigbee2mqtt UI dashboard is not showing any last updated information.

At the same time, Zigbee2mqttAssistant has the information available, so seemingly it's available somewhere:

Zigbee2mqtt add-on version (if edge, please report commit hash):
1.22.0-3
Your entire configuration from the frontend (with sensitive fields redacted):
data_path: /config/zigbee2mqtt
external_converters: []
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
serial:
  port: >-
    /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_xxx
  adapter: deconz
advanced:
  log_level: warn
  pan_id: 6754
  channel: 11
  network_key:
     <...>
  availability_blocklist: []
  availability_passlist: []
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental: {}
availability: true
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: '-d -d'
  log: false

Running platform (details from Suypervisor > System)
// Example
Core: core-2021.11.4
Supervisor: supervisor-2021.10.8
Operating System: Home Assistant OS 6.6

Your logs from Home Assistant Supervisor
21-11-20 16:06:45 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state CoreState.RUNNING
21-11-20 16:06:45 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
21-11-20 16:08:44 INFO (MainThread) [supervisor.updater] Fetching update data from https://version.home-assistant.io/stable.json
21-11-20 16:09:59 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/yllibed/hassio repository
21-11-20 16:09:59 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/hassio-addons/repository repository
21-11-20 16:09:59 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/home-assistant/addons repository
21-11-20 16:09:59 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/zigbee2mqtt/hassio-zigbee2mqtt repository
21-11-20 16:09:59 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/sabeechen/hassio-google-drive-backup repository
21-11-20 16:10:04 INFO (MainThread) [supervisor.store] Loading add-ons from store: 67 all - 0 new - 0 remove
21-11-20 16:10:04 INFO (MainThread) [supervisor.store] Loading add-ons from store: 67 all - 0 new - 0 remove
21-11-20 16:12:04 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
21-11-20 16:42:10 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
21-11-20 16:42:35 INFO (MainThread) [supervisor.host.info] Updating local host information
21-11-20 16:42:35 INFO (MainThread) [supervisor.host.services] Updating service information
21-11-20 16:42:36 INFO (MainThread) [supervisor.host.network] Updating local network information
21-11-20 16:42:36 INFO (MainThread) [supervisor.host.sound] Updating PulseAudio information
21-11-20 16:42:36 INFO (MainThread) [supervisor.host.manager] Host information reload completed
21-11-20 16:46:14 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/info access from cebe7a76_hassio_google_drive_backup
21-11-20 16:46:14 INFO (MainThread) [supervisor.api.middleware.security] /backups access from cebe7a76_hassio_google_drive_backup
21-11-20 17:06:45 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state CoreState.RUNNING
21-11-20 17:06:45 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.SUPERVISOR
21-11-20 17:06:45 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.FREE_SPACE/ContextType.SYSTEM
21-11-20 17:06:45 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.CORE
21-11-20 17:06:45 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.PLUGIN
21-11-20 17:06:45 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.PWNED/ContextType.ADDON
21-11-20 17:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.SECURITY/ContextType.CORE
21-11-20 17:06:46 INFO (MainThread) [supervisor.resolution.check] System checks complete
21-11-20 17:06:46 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
21-11-20 17:06:46 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
21-11-20 17:06:46 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state CoreState.RUNNING
21-11-20 17:06:46 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
21-11-20 17:12:11 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
21-11-20 17:42:11 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
21-11-20 17:46:17 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/info access from cebe7a76_hassio_google_drive_backup
21-11-20 17:46:17 INFO (MainThread) [supervisor.api.middleware.security] /backups access from cebe7a76_hassio_google_drive_backup
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state CoreState.RUNNING
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.SUPERVISOR
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.FREE_SPACE/ContextType.SYSTEM
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.CORE
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.PLUGIN
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.PWNED/ContextType.ADDON
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.SECURITY/ContextType.CORE
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.check] System checks complete
21-11-20 18:06:46 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
21-11-20 18:06:47 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
21-11-20 18:06:47 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state CoreState.RUNNING
21-11-20 18:06:47 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
21-11-20 18:08:45 INFO (MainThread) [supervisor.updater] Fetching update data from https://version.home-assistant.io/stable.json
21-11-20 18:11:12 INFO (SyncWorker_2) [supervisor.docker.interface] Restarting ghcr.io/home-assistant/raspberrypi4-64-homeassistant
21-11-20 18:11:30 INFO (MainThread) [supervisor.homeassistant.core] Wait until Home Assistant is ready
21-11-20 18:11:42 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
21-11-20 18:11:43 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
21-11-20 18:12:12 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
21-11-20 18:12:23 INFO (MainThread) [supervisor.homeassistant.core] Detect a running Home Assistant instance
21-11-20 18:27:21 INFO (SyncWorker_6) [supervisor.docker.interface] Restarting ghcr.io/home-assistant/raspberrypi4-64-homeassistant
21-11-20 18:27:29 INFO (MainThread) [supervisor.homeassistant.core] Wait until Home Assistant is ready
21-11-20 18:27:41 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
21-11-20 18:27:41 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
21-11-20 18:28:02 INFO (MainThread) [supervisor.homeassistant.core] Detect a running Home Assistant instance
21-11-20 18:42:14 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
21-11-20 18:46:19 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/info access from cebe7a76_hassio_google_drive_backup
21-11-20 18:46:19 INFO (MainThread) [supervisor.api.middleware.security] /backups access from cebe7a76_hassio_google_drive_backup
21-11-20 18:49:16 INFO (MainThread) [supervisor.host.info] Updating local host information
21-11-20 18:49:17 INFO (MainThread) [supervisor.host.services] Updating service information
21-11-20 18:49:17 INFO (MainThread) [supervisor.host.network] Updating local network information
21-11-20 18:49:18 INFO (MainThread) [supervisor.host.sound] Updating PulseAudio information
21-11-20 18:49:18 INFO (MainThread) [supervisor.host.manager] Host information reload completed

Found information on the last_seen issue.
I'd suggest to add the parameter and its possible values to the actual HA config template, even if the default is (for reasons beyond me...) disabled initially.

@habitoti Will it be added?


js and ts file is not intellense

Issue Type: Feature Request
js and ts file is not intellense
VS Code version: Code 1.44.2 (ff915844119ce9485abfe8aa9076ec76b5300ddd, 2020-04-16T16:36:23.138Z)
OS version: Windows_NT x64 10.0.18363

I have solved this problem，think you。Because to  Ts extends‘s problem。
发送自 Windows 10 版邮件https://go.microsoft.com/fwlink/?LinkId=550986应用
发件人<EMAIL_ADDRESS>发送时间: 2020年4月19日 19:10
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [microsoft/vscode] js and ts file is not intellense (#95634)
(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

js and ts file is not intellense (#95633)https://www.github.com/microsoft/vscode/issues/95633

―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/95634#issuecomment-616105866, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHJAOI6IQB3NEQJGBIUPYHLRNLLZBANCNFSM4MLX2LJA.

/duplicate


mvcc: don't use pointer for storeTxnRead in storeTxnWrite

Saves an allocation when creating a storeTxnWrite.
Before:
BenchmarkStoreTxnPut-4            	  200000	      7728 ns/op	    1515 B/op	      16 allocs/op
BenchmarkWatchableStoreTxnPut-4   	  200000	      7934 ns/op	    1580 B/op	      18 allocs/op

After:
BenchmarkStoreTxnPut-4            	  200000	      7319 ns/op	    1498 B/op	      15 allocs/op
BenchmarkWatchableStoreTxnPut-4   	  200000	      7558 ns/op	    1565 B/op	      17 allocs/op

Codecov Report

Merging #8038 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #8038      +/-   ##
==========================================
- Coverage   75.82%   75.81%   -0.01%
==========================================
  Files         341      341
  Lines       26547    26547
==========================================
- Hits        20128    20126       -2
- Misses       4970     4976       +6
+ Partials     1449     1445       -4

Impacted Files
Coverage Δ

mvcc/kvstore_txn.go
85.91% <100%> (ø)
:arrow_up:

clientv3/namespace/watch.go
93.93% <0%> (-6.07%)
:arrow_down:

pkg/testutil/recorder.go
66.66% <0%> (-3.71%)
:arrow_down:

integration/bridge.go
89% <0%> (-3%)
:arrow_down:

etcdserver/api/v3election/election.go
64.7% <0%> (-2.95%)
:arrow_down:

etcdserver/api/v3rpc/util.go
57.14% <0%> (-2.86%)
:arrow_down:

clientv3/concurrency/election.go
80% <0%> (-2.41%)
:arrow_down:

rafthttp/peer.go
90.22% <0%> (-1.51%)
:arrow_down:

clientv3/watch.go
94.25% <0%> (-1.25%)
:arrow_down:

pkg/adt/interval_tree.go
88.41% <0%> (-0.61%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

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


Fixed #3136

I think that I fixed the #3136 bug in the application. I got rid of the  and instead put it as statement  .  I have a feeling that I will likely have to resubmit this, however, if this method works then I hope my contribution can help.
IMPORTANT NOTE (please read, then delete):
The PR title should start with "Fix #bugnum: " (if applicable), followed by a clear one-line present-tense summary of the changes introduced in the PR. For example: "Fix #bugnum: introduce the first version of the collection editor.".
Please also make sure to follow the style rules.

Hi @austinprog! Thanks for giving this a try. If you could, please submit your pull request to the main Oppia project rather than your fork of it.
Instructions on how to do this can be found here. Let me know if you run into any issues!

Thank you. I resubmitted this as a pull request on the main one. I was a little confused on how that works. I have really only done contributions to my own projects. So, you submit it here then make a pull request to Oppia? Hopefully I did it right with my new PR that I just submitted.

Hi @austinprog -- your pull request was successfully submitted to the main Oppia repository! Unfortunately, someone else has already completed this issue now 😞
Please feel free to take a look at another issue if you'd like.
Thanks!


Feat/export

Add wrappers around pdf and html export capabilities for report objects

Codecov Report
Attention: 8 lines in your changes are missing coverage. Please review.

Comparison is base (1398b51) 75.79% compared to head (ed16989) 75.73%.

Files
Patch %
Lines

src/ansys/dynamicreporting/core/adr_report.py
52.94%
7 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #78      +/-   ##
==========================================
- Coverage   75.79%   75.73%   -0.06%
==========================================
  Files          16       16
  Lines        4937     4954      +17
  Branches     1046     1048       +2
==========================================
+ Hits         3742     3752      +10
- Misses        845      852       +7
  Partials      350      350

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


[ZSH] (eval):1: parse error near `()'

OS: ArchLinux
Installed with pacman
Version: v2.13.0
Shell: Zsh with oh-my-zsh

> source <(command felix --init)
(eval):1: defining function based on alias `fx'
(eval):1: parse error near `()'

Does felix --init output lines below?
# To be eval'ed in the calling shell
  eval "$(
    if [ -n "$XDG_RUNTIME_DIR" ]; then
      runtime_dir="$XDG_RUNTIME_DIR/felix"
    elif [ -n "$TMPDIR" ]; then
      runtime_dir="$TMPDIR/felix"
    else
      runtime_dir=/tmp/felix
    fi

    mkdir -p "$runtime_dir"

    # Clean up leftover LWD files
    find "$runtime_dir" -type f -and -mmin +1 -delete

    cat << EOF
fx() {
  local RUNTIME_DIR="$runtime_dir"
  SHELL_PID=\$\$ command fx "\$@"

  if [ -f "\$RUNTIME_DIR/\$\$" ]; then
    cd "\$(cat "\$RUNTIME_DIR/\$\$")"
    rm "\$RUNTIME_DIR/\$\$"
  fi
}
EOF
  )"

Yes, they are identical
I noticed that it happens when I alias fx=felix.
When I made symbolic link fx in $PATH to felix, shell integration worked
On Monday, May 6th, 2024 at 01:43, Kyohei Uto @.***> wrote:

Does felix --init output lines below?
To be eval'ed in the calling shell
eval "$(
if [ -n "$XDG_RUNTIME_DIR" ]; then
runtime_dir="$XDG_RUNTIME_DIR/felix"
elif [ -n "$TMPDIR" ]; then
runtime_dir="$TMPDIR/felix"
else
runtime_dir=/tmp/felix
fi
mkdir -p "$runtime_dir"

# Clean up leftover LWD files
find "$runtime_dir" -type f -and -mmin +1 -delete

cat << EOF

fx() {
local RUNTIME_DIR="$runtime_dir"
SHELL_PID=$$ command fx "$@"
if [ -f "$RUNTIME_DIR/$$" ]; then
cd "$(cat "$RUNTIME_DIR/$$")"
rm "$RUNTIME_DIR/$$"
fi
}
EOF
)"
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Yes, they are identical
I noticed I get this issue if I alias fx=felix before source
When I made symbolic link fx in to /usr/bin/felix, init ran without issue and shell integration worked

Glad to hear that. I'll close this.


fix: watch files callback missing correct this context

After the refactor, I broke this by removing the bind in the hooks. Adding the bind to the callback function retains the this context while keeping the modularity of the hooks property.
Fixes #162

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Features request for Tinc GUI

Add a field to set custom port number (Tinc option)

Add field for Mode option: router | switch | hub (Tinc option)

Add field for setting the Ping Time-Out (Tinc option, for slow connections)

Allow FQDN host names in ext. Address field, so that it can work with Dynamic DNS (Tinc supports this according to tinc documentation). Currently field only allows IP address. I think this needs to be changed in 2 places in the GUI:

In the This Host of the Network section: Possible solutions (but I'm not sure!): Allow FQDN host name or allow to use keyword 'dynamic' (consistent with Gateway IP Address field under gateways), or replace with interface binding dropdown box (since this is the listen to IP address)?
Under Hosts (when creating a new host): Allowing FQDN host names in the ext. Address field.

If you need a tester for this, let me know.

thanks, assigning to @AdSchellevis for eval

@doublej74 I've added the port, ping and ext.address options, but I didn't have time to test (other then looking at the generated config). Do you have time to do this?
About the mode option, are you sure changing the mode to "switch" is all it needs? it's not a lot of work passing it through, but given the limited time I have, I want to ask you to test this first.

This can be patched with the tinc plugin installed using:
# opnsense-patch -c plugins 9b54074

Just to let you know I'm working on it. However I'm running into some other
issues, making it hard to test. I'll get back to you on that with more info.
On Fri, 6 Jan 2017 at 06:12, Franco Fichtner<EMAIL_ADDRESS>wrote:

This can be patched with the tinc plugin installed using:
opnsense-patch -c plugins 9b54074
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opnsense/plugins/issues/61#issuecomment-270772928,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANPul6AOYPxhz-FPMRgBdOUGY9O1tPKMks5rPWrpgaJpZM4LaVNg
.

Not yet finished, but 1 issue found: Under Networks I now have two fields with the same name and help description: Subnet and Subnet

oops, fixed in https://github.com/opnsense/plugins/commit/c5c5d6f310ae143adc45ac3343d4b1addb277e4c

I want to add that tinc allows the use of multiple subnets. This is especially useful to reach the net behind the firewall. This applies to the remote hosts as well to the own host.

Hi,
the possibility to change the mode to switch would be very nice.
The tinc config is similar, except that the  subnet value in each host config are IP addresses in the same network.
(example: <IP_ADDRESS>/32 for Host A, <IP_ADDRESS>/32 for Host B and <IP_ADDRESS>/32 for Host C)

@BiasF can you try?https://github.com/opnsense/plugins/commit/9af4e92996f7e475b0629bec87e12f1a94ad7400
Don't forget to edit/save your configuration before restarting the service, a normal upgrade would fix the config.xml first.

Hi,
thanks 👍  It seems to work.
Maybe tomorrow I will try it in a larger testing environment, but with two OPNSense Hosts on my VMware Workstation it is working :)
Thanks for your awesome work !

@BiasF your welcome! thanks for testing!

Looks like this is closed.


Deprecation Cop's Listed Calls/Selectors Overlapping Text

As you can see, the Deprecation Cop is working for me, but its results are "blending". For clarity, I'm not wondering what I have to do to make the errors go away. I can fix the calls, and an update to the Linter removed the issue there. I'm pointing out the formatting of the error messages themselves.
Atom 0.175.0
OSX Yosemite 10.10.1
*Both are latest versions at time of post

Having some trouble reproducing this, can you reproduce it when running atom --safe?

Sorry, atom --safe won't exhibit it since packages won't load and the view will be empty.
Just to confirm, you are using the built-in themes? And do you have any custom styles in your ~/.atom/styles.less file?

I don't remember putting any changes in styles.less, but as a precaution I
copy/pasted the file from the repository just so that could be ruled out.
Not exactly sure where the edits I had came from, but once the defaults
were in place the issue was resolved. UE somewhere along the line during my
customizations, I'm sure.
Apologies, and thanks for your great work on this great tool!
Skyler
On Mon, Feb 2, 2015 at 6:06 PM, Kevin Sawicki<EMAIL_ADDRESS>wrote:

Sorry, atom --safe won't exhibit it since packages won't load and the
view will be empty.
Just to confirm, you are using the built-in themes? And do you have any
custom styles in your ~/.atom/styles.less file?
—
Reply to this email directly or view it on GitHub
https://github.com/atom/deprecation-cop/issues/24#issuecomment-72572751.

--
Skyler Osborn
801-616-1515
<EMAIL_ADDRESS>

Sounds like this is resolved. I'm going to close it. Let us know if it reproduces :grinning:


Capturing 1 or n number of frames for image processing.

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
Raspberry Pi 4

SDK Version
2.43.0

Language
opencv/python }

Segment
Robot

Issue Description
Hello,
Somewhat beginner here, my project is going to be running a routine, travel a distance, capture and process image(s) to give coordinate feedback, perform action. Repeat process. The surface it will be capturing is the ground so everything will be stationary and the objects it will be finding will be stationary.
My question is, is there a better way to capture a single frame or a maybe a group of frames that can be averaged/ merged (cv2.addedweight opencv) and further used for image processing. I have written a basic code following the examples and using cv2.imwrite as follows below. This does work and saves a "1.jpg" image file to the file directory that I can eventually cv2.imread and run the image processing and coordinate functions on. However, I pretty sure this is not the best or memory efficient way to achieve what I am trying to get. I figured someone else knows a better method to achieve this. I see some other questions answered by the keep() function but there isn't really a full good python example on the repository on how to use the frames once they're kept.
import pyrealsense2 as rs
import numpy as np
import cv2
import json

json1 = json.load(open("json_string.json"))
# Configure depth and color streams
pipeline = rs.pipeline()
config = rs.config()

config.enable_stream(rs.stream.depth, 848, 480, rs.format.z16, 30)

#config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

# Start streaming
cfg = pipeline.start(config)
device = cfg.get_device()

json1 = json.load(open("json_string.json"))
json_string= str(json1).replace("'", '\"')
advanced_mode = rs.rs400_advanced_mode(device)
advanced_mode.load_json(json_string)

try:
    while True:

        # Wait for a coherent pair of frames: depth and color
        frames = pipeline.wait_for_frames()
        depth_frame = frames.get_depth_frame()

        # Convert images to numpy arrays
        colorizer = rs.colorizer()
        depth_image = np.asanyarray(colorizer.colorize(depth_frame).get_data())
        cv2.imwrite('/home/pi/Pictures/1.jpg', depth_image)
        img5 = cv2.imread('/home/pi/Pictures/1.jpg', cv2.IMREAD_COLOR)

        #color_image = np.asanyarray(color_frame.get_data())

        # Apply colormap on depth image (image must be converted to 8-bit per pixel first)
        #depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.08), cv2.COLORMAP_JET)

        # Show images
        cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
        cv2.imshow('RealSense', depth_image)
        cv2.waitKey(1)

finally:

    # Stop streaming
    pipeline.stop()

Hi @PlasticBlaze  I am not aware of a Python code example for the Keep() function that demonstrates how to apply post-processing to the stored frames  There is such an example for C++ though that may provide useful insights about structuring an equivalent process in Python.
https://github.com/IntelRealSense/librealsense/issues/1942#issuecomment-400031901
If you are only saving a single frame or a small collection of frames at a moment in time when a particular distance on the travel route is reached though then using Keep() may not provide a significant advantage compared to writing the frames as image files instead of storing them in memory.
In regard to possible alternative methods to Python, the link below discusses a RealSense project with similarities to yours that took the approach of using ROS.  The camera was mounted on a moveable module on a linear rail that would move along the rail capturing an image of the ground at specific defined positions on the route.
https://github.com/IntelRealSense/realsense-ros/issues/1581

Hey Marty, I haven't had a chance to try this yet but I had still been looking for a solution and came across another github page where a guy did a project with GPS, realsense camera, and image geo-tracking. One of his .py files actually looks to save 100 frames from just looking at it. I can try it tonight to see.
This .py is here
and the full project is here. This project shows a ton of great information and ideas for beginners like myself and others.

Thanks so much @PlasticBlaze  for sharing the resources!   Please do update when you have had an opportunity to test.  Good luck!

Hey Marty,
I tried that small snippet of code and it doesn't seem to do anything. After doing even more digging around I actually found where the same user was actually asking in the past about this method. It was number #4020

I remember the project of soarwing52 referenced in https://github.com/IntelRealSense/librealsense/issues/4020 - I believe that the final version of the save_single_frameset code that soarwing52 was referring to in that case can be found on their GitHub's folder of standalone Python scripts for various functions of their project.
https://github.com/soarwing52/RealsensePython/blob/master/separate functions/single_frameset.py
The full list of standalone functions created by soarwing52 - including a Python conversion of the SDK's C++ example rs-measure for measuring between two points - can be found here:
https://github.com/soarwing52/RealsensePython/tree/master/separate functions

Hi @PlasticBlaze  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Do not let API call timeout if workflow can't be locked

Currently if entire context timeout will be used to lock the workflow to perform operations. However, if workflow is super busy and workflow can't be locked within the given context timeout, caller side will see a context deadline exceeded error and has no clue why the API call times out.
We should return early with a special error type (or maybe just resource exhausted with workflow busy cause?) if workflow can not be locked.
Then the user latency calculation can also function properly across API calls.

Thank you for reporting this issue!
We understand the concern about the lack of clarity when a workflow fails to lock due to being too busy. Returning a more specific error code like "Resource Exhausted" with a "workflow busy" cause would be helpful for users to identify and troubleshoot the problem.
Currently, we don't have a specific error type for this scenario.  However, you could potentially implement a workaround by introducing a custom error type within your workflow code. This error type could be raised if locking fails due to context timeout and would provide more specific information to the caller.
We will consider adding a dedicated error type for this scenario in future releases.

Thank you for reporting this issue! This is definitely something we want to address.
We understand the current behavior can make it challenging to troubleshoot workflow lock timeouts. We are actively exploring options to improve the error messaging in this scenario.
In the meantime, you can try these workarounds:

Increase the ContextTimeout: You can try increasing the ContextTimeout to allow more time for the workflow to lock. However, this might not be a suitable solution for all cases.
Use retries with exponential backoff: Retry the workflow operation with increasing delays. This approach can help prevent flooding the system with requests when the workflow is heavily loaded.

We'll keep you updated on the progress of addressing this issue.


process_response does not properly resolve urls

Hi! I noticed that for relative URLs within sub URLs, they are resolved back to the root URL.
Let's assume I have a site domain as such: https://www.example.com,
where within that site there is a URL that looks like this https://www.example.com/sub_url.
Within that sub URL, there is an  tag. Which looks like this: super_SubURL. Currently this URL will be resolved as: https://www.example.com/sub_sub_url. (Take note that there isn't any forward slash in the href.)  As such this should instead should be resolved to https://www.example.com/sub_url/sub_sub_url
I hacked on the code a bit and the easiest solution would to change process_response's process_links function to use  response.url instead of base_url. However I'm not sure what else would break.
EDIT: Modified the code a bit and it will break some other URLs too. I'll properly have a look into it and probably do a PR.

An option could be to make both functions take a full URL instead of a base URL.
Currently fix_relative_urls('example.com/foo', 'bar') and fix_relative_urls('example.com/foo', '/bar') both return 'example.com/foo/bar'. It could be changed so that the latter returns 'example.com/bar' instead, and then you could always pass a full URL to it to handle cases like this.

@feltcat I believe @Ristellise diagnosed exactly the opposite problem but both of you are right. In any case, the way relative URLs are handled could be improved, which would also have a positive impact on Trafilatura.

That's correct, two changes are actually necessary:

Pass the actual page URL instead of base_url to extract_links
Add support for URLs of the form /sub_sub_url

@feltcat I believe @Ristellise diagnosed exactly the opposite problem but both of you are right. In any case, the way relative URLs are handled could be improved, which would also have a positive impact on Trafilatura.

To be clearer, its a issue with both packages. courlan doesn't properly resolve full urls while traufiltura sends only base urls to courlan.

It looks like fix_relative_urls could be replaced with urllib.parse.urljoin:
>>> from urllib.parse import urljoin
>>> urljoin('https://www.example.com/dir/subdir/file.html', '/absolute')
'https://www.example.com/absolute'
>>> urljoin('https://www.example.com/dir/subdir/file.html', 'relative')
'https://www.example.com/dir/subdir/relative'
>>> urljoin('https://www.example.com/dir/subdir/', 'relative')
'https://www.example.com/dir/subdir/relative'
>>> urljoin('https://www.example.com/dir/subdir', 'relative')
'https://www.example.com/dir/relative'

This is correct as long as directories have a slash at the end. @Ristellise do you know of any real-world examples where a directory wouldn't have a slash at the end, but should still behave like the example in your original post?
If I change fix_relative_urls to just return urljoin(baseurl, url), all the unit tests in test_fix_relative still pass, but I get a different failure in test_extraction, line 813.

do you know of any real-world examples where a directory wouldn't have a slash at the end, but should still behave like the example in your original post?

I kinda don't, been trying to find a IRL example for a site that exhibits this kind of behaviour but I cant find one that is popular enough. I only encountered the issue for 1 particular site and I'd rather not post it as it isn't safe for all audiences.
Looked online to see some "Test sites" but I haven't seen a site that specifically mentions testing against URIs.
I might consider building a site just for that...

Re-Reading my issue, I think it is also wording wrongly. I apologise. It should be https://www.example.com/sub_url/ instead. the website uses sub_sub_url/ to redirect the user to another subpage while sub_page_url to direct to a page on the directory. The updated example is as follows:
https://www.example.com/sub_url/

"sub_sub_url/" -> "https://www.example.com/sub_url/sub_sub_url/"
"sub_page_url" -> "https://www.example.com/sub_url/sub_page_url"

I hope this clears up confusion!

Ah, great. My code should fix your issue then, at least on the courlan side. There will still need to be changes on the trafilatura side to pass full URLs to the courlan functions as well though.

A note concerning Trafilatura: I'd be best not to break things while making the transition, meaning we will have to test the changes before a release.


RDK-29415 Removed more dependency from static DobbyClient library.

Now finished static library should not require linking of AppInfraLogging, AppInfraCommon, and IpcService.

CMake files were updated as part of: https://github.com/rdkcentral/Dobby/pull/108 so this PR is no longer relevant


Fake Mica theme for Windows 10 doesn't really feel like Mica

Description
Fake Mica theme is a rather solid image, a blurred blue halo instead of a working mica-like counterpart for Windows 10. My desktop wallpaper is completely different, yet the background is from the default Windows 11 Dark Wallpaper.

Steps To Reproduce

Open Files.
Go to Settings > Custom themes under Appearance.
Choose 'Fake Mica'.
Click the X button.

Steps to fix
Bring back the previous Mica Imitation theme. This new one is just a frozen image.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19044.2364
Windows Version
Windows 10 21H2 19044.2364
Relevant Assets/Logs
debug.log

Mica doesn't work on Windows 10 that why that theme is called Fake mica.

It is possible to change the image used.

Download Fake_Mica_2.zip
Extract the file
Open it in a text editor
Edit the path to image with the file location including file extension
Open Files settings > (i) icon on custom themes > open theme folder
Place file there
Restart Files and then the theme should be in there

Understandable, but what happened to the previous Mica Imitation theme that used Acrylic? Even though it didn't EXACTLY doesn't imitate the Mica effect, it was usable and worked better than this solid image... just personal preference though.

It stopped working since Files change the UI framework. It will be added back if there's a good way to support it. See https://github.com/files-community/Files/issues/10690 for updates


kaspad console log outputs to stdeer instead of stdout

Rusty kaspad (possibly other executables as well) logs to stderr instead of stdout, on Linux at least.
This adds complexity when processing output using command line tools.
Reproduce:
Can easily be reproduced with: ./kaspad | grep kaspad <- all output will be shown instead of only the lines containing kaspad
However, kaspad -h actually outputs to stdout: ./kaspad --help | grep kaspad <- only one line is output.
Fix:
Correct logging facility to always do console output to stdout.

The new PR #181 addresses and fixes this issue


Issue changing focus to a fullscreen Atom instance on OSX

Description
I have an Atom instance running in fullscreen mode and a terminal in fullscreen mode. If I use the atom command to open a file from the terminal the file opens but the window does not come into focus.
Some additional information is available in the original discussion post, though the relevant information is reproduced here.
Steps to Reproduce

Open an Atom workspace and put the window in fullscreen mode using the green button in the upper-left corner.
Open an terminal window and make it fullscreen as well.
Run the command atom foo.txt:7 in the terminal (where foo.txt is an actual file).

Expected behavior: The file should open in the existing window and the Atom window should be in focus.
Actual behavior: The file is opening as expected, but the desktop is in focus.
Versions
Running on OS X 10.10.5.
output of atom --version:
Atom    : 1.9.0-beta0
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0

output of apm --version:
apm  1.10.0
npm  2.13.3
node 0.10.40
python 2.7.11
git 2.7.0

I was able to reproduce this using Atom v1.10.0-dev-5533365 on Mac OS X 10.11.5.

same issue on macOS 10.12.3
$ atom --version
Atom    : 1.15.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

$ apm --version
apm  1.15.3
npm  3.10.5
node 4.4.5 x64
python 2.7.13
git 2.12.0

bump on this as i am also experiencing the same behavior with the same apm and atom and osx versions as @mvoropaiev

+1 this still happens on atom 1.16.0 and apm 1.16.1 as well with the exact same behavior as described. Also happens in OSX split fullscreen with half terminal half Atom FWIW

I may have found a workaround for this problem: atom -f.
The help for that option says   -f, --foreground           Keep the main process in the foreground.  [boolean].
I'm not sure what that option is supposed to do but it seems to eliminate this problem at least on my machine. Without this option, it always flips to "Desktop 1" when opening a file from the command line.
I have an alias in my .bashrc:
alias a='atom -f'
macOS High Sierra
Version 10.13.3
ATOM 1.24.0
fresh install


Xfeat_with_lightglue

Hello author, thank you for your outstanding work. R
ecently, there is an excellent work in feature point extraction called ”Xfeat" , with a speed comparable to ORB and strong feature point extraction capability. How should we adapt it to Lightglue? I believe you can consider combining them to achieve amazing results in feature point extraction and matching. Thank you.

Hello @cxb1998, I'm training some LightGlue variations (smaller models) with XFeat, and should update the repo with it soon, if you are interested you can follow the issue

Hello @cxb1998, I'm training some LightGlue variations (smaller models) with XFeat, and should update the repo with it soon, if you are interested you can follow the issue

That's great! Looking forward to your work


Add workload and service dashboard

This PR refactors the existing grafana dashboards in the following manner:

Adds a "service" dashboard that focuses on displaying info relevant to service consumers.
Adds a "workload" dashboard that focuses on incoming workloads and outgoing service calls.
Sets-up the "mesh" dashboard to consist of tables that link to individual dashboards.

The new dashboards themselves are not segmented into separate dashboards for TCP and HTTP/GRPC any more. As a TCP service may make HTTP calls out, and vice-versa, that distinction would lead to a lot of duplication and (even more) complexity. In the future, we can use the bandwidth placeholders to report TCP stats for HTTP services as well.
This PR also updates the newly committed "conditional" in favor of "conditionalString".
There are several known issues exposed by this PR:

destination.service.host is being set to unknown for all TCP calls (client and server).
connection.mtls is set to false for reporter="client" calls. This will need documentation.

Screenshots:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: douglas-reid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
6261fc32a0431d5ba7e3d8f393a0ab88a9e07f2a
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
6261fc32a0431d5ba7e3d8f393a0ab88a9e07f2a
link
/test e2e-dashboard

prow/e2e-simpleTests.sh
6261fc32a0431d5ba7e3d8f393a0ab88a9e07f2a
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@rshriram we're observing that plugins do not receive service in the plugins for TCP listeners. Any idea?

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
fc3394e1fbb72aa9213180683ed06518664d9442
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Merging this manually. We are creating 1.0 branch at this SHA.


Hide files on the Remote Tree View

The Remote Tree view has lots of useless files displayed like .cache, .local, .npm, .config, etc. Would be nice to have a file like .ftphide so those are not displayed.

It'd probably be better to have these as an array in the .ftpconfig file. But yes this could be useful for some people.

Yes could work like that too.

Any updates?

I don't think this feature will get into the plugin soon as so few people need it and there are so much else issues need to be fixed...

Isn't this covered by the "Show Hidden Files" configuration option? https://github.com/mgrenier/remote-ftp/blob/master/README.md#package-preferences


Help with new contact

Hi, I've had six v1.2.0 contact pages for a while now and they work fine.
I have just added another and get Oops! An error occurred while sending your message, thank you to try again later.
Can you suggest what might be wrong and how I can find out why it is saying this as I've done nothing different from any of the others?
This is at the end of trying lots of things, in dev environments, in subdirectories and subdomains, trying it on Bludit3.9.1 and eventually coming back to the Live environment where I at least have some working pages. same is true in both Firefox and Ie browsers. I don't have SMTP set up. The once working also have Captcha enabled, but I've left the new test one without. The Live environment where the first six work is Bludit 3.7.0.
Any suggestions would be appreciated because it just does not make any sense.
One enhancement you might consider is to write log entries to the content\workspace\contact3 folder with a setting to capture Error &/or Info messages.
Thanks.

Update. Comparing the other working instances I have compared the contents of each file, the folder permissions and the file permissions - all are identical other than the slightly changed plugin name (consistent with all working instances).
This is really frustrating and wish the error indicated where in what file or what bit of code it's failing.
I'm going to start adding echo statements to find where it gets to.

Hello,
sorry for the late reply!
Normally you can see the error messages in the php order server error log file. Do you have access to them? On some webhostings you can set this via .htaccess (https://stackoverflow.com/a/16375310).
Is the server environment an other environment, than the other bludit setups?
My first idea is, that the php mail setup isn't correct or the email setup on the webserver isn't correct.
Did you try with smtp setup?

Thanks for the reply - I only have the option in my hosting control to turn php logs on/off, but I can't get to the actual Log file - I'll try the link you sent and see what I can get.
No, I did not try smtp setup because the other six instances are working fine without it, which suggests php mail is ok - but who knows. - it will end up being something silly 😊

I haven't tried setting logs via .htaccess yet, but I have tried SMTP

On port 587 with STARTTLS (host recommended) and 25 with STARTTLS or none, I get the same issue, Oops! An error occurred while sending your message, thank you to try again later.
On port 465 with TLS, the page hangs for about 25 seconds before turning all white indefinitely (or as long I was willing to wait).

This for me is the same on two separate sites hosted with one.com; I'm going to try a mirror of the whole site on another host to see how it behaves there.
As I wish to upgrade Bludit, can you please confirm that Conect3 is ok with Bludit 3.9.x?

Contact3 is working on Bludit 3.9.x

Yep, thanks. I have subsequently installed a new Bludit 3.7.1 and upgraded to v3.9.1 and checked it is OK, albeit on a different hosting platform and as default (out of the box) as possible.
I just now need to get a copy of the real site checked out on the other hosting platform - a slow process given my availability. 🤔

So, the copy on other hosting platform was working fine... back to the troublesome site.
After getting logging working properly and adding my own code to successfully send phpMail I have determined that if the sending email address is not known to one.com the send fails. I feel that the error reporting of this situation needs to be added.
I'll speak to one.com to see if this is something that can be changed.
I also need to try with an ,Out of the Box' install of the plugin to confirm this new finding.

Hi, just to let you know that my whole issue is due to the fact that my host One.com insist on having email sent from an email address on my domain. When I first set it up it was working, then after the upgrade of Bludit it wasn't.
Anyway, the address it really needs to go to is not on the domain, so I have forked your branch and I am adding in a third option to send from. The options will be to:

Send from the User's address
Send from the To address (As you have it)
Send from a Domain address

I'm changing the true/false drop-down to pick one of the three above, and adding a field to supply the domain address.

Thanks

Thats's great. Thank you! It will be added in the next version.