[BinaryPrimitives] Adding missing double converters

Description

The BinaryPrimitives library was missing double converters to byte[] and from SpanByte
The tests for the float converters were commented, adding them back in
Added tests for the double converters
Updated the unit test project

Motivation and Context

Missing converters are now no longer missing

How Has This Been Tested?

Unit tests have been added

Screenshots
Types of changes

[ ] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue with code or algorithm)
[x] New feature (non-breaking change which adds functionality to code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[x] Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[x] My code follows the code style of this project (only if there are changes in source code).
[ ] My changes require an update to the documentation (there are changes that require the docs website to be updated).
[ ] I have updated the documentation accordingly (the changes require an update on the docs in this repo).
[x] I have read the CONTRIBUTING document.
[x] I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
[x] I have added new tests to cover my changes.

Summary by CodeRabbit

Chores

Updated dependency versions for nanoFramework.CoreLibrary and nanoFramework.TestFramework.

FYI: the test framework has a CollectionAssert.AreEqual() so there is no need to use the CompareArray method here. If you're willing, on another PR, please remove it and replace with the CollectionAssert one. Thanks in advance. 😁

I'm willing! Done here

And sorry for the inconvenience, should have synched my fork first and pulled develop to my branch...


feat: add support for null args on create_and_run

Input:
client.beta.threads.create_and_run(
                assistant_id= "'asst_WoQW7v5aOWGk7118yPUgqQcj'",
                thread={
                    "messages": [
                        {"role": "user", "content":"Hi"}
             ]
                },
                model=None,
                instructions=None,
                tools=None
            )

Error:
respx.models.SideEffectError: <Route <Scheme eq 'https'> AND <Host eq 'api.openai.com'> AND <Method eq 'POST'> AND <URL regex re.compile('/v1/threads/runs')>>

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

pydantic_core._pydantic_core.ValidationError: 3 validation errors for Run
instructions
  Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]
    For further information visit https://errors.pydantic.dev/2.7/v/string_type
model
  Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]
    For further information visit https://errors.pydantic.dev/2.7/v/string_type
tools
  Input should be a valid list [type=list_type, input_value=None, input_type=NoneType]
    For further information visit https://errors.pydantic.dev/2.7/v/list_type

The above exception was the direct cause of the following exception:
    run = self.client.beta.threads.create_and_run(

I have seen that on the official API None parameters are allowed

Thanks for reporting @pietroMonta42
The problem seems straightforward so I'll push out a fix as soon as I can


[Bug] lang c: broken types on typedef name collision

Bug description
When c projects contain multiple translation units that declare types with the same name, joern's type resolving breaks. This includes two related problems:

accessing members of a TypeDecl node shows incorrect members
multiple identifier/local nodes refer to the exact same type node (via .typ)

The root cause might be that types are string attributes in nodes and that the .typ and .member traversals resolve this by name and not using an edge to the correct TypeDecl node.
Impact
The problem has been observed in many real-world applications, some of which are openssl and VLC. It is very common to declare types with the same name and slightly different members in large projects with multiple separate translation units.
Steps to reproduce

clone joern and checkout v2.0.27
build container (not devcontainer): docker build -t joern-issue .
unzip the minimal example into a local folder testobject
start container and mount data from testobject into it: docker run --rm -it -v $(realpath testobject):/testobject joern-issue /bin/bash
create CPG: ./joern-parse /testobject/src -o /testobject/cpg/cpg.bin
start joern-cli: ./joern /testobject/cpg/cpg.bin
execute the below traversals

Expected vs. actual behavior
cpg.typeDecl.nameExact("foo").code.l
cpg.typeDecl.nameExact("foo").member.name.l
cpg.local.typ.id.l

Expected:

first traversal: show the two different types
second traversal: show the member (a, b) of the two types
third traversal: show that the local variables refer to different types

Actual:

first traversal :white_check_mark:
second traversal: shows members (b, b)  :x:
third traversal: shows the same ID (50, 50) :x:

Environment Info

joern docker container
version tag v2.0.27
joern built with sbt stage

Comment
I know that resolving types is difficult (impossible) without compiling the program. I would however expect at least that the member traversal of a TypeDecl node works. I am happy to provide further details and appreciate your help.

I am not able to reproduce this fully.
I build joern from the current master and got this:
> cat Foo1.c
typedef struct Foo {
  char *b;
}

> cat Foo2.c
typedef struct Foo {
  int a;
}

In the joern shell:
joern> cpg.typeDecl.name.l
val res1: List[String] = List("<global>", "Foo", "<global>", "Foo", "ANY", "char*", "int")

joern> cpg.typeDecl.fullName.l
val res2: List[String] = List("Foo1.c:<global>", "Foo", "Foo2.c:<global>", "Foo", "ANY", "char*", "int")

joern> cpg.typeDecl.name("Foo").l
val res3: List[io.shiftleft.codepropertygraph.generated.nodes.TypeDecl] = List(
  TypeDecl(
    id = 7L,
    aliasTypeFullName = None,
    astParentFullName = "",
    astParentType = "",
    code = """typedef struct Foo {
        char *b;
}""",
    columnNumber = Some(value = 1),
    filename = "Foo1.c",
    fullName = "Foo",
    inheritsFromTypeFullName = ArraySeq(),
    isExternal = false,
    lineNumber = Some(value = 1),
    name = "Foo",
    order = 1
  ),
  TypeDecl(
    id = 15L,
    aliasTypeFullName = None,
    astParentFullName = "",
    astParentType = "",
    code = """typedef struct Foo {
        int a;
}""",
    columnNumber = Some(value = 1),
    filename = "Foo2.c",
    fullName = "Foo",
    inheritsFromTypeFullName = ArraySeq(),
    isExternal = false,
    lineNumber = Some(value = 1),
    name = "Foo",
    order = 1
  )
)

joern> cpg.typeDecl.name("Foo").member.l
val res4: List[io.shiftleft.codepropertygraph.generated.nodes.Member] = List(
  Member(
    id = 8L,
    code = "*b",
    columnNumber = Some(value = 7),
    dynamicTypeHintFullName = ArraySeq(),
    lineNumber = Some(value = 2),
    name = "b",
    order = 1,
    typeFullName = "char*"
  ),
  Member(
    id = 16L,
    code = "a",
    columnNumber = Some(value = 6),
    dynamicTypeHintFullName = ArraySeq(),
    lineNumber = Some(value = 2),
    name = "a",
    order = 1,
    typeFullName = "int"
  )
)

Hi, thanks for the quick response!
I could reproduce your behavior.
However, if you add a type name as follows, you get a collison:
> cat Foo1.c
typedef struct Foo {
  char *b;
} foo_t;    // <----

> cat Foo2.c
typedef struct Foo {
  int a;
} foo_t;  // <----

In the joern shell:
joern> cpg.typeDecl.name("Foo").member.l
val res1: List[io.shiftleft.codepropertygraph.generated.nodes.Member] = List(
  Member(
    id = 16L,
    code = "a",
    columnNumber = Some(value = 7),
    dynamicTypeHintFullName = ArraySeq(),
    lineNumber = Some(value = 2),
    name = "a",
    order = 1,
    typeFullName = "int"
  ),
  Member(
    id = 16L,
    code = "a",
    columnNumber = Some(value = 7),
    dynamicTypeHintFullName = ArraySeq(),
    lineNumber = Some(value = 2),
    name = "a",
    order = 1,
    typeFullName = "int"
  )
)

Thanks so far!
I think also I found the problem in the meantime.
We link alias types with: https://github.com/joernio/joern/blob/master/joern-cli/frontends/x2cpg/src/main/scala/io/joern/x2cpg/passes/typerelations/AliasLinkerPass.scala
which is using https://github.com/joernio/joern/blob/28949462843fdcbcfcf862d589f5e73c01dd6f6b/joern-cli/frontends/x2cpg/src/main/scala/io/joern/x2cpg/utils/LinkingUtil.scala#L32.
(the member traversal unravels aliases).
As both alias here (foo_t <-> Foo in the two files) have the same typeFullName and we only collect the first hit we end up with a wrong linking as that (correctly) assumes typeFullNames are unique.
Sadly, the underlying parser for C/C++ (we use Eclipse CDT) does not provide the required true full names.
This fullname problem is also a problem for all dynamically types languages btw.
I am not sure how to proceed here. We could link against all targets (make the stuff in https://github.com/joernio/joern/blob/master/joern-cli/frontends/x2cpg/src/main/scala/io/joern/x2cpg/utils/LinkingUtil.scala return List instead of Option) but that may result in many incorrect links for other examples.
@fabsx00 Any ideas?

I don't know if I am of much help fixing this. I just leave my thoughts on this in case this is useful for you:
On a conceptual level, one would need to resolve the includes to assign the correct types. But this is not trivial since we can't reliably determine include paths without executing other preprocessing steps due things like templates someheader.h.in and so on.
In my context, I had some success with an over-engineered heuristic:

prefix each type with the relative file location, i.e. include/some_module/common.h:foo and include/other_module/common.h:foo
same for type usages: src/some_module/foo.c:foo
assign the type with the largest overlap after splitting the paths at / and : and removing file endings

This works surprisingly well for many c projects since the correct types are usually located in similar subtrees of the project or in a mirrored subtree under include/.


Why does vs code debug console break python print statements after visual studio code upgrade to v1.33?

VS Code version: 1.33.0 (just upgraded, issue was not present before upgrade)
Extension version (available under the Extensions sidebar): Name: Python
Id: ms-python.python
Description: Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, and more.
Version: 2019.3.6352
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-python.python
OS and version: Yosemite, 10.10.5
Python version (& distribution if applicable, e.g. Anaconda): 3.6.5 Anaconda
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda

Expected behaviour
1 2
Actual behaviour at Debug Console
1
2
Steps to reproduce:
a=1
b=2
print (a,b)
Issue was closed in 2017 Microsoft/vscode#17526 but is back on.

This was closed upstream as fixed in insiders build in May.


Added Blobfile to setup.py

Blobfile is a requirement to run shap-e that is missing in the setup.py.

You should throw PyYAML in there as well.


Revert new tests

Reverting this because it is freezing the CI on multiple machines.
One of the tests uses a shared global state without proper concurrency
controls, so it deadlocks on occasion, which leads to the test never
completing, which prevents the CI from running anything else. While the
CI should be resilient against such problems, the CI timing out a test
should be an issue of last resort.
This revert also removes a small number of other tests. The initial
idea that prompted this commit was to automatically test code that
is used in the documentation. However, this commit does not do so.
Instead, it adds some tests that are similar but not the same as what
is in the documentation, and are not automatically updated when
documentation tests are updated. Additionally, they do not test
anything the isn't already tested by the existing tests in the suite.

About the documentation tests: my memory may be confusing this with a discussion in a different project, but didn't we consider using sphinx's literalinclude directive for documentation code so that it can be tested? Out of scope for this PR for this PR, just got triggered by the rationale...

That is also my recollection and I was under the impression that LLNL was working on that. I think it probably points to the fact that it may be wiser to mitigate risks by following the contributing guide and discussing most things in issues before too much work is invested. I filed a new issue (#330) so that we can stay on track with what was discussed initially.


Add AMQP Exchange Name decision record

The ARQ-003 proposal aims to define the names of Exchanges to be used on
KNoT ecosystem.
Signed-off-by: Vitor Barros<EMAIL_ADDRESS>

Except for the change requested by @ramonhpr, LGTM. Thanks. :)


Enable useDefineForClassFields

Been meaning to send this one for a bit. Unfortunately, our target is still too low to get this without runtime helpers.
I also had to add declare to our object allocators to prevent some very confusing crashes. I suspect that it'd be better to merge the allocators together and then just use defined properties in a specific order to make the shape consistent, which this PR does not do.

@typescript-bot perf test this faster

This is the diff in typescript.js: https://gist.github.com/jakebailey/3626c2be38a6c4f7b77525b78eb70c6b
Because our target doesn't support define fields, esbuild is downleveling them with helpers. That doesn't seem so great.
However, if we instead target just Node 14.17 and not es2020, then we do get the syntax.

Honestly, just saying our minimum is Node 14.17 would probably be acceptable; all browsers can handle this, so it's really just Node, and we already declare >=14.17.


Issue/6668 pkg resources

Description
Further remove working set
Caching was already broken, still is
We could cache more, but I don't know if will matter.
TODO

[ ] what is performance now

closes #6668
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request


Add missing github endpoints

Need to check what we are missing from updated list of endpoints and eventually add missing entries.
https://gist.github.com/SinisterRectus/9518f3e7d0d1ccb4335b2a0d389c30b0

No longer relevant, closing


PropertyChangeProvider is not triggered after calling setState

This problem is very simple to reproduce. If I click on +1 button, the value of the counter is updated. Then, if I click on the setState button, the counter is reset, but if I try to increase the counter, the PropertyChangeProvider doesn't get triggered. I would except it does.
To solve this i can simply move the declaration of the counter outside the build method, but isn't really what I am looking for, since this code is a simplification of my situation.
On my code, I have a list of items, which are initialized on the initState method of the screen. Then on the screen there is a FAB button which brings me to a screen to create a new item. Once I am back, I fetch again the items and call setState to update the screen. At this point I have the problem of the discussion.
import 'package:flutter/material.dart';
import 'package:pdfx/pdfx.dart';
import 'package:property_change_notifier/property_change_notifier.dart';

void main() {
  runApp(const MaterialApp(
    home: MyApp(),
  ));
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    Counter c = Counter();

    return Scaffold(
        body: SafeArea(
            child: Center(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          CounterValueWidget(c),
          ElevatedButton(
              onPressed: () {
                c.value = (c.value ?? 0) + 1;
              },
              child: Text("+1")),
          ElevatedButton(
              onPressed: () {
                setState(() {});
              },
              child: Text("setState"))
        ],
      ),
    )));
  }
}

class Counter with PropertyChangeNotifier<String> {
  int? _value = 0;

  Counter({value}) {
    _value = value;
  }

  int? get value => _value;

  set value(int? value) {
    if (value != null) {
      _value = value;
      notifyListeners("value");
    }
  }
}

class CounterValueWidget extends StatefulWidget {
  Counter counter;

  CounterValueWidget(this.counter);

  @override
  State<StatefulWidget> createState() => _CounterValueWidgetState();
}

class _CounterValueWidgetState extends State<CounterValueWidget> {
  @override
  Widget build(BuildContext context) {
    return PropertyChangeProvider<Counter, String>(
        key: Key("value"),
        value: widget.counter,
        child: Builder(builder: (BuildContext context) {
          final c = PropertyChangeProvider.of<Counter, String>(context,
                  properties: ["value"])!
              .value;

          return Text((c.value ?? 0).toString());
        }));
  }
}

Hi @martinrybak , first of all thanks for the quick support!
Yes you are right about the use of models inside the build method. That's why I decided to change my code a little bit.
The fix you have done in the branch #23 actually solves the problem of the code I have posted.
However, I still have a problem. On my code I am using objectbox as local database to save and read models. Here you can find my code. Once you start the app, and click on +, a new Counter is created, and the list is fetched. If you then click on the +1 button, the counter is incremented, but the widget is not updated (PropertyChangeProvider is not triggered). If you restart the app the PropertyChangeProvider works again, but if I create a new Counter and then try to increment the counters in the list, only the last created counter is working.
I have been debugging this all the morning but I can not really give me an explanation since the code is more or less simple, and if I am not using objectbox but just a local list where i just add and remove Counters is working fine

Ok apparently it was a widget problem. I have set now an UniqueKey to each widget with PropertyChangeProvider
(Expanded(child: CounterValueWidget(c, key: UniqueKey()))) and it works!

Glad to hear! Thanks for providing the code to make it easy to debug your issue.

Released in version 0.5.0


Explain how to use flutter channel.

Closes https://github.com/flutter/flutter/issues/152274.
I ran into https://github.com/flutter/flutter/issues/152274 myself, so seemed like an easy fix.

YAYYYY 🎉 🎉 🎉 🎉


Does not work with Mootools

The for in loop in for..in was not working with mootools because mootools  adds functions to the array prototype.
Using forEach instead.

i signed it

i signed it

i signed it

i signed it!

I signed it!

I signed it!

I signed it!


Added command to cleanup for period to alt text.

Added command to cleanup for period to alt text.

AB#383767


ENOENT error on startup

Describe The Bug:

Plugin throws ENOENT on startup, seems it can't find atvscript which is installed under ~/.local/bin and e.g. can be called from the pi users SSH-login prompt.
To Reproduce:

Expected behavior:

Logs:
[19/02/2023, 06:52:04] [@hujohner/homebridge-appletv] Restarting Process...
[19/02/2023, 06:52:06] [@hujohner/homebridge-appletv] Launched child bridge with PID 16780
[19/02/2023, 06:52:06] Registering platform<EMAIL_ADDRESS>[19/02/2023, 06:52:06] [@hujohner/homebridge-appletv] Loaded @hujohner/homebridge-appletv v1.1.0 child bridge successfully
[19/02/2023, 06:52:06] Loaded 1 cached accessories from cachedAccessories.0EBA39873C8C.
[19/02/2023, 06:52:06] [@hujohner/homebridge-appletv] Loading accessory from cache: ATV4K
[19/02/2023, 06:52:06] [@hujohner/homebridge-appletv] Restoring existing accessory from cache: ATV4K
[19/02/2023, 06:52:06] Homebridge v1.6.0 (HAP v0.11.0) (@hujohner/homebridge-appletv) is running on port 53459.
Error: spawn atvscript ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:82:21)
[19/02/2023, 06:52:06] [@hujohner/homebridge-appletv] Child bridge process ended
[19/02/2023, 06:52:06] [@hujohner/homebridge-appletv] Process Ended. Code: 1, Signal: null
Plugin Config:
{
    "devices": [
        {
            "name": "ATV4K",
            "host": "10.0.1.XXX",
            "credentials": "redacted",
            "device_state_sensors": [
                "idle",
                "paused",
                "playing"
            ]
        }
    ],
    "platform": "AppleTV",
    "_bridge": {
        "username": "0E:BA:39:87:3C:8C",
        "port": 53459
    }
}

Screenshots:

Environment:

Plugin Version: 1.1.0
Homebridge Version: 1.6.0
Node.js Version: 18.14.0
NPM Version: 9.3.1
Operating System: Raspbian Bullseye / hb-service

Did you install PyATV using sudo?

Tried that already, while it runs I get a long error thrown that it can’t compile cryptography despite I installed Rust as recommended.

Yeah I had that too. Can't remember exactly what fixed it but I thought it was installing rust...

So here is what I did:

sudo apt-get install build-essential libssl-dev libffi-dev python-dev
sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Checking if Rust is installed: rustc --version -> rustc 1.67.1 (d5a82bbd2 2023-02-07)

sudo pip install pyatv

Result attached in the text file
errorlog.txt

I have the exact same error.  Plugin throws ENOENT on startup.  I run Homebridge on a raspberry pi 4.  I used the built in terminal of Homebridge and installed all prerequisites including obtaining the credentials for the Apple TV.  All worked perfectly.  I added the IP address and credentials to the plugin.  When I restarted Homebridge, I get the same ENOENT error.

Same error here.  I got pyatv installed and paired, so I got a credentials string.  But on startup of Homebridge, the plugin just repeatedly throws the same error.  I had to manually clean out my config.json to get it to stop.
Oh, this is on a RaspberryPi running the official RPi Homebridge image.

Here is exactly what Homebridge log shows on startup of this plugin.  Seems it can’t find something:
[19/02/2023, 17:41:40] [@hujohner/homebridge-appletv] Restarting Process...
[19/02/2023, 17:41:41] [@hujohner/homebridge-appletv] Launched child bridge with PID 3179
[19/02/2023, 17:41:41] Registering platform<EMAIL_ADDRESS>[19/02/2023, 17:41:41] [@hujohner/homebridge-appletv] Loaded @hujohner/homebridge-appletv v1.1.0 child bridge successfully
[19/02/2023, 17:41:41] Loaded 1 cached accessories from cachedAccessories.0E24986CBBCD.
[19/02/2023, 17:41:41] [@hujohner/homebridge-appletv] Loading accessory from cache: Family Room Apple TV
[19/02/2023, 17:41:41] [@hujohner/homebridge-appletv] Restoring existing accessory from cache: Family Room Apple TV
Error: spawn atvscript ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:82:21)
[19/02/2023, 17:41:41] [@hujohner/homebridge-appletv] Child bridge process ended
[19/02/2023, 17:41:41] [@hujohner/homebridge-appletv] Process Ended. Code: 1, Signal: null
[19/02/2023, 17:41:48] [@hujohner/homebridge-appletv] Restarting Process...
[19/02/2023, 17:41:50] [@hujohner/homebridge-appletv] Launched child bridge with PID 3198
[19/02/2023, 17:41:50] Registering platform<EMAIL_ADDRESS>[19/02/2023, 17:41:50] [@hujohner/homebridge-appletv] Loaded @hujohner/homebridge-appletv v1.1.0 child bridge successfully
[19/02/2023, 17:41:50] Loaded 1 cached accessories from cachedAccessories.0E24986CBBCD.
[19/02/2023, 17:41:50] [@hujohner/homebridge-appletv] Loading accessory from cache: Family Room Apple TV
[19/02/2023, 17:41:50] [@hujohner/homebridge-appletv] Restoring existing accessory from cache: Family Room Apple TV
Error: spawn atvscript ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:82:21)

Note that it will repeatedly show the above error endlessly.

It appears something is wrong with atvscript... can you guys try running atvscript manually? I don't think there is a version command but just to see if it is accessible from root

Is everyone that is having this problem running it as a child bridge?

Exact same error, whether in bridge mode or not. If it is not in bridge mode, Homebridge itself keeps restarting over and over again with the exact same error. If it is in bridge mode, then only that bridge restarts over and over again.

Yes, I am able to run atvscript manually.

If I SSH into the raspberry pi that is running Home Ridge, I can run atvscript. However, if I use the terminal from within home bridge, it cannot find atvscript and errors out.

I just tried the following: took a fresh SD Card with a core Bullseye OS on it. Updated everything, installed the required dependencies and python, no homebridge. Then tried to install pyatv again first with sudo pip install pyatv and it failed again because it couldn't find the Rust compiler. Then I tried pip install pyatv and it worked.
So question is, how do I give root access to the Rust compiler?

Ok, I have a solution.
For homebridge to access it, we need to install pyatv as sudo.
But that means sudo needs access to the rust compiler.
So here’s what I did:

Install rust as normal: curl https://sh.rustup.rs -sSf | sh
To find out where rust was installed, I ran “whereis rustic”.  Rust tools were installed here: /home/pi/.cargo/bin
I then edited the file /etc/sudoers.  I added my rust path to the secure_path variable and saved.
I then tried to run “sudo rustc —version”.  It told me to run rustup with a few parameters. I made sure to do so as sudo. After that, I was able to run rustc as sudo.
And then I could “sudo pip3 install pyatv”
And then the plug-in worked!

To be honest, I don’t know if that’s the BEST way to get rust working for sudo. But it did work.

To be honest, I don’t know if that’s the BEST way to get rust working for sudo.  At least the plugin is now starting up. I got it working in HomeKit somewhat too.
Iust have some weird stuff going on in HomeKit. The switch for waking up the ATV is turning itself off shortly after using it. If I then turn it then on again it stays on. Maybe some timeout problem, also I am already on the new HomeKit architecture.
And the idle sensor is not triggered after waking up the Apple TV.

Ok, I have a solution.
For homebridge to access it, we need to install pyatv as sudo.
But that means sudo needs access to the rust compiler.
So here’s what I did:

Install rust as normal: curl https://sh.rustup.rs -sSf | sh

To find out where rust was installed, I ran “whereis rustc”.  Rust tools were installed here: /home/pi/.cargo/bin

I then edited the file /etc/sudoers.  I added my rust path to the secure_path variable and saved.

I then tried to run “sudo rustc —version”.  It told me to run rustup with a few parameters. I made sure to do so as sudo. After that, I was able to run rustc as sudo.

And then I could “sudo pip3 install pyatv”

And then the plug-in worked!

can you show what your secure_path variable looks like?

Here’s mine
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/pi/.cargo/bin"

Just want to add onto this (thanks for the write up!) for those of us that are new to some of these steps

Install rust as normal: curl https://sh.rustup.rs/ -sSf | sh
To find out where rust was installed, I ran “whereis rustc”. Rust tools were installed here: /home/pi/.cargo/bin
I then edited the file /etc/sudoers. I added my rust path to the secure_path variable and saved.
To do this, use sudo nano /etc/sudoers then use your arrow keys to go to the secure_path variable and add /home/pi/.cargo/bin so it looks like the path referenced by CooperCGN
Use ctrl X to exit and press enter to save at the exit confirmation
I then tried to run “sudo rustc —version”. It told me to run rustup with a few parameters. I made sure to do so as sudo. After that, I was able to run rustc as sudo.
The command referenced here is sudo rustup default stable you should be able to run sudo rustc --version now to make sure it worked
And then I could “sudo pip3 install pyatv”

And then the plug-in worked!

Your solution worked!  Thank you.

FWIW, after having installing it without sudo and getting this same error, I tried just sudo pip install pyatv and it worked. I'm dealing with a very fresh install of Homebridge on a Raspberry Pi 2. Also, during the initial install, I noticed that I couldn't actually run atvremote (or other commands) until I added /home/pi/.local/bin it to my PATH in ~/.bashrc. Hope this is helpful for other checking this out. Also very excited to try this plugin out further!

Got the same error. Running pyatv as container on a Synology NAS. Not sure how to solve this.

Can anyone walk me through how to fix this on a macOS homebridge?

Dear all,
made all of the steps and ran sudo rustup default stable
Version of rust globally is 1.48.0
How do I update rust globally.
dsimeone@homebridge:~ $ sudo rustc --version
rustc 1.48.0 (471d696c7 2020-12-10)
dsimeone@homebridge:~ $ sudo rustup update
info: syncing channel updates for 'stable-armv7-unknown-linux-gnueabihf'
error: rustup is not installed at '/root/.cargo'
Can anybody help?
Thanks.

Dear all,
This is what I get:
dsimeone@homebridge:~ $ sudo rustup update
info: syncing channel updates for 'stable-armv7-unknown-linux-gnueabihf'
info: latest update on 2023-08-03, rust version 1.71.1 (eb26296b5 2023-08-03)
info: downloading component 'cargo'
6.5 MiB /   6.5 MiB (100 %)   4.7 MiB/s in  2s ETA:  0s
info: downloading component 'clippy'
info: downloading component 'rust-docs'
13.6 MiB /  13.6 MiB (100 %)   6.3 MiB/s in  3s ETA:  0s
info: downloading component 'rust-std'
23.1 MiB /  23.1 MiB (100 %)   6.3 MiB/s in  6s ETA:  0s
info: downloading component 'rustc'
74.6 MiB /  74.6 MiB (100 %)   6.4 MiB/s in 16s ETA:  0s
info: downloading component 'rustfmt'
info: removing previous version of component 'cargo'
info: removing previous version of component 'clippy'
info: removing previous version of component 'rust-docs'
info: removing previous version of component 'rust-std'
info: removing previous version of component 'rustc'
info: removing previous version of component 'rustfmt'
info: installing component 'cargo'
6.5 MiB /   6.5 MiB (100 %)   5.5 MiB/s in  1s ETA:  0s
info: installing component 'clippy'
info: installing component 'rust-docs'
13.6 MiB /  13.6 MiB (100 %) 460.8 KiB/s in 50s ETA:  0s
info: installing component 'rust-std'
23.1 MiB /  23.1 MiB (100 %)   4.2 MiB/s in 15s ETA:  0s
info: installing component 'rustc'
74.6 MiB /  74.6 MiB (100 %)   3.2 MiB/s in 40s ETA:  0s
8 IO-ops /   8 IO-ops (100 %)   0 IOPS in  3s ETA: Unknown
info: installing component 'rustfmt'
error: rustup is not installed at '/root/.cargo'
dsimeone@homebridge:~ $
Whereis:
dsimeone@homebridge:~ $ whereis rustc
rustc: /usr/bin/rustc /usr/share/rustc /home/dsimeone/.cargo/bin/rustc /usr/share/man/man1/rustc.1.gz
dsimeone@homebridge:~ $
It‘s enclosed in in sudo nano /etc/sudoers:
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/dsimeone/.cargo/bin"
I do Not get it.
What am I missing?
Thanks

I followed @jianyu-li’s instruction but I’m still getting the error and the plugin crashes Homebridge repeatedly.


Crash on cursor movement

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
Yes
System Info and Version
sysinfo.txt
Description
After some random time but always when moving the cursor Hyprland crashes. This seems to be since https://github.com/hyprwm/Hyprland/commit/d8b865366af9d5ed30d2ee0a437b9a3ed43c10bd
How to reproduce
It's pretty random, the only thing in common is mouse is being moved.
Crash reports, logs, images, videos
hyprlandCrashReport1654.txt

Disabling hardware cursors seems to prevent this crash, but I also might just be lucky right now as it is intermittent.

Needs more testing, I am skeptical the bisected commit is correct

I'll redo the bisect, it is intermittent which makes it rough testing the bisects.

also you could try and grab the DRM log depending on how long it takes to crash https://wiki.hyprland.org/Crashes-and-Bugs/#debugging-drm-issues
the log will be humongous so you can like attach just the | tail -n 5000 and it will be fine

Yeah the bisect was bollocks, edited my post. I can't find a good commit to properly bisect as it is so random, keep getting ones I think are fine then turn out not to be.
I'll get you a drm log tomorrow even if it takes like 50gb of logfile.

I am starting to wonder if hyprland has tripped over some amdgpu drm bug here as the "only" thing I've changed is going from Nvidia to AMD gpu and it was not present on Nvidia.

it could also be a bug in the kernel / drivers, for all we know. I am not hitting this.

This mysteriously stopped happening, with no config, software or hardware changes, so I'll close for now. If it starts happening again I'll grab the drm log and reopen.


feat: Add new column to invalid_receipts table

Added new column to keep track of why each invalid receipt failed, for easier future debbuging

This PR unblocks https://github.com/graphprotocol/indexer-rs/issues/272


Feat: Update Scroll Up

Describe the feature
Make the background transparent of the arrow button which pops up on scrolling down, & border color orange
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm a Hacktoberfest'23 contributor
[ ] I want to work on this issue

Hey, I would like to work on this.

Hey  @Achal-00 assigned this issue to you, it would be lovely if you kindly drop a star on this repo 😃


Compatibility for numpy 2.0

WIP for supporting numpy 2.0. Our builds were breaking because of numpy 2.0, I added the automatic ruff linting as described here, and also upgraded OpenCV to 4.10 as described here.
@jb-ye @f-dy I seem to remember there was some reason we pinned OpenCV to 4.8 related to the undistorting code, do you know if that's still important?

There are a lot of tiny file changes because of the new ruff lint version

See https://github.com/nerfstudio-project/nerfstudio/pull/2726#issuecomment-1883065838
I am fine with moving forward with newer version of opencv.


CLIP does not support all OOD methods

Hello! Thank you for creating this repository.
I noticed that currently the use of CLIP is only supported for some of the methods, since some functions like 'forward_threshold' are not well integrated. Could this be integrated in the already existing CLIPZeroshot class as follows?
class CLIPZeroshot(nn.Module):
    def __init__(self, classnames, templates, backbone='ViT-B/16'):
        super().__init__()
        assert backbone in clip.available_models()
        self.model, self.preprocess = clip.load(backbone, device='cuda')
        self.zeroshot_weights = zeroshot_classifier(self.model, classnames,
                                                    templates)

    def forward(self, x, return_feature=False):
        image_features = self.model.encode_image(x)
        image_features /= image_features.norm(dim=-1, keepdim=True)
        logits = image_features @ self.zeroshot_weights
        if return_feature:
            return logits, image_features
        else:
            return logits

    def forward_threshold(self, x, threshold):
        image_features = self.model.encode_image(x)
        image_features /= image_features.norm(dim=-1, keepdim=True)
        image_features = image_features.clip(max=threshold)
        logits = image_features @ self.zeroshot_weights
        return logits

I'm not sure if it can be done like this or if it's more complicated, because we also have a second text modality. Any help would be appreciated. Thank you!

Hi @saibr, yes I don't see problems with doing so, and adapting existing methods that leverage penultimate features will be worth trying for sure.
The reason we were only supporting methods that use the logits in is that, in an updated manuscript (which we haven't released), we were specifically investigating the zero-shot OOD detection performance of CLIP. To my knowledge, methods that use penultimate features will break the "zero-shot" assumption (e.g., MDS and KNN will track the features of each class's training samples). And in such cases, fine-tuning the image encoder with the available training images could potentially lead to better performance.


Configure

Sorry for this, I'm new in this, how I can configure for ctrl + l start multiple cursors, how I add a new cursor and how I can select some words only in insert mode?
Thanks

If you select something, you can add new cursor with C-n.  If you select with visual block mode S-v then press C-n you will get one cursor per line.
Other than that, please see the documentation: https://github.com/terryma/vim-multiple-cursors/blob/master/doc/multiple_cursors.txt


Troubleshooting migration issues

Hi all,
apologies if this is a dumb question, but I am not yet a hugo or academic expert.
Last year I was able to create a beautiful website using hugo: http://climdyn.usc.edu
I tried to update it recently, and found that I had to upgrade to Hugo v0.55 and the latest Academic version (4.2.5). When I run update_academic.sh and preview the build of my original site using hugo server, I now get a blank page containing only the title and the headers, but linking to no content.  Obviously a few things broke since last year, and I don't know where to start with the release notes to figure out what needs to be changed.
So I tried to fork the repo anew and build content from scratch. I was able to create a publication, which showed OK on the server up until the point where I linked it to a project (specifically, I replaced projects = [] by projects = ["stats"]).  Creating a new stats project via hugo new --kind project project/stats.md worked w/o complaints, but once I ran the hugo server after this creation, it crashed loudly with the message below.
I can't decode this, but hopefully someone can tell me what I did wrong? I thought I was playing by the rules, for once...
Also, is there a way for me to update my website without having to manually re-create every page? I guess it depends on the nature of the bug.
Thanks for any and all help on this.

Building sites … WARN 2019/04/19 15:38:22 Page's .Hugo is deprecated and will be removed in a future release. Use the global hugo function.
WARN 2019/04/19 15:38:22 Page's .RSSLink is deprecated and will be removed in a future release. Use the Output Format's link, e.g. something like:
{{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}.
ERROR 2019/04/19 15:38:22 render of "page" failed: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/project/single.html:34:12": execute of template failed: template: project/single.html:44:15: executing "project/single.html" at <partial "publication_li_mla" .>: error calling partial: execute of template failed: template: partials/publication_li_mla.html:15:8: executing "partials/publication_li_mla.html" at <partial "publication_links" (dict "content" . "is_list" 1)>: error calling partial: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/partials/publication_links.html:34:12": execute of template failed: template: partials/publication_links.html:34:12: executing "partials/publication_links.html" at <$.Site.GetPage>: error calling GetPage: too many arguments to .Site.GetPage: [page project stats]. Use lookups on the form {{ .Site.GetPage "/posts/mypage-md" }}
ERROR 2019/04/19 15:38:22 render of "section" failed: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/section/publication.html:34:12": execute of template failed: template: section/publication.html:61:15: executing "section/publication.html" at <partial "publication_li_mla" .>: error calling partial: execute of template failed: template: partials/publication_li_mla.html:15:8: executing "partials/publication_li_mla.html" at <partial "publication_links" (dict "content" . "is_list" 1)>: error calling partial: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/partials/publication_links.html:34:12": execute of template failed: template: partials/publication_links.html:34:12: executing "partials/publication_links.html" at <$.Site.GetPage>: error calling GetPage: too many arguments to .Site.GetPage: [page project stats]. Use lookups on the form {{ .Site.GetPage "/posts/mypage-md" }}
ERROR 2019/04/19 15:38:22 render of "home" failed: execute of template failed: template: index.html:1:3: executing "index.html" at <partial "widget_page.html" .>: error calling partial: execute of template failed: template: partials/widget_page.html:23:9: executing "partials/widget_page.html" at <partial $widget $params>: error calling partial: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/partials/widgets/publications.html:34:12": execute of template failed: template: partials/widgets/publications.html:39:11: executing "partials/widgets/publications.html" at <partial "publication_li_mla" .>: error calling partial: execute of template failed: template: partials/publication_li_mla.html:15:8: executing "partials/publication_li_mla.html" at <partial "publication_links" (dict "content" . "is_list" 1)>: error calling partial: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/partials/publication_links.html:34:12": execute of template failed: template: partials/publication_links.html:34:12: executing "partials/publication_links.html" at <$.Site.GetPage>: error calling GetPage: too many arguments to .Site.GetPage: [page project stats]. Use lookups on the form {{ .Site.GetPage "/posts/mypage-md" }}
Total in 28 ms
Error: Error building site: failed to render pages: render of "page" failed: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/publication/single.html:34:12": execute of template failed: template: publication/single.html:82:15: executing "publication/single.html" at <partial "publication_links" (dict "content" . "is_list" 0)>: error calling partial: "/Users/julieneg/Sites/usc2019/themes/academic/layouts/partials/publication_links.html:34:12": execute of template failed: template: partials/publication_links.html:34:12: executing "partials/publication_links.html" at <$.Site.GetPage>: error calling GetPage: too many arguments to .Site.GetPage: [page project stats]. Use lookups on the form {{ .Site.GetPage "/posts/mypage-md" }}

The above errors imply that all the steps in the Update Guide were not followed. Refer to the Update Guide at https://sourcethemes.com/academic/docs/update/ . For support requests, consider posting on the forums. These issues are for bug reports and feature requests.

The amount of breaking changes for each release makes it really difficult for casual users to keep one's site updated.
After going through the same ordeal today (it was faster to migrate from v3.3.1 to v4.2.5 by restarting the website from a fresh clone...), I wanted to start a discussion on that topic to see what could be done to make upgrades less painful. But here is not the place for such a discussion I agree.
@gcushen you mention a forum, is it the general hugo forum or is there a better place for discussions specifically related to hugo-academic?

Thanks for the support, @zertrin.

The amount of breaking changes for each release makes it really difficult for casual users to keep one's site updated.

My thoughts exactly. I updated a little casually, and now have no way to go back and figure out which version was the working one. And yes, if they are to be the first place to look for troubleshooting, the forums are not as easy to find as they should be. Guidance appreciated, @gcushen .

RE what would it take to have an easier upgrade process for migrating content and config to new theme versions or new versions of Hugo, this falls in the realm of the Hugo team - there is not much more we can do this side. Currently, Hugo lacks dependency management and lacks any form of migration framework for upgrading a site to be compatible with new versions of Hugo or Hugo themes. The Django CMS supports automating migration, so why not add something similar in Hugo for themes/sites? Feel free to add your Hugo feedback on the Hugo forums/GitHub.

How do I turn off updates for hugo? My site works fine and the only problem I have is recreating it every time a hugo update breaks it.


Auto cloning doesn't clone Bottle Cap Factories

Autocloning feature does not clone Bottle Cap Factories. As #87 is quite new, I think it's an omission.

Hi @SquaredGrunt in my save states the Bottle Cap Factories are cloned automatically. Have you set other buildings to a higher auto cloning priority so they are cloned in favour of the Bottle Cap Factories (can be configured for each building individually in the building details modal which opens when the building's icon is clicked)

I had the same experience and had to clone my BCFs manually after all other buildings had been cloned to the max.

Hello @wol-soft
I just learned there is a priority for auto cloning :smile: So all my buildings are priority 1 and they are all cloned to the max (like @2ndK16 just said) except bottle cap factories.
That may be where the bug is.

Thanks for the further feedback. I also think it has something to do with the priorities. I've set the Bottle Cap Factories to the highest priority and, as described, the clonings are executed automatically.

I've located the issue: The Bottle Cap Factories didn't provide a default priority (which should be 1). Consequently it works if the priority was changed manually once (like in my save state) but doesn't work if the priority wasn't changed.
Should be fixed with 1.66.2

The fix works, thanks !


Make a benchmark with a simple neural network

Following the simple test in this PR:
https://github.com/Cambridge-ICCS/fortran-pytorch-lib-benchmark/pull/7
Next steps are to go from multiplying a tensor to putting in a simple NN and benchmarking with that.

Closing this as stale and now covered elsewhere in the main FTorch examples.


Issues with installation

I tried to install Sortable both by downloading the repo in the plugin folder and also with the BRAT plugin. In the first case, when I try to toggle on Sortable in the community plugins settings, it says "Failed to load Sortable" and it stays off. And if I use BRAT, I can successfully toggle Sortable on, but I can't find it in the list of activated plugins on the left. Nor can I find it from the command palette.

Hello,
Cloning the repo will not install the plugin, as you essentially need the main.js file which is not tracked by git.
You have to:

download main.js, manifest.json, styles.css from the latest release
move them to vault/.obsidian/plugins/obsidian-sortable/
enable "Sortable" from the Obsidian "Community plugins" settings

Please try again and let me know how it goes.
I am not familiar with the BRAT plugin -- the installation should not require additional stuff.
Furthermore, there is an open pull request to have Sortable listed in the community plugins.
When approved, this is facilitate the installation process.
Thanks!

Yes, I mentioned above that there's an open pull request that, when accepted, will officially list the plugin in the "community plugins" section. This is the way Obsidian manages their plugin system.
As of right now, the plugin can only be installed manually.


Fix PydanticObjectId fields being parsed into str when using Pydantic's model_validate_json

Unsure if this could be fixed in a more stylish fashion, but it was simply incorrectly setup before, at least now it works.
Please make as many changes as needed if this solution could be improved.
I believe this bugfix is quite important. If you parse an ID (let's call the variable identifier) from a JSON file in order to look it up on your Mongo database... you won't find it.
 await cls.find_one(cls.id == identifier)

will return None even if the object exists, because identifier will be of type str instead of ObjectId when parsing from a JSON file with Pydantic's model_validate_json.
Fixes #940.

Hi @ivan-gj, thank you for your contribution.
So this only happens with Pydantic v2, right? Could you please add an example test case that was failing before, and is passing now (to cover this regression)? E.g. like the code from #940?

@ivan-gj  Thanks for your contribution. There is some undocumented pydantic stuff that i had to figure out with brute force in my pr  #1060  I wanted to help but ended up doing whole PR
closing as duplicate

No problem! Glad to see it getting fixed.


feat: multi chain

Description
Introducing multi-chain for the AppKit. This PR includes the changes to our whole packaging structure:

Add new base package and move the client adapters to this package and have path exports to use them optionally for multi-chain approach.
Refactoring the following clients to use new AppKit initializer to have backwards compatible versions, move their source code to /base/adapters and update their exports.

[x] wagmi
[x] solana
[x] ethers
[x] ethers5

Refactor laboratory examples to use new versions of the packages:

[x] wagmi
[x] solana
[x] ethers
[x] ethers5

Refactor to controllers to fix some multi-chain related logic issues
Refactor current clients to add chain field to the connectors
Implement new UI components for multi-chain flows (new network select button, new network list view)
Refactor UI components and views to fix some life cycle issues

Type of change

[ ] Chore (non-breaking change that addresses non-functional tasks, maintenance, or code quality improvements)
[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Associated Issues
For Linear issues:

Closes APKT-525
Closes APKT-527
Closes APKT-528
Closes APKT-573

Showcase (Optional)
If there is a UI change include the screenshots with before and after state.
If new feature is being introduced, include the link to demo recording.
Checklist

[ ] Code in this PR is covered by automated tests (Unit tests, E2E tests)
[ ] My changes generate no new warnings
[ ] I have reviewed my own code
[ ] I have filled out all required sections

@tomiir @svenvoskamp @zoruka The bundle size check is failing because it's building the app in this branch and switching to main branch, then tries to build again. But the things is the packages are now different and when it switch to main, failing to build again. So it's only specific to this PR, for the following PRs it'll be okay. I'm compared the bundles between main and feat/multi-chain and here are the results: https://walletconnect.slack.com/archives/C03RVH94K5K/p1724087178025849 :cheffkiss:


Fix inv system-probe.build --kernel-release

What does this PR do?
Fix the --kernel-release parameter of inv system-probe.build.
Motivation
It wasn’t honoured by all the targets requiring access to the kernel headers.
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Try to invoke inv system-probe.build on a Debian machine.
It fails with the following error:
$ inv system-probe.build
checking for clang executable...
/usr/bin/clang
Encountered a bad command exit code!

Command: 'clang -D__KERNEL__ -DCONFIG_64BIT -D__BPF_TRACING__ -DKBUILD_MODNAME=\\"ddsysprobe\\" -Wno-unused-value -Wno-pointer-sign -Wno-compare-distinct-pointer-types -Wunused -Wall -Werror -emit-llvm -include ./pkg/ebpf/c/asm_goto_workaround.h -O2 -fno-stack-protector -fno-color-diagnostics -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-jump-tables -I./pkg/ebpf/c -isystem /usr/src/linux-headers-5.18.0-2-cloud-amd64/include -isystem /usr/src/linux-headers-5.18.0-2-cloud-amd64/include/uapi -isystem /usr/src/linux-headers-5.18.0-2-cloud-amd64/include/generated/uapi -isystem /usr/src/linux-headers-5.18.0-2-cloud-amd64/arch/x86/include -isystem /usr/src/linux-headers-5.18.0-2-cloud-amd64/arch/x86/include/uapi -isystem /usr/src/linux-headers-5.18.0-2-cloud-amd64/arch/x86/include/generated -I./pkg/network/ebpf/c -c \'./pkg/network/ebpf/c/prebuilt/dns.c\' -o \'./pkg/ebpf/bytecode/build/dns.bc\''

Exit code: 1

Stdout:

Stderr:

In file included from ./pkg/network/ebpf/c/prebuilt/dns.c:2:
./pkg/ebpf/c/bpf_helpers.h:5:10: fatal error: 'uapi/linux/bpf.h' file not found
#include <uapi/linux/bpf.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.

That’s because uname -r returns 5.18.0-2-cloud-amd64, so that kernel headers are looked for only inside /usr/src/linux-headers-5.18.0-2-cloud-amd64/ and not inside /usr/src/linux-headers-5.18.0-2-common/ which the directory which contains uapi/linux/bpf.h.
Explicitly passing --kernel-release 5.18.0-2 should now fix the above error.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

The top level commands like system-probe.test and system-probe.object-files also need this flag?

Related to #12661 but I think both changes are needed.

@brycekahle I confirm that my initial problem is now solved on main so that I don’t need to pass a --kernel-release parameter to be able to build system-probe anymore.
It might still be useful to have the parameter working thought.
@hmahmood I’ve added the support of --kernel-release to inv system-probe.test and system-probe.object-files in https://github.com/DataDog/datadog-agent/pull/12671/commits/f4744df5f9954dbf7d6e7a37e96fc8f8d6f96423.

@L3n41c I'm not seeing the test target updated.

@brycekahle Sorry for my misleading comment. I think I wrote it before rebasing my PR on main and realising that the system-probe.test target had already been updated to add the --kernel-release parameter by #12660 here: https://github.com/DataDog/datadog-agent/pull/12660/files#diff-22a52b21c9ba4675afb50f1ea6929fc8f9b0dcec274230624f85001bc09cb370R133


Migration to lesshint 4.6.4

Is there any chance to have atom-linter-lesshint migrated to latest version of lesshint (4.6.4) in nearest future?

Sure thing! I'll push a new release shortly.


Release Google.Cloud.Domains.V1Beta1 version 2.0.0-beta04

Changes in this release:
New features

Change netstandard2.1 target to netstandard2.0 (commit 82bea85)

Created release for Google.Cloud.Domains.V1Beta1-2.0.0-beta04


Support pycon language in markdown.

It useful to write doctest inside markdown files.
    ```pycon

    >>> def foo ( bar,) :
    ...     return ''

    ```

I saw it is supported for restructured text.
Maybe there is a relatively easy way to do the same for markdown?

yeah should be relatively straightforward to apply the same logic -- CC @jdufresne

yeah should be relatively straightforward to apply the same logic -- CC @jdufresne

Hello,
Sorry for being late to the discussion.
Is there anything left to do? Or the issue was completely implemented in related pull request?
thx @Spectre5


Inconsistent naming conventions for enum values

According to this style guide, constant variables, including enum values, should be in lowerCamelCase. However, there are still many enums that don't follow this guide. Some examples are:
enum ViewType {
  HOST,
  COMPONENT,
  EMBEDDED
}

enum ViewEncapsulation {
  Emulated,
  None
}

enum LifecycleHooks {
  OnInit,
  OnDestroy,
  DoCheck,
  OnChanges,
  AfterChanges,
  AfterContentInit,
  AfterContentChecked,
  AfterViewInit,
  AfterViewChecked
}

enum HtmlTokenType {
  TAG_OPEN_START,
  TAG_OPEN_END,
  TAG_OPEN_END_VOID,
  TAG_CLOSE,
  TEXT,
  ESCAPABLE_RAW_TEXT,
  RAW_TEXT,
  COMMENT_START,
  COMMENT_END,
  CDATA_START,
  CDATA_END,
  ATTR_NAME,
  ATTR_VALUE,
  DOC_TYPE,
  EXPANSION_FORM_START,
  EXPANSION_CASE_VALUE,
  EXPANSION_CASE_EXP_START,
  EXPANSION_CASE_EXP_END,
  EXPANSION_FORM_END,
  EOF
}

enum _PreparsedElementType { NG_CONTENT, STYLE, STYLESHEET, SCRIPT, OTHER }

enum NavigationResult { SUCCESS, BLOCKED_BY_GUARD, INVALID_ROUTE }

AngularDart 5.0.0-alpha+8

Thanks for filing.
Some of these are in the internal API only (i.e. not importable by the user), so migrating them is both easier but also lower priority. Pull requests welcome for these:

ViewType
LifecycleHooks
HtmlTokenType
_PreparsedElementType

For the ones that are importable by the user, we will require migrations internally, which are probably not worth it for this release, though we can track them here:

ViewEncapsulation
NavigationResult
ChangeDetectorState
ChangeDetectionStrategy

I think this is unlikely to happen given the effort and what the pay-off is (virtually none).


fix(schema): fix schema error when enums() is used with a mongoose schema

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

v7.18.4
GitHub release

Your semantic-release bot :package::rocket:


Run 3 Pipeline Review Checklist

Materials to be reviewed are as follows - if your name is mentioned, could you please provide links under your bullet point to files that reviewers should read, please?

[x] Sims Cookbook Recipe (Authors: @danielsf, @SimonKrughoff)

https://github.com/DarkEnergyScienceCollaboration/Twinkles/blob/master/doc/Cookbook/Sims_phoSimGen.md

[ ] Input catalog generation code (catalogs include catsim instance, phosim instance, phosim centroid, and so code includes treatment of lens sprinkling, SNe, and OpSim) (Authors: @rbiswas4  @jbkalmbach )

bin/generatePhosimInput
twinkles_sky

sprinkler
twinklesCatalogDefs
twinklesVariabilityMixins
*Methodology to Obtain SN params

[ ] PhoSim pipeline tasks and configuration files, including default values (Author: @TomGlanzman with script outputs from @rbiswas4 ?)

link
link

[ ] DM Level 2 Cookbook Recipe (still without image differencing, for now) (Author: @SimonKrughoff )

link

[ ] DM Level 2 pipeline tasks and configuration files (Author: @tony-johnson )

link
link

**How long should we assign to this important review meeting? ** An hour in person might be enough, especially if some work has been done offline first.
Who needs to be at the review? @rbiswas4 @jchiang87 and @TomGlanzman can represent the coding, while @drphilmarshall, @SimonKrughoff , @jchiang87  and @sethdigel could act as reviewers. @danielsf , @jbkalmbach , and @tony-johnson  can help by providing links to the pipeline materials, which must all be up to date and ready to run.

Alright: it does look like we'll be able to do our Twinkles Run 3 Pipeline Review on Thursday October 20, when Tom is back from SF. Time is TBD #331 . Can you please take a look at the checklist at the top of this issue thread and edit it with links to your contributions? Thanks!

Should we make a new checklist based upon what we discussed at today's meeting?

Sure - but let's not make a new one, we can just edit the top comment in
this thread until it looks the way we want it to. You can treat everything
in there as mere starting points.
On Thu, Oct 20, 2016 at 4:14 PM, Bryce Kalmbach<EMAIL_ADDRESS>wrote:

Should we make a new checklist based upon what we discussed at today's
meeting?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DarkEnergyScienceCollaboration/Twinkles/issues/332#issuecomment-255253464,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AArY992bYh63ut7LYu-2_nmd3_wW3O9Jks5q1_XvgaJpZM4KKebw
.

I added links to Tom's report (#369) to the checklist. Looks like we have everything linked now except the DM Level 2 Cookbook recipe and corresponding workflow scripts.


Maybe set up a little GitHub Pages site with simple instructions?

It could be nice to have a little separate site that is managed via GitHub Pages (with the source in this repo) for documentation. Otherwise (and maybe additionally), the README can be reorganized a little to focus on the use case for most users: clone project and install, then clone internal microSD to another volume.

Sure. Would be great to document the rpi-clone capabilities from a user point of view. We also should use the GH Pages URL as the landing URL whenever we refer to rpi-clone.

I have it set up with a Jekyll install inside docs, but it seems to be pulling from the main README and not from the Jekyll setup I have running... have to figure out how the github actions workflow runs...

Well, it's there now! Goal is to make it so people can go from 0-100 quickly.
Maybe we could add in a curl | sudo bash install script too, so it's a one-click install... I don't always like those but they sure are convenient.
Closing this issue for the time being.


Added secret support to append() and type()

Motivation/Description of the PR

Added secret to append() and type() methods.
Resolves #3612

Applicable helpers:

[x] WebDriver
[x] Puppeteer
[x] Nightmare
[ ] REST
[ ] FileHelper
[ ] Appium
[x] Protractor
[x] TestCafe
[x] Playwright

Type of change

[ ] :fire: Breaking changes
[x] :rocket: New functionality
[ ] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[ ] Tests have been added
[x] Documentation has been added (Run npm run docs)
[x] Lint checking (Run npm run lint)
[x] Local tests are passed (Run npm test)

Please add UTs if that's possible 😄


Should show warning if java.util.function.* is used

It would be extraordinarily useful if retrolambda spit out a warning if java.util.function.* functions or other known backwords-incompatible code is found.
This could be configurable to either not show warnings or throw errors instead, but if it warned by default I think it would stop a lot of people from running into the problem by accident and simply having the application crash at runtime, as I would imaging that pretty much every platform that you'd use retrolambda for wouldn't have java.util.function.*.  Most of the time the errors that occur are pretty indecipherable unless you already know that this is a problem.

The animal sniffer tool can do this.
On Wed, Apr 12, 2017, 9:17 AM Morgan<EMAIL_ADDRESS>wrote:

It would be extraordinarily useful if retrolambda spit out a warning if
java.util.function.* functions or other known backwords-incompatible code
is found.
This could be configurable to either not show warnings or throw errors
instead, but if it warned by default I think it would stop a lot of people
from running into the problem by accident and simply having the application
crash at runtime, as I would imaging that pretty much every platform that
you'd use retrolambda for wouldn't have java.util.function.*. Most of the
time the errors that occur are pretty indecipherable unless you already
know that this is a problem.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/orfjackal/retrolambda/issues/128, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEEEZYnoTzCy7BkhNQ4R8ljYdkxTGMeks5rvM7hgaJpZM4M7aPy
.

This is not about java.util.function.* . An error should be shown for any used java 8 api.

There are lots of new APIs added in Java 8. Warning about lambdas which implement one of the java.util.function interfaces would hopefully cover the most common use cases. The warning message could also mention animal sniffer.


test

Triggered auto assignment to @stephanieelliott (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.


User-entered values always render and store in lower case

When users are allowed to enter their own values, the casing of the selection is not preserved. Instead, lowercase is forced.

We use this control for clients (for which we have acronyms), so it's important that the casing be maintained during user input. The client should be listed as "ABC", not "abc".

I just tried to report this as a bug in the Azure DevOps feedback portal and they referred me to here.
https://developercommunity.visualstudio.com/t/multivalue-control-ignores-case-sensitivity/1528266?from=email


Updated readme

I was assigned the task here
I have updated the readme file. I have updated it with the following:

Warp up link: to help the readers warp to the top at any point of time whilst reading/referring readme. This will save their time and prevent over scrolling across the readme.
Contents section: to help readers refer to a particular section of the readme without scrolling.

The above-mentioned features do the following:

Improve readability.
Helps them keep a check of different sections present in the readme.
Looks more presentable.

Please do review this pull request and tell me if there are changes that I need to do.
Thanks for your consideration :)

@scorphus, can you please review the PR? That would really be helpful.
Thanks in advance :)

@scorphus, I have updated the markdown. Can you please have a look at it? Thank you :)

@scorphus, done :)

Thank you, @bhav09! 👍

@scorphus, thank you very much for merging and helping me throughout :)

You're welcome! Thank you for your contribution!


Verible formatter fails to handle comma-at-beginning-of-line style and/or inline comments

v0.0-3454-g7fdc2876
Commit	2023-12-20
Built	2023-12-20T15:18:36Z
Test case
module my_module (
        input   logic                           clk_pl_100 // a comment
    , input   logic                          aresetn // another comment

    , output a
    , output b
    );
endmodule

Actual output
Already formatted, no change.

OR
Re-formatted text does not match formatted text; formatting failed to converge!  Please file a bug.

Expected output
Verible should obviously do some cleanup for this, and when one of the changes listed below is performed, it produces this:
module my_module (
      input  logic clk_pl_100  // a comment
    , input  logic aresetn     // another comment
    , output       a
    , output       b
);
endmodule

Verible fails to format the input file atop this report, unless any of the following changes is made to the source code:

I remove an underscore from clk_pl_100
I remove the blank line in the input list
I remove the inline comment // another comment

It's very unusual -- something is clearly tripping up verible in this simplified example.

Trying this out with some more examples, it seems to be related to the blank line after the first two arguments, and not related to the comments:
Something like this seems to fail to format:
module my_module (
        input   logic                           a
    , input   logic                          b

    , output c
    , output d
    );
endmodule

While putting the blank line either between a and b or between c and d both work:
module my_module (
        input   logic                           a

    , input   logic                          b
    , output c
    , output d
    );
endmodule

module my_module (
        input   logic                           a
    , input   logic                          b
    , output c

    , output d
    );
endmodule


⚠ Bofrost.at has degraded performance

In cbb3d43, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1688 ms

Resolved: Bofrost.at performance has improved in f1360ef.


Sweep: Update readme to include info about usage of poetry

Update readme to include info about usage of poetry

 📝 Indexing
I'm indexing your repository.


[cargo-contract] Explain deploy, instantiate, call

There are already some placeholder sites. Add these to sidebar.js to make them visible:
'cargo-contract/deploy',
'cargo-contract/instantiate',
'cargo-contract/call',

already present in https://use.ink/getting-started/deploy-your-contract


Unlatch without Homebridge command

Hi everybody,
unfortunately the lock unlatchs without a Homebridge command (by itself).
After a few minutes, the door open (unlatch) the front door and I don't know why. I added a own user for Homebridge and in the protocol of tedee is written that the door was opened by Homebridge, but as I already mentioned, without an external command by Homebridge.
Software-Version:
Lock: 1.3.51693
Bridge: 1.2.51141
With this uncertainty the plugin is useless for everyone with the same problem.
KR,
Hadea

After re-installation it works reliably !


Fixes all controls being set as links

This PR fixes the accessibility bug that all the controls on the welcome page were set as links when they do not redirect you to another location. All the controls that perform commands within the ADS welcome page have now had added the role button attribute.
This PR fixes #10619

just like the other PR, please create a new pr to only include the fix for this issue mentioned in the PR description. @v-bbrady

Created fresh branch to remove unneeded changes.


Spelling Mistake

Link to article:
https://docs.microsoft.com/en-us/aspnet/#pivot=aspnet
Problem:
In Real-time section, spelling of Learn is misspelled to Lean.

@terrimorton can you fix this?

I've fixed the typo at https://github.com/aspnet/Docs/blob/master/aspnet/index.md and submitted a PR.

@dendeli-msft  please close

Thanks @terrimorton

@Rick-Anderson This issue was resolved and should be closed.

@alligreubel  do you know who can close this?

[ ]

;,>      #1150
^^}}

[ ]

``


Update to Apache Thrift v0.21.0

What does this change?

Merges in from tag 0.21.0 from the upstream apache/thrift repository to bring french-thrift up to date with the latest version of Apache Thrift
No new patches from our side, but existing patches from the mobile-apps branch are maintained (such as the fixes needed to provide async support, e.g. https://github.com/guardian/french-thrift/commit/eb925d452286b8bdc6911cb633826938ab54423e and https://github.com/guardian/french-thrift/commit/94d343bc584fe38ef0c2617538b1906a529480f9).

I followed the directions outlined in the GitHub documentation for syncing a fork with the upstream repository from the command line.
Hopefully this will resolve the security vulnerabilities that are currently being reported in this project:

A few GitHub Actions are failing on this PR. I'm not too worried about that, because I can see that the same actions are failing for the same reasons on the master branch of the Apache Thrift library too (I think they were introduced with this commit). I've followed the testing steps below to check these changes.
How to test

[x] Before merging, create a prerelease from this branch: DONE here
[x] Create a branch in Bridget to check this prerelease works: DONE here, and the validate-thrift action succeeded.

Set the validate-thrift action's Dockerfile to use the prerelease
Disable the paths filter for the validate-thrift workflow so it runs for the test pull request

An example of this testing flow from the last Thrift update is here: https://github.com/guardian/bridget/compare/main...pair/test-update-thrift
Release process
This repository doesn't include a release process as such. Once this PR is approved and merged to the mobile-apps branch, and provided that the vulnerabilities are indeed resolved by this update, create a Release in the GitHub Release UI with tag v0.21.0-gu1.
This new release can then can be used by Guardian Thrift Swift, Ophan Thrift Swift and Bridget.

Well, the number of vulnerabilities being reported has gone down, from 30 to 11, but there are still 5 high level vulnerabilities here...


MIT License in standalone.js

Discussed in https://github.com/scalar/scalar/discussions/1335

Originally posted by Alvie March 28, 2024
Hi!
I want to use this but I am a little confused about the MIT Licensing. From what I understand, is that I need to include the copyright notice and the license with the "software", but I am retrieving it with NPM and only exposing the standalone.js
I am not too familiar with how licenses work, I want to include the copyright notice and the license info, but do I need to do this separately. Perhaps it should be included in the standalone.js instead?
https://github.com/scalar/scalar/discussions?discussions_q=MIT+License+in+standalone.js%3F
Sorry if this is a very nooby question 😅

Thanks for creating this issue! I'll be sure to update my @scalar/api-reference once it is done

You’re right, this wasn’t very clear. MIT is basically the "do whatever you want" license, so people do with the code whatever they want. But looking at the license it totally makes sense to expect it to be part of the output. What we did is to add a tiny header with a link to the LICENSE:
https://github.com/scalar/scalar/blob/404227c5f409356fdf9388be42b53df7789e19d2/packages/api-reference/license-banner.txt
Not released yet, but we’ll probably release it later this day. What do you think? Does this help?

Oops, that automation wasn’t helpful.

You’re right, this wasn’t very clear. MIT is basically the "do whatever you want" license, so people do with the code whatever they want. But looking at the license it totally makes sense to expect it to be part of the output. What we did is to add a tiny header with a link to the LICENSE:
https://github.com/scalar/scalar/blob/404227c5f409356fdf9388be42b53df7789e19d2/packages/api-reference/license-banner.txt
Not released yet, but we’ll probably release it later this day. What do you think? Does this help?

Thanks, I think it looks good :) I guess this is more up to you how you want to apply it. I think you might want to add a copyright notice, examples:
Copyright 2023-2024 Scalar (https://github.com/scalar/scalar/graphs/contributors)
Copyright: Scalar
(c) Scalar and other contributors

Look at how bootstrap does it and explains it:
https://getbootstrap.com/docs/4.1/about/license/
https://github.com/scalar/scalar/discussions/1335#discussioncomment-8943851
Or jQuery
/*! jQuery v3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */

https://code.jquery.com/jquery-3.7.1.slim.min.js
But I'm not an expert on this matter, it's more of a legal thing I guess, and it's up to you how to enforce it. I just didn't want to fall foul of the rules by accident 😅


Retry on conflict updating labels/annotations

We retry up to 10 times, with a delay of 500ms between attempts.
This is necessary because OpenShift itself may be updating the Build object as well.
Signed-off-by: Tim Waugh<EMAIL_ADDRESS>

+1


Random trees embedding

See scikit-learn. This uses random trees, which is identical to HalfSpaceTrees in the anomaly module. It would be nice to reuse that code instead of duplicating the logic.

What do you think about benchmarking RP-Tree & RP-Embedding

I didn't know about random projections! Yeah that would be a good idea; it would be even better if they can be implemented online.

I think online rp-embedding is amenable to approximate matrix multiplication algorithms. A streaming algorithm for RP-Trees is given in appendix 1.

Nice, I didn't see that. I opened a specific issue, see #215. I haven't taken the time to look at both techniques in detail but they seem very similar.

The Mondrian Kernel is also worth taking into account.

Added this to the icebox.


Jupyter

Any way that the css-element-queries dependency for faster resizing detection could be part of vtk-js to always have views resize more responsively? cc: @jourdain

Nope, that is not the responsibility of vtk.js. Just the application using it and managing its layout.


_executeScript patch breaks Advanced Macros and with it, PF2e Animation Macros

https://github.com/League-of-Foundry-Developers/fvtt-advanced-macros/issues/41#issuecomment-1282585951
I do not foresee supporting both PF2e's Macros and Advanced Macros, let alone changing to only PF2e's Macro variables (?)

Advanced Macros is destructive enough on its own that I do not foresee the system going out of its way to accommodate it.


Merge CodeQL into basic workflow

Coverage remained the same at 99.336% when pulling 37129a15356e1dea4a8aa22d0c1906818f526046 on thetic:combine into 98207420a5ee7d66d486ba709eb6cb789584b32b on cpputest:master.

Nice, should I merge it ?

should be good to go. i'll get the extended builds next.


Context Menu: Selected Text

Should not be considered complete without tests.
Should have the following options:

Copy
Search

Copy doesn't work; search isn't implemented

#667 adds stubs and similar tests for context menus in test/renderer/*

Closing this, unless someone finds value in these.


filepath.Walk/WalkFunc docs do not cover nil os.FileInfo argument

What version of Go are you using (go version)?
1.10.2
Does this issue reproduce with the latest release?
N/A, applies to docs
What operating system and processor architecture are you using (go env)?
N/A
What did you do?
Write a WalkFunc which called a method of its info argument.
What did you expect to see?
Success.
What did you see instead?
A panic.
I think this is a documentation issue; the documentation for WalkFunc currently says only:
"[...] The info argument is the os.FileInfo for the named path.
If there was a problem walking to the file or directory named by path, the incoming error will describe the problem and the function can decide how to handle that error (and Walk will not descend into that directory). If an error is returned, processing stops. [...]"
One of these two sections should probably say that the info argument may be nil if err is not nil. In particular, note that a determination of whether to return SkipDir could be contingent on knowing whether the path refers to a file or directory, since behavior varies. Thus, it's plausible to imagine wanting to call info.IsDir(), but it's apparently unsafe if err wasn't nil.

I'd be happy to take this one.


remove_binary Option Missing for Attachment

I am trying to create an ingest pipeline for attachments and there doesn't appear to be a way to set the remove_binary option. I would like to do something like:
var ingestPipelineResult = await client.Ingest.PutPipelineAsync("attachment", p =>
    p.Processors(x =>
    {
        x.Attachment<Document>(a =>
        {
            a.Field(f => f.Data);
            a.IndexedChars(-1);
            a.RemoveBinary(true); // this is what I want; not a real thing
        });
    }));

I suppose I could re-put the document after removing the data property, but that seems like overkill when the functionality exists in Elasticsearch. I could also try my hand at creating a raw request using something like HttpTransportClient, but I haven't seen any examples of how this would work so it will take some trial and error.

Hi  @SoccerField24x7, it seems like this field is missing from the specification and should be added there. I'll take care!

This is fixed in 8.13.x.


Improve error messages from TF message filter

Steps to reproduce:

Launch the dummy robot

ros2 launch dummy_robot_bringup dummy_robot_bringup.launch.py

Start RViz

rviz2

Changed fixed frame to odom

Add a display for an existing topic, e.g. LaserScan on with topic /scan

Output:
The following message repeated:
[INFO] [rviz]: [signalFailure] Drop message: frame 'single_rrbot_hokuyo_link' at time<PHONE_NUMBER>.594 for reason(0)

Expected output:
It would be nice to see the actual reason for the message being dropped.
We could either improve the error in the TF message filter itself, or provide a way for RViz to access the error code and log the error with the node logger.
Related TODO:
https://github.com/ros2/rviz/blob/6a946d0f05a2da0872df77f049770553fcee9c4e/rviz_common/src/rviz_common/frame_manager.hpp#L195-L212

see https://github.com/ros2/geometry2/pull/130

Any advice how to get to the root of this problem?
[INFO] [1610126663.962665070] [rviz]: Message Filter dropping message: frame 'rgb_camera_link' at time<PHONE_NUMBER>.085 for reason 'Unknown'

Any advice how to get to the root of this problem?
[INFO] [1610126663.962665070] [rviz]: Message Filter dropping message: frame 'rgb_camera_link' at time<PHONE_NUMBER>.085 for reason 'Unknown'


Implementing Google Calendar to add Contests

Is your feature request related to a problem? Please describe.
We can add Google Calendar so the contest details such as details, time and date will be Added to the Google Calendar when user clicks on the share button so they will have an option to add to  calendar!
Describe the solution you'd like
We can use Google Calendar API and for authentication we are already using firebase, so  with firebase authentication details we can get access to google calendar!
Additional context
I would like to work on this issue

Hey @mukundsolanki, that's a good idea. You can start working on this. Maybe can add a google calendar button directly instead of adding inside share.

Okay so I will add the calendar icon in between share button and go to contest button
like:

Yes, also add it on individual page. https://digitomize.com/contests/start115


AUI-1905 load more results disappears when the parent page is checked

Can you describe some steps for reproducing this problem on Alloy side, without liferay?
Also, we now have a policy of always adding tests for new code, so can you add a test to cover this problem, so it won't regress in the future?

Hi Maíra,
I found out a way to solve the client issue without alter the alloy code. I'm going to close this pull request.
Thanks!


Incorrectly sets type to "never"

TypeScript Version:  3.5.3

Search Terms: type is not assignable to type 'never', keyof, generic
Code
interface FormState {
  [key: string]: {
    fields: {
      [key: string]: {
        isInvalid: boolean;
        isValid: boolean;
        labelWidth: number;
        showPassword?: boolean;
        value: string;
      };
    };
    open?: boolean;
  };
}

let formState: FormState = {
  foo: {
    fields: {
      bar: {
        isInvalid: false,
        isValid: false,
        labelWidth: 0,
        value: ""
      }
    }
  }
};

interface SetFieldValueProps<
  T extends keyof FormState = keyof FormState,
  F extends keyof FormState[T]["fields"] = keyof FormState[T]["fields"],
  K extends keyof FormState[T]["fields"][F] = keyof FormState[T]["fields"][F]
> {
  form: T;
  field: F;
  key: K;
  value: FormState[T]["fields"][F][K];
}

const doSomething = (props: SetFieldValueProps): void => {
      const { form, field, key, value } = props;
      formState[form].fields[field][key] = value;
}

Expected behavior:
No issue. Type formState[form].fields[field][key] correctly gets the type as const key: "isInvalid" | "isValid" | "labelWidth" | "showPassword" | "value" and value correctly gets the type as const value: string | number | boolean | undefined. Nowhere in there is never defined as a possible type.
Actual behavior:
Type 'string | number | boolean | undefined' is not assignable to type 'never'.
  Type 'undefined' is not assignable to type 'never'.

Playground Link: Link to playground

I think this is caused by #30769, and I would start there to read up on the motivation for the changes.

never occurs because T[K] in a write position resolves to an intersection, and the intersection of a bunch of literals is empty, therefore never.
Why this happens: the compiler knows one of the keys will be accessed, but not which one; so in order to maintain type safety it only allows you to write using that key if all the types selected overlap.  This is working as designed and not a bug.

I'm still confused about why this isn't a bug. How else are you meant to write this without getting any errors? What changes would I need to make to get this to work?

It's not a bug because prior to TS 3.5, the error below wasn't caught:
interface Foo { foo: string, bar: boolean }
const foo: Foo = { foo: "foo", bar: true };
function set(obj: Foo, key: keyof Foo, value: Foo[keyof Foo]) {
    obj[key] = value;  // in 3.5, an error; 3.4 or earlier, no error
}
set(foo, "bar", "oops!");
console.log(foo.bar);  // bar is typed as boolean but now contains a string

The loophole is that obj[key] used to be inferred as a union, which allowed the unsafe assignment above.  Now it's inferred as an intersection in this context instead, and you get never here too because string & boolean is an empty intersection - there is no possible value you can give that will be safe for both cases.

What changes would I need to make to get this to work?

The example is very strange as written.  Why is SetFieldValueProps generic when the type parameters are never used (always set to their default values)?  If you actually use the generic type, it makes a lot more sense.  Here's a slightly modified example that typechecks:
playground
Without the generic function, you're telling TS that value: FormState[T]["fields"][F][K]; always has to satisfy every possible key in the object at the same time.

Thanks @nattthebear. I did it this way as
const doSomething = <
  F extends keyof FormState[string]["fields"] = keyof FormState[string]["fields"],
  K extends keyof FormState[string]["fields"][F] = keyof FormState[string]["fields"][F]
>

seemed to me that it was the same as leaving the generics as default, since F and K are exactly the same as the default type. I see where I went wrong though. I thought Typescript would be able to infer the types for form, field, and key from the parameter passed in, but I guess it doesn't and you need to explicitly define those types.
Anyway, your solution works. Thanks for the help!

I thought Typescript would be able to infer the types for form, field, and key from the parameter passed in

Yeah, it doesn't, you have to pass the type parameters through manually.  That's why you got the never, because FormState[T]["fields"][F][K] was selecting too many properties (i.e. all of them) and the compiler knows you can't possibly come up with a value that satisfies every single one (this wasn't caught prior to 3.5, as illustrated in my example above).  Hence never :wink: