Don't inconsistently add XML declarations

Resolves #1156

I think we should also include a test that verifies the behaviour we’re correcting (i.e., that an unwanted XML declaration is indeed added by the library).

We already have such tests (we had tests that did not have a declaration in their raw version, but have it on their formatted. So I simply fixed them).

And I assume that might not be the last unwanted alteration. Not sure if we should spend too much time trying to fix this.

It is due to Python's parser is not really caring about roundtripability. I've looked around on PyPI, but I have not yet found an XML parser that claims to have a full-roundtripability feature. If that is what we are looking at, we could drop this or explicitly mention about the formatters are only looking for semantical equivalence.

Codecov Report

Merging #1227 (6bfe764) into master (4d7d6b6) will decrease coverage by 0.56%.
The diff coverage is 94.91%.

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

@@            Coverage Diff             @@
##           master    #1227      +/-   ##
==========================================
- Coverage   97.28%   96.72%   -0.57%
==========================================
  Files          67       81      +14
  Lines        4235     5398    +1163
==========================================
+ Hits         4120     5221    +1101
- Misses        115      177      +62

Impacted Files
Coverage Δ

tests/test_binary.py
100.00% <ø> (ø)

httpie/compat.py
31.11% <27.90%> (-68.89%)
:arrow_down:

tests/conftest.py
77.14% <58.33%> (-9.82%)
:arrow_down:

tests/test_ssl.py
91.01% <66.66%> (-3.93%)
:arrow_down:

httpie/manager/__main__.py
82.35% <82.35%> (ø)

httpie/models.py
94.73% <83.33%> (-2.64%)
:arrow_down:

httpie/output/formatters/colors.py
92.66% <88.88%> (-0.92%)
:arrow_down:

httpie/manager/core.py
92.85% <92.85%> (ø)

httpie/manager/plugins.py
93.39% <93.39%> (ø)

httpie/cli/json_form.py
93.87% <93.87%> (ø)

... and 52 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 df58ec6...cec2fd5. Read the comment docs.

I think we should also include a test that verifies the behavior we’re correcting (i.e., that an unwanted XML declaration is indeed added by the library).

We already have such tests (we had tests that did not have a declaration in their raw version, but have it on their formatted. So I simply fixed them).

What I mean is that we implicitly rely on the library auto-adding the declaration. For example, we assume there’ll always be lines[0].
Let’s add an explicit test case verifying this assumption still holds (something like assert pretty('<x/>') == '<?xml …?><x/>').

explicitly mention about the formatters are only support for semantical equivalence.

Let’s do that.

What I mean is that we implicitly rely on the library auto-adding the declaration. For example, we assume there’ll always be lines[0].

I see. I've changed it now to ensure there is at least one line and the first line is some sort of a declaration. If that is the case, we either get rid of it or replace it with the original version (if there are any).

Let’s do that.

Sure!


[Bug Report] Commands arent workign

Describe the bug
I'm on a minehut server in 1.16.3 and the plugin is installed. When I try and do any commands, it says an internal error has occurred.
Versions (please complete the following information):

Minecraft Server Version: 1.16.3
Plugin Version: latest one

*Do NOT say Latest use /version crazyenchantments in the console.
Pastebin any errors in console
Link: https://pastebin.com/
Issue
Won't let me do any commands
Screenshots
If applicable, add screenshots to help explain your problem.

i have the same problem on 1.16.4

i have the same problem on 1.16.4


update to use Byng namespace, bump package version, add in example usage to readme

I'm just thinking; could the PimcoreInstaller class be just called Installer? I mean, we're in the Pimcore namespace, it'd make the composer.json file entries a little more succinct and to the point - while still being clear, given there'll be context.

LGTM.


Would it be nice if we let user specify the Promocode model in the config file?

Is your feature request related to a problem? Please describe.
I wanted to modify the Promocode model but the package uses the vendor model directly. Which reduces the scope for extension. Like, I modified the migration and included timestamps, but it was turned off at model level.
Describe the solution you'd like
I would like you have the Promocode model specified in the config file same as User model was specified.

Is your feature request related to a problem? Please describe.
I wanted to modify the Promocode model but the package uses the vendor model directly. Which reduces the scope for extension. Like, I modified the migration and included timestamps, but it was turned off at model level.
Describe the solution you'd like
I would like you have the Promocode model specified in the config file same as User model was specified.

@mahmudz , not sure if you still need this feature, but there's a workaround which could solve the thing you require.
First, create your own Model as follow
<?php

namespace App\Models;

use Gabievi\Promocodes\Models\Promocode as ModelsPromocode;
use Illuminate\Database\Eloquent\Factories\HasFactory;

class Promocode extends ModelsPromocode
{
    use HasFactory;

    // save the timestamps when creating a new promocode
    protected static function boot() {
        parent::boot();

        static::creating(function ($promocode) {
            $promocode->created_at = now();
            $promocode->updated_at = now();
        });
    }
}

and then in your controller, you could use you own model instead of the vendor's one to create a custom promocode, then the promocode record you create would save with the timestamps.
Hope this could help.

It's now possible in new release


Array support 2

add full functions support for list archive vp and list live vp(getvalue, setvalue, read, write, etc.)

Codecov Report

Merging #251 into master will decrease coverage by 0.33%.
The diff coverage is 60.94%.

@@            Coverage Diff             @@
##           master     #251      +/-   ##
==========================================
- Coverage   69.57%   69.24%   -0.34%
==========================================
  Files         159      161       +2
  Lines       21563    21757     +194
==========================================
+ Hits        15003    15065      +62
- Misses       5418     5506      +88
- Partials     1142     1186      +44

Impacted Files
Coverage Δ

memstore/list/memory_pool.go
93.22% <ø> (ø)
:arrow_up:

...ubscriber/common/consumer/kafka/kafka_confluent.go
81.64% <0%> (ø)
:arrow_up:

memstore/bootstrap.go
61.7% <0%> (ø)
:arrow_up:

redolog/redolog_manager_master.go
100% <100%> (ø)
:arrow_up:

diskstore/local_diskstore.go
66.12% <100%> (ø)
:arrow_up:

memstore/common/upsert_batch.go
54.9% <100%> (+0.07%)
:arrow_up:

memstore/common/data_value.go
80.04% <13.95%> (-5.98%)
:arrow_down:

memstore/common/data_type.go
85.47% <50%> (-0.79%)
:arrow_down:

memstore/list/test_factory.go
65.9% <50%> (-23.57%)
:arrow_down:

memstore/list/archive_vector_party.go
62.65% <62.65%> (ø)

... and 7 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 dfd30d6...8089ae0. Read the comment docs.


Derek/init simplify

simplify initialization of AndroidDerived and change col_map to row_map

Codecov Report

Merging #63 (6166065) into main (4946b55) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #63   +/-   ##
=======================================
  Coverage   93.10%   93.10%
=======================================
  Files          13       13
  Lines        1436     1436
=======================================
  Hits         1337     1337
  Misses         99       99

Impacted Files
Coverage Δ

gnss_lib_py/parsers/android.py
98.70% <100.00%> (-0.08%)
:arrow_down:

gnss_lib_py/parsers/navdata.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us.


Enable Splitview

Prerequisites

[ ] Can you reproduce the problem with Debug -> Reload Without Extensions?
[ ] Did you perform a cursory search to see if your bug or enhancement is already reported?
[ ] Did you read the Troubleshooting guide?

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
[Description of the bug or feature]
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
Please include the OS and what version of the OS you're running.
Please include the version of Brackets. You can find it under Help -> About Brackets (Windows and Linux) or Brackets -> About Brackets (macOS)

Hi,
I don't know whether this has been asked before as I did try to search for this issue and did not find any similar.
I wonder if it is possible to always open the IDE interface in SplitView. As it is, when going from one project to another, or the IDE is closed and re-opened, it defaults to single view (no split). Is it possible to have it open always in SplitView rather than having to click the splitview icon?  Thanks.


possible heap-buffer-overflow in src/fold.c (v8.2.3595)

Steps to reproduce
Hi!
We are using improved fuzzing technology with fault injection. These are possible heap buffer overflow issues.
Different from traditional fuzzing, fault injection can test error-handling codes while the errors happen in some extreme conditions. (such as malloc() return NULL when out of memory). So it is hard to reproduce without our fault injection environment. I try to analysis the related codes to find the cause but not sure, needing your helps. I'm glad to provide more details if you need.
I think the cause is rather close to #9207, but not very sure..
// in src/fold.c:308
int
foldmethodIsManual(win_T *wp)
{
    // `wp->w_p_fdm` maybe empty cstr copied from `empty_option`, (through `vim_strsave()`)
    // which point to heap at this time, causing heap overflow.
    return (wp->w_p_fdm[3] == 'u');
}

Expected behaviour
no asan report.
Operating system
Ubuntu 20.04 LTS
Version of Vim
v8.2.3595
Logs and stack traces
logs with faultinject: means the error point is triggered. Then the error point's backtracks print as follow.
faultinject: error actived 1! name: malloc, file: alloc.c, line: 244
??:?
/home/r1/src_git/mfuzz-project/wrapper/mfuzzrt/faultinject.c:44
/home/r1/vim/vim/src/alloc.c:244
/home/r1/vim/vim/src/alloc.c:151
/home/r1/vim/vim/src/strings.c:27
/home/r1/vim/vim/src/option.c:5667
/home/r1/vim/vim/src/buffer.c:2980
/home/r1/vim/vim/src/buffer.c:581
/home/r1/vim/vim/src/ex_cmds.c:2796
/home/r1/vim/vim/src/ex_docmd.c:6962
/home/r1/vim/vim/src/ex_docmd.c:6852
/home/r1/vim/vim/src/ex_docmd.c:2614
/home/r1/vim/vim/src/ex_docmd.c:1000
/home/r1/vim/vim/src/scriptfile.c:1406
/home/r1/vim/vim/src/scriptfile.c:971
/home/r1/vim/vim/src/scriptfile.c:997
/home/r1/vim/vim/src/ex_docmd.c:2614
/home/r1/vim/vim/src/ex_docmd.c:1000
/home/r1/vim/vim/src/ex_docmd.c:594
/home/r1/vim/vim/src/main.c:3081
/home/r1/vim/vim/src/main.c:773
/home/r1/vim/vim/src/main.c:425
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f2c8e3ba0b3]
??:?
faultinject: error actived 2! name: malloc, file: alloc.c, line: 244
??:?
/home/r1/src_git/mfuzz-project/wrapper/mfuzzrt/faultinject.c:44
/home/r1/vim/vim/src/alloc.c:244
/home/r1/vim/vim/src/alloc.c:151
/home/r1/vim/vim/src/strings.c:27
/home/r1/vim/vim/src/option.c:5667
/home/r1/vim/vim/src/buffer.c:2980
/home/r1/vim/vim/src/buffer.c:581
/home/r1/vim/vim/src/ex_cmds.c:2796
/home/r1/vim/vim/src/ex_docmd.c:6962
/home/r1/vim/vim/src/ex_docmd.c:6852
/home/r1/vim/vim/src/ex_docmd.c:2614
/home/r1/vim/vim/src/ex_docmd.c:1000
/home/r1/vim/vim/src/scriptfile.c:1406
/home/r1/vim/vim/src/scriptfile.c:971
/home/r1/vim/vim/src/scriptfile.c:997
/home/r1/vim/vim/src/ex_docmd.c:2614
/home/r1/vim/vim/src/ex_docmd.c:1000
/home/r1/vim/vim/src/ex_docmd.c:594
/home/r1/vim/vim/src/main.c:3081
/home/r1/vim/vim/src/main.c:773
/home/r1/vim/vim/src/main.c:425
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f2c8e3ba0b3]
??:?
faultinject: error actived 1! name: malloc, file: alloc.c, line: 244
??:?
/home/r1/src_git/mfuzz-project/wrapper/mfuzzrt/faultinject.c:44
/home/r1/vim/vim/src/alloc.c:244
/home/r1/vim/vim/src/alloc.c:151
/home/r1/vim/vim/src/strings.c:27
/home/r1/vim/vim/src/option.c:5605
/home/r1/vim/vim/src/buffer.c:3102
/home/r1/vim/vim/src/ex_cmds.c:2858
/home/r1/vim/vim/src/arglist.c:722
/home/r1/vim/vim/src/arglist.c:643
/home/r1/vim/vim/src/ex_docmd.c:2614
/home/r1/vim/vim/src/ex_docmd.c:1000
/home/r1/vim/vim/src/scriptfile.c:1406
/home/r1/vim/vim/src/scriptfile.c:971
/home/r1/vim/vim/src/scriptfile.c:997
/home/r1/vim/vim/src/ex_docmd.c:2614
/home/r1/vim/vim/src/ex_docmd.c:1000
/home/r1/vim/vim/src/ex_docmd.c:594
/home/r1/vim/vim/src/main.c:3081
/home/r1/vim/vim/src/main.c:773
/home/r1/vim/vim/src/main.c:425
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f2c8e3ba0b3]
??:?
=================================================================
==249809==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000007d53 at pc 0x0000009c3276 bp 0x7ffe3d5b3b20 sp 0x7ffe3d5b3b18
READ of size 1 at 0x602000007d53 thread T0
    #0 0x9c3275 in foldmethodIsManual /home/r1/vim/vim/src/fold.c:310:13
    #1 0x9c307e in hasAnyFolding /home/r1/vim/vim/src/fold.c:119:11
    #2 0x171c95b in main_loop /home/r1/vim/vim/src/main.c:1362:10
    #3 0x17154ff in vim_main2 /home/r1/vim/vim/src/main.c:878:5
    #4 0x1706804 in main /home/r1/vim/vim/src/main.c:425:12
    #5 0x7f2c8e3ba0b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #6 0x41ef7d in _start (/home/r1/vim/vim/src/vim+0x41ef7d)

0x602000007d53 is located 2 bytes to the right of 1-byte region [0x602000007d50,0x602000007d51)
allocated by thread T0 here:
    #0 0x4976bd in malloc (/home/r1/vim/vim/src/vim+0x4976bd)
    #1 0x4c768a in lalloc /home/r1/vim/vim/src/alloc.c:244:11
    #2 0x4c7453 in alloc /home/r1/vim/vim/src/alloc.c:151:12
    #3 0x11a383e in vim_strsave /home/r1/vim/vim/src/strings.c:27:9
    #4 0xd7507b in copy_winopt /home/r1/vim/vim/src/option.c:5667:18
    #5 0x528290 in get_winopts /home/r1/vim/vim/src/buffer.c:3102:2
    #6 0x83c746 in do_ecmd /home/r1/vim/vim/src/ex_cmds.c:2858:3
    #7 0x4d6662 in do_argfile /home/r1/vim/vim/src/arglist.c:722:6
    #8 0x4d6b04 in ex_last /home/r1/vim/vim/src/arglist.c:643:5
    #9 0x881a17 in do_one_cmd /home/r1/vim/vim/src/ex_docmd.c:2614:2
    #10 0x86c3d2 in do_cmdline /home/r1/vim/vim/src/ex_docmd.c:1000:17
    #11 0x102f5c5 in do_source /home/r1/vim/vim/src/scriptfile.c:1406:5
    #12 0x102a89c in cmd_source /home/r1/vim/vim/src/scriptfile.c:971:14
    #13 0x102a37a in ex_source /home/r1/vim/vim/src/scriptfile.c:997:2
    #14 0x881a17 in do_one_cmd /home/r1/vim/vim/src/ex_docmd.c:2614:2
    #15 0x86c3d2 in do_cmdline /home/r1/vim/vim/src/ex_docmd.c:1000:17
    #16 0x871cbd in do_cmdline_cmd /home/r1/vim/vim/src/ex_docmd.c:594:12
    #17 0x171a60e in exe_commands /home/r1/vim/vim/src/main.c:3081:2
    #18 0x1714bcc in vim_main2 /home/r1/vim/vim/src/main.c:773:2
    #19 0x1706804 in main /home/r1/vim/vim/src/main.c:425:12
    #20 0x7f2c8e3ba0b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16

Was taken care of in patch 8.2.3662


Self-closing tags error

Platform: Mac OS X El Capitan 10.11.6
Vetur version: 0.8.2
VSCode version: 1.13.1

Error: Self-Closing Tags
While self-closing tags are not valid for in-dom templates, the vue-loader that parses .vue files into render functions can handle self-closing tags in v2. See this comment in the vue issues: https://github.com/vuejs/vue/issues/1036#issuecomment-266756591
Expected
I think a nice aesthetic around this environment specific error is to make it a configuration option. Another option would be to ignore this error in .vue files.

I am also getting the error on valid self closing tags like <img /> and <br />.

We are incorporating https://github.com/vuejs/eslint-plugin-vue now and this comes from its rule:
https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/html-no-self-closing.md
So create a .eslintrc to disable it.
I'll add vetur.validation.template in the next version to disable html validation totally.

Took me a few tries to figure out how to write the rule, so for posterity, this worked for me:
{
    "plugins": [
        "vue"
    ],
    "rules": {
        "vue/html-no-self-closing": "ignore"
    }
}

Hmm... on second thought, it does eventually trigger an error. Any tips @octref ?

Yeah, but now you have fine-control over all the rules that eslint-plugin-vue@beta provides!

Maybe this is an issue between my local packages and my vscode extension deps?

it does eventually trigger an error

So VSCode still shows an error?

Correct. It just took a while to parse through and highlight things. The local project has this dep: "eslint-plugin-vue": "^2.1.0",

Maybe I need to set up a global .eslintrc? I'm a little new to using linting, and I've only got it set up for this repo right now.

Currently we have the template checking on by default using eslint-plugin-vue > 3.0. But it's unconfigurable. I'll add an option to disable it.
Meanwhile with VSCode's ESLint plugin and dependency / eslintrc correctly setup, you should also be able to template linting and have fine control over the rules with .eslintrc.

Cool—the usual css-esque config cascade. Do you see anything wrong with what I'm doing then? I'm not entirely sure why I can't tap into the suite of vue lint rules.

Two possibly useful threads:

https://github.com/vuejs/eslint-plugin-vue/issues/31#issuecomment-309206894
https://github.com/vuejs/eslint-plugin-vue/issues/29

This is still not fixed for me.

Because we haven't released the new change yet?

I'm not really sure. I've tried quite a few configurations, and tried to hunt down some info, but I'm running out of ideas.

Upgrade to 0.8.3 and set "vetur.validation.template": false in VSCode setting.

Awesome! This works. 👍  I'm still confused why I can't get the vue eslint rule working.

Thanks for adding that template false. I'm with @alexsasharegan that I'd like to get the vue eslint rules working too but until I can customize them I'll just live with disabling all of them.

You can customize them: https://octref.github.io/vetur/linting-error.html


runescape-client: Replace char primitives with integer values

Solves https://github.com/runelite/runelite/issues/151.

Thanks


Use precise ranges when requesting for semantic tokens with feature flags

### Summary of the changes
Trims range when requesting for semantic tokens

Using feature flags

Contributes to https://github.com/dotnet/razor/issues/9092
TODO:

[x] Fixed/Updated tests
[x] Remove duplicate code

Are there any semantic tests over a string with multiple C# segments that only requests a razor span containing one of them? The diff files for such a test would nicely encompass the difference between the behavior with and without the feature flag set.

Squashed the last few commits from today into one commit for easier review.
It removes duplicated code while keeping the feature flag.

@phil-allen-msft and I were discussing the changes here today and the feature flag name.
We discussed these other names to make it more clear:

[x] UseTrimmedRanges
[ ] UsePreciseRanges
[ ] UseMinimalRanges

TrimRanges was the first/original name I came up with and I am open to changing it.
FYI, in an upcoming PR the feature flag will be renamed to UseTrimmedRanges, unless there is strong words against it

I never really understood the "trim" part of the name 😛 Perhaps something like "RequestMultipleSemanticTokenRanges", to actually describe what it does?
I will say though, I wouldn't change it in a follow up. Either do it in this PR, or don't rename, otherwise you'll be resetting the value for anyone who had changed it, which would annoy them or possibly re-introduce a bug/perf regression they had successfully worked around. The internal name of the feature flag is not super important, and its not the worst thing if it goes out with a bad name.

This isn't yet addressed, right? Just making sure I didn't miss them in this pass.

In reply to:<PHONE_NUMBER>

Note for reviewers:
The PR is ready for review. It also adds new tests comparing results between when feature flag is set vs. when not. Only one odd case of a test is currently failing" GetSemanticTokens_CSharp_Nested_HTML:
    Assert.Contains() Failure
Not found: Int32[] [12, 38, 15, 18, 0]
In value:  HashSet<Int32[]> [[12, 38, 16, 18, 0], [12, 54, 1, 54, 0], [14, 0, 1, 51, 0], [14, 1, 4, 51, 0], [14, 6, 7, 51, 0], ...]

Third index for some reason is off for that test case. I'm going to take a look at that.
Aside from that, the PR should be ready.
Thanks @davidwengier and @ToddGrun for the reviews so far!


Pagination Example

Hello, Can you please provide pagination example ? The doc you have provided is very short. Many things you should provide in that.

As this package is simply providing the Laravel "wiring" for the elasticsearch PHP client, I believe you'll need to consult their documentation. Maybe consider the scan/scroll functionality mentioned here: https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_search_operations.html


TypeError: e.voice is undefined

Hey,
After upgrade to HA 0.110.1, custom-header stops working with:
2020-05-21 21:28:16 ERROR (MainThread) [frontend.js.latest.202005191] http://hostname/local/custom-header.js?v=1.4.3:1:15436 TypeError: e.voice is undefined

Error from web consolle:
TypeError: e.voice is undefinedcustom-header.js:1:15436
    buildHeader http://hostname/local/custom-header.js?v=1.4.3:1
    CustomHeader http://hostname/local/custom-header.js?v=1.4.3:1
    rebuild http://hostname/local/custom-header.js?v=1.4.3:596
    <anonymous> http://hostname/local/custom-header.js?v=1.4.3:596
    InnerModuleEvaluation self-hosted:1572
    evaluation self-hosted:1543

Web browser: Firefox 76.0.1 (64-bit)
Home-assistant version 0.110.1, running in docker.
Configuration:
resources:
  - url: /local/custom-header.js?v=1.4.3
    type: module
custom_header:
  compact_mode: true
  options_hide: true
  exceptions:
    - conditions:
        user: Guest
      config:
        disable_sidebar: true
        options_hide: true
        hide_tabs:
          - sensors
    - conditions:
        user: User1
      config:
        hide_tabs:
          - sensors

Custom header hash: af1406c25684c2f60c4348ab5c45336eda467ca7b6227b7716107ca3e79cf04a

same problem.
Firefox 76.0
HA 0.110.0 Docker

If your issue is like mine then it's because you have conversation: commented out in your HA configuration.yaml.  Unquoting it resolves this error for now but I'm sure maykar will address it properly when time permits.  You can add voice_hide: true to your CH config to hide the icon for now.

@afxefx Thanks, it solves issue. Lets wait till custom-header is fixed :)

dupe of #191

Duplicate issue and #191 has been resolved. Closing.


Message gets repeated for each image(whatsapp only)

Steps to reproduce

Share multiple images with message on whatsapp

Expected behaviour
I expect the message to not be repeated for each image.
Actual behaviour
The message is appended to each image.
Environment

React Native version: 0.55.4
React Native platform + platform version: Android 5.0

react-native-share
Version: 1.1.3
A code snippet:
let shareImageBase64 = {
   message: "Hello"
    urls,
    social: Share.Social.WHATSAPP
  };

  Share.open(shareImageBase64);

For each of the image urls, the message gets appended.
I would like to send multiple images with the message appearing just once.

Any Solution for this?

Which version of React Native and React Native Share are you facing this?

I dont think if this is possible, since it relies on how WhatsApp handle the sharing actions. But, i recommend giving a look at WhatsApp docs, etc. If you find anything that can help you with that, please let us know. :smile:

Did you find any solution?

@Pankti16 unfortunately i dont find anything that can help with that, since this looks related to WhatsApp handling share. 😢
Do you know if there is any application that can handle sharing multiple images with different message to whatsapp?

No, I don't know about any such application, But if its react-native you
can try sending all images in one share call and then make another share
call in its response, to send a message. It is happening in Mesho
application.

Hi guys sorry for the late reply, I am using  "react-native": "^0.59.10", How to make another share call in response means? without opening the WhatsApp again. Can we? , without asking the user to click again the WhatsApp icon?

I am using react-native-share <= 1.2.1:

No, the user will have to click the WhatsApp icon again.


Move the npm release to happen when tagging the repository.

Closing this in favor of https://github.com/blinkk/amagaki/issues/78 which uses release-please


[tool_crash] ProcessException: The command failedStdout:Stderr:unzip:  cannot find or open

Command
flutter --no-color --no-version-check precache

Steps to Reproduce

...
...
...

Logs
ProcessException: The command failed
Stdout:
Stderr:
unzip:  cannot find or open /Users/macbook/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/ae90085a8437c0ae94d6b5ad2741739ebc742cb4/flutter_patched_sdk.zip, /Users/macbook/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/ae90085a8437c0ae94d6b5ad2741739ebc742cb4/flutter_patched_sdk.zip.zip or /Users/macbook/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/ae90085a8437c0ae94d6b5ad2741739ebc742cb4/flutter_patched_sdk.zip.ZIP.
Command: unzip, OS error code: 9
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:172:5)
#1      _DefaultProcessUtils.runSync (package:flutter_tools/src/base/process.dart:463:17)
#2      _PosixUtils.unzip (package:flutter_tools/src/base/os.dart:231:19)
#3      ArtifactUpdater._downloadArchive (package:flutter_tools/src/cache.dart:1512:18)
#4      _rootRunUnary (dart:async/zone.dart:1198:47)
#5      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#6      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#8      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#9      Future._completeWithValue (dart:async/future_impl.dart:529:5)
#10     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
#11     _rootRun (dart:async/zone.dart:1190:13)
#12     _CustomZone.run (dart:async/zone.dart:1093:19)
#13     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#14     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
#15     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#17     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#18     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.3 19D76 darwin-x64, locale en-US)
    • Flutter version 1.22.5 at /Users/macbook/development/flutter
    • Framework revision<PHONE_NUMBER> (12 days ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/macbook/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.8.4

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[!] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)
    • iPhone (mobile) • 7d6fa9da12dcadcda816aed04c46036c40c8b968 • ios • iOS 12.4.9

! Doctor found issues in 2 categories.

Flutter Application Metadata
No pubspec in working directory.

@abuzarsaddiqui
Can you switch to latest dev version and try again to see if it works ?
This was fixed and landed in dev but not sure if reached stable. https://github.com/flutter/flutter/issues/52437#issuecomment-692962924

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Cloud Run issues logging to Stackdriver

I am now able to run Cloudprober on Cloud Run. However, I occasionally run into an issue when writing to Stackdriver.
When the instance first starts up, I get "Error getting instance name on GCE, using HOSTNAME environment variable: metadata: GCE metadata "instance/name" not defined"
Later, upon every logging instance, I get Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: Points must be written in order. One or more of the points specified had an older start time than the most recent point.: gce_instance{zone:us-east1-1,instance_id:} timeSeries[0-13]: custom.googleapis.com/cloudprober/sysvars/sysvars/instance{val:}
I get the first error every time, but I get the second error 75% of the time. On the instances that do have that error, nothing is logged in Stackdriver.
Let me know if there's any other information I should provide!

I think the first error is okay; we can convert it to a warning if that helps.
Regarding the second issue.. timeseries not being in order,  I am wondering if you are running multiple instances and not having instance id in the timeseries call is mixing up the timeseries in stackdriver (i.e. stackdriver doesn't have a way to different timeseries from one instance from another).

For the first error, it's already surfacing as a warning, so not a big deal. I was just adding some context if it was needed.
I just verified that I am not running multiple instances at once. Here was my process:

I had an instance running, but it was failing to log to Stackdriver with the above error.
I stopped that instance.
I started a new instance.
This new instance ran as desired. No issues. Logging to Stackdriver with no issues.
I stopped the new instance.
I waited five minutes and started a new instance.
This new instance is failing to log to Stackdriver with the above error.

Thanks for the additional context @michaelsatanovsky!
So one thing is clear from the logs that instance_id is empty on these timeseries entries. That's not a good thing. We should fix that. Also, possibly, we need a different resource type for cloud run instances: https://github.com/cloudprober/cloudprober/blob/a1079cc9570e18bd709755841ab71b9b339ba568/surfacers/stackdriver/resource.go#L66
I'll try to find if there is a specific type for CloudRun.

Great, thanks Manu! Let me know if there's anything I can do to help.

I've just now submitted an improvement (#258) and built a docker image with it. Can you please give it another try (with docker image tag - 'master') whenever you get a chance?

Seems like I'm still getting the same issue.
Another piece of information which may be pertinent is that my probes seem to always be the same (see the attached image). I feel like the numbers (22 and 14) should change with every probe.

Actually that 22 and 14 will not change. That's the count of timeseries in the cache. Every export cycle, that count will be same.
Can you share the full error log line again. I'd like to see the error message from Stackdriver (looking for the fields like type and job name).

Another thing we can try is to add the following config to the surfacer:
https://github.com/cloudprober/cloudprober/blob/master/surfacers/proto/config.proto#L63-L66
surfacer {
  type: STACKDRIVER
   ...
  ignore_metrics_with_label {
     key: "probe",
     value: "sysvars",
   }
}

I will try to add that config.
Here's the full error log:
Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: Points must be written in order. One or more of the points specified had an older start time than the most recent point.: gce_instance{instance_id:,zone:us-east1-1} timeSeries[0-21]: custom.googleapis.com/cloudprober/sysvars/sysvars/start_timestamp{val:1675268190}
Details:
[
  {
    "@type": "type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary",
    "errors": [
      {
        "pointCount": 12,
        "status": {
          "code": 3
        }
      }
    ],
    "successPointCount": 10,
    "totalPointCount": 22
  }
]
, badRequest

@michaelsatanovsky it looks like the old docker image. Maybe Cloud Run has not refreshed the image because tag was not changing? For example, k8s re-pulls image by default only if it has tag "latest".
Can you try the image with the "main" tag? Both "master" and "main" point to the same image. Also, if there is a way to force Cloud Run to re-download image.

Hmm, I manually pulled "master" using docker. Will try again though.

Try with the "main" tag. You can print the detailed cloudprober version like this, to verify:
09:25:48 ~/lft/otter/monitoring/cloudprober(k8s:ops-cluster)(git:cloudprober)$ docker run cloudprober/cloudprober:master --version
v0.12.2-7-g8230eb9
09:26:26 ~/lft/otter/monitoring/cloudprober(k8s:ops-cluster)(git:cloudprober)$ docker run cloudprober/cloudprober:main --version

Unable to find image 'cloudprober/cloudprober:main' locally
main: Pulling from cloudprober/cloudprober
a9eaa45ef418: Already exists
091c1d447e97: Pull complete
593addd4c70a: Pull complete
Digest: sha256:f38397d0598dc370c77dc43241e21da360e3ea65449e08d8f4393328ea01f529
Status: Downloaded newer image for cloudprober/cloudprober:main
v0.12.2-29-g2eda9f5

I think both .. new image and the config stanza above should provide useful clue.

The version I get for both "main" and "master" is: v0.12.2-29-g2eda9f5. Still getting the same results when running on Cloud Run:
Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: Points must be written in order. One or more of the points specified had an older start time than the most recent point.: gce_instance{zone:us-east1-1,instance_id:} timeSeries[0-7]: custom.googleapis.com/cloudprober/http/kms-encrypt/total{dst:cloudkms.googleapis.com}
Details:
[
  {
    "@type": "type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary",
    "errors": [
      {
        "pointCount": 7,
        "status": {
          "code": 3
        }
      }
    ],
    "successPointCount": 1,
    "totalPointCount": 8
  }
]
, badRequest

Thanks for trying it again. What's weird is that it's not using the new monitored resource I added. It's still showing the timeseries with gce_instance resource type. It shows that Cloud Run is not keeping the contract of setting the CLOUD_RUN_JOB environment variable (that's what we use to determine if we should use cloud run specific monitored resource - see here), or something else is missing.
Can you please share a few more things:

How are you running Cloudprober on Cloud Run? As a Cloud Run job or as a service? Maybe I am looking for the wrong variable.

Cloudprober showed its version on its status page (port 9313). It looks like the following screenshot:

Any chance you can access that for a Cloud Run job?

I've been running as a Cloud Run service. Perhaps I should have clarified that earlier.
This is the message I get on startup, hopefully what you are looking for:

1675279135 labels=ptype=sysvars,probe=sysvars hostname="localhost" instance="" instance_id="00f8b6bdb896879fd4790ca59b2a79afc7423070529f1035fb9e4edc0c2b983f1a3682c0e085c98f14d9fdeabb63fa72bc47487e62b35a0f100eb06350cb2ff651" project="steam-way-362719" project_id="448213234141" start_timestamp="1675279135" version="v0.12.2-29-g2eda9f5"

@michaelsatanovsky I've submitted one more change that should look for Cloud Run services as well. Whenever you get a chance can you please try the "main" image again. New cloudprober version should be: v0.12.2-30-ge7748ef.

Getting a different warning now (and still not getting metrics in Stackdriver):
Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.; Metrics cannot be written to cloud_run_job. See https://cloud.google.com/monitoring/custom-metrics/creating-metrics#which-resource for a list of writable resource types.
Details:
[
  {
    "@type": "type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary",
    "errors": [
      {
        "pointCount": 8,
        "status": {
          "code": 3
        }
      }
    ],
    "totalPointCount": 8
  }
]
, badRequest

Okay, this is a more useful error message. As per the URL in the error message, metrics cannot be written for cloud run jobs or services:

For Cloud Run custom metrics, we'll have to use generic_task resource type. I'll make that change.

Ah, but it was working before because it was labelled as a gce_instance. Interesting.

yeah, it was not complaining about that, but at that the same time, it was not the right setup (we were sending empty instance id).
I've submitted the fix. Whenever you get a chance, give it another try. It should at least try to submit metrics as generic_task.

Looks like it is almost working.
Now the error is same format as above but the important part is:
Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: The set of resource labels is incomplete. Missing labels: (namespace task_id).

Okay, so it wants all the labels to be set as well. I've just made that change. Let's give it another try :) Fingers crossed!

I was hopeful, but it seems like we're back to this:
Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: Points must be written in order. One or more of the points specified had an older start time than the most recent point.: generic_task{namespace:cloudprober,job:cp-test,location:us-east1,task_id:cp-test-00001-bep} timeSeries[0-7]: custom.googleapis.com/cloudprober/http/kms-encrypt/total{dst:cloudkms.googleapis.com}
Details:
[
  {
    "@type": "type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary",
    "errors": [
      {
        "pointCount": 7,
        "status": {
          "code": 3
        }
      }
    ],
    "successPointCount": 1,
    "totalPointCount": 8
  }
]
, badRequest

I kind of feared that. If it's okay, can you please share your cloudprober config (after redacting any confidential stuff of course).

So I signed for the Cloud Run trial and tried to replicate the whole thing. I was able to write to stackdriver without any errors.
Computed failure ratio:

I wonder if something else is going on in this project. Looking at the config will help too.

In fact, I tried running it twice to see if error shows up only if you restart. No error this time too (you can see on revision ending, another starting):

Here's my config file:
probe {
  name: "kms-encrypt"
  type: HTTP
  targets {
    host_names: "cloudkms.googleapis.com"
  }
  http_probe {
    relative_url: "XXXXXXXXX"
    protocol: HTTPS
    method: POST
    headers {
      name: "content-type"
      value: "application/json"
    }
    body: "{\"plaintext\": \"VGVzdAo=\"}"  # echo "Test" | base64
    oauth_config {
      google_credentials {
      }
    }
  }
  interval_msec: 30000
  timeout_msec: 1000
  validator {
    name: "status_code_200"
    http_validator {
      success_status_codes: "200"
    }
  }
  # Values for unit, name, and distributions are consistent with the EKM
  # latencies metric. Keep these the same as the decrypt() probe (below).
  latency_unit: "ms"
  latency_metric_name: "latencies"
  latency_distribution: {
    exponential_buckets: {
      scale_factor: 1.0
      base: 1.4
      num_buckets: 35
    }
  }
}
probe {
  name: "kms-decrypt"
  type: HTTP
  targets {
    host_names: "cloudkms.googleapis.com"
  }
  http_probe {
    relative_url: "XXXXXXXXXXX"
    protocol: HTTPS
    method: POST
    headers {
      name: "content-type"
      value: "application/json"
    }
    body: "{\"ciphertext\": XXXXXXXXXX}"
    oauth_config {
      google_credentials {
      }
    }
  }
  interval_msec: 30000
  timeout_msec: 1000
  validator {
    name: "plaintext"
    regex: "XXXXXXX"
  }
  # Keep this the same as the encrypt() probe (above).
  latency_unit: "ms"
  latency_metric_name: "latencies"
  latency_distribution: {
    exponential_buckets: {
      scale_factor: 1.0
      base: 1.4
      num_buckets: 35
    }
  }
}

# server {
#   type: HTTP
#   http_server {
#     port: 8080
#     pattern_data_handler {
#       response_size: 2
#       pattern: "ok"
#     }
#     pattern_data_handler {
#       response_size: 3
#       pattern: "200"
#     }
#   }
# }

# server {
#   type: HTTP
#   http_server {
#     port: 10402
#     pattern_data_handler {
#       response_size: 2
#       pattern: "ok"
#     }
#     pattern_data_handler {
#       response_size: 3
#       pattern: "200"
#     }
#   }
# }

surfacer {
  type: STACKDRIVER
  ignore_metrics_with_label {
     key: "probe",
     value: "sysvars",
   }
}

Thanks for the config @michaelsatanovsky! I tried my config with validators and distributors..I was unable to reproduce the issue.

Also, I checked in the logs as well, there are no errors while sending the metrics to stackdriver:
..
2023-02-02 08:28:07.310 PST
Sending entries 0 through 6 of 6

{
  insertId: "1nntkfafcdzmph"
  logName: "projects/lasdada/logs/cloudprober.stackdriver"
  receiveTimestamp: "2023-02-02T16:28:09.228129291Z"
  resource: {2}
  severity: "INFO"
  textPayload: "Sending entries 0 through 6 of 6"
  timestamp: "2023-02-02T16:28:07.310223057Z"
}

I am not sure what's going on in your project to cause the rejections :(

I've been looking into it some more. I separated the two probes I have into their own Cloud Run instances, and the kms-encrypt probe seems to work fine, while the kms-decrypt probe is unable to log.
When I run the encrypt instance first followed by decrypt, encrypt logs but decrypt does not.
When I run decrypt first followed by encrypt, neither logs.
Unsure what this means, but still looking into it.

While you're playing with it, you can also try changing the names of the probes, or the monitoring URL:
https://github.com/cloudprober/cloudprober/blob/d1b4071e8cc59764b087b56498552ae67287867e/surfacers/stackdriver/proto/config.proto#L27
surfacer {
  ...
  stackdriver_surfacer {
    monitoring_url: custom.googleapis.com/cloudprober2/
  }
}

To see if it produces different results.

Using a different monitoring URL tentatively seems to be working. Is it possible to use two different monitoring URLs in one Cloudprober instance? E.g., if I put my two probes back into one instance, can they log using different URLs?

I'm sorry, do they have TimeSeries error even if you run them in different services with different monitoring URL? I am assuming you already tried changing the probe name? I am curious about that because somehow it sounds like there is something else running in your project, that's also exporting metrics to stackdriver, and that's interfering with the whole thing (though using different monitoring URL should disambiguate the whole thing).
I wonder if we've encountered some bug in stackdriver with respect to label naming and stuff. Can you also try replacing "-" in probe name by "_"?

If you see this: https://cloud.google.com/monitoring/api/v3/naming-conventions, stackdriver seems to encourage using "_".

Yep, confirmed. I changed my probe name to contain "-" instead of "_", and I could reproduce the error:

Unable to fulfill TimeSeries Create call. Err: googleapi: Error 400: One or more TimeSeries could not be written: Points must be written in order. One or more of the points specified had an older start time than the most recent point.: generic_task{job:cloudprober,task_id:cloudprober-00001-teh,location:us-central1,namespace:cloudprober} timeSeries[0-7]: custom.googleapis.com/cloudprober/http/http-aws/resp-code{code:200,dst:aws.amazon.com} Details: [ { "@type": "type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary", "errors": [ { "pointCount": 8, "status": { "code": 3 } } ], "totalPointCount": 8 } ] , badRequest

@michaelsatanovsky Please change the probe names to replace "-" by "_" and run the whole thing again.

I think my diagnosis was wrong. It has nothing to do with the metric or label name. Cloud Run does some weird things, at least in the short run. It leaves containers from previous instance running / somehow restart container one more time for whatever reason. I noticed this:

I started the service after a long gap, and the errors came write away, but it turned out there was another instance of Cloudprober running at that time.
One returning the stackdriver errors, and the one that got terminated by Cloudprober had the same task_id:
task_id:cloudprober-00001-huy (based on stackdriver log labels).. and the same task_id continued.
Thing is Cloud Run seems to start multiple instances.. maybe in response to status page access or something else and every time task_id is same:

In fact, it just keeps doing it. .. i.e. it keeps restarting the container, while keeping the task_id same.
This is the real cause of errors.

I think it all stabilizes at some point, if I leave the service running long enough. Given all this I am not sure if Cloud Run is right platform for Cloudprober, but if you want we can use a random id as task id to separate out our metrics.

I went ahead and implemented the random task-id (see #267), and here you can see multiple cloudprober containers running in parallel:

I think #267 should fix the problem.

Seems like it is working. Thanks so much for your continued effort!

Cool. No problem!
I'll mark this closed for now and will cut a new release soon.


Fix homekit basic tv test assert when there are no messages

Description:
Not sure if this is the best fix, but as it stands all my builds at Travis fail with:
=================================== FAILURES ===================================
__________________ test_media_player_television_basic[pyloop] __________________
hass = <homeassistant.core.HomeAssistant object at 0x7fa2d5c8e5c0>
hk_driver = <pyhap.accessory_driver.AccessoryDriver object at 0x7fa2d62fb5f8>
events = []
caplog = <_pytest.logging.LogCaptureFixture object at 0x7fa2d5c8ab70>
    async def test_media_player_television_basic(hass, hk_driver, events, caplog):
        """Test if basic television accessory and HA are updated accordingly."""
        entity_id = 'media_player.television'

        # Supports turn_on', 'turn_off'
        hass.states.async_set(entity_id, None, {
            ATTR_DEVICE_CLASS: DEVICE_CLASS_TV, ATTR_SUPPORTED_FEATURES: 384})
        await hass.async_block_till_done()
        acc = TelevisionMediaPlayer(hass, hk_driver, 'MediaPlayer', entity_id, 2,
                                    None)
        await hass.async_add_job(acc.run)

        assert acc.chars_tv == []
        assert acc.chars_speaker == []
        assert acc.support_select_source is False

        hass.states.async_set(entity_id, STATE_ON, {ATTR_MEDIA_VOLUME_MUTED: True})
        await hass.async_block_till_done()
        assert acc.char_active.value == 1

        hass.states.async_set(entity_id, STATE_OFF)
        await hass.async_block_till_done()
        assert acc.char_active.value == 0

        hass.states.async_set(entity_id, STATE_ON, {ATTR_INPUT_SOURCE: 'HDMI 3'})
        await hass.async_block_till_done()
        assert acc.char_active.value == 1

>       assert 'Error' not in caplog.messages[-1]
E       IndexError: list index out of range
tests/components/homekit/test_type_media_players.py:314: IndexError

Checklist:

[ ] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[ ] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

FYI @adrum @cdce8p

@scop A bit strange. The local tests all passed and even ci ones don't seem to be effected.
I'll take a closer look at it later today.

Here's one of those failures -- it has just a huawei-lte-api version upgrade and no other changes: https://travis-ci.org/scop/home-assistant/jobs/531818059

So I tested it locally again and reproduced the tox error. Interestingly enough
tox -e py36 -- tests/components/homekit/

and
pytest tests/components/homekit/

run without any problems. That would suggest that something else is causing this issue.
However your fix seems to be an appropriate solution. I'll go ahead an merge it.


Fix #3

Fixed the issue we had with Llama.libraryPath, its now working great in maid.
I also added some logic with a completer to prevent race conditions for when _modelSendport is uninitialized and either prompt, stop or unloadModel is called.

@danemadsen amazing work, thank you for resolving it.


Documentation

What

Create full docs for each supported resource & data source

Why

Easier consumption of the tool when there is proper documentation for engineers to consume

References

Jfrog docs are pretty good should aim to look similar

#79, #87 and #97 include the required documentation. We can consider this issue resolved.


BULK VALIDATION missing title and missing description

Docs Build status updates of commit a702a33:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/Trusted-Application-API/docs/TenantAdminConsent.md
:warning:Warning

Details

Skype/WebSDK/lib/webcomponentsjs/CONTRIBUTING.md
:warning:Warning

Details

Skype/WebSDK/docs/AddRemoveConversationVideo.md
:bulb:Suggestion

Details

Skype/WebSDK/docs/JoinVideoMeetingDisplayVideo.md
:bulb:Suggestion

Details

Skype/UCWA/Cross_domainIFRAME.md
:white_check_mark:Succeeded

Skype/UCWA/OnlineMeetingExtensionType_ref.md
:white_check_mark:Succeeded

Skype/UCWA/Role_ref.md
:white_check_mark:Succeeded

Skype/UCWA/nextConversationLogTranscripts_ref.md
:white_check_mark:Succeeded

Skype/UCWA/onlineMeetingPolicies_ref.md
:white_check_mark:Succeeded

Skype/UCWA/participantMessaging_ref.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/Conversations.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/GeneralReference.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/JoinMeeting.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTGroupsAddContact.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTGroupsAll.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTHistoryConversation.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTMeetingsAnonJoinOnline.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTUIControls.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/UCWeb_16Con.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/troubleshooting/gatheringLogs/GatherLogs.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/docs/TenantAdminConsent.md

Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 4, Column 1: [Warning: yaml-header-syntax-error] While parsing a block mapping, did not find expected key.
Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

Skype/WebSDK/lib/webcomponentsjs/CONTRIBUTING.md

Line 67, Column 1: [Warning: sensitive-language-ma - See documentation] Term 'checkout master' is sensitive and should not be used in content or code. Usage: '    git checkout master'

Skype/WebSDK/docs/AddRemoveConversationVideo.md

Line 3, Column 14: [Suggestion: duplicate-descriptions - See documentation] Attribute 'description' with value 'With an existing conversation instance, video can be added or removed.' is duplicated in 'WebSDK/docs/AddRemoveConversationVideo.md(3,14)', 'WebSDK/docs/JoinVideoMeetingDisplayVideo.md(3,14)'.

Skype/WebSDK/docs/JoinVideoMeetingDisplayVideo.md

Line 3, Column 14: [Suggestion: duplicate-descriptions - See documentation] Attribute 'description' with value 'With an existing conversation instance, video can be added or removed.' is duplicated in 'WebSDK/docs/AddRemoveConversationVideo.md(3,14)', 'WebSDK/docs/JoinVideoMeetingDisplayVideo.md(3,14)'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Global effort to fix build validation errors
@lindalu-MSFT NOTE: The validation warnings and suggestions in this PR will be fixed by another author in another PR.
The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. Please review within five business days and merge or comment in the PR with any changes you’d like to see. Thank you!

Docs Build status updates of commit 73399c8:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/Trusted-Application-API/docs/TenantAdminConsent.md
:warning:Warning

Details

Skype/WebSDK/lib/webcomponentsjs/CONTRIBUTING.md
:warning:Warning

Details

Skype/WebSDK/docs/AddRemoveConversationVideo.md
:bulb:Suggestion

Details

Skype/WebSDK/docs/JoinVideoMeetingDisplayVideo.md
:bulb:Suggestion

Details

Skype/UCWA/Cross_domainIFRAME.md
:white_check_mark:Succeeded

Skype/UCWA/OnlineMeetingExtensionType_ref.md
:white_check_mark:Succeeded

Skype/UCWA/Role_ref.md
:white_check_mark:Succeeded

Skype/UCWA/nextConversationLogTranscripts_ref.md
:white_check_mark:Succeeded

Skype/UCWA/onlineMeetingPolicies_ref.md
:white_check_mark:Succeeded

Skype/UCWA/participantMessaging_ref.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/Conversations.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/GeneralReference.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/JoinMeeting.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTGroupsAddContact.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTGroupsAll.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTHistoryConversation.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTMeetingsAnonJoinOnline.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/PTUIControls.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/UCWeb_16Con.md
:white_check_mark:Succeeded

Skype/WebSDK/docs/troubleshooting/gatheringLogs/GatherLogs.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/docs/TenantAdminConsent.md

Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 4, Column 1: [Warning: yaml-header-syntax-error] While parsing a block mapping, did not find expected key.
Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

Skype/WebSDK/lib/webcomponentsjs/CONTRIBUTING.md

Line 67, Column 1: [Warning: sensitive-language-ma - See documentation] Term 'checkout master' is sensitive and should not be used in content or code. Usage: '    git checkout master'

Skype/WebSDK/docs/AddRemoveConversationVideo.md

Line 3, Column 14: [Suggestion: duplicate-descriptions - See documentation] Attribute 'description' with value 'With an existing conversation instance, video can be added or removed.' is duplicated in 'WebSDK/docs/AddRemoveConversationVideo.md(3,14)', 'WebSDK/docs/JoinVideoMeetingDisplayVideo.md(3,14)'.

Skype/WebSDK/docs/JoinVideoMeetingDisplayVideo.md

Line 3, Column 14: [Suggestion: duplicate-descriptions - See documentation] Attribute 'description' with value 'With an existing conversation instance, video can be added or removed.' is duplicated in 'WebSDK/docs/AddRemoveConversationVideo.md(3,14)', 'WebSDK/docs/JoinVideoMeetingDisplayVideo.md(3,14)'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Python api request

This a fantastic new tool for embedding in edge devices.  Many analytical tools these days support access from different languages.  While Java was an obvious and logical first step I would very much like to see support added for python as well.

+1
Great idea!


Add desdic/greyjoy.nvim

Checklist:

[check ] The plugin is specifically built for Neovim.
[check] The lines end with a .. This is to conform to awesome-list linting and requirements.
[checked] It's not already on the list.
[check] The title of the pull request is Add `username/repo`  when adding a new plugin.

Thanks for the PR!


Restore view after swiped?

How do i bring back the view after swiping it?

@ceddyb you have methods to maximize the view. You should configure any view listener and invoke the maximize method when needed. I hope, this is the answer to your question.


All K8s version tests broken in postsubmit

https://prow.istio.io/view/gs/istio-prow/logs/integ-k8s-116_istio_postsubmit/4001
https://prow.istio.io/view/gs/istio-prow/logs/integ-k8s-115_istio_postsubmit/2132
https://prow.istio.io/view/gs/istio-prow/logs/integ-k8s-116_istio_postsubmit/3998
cc @ostromart @richardwxn

likely passes in presubmit but not postsubmit since we run all the jobs together; the operator test probably is colliding with others

also broken in 1.8 by https://github.com/istio/istio/pull/28300 cc @istio/release-managers-1-8

the test was fixed by https://github.com/istio/istio/pull/28335 , but broken again by a recent commit: https://github.com/istio/istio/pull/28385. Reassign it to @nrjpoddar

It's fixed now after updating the CI docker builder images. Un-assigning myself.

I think this is fixed.


Fixed missing translations in Pypi

Coverage remained the same at 47.329% when pulling 72b0a2012cfc1bd8b86425dc7579a6a99a89ace3 on master into 286f3e8ccca9a704c6f488cdd9cdae6ffeee88db on release.

Coverage remained the same at 47.329% when pulling 72b0a2012cfc1bd8b86425dc7579a6a99a89ace3 on master into 286f3e8ccca9a704c6f488cdd9cdae6ffeee88db on release.


An unexpected error occurred. Installation could not continue. [✘] SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = macauliffe and table_name = migrations)

An unexpected error occurred. Installation could not continue.
[✘] SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = macauliffe and table_name = migrations)
This issue happens when I run the command php artisan canvas:install

I fixed it I had broken my database
Reuben Jones
07544350827 | 102 Thirlmere Gardens |<EMAIL_ADDRESS>On 12 Sep 2017, 16:59 +0100, Todd Austin<EMAIL_ADDRESS>wrote:

Thanks for checking out Canvas @Reuben-jones. I'll try to take a look at this today and see what I can find out. 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Remove otPlatFlash API's and move settings from core to examples.

The otPlatFlash is only needed by the internal otPlatSettings implementations. The otPlatSettings implementation does not belong in core OpenThread source as it is platform specific.  As such, this implementation has been moved to examples and the underpinning flash API's have been moved there as well and have been given a new prefix "utils" in place of "otPlatFlash".
This allows customers to more accurately identify the otPlat API's which they must implement to support OpenThread and to still have access to a implementation of the otPlatSettings API's which is deemed non-trivial.

Honestly, I wasn't sure regarding the proper choice here.  As it is no longer part of the core, it seemed inappropriate to have unit tests for it.  If there is strong demand to keep the unit tests for what is now example code, I would not have a problem with that.

I don't care too much, I just hate to see test code go to waste.

I agree that OpenThread core should not include an implementation of otPlatSettings*() APIs.  However, the value of test_settings.cpp is that it tests the otPlatSettings*() APIs, which may be useful for testing platform-specific implementations of the API.  I think tests for otPlat*() APIs would be helpful tools to include with OpenThread.  Thoughts?

Current coverage is 73.65% (diff: 70.37%)

Merging #889 into master will decrease coverage by 0.22%

@@             master       #889   diff @@
==========================================
  Files           113        113
  Lines         16717      16716     -1
  Methods        2311       2311
  Messages          0          0
  Branches       2019       2019
==========================================
- Hits          12351      12313    -38
- Misses         3687       3727    +40
+ Partials        679        676     -3

Powered by Codecov. Last update fbbd26d...3d4bf7a

The build problem is a long-standing problem with subdir-objects. I've got a work-around in 4fee2a3dda8474f95546e.

Why was this workaround not necessary for the cc2538 example makefile?
On Thu, Oct 27, 2016 at 4:05 PM, Robert Quattlebaum <
<EMAIL_ADDRESS>wrote:

The build problem is a long-standing problem with subdir-objects. I've
got a work-around in 4fee2a3
https://github.com/openthread/openthread/commit/4fee2a3dda8474f95546eff0dd49f525d384d00a
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openthread/openthread/pull/889#issuecomment-256794725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG0oTzQKtkHluYdBRbkHrTqsyyZQ5vrmks5q4S5JgaJpZM4Khq92
.

It likely is necessary. I just didn't add it because I couldn't immediately test it. Feel free to apply that work-around to it as well.
The work-around is only necessary when building in a directory that isn't the same directory of the sources, so that is why the CC2538 build doesn't fail.

I'll fix the windows build issues in a separate PR.


what's up with 404 Google+ accounts?

e.g.
https://gratipay.com/gabecq/ =>
https://plus.google.com/114095307417238376097 <- 404

https://gratipay.com/a.bonaccorsy/

https://gratipay.com/a.bonaccorsy/

https://gratipay.com/stony02/

https://gratipay.com/catcow33/

https://gratipay.com/Paul Boddie/

Have we actually identified the problem here?

@benhc123 I haven't. What do you need in order to work on this?


Reporting waits until leader is elected before starting

Right now reporting polls the metastore waiting for a leader before reporting. This needs a proper fix.

cc @benbjohnson

https://github.com/influxdb/influxdb/pull/2904 is where the change went in.

Cleaned up by https://github.com/influxdb/influxdb/pull/2931


document job.removeOnComplete( true )

@wachunga removeOnComplete only removes completed successful jobs for me.  Failed jobs remain in the queue to be investigated later.  Perhaps you have something else removing your failed jobs, your jobs are not failing, or they are being re-tried and then completed?

@bradisbell You're right: it only removes successful jobs. Apologies for the mistake. So the method name is perfect :)
I suppose removeOnFailed could still be useful for some use cases, but it's not something I currently care about.

Is there a way to use 'removeOnComplete' when POSTing a new job via HTTP?

@bradvogel Simply specify removeOnComplete in the options:
{
  "type": "someJobType",
  "data": {
    "somethig": "something"
  },
  "options": {
    "attempts": 4,
    "removeOnComplete": true
  }
}

Oh, thanks!


Ability to capture Output from selectors in the report

It'd be nice to be able to get the values of the selectors inside the report for later parsing.
e.g.:
- name: "for"
  captureOutput: true
  element:
    selector: //h1/text()

And then see it in the report:
"for": {
    "screenshot": "",
    "errored": false,
    "message": "found element: //h1/text()",
    "output": ["500"]
},

This would allow me to use this project instead of dom-curl and remove Node JS from this: https://github.com/ElvenSpellmaker/PaypalFundraiserSlackNotifier

closed as implemented in v0.2.x


Update Auth to include previousReportActionID in reportActions

Part of the Comment Linking project
Main issue: https://github.com/Expensify/App/issues/20282
Doc section: https://docs.google.com/document/d/1v-ZaIRTZL5LIsyPWB0IopBNNgCajf5WC1OA8cVKtd8I/edit#bookmark=id.byjchsk1pmv7
Project: https://github.com/orgs/Expensify/projects/62/views/1

We need to update the following Auth commands to include previousReportActionID on all reportActions:

OpenReport
Get::reportActionsListByActionIDs

However, it's important that at this stage this field is not included on reportActions in Onyx.
Manual Test Steps
Make these calls and verify via PHP logs that the previousReportActionID is included on all reportActions fetched (including the oldest one fetched at a time).
Automated Tests
Update existing Auth tests:

OpenReportTest
GetTest

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01dcfa55033b96234f
Upwork Job ID:<PHONE_NUMBER>919005696
Last Price Increase: 2023-07-19

This will be back-end only, so removing @rushatgabhane

Started a draft PR: https://github.com/Expensify/Auth/pull/8345. Probably need to move some of the logic from C++ to SQL

I'm actively working on this

Making kind of slow progress here, just debugging the Get test and trying to figure out whyyy it's not giving me what I want 😠
This is definitely one of my top priorities and I'm hoping that I can get it done before going Wednesday-Friday this week

Actively working on the PR

I know it's perhaps seemed like there's been slow progress here, but it's not for lack of trying. I've actually spent a lot of time trying to get this working. I've made a lot of progress and should be close to having the PR ready for review

At long last the PR is ready for review, it was a doozy: https://github.com/Expensify/Auth/pull/8345

Requesting a query timing. Going to use what is probably my longest chat in NewDot as the reportID.
SELECT r.created,
       r.action,
       r.message,
       a.email,
       a.accountID,
       r.reportActionID,
       rNVP.reportID AS childReportID,
       LAG(r.reportActionID, 1, (
         SELECT reportActionID
         FROM reportActions
         WHERE reportID = 65129373
           AND r.created < '2023-07-01 00:00:00.000'
         LIMIT 1
       )) OVER (
         ORDER BY
           CASE WHEN r.action = 'CREATED' THEN 1 ELSE 2 END,
           r.created ASC,
           r.reportActionID ASC
       ) AS previousReportActionID
FROM reportActions r
INNER JOIN accounts a ON r.accountID = a.accountID
LEFT JOIN reportNameValuePairs rNVP
  ON rNVP.name = 'parentReportActionID'
  AND rNVP.value = CAST(r.reportActionID AS TEXT)
WHERE r.reportID = 65129373
  AND r.created > '2023-07-01 00:00:00.000'
  AND (
    CASE
      WHEN (JSON_VALID(r.message) AND JSON_TYPE(r.message, '$.whisperedTo') = 'array')
      THEN (
        EXISTS (SELECT 1 FROM JSON_EACH(JSON_EXTRACT(r.message, '$.whisperedTo')) WHERE value = 8931541)
        OR r.accountID = 8931541
      )
      ELSE 1
    END
  )
  AND r.action IN ('ADDCOMMENT')
ORDER BY
  CASE WHEN action = 'CREATED' THEN 1 ELSE 2 END,
  created ASC,
  reportActionID ASC
LIMIT 50;

Got the PR finalized and the query timed + optimized on Friday. Now just awaiting review

@chiragsalian approved but left some notes. Going to work on those changes and hopefully get this merged real soon. Was focused on deploy fires the last couple days

PR updated and ready for re-review

It's not overdue. I hope Chirag will have time to review it.

This is done


Module not found: Error: Can't resolve 'fs' error in React Application

Hello,
I'm currently working on one project regarding implementing OpenCV, and I saw this library. I have installed it via NPM, but I'm getting the following errors when I import the library:
Compiled with problems:

ERROR in<EMAIL_ADDRESS>77:34-47

Module not found: Error: Can't resolve 'fs' in

ERROR in<EMAIL_ADDRESS>78:38-53

Module not found: Error: Can't resolve 'path' in

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
	- install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "path": false }

Could you please let me know how can I solve this issue? I have created webpack.config.js file which looks like this:
const webpack = require("webpack");
const path = require("path");

module.exports = {
  mode: "development",
  entry: path.resolve(__dirname, "./src/index.js"),
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ["babel-loader"],
      },
    ],
  },
  resolve: {
    extensions: ["*", ".js", ".jsx"],
    fallback: {
      fs: false,
      path: false,
      crypto: false,
    },
    modules: ["app", "node_modules"],
    extensions: [".js", ".jsx", ".react.js"],
    mainFields: ["browser", "jsnext:main", "main"],
  },
  output: {
    path: path.resolve(__dirname, "./dist"),
    filename: "bundle.js",
  },
  devServer: {
    static: path.resolve(__dirname, "./dist"),
  },
};

But, it does not work. Do I need to have another commands to push the code to run?

I have tried it, but it gives Module not found: Error: Can't resolve 'pages/notFound' when I use with webpack. What rule should I add in that case? I cannot add ./pages/notFound.jsx because I have bunch of these pages.

I don't have your source code. I'm not clear what's the issue, but the above error doesn't seem to be related to opencv.js

any solution for the above one?

Here is a working example https://github.com/TechStark/opencv-js-examples/tree/develop/opencv-js-webpack-example

@ttt43ttt Thanks for taking a look, I have posted my question here, am facing 'fs' issue
https://stackoverflow.com/questions/73435275/unable-to-use-opencv-js-in-react-native

I also experienced this fs module not found error. I think this is related to this https://github.com/facebook/create-react-app/issues/11756
The way I solved it is by switching to react-app-rewired
Step by step instruction https://stackoverflow.com/a/73661388/1862452


Release prep 2.0.dev1

Changelog and bump version.

@dokterbob suggestion: can some notes be added for the new cl.Dataframe() feature from #1373 ?

@dokterbob suggestion: can some notes be added for the new cl.Dataframe() feature from #1373 ?

Yeah we'll mention them in the release notes, the release announcement and will add them to the docs. We're not adding them to 1.3.0 though, it'll only be released as part of 2.0 or possibly 1.4.0. 1.3.0 is only fixups for 1.3.0rc0.


suggestion: window_monocle

Current behavior:

Open a window (any program) and remember it's size and location (optionally, you can also resize/move the window, just remember it's size and location).
Toggle monocle mode on.
Resize/move the window (while monocle mode is on).
Toggle monocle mode off.
Notice that the window is back to its initial size and location (from step 1).

Suggested behavior:

Open a window (any program) and remember it's size and location.
Toggle monocle mode on.
Resize/move the same window (while monocle mode is on).
As I do step 3, monocle mode should automatically toggle off.

I agree this behavior is better than the current one. Implemented as of dff2c811ebc31818885a160c06e85f0b660fcca5


Question on minTypicalAge / maxTypicalAge

Not being an eHealth expert, I'm not sure what "typical" means.
Is it something like 95% of the people in the dataset are older than the minTypicalAge, younger than the maxTypicalAge ?
Or is this flexible, i.e. data owners decides what it means in practice

If a data owner has in his dataset a senior who is 105 years of old, the data holder can't provide maxTypicalAge = 105 because that a sensitive information related to an individual. Instead the data holder will provide a typical max age of 100 for example.


Upgrade raml-toolkit

This addresses the dependabot alert for the 'ini' dependency.

It updates raml-toolkit version as well. We should update it explicitly in package.json.

done


WIP #10764

taks :

[ ] check code

[ ] check docs

[ ] add more tests

[ ] update change log

fixes #10764

why? travis pass all tests.

try set
'itemOption' => ['tag' => false]

@lynicidn https://github.com/pana1990/yii2/commit/f4990b3879b326b651aedec9076cb0df72af3154#diff-f55c5f70280cbbb7a9f1774fdfbde809R119 travis pass test, can you check  it?

@pana1990 sorry, u right, it will be work :+1:

Thanks :)

@pana1990 thanks for you =) and again sorry

Looks good.
I think we must do the same for Html::beginTag and Html::endTag to be consistent.

@SilverFire I agree.

@SilverFire done!

Ready to merge.
TODO: Add a changelog

i will wait for next milestone to update change log :+1:

sure, thank you

@SilverFire can you suggest me some phrase to changelog?

`yii\helpers\Html::tag()` and `::beginTag()` return content without any HTML when the `$tag` attribute is `false` or `null`

@SilverFire done! thanks you very much ;)

Could you update from the upstream, please?

@SilverFire  done!

Thank you!


New variable code temporarily removed in multi-table-output

    # Compute new (derived) variables
    message("\tComputing derived variables")
    for(i in seq_len(nrow(nvt))) {
        new_rn <- nvt$new_research_name[i]
        rn_needed <- strsplit(nvt$needs_research_names[i], ",", fixed = TRUE)[[1]]
        # Isolate needed data and site/plot/tree/timestamp
        dat_mrg %>%
            filter(research_name %in% rn_needed) %>%
            select(Site, Plot, Tree, TIMESTAMP, research_name, value) %>%
            pivot_wider(names_from = "research_name", values_from = "value") ->
            dat_subset

        message("\t\t", new_rn, " <- ", nvt$needs_research_names[i],
                " (using ", nrow(dat_subset), " rows)")

        # Call the computation function based on the name of the new variable
        # New variable functions MUST add "value" and "units" columns; optionally "OOB"
        dat_subset <- do.call(paste0("NEWVAR_", new_rn), list(dat_subset))
        # Clean up: add research_name...
        dat_subset$research_name <- new_rn
        # remove old research name columns (from the pivot_wider above)
        dat_subset[rn_needed] <- NULL
        # ...and add information entries in the design_link and Logger columns
        if("design_link" %in% names(dat_mrg)) dat_subset$design_link <- "<derived>"
        if("Logger" %in% names(dat_mrg)) dat_subset$Logger <- "<derived>"
        # This is inefficient but assuming we won't have many
        # Also, new variables might be needed by further ones?!?
        dat_mrg <- bind_rows(dat_mrg, dat_subset)
    }

```{r newvar_code}
#| include: false

# This chunk holds dedicated functions to compute new variables
# These must be named "NEWVAR_[new_research_name]", where "new_research_name"
# is given in the `newvars_table` CSV file
# Functions are given a data frame that is guaranteed to have needed variables
# (research names) as defined in the `newvars_table` CSV file
# Functions must return the data frame they're given, with "value" and "units"
# columns added (optionally, also a "OOB" column)

# Compute sapflow_avg, the average of shallow and deep sapflow values
NEWVAR_sapflow_avg <- function(x) {
    x$value <- (x$sapflow + x$sapflow_deep) / 2.0
    x$units <- "??"
    return(x)
}

Template-reading code that was in L1a

    # Go through the output templates to generate output tables
    smry_all <- list()
    for(template in names(templates)) {
        pt_ex <- templates[[template]] # the expanded 'plot table'

        # Join plot table with data
        message("\t------------------------------------------------")
        message("\tJoining with output template (plot table) ", template)
        dat_mrg <- left_join(pt_ex, dat, by = c("Site", "design_link"),
                      relationship = "many-to-many")
        # Remove unneeded columns unless needed for debugging
        if(!params$debug) {
            message("\tDropping logger/design info columns")
            dat_mrg <- select(dat_mrg, -Table, -loggernet_variable, -design_link, -Logger)
        }

        smry_all[[template]] <- data.frame(File = basename(dir_name),
                                           Template = template,
                                           Rows = nrow(dat_mrg),
                                           Note = "")

        missing <- anti_join(pt_ex, dat, by = c("Site", "design_link"))
        if(nrow(missing)) {
            dat_issues <<- dat_issues + 1
            message("ERROR: some design links in plot table not found: ",
                    paste(missing$design_link, collapse = ", "))
            smry_all[[template]]$Note <- "Missing design_link(s)"
            next
        }

        # Put columns in order: first the ones in the template (if available),
        # then TIMESTAMP, research_name, and value; and then any other columns
        # in alphabetized order
        left_cols <- c(base::intersect(colnames(pt_ex), colnames(dat_mrg)),
                   "research_name", "TIMESTAMP", "value")
        # Note that this order is important, as L1b depends on the fact that
        # everything to the left of TIMESTAMP is a grouping variable
        dat_mrg <- dat_mrg[c(left_cols, sort(setdiff(names(dat_mrg), left_cols)))]

        write_to_folders(dat_mrg, root_dir = out_dir, data_level = "L1a",
                         site = dat$Site[1], logger = dat$Logger[1], table = template)
    }

# The template tables in $OUTPUT_TEMPLATES are 'plot tables' in RR's terminology
# Read them into a list
ot <- list.files(file.path(params$DATA_ROOT, params$OUTPUT_TEMPLATES),
                 pattern = "*.csv$", full.names = TRUE)
templates <- lapply(ot, read_csv, show_col_types = FALSE)
names(templates) <- gsub("\\.csv", "", basename(ot))
# For compactness, plot tables may have expansions
templates <- lapply(templates, compasstools::expand_df)

# Read new variables table
NEWVARS_TABLE <- file.path(params$DATA_ROOT, params$NEWVARS_TABLE)
nvt <- read_csv(NEWVARS_TABLE, col_types = "cc")


Toggle display command does not work for all devices

Originally reported here: https://github.com/mill1000/midea-ac-py/issues/21#issue-1871700242
Some users have devices that don't respond to the toggle display command..
A quick scan of similar projects shows there are possible alternate methods to controlling the display.
These appear to use the "night light" option.
https://github.com/nbogojevic/midea-beautiful-air/blob/76e1bd27dcdeeb4e6478b8a47af9c5a854f734a8/midea_beautiful/command.py#L768-L770
https://github.com/reneklootwijk/midea-uart/blob/12578ecb4a0dfc75a9c444fbf999a741ea441e66/src/setstatus_cmd40.cpp#L169-L178
This uses a whole new protocol
https://github.com/georgezhao2010/midea_ac_lan/blob/065d64d715f4d7bda87d3da2c9076824dfb300fc/custom_components/midea_ac_lan/midea/devices/ac/message.py#L333-L339

There is also the possibility that some devices aren't capable of display control via the network. Some users who reported this issue confirmed that the OEM app does not have a display control.

Closing this issue until a user reports a device that has app control of the display, but the toggle_display method does not work.


I cannot upload recorded audio to server

Currently I am on android platform  But I am facing problem uploading the recorded audio using form data. This is how I am constructing the form data object at the moment.
I expect whenever I add the audio to form data it will be uploaded to server
I am getting the following error
error message TypeError: Network request failed
 at XMLHttpRequest.xhr.onerror (whatwg-fetch.js:504)
 at XMLHttpRequest.dispatchEvent (event-target.js:172)
 at XMLHttpRequest.setReadyState (XMLHttpRequest.js:578)
 at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:392)
 at XMLHttpRequest.js:505
 at RCTDeviceEventEmitter.emit (EventEmitter.js:190)
 at MessageQueue.__callFunction (MessageQueue.js:349)
 at MessageQueue.js:106
 at MessageQueue.__guard (MessageQueue.js:297)
 at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:105)

This is how I am currently uploading the audio to the server
const data = new FormData();
data.append("file", {
    name: "voice-note.mp4",
    type: 'audio/mpeg',
    uri: this.audioRecorderPlayer.startRecorder(path)
});
return fetch(base_url + end_point, {
    method: 'POST',
    headers: {
        'content-type': 'multipart/form-data',
        'x-guest-session-token': token
    },
    body: data
})
    .then(res => res.json())
    .then(response => {
        console.log(response);
        return response;
    })
    .catch(error => {
        console.log('error message', error);
    });

You need to await this.audioRecorderPlayer.stopRecorder() to get the uri of the audio. You've not even used the async & await syntax.


Mitigate deprecated image check for release-4.14

What this PR does / why we need it:
Mitigate deprecated image check for release-4.14
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/area ci-tooling


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-12-30)
⚠ BREAKING CHANGES

initial release

Features

initial release (93e4376)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.0
:sunflower:


Update CODEOWNERS

New name for docs team.

Hi @owais — we'd need to update the name of the docs team.


feat: fetch and store birthdates from slack 🎂

Description ✏
Closes #2
This PR implements the function updateBirthdatesfromSlack to fetch the birthdates of ColorStack members from their Slack profiles and store the birthdate into the students database.
-Retrieve all valid Slack ids from students db
-For each Slack id

Use Slack API to fetch birthdate stored in that Slack profile
If birthdate exists, store to students db

Type of Change 🐞

[X] Feature - A non-breaking change which adds functionality.
[ ] Fix - A non-breaking change which fixes an issue.
[ ] Refactor - A change that neither fixes a bug nor adds a feature.
[ ] Documentation - A change only to in-code or markdown documentation.
[ ] Tests - A change that adds missing unit/integration tests.
[ ] Chore - A change that is likely none of the above.

Checklist ✅

[x] I have done a self-review of my code.
[ ] I have manually tested my code (if applicable).
[ ] I have added/updated any relevant documentation (if applicable).

LGTM, let's see if we can test when we get the Custom Field ID. I know a few users whose birthdates aren't in the member profile yet so we can test there.


[Feature request]- Neural speed support

There is an LLM inference library by intel which allows low bits(2bits and higher) LLM inference on cpu. It also has python binding using pybind. Please generate nodejs bindings for the same using nobind (or maybe even SWIG).

You think that you can post an issue simultaneously with someone else as part of an extortion involving the French police and corrupt judges and ask for a feature? Really?

Came here from your ffmpeg library, didn't read your history at that time. Read it now, feeling bad for you, life has already troubled you a lot, asking anything from you would be a sin. Sorry. May you have a better future ahead


Dynamically serve module schemas based on engineVersion

As discussed in https://github.com/dagger/dagger/issues/7640.
The essential idea here is to use the engineVersion defined in dagger.json to determine any backwards compatible schemas to serve. This will allow us to make breaking changes in a more controlled manner.
Without this, any breaking changes we make to the API will be applied everywhere - this will potentially break parts of the daggerverse, introduces module dependencies on specific dagger versions, and will prevent users from easily upgrading (essentially, a python 2/3 situation)
With this, we can introduce breaking changes more gracefully using the engineVersion. At schema install time we can adapt the schema we choose based on the value of the defined engineVersion. This means that new and upgraded modules will be served the new API, while old modules will be served an older API for compatibility.
We still will likely need to make breaking changes outside of this - for that, we have https://github.com/dagger/dagger/pull/7692, but ideally we won't need to actually enforce this for some time.

TODO:

[x] Dynamically serve an API to modules based on the engineVersion
[x] Dynamically serve an API to the CLI based on the current module
[x] Write test cases
[ ] Implement this for #7586

[ ] Determine how we should handle the removed Terminal type being returned from a module with a core schema version that contains it, to a module with a core schema version that doesn't (we should probably error out, but maybe we could "graft" the type in).

Test cases:

[x] Module codegen should generate for the right dynamic schema
[x] Modules doing manual querying should get the right dynamic schema
[x] Modules served as dependencies must use their own engineVersion, not their callers
[ ] Dagger call should get the right dynamic schema from the current module (need some thought about how to test this one)
[ ] Test multiple modules in the same session all at the same time with different schema variations
[ ] Test the old Terminal type in a module

Decided to take this in a totally different direction - having and managing multiple dagql.Servers just wasn't going to work, so I've decided to introduce the lower-level concept of dagql "views", that allow different components to have different perspectives on the same server.
That way, we have one core module (instead of multiple), which prevents us needing to work out how to convert an ID value from one schema into another schema (doesn't actually seem possible). e.g. this would have broken if we chose to remove a field from Container, and an old module was using it and returning it to another module with a newer version.
This now works!
Some more TODOs:

Introspection is probably a little ambitious, it needs scoping to views.
Testing approach needs rethinking - the schemaVersion helper I was using doesn't really work with our more powerful views helper.

:bulb: we could probably get quite a lot done with a lower-level dagql test, and having our compat checks will cover a good number of issues
But it would still be nice to simulate generic removal/modification/addition of various schema things.

Huge cleanup needed, I broke a ton of weird things while playing around
Ideally, we'd also support removing/adding new objects (currently they need to be added to the "global view"), so we wouldn't be able to remove Terminal just yet.

I'm getting to a place where I'm much happier with this. I've also backported legacy conversions (with tests!) for the already merged breaking changes https://github.com/dagger/dagger/pull/7586 and https://github.com/dagger/dagger/pull/7500.
Going to spend some time tomorrow cleaning up the commit history / checking test failures / etc.
But this should be somewhat ready-to-review (ignoring the above).

Updated with a neater commit history :tada:

When version is not semver (i.e. git commit or content hash of local dev engine), we just treat that as "latest" essentially

Yes - hence #7760 to try and fix this for dev builds. Thankfully, I think users using git commit versions is pretty rare, but I'm gonna try and see if I can get this one done for v0.12.0 if I possibly can :tada:

In the case where you have a local module and you do dagger develop:
* The engine version gets updated first
* Then we compile the module with that latest version (erroring out if it's broken now)

Ah, not right now - the version is updated last. I need to poke into this logic, it's a bit odd. Will take a look at this, thanks for the reminder!

The views approach makes sense to me for the reasons you mentioned around "id from one version to another version", but it is a bit complicated in that, in a given session, each client gets its own dagql server but then each dagql server also has support for multiple views.

Thankfully, for this all to work, we don't need one server, we need one core "schema" (even if that's loaded into multiple servers). That way, IDs from one server can just be copied to the other server, even if they're serving different views.
In my original pass at this, I actually just attempted to have each session have a server, and each server would have it's own "schema" (so selectively installing components based on a version). This doesn't work at all - because now IDs that one module produces and returns have no way of being translated into an ID for another schema - and since IDs are so central to how we do everything, there's really no way to resolve this neatly.
So we get the state this is in right now.

So then the idea would be "one dagql server for the whole session" but different views for different clients (on top of views based on version of the client)

This is really funky, I like it, it did cross my mind. The problem is now, a "View" is now an intersection of various conditions, the core module uses a version, user modules use set inclusion in a set of deps (or similar). That kinda makes sense, I've got a generic View interface for this, you just to implement Contains(string) - in the future, we could update this to be Contains(T) with a type parameter T? Then for a dagger server, T = Module, so we could derive the config and the dependencies?
Perhaps this isn't too tricky actually? Definitely seems like it could simplify some code, but probably worth keeping it separate for now, I've got some other pieces to squeeze in before the next release.


Union types don't match function signatures

TypeScript Version:
nightly (1.9.0-dev.20160303)
Code
interface Foo {
	foo( key: string ): string;
	foo( keys: string[] ): string[];
}

declare var foo: Foo;
declare const bar: string|string[];

const baz = foo.foo( bar );

Expected behavior:
The code is valid and compiles without warning, because interface Foo contains a signature for a method foo corresponding to each type in the union string|string[].  The foo method can accept a parameter list of string, and it can also accept a parameter list of string[], therefore an argument list of string|string[] is satisfiable.
I would expect the return type for foo.foo invoked in this faction to be the type union of the return types of all matching signatures (so string|string[]).  This code produces the same error even if all matching signatures have the same return type.
Actual behavior:
Argument of type 'string | string[]' is not assignable to parameter of type 'string[]'  Type 'string' is not assignable to type 'string[]'.

Duplicate #1805

you can also find a long discussion on why { foo(string|string[]):string|string[] } is not the same as { foo (string): string;  foo (string[]): string[]; } at https://github.com/Microsoft/TypeScript/issues/7230. This should help shedding some light on how the API should be authored.

Maybe this is a degenerate case, but I feel like this instance should be satisfiable.
I feel like defining the interface this way is preferrable, because we can preserve the mapping for string->string and string[]->string[].  Passing in a parameter that matches both should simply result in string|string[]->string|string[].  Being less specific in what is passed in results in a result that is less specific, and vice versa.
In my actual code, both methods return void, so there really is no ambiguity; still, this is unsupported.


fix(action): always create symlinks, even when running from cached.

Draft while i test it.

Testing the action changes here: https://github.com/falcosecurity/libs/pull/1855

Once #3 is accepted, i will rebase this one to only include CI improvements so that we can further discuss them.

Rebased. As stated earlier, we need to run the CI test workflow on an actuated node because we need a vanilla kernel.
Right now the worfklow fails because of:

warning: Could not find remote branch v6.5.0-1018-azure to clone.
fatal: Remote branch v6.5.0-1018-azure not found in upstream origin

@FedeDP could you move these tests to -> https://github.com/actuated-samples/kmod-sample
I made a repo on an org arm64 actuated servers are enabled.

Mmmh if i move the test to another repo, how can i trigger it everytime a change to action.yml happens here?

There is no real need for that. This is a trivial action like a "macro".

I created the separate repo for you, could you move the sample over there please?

Yes, do you want the CI job too (eg: on push to master)?