Only enable consteval for compilers with support

Our docs claim that VAST can be built with clang 13 and up, but consteval support was added in 15.

Should we consider updating to Clang 15 instead?

NixOS doesn't provide clang 15 yet. Bumping would leave me in the dust.

How hard is it to update your compiler? Does that take a lot of effort?

I have to wait for llvm 15 to get merged into nixpkgs. But even if I could use it already, I don't think this fix is complex enough to justify dropping support for 2 compiler generations just so we can avoid it.

Is there any real reason to reject this?

Is there any real reason to reject this?

No.


Fix memory leak in VariableModificatorCount

This addresses the memory leak described in the 3rd of 3 call stacks recently cited within issue #2376

Since this issue was introduced on dev branch [v3/dev/3.1-experimental], I have the issue fixed on the commit that introduced it.
On the new QA ;)


[isogram] Eliminate trailing whitespace in test file.

When the first test case is generated it leaves out the 'skip' But the
line still contains the whitespace present in the template file.
Add commented out skip to avoid having trailing whitespace.
I'm not sure this is an improvement, but it does provide the solver with
a hint about what they're supposed to do with the skips to make the
tests run.

👍

Yes, I prefer the commented skip, I think it was what I did in the Hamming generator.  That way if someone has been away from Exercism for a while, it serves as a reminder as well.

I was planning on standardising this, but that can easily done in another PR or by someone else. :)

Sorry, was looking good to come in.  :blush:

No problem, my expectation that everyone else would psychically know my intentions was probably unrealistic. :laughing:


Encourage (require) sign-offs on PRs

It seems a bit weird to be linking to the Synapse contributing guide from complement. Perhaps we need a matrix-org-wide one?

Agreed. Was just trying to put something together here!


pinned tensors need asynchronous copy routines

This came up while discussing something with NVIDIA.
Thanks to @dominikgrewe , we have the ability to allocate pinned tensors. However,
A = cutorch.createCudaHostTensor(3);
B = torch.CudaTensor(3);
B:copy(A); — this call should be asynchronous because A is pinned memory.

the example above is not asynchronous because our host->device copy routines are implemented via cudaMemcpy, and not cudaMemcpyAsync:
https://github.com/torch/cutorch/blob/master/torch/generic/Tensor.c#L573
https://github.com/torch/cutorch/blob/master/lib/THC/THCTensorCopy.c#L15
We need to create a mechanism to enable async copy on the pinned versions.
Should we do this directly in :copy() itself, or should we introduce a more painful :copyAsync()? Thoughts? cc: @wickedfoo @dominikgrewe

I'd for better or worse add copyAsync.
While :copy() is either synchronous or asynchronous with respect to the CPU
depending upon the location of arguments, it always is synchronous if
copying to or from the CPU. The fact that GPU to GPU copy is async is an
implementation detail that is not visible to the user unless they go off
the default stream, since the GPUs are effectively a black box that you
can't inspect unless you sync the GPU to CPU.
Similarly, the new :copyAsync() would be asynchronous when copying to or
from the CPU, and would map to old copy behavior for GPU to GPU copies. One
should be able to still copy synchronously to/from pinned memory, and
plugging pinned async copy into :copy() will remove the synchronous
ability. However, it should error if you're attempting an async copy
to/from CPU on non-pinned memory.
This is still weird admittedly. The only "clean" thing I think would be to
make :copy() synchronous with respect to the CPU everywhere, and
:copyAsync() async with respect to the CPU everywhere, but that would
require hunting down and changing more than half of all copy calls to
copyAsync, since otherwise GPU to GPU copy() would cudaStreamSynchronize or
event wait on the CPU to the GPU copy completion.
However the bigger problem is how one deals with the completion of the
async pinned memory copy on the CPU side? If you want to use pinned memory
as an upload buffer, what would the Torch code look like to wait for event
completion and upload again? Using device or stream synchronize for the
completion waiting kind of defeats the point of async copy from the CPU,
unless you can launch a bunch of other work once you started the copy in
the meantime before waiting. This becomes less viable if you have multiple
async buffers going at staggered intervals at the same time. I think you'd
want to think about some kind of event driven mechanism in Torch eventually.
On Saturday, August 1, 2015, Soumith Chintala<EMAIL_ADDRESS>wrote:

This came up while discussing something with NVIDIA.
Thanks to @dominikgrewe https://github.com/dominikgrewe , we have the
ability to allocate pinned tensors. However,
A = cutorch.createCudaHostTensor(3);
B = torch.CudaTensor(3);
B:copy(A); — this call should be asynchronous because A is pinned memory.
the example above is not asynchronous because our host->device copy
routines are implemented via cudaMemcpy, and not cudaMemcpyAsync:
https://github.com/torch/cutorch/blob/master/torch/generic/Tensor.c#L573
https://github.com/torch/cutorch/blob/master/lib/THC/THCTensorCopy.c#L15
We need to create a mechanism to enable async copy on the pinned versions.
Should we do this directly in :copy() itself, or should we introduce a
more painful :copyAsync()? Thoughts? cc: @wickedfoo
https://github.com/wickedfoo @dominikgrewe
https://github.com/dominikgrewe
—
Reply to this email directly or view it on GitHub
https://github.com/torch/cutorch/issues/216.

Regarding erroring on copyAsync for non-pinned memory: my understanding as
well is you can cudaMemcpyAsync non pinned memory to the GPU as well, but
that is slower than a sync copy, since internally the driver will copy your
memory to a small paged locked buffer and then async copy from that, only
returning to the CPU once the last chunk of your data has been copied to
that page locked buffer. It's only truly async for small data (that fits in
that buffer), and maybe not really faster than the sync copy in that
case. So copyAsync could in fact work for any tensor anywhere, but users
who don't know this detail would be tempted to start sprinkling it
everywhere, even for non-pinned memory, which will only slow down their
code.
On Saturday, August 1, 2015, Soumith Chintala<EMAIL_ADDRESS>wrote:

This came up while discussing something with NVIDIA.
Thanks to @dominikgrewe https://github.com/dominikgrewe , we have the
ability to allocate pinned tensors. However,
A = cutorch.createCudaHostTensor(3);
B = torch.CudaTensor(3);
B:copy(A); — this call should be asynchronous because A is pinned memory.
the example above is not asynchronous because our host->device copy
routines are implemented via cudaMemcpy, and not cudaMemcpyAsync:
https://github.com/torch/cutorch/blob/master/torch/generic/Tensor.c#L573
https://github.com/torch/cutorch/blob/master/lib/THC/THCTensorCopy.c#L15
We need to create a mechanism to enable async copy on the pinned versions.
Should we do this directly in :copy() itself, or should we introduce a
more painful :copyAsync()? Thoughts? cc: @wickedfoo
https://github.com/wickedfoo @dominikgrewe
https://github.com/dominikgrewe
—
Reply to this email directly or view it on GitHub
https://github.com/torch/cutorch/issues/216.

Just to clarify: What is the advantage of using cudeMemcpyAsync for pinned memory? Is there any other benefit other than being able to overlap data transfer and computation when using multiple streams? For that scenario, I agreed with @wickedfoo that we should have a copyAsync.

@dominikgrewe I think that's the only reason. It's only worthwhile if you are overlapping h2d data transfer with device computation, which you can only get if you go off the default stream on the device anyways.

I've been working under the assumption that I can launch tons of kernels, and copy as many buffers from host to device as I want, whilst another kernel is running.  Is that a misconception on my part?

With a single stream, everything will happen in order, e.g. your data transfers to/from the GPU will not overlap with computation on the GPU.

Ah, interesting :-)

You can use two streams to do this, but your have to run your kernels off of the default stream (and the copy as well) in order to get the overlap.
If the default (NULL) stream is still involved somewhere, no matter how many other streams you are using, you won't necessarily get the result you expect.

fixed now via #223


Log all packets hitting our default drop rule

Description
Changes proposed in this pull request.
Test plan
Outline the test plan used to test this change before merging it.

Fixes #.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "logallpackets",
    "component": "enforcerd",
    "pr-id": "1153",
    "commit-sha": "ccc7dc16a8102ebe20710aa510a5698a0a531c92"
  },
  {
    "project": "logallpackets",
    "component": "trireme-lib",
    "pr-id": "786",
    "commit-sha": "f51c724252e68161c81a4890a359c98c047e545b"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "logallpackets",
    "component": "enforcerd",
    "pr-id": "1153",
    "commit-sha": "ccc7dc16a8102ebe20710aa510a5698a0a531c92"
  },
  {
    "project": "logallpackets",
    "component": "trireme-lib",
    "pr-id": "786",
    "commit-sha": "88fc3ade3ea5e715347246f1528671570f00b770"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1153",
    "commit-sha": "ccc7dc16a8102ebe20710aa510a5698a0a531c92"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "786",
    "commit-sha": "3ac09a9ab093dd0797d583a431f4850e3b260231"
  },
  {
    "project": "",
    "component": "apotests",
    "pr-id": "2024",
    "commit-sha": "ec9761abc9c1ed7407328e2cf6d8cb14f3d3203d"
  }
]


Fix to #8385 - Query: inefficient translation of null protection logic for InMemory and some cases of relational

Moving some of the null conditional check optimization to QueryOptimizer.
QM expressions containing patterns like:
entity != null ? entity.Property : null
get converted to:
entity?.Property
Optimization on Query Model level is limited to member access, EF.Property and TypeAs
Optimization during SQL translation additionally handles all method calls and binary expressions (except equality)
This allows us to optimize more cases (e.g. composite keys) and overall simplifies query models.
Also improved null protection translation:

we were incorrectly simplifying equality binary operations - those are not safe to translate because of null semantics

Also fixed small bug in binding where we would not protect from unexpectedly accessing null value from ValueBuffer in NullConditionals with Convert expressions.

We could ditch the QM optimization and have it only in the SqlTranslatingVisitor. We would only lose the optimization for composite keys and have InMemory query plans bit complicated.

We need QM optimization. Better QM is always good.

Actually there could be more cases that are improved by QM translation - will take a look

new version up, no longer using visitor for QM-level rewrite per @smitpatel suggestion, also implemented nested navigations support for QM rewrite


Remote need data not loading

Not quite sure about the circumstances, but I get those black '?' and no title/descr/...

Happens on matchat.org atm

The counterpart-needs aren't fetched

after signing in (it works fine when reloading the page with a valid session)


Link Code of Conduct

See this policy rule for more details.

We currently have the code of conduct in the README: https://github.com/dotnet/tye#net-foundation. If it needs to be in a separate file, that's fine.
The aspnetcore repo doesn't have this file either, as an FYI.

Nvrm, looks like a PR has already been made there as well: https://github.com/dotnet/aspnetcore/pull/20471


rfc: @ls.pytest.mark.parametrize interface

almost certainly not handling lazy eval correctly, but what do we think of interface?

automatically logs a pass/fail feedback based on test pass/fail
can return whatever other feedback you want as well

@ls.pytest.mark.parametrize("Sample Dataset 3", (lambda x: x))
def test_parametrize(inputs, outputs, reference_outputs) -> list:
    assert inputs == outputs
    return [{"key": "foo", "value": "bar"}]

some example experiments here https://dev.smith.langchain.com/public/e7782ea0-3de5-4352-8cd4-7b2cdbb03e4c/d

Things I like about this:

Can connect to dataset
outputs are fairly localized/transpernt
Trace seems sensical (has outputs by default)

Things I don't looove about this relative to @unit

Seems harder to check multi-step things
The actual system is run "outside" the test function


Improve example function for functional updates

I failed to understand the necessity of functional updates (a feature of useState hook) in this example, therefore I decided to raise this PR.
If there is any gap in my understanding of the react docs' example, please enlighten me.

The already present example seems relevant so closing this PR. Thanks :) .

@harish-sethuraman if normal non-functional form is used instead of functional form in the example given in docs will it make any difference?

For that example I think you can still use the normal form and it should work fine. But when there are multiple state updates (for same state value) in the same onClick it might not work. It is better to write in functional form while the update depends on the previous value.
There are some examples in this link
This should work fine
export default function App({ initialCount = 0 }) {
  const [count, setCount] = useState(initialCount);
  return (
    <>
      Count: {count}
      <button onClick={() => setCount(initialCount)}>Reset</button>
      <button
        onClick={() => {
          setCount((prevCount) => prevCount + 1);
          console.log("updating state again");
          setCount((prevCount) => prevCount + 1);
        }}
      >
        +
      </button>
    </>
  );
}

And this wouldn't
import { useState } from "react";

export default function App({ initialCount = 0 }) {
  const [count, setCount] = useState(initialCount);
  return (
    <>
      Count: {count}
      <button onClick={() => setCount(initialCount)}>Reset</button>
      <button
        onClick={() => {
          setCount(count + 1);
          console.log("updating state again");
          setCount(count + 1);
        }}
      >
        +
      </button>
    </>
  );
}

Agreed, but this still doesn't make sense as to why functional update is necessary here.
I can directly do
setCount(count + 2)

to get the desired result.
What are your thoughts on this?
Aim of the PR was to make examples more realistic while keeping them simple to understand (just like other examples of the docs).

Agreed, but this still doesn't make sense as to why the functional update is necessary here.

I feel the same with the example you have shared. It adds the value to the state and then updates it and again multiplies and updates it while it can be done at the same time?
Also, the example reflects the context of the section on when one should use functional form. showing a state update being dependent on the previous state value. I feel like it would be pretty overkill to add a bigger code snippet in that place.

Agreed, but this still doesn't make sense as to why the functional update is necessary here.

I feel the same with the example you have shared. It adds the value to the state and then updates it and again multiplies and updates it while it can be done at the same time?
Also, the example reflects the context of the section on when one should use functional form. showing a state update being dependent on the previous state value. I feel like it would be pretty overkill to add a bigger code snippet in that place.


Remove testnet command

testnet command, and the companion Makefile infra and Docker files is superseded by e2e. e2e is able to do everything testinet can do and much more (including your example).
I was recently using testnet, together with make localnet-start. I was doing that for repro purposes. And it's unusable unless you tweak the code, Makefile, and Docker files here and there (or you just use the default settings if they're good enough).
I think we should remove it from newer versions.
Originally posted by @sergio-mena in https://github.com/cometbft/cometbft/discussions/3566#discussioncomment-10328626

In my opinion, we should replace it by a new e2e.Provider that allows running Comet in a cluster (or even a single machine).

At the moment, if you want to run Comet in a cluster, the testnet command is helpful. The problem is that you still need to manually edit a lot of config files, what we could optimize by using the end-to-end test infra.


Flex: Fix HTA double segment issue

https://ledgerhq.atlassian.net/browse/FWEO-1128
Description
When fast mode is enabled, first "hold to approve" segments were displayed almost at the same time. One at touch, the other on the next ticker event.
This commit remove the first segment that is displayed at touch.
Changes include

[x] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ] Tests
[ ] Documentation
[ ] Other (for changes that might not fit in any category)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 59.89%. Comparing base (a3b340f) to head (a34447f).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #635   +/-   ##
=======================================
  Coverage   59.89%   59.89%
=======================================
  Files          12       12
  Lines        1688     1688
=======================================
  Hits         1011     1011
  Misses        677      677

Flag
Coverage Δ

unittests
59.89% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Can't upload data to ESP8266

My old computer died so I am stating this project all over again with new Windows 10 (with latest updates installed) Dell laptop computer. Everything has gone well until I tried to upload data to ESP8266 using ESP8266 Sketch Data Upload in Arduino IDE Tools window. I am using Arduino IDE 1.8.19; ESP8266FS 0.5.0; Python 3.11.4; and COM4. All are located in the Arduino folder. I get the error message shown below.
Arduino: 1.8.19 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:1MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
[SPIFFS] data    : C:\Program Files (x86)\Arduino\Esp_radio\data
[SPIFFS] size    : 1000
[SPIFFS] page    : 256
[SPIFFS] block   : 8192
/radio.ini
[SPIFFS] upload  : C:\Users\Al\AppData\Local\Temp\arduino_build_841679/Esp_radio.spiffs.bin
[SPIFFS] address  : 0x300000
[SPIFFS] reset    : --before default_reset --after hard_reset
[SPIFFS] port     : COM4
[SPIFFS] speed    : 115200
[SPIFFS] python   : python.exe
[SPIFFS] uploader : C:\Users\Al\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\tools\upload.py
usage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32c3}]
[--port PORT] [--baud BAUD]
[--before {default_reset,no_reset,no_reset_no_sync}]
[--after {hard_reset,soft_reset,no_reset}] [--no-stub]
[--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
[--connect-attempts CONNECT_ATTEMPTS]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version,get_security_info}
...
esptool: error: unrecognized arguments: --end
SPIFFS Upload failed!

Google is your friend.  See here.


expose Invoke-DSCJob function to allow for more flexibility for modul…

I could see scenarios where we would need to do more than Install, InstallLicense, and InstallLicenseConfigure through the Invoke-ArcGISConfiguration function. We may seek to InstallLicense each component, but then configure via federation. This is especially true in scenarios where we seek to pass in configuration options through an ARM template using Microsoft.Compute/virtualMachines/extensions. In that scenario, we do not have a clear understanding of how to implement without lower level access to submodules. We should at least have the option to work through these edge cases.

@AndrewQuartic Instead of adding a function to the DSC Module, consider creating a separate script that can be utilized with Azure's Custom Script Extension. This script can wrap Invoke-ArcGISConfiguration as done in your PR.
ARM Template - template.json
Sample Script - Script.ps1.txt
https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-windows


Chore/cleanup

Codecov Report

Merging #98 (05e437a) into main (6199eb7) will decrease coverage by 0.23%.
The diff coverage is 48.57%.

@@            Coverage Diff             @@
##             main      #98      +/-   ##
==========================================
- Coverage   37.77%   37.54%   -0.24%
==========================================
  Files          35       35
  Lines        1207     1180      -27
==========================================
- Hits          456      443      -13
+ Misses        751      737      -14

Impacted Files
Coverage Δ

src/actions/directory/copy.rs
36.00% <0.00%> (-2.47%)
:arrow_down:

src/actions/package/install.rs
29.03% <0.00%> (-4.31%)
:arrow_down:

src/config/mod.rs
0.00% <0.00%> (ø)

src/main.rs
0.00% <0.00%> (ø)

src/manifests/providers/mod.rs
0.00% <ø> (ø)

src/atoms/command/exec.rs
77.31% <44.44%> (-0.85%)
:arrow_down:

src/manifests/providers/local.rs
88.88% <75.00%> (+11.11%)
:arrow_up:

src/atoms/command/finalizers/output_contains.rs
90.47% <100.00%> (-0.83%)
:arrow_down:

src/atoms/command/initializers/command_found.rs
100.00% <100.00%> (ø)

src/atoms/file/chmod.rs
64.91% <100.00%> (ø)

... and 11 more

Continue to review full report at Codecov.

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


Darknet: Invalid tensor shape '[0,0,0]'

Please provide steps or model files to reproduce this issue.

You mean it
yolov4-tinyBug.txt

netron_issue_541.zip


unauthorized: incorrect username or password

Expected behavior
Create New Container
Actual behavior
(HTTP code 401) unexpected - {"message":"Get https://registry-1.docker.io/v2/kitematic/hello-world-nginx/manifests/latest: unauthorized: incorrect username or password"}
Information about the Issue
I Just Logged in with the actual username and password,
Steps to reproduce the behavior

...
...

+1

Please try to login using your Docker ID (hub username) instead of your email. This should fix the issue.

+1


[Feature Request] Support for Xenia Netplay Version

I would like to see support for the netplay version of Xenia, since quite a few games only work correctly with emulated netplay:
https://github.com/AdrianCassar/xenia-canary
Hope this will be picked up in the future.
Thx for our consideration!

Already implemented, although it's only using "stable" releases and not the absolute latest builds from the github actions.

Oh wow, this is awesome. Didn't know about that =). Just tried it and it works like a charm!


Database ifExists argument not recognized.

I'm trying to run the following code:
    let db : Database = getDb()
    let onegram = db["onegram"]
    db.drop(table: onegram, ifExists: true)

but Xcode throws a compiler error:
Incorrect argument labels in call (have 'table:ifExists:', expected 'index:on:')

I have a test for this, so it should compile just fine:
https://github.com/stephencelis/SQLite.swift/blob/1af591ac2ff4b409b5542e7b5241d186260beded/SQLite Common Tests/SchemaTests.swift#L306
Any chance your SQLite.swift submodule is out of date? Or could you provide a sample project to better troubleshoot? I'm not sure I can do much more with the information given.

Turns out my submodule was out of date. Anyway- thanks!


Update overview.md

Removes redundant whitespace and parentheses.

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

Looks good; thanks, @watfordsuzy.


Add a note for GroupBy and compute.max_rows

This clarifies a question raised in #2072 regarding the impact of max_rows on the size of dataframes/series received by function when using, e.g., groupby and apply, where the groups can exceed compute.max_rows rows.

I'll fix the lint errors but on Windows I am getting.
Traceback (most recent call last):
  File "c:\users\l\appdata\local\programs\python\python37\lib\site-packages\sphinx\config.py", line 327, in eval_config_file
    execfile_(filename, namespace)
  File "c:\users\l\appdata\local\programs\python\python37\lib\site-packages\sphinx\util\pycompat.py", line 88, in execfile_
    exec(code, _globals)
  File "C:\Users\L\Documents\koalas\docs\source\conf.py", line 59, in <module>
    gendoc()
  File "C:\Users\L\Documents\koalas\docs\source\conf.py", line 56, in gendoc
    gendoc.gen_release_notes(source_dir)
  File "C:\Users\L\Documents\koalas\docs\source/../../dev/gendoc.py", line 137, in gen_release_notes
    release_file.write(release_doc)
  File "c:\users\l\appdata\local\programs\python\python37\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u200b' in position 1486: character maps to <undefined>

I will check this out quickly.

For safety, the hardcoded paths should perhaps be refactored using os.path.join, but that is for another PR :)

Ah I see Koalas still supports Python 3.5, f-strings were introduced in 3.6. I thought 3.5 was dropped along with Spark 3.1.1., my bad.

Codecov Report

Merging #2084 (7b5249f) into master (9150ca4) will decrease coverage by 5.51%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2084      +/-   ##
==========================================
- Coverage   95.27%   89.76%   -5.52%
==========================================
  Files          57       57
  Lines       13196    13107      -89
==========================================
- Hits        12573    11765     -808
- Misses        623     1342     +719

Impacted Files
Coverage Δ

databricks/koalas/config.py
98.98% <ø> (-0.02%)
:arrow_down:

databricks/koalas/plot/plotly.py
15.78% <0.00%> (-81.06%)
:arrow_down:

...bricks/koalas/tests/plot/test_frame_plot_plotly.py
23.33% <0.00%> (-76.67%)
:arrow_down:

...ricks/koalas/tests/plot/test_series_plot_plotly.py
26.92% <0.00%> (-71.26%)
:arrow_down:

databricks/koalas/usage_logging/__init__.py
27.58% <0.00%> (-64.92%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
47.82% <0.00%> (-52.18%)
:arrow_down:

databricks/koalas/typedef/typehints.py
65.92% <0.00%> (-28.50%)
:arrow_down:

databricks/koalas/__init__.py
77.33% <0.00%> (-14.67%)
:arrow_down:

databricks/conftest.py
87.27% <0.00%> (-12.73%)
:arrow_down:

databricks/koalas/tests/indexes/test_base.py
91.63% <0.00%> (-8.37%)
:arrow_down:

... and 27 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 9150ca4...7b5249f. Read the comment docs.

@HyukjinKwon please have another look.

@HyukjinKwon I understand now what you mean by mentioning explicitly Koalas Dataframe. From this you can derive that other DataFrames are not impacted. I made the changes and rebased.


Define the behavior of VerificationOutcome

Summary
This is left over from https://github.com/notaryproject/notation-go/pull/191#discussion_r1018917400, but focus on the behavior of VerificationOutcome. Currently it contains the only successful signature verification outcome, how about the failure outcome? As an API user, if no failure outcome is returned, how user can troubleshoot the failure of verification. Will this structure be connected to debug option as well?

As discussed in the community meeting on Nov 4, 2024, move this issue to the future milestone.


[Bug] [MicroTVM] ProjectOption type hints are currently pointless.

Expected behavior
In the microtvm_api_server.py for various MicroTVM project API templates options are defined in the following way:
server.ProjectOption(
    "warning_as_error",
    optional=["generate_project"],
    type="bool",
    help="Treat warnings as errors and raise an Exception.",
),

As every of these options gets a certain type it may be assumed that these type hints are actually used by TVM and not only for documentation.
Actual behavior
However the only purpose of the type field in this option is restricting the allowed value of these options passed as --project-option  command line arguments:
https://github.com/apache/tvm/blob/64e94abcbb9578bf2ace2e6e1e1e618bd09d2605/python/tvm/driver/tvmc/project.py#L74-L75
The following is a consequence of the described problem:
Using --project-option warning_as_error=false vs. --project-option warning_as_error=true on the TVMC command line (e.g. with tvmc micro create project mlf.tar [zephyr|arduino]) both results in warnings being turned into errors.
The reason behind this that the true/false targuments are still strings when beeing interpreted as a bool here: options["warning_as_error"]. However bool("false")  == bool("true") == True. Instead either bool(distutils.util.strtobool(options["warning_as_error"])) or a custom map similar to
https://github.com/apache/tvm/blob/64e94abcbb9578bf2ace2e6e1e1e618bd09d2605/python/tvm/driver/tvmc/pass_config.py#L80-L83
needs to be applied at some stage. (Implicitly during the command line parsing (https://github.com/apache/tvm/blob/main/python/tvm/driver/tvmc/project.py) or explicitly microtvm_api_server.py)
The missing type conversions would also affect every ProjectOption with type="int", however currently those values (e.g. for gdbserver_port) are converted to a string anyway aka. it accedentially works as expected.
Environment
TVM commit (55849e651e3dff6cffeb7fd14aa89699e9575d10) using ./docker/bash.sh tlcpack/ci-qemu:v0.10 for Zephyr and Arduino support
Steps to reproduce

Build TVM as usual with MicroTVM support

Download model and generate MLF:
wget https://github.com/tensorflow/tflite-micro/raw/main/tensorflow/lite/micro/examples/magic_wand/magic_wand.tflite
tvmc compile magic_wand.tflite \
    --target='c -keys=cpu -link-params=0 -model=host' \
    --runtime=crt \
    --runtime-crt-system-lib 1 \
    --executor='graph' \
    --executor-graph-link-params 0 \
    --output model.tar \
    --output-format mlf \
    --pass-config tir.disable_vectorize=1 \
    --disabled-pass=AlterOpLayout

Apply a small patch to the Zephy version number to trigger a warning being printed:
diff --git a/opt/zephyrproject/zephyr/VERSION.old b/opt/zephyrproject/zephyr/VERSION
index 1e4d35466..a934c886c 100644
--- a/opt/zephyrproject/zephyr/VERSION.old
+++ b/opt/zephyrproject/zephyr/VERSION
@@ -1,4 +1,4 @@
-VERSION_MAJOR = 2
+VERSION_MAJOR = 3
 VERSION_MINOR = 7
 PATCHLEVEL = 1
 VERSION_TWEAK = 0

Relevant command:
python -m tvm.driver.tvmc micro create -f project model.tar zephyr --project-option project_type=host_driven zephyr_board=qemu_x86
python -m tvm.driver.tvmc micro create -f project model.tar zephyr --project-option project_type=host_driven zephyr_board=qemu_x86 --project-option warning_as_error=false
python -m tvm.driver.tvmc micro create -f project model.tar zephyr --project-option project_type=host_driven zephyr_board=qemu_x86 --project-option warning_as_error=true

Resulting output:
WARNING:__main__:Zephyr version found is not supported: found 3.7, expected 2.7.
Error: Option 'project_type' is required but was not specified. Use --list-options to see all required options.
Error: Option 'project_type' is required but was not specified. Use --list-options to see all required options.

Expected output:
WARNING:__main__:Zephyr version found is not supported: found 3.7, expected 2.7.
WARNING:__main__:Zephyr version found is not supported: found 3.7, expected 2.7.
Error: Option 'project_type' is required but was not specified. Use --list-options to see all required options.

@PhilippvK Hi. Apologies for taking so long to reply your issue. Since there is no cc tagging me and I missed the notification from GH when the issue was created I just found it by chance now when eyeballing other TVM issues.
Thanks for the detailed investigation and for reporting the issue.
The errors in Resulting output: are actually not issues, i.e. your passing twice  the --project-option option and so only the last one specified is considered, so tvmc in the second and third commands is only considering  warning_as_error={true,false}, hence it complains about project_type missing. If you add project_type= at the end of the command, then it will complain about zephyr_board= missing -- the next required option that will be missing. Hence tvmc is working as designed there.
That said, your code analysis is correct and there is a bug there that needs to get fixed.
So, I would say that the  Resulting output: currently (HEAD) is:
gromero@amd:~/scripts$ tvmc micro create -f /tmp/sine_mps3 ./sine_mps3.tar zephyr --project-option project_type=host_driven zephyr_board=mps3_an547 warning_as_error=false
The following error occured on the Project API server side:
 calling method generate_project: JSON-RPC error # -32000: Zephyr version found is not supported: found 3.7, expected 2.7.
Traceback (most recent call last):
  File "/home/gromero/git/tvm/python/tvm/micro/project_api/server.py", line 481, in serve_one_request  # <--- Outermost server-side stack frame
    self._dispatch_request(request)
  File "/home/gromero/git/tvm/python/tvm/micro/project_api/server.py", line 593, in _dispatch_request
    return_value = dispatch_method(**params)
  File "/home/gromero/git/tvm/python/tvm/micro/project_api/server.py", line 621, in _dispatch_generate_project
    return self._handler.generate_project(
  File "/home/gromero/git/tvm/build/microtvm_template_projects/zephyr/microtvm_api_server.py", line 433, in generate_project
    raise server.ServerError(message=message)
tvm.micro.project_api.server.ServerError: JSON-RPC error # -32000: Zephyr version found is not supported: found 3.7, expected 2.7.

gromero@amd:~/scripts$

but the `Expected output:" is:
gromero@amd:~/scripts$ tvmc micro create -f /tmp/sine_mps3 ./sine_mps3.tar zephyr --project-option project_type=host_driven zephyr_board=mps3_an547 warning_as_error=false
WARNING:__main__:Zephyr version found is not supported: found 3.7, expected 2.7.
gromero@amd:~/scripts$

i.e. as you said the issue is that option warning_as_error=false is not working properly.
Since you've done all the analysis and also reported it, are you interested in sending a PR to fix it? I like the solution of using a simple dict map and I think such a map could be a global as CMAKE_BOOL_MAP and defined right above class Handle(), for instance so in the future other options can take advantage of it too. If so, I'm happy to review it, just cc me so I don't missing it please.
I'll also cc @leandron @mehrdadh @areusch @alanmacd fyi.
Cheers.

@gromero My bad. Sorry for messing this up.

Since you've done all the analysis and also reported it, are you interested in sending a PR to fix it? I like the solution of using a simple dict map and I think such a map could be a global as CMAKE_BOOL_MAP and defined right above class Handle(), for instance so in the future other options can take advantage of it too

I would be happy to create a PR for this. However I think that the main issue is not fully solved by your suggested solution as it would only resolve boolean options correctly while options of type int would still be accessed as string. So we should either actually make use of the type hints in server.ProjectOption to implicitly convert those options to the chosen type or alternatively mention somewhere, that the user has to parse/cast them manually.
What do you think about this?
Another short question: What do you mean with class Handle()?


deps doesn't report errors

Is your feature request related to a problem? Please describe.
I'm always frustrated when deps command fails to return result, and I don't know why.
$ deps get dependencies -l python -n https://github.com/jonmatthis/freemocap
$ deps get dependencies -l python -n jonmatthis/freemocap
$ deps get dependencies -l python -n @jonmatthis/freemocap

Describe the solution you'd like
Show a message to stderr when project can not be found, and explain a reason why. Or show that parameters are invalid.
Describe alternatives you've considered
Add a --debug flag that will output communication with server, what server does and when it fails.
Additional context
System V: {baseURL: https://api.deps.cloud, os: linux, arch: amd64}
Client Version: {"version":"0.3.5","commit":"4d94a021e15d60f20ede00df7de2fd9149159928","date":"2021-06-07T13:46:53Z"}
Server Version: {"version":"0.3.5","commit":"4d94a021e15d60f20ede00df7de2fd9149159928","date":"2021-06-07T13:46:53Z"}
Server Health: {"state":"ok","currentHP":1,"timestamp":"2021-08-18T19:55:03.501555817Z"}

Denormalizing everything has a lot of tradeoffs to it. Before starting on this approach. I spent a few months pulling some denormalized options together but wound up not being satisfied with the number of tables I needed to join through. Definitely a useful exercise though.


How to use with docker-compose

I find it strange that the cifshost/share is taken from the name of the volume and not a driver option.
This makes it unusable with docker-compose.
version: '2'
volumes:
  data:
    driver: cifs
    driver_opts:
      username: some_username
      password: some_password
services:
  foo:
    image: ubuntu
    command: ls -la /data
    volumes:
      - "data:/data"

which results in the following error:
INFO[0020] Mounting CIFS volume //sharetest_data on /var/lib/docker-volumes/netshare/cifs/sharetest_data
2016/07/12 13:29:32 mount error: could not resolve address for sharetest_data: Unknown error

Could you add a driver option to override the cifshost and share?

It's already available:
    driver_opts:
      share: host:/share

Thanks for the quick reply.
Unfortunately I still have the same issue...
version: '2'
volumes:
  data:
    driver: cifs
    driver_opts:
      share: "//<IP_ADDRESS>/downloads"
      username: usr
      password: pwd
services:
  foo:
    image: ubuntu
    command: ls -la /data
    volumes:
      - "data:/data"

INFO[0003] Mounting CIFS volume //sharetest_data on /var/lib/docker-volumes/netshare/cifs/sharetest_data

Are those other options documented somewhere?
I would also like to pass 'ro' in order to mount in read-only

Are those other options documented somewhere?

The best doc is @ http://netshare.containx.io/docs/cifs.
All options to be passed by docker volume create command line are available within docker compose

When creating a new docker-compose.yml file, it seems to work but after that any docker-compose up goes back to using the name of the volume for the share.

This sounds like a docker-compose issue... Which version are you using?
Could you provide the logs of the docker-volume-netshare running with debug flag?

I know this is old, but I am experiencing this issue as well.
pknopf@ubuntu:~$ sudo docker-volume-netshare cifs --verbose=true
WARN[0000] Error: open /home/pknopf/.netrc: no such file or directory
INFO[0000] == docker-volume-netshare :: Version: 0.18 - Built: 2016-05-27T20:14:07-07:00 ==
INFO[0000] Starting CIFS :: creds: { user=,pass=****,domain=,security= }, netrc: /home/pknopf, opts:
DEBU[0251] Entering Get: {docker_data map[]}
DEBU[0251] Entering Get: {docker_data map[]}
DEBU[0251] Entering Create: name: docker_data, options map[password:*** share:<IP_ADDRESS>/atlassian username:pknopf]
DEBU[0251] Create volume -> name: docker_data, map[password:*** share:<IP_ADDRESS>/atlassian username:pknopf]
DEBU[0251] Host path for docker_data is at /var/lib/docker-volumes/netshare/cifs/docker_data
DEBU[0251] Entering Get: {docker_data map[]}
DEBU[0251] Get: mount found for docker_data, host directory: /var/lib/docker-volumes/netshare/cifs/docker_data
DEBU[0266] Entering Get: {a1faa9b27c3a6b75b7adc151de2dc71a7621268d15dc1c65fac656a14df0b601 map[]}
INFO[0266] Mount: docker_data, map[]
INFO[0266] Mounting CIFS volume //<IP_ADDRESS>/atlassian on /var/lib/docker-volumes/netshare/cifs/docker_data
DEBU[0266] GetCreds: host=<IP_ADDRESS>, netrc=<nil>
DEBU[0266] Executing: mount -t cifs -o guest,rw //<IP_ADDRESS>/atlassian /var/lib/docker-volumes/netshare/cifs/docker_data

2017/01/21 22:21:22 mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

version: '2'
volumes:
  data:
    driver: cifs
    driver_opts:
      share: <IP_ADDRESS>/atlassian
      username: pknopf
      password: ***

I'm not convinced the username/password options pass through to the driver. I am able to get this working with a username/password if I launch docker-volume-netshare with the username/password for the share, but not if I pass it in via those username/password options in docker-compose.

Hi!
sorry for resurrecting old thread, but is there a way how to provide default options on startup?
i mean this is working:
docker volume create -d nfs --name myvol6 -o share=<IP_ADDRESS>:/container_storage/ -o create=true docker run -it --rm --volume-driver=nfs -v myvol6:/data ubuntu:trusty
however i would like to hide the infrastructure details from the developers and somehow move -o share=<IP_ADDRESS>:/container_storage/ -o create=true to plugin defaults by adding options at plugin startup.
does that make sense?
tried to add to environment file
DKV_NETSHARE_OPTS="nfs -o share=<IP_ADDRESS>:/container_storage/ -o create=true"
but probably spelling has to be different.a
any suggestions?


USB Communication Device Class (CDC) Serial/UART?

Might you please consider adding in the functionality to allow USB CDC connection to REPL, maybe using the CherryUSB library? Now that Sipeed are pushing out more Bouffalo Lab  Bl702/BL616 boards that can run PikaPython via FreeRTOS*, this could increase your user base by making your software just a little easier to use out of the box.

https://github.com/bouffalolab/bl_mcu_sdk/tree/master/examples/pikapython

Thank you for your feedback. You can override the following WEAK function to redirect REPL, including the USB CDC.
char pika_platform_getchar();

int pika_platform_putchar(char ch);

We are also working on porting Cherry USB to this project. Please stay tuned for our updates.

Thanks for your response, I will keep an eye on this, it seems like a great project!
Is it a big job to do that over-riding? I am OK with python, not so much with C... I've run cdc examples from BL_SDK, but am not totally sure how it could like into your code.

Thanks for your response, I will keep an eye on this, it seems like a great project!
Is it a big job to do that over-riding? I am OK with python, not so much with C... I've run cdc examples from BL_SDK, but am not totally sure how it could link into your code.

The adapter of Bo Liu is what I am maintaining. I will prioritize using usb cdc to support repl, if the hardware supports it.

the doc for bl616/618 http://pikascript.com/doc/board_sipeed_m0p.html you can get some info from it.
the english document will comming soon

Thank again for the response, I look forward to hearing the outcome of your efforts - much appreciated.

I'm currently merging support for USB_CDC into the mainline. You can find more information about this process in the following pull request: https://github.com/bouffalolab/bl_mcu_sdk/pull/120. Once the integration is complete, USB_CDC will become the default REPL port.

That's great news, thank you!
If you're in the mood to do more USB stuff, might I suggest Host/USB-OTG HID for keyboard input?
I have a good reason for asking - the BL616 will be the onboard MCU programer for the Sipeed Tang Nano 20K FPGA.
With this modification, and what you have already done I can see PikaPython being nearly a vaible firmware for the TN20K - this would open the door to all sorts of possibilities, not least PikaPython being adopted as an OS for a 'stand alone' computer with USB/HDMI...
...The TN20K will probably be quite popular as a retro-computer emulator, especially if PikaPython can control the FPGA - the BL616 chip is capable, it is all about the firmware - a device that can interactively select & flash bitstreams from onboard SD Card using MCU into FPGA SRAM via JTAG would be a game changer.
This, I am sure, would increase your userbase and add value for everyone.

That's great news, thank you!
If you're in the mood to do more USB stuff, might I suggest Host/USB-OTG HID for keyboard input?
I have a good reason for asking - the BL616 will be the onboard MCU programer for the Sipeed Tang Nano 20K FPGA.
With this modification, and what you have already done I can see PikaPython being nearly a vaible firmware for the TN20K - this would open the door to all sorts of possibilities, not least PikaPython being adopted as an OS for a 'stand alone' computer with USB/HDMI...
...The TN20K will probably be quite popular as a retro-computer emulator, especially if PikaPython can control the FPGA - the BL616 chip is capable, it is all about the firmware - a device that can interactively select & flash bitstreams from onboard SD Card using MCU into FPGA SRAM via JTAG would be a game changer.
This, I am sure, would increase your userbase and add value for everyone.

Thank you for your suggestion and for sharing your exciting idea with me. However, I'm afraid I have to decline your request as my time and resources are limited, and I am not able to work on the Host/USB-OTG HID for keyboard input at the moment. Additionally, the Nano 20K's 616 firmware is not open for development.
While I understand the potential benefits of PikaPython being adopted as an OS for a 'stand alone' computer with USB/HDMI, I am unable to commit to any further development at this time. I appreciate your interest and support, and I wish you the best of luck with your project.

Perfectly understandable. Thank you again for what you have already done! If I work out how to get HID going I will let you know. All the best.


Wrong log with --group-geometries

./bin/f3d ../src/testing/data/cow.vtp ../src/testing/data/suzanne.stl --group-geometries --output=a.png
:
An output image was saved using a single 3D file, other provided 3D files were ignored.
This is wrong

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Earthquakes demo to merge

I have copied my earthquakes demo with smaller dataset and limited dashboards for general use. Could you please merge it into the official example repo?

LGTM.


7.0.0-rc.2 issues

Running 7.0.0-rc.2 with the above patch by @leethree  applied seemed to fix both issues for me:

not being able to scroll when touch interaction lands anywhere inside pager
pager not being able to handle dynamically sized views and instead has a height of 0

I know the patch was included for 6.3.1 but it would be good to at least get a new rc with the patch applied
Originally posted by @Cbridger-mywellabee in https://github.com/callstack/react-native-pager-view/issues/784#issuecomment-2184619000

Closing as per: https://github.com/callstack/react-native-pager-view/releases/tag/v6.6.0


About the Training Time

Dear author,thanks for your excellent work. I have a question  how many days did it take to train stage2 on 8 A100s?

It takes 2~3 days :)


Allow repeatable deletions and enhance thread safety

What's the purpose of this PR
fix two bugs in mockserver

repeatable deletion of properties is erroneous
there would be race condition issue on override properties

Which issue(s) this PR fixes:
Fixes #3064
Brief changelog

change immutable set to concurrent hash set
change plain hash map to concurrent map

Thanks! Would you please add a test for repeatable deletions so that it would be protected in the future?

Codecov Report

Merging #3069 into master will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3069      +/-   ##
============================================
+ Coverage     51.30%   51.31%   +0.01%
- Complexity     2234     2235       +1
============================================
  Files           432      432
  Lines         13383    13385       +2
  Branches       1375     1375
============================================
+ Hits           6866     6869       +3
  Misses         6042     6042
+ Partials        475      474       -1

Impacted Files
Coverage Δ
Complexity Δ

...ip/framework/apollo/mockserver/EmbeddedApollo.java
90.36% <100.00%> (+0.23%)
18.00 <0.00> (ø)

...ervice/service/ReleaseMessageServiceWithCache.java
87.05% <0.00%> (+1.17%)
25.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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

@nobodyiam tests added


Added the ability to find the token from the query params

I know the JWT it's like a password and should not be appears in the URL but I think it is kind of useful in some situations like when using proxy servers or when testing

@elbanyaoui is there a reason you've decided to change the package vendor prefix throughout the readme and composer.json?

I forgot about this pull request, I closed it now, btw I changed the package prefix because I added a new rule to verify the request using the method(HTTP Verb) and the the path, and I need this in my projects so to facilitate the installation I changed it and added it to packagist.
more information here : https://packagist.org/packages/elbanyaoui/slim-jwt-auth

You could also  make the custom rule composer installable and then install both.
$ composer install tuupola/slim-jwt-auth
$ composer install elbanyaoui/somerule

ok thanks I will look into that


400 errors caused by inaccurately returning a success response.

We are using the ‘io.growthbook.sdk:NetworkDispatcherOkHttp:1.0.0’ and we have seen that when we get an error, for example Invalid API Key:
{
‘status": 400,
‘error": ’Invalid API Key’
}
The response goes to the OnResponse of the GBNetworkDispatcherOkHttp class, it detects that the response was unsuccessful and returns an exception using the ‘onError’. It then goes through the onSuccess and returns that the response was successful when it should not have been, as it was an error. Attached screenshot of why the error occurs.
Also, we have seen that if the app calls a URL that doesn't exist, the app closes returning: ‘FATAL EXCEPTION: OkHttp Dispatcher’. It seems to be because it tries to return the call as successful.
Submitted on behalf of customer

Hello @natasha-growthbook!
Thanks for reporting this issue.
It really seems like the code you are pointing to is written wrong. We'll correct it.

The pull request was created according to this issue.


Vulnerabilities in dependencies

According to the latest Sonatype Lift report, there are several vulnerabilities in some of the dependencies used.

Vulnerabilities are in external libraries, see Lift report. Transitive dependencies from Maven. These are updated in #73 but won't be completely gone until Minimal Maven version is upgraded to at least 3.9.


uni01alpha - update network-values values.j2 for ironic

In PR: https://github.com/openstack-k8s-operators/architecture/pull/211 the DT is updated to configure Ironic so that it can be used beyond running API tempest test cases.
It adds a network bridge "ironic", and this is attached to the ironic service pods, OVN. Also Nova is configured to run a compute pod with the ironic driver.
This PR updates the values.j2 for the uni01alpha job to work with PR#211.
We also need: https://gitlab.cee.redhat.com/ci-framework/ci-framework-jobs/-/merge_requests/282
Not all networks are neccecarily connected to EDPM nodes. Allow generating network-values for networks without netconfig. For example:
    ironic:
      network: "<IP_ADDRESS>/24"
      tools:
        metallb:
          ranges:
            - start: 80 end: 90 mtu: 1500

As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

/approve
/lgtm

/approve

recheck


Use access tokens instead of RPTs

RPT tokens which contains the set of spaces available to user may be too long if user has too many spaces. Login fails because we pass the token in the URL.
This PR is disabling RPT tokens. The access tokens will be used instead until we find a better solution.
Related to https://github.com/almighty/almighty-core/issues/1177

Codecov Report

Merging #1179 into master will increase coverage by 0.1%.
The diff coverage is 0%.

@@           Coverage Diff            @@
##           master   #1179     +/-   ##
========================================
+ Coverage      60%   60.1%   +0.1%
========================================
  Files         114     114
  Lines       10156   10127     -29
========================================
- Hits         6094    6087      -7
+ Misses       3422    3410     -12
+ Partials      640     630     -10

Impacted Files
Coverage Δ

login/service.go
34.87% <ø> (+1.66%)
:arrow_up:

space/authz/authz.go
21.83% <0%> (-23.11%)
:arrow_down:

remoteworkitem/scheduler.go
63.41% <0%> (+9.75%)
:arrow_up:

models/transaction.go
70% <0%> (+20%)
:arrow_up:

remoteworkitem/github.go
100% <0%> (+22.85%)
:arrow_up:

Continue to review full report at Codecov.

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


It should reject the wrong data input

For example:
"indata": [
  [{"data": "value"}]
]

To clarify - the example above, if provided to the adapter, should be immediately rejected as it is not a valid table structure (array of objects where each object represents one table row).
If the table array is populated with anything other than objects, a console message should be printed explaining why the value is rejected, and the request rejected.


IoT Service : ConfirmTopicRuleDestination operation, Request URI typo

https://github.com/boto/botocore/blob/ae41ef199de6b8acaf9bbaaded83716a601d8d68/botocore/data/iot/2015-05-28/service-2.json#L259
Looks there is a typo for "ConfirmTopicRuleDestination" operation. The requestUri contains a "+" for confirmationToken parameter.

@Cox65 - Thank you for your post. I contacted the service team as this file comes from upstream and according to the service team It is not a typo. The uri should be: "/confirmdestination/{confirmationToken+}"


Add a new example for Fire-and-Forget style messages.

New example based on Actor System style messages, where messages can be of fire-and-forget style.

Coverage remained the same at 78.598% when pulling 29ae42987bc1e7868112a58e2952a9b1ca1d8be2 on carlosalberto:async_fireforget_example into cdc9601709dee7332d5615369901f253645e4ee1 on opentracing:v0.31.0.

This is already a case that is covered in #197.

It's pretty similar, yes. Maybe we should move it to an additional test case


Discord Channel for CloudStack

I'm new to CloudStack and already spent a week trying to launch a guest KVM VM with a very basic setup with no luck .
This is very annoying, given the pitch for CloudStack and its development history since 2008.
Currently, I can only ask questions here on github and skim thru pretty complex and ambiguous docs.
I also saw that the core team and some devs communicate with Mailing Lists. Like Seriously? Mailing lists in the mid 2021 ???
How about moving to Discord to enable a more efficient communication between current and future users and developers?
PS:
I can create and delegate the chat server on Discord to the core team. However, I believe it would be better if someone from core team members or major contributors takes a lead for this.

@tampler We do have a slack channel available. You can signup here - https://docs.google.com/forms/d/1qewV4Ox3SR1WXvfZLi9tyP1HHhvKSqI0_zVK4V4dCvw
The old IRC channel has been retired.

@tampler you're free to start a Discord channel or any other online community. The project follows the ASF on its functioning so anything that does not happen on the mailing lists, hasn't happened. As Simon suggests you can join the Slack channel, however, you are encouraged to join the mailing lists and ask questions there as most people in the community would reply on the MLs but may not be online 24x7 on Slack and other communication platforms.
Closing on this remark and that the report is not an issue in CloudStack codebase. If you want to start a Discord etc pl discuss with the community on the dev/users ML.


Support http proxy configuration using a topology webhook

To configure the cluster control and data plane to use an HTTP proxy, users need to provide two pieces of information:

The http proxy URL (See the HTTP_PROXY, HTTPS_PROXY env vars)
A set of IPs, DNS records, and CIDRs that must be reached directly, not through the proxy (See the NO_PROXY env var)

Providing (1) is trivial.
Providing (2) is not; values include localhost names and IPs, the cluster Pod network CIDR, Services CIDR, the cluster DNS zone, the "metadata service," and some infrastructure-dependent values. A typical value for a cluster in AWS might be:
localhost,<IP_ADDRESS>,<IP_ADDRESS>/12,<IP_ADDRESS>/16,kubernetes,kubernetes.default,kubernetes.default.svc,kubernetes.default.svc.cluster,kubernetes.default.svc.cluster.local,.svc,.svc.cluster,.svc.cluster.local,<IP_ADDRESS>,.elb.amazonaws.com

A user can discover these different values, but doing so is a lot of work. A topology webhook should be able to derive most (hopefully, all) the required values for the user, and allow the user to provide optional values in addition to the required ones.

Brilliant idea! How would a cluster opt in to this though? Label selector? Possibly using annotation? Thinking about multiple clusters in same NS, that have different proxies to use.

@dlipovetsky Why is .elb.amazonaws.com required (obviously for AWS only I mean)?

@jimmidyson Looks like I grabbed that string from our an internal e2e test, which happens to run in AWS.

Done!


Compile Error (node v6.0.0)

# error messages
[13:06:10] Starting 'compile-stylus'...
[13:06:11] gulp-notify: [Compile Error]
D:\Angular1Coffee-Starter-Kit\src\styles\main.styl:6:1
   2| @import 'mixins'
   3| @import 'typography'
   4| @import 'structure'
   5| @import 'layout'
   6|
------^

Path must be a string. Received undefined

[13:06:11] Finished 'compile-stylus' after 495 ms

stylus/stylus#2176

A path has the wrong name in one of the stylus files.
Stylus syntax error, open an issue on https://github.com/stylus/stylus

still have this issue even with node 6.2.2

@Shyam-Chen did you open an issue?

it seems working on last gulp-stylus (2.5.0)

yes it does!


Internal HAMT error could cause panic

Is it ok that an inconsistently setup HAMT will cause a panic?
The pointer returned here is dereferenced without nil checking.
An inconsistent setup is actually checked earlier within the method returning the pointer here but it silently passes nil just deferring the panic to the caller.
It seems like this method should return an error or else own the decision to panic when in a bad state and not check the index against the length of the Pointers array.

A year has passed and the link has drifted out of date, but @rvagg made the same observation and recommends adding an error in comment: https://github.com/filecoin-project/go-hamt-ipld/blob/master/hamt.go#L745


Missing HyperOrdering?

Howdy! I just came across this thesis (https://schulzchristian.github.io/thesis/thesisOleKroeger.pdf) and I am thrilled to see there is finally a new implementation pushing the fill-ins to a new level! According to the thesis, the HyperOrdering method has been implemented and integrated into KaHIP, but I did not find any evidence that the method is available in KaHIP and ready to use. Do you have any plan to release this new method in the near future? Really looking forward to it!!

Hi,
Thank you! We are still working on improving the method and afterwards will publicly release it.
Best
Christian

Any updates on this?

No, this probably needs a lot more time. Sorry that i dont have better news for you atm.
Best
Christian


Why does groupBy return Partial Record?

What is the usage case for this Partial type? Could it just return Record?

@user753 that's actually a good question and I don't really remember 😅 but I feel the Partial type might be redundant, I will look into it

@user753 fixed in v4.0.0-rc.0 (you can install it with the next tag, yarn add @mobily/ts-belt@next


db:create hangs with mongodb

db:create hangs with:
  grunt db:create
  Running "db:loadConfig" task

  Running "db:createInternalTask" task
  Trying to create a new database

verbose mode doesn't show additional info

@BlueHotDog I know this is a closed issue but even MongoDB sometimes requires migrations, especially in cases of changing existing attributes for records or pushing pre-canned data into it (i.e some predefined users). Depending on my time commitment, I might look into this if you guys don't mind having that logic in the codebase.

@sgnn7 sounds logical, please keep in mind that i dont have the time to maintain this project,
I'll be happy to review the code etc.

@BlueHotDog Fair enough - makes sense to me :)


Once again Tesla breaks token refresh and new token generation

Happily running for 2 years, upgrading regularly.
Yesterday my token expired and the internal refresh function has broken.
I tried manually signing back into my tesla account (in TM) without success, also failed is adding known good tokens to the advanced page.
I have MFA enabled on my account but never get prompted for this in TM, I don't get presented with captcha when signing into my account on tesla.com
Version 1.23.7 running on my own server behind a random VPN exiting in the UK

I moved my home install from docker-compose to Kubernetes yesterday and could not login anymore, even with a 100% correct login/pass. The trick for me was to get an Auth app for tesla (literally called "Auth App For Tesla". That gives you a token and refresh token, and with that I could login again.

I moved my home install from docker-compose to Kubernetes yesterday and could not login anymore, even with a 100% correct login/pass. The trick for me was to get an Auth app for tesla (literally called "Auth App For Tesla". That gives you a token and refresh token, and with that I could login again.

I already tried using tokens generated elsewhere, I've tried that again without success.
Externally generated tokens work fine on my nodered instance, but are "invalid" in TM, the log shows this
2021-08-16 07:26:15.753 [error] POST https://auth.tesla.com/oauth2/v3/token -> error: "timeout" (60280.580 ms)

Same here. Getting non existent domain on the cred login and Error: Tokens are invalid on the token login

New TeslaMate user that just getting things set up... got this error that I believe is related (although could be due to me not setting it up correctly?):

So I had to reinstall a pi, and with a fresh install, I am getting this error now. I know the setup is correct. I have another instance running on the same network (on another machine) which is working OK, so something Tesla has changed on their back end.
Anything I can help try and debug and share the logs?
Here is what I see in the docker logs:

And I get the same error.

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

When was that as it isn't working for me?
Thanks

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

When was that as it isn't working for me?
Thanks

As of two days ago I generated the token using the Auth App for Tesla.  If you know of a process to generate token ourselves without relying on an app that'd be appreciated!  Def would like to not rely on an app for token generation... for all the other solution I googled didn't work

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

When was that as it isn't working for me?
Thanks

As of two days ago I generated the token using the Auth App for Tesla. If you know of a process to generate token ourselves without relying on an app that'd be appreciated! Def would like to not rely on an app for token generation... for all the other solution I googled didn't work

That doesn't work for me - I can generate a new token that TM rejects but I can then use in my own code or I can try a token that I've been using but that also gets rejected by TM.
(Separately my code has been unable to get refresh working so I have to generate a new token every 45 days)

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

When was that as it isn't working for me?
Thanks

As of two days ago I generated the token using the Auth App for Tesla. If you know of a process to generate token ourselves without relying on an app that'd be appreciated! Def would like to not rely on an app for token generation... for all the other solution I googled didn't work

I confirm that auth app works fine for me … there is no captcha error or display … I don't know if this app handles captcha requests …
In my case, I have not enabled the 2 factors authentification with my Tesla account … is this "detail" important ?

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

When was that as it isn't working for me?
Thanks

As of two days ago I generated the token using the Auth App for Tesla. If you know of a process to generate token ourselves without relying on an app that'd be appreciated! Def would like to not rely on an app for token generation... for all the other solution I googled didn't work

I confirm that auth app works fine for me … there is no captcha error or display … I don't know if this app handles captcha requests …
In my case, I have not enabled the 2 factors authentification with my Tesla account … is this "detail" important ?

MFA could be the issue as I have that enabled (but have done since Tesla first added the feature)

OK, so I stopped routing via my VPN and have been able to get authorised, very strange

FWIW, I'm also seeing the "Error: Captcha does not match" problem with version 1.23.7

@bfoz Using API access/refresh token I was able to log in!

I finally got it working too. I'm not sure what the problem was.
For posterity, I used the Teslascope instructions linked in the comments of #1888 (https://teslascope.com/help/generating-tokens).

OK, so I stopped routing via my VPN and have been able to get authorised, very strange

Its not uncommon for backends to be picky about IP blocks known to belong to VPN services since they can be used by ne'er do wells and ban evaders and the like. "But Im a good guy, not some hacker!" which may be true, but how would any node along the path, including the destination service, know bad guy traffic from good guy traffic coming out of the same exit node without running a transparent proxie attack and inspecting each packet? Answer: you dont. If its a known VPN provider routing you through an exit node that is filtered on some level by either tesla or the virtual compute farms/'cloud' their services run on for some reason (either due to a blanket rule towards VPN providers, or trouble with some s'kiddy using that provider before to cause issues) that could be a reason for the connection over the VPN failing to authenticate. Or possibly something to do with how they generate the authentication, like using your public facing IP (which from your end might be the router IP to the internet, not the VPNs exit node depending on how your network and computer are configured) or some other thing finger-printable to compute a token which doesnt end up passing muster once its decoded on the other side. I noticed on the old solarcity login they check what fonts are installed, and if the page can run various audio and video file types as (what I imagine to be) part of the finger printing process to uniquely identify devices, for some reason (IIRC the script file name in chrome inspector was 'twinkle'). I have no special knowledge of teslas security, just passing along some areas of interest regarding internet security practices to look into if anyone wants to poke at the issue more.


Class Resource constructor parameters need to include its KB

Each Resource should have a URL, and a KB (rdflib IndexedFormula) that identifies and provides the data for the Resource.
Then Resource should have generic get(property) and set(property) methods that take qualified property names (using rdflib Namespaces) to get and set properties. The implementation does a query on the KB to access the property. This makes Resource completely open and dynamic.
Subclasses of Resource based on OSLC standard domain classes may provide specific methods for properties for convenience, and may choose to cache the properties locally to avoid repeated queries.

Done


Removing unnecessary keys from JSON response

Noticed that the JSON response will return additional information like "queries" and "input".
Is there any option to remove these from the response JSON? The queries information is actually a security concern as it exposes the database tables and columns on client side.
$response = datatables()->of(Country::query())->toJson();
JSON Response:
{
"draw": 1,
"recordsTotal": 246,
"recordsFiltered": 246,
"data": [...],
"queries": [{
"query": "select count(*) as aggregate from country",
"bindings": [],
"time": 0.57
}, {
"query": "select * from country order by COUNTRY_CODE asc limit 10 offset 0",
"bindings": [],
"time": 0.36
}
],
"input": {xxx}
}

Just set APP_DEBUG=false

Hi Yajra,
Thanks for responded so promptly. Have tested and it works as like what you have mentioned :)


Languages

We MUST NOT allow new code into cachet unless it has all static text in languages files, and all languages have been updated otherwise the backlog on languages becomes so large they end up totally broken and need to be removed.

I was going to make this a rule earlier in the project, but I figured we should wait until we have the ability to translate (we do now with CrowdIn) and move existing static text out.
This should go into CONTRIBUTING.md.

:+1:

:+1:


LinkML support for future profile development

Expanding on a discussion with @simleo in the WRROC meeting.
At Manchester we've just started trying to use LinkML to write schemas for RO-Crate validation. LinkML schemas are YAML-based and therefore a lot easier for inexperienced users to comprehend and add to - and crucially, they can also be converted to SHACL. We think that it's important for RO-Crate profile developers to be able to write a validation schema for their profile themselves, and LinkML is a more approachable framework than SHACL to achieve this (as profile developers may not be linked data/RDF experts).
There has been interest and discussion around this previously: see https://github.com/ResearchObject/ro-crate/issues/264 and https://github.com/linkml/linkml/issues/1462
Thinking about how future profiles could be developed using LinkML in a way that's compatible with this validator package, there are a few possible approaches:

support LinkML schemas directly within the package (don't know if this is possible)
include LinkML schemas and their SHACL conversions within the repo, such that developers can update the LinkML and the SHACL conversion is automatically generated for the validation code to use
develop LinkML schemas in other repos, and include just the SHACL conversions in this repo

Please let me know your thoughts about what the best direction would be.

The LinkML repo is published on PyPI, so could be added as a dependency. The same goes for pySHACL.
I'm not really sure of the advantage of supporting LinkML directly, since it will always be converted to SHACL and so embracing SHACL makes more sense to me. For this reason I think it would make sense to create a separate SHACL repository, then add a shacl extra to this package that pulls in pySHACL and that repo to validate against. That way it doesn't make the installation heavier for people who are using other validation standards.
If you wanted to also support LinkML then you could create another repo with the LinkML, then add a linkml extra that pulls in the linkml package and that schema. Then when the validator runs, it does the conversion to SHACL and validates it. This could be done as a second step though, so as to work in manageable chunks.
Happy to help with any of this.

Hi all,
this seems like a good proposal @elichad. We were discussing it with @kikkomep and @simleo just yesterday and we’re all in agreement that being able to use it as an alternative to SHACL could make adding support for additional profiles more approachable.
Our first impression is that the best way to start integrating LinkML support would be the second approach you suggested:

include LinkML schemas and their SHACL conversions within the repo, such that developers can update the LinkML and the SHACL conversion is automatically generated for the validation code to use

The “automatically” word needs some discussion though. We could have a directory within the package for the LinkML profiles, but the profiles wouldn’t be actually used at run time.  Instead, we’d propose the simple solution of having the profiles converted to SHACL as part of the development or packaging process. This should make it easier to test the converted profiles and fix things as necessary before release; keeping the conversion process prior to run time should also help make the tool more robust and easier to debug.  Since we discussed this yesterday, @multimeric joined the conversation and also made some points that we should discuss together.
To implement the LinkML -> SHACL conversion it looks like we can use the SHACL generator you referenced.  @kikkomep ran some experiments and managed to successfully create a LinkML validation profile, convert it to SHACL with the generator and use it within rocrate-validator. The process did expose some small bugs in the internal SHACL parsing (which have been fixed) and there is an open issue with respect to how to manage severities.  For the conversion, there could be either a dedicated script or subcommand that runs the conversion and lays out the resulting ttl following the directory structure used by rocrate-validator for the validation profiles.  The profile.ttl file would have to be created manually (though, if we wanted, it wouldn’t be too hard to create a little script to guide the collection of the required metadata).
As I was saying, one thing that needs some careful thinking is how to attach severities (MUST, SHOULD, MAY) to the LinkML checks. A solution could be to use annotations, but that would need support from the conversion script/subcommand to parse that information out of the resulting ttl and use it to lay out the checks appropriately in the directory structure.  Another alternative, still using LinkML annotations, would be implementing additional SHACL parsing in rocrate-validator to extract the severity annotations (there's already some parsing to extract metadata). We'd be happy to hear other better/simpler alternatives.
As for helping, we're happy to receive and support PR's on this issue.  Let's just agree on the approach before anyone starts hacking :-)

The PR #8 introduces support for the severity property in both SHACL and Python requirement checks. Specifically, SHACL requirements can directly use the SHACL sh:severity (sh := https://www.w3.org/ns/shacl#) property to define the severity of a constraint. The folder structure typically used in validation profiles — consisting of the must, should, and optional folders, which assign severity levels to the requirement checks - is still supported but not mandatory.
This feature should simplify the process of converting a LinkML specification to SHACL, as the output from the conversion process can be directly used by the validator without requiring the creation of the mentioned folder structure. From my experiments, simply annotating the LinkML slots with the sh:severity property should be sufficient to correctly assign the severity levels to each constraint. You can also use annotations to customize the name, description of a requirement check, and the corresponding error message, if needed, as shown in the following example:
Person:
    is_a: NamedThing
    description: >-
      A person....
    class_uri: schema:Person
    slots:
      - primary_email
    slot_usage:
      primary_email:
        pattern<EMAIL_ADDRESS>        recommended: true
        annotations:
          sh:severity: sh:Warning
          sh:name: "Primary Email Validation"
          sh:description: "This requirement checks the validity of the primary email address."
          sh:message: "The primary email address is not valid."
...

By using the LinkML-SHACL conversion tool with the --include-annotations option to include SHACL annotations in the generated SHACL files, you should obtain a SHACL shape that can be directly used by the validator:
schema1:PersonTest a sh:NodeShape ;
    rdfs:subClassOf personinfo:NamedThing ;
    sh:closed true ;
    sh:description "A person...." ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [
      sh:datatype xsd:string ;
      sh:description "This requirement checks the validity of the primary email address."^^xsd:string ;
      sh:maxCount 1 ;
      sh:message "Primary email address is not valid."^^xsd:string ;
      sh:name "Primary Email Validation"^^xsd:string ;
      sh:nodeKind sh:Literal ;
      sh:order 0 ;
      sh:path schema1:email ;
      sh:pattern<EMAIL_ADDRESS>;
      sh:severity sh:Warning
    ],
  ...

All that remains is to place it in the appropriate folder within your validation profile.

@kikkomep amazing! Thank you for implementing this so quickly!

Hi all, have there been any recent updates on LinkML implementation here?

@multimeric I'm still working on this - here's a branch on my fork where I have one check working in LinkML as a proof of concept (from Workflow RO-Crate, checking that the root dataset has mainEntity).
I'm continuing to work on this. It's been slow going as I have had a lot of travel recently and not much time to put in, plus there's been a lot of fiddling and debugging as I learn the intricacies of LinkML and its SHACL conversion tool.
https://github.com/eScienceLab/rocrate-validator/tree/feat/linkml


Incorrect reception in RS485 half-duplex one-wire mode when there is no delay between TX and RX (IDFGH-11431)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.1.1
Espressif SoC revision.
ESP32-C3
Operating System used.
macOS
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-C3 Super Mini board
Power Supply used.
USB
What is the expected behavior?
I run ESP32-C3 and ESP32-S2 boards for communication with another board via UART working in half-duplex mode over a single wire (a diode is installed between RX and TX). The link to the project:
https://github.com/neoxic/ESCape32-WiFi-Link
Please take a look here for schematics:
https://github.com/neoxic/ESCape32/wiki/WiFiLink
Expected behaviour is properly received characters no matter if there's a delay or not between TX and RX.
What is the actual behavior?
I've noticed that the UART driver receives garbage when there is no delay between transmission and reception. In other words, having received a request, the remote board instantly starts transmitting a response which is not received properly by the ESP32-C3. If I add a little delay between reception and transmission on the remote board, all begins to work fine.
Steps to reproduce.

Flash an STM32F05x/STM32F07x board with:
https://github.com/neoxic/ESCape32/releases/download/rel8/BOOT1_PA2-rev2.bin

Install a diode between RX and TX on the ESP32-C3 board.

Connect RX to PA2 on the STM32 board.

Send two characters 0x00 0xFF at 38400 baud using the ESP32-C3. You will receive one character 0x80 back instead of expected two characters 0x00 0xFF.

To check that a delayed response works:

Flash the STM32F05x/STM32F07x board with:
https://github.com/neoxic/ESCape32/releases/download/rel8/BOOT1_PB4-rev2.bin

Connect RX to PB4 on the STM32 board.

Send two characters 0x00 0xFF at 38400 baud using the ESP32-C3. You will receive two characters 0x00 0xFF back.

Debug Logs.
No response
More Information.
The problem stems from inconsistency in uart_ll_set_mode_rs485_half_duplex() when dl0_en=1 and dl1_en=1 bits are enabled for the ESP32-C2, ESP32-C3, ESP32-C6 and ESP32-H2 and disabled for the ESP32, ESP32-S2 and ESP32-S3. Hence all works as expected on the ESP32-S2 in my case.
Take a look how it's done for the ESP32-C3 for example:
https://github.com/espressif/esp-idf/blob/master/components/hal/esp32c3/include/hal/uart_ll.h#L740-L741
And this is how it's done for the ESP32-S2:
https://github.com/espressif/esp-idf/blob/master/components/hal/esp32s2/include/hal/uart_ll.h#L678

I created a PR that addresses the issue: https://github.com/espressif/esp-idf/pull/12569

Hi @neoxic,
Thank you for this issue. Before start progress I would like to get more information and clarify some aspects related to the issue.

I run ESP32-C3 and ESP32-S2 boards for communication with another board via UART working in half-duplex mode over a single wire (a diode is installed between RX and TX).

According to the schematic the communication bus is just one wire signal SIG = RX/TX with diode + the GND + pullup resistor on RX-SIG (do not see on your connection diagram but it is required). This can be treated as simple bus with collisions allowed.

The problem stems from inconsistency in uart_ll_set_mode_rs485_half_duplex() when dl0_en=1 and dl1_en=1 bits are enabled for the ESP32-C2, ESP32-C3, ESP32-C6 and ESP32-H2

The bits dl0_en=1 and dl1_en=1 add additional turnaround delay between bytes (logic one on the bus during one or two baud rate cycles accordingly)  by transmitter of esp32xxx chip and due to logic of your bus should not apply to the output signal in your project. The receiver should be able to get the answer right after sending the stop bit by transmitter. What can apply to the logic according to my expectation is the bit hw->rs485_conf.rx_busy_tx_en = 1 changed in your code. This behavior applies to bus snooping and collisions avoidance functions implemented differently in some chips and should be tested intentionally to not break existing functionality of the driver.
I would agree and don't see any reason to add the turnaround delays by default to other chips and I believe they were added by mistake. The turnaround delays could be useful for protocols, and they should be controllable through the appropriate API.
Unfortunately, I can not repeat your results with your reference STM32F05x/STM32F07x board. Using PC with python script and TTL serial adapter could be useful but can prevent to reproduce the same results. Please consider to send the logic analyzer diagram or picture from oscilloscope (with and without your code modification) which would be very useful.
Thanks.

do not see on your connection diagram but it is required

Internal pull-up is used.

This can be treated as simple bus with collisions allowed.

Correct. There are no collisions in my case because it's always a request-response sequence.

The bits dl0_en=1 and dl1_en=1 add additional turnaround delay between bytes (logic one on the bus during one or two baud rate cycles accordingly) by transmitter of esp32xxx chip and due to logic of your bus should not apply to the output signal in your project. The receiver should be able to get the answer right after sending the stop bit by transmitter.

Well, the reality is different. Please note that tx_rx_en=0 (no local echo) in half-duplex mode which prevents the receiver from receiving while the transmitter is transmitting. And so it appears that dl1_en=1 makes the transmitter busy for one more bit. Hence, the receiver is essentially blocked. When it gets unblocked, it starts receiving one bit into the first character of a response which leads to corrupted data.

What can apply to the logic according to my expectation is the bit hw->rs485_conf.rx_busy_tx_en = 1 changed in your code. This behavior applies to bus snooping and collisions avoidance functions implemented differently in some chips and should be tested intentionally to not break existing functionality of the driver.

rx_busy_tx_en=1 is irrelevant in my case because there are no collisions on the line. I also tested with it set and cleared, and it has no effect on the issue. In the PR that I submitted, I kept this bit set just to be consistent with the other chips where it's already set, i.e. ESP32/S2/S3. If you know for sure that it needs to be cleared for the ESP32-C3/C6/H2/P4, please feel free to revert that change. Again, it's irrelevant to the issue.

I would agree and don't see any reason to add the turnaround delays by default to other chips and I believe they were added by mistake. The turnaround delays could be useful for protocols, and they should be controllable through the appropriate API.

100% agree!

Unfortunately, I will not be able to repeat your results with your reference STM32F05x/STM32F07x board. Using PC with python script and TTL serial adapter could be reproducible but can prevent to get the same results. Please consider to send the logic analyzer diagram or picture from oscilloscope (with and without your code modification) which would be very useful.

Taking into account that you agree that the turnaround delays must not be enabled by default and need to be made controllable by the user instead, I don't see how logic diagrams are relevant here, but if you insist, I will make such diagrams for sure. There's nothing outstanding in there - just four characters 0x00 0xFF 0x00 0xFF (the first two are a request, the last two are a response) with or without a delay between the pairs.

Internal pull-up is used.

Ok. Good.

No collisions allowed on such a bus unless it's open-drain output. There are no collisions in my case because it's always a request-response sequence, and the output is push-pull.

No collisions in your case with client - server communication. I meant this is analog of bus with dominant and recessive bits and possible connection of several devices to the same bus (i.e CAN, J1708). In this case the collisions are possible and monitoring of the collisions is required.

Well, the reality is different. Please note that tx_rx_en=0 (no local echo) in half-duplex mode which prevents the receiver from receiving while the transmitter is transmitting. And so it appears that dl1_en=1 makes the transmitter busy for one more bit. Hence, the receiver is essentially blocked. When it gets unblocked, it starts receiving one bit into the first character of a response which leads to corrupted data.

rx_busy_tx_en=1 is irrelevant in my case because there are no collisions on the line. I tested with it set and cleared, and it has no effect on the issue. Please also note that uart_ll_set_mode_rs485_half_duplex() doesn't have collision detection function, thus it's largely irrelevant what this bit holds. In the PR that I submitted, I kept this bit set to be consistent with the other chips where it's already set, i.e. ESP32/S2/S3.

Ah, yes. Your note with the transmitter FSM being busy for dl1_en=1 bit looks correct to me but needs to be verified carefully on all targets with the option tx_rx_en=0.  As I said before the bus snooping and collisions avoidance functions for RS485 mode may work differently on other targets. In real the behavior with tx_rx_en=0 works differently on ESP32 due to a HW issue and does not block the RX FSM during sending and then incorrectly generates event UART_BRK_DET_INT.

Taking into account that you agree that the turnaround delays must not be enabled by default and need to be made controllable by the user instead, I don't see how logic diagrams are relevant here, but if you insist, I will make such diagrams for sure. There's nothing outstanding in there - just four characters 0x00 0xFF 0x00 0xFF (the first two are a request, the last two are a response) with or without a delay between the pairs.

Well, the diagram is optional. The timings on the diagram may give more information.

In this case the collisions are possible and monitoring of the collisions is required.

I understand that collision detection is possible in certain driver modes like UART_MODE_RS485_COLLISION_DETECT, but I use UART_MODE_RS485_HALF_DUPLEX mode (uart_ll_set_mode_rs485_half_duplex()) which doesn't imply collisions. Please take a look at this comment:
https://github.com/espressif/esp-idf/blob/master/components/hal/esp32c3/include/hal/uart_ll.h#L737

In real the behavior with tx_rx_en=0 works differently on ESP32 due to a HW issue and does not block the RX FSM during sending and then incorrectly generates event UART_BRK_DET_INT.

This is unfortunate, but I don't see how this can be fixed by the dl0_en=1 and dl1_en=1 bits. Please also note that no ESP32 code has been modified by my PR (only ESP32-C2/C3/C6/H2/P4).
The rx_busy_tx_en = 1 fix was just meant for consistency with the similar ESP32-S2/S3 code. It can be reverted if you would rather such inconsistency remain, but personally, I don't see why one would because it seems it was simply copy-pasted along with the set dl0_en/dl1_en bits. Again, it doesn't matter what value this bit holds there because UART_MODE_RS485_HALF_DUPLEX doesn't imply collisions and collision detection.

@neoxic ,
Your PR/issue will go through the formal process and verification. The PR and the issue will be updated with the status information.

Just wondering if there's any progress with this....

@neoxic,
Sorry for the delay. The MR for this issue is created and manually tested. The implementation of the automatic test for all targets is not yet completed because of the low priority of this issue. I will let you know when it will be ready to be merged.


feat: UUID backend changes

Enabling existing "Add Column Feature" as well in the PR
Tests file changes for compatibility are ~500 LOC, any test file in which corresponding changes are not made to the file it is testing can be ignored

After looking into making the changes compatible with existing session file, having a default value anything other than an empty string will break backward compatibility. Hence remove "None" and replacing it with an empty string everywhere.
@bharadwaj-aditya, @VardhanThigle, @manitgupta


Windows: Crashing when changing between Channels and Boards

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary
When changing back and forth between Channels and Boards the desktop app sometimes crashes.

Environment

Operating System: Windows 10 19042
Mattermost Desktop App version: 5.0.0
Mattermost Server version: 6.0.0

Steps to reproduce
Change back and forth between the two tabs "Channels" and "Boards".
Expected behavior
No crash. Channels and Boards loading as usual.
Observed behavior
Desktop app sometimes crashes with the following error message:
Application: Mattermost 5.0.0
Platform: Windows_NT 10.0.19042 x64
Error: EBUSY: resource busy or locked, open 'C:\Users\username\AppData\Roaming\Mattermost\config.json'
    at C:\Users\username\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:40992:19
    at fs.js:1504:7
    at FSReqCallback.oncomplete (fs.js:180:23)

Possible fixes
Not sure

@s1gh So just to understand, if you have the Boards tab closed, and then re-open it by clicking a link (or by using the Global Header) and then while the loading screen is running you switch back to the Channels tab, and that causes a crash?

Thanks for the info, create a ticket to track: https://mattermost.atlassian.net/browse/MM-39428


DEC-625: Migrate about text to collections

-Created migration to add about text column to Collections and copy existing data from the exhibits.about into collections.about
-Changed all references to exhibits.about to collections.about

Make PR against DEC-376-Merge-collection-and-exhibit-models

:+1:


Something wrong in code\packaging\app\src\main\webapp\WEB-INF\web.xml ?

In the web.xml, the web-app header is :

the version is 3.1, but the head is not follow the spec3.1.

Do you want to put in a PR to fix this?

Yeah, I'd like to. There are three web.xml in cattle maybe need to be fixed.

I like cattle, so i hope to do something i can.

Moved to https://github.com/rancher/rancher/issues/3870 and linked the open PR.


Add Upgrade test scenarios for Distributed workloads

closes https://issues.redhat.com/browse/RHOAIENG-7032
Added Pre upgrade and Post upgrade test scenarios for Distributed workloads

For Pre upgrade scenario running TestMNISTRayClusterUp test for Ray cluster up and  monitor Distributed workload metrics check
For Post upgrade scenario running TestMnistJobSubmit test to verify created Ray Cluster exists, submit Ray Job and  monitor Distributed workload metrics

Run the tests in rhods-ci-pr-test/2974/  with customized branch by adding tags test looks good..
When running independently pre upgrade and post upgrade scenarios noticed some import error in Post-upgrade existing tests
11:07:48  Multiple keywords with name 'Open Browser' found. Give the full name of the keyword you want to use:
11:07:48      JupyterLibrary.Open Browser
11:07:48      SeleniumLibrary.Open Browser```


Polyglot Notebooks extension should honor FormattedValue.SuppressDisplay

This property was added recently and isn't currently honored by the Polyglot Notebooks frontend.
The TypeScript definition should expose this property as optional, since it will very rarely be used.

It this a behavior close to the %%capture magic command (see #2570)?

We're working out a design for that and they could be related, but I don't know that #!capture would rely on this feature. SuppressDisplay is intended just to suppress frontend display of some or all FormattedValue objects on a given event. The FormattedValue is still there and the events flow normally. It's there to allow kernels to return multiple formatted values when some are for UI while others are for data transfer across subkernels.
#!capture (assuming we follow the spirit of the IPython %%capture magic) would prevent the events from flowing entirely, and optionally store them for later retrieval.

Thanks for the explanation!

I thought this line https://github.com/dotnet/interactive/blob/1a2a2d3c055bb5531bbba2c25cd77b7be994a861/src/polyglot-notebooks-vscode-common/src/interactiveClient.ts#L504 handles the suppression

Yes, suppression is probably already handled - but it is cumbersome to have to always specify the parameter in the JavaScript API. I think we need a change in the code generation to make parameters that are optional in the C# API also optional on the JavaScript side somehow.


Localized cost models empty state

Localized cost models empty state

Codecov Report

Merging #2187 (7aa1433) into react-intl_changeover (d7fef3b) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@                  Coverage Diff                   @@
##           react-intl_changeover    #2187   +/-   ##
======================================================
  Coverage                  71.09%   71.09%
======================================================
  Files                        407      407
  Lines                       7452     7453    +1
  Branches                    1610     1611    +1
======================================================
+ Hits                        5298     5299    +1
  Misses                      2119     2119
  Partials                      35       35

Impacted Files
Coverage Δ

src/locales/messages.ts
100.00% <ø> (ø)

...ages/costModels/costModelsDetails/noCostModels.tsx
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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