pulseaudio-modules-bt: init at unstable-2018-09-11

Motivation for this change
I want to use LDAC
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

I'm using this way on NixOS:
  hardware.pulseaudio = {
    enable = true;
    # Replace built in pulseaudio modules with enhanced bluetooth ones
    package = with pkgs; pulseaudioFull.overrideAttrs(oldAttrs: {
      postInstall = oldAttrs.postInstall + ''

        cp -a ${pulseaudio-modules-bt}/* $out/
      '';
    });
  };

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: pulseaudio-modules-bt
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: pulseaudio-modules-bt
Partial log (click to expand)
shrinking /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/module-bluez5-device.so
shrinking /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/module-bluetooth-discover.so
shrinking /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/libbluez5-util.so
shrinking /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/module-bluez5-discover.so
shrinking /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/libldacBT_enc.so
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11/lib
patching script interpreter paths in /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11
checking for references to /build in /nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11...
/nix/store/fdkqh733nrr8f1pg5dbppw4khhihlvm0-pulseaudio-modules-bt-unstable-2018-09-11

Success on aarch64-linux (full log)
Attempted: pulseaudio-modules-bt
Partial log (click to expand)
shrinking /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/module-bluetooth-policy.so
shrinking /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/libbluez5-util.so
shrinking /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/module-bluez5-discover.so
shrinking /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/module-bluez5-device.so
shrinking /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11/lib/pulse-12.2/modules/libldacBT_enc.so
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11/lib
patching script interpreter paths in /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11
checking for references to /build in /nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11...
/nix/store/a55fjd9q808jd6602bq6gf6a2ci2gnm1-pulseaudio-modules-bt-unstable-2018-09-11


Remove debug

While we could make this configurable it was never meant to be True in production. Also, it seems that latest updates in PyCall is very verbose, making it quite noisy and confusing to have this debug=True here.
Pinging @rsignell-usgs who showed me this in his installation.

Thanks @ocefpaf for this PR. Good catch!


Need to be able to use httpAuth within a Role

What is your Test Scenario?

I'd like to be able to create a User Role for an application that requires NTLM Authentication. Currently, the httpAuth method can only be used within a fixture or test context. This creates the problem of not being able to switch users from the same test, and not being able to reutilize the session/cookies from the same role throughout the suite.
What are you suggesting?

I'd like for Role to also support httpAuth.
What alternatives have you considered?

I tried using setNativeDialogHandler to handle the native login prompt, but TestCafe does not show it when running the tests.
Additional context

I'm running my suite using Google Chrome.

Hi @matias-matteucci
Thank you for your interest in TestCafe. Yet, we didn't establish any ETA for this feature.

We would really like to be able to implement this.
Would you like to try to implement this feature yourself?

https://stackoverflow.com/questions/63635483/how-to-login-only-once-before-each-fixture-in-testcafe


added the ability to use resolveRelationUsing and still use the package

If you add a relation to a model via the Model::resolveRelationUsing() method (https://laravel.com/docs/11.x/eloquent-relationships#dynamic-relationships) the getRelation() methods in QueryToMany, QueryToOne, HasMany, HasOne, BelongsTo and BelongsToMany don't recognize it as they use method_exists to check if it's available, whereas the relations created this way are only available to the instance and when checked with relationResolver.
Added the checks with relationResolver to all the relevant places

Thank you for the PR! Tagged as v4.1.0.


Create a mechanism to query supdoc and supdocfolder

There does not appear to be a way to send a get_list action via the .NET SDK:
<get_list object="supdocfolder"></get_list>

or
<get_list object="supdoc" maxitems="20">
    <filter>
        <expression>
            <field>recordno</field><operator>=</operator><value>38</value>
        </expression>
    </filter>
    <fields>
        <field>supdocid</field>
        <field>supdocname</field>
    </fields>
    <sorts><sortfield order='asc'>supdocname</sortfield></sorts>
</get_list>

Created pull request #152

Hi Craig,
Currently, this is not yet available through the SDK. I am wondering if you have already implemented this change and would want to create a pull request for it. I am working in the meantime with an Engineer to look into it.
thank you
Karsten

Hi Craig,
We are taking a look at your pull request and try to merge this in.
Thank you
Karsten

Thank you.

Merged code as part of PR #175 , added support for logical filtering on top of changes in PR #152. Thanks for your contributions Craig! Closing this issue.


[release 0.17] Cherrypick #79 and #82

These help deal with conflicts we see talking to the K8s API at scale.

/lgtm

Oops, I wanted @tcnghia to TAL at this 😬

/lgtm


MacOS support

Hi there,
Is there also a MacOS version of the tool?
Please let me know.

Pfff https://unix.stackexchange.com/questions/13711/differences-between-sed-on-mac-osx-and-other-standard-sed.

@reinos please check out release https://github.com/Johanbos/home-assistant-import/releases/tag/v0.2.1-ci.184. The Darwin compressed file should be installable/runnable on a MacOS! I have no mac machine to test with.


[FLINK-6714] [runtime] Use user classloader for operator state copying on snapshots

Now that the operator state backend creates a deep copy of the state during the synchronous part of async checkpoints, it needs to set the user classloader as the thread context classloader, otherwise serializers that uses serialization for copying will use the wrong classloader when deserializing the copy.
A test is added to OperatorStateBackendTest to verify that the user classloader is properly used on copy.

Manually verified that https://issues.apache.org/jira/browse/FLINK-6515 should be properly fixed with this change.

+1 to merge

Thanks for the review @rmetzger @EronWright.
I'll address Eron's comment while merging.


📘 DOC: Example/Template color contrast ratios

I noticed by default in the examples/templates, the color contrast ratios come up in the accessibility portion of the Lighthouse Audit.
Primarily seems to be these 2 colors:
--theme-accent(--color-orange):  #ff5d01 - against white provides ratio of 3.08
and
--theme-text-lighter(--color-gray-400): #9ca3af - against white provides ratio of 2.53
For smaller font sizes, the minimum ratio should be 4.5 to meet AA standards.
For larger font sizes, the minimum ratio should be 3.0 to meet AA standards.
It would great to provide no accessibility issues out of the box on our examples/templates.

Hi @stramel 👋 I'm sorry that there was no recent feedback on this issue, but we did recently redesign the doc site themes and colours, and I know we have some outstanding issues/PRs as we finalize things there.
So, I'm going to close this issue here, with thanks for pointing out the contrast ratio. I know we absolutely did look at this when creating a new theme, and I think we might still be fine-tuning it. So, this request is captured elsewhere, but you're welcome to re-open new issues at any time!


AMC test confuses infer-static-timing pass

infer-static-timing errors on on one of my AMC tests:
$ futil -b verilog testIST.futil
Error: Malformed Structure: Impossible "static" latency annotation for component mem_0_comp.
Annotated latency: 1
Inferred latency: 0

Here is the input I'm using:
import "primitives/core.futil";
extern "ram_1w.sv" {
  primitive ram_1w[WIDTH, SIZE, IDX_SIZE](addr0: IDX_SIZE, @clk clk: 1, write_data: WIDTH, @go @static(1) write_en: 1) -> (@done write_done: 1);
}
comb component merge_hw_0(merged_addr0: 3) -> (shared_addr0: 2, port1_select: 1, port2_select: 1) {
  cells {
    port2_select_eq = std_eq(1);
    port1_select_eq = std_eq(1);
    shared_addr_slice = std_slice(3, 2);
    select_bits_slice = std_slice(3, 1);
    select_bits = std_rsh(3);
  }
  wires {
    port2_select_eq.left = select_bits_slice.out;
    port2_select_eq.right = 1'd1;
    port2_select = port2_select_eq.out;
    port1_select_eq.left = select_bits_slice.out;
    port1_select_eq.right = 1'd0;
    port1_select = port1_select_eq.out;
    shared_addr_slice.in = merged_addr0;
    shared_addr0 = shared_addr_slice.out;
    select_bits_slice.in = select_bits.out;
    select_bits.right = 3'd2;
    select_bits.left = merged_addr0;
  }
}
component mem_0_comp<"toplevel"=1>(@clk clk: 1, port0_addr0: 3, port0_write_data: 32, @go @static(1) port0_write_en: 1, @reset reset: 1) -> (@done port0_write_done: 1) {
  cells {
    merge_hw_0_port_2_write_en_gated = std_and(1);
    merge_hw_0_port_1_write_en_gated = std_and(1);
    merge_hw_0_write_dones_or_d1_i0 = std_or(1);
    merge_hw_0_write_done_port1 = std_wire(1);
    merge_hw_0_write_done_port2 = std_wire(1);
    merge_hw_inst0 = merge_hw_0();
    mem_0_comp_bank_0 = ram_1w(32, 4, 2);
    mem_0_comp_bank_1 = ram_1w(32, 4, 2);
  }
  wires {
    mem_0_comp_bank_0.clk = clk;
    mem_0_comp_bank_1.clk = clk;
    merge_hw_0_port_2_write_en_gated.left = merge_hw_inst0.port2_select;
    merge_hw_0_port_2_write_en_gated.right = port0_write_en;
    merge_hw_0_port_1_write_en_gated.left = merge_hw_inst0.port1_select;
    merge_hw_0_port_1_write_en_gated.right = port0_write_en;
    port0_write_done = merge_hw_0_write_dones_or_d1_i0.out;
    merge_hw_0_write_dones_or_d1_i0.left = merge_hw_0_write_done_port1.out;
    merge_hw_0_write_dones_or_d1_i0.right = merge_hw_0_write_done_port2.out;
    merge_hw_inst0.merged_addr0 = port0_addr0;
    mem_0_comp_bank_0.write_data = port0_write_data;
    mem_0_comp_bank_0.write_en = merge_hw_0_port_2_write_en_gated.out;
    merge_hw_0_write_done_port2.in = mem_0_comp_bank_0.write_done;
    mem_0_comp_bank_0.addr0 = merge_hw_inst0.shared_addr0;
    mem_0_comp_bank_1.write_data = port0_write_data;
    mem_0_comp_bank_1.write_en = merge_hw_0_port_1_write_en_gated.out;
    merge_hw_0_write_done_port1.in = mem_0_comp_bank_1.write_done;
    mem_0_comp_bank_1.addr0 = merge_hw_inst0.shared_addr0;
  }
  control {
  }
}

Basically, there is a combinational path from the go/done pairs from the primitive to the top level component. Hence, it should have the same latency. However, the go/done pairs are coming from 2 different instances and then muxed. So this is a weird use case. Maybe instead of erroring out it should just return some conservative solution?

Okay, I've reduced it to this case:
import "primitives/core.futil";

component mem_0_comp<"toplevel"=1>(@go @static(1) go: 1) -> (@done done: 1) {
  cells {
    b0 = std_mem_d1(32, 4, 2);
    b1 = std_mem_d1(32, 4, 2);
  }
  wires {
    b1.write_en = 1'd1;
    b0.write_en = 1'd1;
    done = b1.done | b0.done ? 1'd1;
  }
  control {}
}

Definitely looks like a bug!

Okay, it's even more stupid:
component mem_0_comp<"toplevel"=1>(@go @static(1) go: 1) -> (@done done: 1) {
  cells {
  }
  wires {
  }
  control {
  }
}

Huge test-case reduction victory!


Updated Enterprise plan requirement for Audio Conferencing in microsoft-teams-add-on-licensing.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/5225.

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

@LolaJacobsen PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


CI: Added isort import check for the code on pull-request

What does this PR do?

Fixes #4241
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Thanks a lot ! Great addition to Pytorch Lightning. Would you mind adding it in pre-commit and resolving unit-tests ?

When you mean resolving the unit-tests, do you mean applying the changes isort suggests? Because when I ran the pre-commit manually, a big part of the repo would be affected (160 files). Would we want to do it all in one PR, or run isort on the files as they are updated?

I added the isort pre-commit hook to this PR, and applied the changes as well.
I didn't know of a way to give the authorship of the formatting commit to an automatic task rather than myself. If you would prefer it that way, I would be grateful if you could point me to indications on how to do so and I'll reapply the formatting.

I saw that issue #4241 for this was closed, but that a PR with the same goal was merged in bolts. @Borda, @ananthsub, @tchaton, @akihironitta any updates on what you want me to do with this PR to get this merged?

@nathanpainchaud can you rebase this PR?

@nathanpainchaud I like this PR in principle, we just need to make it in smaller steps, like per PL/subpackage...
can we define just a smaller section in the tests and apply the formating there, would the listing here work?
https://github.com/PyTorchLightning/pytorch-lightning-bolts/blob/27855d002405967e8f31d4b33fec523d290e2a3a/pyproject.toml#L3

@nathanpainchaud I like this PR in principle, we just need to make it in smaller steps, like per PL/subpackage...
can we define just a smaller section in the tests and apply the formating there, would the listing here work?
https://github.com/PyTorchLightning/pytorch-lightning-bolts/blob/27855d002405967e8f31d4b33fec523d290e2a3a/pyproject.toml#L3

The bolts config you refer to doesn't limit isort to only operate on the pl_bolts and tests directories. Rather, it tells isort to treat any package in those directories as first party, impacting which block they get sorted into. Thus, it plays the same role as the known_first_party option that I use, see here: https://github.com/nathanpainchaud/pytorch-lightning/blob/ci/4241_import_sort/pyproject.toml#L18.
As far as I know, isort operates more on a file-by-file (or glob expression) for filtering which files to run on. I could look into only applying the sort on selected sub-directories tomorrow.
However, I would ask the question: why the step-by-step approach? If we know we want to apply isort on the whole repo eventually, I think that applying it incrementally (and adapting the config for each new subdirectory covered) is only gonna make the transition more complicated. For things like this, I think a one-and-done approach is much easier in the end. This is not like applying black, where much of the code itself is being rearranged.

However, I would ask the question: why the step-by-step approach?

having one huge change can overlook some minor issues and in general, it is a recommended strategy by @williamFalcon to have PRs easier to check and maintain, also it breaks all waiting PRs...
cc: @tchaton @SeanNaren @awaelchli

With the new configuration, isort only applies on root-level (i.e. setup.py), docs and benchmarks right now. That's also the only things the CI will check. However, the pre-commit hook is active, and every new file committed (across the whole repo, not just within the subdirectories mentioned) will be checked locally for sorted imports.
Eventually, we'll have to delete some glob expressions from the skipped files (https://github.com/nathanpainchaud/pytorch-lightning/blob/ci/4241_import_sort/pyproject.toml#L25-L29) to turn on the CI checks for them.

Eventually, we'll have to delete some glob expressions from the skipped files (https://github.com/nathanpainchaud/pytorch-lightning/blob/ci/4241_import_sort/pyproject.toml#L25-L29) to turn on the CI checks for them.

that could be a solution for us, step-by-step reduce the skip pattern, similar as we have type check
https://github.com/PyTorchLightning/pytorch-lightning/blob/master/.pyrightconfig.json

step-by-step reduce the skip pattern

I'm glad that seems to be doing the trick for you! Given how isort functions, I don't even know (as of now) of any other way we could do it incrementally :sweat_smile:
However, seeing as the pre-commit is still active for all files, I don't think it will be too long before most of the files' imports are sorted :wink:

step-by-step reduce the skip pattern

I'm glad that seems to be doing the trick for you! Given how isort functions, I don't even know (as of now) of any other way we could do it incrementally 😅

I have not checked it yet, just a proposal to try

However, seeing as the pre-commit is still active for all files, I don't think it will be too long before most of the files' imports are sorted 😉

yes, but not everyone is using pre-commit... for this peace by peace changes you temporarily disable it and apply isort just for some files, right?

for this peace by peace changes you temporarily disable it and apply isort just for some files, right?

Yes. Right now, I just applied isort to root-level (i.e. setup.py), docs and benchmarks to give a preview of the format used.

so let's change this PR such that it will introduce isort in pre-commit and in CI with ignoring all codebase, the create several smaller PRs wich would fix a few files and remove some patter from CI

What you're proposing is what the PR is doing in its current state (since the changes I made earlier today). The only files currently affected are the exceptions mentioned above. Tests, examples and the library itself are currently excluded from CI checks.


Nagfor: problem to compile sort.f90

Unfortunately, the NAG compiler can not compile toml-f, as it does not like the procedure pointer assignment in the pure sort_keys subroutine in sort.F90. I think, it is a compiler bug, and I've reported it already to NAG. However, it would be nice to have a quick workaround to enable testing with NAG for DFTB+ with tblite included.
Possible workarounds:

Leave away the pure attribute from sort_keys
Leave away the pointer assignment and put directly the quicksort() into the two branches of the if.

Thanks!

Removing pure will change the API, I prefer to keep API breakage at minimum even in pre 1.0 stage, especially for workarounds. I'm open to accept a patch for the second option, though.

Sure, makes sense, see #50


[FEATURE] Add yarn lint as a pre-commit hook

Is your feature request related to a problem?
Several times when pushing up work, I forget to run yarn lint:es --fix, which leads to tests failing. We should add a hook to automatically lint commits and avoid unnecessary workflow runs.
What solution would you like?
Commits are automatically linted and fixed if possible.
What alternatives have you considered?
None
Do you have any additional context?
We can use husky

[Triage] we will make/accept a contribution for this change


Apple Silicon support

build error on mac m1

build error on mac m1

Me too， at 2020 MacBook Pro， It seems that sonic is only support on amd64platform

armv8 platform was not supported.

plz

This will be a major design change. It is very hard to support another processor under the current architecture, and may require a complete redesigning. This will be addressed in the next major release, Sonic v2.

Hello, is there currently a tentative date for the release of v2 ?
Secondly, I can help on this issue if you require it, since I have a M1 mac and its alongside my interests.
Thirdly, since generics was released with go stable 1.18 recently, any plans on using them to improve performance even more on v2 ?

Could you add a skip mechanism （for AVX or other ASM code）to compile successfully. Because most people edit projects on macbook. After compile success，submit codes to git.  Debug or running on Linux.

support mac m1

anxiously waiting for v2.

+2000

We have implemented a compatibility layer (#233) recently.
This is just a thin wrapper around encoding/json as a fallback, so don't expect high performance on Apple Silicon chips for now, but it can serve as a workaround to the compilation error and will unblock your development process.
The real native support will be included in the, well, Sonic v2, which we are still actively developing.
For those who want to use Sonic on Apple Silicon Macs, this might be a viable solution for now.

export GOARCH=amd64

What about amazon Graviton processors?

at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support ARM arch in future, we still have a lot of jobs to do:

asm2asm tool supports converting ARM assembly into Plan9
ARM version of SIMD algorithm for native function Skip()\Value()\u64toa()...
alternative JIT assembler which supports ARM assembly
All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case

at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support ARM arch in future, we still have a lot of jobs to do:

asm2asm tool supports converting ARM assembly into Plan9
ARM version of SIMD algorithm for native function Skip()\Value()\u64toa()...
alternative JIT assembler which supports ARM assembly
All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case

I already installed Rosatta2 and set GOARCH=amd64. But it still does not work when i build with goland. What should I do?

but I still cannot debug program, it would not stop at breakpoint.

at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support ARM arch in future, we still have a lot of jobs to do:

asm2asm tool supports converting ARM assembly into Plan9
ARM version of SIMD algorithm for native function Skip()\Value()\u64toa()...
alternative JIT assembler which supports ARM assembly
All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case

I already installed Rosatta2 and set GOARCH=amd64. But it still does not work when i build with goland. What should I do?

After i upgrade v1.3 to v.15, it success

but I still cannot debug program, it would not stop at breakpoint.

Is there an ETA on Sonic V2 with native aarch64/Arm64/M1/Graviton/etc. support?

Hi @AsterDY and @chenzhuoyu,
If arm64 support becomes available, it will be really beneficial. If you need any assistance, I am happy to help with testing or any other.

Build and run is OK. You mean performance?

The ARM support is still not available
Build and run is OK. You mean performance?

I am trying to run it inside docker with golang:alpine image running it on M1. It does not built

Not support. Alpine lacks features needed for running sonic. Just use normal linux OS


White flash when reloading covered part of window

VSCode Version:  1.46.0
OS Version: Arch Linux 5.6.15

Steps to Reproduce:

Open VSCode and some other window.
Switch back and forth between windows and observe white flicker of the portion of the VSCode window that was covered by another window, before it gets properly repainted.

Does this issue occur when all extensions are disabled?: Yes
This issue doesn't happen with other applications running on the same desktop, only with VSCode.

Can you check if the issue happens with the insiders release https://code.visualstudio.com/insiders/

The issue is not observed in the insiders release.  Thank you, this bug has been very annoying!

Thanks for confirming!

What version will this fix be included in?

Never mind - I see this is fixed again in insiders build 1.48.

Electron 9 will be included in upcoming stable release, closing this.


ARROW-901: [Python] Add Parquet unit test for fixed size binary

This verifies that all is working properly after PARQUET-965.

+1


Command line arguments and environment variables support in uhyve

This is implemented as a two-steps process:

After kernel initialization, a first hypercall is made to uhyve to request the number of command line arguments and their sizes, the number of environment variables and their sizes
Based on this information the kernel dynamically allocates some memory to store command line parameters and environment variables
A second hypercall is made to uhyve that fills an allocated data structure with the actual value for argv and envp.

To avoid to much back and forth operations between the guest and uhyve, there is a cap in terms of how much command line parameters and environment variable we can forward. This cap is set by a cmake variable, MAX_ARGC_ENVC, defined in cmake/HermitCore-Configuration.cmake.

Thanks for your contribution! I revised your code and merged it into the branch devel. In principle, I avoid the usage of KVM_TRANSLATE. This is always a jump into the kernel. I would prefer to forward guest physical addresses to uhyve. This simplifies our life. What do you think about my new version?

I close this request because we merged it into the branch devel and soon in master.


Problem finding boost

Immediate symptom:
-- Could NOT find Boost: missing: fiber (found /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found version "1.81.0"))
CMake Error at CMakeLists.txt:38 (message):
  Please provide the path to the root directory of the boost installation
  using the -DBOOST_ROOT option

but I'm supplying that option:
cmake -D CMAKE_INSTALL_PREFIX=/work2/00434/eijkhout/opensycl/installation-opensycl-0.9.4-clx-gcc9
 -D BOOST_ROOT=/work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/include
-D Boost_NO_SYSTEM_PATHS=On
-D WITH_CUDA_BACKEND=OFF
-DWITH_ROCM_BACKEND=OFF
-DWITH_LEVEL_ZERO_BACKEND=OFF
-D WITH_ACCELERATED_CPU=OFF
-D CMAKE_VERBOSE_MAKEFILE=ON
-D BUILD_SHARED_LIBS=TRUE
/work2/00434/eijkhout/opensycl/opensycl-0.9.4

What's in my boost root?
[staff opensycl:1704] ls /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/include
boost/
[staff opensycl:1705] ls /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/include/fiber
ls: cannot access /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/include/fiber: No such file or directory
[staff opensycl:1706] ls /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/include/boost/fiber
algo/                 channel_op_status.hpp   detail/              fss.hpp     mutex.hpp       pooled_fixedsize_stack.hpp     recursive_timed_mutex.hpp  type.hpp
all.hpp               condition_variable.hpp  exceptions.hpp       future/     numa/           properties.hpp                 scheduler.hpp              unbuffered_channel.hpp
barrier.hpp           context.hpp             fiber.hpp            future.hpp  operations.hpp  protected_fixedsize_stack.hpp  segmented_stack.hpp        waker.hpp
buffered_channel.hpp  cuda/                   fixedsize_stack.hpp  hip/        policy.hpp      recursive_mutex.hpp            timed_mutex.hpp

What's missing?

Hi, fiber and context are not header-only libraries, so please look for a libboost_fiber.a/so and libboost_context.a/so. Probably in the lib subdirectory of the boost root.

You might want to remove the include from the boost root and just use /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9

Hi, fiber and context are not header-only libraries, so please look for a libboost_fiber.a/so and libboost_context.a/so. Probably in the lib subdirectory of the boost root.

[staff opensycl:1732] ls /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/lib/lib*fiber*
/work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9/lib/libboost_fiber.a

I can't figure out how to get boost to build an .so, but at least there is a static lib.

You might want to remove the include from the boost root and just use /work2/00434/eijkhout/boost/installation-boost-1.81.0-clx-gcc9

Tried, exactly same error.

Following https://www.boost.org/build/doc/html/bbv2/tutorial/linkage.html just add link=shared to the b2 invocation?

// TLDR; Rebuild boost with "--with-fiber --with-context --with-filesystem --with-atomic --with-test" options.
I confirm the issue. I use Windows. Tried 0.9.4 hipSYCL release, as well as the latest version from github, and various boost versions from 1.75 to 1.83. Fiber component is built, and the .lib file is present.
After setting Boost_DEBUG to ON, I've noticed, that FindBoost correctly finds fiber, but it also writes this just before saying that it didn't find fiber:
"-- Adding boost_fiber dependencies: atomic;context;filesystem;headers"
Although atomic and filesystem were built and I could see corresponding libraries, adding "--with-filesystem --with-atomic" to b2 command (which already had "--with-fiber --with-context --with-test") helped, and FindBoost was able to find fiber component.

// TL;DR: Rebuild boost with "--with-fiber --with-context --with-filesystem --with-atomic --with-test" options.

Do you mean as options for bootstrap.sh? I doesn't recognize those options.

// TL;DR: Rebuild boost with "--with-fiber --with-context --with-filesystem --with-atomic --with-test" options.

Do you mean as options for bootstrap.sh? It doesn't recognize those options.

No, I meant options for b2 which is created after launching bootstrap.

encountered the same problem on ubuntu since I had install ed libboost-dev instead of libblibboost-all-dev.
use
sudo apt install libboost-all-dev

// TL;DR: Rebuild boost with "--with-fiber --with-context --with-filesystem --with-atomic --with-test" options.
No, I meant options for b2 which is created after launching bootstrap.

Still the same error.

Still the same error.

I am not sure actually how if this solution is applicable to your problem, as b2 is Windows-related, no? Anyway, this is how I build boost now so AdaptiveCpp succesfully builds after. Change the paths according to your preferences.
b2 toolset=clang-win address-model=64 variant=release,debug --build-type=complete stage --with-fiber --with-context --with-test --with-atomic --with-filesystem --with-headers install --prefix=c:/libraries/boost_1_83_clang17

Some of you options such as build-type=complete don't work on Linux, so I had to tinker some.
And it's still not finding boost fiber.


Github Security vulnerability check for PulseTile-RA

Were found a potential security vulnerability in PulseTile-RA repository

@tony-shannon @PhilBarrett
Bogdan updated dependencies in his PR. Could you please check if it solved the problem?


SVG \not\subset or \not\supset error!

When outputting SVG in v3, \not\subset or \not\supset is not displayed.
please check.
Thank you.

This turns out to be the same issue as #2402, and the work-around listed there should resolve the problem.  It will be fixed in the next release.

Thank you for answer

Fixed in v3.1 released today.


feat: update intel-ipsec-mb to 1.5

Development files for Intel(R) Multi-Buffer Crypto for IPSec library
Issue: https://github.com/linuxdeepin/developer-center/issues/7284
Log: update repo

/test all

/integrate


autogen then configure then make install yields non-working tree

Thanks for CppUtest!
When we are using a program that includes string.h or , then compile fails with this sequence:
./autogen.sh
./configure --prefix=~/cpputest
make
make install
cd examples
make CPPUTEST_HOME=~/cpputest
compiling HelloTest.cpp
/usr/include/string.h:166:37: error: expected identifier before string constant
 extern char *strdup (const char *__s)
                                     ^
/usr/include/string.h:166:37: error: expected ‘,’ or ‘...’ before string constant
In file included from <command-line>:0:0:
/home/jbrandeb/cpputest/include/CppUTest/MemoryLeakDetectorMallocMacros.h:62:21: error: conflicting declaration of C function ‘char* cpputest_strdup_location(const char*, int)’
 #define strdup(str) cpputest_strdup_location(str, __FILE__, __LINE__)
                     ^
/home/jbrandeb/cpputest/include/CppUTest/MemoryLeakDetectorMallocMacros.h:55:14: note: previous declaration ‘char* cpputest_strdup_location(const char*, const char*, int)’
 extern char* cpputest_strdup_location(const char* str, const char* file, int line);
              ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/string.h:174:55: error: expected identifier before string constant
 extern char *strndup (const char *__string, size_t __n)
                                                       ^
/usr/include/string.h:174:55: error: expected ‘,’ or ‘...’ before string constant
/home/jbrandeb/cpputest/include/CppUTest/MemoryLeakDetectorMallocMacros.h:63:25: error: conflicting declaration of C function ‘char* cpputest_strndup_location(const char*, size_t, int)’
 #define strndup(str, n) cpputest_strndup_location(str, n, __FILE__, __LINE__)
                         ^
/home/jbrandeb/cpputest/include/CppUTest/MemoryLeakDetectorMallocMacros.h:56:14: note: previous declaration ‘char* cpputest_strndup_location(const char*, size_t, const char*, int)’
 extern char* cpputest_strndup_location(const char* str, size_t n, const char* file, int line);
              ^~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [../build/MakefileWorker.mk:504: objs/AllTests/HelloTest.o] Error 1

I'll issue a pull request with the code changed to generate the bug.

#1149 has the example that fails to build.  I've isolated it down to the fact that the cmake generated code doesn't have any of the new strdup code due to missing the HAVE_STRDUP define, which configure ends up with.

I think this is fixed by #1192


Support passing in v1 auth tokens

Base64 decode to get API key and endpoint
example with nodejs sdk - https://github.com/momentohq/client-sdk-nodejs/pull/336

This has been implemented in v1.2.0.


Paper Discussion: 5b. LogSafe: Secure and Scalable Data Logger for IoT Devices

Please add your feedback and reviews below.

Reviewer: Huachuan Wang
Review Type: Critique
Overview
Large amounts of personal information generated from IoT devices need to prevent misuse. This paper proposed LogSafe, which can store this information securely to perform forensic analysis. LogSafe is a scalable and fault-tolerant logger than can run on an untrusted cloud infrastructure and satisfies Confidentiality, Integrity, and Availability (CIA) security properties.
Contribution
This paper presented LogSafe, which uses cloud infrastructure and controls the system’s security. LogSafe can perform online computation on logged data while preserving privacy. It can accommodate a large number of IoT devices, a scalable snapshot algorithm to defend against attacks without compromising the logger’s performance. It performance evaluation of the logger implementation to test its scalability properties
Questions

The author states that the setup time is significantly higher if the Logger needs to be provisioned. Logger provision is a one-time cost. How about the Device Negotiate? Without prevision. Is it also a one time cost? What is the benefit of using provision?

In TLS session resumption part, the author mentioned that the existing device could reuse the previous
session to reduce overhead. However, the session cannot be used forever to ensure forward secrecy. The TLS configuration time is once every hour, does that mean within this hour, the forward secrecy cannot be ensured?

Critique

The IoT device might better be set to have the capability to reuse a session up to N times instead of setting the time limit.

Table II provides the average time it takes to perform the logging sub-procedures. It is better for the author to plot a curve to show the linearity.

Reviewer: Niko Reveliotis
Review Type: Comprehension
Problem Being Solved
LogSafe attempts to create an environment which would allow for easier cyber-forensic analysis of data attacks on IoT systems using a secure data logger. Many major services (such as AWS) don't disclose the details of their infrastructure for proprietary reasons; this paper discusses how evaluating their security systems is difficult. LogSafe is an additional cloud-based option for IoT developers to use to handle data logging/collection.
Three Questions

This paper heavily leverages the use of Intel's Software Guard Extensions as one of their security measures. Unfortunately there we're no critical review slots left, but I'd consider limiting to Intel to be a critique. Also later in the paper they also state Linux not having full support of SGX (making this limitation to SGX worse). Is there an equivalent to SGX for AMD? Recent benchmarks of consumer-grade processors have begun to tip the scale of performance towards AMD, and if users have to choose between speed and security for management of these data logging services I feel the speed will be selected more often than not.

This paper refers to the lack of a full-proof solution to a DDOS attack. They say they can alleviate the issue by "requiring attackers to compromise many more machines in order to disrupt the functionality of LogSafe". Is there any sort of model that can determine the amount/percentage of machines needed to be taken offline to disrupt a system of linked nodes sharing computation? For example, you have 10 machines that offload workloads to each other. How many of these machines need to be taken down before performance is significantly reduced? Does this vary by implementation of cloud-computing solutions? Or even by location of the systems to each other?

Looking at the average performance time in figure 5, the cloud logger using SGX performs significantly worse than LogSafe. Going back to the lack of compatibility of SGX, are there other secure solutions on the processor level that have been examined? LogSafe seems to try and implement SGX in a more efficient way.

Reviewer: Sam Frey
Review Type: Comprehension
Problem:
IoT devices generate massive amounts of data about the personal lives of their users, but not all of these devices are designed with security in mind. Because IoT devices are prone to far more cyber-physical attacks than the average personal computer, it must be insured that communication a storage of this data is managed in a safe, secure way. Loggers that satisfy this condition exist for those running their own servers, but not for those using a cloud-based or distributed infrastructure.
Contribution:
The authors propose LogSafe as a solution to the problem presented above. LogSafe uses Intel's Software Guard Extensions to ensure that a cloud application storing user data can remain protected even if a hacker has access to a physical device communicating with the server.
Questions:

The paper very briefly mentions that SGX doesn't support I/O operations. If enough nodes received sufficient I/O requests to impact their performance, could this potentially compromise the system as a whole?

Because LogSafe is distributed, could moving LogSafe nodes to the Edge further improve the performance of data logging for cloud based systems?

Niko brought up the project's reliance on Intel's SGX, but the paper also only mentions testing logging performance on one machine (Dell Latitude 5480, a laptop). Could this have impacted the performance results? I am certainly not an expert in the area of distributed systems, but this seems limiting. They mention that 3 LogSafe nodes can handle 5000 devices. What about millions?

Reviewer: Greg Kahl
Review Type: Comprehensive
Problem
Many IoT devices record large amounts of data about people's personal information which when analyzed can provide sensitive information on the individuals, such as their address and times that they are home or away from home. Although that this information might not be explicitly recorded by analyzing logs from their home IoT device, unauthorized people can gain a lot of sensitive information on people
Contribution
LogSafe is proposing the design and implementation of a distributed and secure cloud based logger using SGX to ensure confidentiality, integrity, and availability. By developing a secure logger for IoT devices, the logs of potentially sensitive information harvested from various IoT devices can remain secure from other devices or users. They are using SGX to enclaves to run code securely on untrusted hardware.
Questions
1 - How exactly do the SGX enclaves work? They briefly discussed how they use the EENTER and EEXIT commands, but I didn't understand how exactly it protects against untrusted users in possession of the hardware from accessing their memory.
2 - When establishing a connection between the IoT node and the Logger node, if there is already sealed device meta data, it is unsealed and put into system memory. Is this a security threat? Will other processes be able to read this unsealed meta data to gain access to the secure logger with the encryption key?
3 - Would a malicious node be able to disable the system by sending requests just to increase the monotonically increasing sequence node? Or maybe another malicious process on the untrusted hardware?

Reviewer: Cuidi Wei
Review Type: Critique
Problem being solved
This paper addresses the problem of how to design and implement a distributed cloud-based logger for IoT devices using SGX. The logger must satisfy the CIA properties in the presence of eavesdropping, injection, and replay attacks.
Main contributions
This paper proposes a design and implementation of LogSafe, a cloud-based secure, scalable, and fault-tolerant logger that can accommodate a large number of IoT devices and a scalable snapshot algorithm to defend against attacks without compromising the logger’s performance. Moreover, this paper evaluates the performance of the logger implementation to test its scalability properties.
Critiques about the paper
How to keep the storage efficient and prevent the storage from overhead? Permanent storage may be effective for authentication, but if there is too much data, it will incur much more overhead.
Encryption safe is doubtful because once the encryption way is leaked, the communication will never be secrete.
How about the latency of the LogSafe?

Reviewer: Reese Jones
Review Type: Critical Review
Problem Being Solved:

This paper discusses the problems and obstacles facing the development of loggers for cataloging the storage of information generated by IoT Devices. The paper describes a method for implementing such a logger which supports the usage of Intel Software Guard Extensions and follows the guidelines of Confidentiality, Integrity and Availability.

Main Contributions:

The authors present a solution to the IoT device logger problem called LogSafe. They claim that LogSafe adheres to both SGX and CIA standards and is a faster, more reliable (fault-safe) method of efficiently and effectively log traffic across the Internet of Things

Questions:

It is mentioned that around 5,000 devices can be serviced with 3 LogSafe nodes, would that number scale linearly as you expand to larger and larger networks of devices?
Following the first question, is there a point wherein there is an overhead cost that makes the LogSafe implementation no longer the best option for logging? (Although if I understand correctly, LogSafe is the only practical option so this may be irrelevant)
Is there a prohibitive processing latency for logging all of the data and storing it in the cloud? I know that this seems to be the best way to perform this technique but does it have any sort of impact on the function of the individual IoT device and its functional performance?

Critiques:

In the system overview section the paper references a deployment for a number of devices in the billions range but as I said before the example deployment they listed was 3 LogSafe nodes to 5,000 devices.
Although the paper addresses that there could be a situation wherein a LogSafe node is DDoS'ed and loses connection to a number of devices I was not satisfied with their explanation of how they protect from having that point of failure.

Reviewer: Alvaro Albero
Review Type: Critical
Problem being solved
With the increase use and penetration of IoT the amount collected of private data is rapidly increasing. Many of the IoT devices available are generally not secured and the data they are working with is exposed to many different threats.
Main Contributions
The paper proposes LogSafe as a solution for this problem. Assuming that making the devices secure enough is not feasible, LogSafe is a logger system that allows to perform forensic operations after and attack has occurred. LogSafe uses SGX trusted software for confidentiality, integrity, and availability. It ensures highly scalability and fault tolerance as It is cloud based, without losing control of the system.
Questions

Is the manager a single point of failure? Could attacks focus on this device as it is considered a trusted device?
The scenarios where snapshots are created is limited due to the overhead of monotonic counter. Is the number of snapshots created enough to maintain integrity or reducing them to avoid overhead limits the integrity of the system?
Do all IoT devices use a public and private key? Is this assigned from the manufacturer or the users of the devices?

Critiques

The system explained in this paper and the results obtained are very interesting but I find the abstract misleading. One of the points they emphasize in the abstract, introduction and conclusion is the ability to perform forensic analysis on attacks targeting the data. What I see afterwards is a really good explanation on why the system is secured and how it satisfies CIA properties but I do not see an explanation talking about that forensic capabilities, the benefits of it and how attacks are detected and addressed.
Section 4G talks about how the system information is secured once it gets to the cloud but how about if the IoT devices have been compromised. The paper mentions how the data is protected against malicious nodes trying to access it but it only mentions one reference and no explanation on how an attack on an IoT device that can send corrupted information is detected and addressed. Again, this capability is highlighted in the abstract, introduction and conclusion and not really explained throughout the paper.
LogSafe uses Hashchain that is a similar approach to integrity then Bitcoin and blockchain developed a few years later. However, the Hashchain reference paper admits that their solution is not complete and some events could be hidden from the timelines. They mention that they plan to alleviate that problem by using an approach to the Byzantine Generals Problem. Bitcoin and blockchain were able to solve this problem so maybe they could have used a more recent reference to tackle integrity.

Reviewer: Sean McBride
Review Types: Critique
Problem:
Security logs traditionally play an important role in understanding what has recently occurred on network systems and performing cyber forensics after the fact to understand the nature of an attack. IOT is a fast growing area, but it has traditionally under-invested in security and now is a large attack target. Additionally, there is little visibility into this area because of poor logging, so there is little understanding of the nature of these attacks and how IOT might act as the soft underbelly of larger attacks.
Contribution
The authors create LogSafe, a logging system that can run on top of untrusted cloud computing infrastructure, by using SGX. It uses a hashchain and only uses the Intel Monotonic Counter in contexts where the performance penalty isn't too expensive (Tracker versus Logger).
Questions

In Figure 4, why does performance seem to improve as more IOT devices push logs? This seems opposite. Additionally, wouldn't performance have to degrade at some point under heavy load?
Why is it that Windows can interact with physical monotonic counters, but Linux cannot? Has this changed since publication? Why are physical monotonic counters so slow? Is this something that might improve in the future?
How does a hashchain work?

Critiques

The paper seems very disingenuous. LogSafe appears to be a general-purpose logging service designed to run in an untrusted cloud. This is the primary value add, and there is no obvious connection between the system architecture and IOT. I strongly suspect the researchers built the system and then rebranded as IOT for grand or publication purposes. The authors handwave around fitness trackers and other such devices, but they assume Intel Edison devices running Linux (or better yet, Windows IOT) plugged into a wall. I doubt this scales down to real-world IOT devices. The evaluation then seems surprised by the poor performance of their system on even the Intel Edison, a relatively beefy IOT device. This smells like reuse of an existing codebase with little to know systems thinking for the domain.
It is also unclear to me what the situations are where a customer would use untrusted cloud services. Per NIST, cloud is a shared-responsibility model built on trust. Why use cloud at all then if you are unwilling to accept this? Additionally, the architecture of having a Manager outside of the cloud in an Equinix colo data center with a DirectConnect to the cloud is EXTREMELY EXPENSIVE, especially accounting for the fact that CSPs bill you for all outgoing network traffic. This approach also seems to make the Manager a large single point of failure.
The use of a DHT algorithm like Chord seems odd if only studying 1..3 nodes. Distributed algorithms like this are usually highly dynamic and scale up really high. I would have expected the evaluation to study throughput while scaling up the logging nodes to 50 nodes+. Additionally, when a chord node joins, ownership for parts of the namespace would change. I would assume that this would force the IOT device to perform another complex handshake. This should have been considered in the eval section.

Reviewer: Zach Day
Review type: Comprehension
Problem
In the IoT sphere, attacks on personal data have become more and more frequent as the number of devices has increased. While actively preventing the exposure and tampering of data remains an active research field, there has been significantly less work done in storing data in logs for posthumous analysis of attacks.
Contribution
LogSafe proposes a secure, reliable, verifiable system for IoT devices to record connection statistics and other network heuristics.  They utilize Intel's SGX, a new set of instructions that enable creating a confidential & trusted environment within the system, protecting applications from tampering even if the attacker has physical access to the machine. LogSafe provides a number of reliability features that ensure logs are up to date and do not get overwritten by backups desyncing from the main log, guarding against replay attacks.
Questions

The authors do not mention the programming overhead that would be incurred for applications developed to use LogSafe. I assume special considerations need to be taken to make the code on the IoT device communicate with LogSafe nodes, so I'd like to see the workload of that on programmers.
The author mentions that I/O is impossible from within an SGX enclave. The paper claims that LogSafe is secure even when attackers have access to host nodes. My concern is with how these two factors interact with each other -- even if the hashchaining algorithm allows for verification of data integrity, couldn't an attacker just interfere with the output of the log to disk, preventing the log from being written at all?

Reviewer: Sam Hanna
Review Type: Critical
Problem Being Solved:
This paper talked about LogSafe, a secure logging software to log data for audits and forensics in case of vulnerabilities. The number of IoT devices is increasing and they are not being built for security, so they are bound to be exploited. LogSafe is designed with the key CIA (Confidentiality, Integrity, Availability) security triad in mind to find devices that have been exploited and help with forensics.
Important Areas:
LogSafe focuses on providing a safe and scalable logger for forensic uses. They do this by utilizing the SGX architecture and the cloud. They focus on security and ensure that there are confidentiality and integrity throughout with encryption and hashing schemes in place. The logger uses nodes to decentralize the system and provide some assurance against availability attacks and provide for multiple nodes at the same time.
Questions:

What would LogSafe cost for the IoT devices using them? Would it really be feasible for a lot of IoT devices to be using this? What incentive do they have to pay the cost of a logger, when they don’t have any incentive to provide security as is?
Does the system actually provide anything for forensics, or does it just log and store all of the data?
Are there any privacy concerns with using LogSafe, if an IoT device used this software is it possible that LogSafe would share the data that is stored with Investigators or others without the consent of the device per the third-party doctrine?

Critiques:

They generally do a good job talking about security, and they do describe basically how the SGX works, but I think it is still kind of hard to get a solid understanding of what it is and how it works within the system. I also think the differences between the figure 1 system description and the figure 2 system description are vast and confusing.
They talk in-depth about security and scalability and those are both vital features. They don’t talk about the uses of this nearly enough, I am still unsure what type of devices would be using this. I think talking about the use cases would help to round out the paper and give a better high-level overview of what it can do.
They talk about how it is impossible to make all devices secure, so they should log the data instead. They do a good job of thinking through security concerns, but attackers will always find a way in, that is true. To me, this seems like a security risk of having all the data in one place, if there is one vulnerability in some part it could lead to all of the devices using it being compromised.

 These devices tend not to be the most secure things. In order to provide better security, it'd be good to have accurate logs so we can analyze attacks after the fact.
Contribution
They suggest LogSafe a system for logging. It's cool because it provides the following three properties:

Confidentiality: Unauthorized access to the logs is impossible
Integrity: The logs cannot be modified or deleted by an unauthorized individual
Availability: The logs are always available for introspection by authorized individuals

This is especially impressive, since this is all running on the cloud -- and they assume that that system is not fully trusted either.
Questions

Does hashchain = blockchain?
Can multiple tenants securely share the LogSafe infrastructure?
Is there integration of "blockchain" and "SGX" more generally useful?

Critique

They mention side channel attacks on SGX in brief -- how serious is this in a Spectre world? Feels like this is a flaw in their security model (maybe not at time of writing)
This seems like a super complex infrastructure, and a solution in search of a problem. In today's world, can't most applications just send their logs to a trusted third party? (Who then just has a simple authentication system?)
Maybe I'm missing something, but couldn't you just put a public key on each device, then just encrypt and send logs to some sort of reliable block storage? (assuming you even need to run your own log infrastructure)

@huachuan, Huachuan Wang, Critical: Exactly how large is the overhead of Device Negotiate?
@nikorev, Niko Reveliotis, Comprehension: Is there an equivalent to SGX for AMD?
@nikorev, Niko Reveliotis, Comprehension: Is there a model that can determine the percentage of machines needed to be taken offline to disrupt a system of linked nodes sharing computation?
@samfrey99, Sam Frey, Comprehension: If enough nodes received sufficient I/O requests, could this potentially compromise the system as a whole?
@samfrey99, Sam Frey, Comprehension: Could moving LogSafe nodes to the Edge further improve the performance of data logging for cloud based systems?
@gkahl, Greg Kahl, Comprehension: How exactly do the SGX enclaves work?
@gkahl, Greg Kahl, Comprehension: If there is already sealed device meta data, it is unsealed and put into system memory. Will other processes be able to read this unsealed meta data?
@chandaweia, Cuidi Wei, Critical: Is there a method to efficiently store logged data?
@reesealanj, Reese Jones, Critical: Is there a prohibitive processing latency for logging all of the data and storing it in the cloud?
@albero94, Alvaro Albero, Critical: Is the manager a single point of failure?
@albero94, Alvaro Albero, Critical: Is the number of snapshots created enough to maintain integrity
@bushidocodes, Sean McBride, Critical: In Figure 4, why does performance seem to improve as more IoT devices push logs?
@bushidocodes, Sean McBride, Critical: Why is it that Windows can interact with physical monotonic counters, but Linux cannot?
@bushidocodes, , Sean McBride, Critical: How does a hashchain work?
@zacharied, Zach Day, Comprehension: Even if the hashchaining algorithm allows for verification of data integrity, couldn't an attacker interfere with the output of the log to disk?
@s-hanna15, Sam Hanna, Critical: Does the system actually provide anything for forensics, or does it just log and store all of the data?
@Others, Gregor Peach, Critical: Can multiple tenants securely share the LogSafe infrastructure?

Shared concerns/questions:

How will LogSafe handle abundant I/O requests and how does this affect overall system performance?
The paper claims that 3 logger nodes can service 5000 devices. How well would this scale?
People mentioned the lack of tools provided directly by LogSafe to perform forensic analysis or lack of an explanation of how LogSafe would handle detecting faulty data sent by a malicious device.


Question - Address Autocomplete

@dceejay
When seeing all of those posibilties out there (Leaflet, Maptiler, Geoapify etc. ), I was thinking.......
Would love to see in Worldmap to use Address Autocomplete both as internal search on the map, and also external (eg text input box).
Is this something for the future?
Or do I need to use different map solution?
/ Ivan

Hi sorry - not quite sure what you mean... Address of what ? where in the app ?

Hi Dave
It's like when using googlemaps etc. and you want to fill out an address, it will begin to "surgest".
So I'm in the search to find something that works together with Node-RED, and it has a map (and I like worldmap), where I can get some kind of name, lan and lon - to pass on for another app.
I have found some examples on Leaflet's page.
https://leafletjs.com/plugins.html
Geocoding from MapTiler
Demo:
https://docs.maptiler.com/leaflet/geocoding-control/

got it - let me think.

@grawsom - I've had a look - and the issue with the  Nominatum service I am using is that it only return exact search matches... there has been a request for it to return fuzzy matches open for a long long time so I can't see it being fixed any time soon.
So looking at alternatives the best I have found so far is https://photon.komoot.io that does seem to give a list of sensible answers IE best exact match first but reasonable close matches next - BUT for me at least it seems to sometimes go very slow - eg 5-10 seconds per request... so not exactly useful for type-ahead suggestions...
So I will keep looking - any suggestions gratefully received.


Use yarn for travis

This should cause faster and more reliable builds for TravisCI.

 How do we keep yarn and package.json versions in match?

ah its autogenerated file.


Need Crash/Warning On Double Defined Ground Atoms

The attached model has ground atoms for an open predicate defined both as observations (ObservedAtom) and targets (RandomVariableAtom).
PSL currently silently accepts this.
We need to make some noise when this happens.
Perhaps the severity (warn or crash/error) can be controlled via a config option.
ising-model-simple.tar.gz

Note that this cannot be enforced at the DataStore level.
An advanced user may load multiple partitions for complex experiments.
Asking for the Database to handle it once partitions are resolved is also a no-go (too time consuming).

This is only relevant for open predicates.
Maybe we can check in the PAM when we mark the RVAs to persisted (setPersisted()).
A duplicate atom would get persisted twice.
But what about lazy?

Lazy should be fine.
LAM now extends PAM.

Complete in e6d46765d2a2a6dc1f6cfc73f656ed5cd908177f.


It is not working well with Postgres FDW

Describe the bug
When I try to use it with Postgres FDW, it gets connected to the foreign server only in the session when I create the foreign server, after that it does not pick the github credentials either from environment or foreign server config
Steampipe version (steampipe -v)
Example: v0.3.0
Plugin version (steampipe plugin list)
v0.43.0
To reproduce
Steps to reproduce the behavior (please include relevant code and/or commands).
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

@raybittuiq apologies for the issue.
Could you please outline the steps to reproduce the error correctly? Please include the relevant commands and errors that you are encountering.
Thanks!!

I followed this https://hub.steampipe.io/plugins/turbot/github, here I executed these commands with my github PAT in config
CREATE EXTENSION IF NOT EXISTS steampipe_postgres_github; CREATE SERVER steampipe_github FOREIGN DATA WRAPPER steampipe_postgres_github OPTIONS (config 'token = "github_pat"); CREATE SCHEMA github; IMPORT FOREIGN SCHEMA github FROM SERVER steampipe_github INTO github;

and I got error like this - db query error: pq: public: rpc error: code = Internal desc = hydrate function tableGitHubMyGistList failed with panic 'token' or 'app_id', 'installation_id' and 'private_key' must be set in the connection configuration. Edit your connection configuration file and then restart Steampipe
even if I have mentioned the token, it's saying token is not there when I restart the terminal again

@misraved I have even appended this statement to the .bashrc file
export GITHUB_TOKEN=ghp_my_pat
Still getting the same error

Hello @raybittuiq,
It seems like when you start a new session, the environment variables set in your .bashrc file are not being applied automatically. After making changes to the .bashrc file, you'll need to run the command source ~/.bashrc in any new terminal session to load the exported values into the environment. Could you please try this and let us know if it resolves the issue?
Additionally, I believe this issue might be related to how your local environment and sessions are being managed, rather than a problem with the plugin itself.
Let us know if this helps!

@ParthaI I have done that, also I have written it in .bashrc file, and also on bash shell I am able to print the token with the command echo $GITHUB_TOKEN the github token is getting displayed.

@ParthaI I think there is some issue with the plugin itself, but yes it's working good as plugin but not working as FDW

Hey @raybittuiq Thanks for bringing this to our attention. There is an issue with the Postgres FDW built with Github plugin v0.43.0. I have reproduced the issue where after re-starting the session, the creds are lost. I will look into what is causing this behaviour.
Meanwhile you can try with the v0.42.0. I have verified that it works in that version.
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/postgres.sh)" -- github
Enter the version (latest): v0.42.0

Thanks @pskrbasu the issue is resolved now.

Hello @raybittuiq, I’m closing this issue as it has been resolved. If you experience any further problems, please don't hesitate to open a new issue. Thanks!


Postgres Scaler fails when the postgresql query returns NULL value

Report
I deployed a scaledobject yaml with PostgreSQL scaler. If the query I use is select avg(salary) from employees and there are no rows present in the employees table then avg(salary) is NULL.
When the postgresql query returns null value, then keda stops functioning with the following error.
 KEDA ScalerFailed  error inspecting postgreSQL: could not query postgreSQL: sql: Scan error on column index 0,name "avg": converting NULL to float64 is unsupported
Expected Behavior
Keda should accept the NULL value returned by the postgreSQL query as 0 and so should scale the target cr to zero pods.
Actual Behavior
Keda operator returns an error and scaling fails.
Steps to Reproduce the Problem

Configure keda scaledobject with postgreSQl trigger.
Delete all values in the table being referred by the postgreSQL query in scaledobject yaml.
Check the logs of keda operator or describe the scaledobject created, to check the error.

Logs from KEDA operator
KEDA ScalerFailed  error inspecting postgreSQL: could not query postgreSQL: sql: Scan error on column index 0,name "avg": converting NULL to float64 is unsupported

KEDA Version
2.13.1
Kubernetes Version
1.26
Platform
Other
Scaler Details
PostgreSQL
Anything else?
No response

Hi, the issue is here: https://github.com/kedacore/keda/blob/main/pkg/scalers/postgresql_scaler.go#L171. This will return ErrNoRows in your scenario. A simple fix would be to check for the error type, and handle the ErrNoRows case, returning a 0 instead of passing the error up.
I can take this issue; but should the user be able to select the behaviour they desire, either fail or return a minMetricValue, of which the minMetricValue can be a positive number inclusive of 0.

Hi, the issue is here: https://github.com/kedacore/keda/blob/main/pkg/scalers/postgresql_scaler.go#L171. Using NullFloat64 may allow a check against null after the scan.
Also, worth noting that you might be to able to use the COALESCE function in your query to return 0 in the case of null in the first instance. SELECT COALESCE(avg, 0) FROM ...
I can take this issue; but should the user be able to select the behaviour they desire, either fail or return a default value. Also if coalesce works, this might just be an item to add to the docs, instead of a change to the scaler. Will wait for maintainers to comment here.

Hi, the mishandling of null values from the db queries will also occur in the following places:

MySQL: https://github.com/kedacore/keda/blob/main/pkg/scalers/mysql_scaler.go#L208
Mssql : https://github.com/kedacore/keda/blob/main/pkg/scalers/mssql_scaler.go#L259

I'm not totally sure if KEDA should accept NULL as 0, or at least as default, because NULL is a failure indeed. SQL engines support handling this within the query and there you have the full control without having to include any extra parameter.
@tomkerkhove  @zroubalik , opinions?

I agree, I think that it would be better to add a note to the documentation instead.


missing word 'you' in test_network.md

Type of change

Documentation update

Description
A simple fix with missing a word in test_network.md

Thank you for finding this error and submitting a fix!
However, you need to amend this commit with a proper signoff before it can be merged. Click the "details" link to the right of the DCO check and follow the instructions.

Sorry for broken the rule, I have fix it.


No Request parameter generated for requestBody with multipart/form-data

I am describing a schema for uploading files, and hence using multipart/form-data content type for requestBody. The generated function have no argument provided. Note that the request: Request is correctly generated for application/x-www-form-urlencoded content type.
paths:
  /foo:
    put:
      summary: Bar
        requestBody:
        content:
          "multipart/form-data":
            schema:
              type: object
              properties:
                metadata:
                  type: string
                  format: binary
                payload:
                  type: string
                  format: binary

I also need this functionality. My specific use case is allowing clients to upload a file. According to the fastapi docs here, it talks about using the UploadFile and File data types. The recommended approach is to use the UploadFile type.
This library does not yet support the multipart/form-data MIME type for a requestBody. @koxudaxi I'm attempting this but I'm realizing that not all use cases for multipart/form-data will be an UploadFile type. At this point, I'm not sure how to handle this but I'll give a try and see what I come up with.

Opened a PR for atleast supporting fileuploads with application/octet-stream content types. #313


Bump minor version

This PR bumps the version numbers so they match the next release.
Please verify the version numbers are correct, and update the CHANGELOG manually. You
should merge this PR ASAP, but no later than before the next release cycle starts.
Checklist

[x] Version numbers are correct
[x] CHANGELOG.md has been updated

Agreed, but in this case the CHANGELOG was already updated before this PR: https://github.com/fiberplane/fp/blob/main/CHANGELOG.md


DB Upgrader: Don’t update previous version if there were no updates

Summary
As the title says, this prevents the previous version to be constantly overridden. The added tests verify this behavior.
Relevant Technical Choices

To-do

User-facing changes

N/A
Testing Instructions
N/A

Fixes #2187

@spacedmonkey can you reply to the CLA bot?

@googlebot I consent.


Switch samples to d3d11 by default

@egorovdanil , how to force the system memory after the change?

Added -sys option for sample_decode and sample_encode.
There is no system allocator in sample_vpp. Should I add it by analogy with other samples?
Also in sample_vpp IOPattern is set as system memory by default. Should I replace it with a video memory?
https://github.com/Intel-Media-SDK/MediaSDK/blob/3afda3e6f4ef8fd24cc934da3481b906b9f7bf8e/samples/sample_vpp/src/sample_vpp.cpp#L99

@egorovdanil , how to force the system memory after the change?

Added -sys option for sample_decode and sample_encode.

Yes. Thank you. Added more comments.

There is no system allocator in sample_vpp. Should I add it by analogy with other samples?

No need.

Also in sample_vpp IOPattern is set as system memory by default. Should I replace it with a video memory?
https://github.com/Intel-Media-SDK/MediaSDK/blob/3afda3e6f4ef8fd24cc934da3481b906b9f7bf8e/samples/sample_vpp/src/sample_vpp.cpp#L99

No. There is -iopattern cmd option to test different scenarios. Please just make sure this function selects D3D11:
https://github.com/Intel-Media-SDK/MediaSDK/blob/3afda3e6f4ef8fd24cc934da3481b906b9f7bf8e/samples/sample_vpp/src/sample_vpp_utils.cpp#L485

Tests:
sample_decode.exe h264 -i people-detection.h264
Memory type             d3d11
MediaSDK impl           hw_d3d11

sample_decode.exe h264 -i people-detection.h264 -d3d
Memory type             d3d
MediaSDK impl           hw

sample_decode.exe h264 -i people-detection.h264 -sys
Memory type             system
MediaSDK impl           hw_d3d11

sample_decode.exe h264 -i people-detection.h264 -d3d11
Memory type             d3d11
MediaSDK impl           hw_d3d11

sample_decode.exe h264 -i people-detection.h264 -r
Memory type             d3d11
MediaSDK impl           hw_d3d11

sample_decode.exe h264 -i people-detection.h264 -o out.yuv
Memory type             system
MediaSDK impl           hw_d3d11

sample_encode.exe h264 -i out.yuv -o out.264 -w 768 -h 432
Memory type     d3d11
Media SDK impl          hw_d3d11

sample_encode.exe h264 -i out.yuv -o out.264 -w 768 -h 432 -d3d
Memory type     d3d
Media SDK impl          hw

sample_encode.exe h264 -i out.yuv -o out.264 -w 768 -h 432 -d3d11
Memory type     d3d11
Media SDK impl          hw_d3d11

sample_encode.exe h264 -i out.yuv -o out.264 -w 768 -h 432 -sys
Memory type     system
Media SDK impl          hw_d3d11

sample_vpp.exe -i out.yuv -o out2.yuv -sw 768 -sh 432 -dw 600 -dh 400
IOpattern type                  sys_to_sys
MediaSDK impl   hw | VIA_D3D11

sample_vpp.exe -i out.yuv -o out2.yuv -sw 768 -sh 432 -dw 600 -dh 400 -d3d
IOpattern type                  d3d_to_d3d
MediaSDK impl   hw | VIA_D3D9

sample_vpp.exe -i out.yuv -o out2.yuv -sw 768 -sh 432 -dw 600 -dh 400 -d3d11
IOpattern type                  d3d_to_d3d
MediaSDK impl   hw | VIA_D3D11

Tested on Linux, samples work with VAAPI by default. -sys option also works.


PreLibre2 - Large Tuple Violation during compilation

PreLibre2 -> LibreBLEResoponce - Line 219 - typealias LibreBLEResponse = (age: Int, trend: [Measurement], history: [Measurement], crcVerified: Bool)
I get a compile error on this line using Xcode 14.2 and MacOS 13.1 using an M1 iMac
The error is Large Tuple Violation: Tuples should have at most 2 members. (large_tuple) this seems to come from the swiftlint library analysis (swiftlint--0.50.3.arm64_ventura) however the fact the error is displayed (instead of the missing library error) indicates the library is loading as expected.

It's probably due to  a "newish" best-practices. You can ignore it for now by googling "How to Disable SwiftLint Rules?". Will probably fix it in due time

For anyone else reading in the future.
This worked by adding ~/Code/LoopWorkspace/LibreTransmitter/LibreSensor/SensorContents/PreLibre2.swift to the "excluded:" files inside the .swiftlint.yml file for the Libre subproject.
A quick google should assist in the specifics.


Added confirmation to git gud load next

Fixes #183

The current output:
It doesn't look like you've completed this level yet!
Are you sure you want to go to the next level? If so, run `git gud load next` again with --force.

seems a bit verbose, do you think you could come up with something shorter?
If you want to discuss, feel free to message me

Wait a second. I think we should wait to merge this until we have a framework to keep track of what levels users have completed as they go through git gud. Otherwise, if they're just going through the levels that they've completed in order again (maybe to look at the various trees or whatever, who knows), they'll be reminded that they haven't completed the level yet, which is not necessarily true. What do you think? @benthayer

I think that's a good idea. Maybe this is a good time to start keeping track of which levels have been completed.
I was holding off because I knew that the level names would change, but maybe it'd be worth giving each level a uuid so it becomes robust to name changes. Or we just wait.. What do you think?

@sahansk2 see #32 for tracking completed levels. It is currently our oldest issue :+1:

We are waiting on #241


Add UriFactory::createFromSapi()

Q
A

Documentation
yes

Bugfix
no

BC Break
no

New Feature
yes

RFC
yes

QA
no

Description
This method will provide a public API to create Uri instances from SERVER context. This helps libraries that depend on diactoros and have their own ServerRequest or Uri implementations use the logic in diactoros more efficiently.
I wanted to get a rough draft of this up for feedback. If it is headed in the right direction, I have a few TODOs remaining:

[ ] Complete the tests (coverage isn't quite on par with the rest of the library).
[ ] Write documentation. I was thinking of putting it the factories section, but would appreciate any direction here.

If there are other requirements that need to be met let me know :smile:
Refs #122

/cc @froschdesign for getting guidance on the docs section

BTW, overall direction of this patch is good :+1:

I've resolved all but one of psalm's complaints. The remaining MixedArgumentTypeCoercion was added to the baseline file beside the existing one in the same method.

Went through it again: I know most code is just transposed as-is, so we're good here.
Releasing 🚢


Created a basic skeleton for microservices

Let's start using this as a starting point for long term services creation

Let's also test out the docker container creation before we merge.

@alog-enquizit @rshanmugam-enquizit Could we move all micro services under a folder /java/.
/java
.. //each micro service project
/sql
../odse
..../procs
Something like tihs

@alog-enquizit @rshanmugam-enquizit Could we move all micro services under a folder /java/. /java .. //each micro service project /sql ../odse ..../procs
Something like tihs

@rseshadri99 that is a non-standard procedure and is there a reason you would want to go that way?

On the SQL side - it helps with deploying the scripts as needed w/o a java code being involved in a build. If we use an automated tool as well, the structure would be more dictated by the tool.
The reason for java as a folder is in the future if there are python-based modules that need to be integrated with data pipeline  - it helps to have those structure


Add UI version indicator to dev UI

It'd be very useful for the UI to show which build version it's running in dev mode.

Is there a reason to do this only in dev mode and not also in prod? It might be useful in prod as well since it's often when people try to go to localhost:8080 that it turns out they're not on the right fides version.
There are a few options of where we could put this:

As a tooltip over the fides logo (hidden, you'd have to know to hover there to see it)

Some copy under "Welcome back"?

Something in the account dropdown?

Thoughts, @seanpreston or @rsilvery ?

 It will help hugely with customer support.

@allisonking from Slack with design, profile/signout menu is fine! https://ethyca.slack.com/archives/C0114BAK160/p1672847452335619

Scratch that. I think we need to just stick with dev for now. We'd need design (per Mala) to put this in and they just don't have the cycles for this right now.

I much prefer the account dropdown, thanks for the options @allisonking

After talking to @adamczepeda , as a stop gap until design has more time to think about this, we're going to stick the version number in the account dropdown, but make it look a lil lighter so it doesn't look as much like a button. This will be available in prod too 👍


[Files] Entrypoint - dedicated CNI plugin repository

With v0.6.0, the CNI plugins are hosted in a dedicated repository. This patch downloads those plugins.

Thx !


Fix RAML: removed and renamed fields

Coverage remained the same at 95.455% when pulling 8311a2265d4fb48f1cb48677eedf38dad1787558 on sirmax123:fix_raml1 into 795062c85af7fa2ef507efc6ded36c3145d0ffd6 on seecloud:master.


add launch for oak

Doesn't actually do anything different than art_dev_meta atm (and I doubt this actually works bcs some stuff was removed). Just adding the framework for oak to be able to launch before adding in specific nodes.

Gonna hold off on reviewing till we discuss in #116

oops

dollar

is there a way for me to change the name of this branch while leaving the PR open?

ya just push to the new branch name and then update this PR with that branch


[BugFix] Reject rename col which is referenced in rollup

Why I'm doing:
Before renaming a column, delete the associated rollups, just like dropping a column.
What I'm doing:
Fixes #42823
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

ignore backport check: 3.3.1


How to Disable/Enable Teleport at runtime

Can anyone please explain me how to Disable/Enable Teleport at runtime, i am using Unity3d 5.5 with HTC Vive.
I have tried to access the Enable Teleport from VRTK_DestinationMarker but that didnt work.
Any suggestions will be helpful.

Disabling either the teleport script (using the enabled = false flag on the script will prevent teleporting from happening
But also, setting the Enable Teleport = false on the Destination Markers that are creating the teleport event will also disable teleporting.
So if you have 2 pointers one on each controller, that means there are 2 destination markers, so both destination markers would need their enable teleport setting to false.

But i don see any Destination Markers script attached to the controller, here i am seeing VRTK_Pointer script attached which is derived from VRTK_Destination Markers since it is deriving i can see Enable Teleport toggle button in inspector where i can toggle but doing it from script in VRTK_Pointer doesn't disable it.

The VRTK Pointer is of type Destination Marker (as you've mentioned).
I've just tried toggling it on and off in code and it's working fine for me.
Are you using the latest version of vrtk from github master? If not then update.

Hey @thestonefox  sorry i was off from work for couple of days, as i said above i tried your suggestion for disabling and enabling but that didnt worked, can you give any example or your tried code would also be helpful.

what have you tried already?
simply setting enable teleport = false on the destination marker will prevent teleporting.

Thanks, i have figured it out, i have done that in VRTK_Pointer Class itself, since i can't access that outside of that class, i had to write code to disable it in Update function of same class.

I am also interested in this.  How to abort a teleport at runtime? Button X is used to show the pointer. If i press Button X again, the pointer disappears and i am teleported to the selected playArea.
So I am forced to teleport if i have pressed Button X.
What I want to achive is to abort the teleport with TriggerPressed. The pointer should disappear but i dont want to be teleported. For this, I created a OnTriggerPressed in VRTK_Pointer.cs, but I have no idea what to do to achive this. I have tried to call Toggle(false) in the Pointer Class  but this is not working.

@Fruity84 you want to teleport on trigger press? what button are you using to activate the pointer beam?
you can have a different activation button to the set button, so you can activate/deactivate pointer on touchpad touch, but a set button on the trigger.

hey stonefox... this is solution i was looking for. Thank you


Support time tags

So you could put something like 0:10 in the description and it would work as expected. Should be pretty simple to do, regexp to match and then change to link with javascript and then player.currentTime is the proper value when clicked.

Are you talking about <time> html tag? Pretty sure the way YT does timestamps is semantically wrong and way too automated, as it will style any string in XX:XX format to a timestamp, which may not be the case.
IMO the decision to put a timestamp should be left up to the commenter/uploader and thus it should be a separate button in the editor.
As an inline html element it would look like this:
<button class="vidtimestamp">
  <time datetime=`PT${hours}H${minutes}M${seconds}S`>
    `${userPrefTimeStamps}`
  </time>
</button>

The <button> because it is an interactive element (clicking on it presumably changes the timestamp and focuses on the video), but it doesn't need to be styled as a full blown button, just cursor: pointer and some coloring on the text will be enough.
The HTMLVideoElement interface allows the direct manipulation of the <video>, without the hacky way YT does it through GET links. And none of this will require regexp pattern matching, as datetime attribute in <time> tag stores the value in the machine-friendly format.


No resources matched log spam on INFO

connlib	10:08:00.731282-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.731328-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.731578-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732091-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732155-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732212-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732265-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732412-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732765-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:00.732994-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:02.834326-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:02.836468-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:02.837338-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:02.837917-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:02.838253-0700	firezone_tunnel::dns: No resources matched
connlib	10:08:02.838553-0700	firezone_tunnel::dns: No resources matched

Is this number of log messages expected? I believe this should be a DEBUG log or even TRACE if so.
Happening on the macOS client.

@jamilbk can you double check that it's info? in main it seems to be debug

It's expected to be quite spammy! it will happen with every non-resource dns query. We might want to lower it to trace


update fortio to 1.4.1

Update to current fortio (includes fix for https://github.com/istio/istio/issues/21289 )
https://github.com/fortio/fortio/compare/v1.3.1...v1.4.1
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[X] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[X] Test and Release
[ ] User Experience
[X] Developer Infrastructure

email issue, ignore this one, will try again


arch: arm: cortex_m: z_arm_pendsv in vector table when multithreading

When CONFIG_MULTITHREADING=n kernel specific pendsv is not used. Remove
from vector table.
Part of improving support for no multithreading. Extracted from #34279.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

@galak pls, take a look

Merging this with @MaureenHelm 's +1