trouble with tensorflow 2.16

When I try to use VGG-Face as model ,it cannot download it and here is the issue:
File "site-packages/deepface/modules/modeling.py", line 57, in build_model
model_obj[model_name] = model()
^^^^^^^
File "site-packages/deepface/basemodels/VGGFace.py", line 45, in init
self.model = load_model()
^^^^^^^^^^^^
File "site-packages/deepface/basemodels/VGGFace.py", line 154, in load_model
vgg_face_descriptor = Model(inputs=model.input, outputs=base_model_output)
^^^^^^^^^^^
File "site-packages/keras/src/ops/operation.py", line 228, in input
return self._get_node_attribute_at_index(0, "input_tensors", "input")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/keras/src/ops/operation.py", line 259, in _get_node_attribute_at_index
raise ValueError(
ValueError: The layer sequential has never been called and thus has no defined input.

what is your deepface version?

Latest 0.0.89

interesting, i was expecting this to be sorted in 89. Can you run the following code please?
from deepface import DeepFace
print(DeepFace.__version__)

0.0.89

Yes I have tf_keras version 2.16.0.

unfortunately, i cannot reproduce the trouble with tf 2.16.
you may consider to downgrade tf to 2.15 not to have that exception.

I am using tensorflow 2.16.1 and tf_keras 2.16.0. Should I downgrade both?

Just tensorflow please

Sometimes a virtual environment may have different versions of dependencies. To confirm this is not happening, would you please run the following program?
import tensorflow as tf
assert tf.__version__ == "2.16.1"

import tf_keras
assert tf_keras == "2.16.0"

from deepface import DeepFace
assert DeepFace.__version__ == "0.0.89"

closed due to inactivity


Libp2p transport or P2P Hub?

Libp2p is a networking stack and library for p2p protocols. It supports several transport, security, pubsub, and routing protocols. Grav could really benefit from supporting libp2p as a transport as it offers a lot of nice features from scratch that could help Grav scale in certain decentralized environments.
Leveraging a libp2p transport in Grav could also add service mesh discovery (#32) and a pubsub transport (#15) by design.
Despite all this, for the best of my knowledge libp2p has not been extensively deployed in cloud environments (traditionally less aggressive than p2p networks). Thus, my plan is to build a basic go-libp2p transport plugin for grav, evaluate how it performs compared to the existing transports, and understand if it is worth it supporting additional integration and embedding with libp2p protocols.
This could maybe also open the door to this? :)

After doing a first exploration of libp2p as a transport, I realize libp2p may not suit a Grav transport but an alternative Grav hub. The fact that you can already use several transports within the same libp2p node, that transport and discovery are really couple in libp2p (due to its p2p nature), and that you can't run raw libp2p connections without creating a libp2p node (all connections are encrypted, so nodes need to be uniquely identified with a key pair), led me to think that it'd maybe make sense to add an alternative implementation of the hub with p2p capabilities (so the user can choose which one to use), or to implement a p2phub so both alternatives can be used in parallel.
Libp2p already does handshakes, endpoint discovery and dialing, etc. and I was seeing myself re-implementing many of the things already in libp2p and including a lot of glue code to make it work within Grav. I will explore this new approach and report back with results.
PS: This commit doesn't include all the things I tried for libp2p in Grav. I didn't push the rest of the code because it was really dirty after so many testing, and I chose not to clean it, if someone is interested in seeing how I reached the "libp2p can't be a transport in Grav" dead end let me know"

@adlrocha interesting, so you're suggesting that the hub should be an interface that the caller can provide as a plug-in?
Hmm I could certainly see that being possible. We could provide a DefaultHub which is basically the current implementation (you give it your Transport and Discovery of choice), or allow you to load your own hub with Transport and Discovery built in.
What do you think?

That's it! The DefaultHub accepts Transport and Discovery plugins, but then there is a Hub plugin so that Grav can accommodate transports and technologies with the discovery already embedded (i.e. where is hard to decouple the protocols). I think the DefaultHub is key though, because it aggregates disjoint protocols together. I am also starting to think that having a PubSub plugin in the hub instead of implementing it as a transport (as suggested here) could also offer a lot of flexibility, as developers could come up with their own PubSub algorithms built upon existing transports, or just plug-in existing PubSub protocols as a transport (this needs a bit more of thinking though).
In any case, I will try to allocate some time this week to have hub as an interface, and a P2P Hub and share the code see what you think.

@adlrocha sounds awesome! Feel free to book time with me to go over it when you have a prototype :)


commenting out get exercise endpoint and adding manual test for ec2

commenting out get exercise end point for now cause we need to rethink how we allow input to this api

adding on - changed URL to pull from hosted backend


No provider "aws" plugins meet the constraint

Hello!
I have problem with new update

fran@fran-X580VD:~/mesa-dinero/dev/back$ terraform init
Initializing modules...
Downloading terraform-aws-modules/key-pair/aws 0.3.0 for key_pair2...

key_pair2 in .terraform/modules/key_pair2/terraform-aws-modules-terraform-aws-key-pair-06fa6de

Initializing the backend...
Initializing provider plugins...

Checking for available provider plugins...

No provider "aws" plugins meet the constraint "~> 2.23,~> 2.46.0,~> 2.53".
The version constraint is derived from the "version" argument within the
provider "aws" block in configuration. Child modules may also apply
provider version constraints. To view the provider versions requested by each
module in the current configuration, run "terraform providers".
To proceed, the version constraints for this provider must be relaxed by
either adjusting or removing the "version" argument in the provider blocks
throughout the configuration.
Error: no suitable version is available

Hi @franviera92 !
You need to update your installed Terraform AWS provider. The simplest way is to remove .terraform directory and run terraform init once more.
If for some reason you have to use the previous version, then you have to use the previous version of this module.

Make sure you don't have a provider_override.tf file with a version set.

I am also seeing this when I try to use aws provider version 3.0.0 with terraform 0.11.29
I attempted to remove the .terraform folder but the problem remained.
deployuser@ansiblecontrol:/deployuser$ rm -fr .terraform
deployuser@ansiblecontrol:/deployuser$ terraform init
Initializing modules...
- bastion in modules/bastion
- deadline in modules/deadline
- firehawk_init in modules/firehawk_init
- fsx in ansible/ansible_collections/firehawkvfx/fsx/terraform/fsx
- node in modules/node_centos
- softnas in ansible/ansible_collections/firehawkvfx/softnas/terraform/softnas
- storage_user in modules/storage_user
- vpc in modules/vpc
Downloading terraform-aws-modules/vpc/aws 2.44.0 for vpc.vpc...
- vpc.vpc in .terraform/modules/vpc.vpc/terraform-aws-vpc-2.44.0
- vpc.vpn in modules/vpn
- vpc.vpn.openvpn in modules/tf_aws_openvpn
- workstation in modules/workstation_pcoip

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins...
- Downloading plugin for provider "null" (hashicorp/null) 2.1.2...
- Downloading plugin for provider "random" (hashicorp/random) 2.3.0...

No provider "aws" plugins meet the constraint "~> 2.57,~> 3.0.0,~> 3.0.0".

The version constraint is derived from the "version" argument within the
provider "aws" block in configuration. Child modules may also apply
provider version constraints. To view the provider versions requested by each
module in the current configuration, run "terraform providers".

To proceed, the version constraints for this provider must be relaxed by
either adjusting or removing the "version" argument in the provider blocks
throughout the configuration.

Error: no suitable version is available

Is it possible that AWS provider 3.0.0 doesn't work with my version of Terraform or is it something else?


Allow skip-readiness annotation to work with network status changes

How to categorize this PR?

/area networking
/area quality
/area robustness
/kind bug
What this PR does / why we need it:
Allow skip-readiness annotation to work with network status changes.
When a shoot was annotated with shoot.gardener.cloud/skip-readiness: "true" gardenlet crashed with the following error:
goroutine 2222 [running]:
github.com/gardener/gardener/pkg/gardenlet/operation/botanist.(*Botanist).setAPIServerServiceClusterIP(0x0?, {0xc0045de560?, 0xe?})
        github.com/gardener/gardener/pkg/gardenlet/operation/botanist/kubeapiserverexposure.go:71 +0x30
github.com/gardener/gardener/pkg/component/kubernetes/apiserverexposure.(*service).Deploy(0xc0001ba540, {0x3364940, 0xc001522af0})
        github.com/gardener/gardener/pkg/component/kubernetes/apiserverexposure/service.go:176 +0x15a
github.com/gardener/gardener/pkg/gardenlet/controller/shoot/shoot.(*Reconciler).runReconcileShootFlow.TaskFn.RetryUntilTimeout.func48.1({0x3364940?, 0xc001522af0?})
        github.com/gardener/gardener/pkg/utils/flow/taskfn.go:46 +0x22
github.com/gardener/gardener/pkg/utils/retry.UntilFor({0x3364940, 0xc001522af0}, 0xc007346ca0, {0x3359ef0, 0xc006aa6040}, 0xc006aa6030)
        github.com/gardener/gardener/pkg/utils/retry/retry.go:132 +0x49
github.com/gardener/gardener/pkg/utils/retry.(*ops).Until(0xc0000b86c0, {0x3364940, 0xc001522af0}, 0x2567e40?, 0xc006aa6030)
        github.com/gardener/gardener/pkg/utils/retry/retry.go:176 +0x6f
github.com/gardener/gardener/pkg/gardenlet/controller/shoot/shoot.(*Reconciler).runReconcileShootFlow.TaskFn.RetryUntilTimeout.func48({0x3364898?, 0xc0041a9140?})
        github.com/gardener/gardener/pkg/utils/flow/taskfn.go:45 +0xb2
github.com/gardener/gardener/pkg/utils/flow.(*execution).runNode.func2()
        github.com/gardener/gardener/pkg/utils/flow/flow.go:226 +0x165
created by github.com/gardener/gardener/pkg/utils/flow.(*execution).runNode in goroutine 1110
        github.com/gardener/gardener/pkg/utils/flow/flow.go:222 +0x4f0

This was a miss in #9998 as skip-readiness handling was not adapted accordingly.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
The alternative solution to remove the skipReadiness condition in the Waiting until shoot infrastructure has been reconciled step would require to adapt a lot more dependencies and reduce the performance improvement of setting the annotation.

Thanks to @plkokanov for finding the issue.

We would still need this change (or something else) as  o.Shoot.GetInfo().Status.Networking can still be nil. Note that we only update it if
https://github.com/gardener/gardener/blob/6292b0e33115ae2a9c397b377b6c1e9a346ce646/pkg/gardenlet/operation/botanist/infrastructure.go#L65
and
https://github.com/gardener/gardener/blob/6292b0e33115ae2a9c397b377b6c1e9a346ce646/pkg/gardenlet/operation/botanist/infrastructure.go#L73
are true
So we actually have a lot of shoots for which o.Shoot.GetInfo().Status.Networking will be nil.

/lgtm
As this also affects shoots that already exist.
We could leave forbidding to set the skip-readiness during shoot creation for a separate PR, eventually.


Revert "Updated recipe for new version of geeet."

Reverts conda-forge/geeet-feedstock#1

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


 I can advertise with bleno, but when scanning for devices with noble the 'discover' event is never fired. Here is the debug output:
  noble addressChange a8:66:7f:3b:17:ab +0ms
  yosemite-bindings sendCBMsg: 1, {
  "kCBMsgArgName": "node-1473892881102",
  "kCBMsgArgOptions": {
    "kCBInitOptionShowPowerAlert": 0
  },
  "kCBMsgArgType": 0
} +6ms
  yosemite-bindings xpcEvent: {
  "kCBMsgId": 6,
  "kCBMsgArgs": {
    "kCBMsgArgState": 5
  }
} +5ms
  yosemite-bindings state change poweredOn +1ms
  noble stateChange poweredOn +0ms
poweredOn
  yosemite-bindings sendCBMsg: 29, {
  "kCBMsgArgOptions": {
    "kCBScanOptionAllowDuplicates": 1
  },
  "kCBMsgArgUUIDs": []
} +6ms
  noble scanStart +0ms

This is all I get, there is no further output. I don't know much about the inner workings of noble, but it seems that not further xpc event is triggered at all. Any ideas on this?

Update: Turns out this was not a noble issue, but a corruption of BT after the update. For everyone experiencing this, deleting the following plists and restarting blued helped for me:
/Library/Preferences/com.apple.Bluetooth.plist
~/Library/Preferences/com.apple.BluetoothFileExchange.plist
/var/root/Library/Preferences/blued.plist

Hi @BlackWolf,
Thanks for pioneering noble on macOS Sierra!
It's good to know that the XPC id's have not changed. We're looking to move the using node-core-bluetooth on Mac instead of the XPC connection (which was reversed engineered, using swizzling).
You can help try it out by trying out the core-bluetooth branch: https://github.com/sandeepmistry/noble/tree/core-bluetooth

Thanks, I will try that branch and let you know what happens on Sierra :D Can confirm that the main noble branch is Sierra compatible, though, have been running it successfully for the last couple of days.

@sandeepmistry what's the status on this? I am facing the sierra issue

@farfromrefug no issues for me, I updated to Sierra last week.

It might be the same issue as @BlackWolf  after an update. I was asking about the core-bluetooth branch. Are you maintaining it?

@farfromrefug  Just to clarify, my issues were not related to noble at all, but purely OS X issues. I posted the steps that resolved them for me in my above post. Did you try them?

@farfromrefug

I was asking about the core-bluetooth branch. Are you maintaining it?

@jacobrosenthal and I plan to eventually merge the branch into master. If you have time to try it out and provide feedback that would be appreciated.

@BlackWolf you just saved my day. Thank you so much!


Show how to log in Program.cs

This is a frequent request at StackOverflow.
How about the following code:
var builder = WebApplication.CreateBuilder(args);

var logger = LoggerFactory.Create(config =>
{
    config.AddConsole();
    config.AddConfiguration(builder.Configuration.GetSection("Logging"));
}).CreateLogger("Program");

var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.MapGet("/Test", async context =>
{
    logger.LogInformation("Testing logging in Program.c");
    await context.Response.WriteAsync("Testing");
});

app.Run();

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

ID: 7184a308-a254-9350-a5cd-5bced1f369ae
Version Independent ID: 726e3bf1-f367-d733-8933-bccc04da0e16
Content: Logging in .NET Core and ASP.NET Core
Content Source: aspnetcore/fundamentals/logging/index.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@ericstj please review or suggest another reviewer.

@dotnet/area-extensions-logging crew please have a look.

It is a good idea to have a doc describing logging in simple scenarios. The one listed here is good but can feel it is mostly for aspnet scenarios. We have a doc which describe using the logging with the host https://docs.microsoft.com/en-us/dotnet/core/extensions/logging?tabs=command-line#create-logs-in-main. We can have a conceptual doc listing samples for different scenarios like console apps, UI apps, aspnet,...etc.

. The one listed here is good but can feel it is mostly for aspnet scenarios.
Yes, this an ASPNET Core doc.

We have a doc which describe using the logging with the host https://docs.microsoft.com/en-us/dotnet/core/extensions/logging?tabs=command-line#create-logs-in-main. We can have a conceptual doc listing samples for different scenarios like console apps, UI apps, aspnet,...etc.

At the top of the doc we point to .NET logging:

We have a doc which describe using the logging with the host https://docs.microsoft.com/en-us/dotnet/core/extensions/logging?tabs=command-line#create-logs-in-main.

But those samples don't use the new minimal host that folks using ASP.NET Core 6.0 use.

Another small snippet:
        using var loggerFactory = LoggerFactory.Create(builder =>
        {
            builder.AddSimpleConsole(i => i.ColorBehavior = LoggerColorBehavior.Disabled);
        });

        var logger = loggerFactory.CreateLogger<Program>();

@Tratcher  @tarekgh approved this code in #26143 but you might want to take a quick look to see if that's how ASP.NET Core folks should be logging in Program.cs


Object name overlaps other operators

Azure Data Studio Version:
Version: 1.35.0-insider (user setup)
Commit: 3cfd1d23da0efba022104635b01b22cfa9a08524
Date: 2022-02-14T06:49:59.062Z
VS Code: 1.59.0
Electron: 13.5.0
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19044

Steps to Reproduce:

Execute a query with CTRL+M, where one object in the plan has a long name (e.g. table + index)
A long object name can overlap the text for another operator, making it difficult to read the text/understand what's going on:

Does this issue occur when all extensions are disabled?: Yes/No

This looks to be the same as the issue that Karl opened (#18389) - my apologies. I missed that.


Unable to see stream on iPhone externally via nabu casa

RTSP stream works fine on iPhone while connected to LAN. Also works fine in browser while connected externally. It appears that just iPhone is unable to see stream. I am using nabu casa for external connection. No errors in the logs.
Any idea how to resolve this issue? Apologies if this has already been answered somewhere. I did have a look at the FAQs but did not find anything that specifically resolves my problem.

Also works fine in browser while connected externally

Works fine in iPhone browser? Or PC?

I have the same problem on iOS 15.4 App HA and Safari external network stream not working. Local on LAN is ok. Older iPhone with iOS 12 works ok locally and externally. I noticed the problem from updating to iOS 15.3

@chudystg you need to check external access in exact same conditions. Same WiFi network or same mobile operator.

same problem here only local works I'm on the latest ios

I'm running into the same issue with my iPhone going through nabu casa. It works fine on Wi-Fi and doesn't work on mobile.

The bug is still there, it seems to be an iOS issue as the streaming works on Android devices.

For me, the Orange operator turned out to be the problem. The problem was solved by activating the Orange VPN service for my Orange phone.

Took a while to figure this out but in my case it was the carrier, tried a SIM card from another carrier and was able to stream video externally via Nabu Casa.

@AlexxIT I'm happy to send any logs over. I'm on Verizon Wireless

Check my new project. It has solution for external access
https://github.com/AlexxIT/go2rtc

Check my new project. It has solution for external access https://github.com/AlexxIT/go2rtc

Thanks! Does this mean that WebRTC development will stop? Unfortunately it looks like go2rtc isn't supported yet in the Frigate Lovelace card

go2rtc is next version. It will replace this integration backend in the future. And it can be used with default Lovelace card without this integration card.


i18n lookup is not performed on nested models

When using simple_fields_for helper (for a nested model) labels, hints etc. are not loaded from the locale.

I've tried every sollution here, but still not working.
I'm using Rails 3.1 and a polymorphic association
class Produto < ActiveRecord::Base
  has_one :item, :as => :tipo, :dependent => :destroy
end

simple_form:
  labels:
    produto:
      item:
        nome: "Anything"


Allow killing a group of jobs

See issue #226

@dposada - I've added another test for when some jobs are running, some are waiting. I believe your other comments are addressed as well.

Where are we at on this?

I just pushed #494 to address the points that @dposada pointed out with the integration tests during the review. I'll rebase this PR on top of those changes once they get merged.

@dposada - Now that #494 is merged, I think this patch is also ready.

@dposada - I made those last few small changes, and it looks like Travis is happy too.


Fix emissary crd build

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

should probably use git checkout main; git reset --hard upstream/main and get rebase upstream/main more often

yea I do this sometimes, but had been lazy recently I'll try to do that again.

/approve


”Câlnic” is listed in the drop-down menu

Description:
"Câlnic" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Câlnic" in the search bar.

Expected results
The location is listed in the drop-down menu as "Câlnic, Caraș-Severin".


add vis to fields

I love the idea of writing MY_CONST_NAME.i64 without any MY_CONST_NAME.into() so I'm adding visibility to fields aswell

Not exactly sure where you would need that, but the lib should support real rust syntax as much as possible, so I'm all for it
Can you add just a few tests?

@lgarczyn Sorry i no longer need this lib so that makes me not really motivated to add tests, and I don't exactly have time, sorry.
Feel free to push to my branch and add them yourself.


Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

I get the following error when trying to run it with ./gradlew run:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

@tessus what environment do you try to run it with? OS, Java version, etc?

Mac OS X 10.11.1
$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

Please let me know, if you need any other info.

Same issue :-)
(and exact same config)

Hi, sorry, the wrapper jar was missing, with the changes from the PR, it's working. feel free to validate by using the branch ;-)

@madmas which branch? you created a pull request from one of your local branches.
You either have to merge your own pull request or create a branch we can use as well. :-)

hi,
the PR is not for a local branch, it's from the forked repository as usual ;-)
the PR is open and needs to be accepted by @ThomasDaheim ;-)
until then, you can check it out from my fork repository and give it a try

@madmas sorry, my bad. for some reason I thought you were the owner of this repo. Argh, the weekend was too exhausting...
ok, your fix works. Thanks.

91efee9 merged


Port Kolibri flatpak to GNOME 44 runtime

See https://github.com/learningequality/kolibri-installer-gnome/issues/80.

Alternatively, we can update to Gtk 4 at the same time: https://github.com/endlessm/kolibri-installer-gnome/pull/10.
If we'd prefer to just do the runtime update, you may run into a weird issue involving an incompatible version of python3-markdown. That can be resolved by cherry-picking this change: https://github.com/endlessm/kolibri-installer-gnome/commit/b9f7ac0cf68c5cb20d124577f98139a539f2a9c0.

https://github.com/endlessm/kolibri-installer-gnome/pull/10 was merged, but now we need those changes in the upstream kolibri-installer-gnome. Richard was kind enough to merge another PR there while Dylan is out, so I think if we can make a PR of those changes and mark it as fixing https://github.com/learningequality/kolibri-installer-gnome/issues/80 we'll be all set. The Gtk4 PR already has the changes for using GNOME 44.

I was not aware of the upstream repo. I'll submit it there ASAP.

This was merged into upstream kolibri-installer-gnome in https://github.com/learningequality/kolibri-installer-gnome/pull/81 and released as 2.3.0.

The last part here is to fixup and land https://github.com/flathub/org.learningequality.Kolibri/pull/62 so the Kolibri Flathub app is actually on the GNOME 44 runtime. That's not a blocker for us to continue with Endless Key, but I think it would be nice to do.

I'm going to move this over to @dylanmccall since he has all the privileges to finish it off. @GeorgesStavracas please move on to #7.

Okay, this should all be completed, with a public release happening in flathub/org.learningequality.Kolibri#63. If someone would like to give it a quick last-minute test before Flathub automatically publishes the thing, you can run the following commands:
flatpak uninstall org.learningequality.Kolibri
flatpak install --system https://dl.flathub.org/build-repo/43766/org.learningequality.Kolibri.flatpakref
flatpak run org.learningequality.Kolibri

I keep getting the following exception on startup when used with the system service:
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]: ERROR    2023-08-25 14:33:09,201 Internal Server Error: /en/kolibri_desktop_auth_plugin/login/1001:a52896c8a2b54e08b740522251f0c24b
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]: Traceback (most recent call last):
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/core/handlers/exception.py", line 41, in inner
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     response = get_response(request)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/core/handlers/base.py", line 187, in _get_response
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     response = self.process_exception_by_middleware(e, request)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/core/handlers/base.py", line 185, in _get_response
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     response = wrapped_callback(request, *callback_args, **callback_kwargs)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/views/generic/base.py", line 68, in view
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     return self.dispatch(request, *args, **kwargs)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/views/generic/base.py", line 88, in dispatch
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     return handler(request, *args, **kwargs)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri_desktop_auth_plugin/views.py", line 12, in get
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     user = authenticate(token=token)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/contrib/auth/__init__.py", line 70, in authenticate
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     user = _authenticate_with_backend(backend, backend_path, request, credentials)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri/dist/django/contrib/auth/__init__.py", line 116, in _authenticate_with_backend
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     return backend.authenticate(*args, **credentials)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri_desktop_auth_plugin/backends.py", line 38, in authenticate
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     user_details = self._get_user_details(token)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:   File "/app/lib/python3.10/site-packages/kolibri_desktop_auth_plugin/backends.py", line 21, in _get_user_details
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]:     proxy = Gio.DBusProxy.new_sync(
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]: gi.repository.GLib.GError: g-io-error-quark: Error calling StartServiceByName for org.learningequality.Kolibri.Daemon: Timeout was reached (24)
Aug 25 14:33:09 talkbox eos-kolibri-daemon[77482]: INFO     2023-08-25 14:33:09,312 <IP_ADDRESS> - - "GET /en/kolibri_desktop_auth_plugin/login/1001:a52896c8a2b54e08b740522251f0c24b" 500 0 "" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15"

Oops! That was unfortunate. Sorry for releasing this without testing that. I created issue #10 to keep track of the need to have documented testing steps here, I reverted a bad change (and made a note to try again later), and I released a quick fix:

https://github.com/learningequality/kolibri-installer-gnome/commit/e72fbf6ef8f0ca5542d0252bb37e1fc55e1ca9fc
https://github.com/learningequality/kolibri-installer-gnome/issues/86
https://github.com/flathub/org.learningequality.Kolibri/pull/64

This is working and was tested in #18.

Verified passed with 2023-09-15 stable flatpak


Can't generate JSON file on plugin

I was trying to create a JSON file with some information (title, tags, url, description) so I first tried with the twig json_encode but it didn't worked well as I needed a parent pages node and then I tried to create it via plugin but as it's already a loop within EventSubscribers I didn't find out how to do it.
Example of my plugin which doesn't render the correct JSON:
    public function onAfterRenderPage(RenderEvent $event)     {       $page = $event->getAttributes();       if($page['collection'] == 'videos') {         array_push($json_array, array('title' => $page['title'], 'text' => $page['title'], 'tags' => "none", 'url' => urldecode($page['url'])));         file_put_contents("./build/content.json", json_encode($json_array), FILE_APPEND);       }
The result should look like this:
      {"pages": [            {"title": "About me", "text": "", "tags": "jQuery HTML5 CSS", "url": "http://www.myurl.com/about-me"},            {"title": "Portfolio page", "text": "My Description of this item", "tags": "JavaScript", "url": "http://www.myurl.com/portfolio"}       ]}
Any help would be welcome.

well, you could use spress.finish event that contains a global vision of items:
$subscriber->addEventListener('spress.finish',
    function(FinishEvent $event)
    {
        $items = $event->getItems();
        foreach ($items as $item) {
            if ($item->isBinary()) {
                continue;
            }

            $attributes = $item->getAttributes();
            if($attributes['collection'] == 'videos' {
                // ...
            }
        }
        // write to file or anything else
    });

Thank you! It's working properly now. :+1:


When CodeHilite is enabled, fenced_code includes the language class in list of general classes.

In new version 3.3, I found that there is a new language class in HTML code block
My code:
import markdown

s = '''
```c
```
'''

print(markdown.markdown(s, extensions=['extra', 'codehilite']))

output with c class:

My version info:
$ python3 --version
Python 3.8.5
$ python3 -m pip show markdown
pyName: Markdown
Version: 3.3
Summary: Python implementation of Markdown.
Home-page: https://Python-Markdown.github.io/
Author: Manfred Stienstra, Yuri takhteyev and Waylan limberg
Author-email<EMAIL_ADDRESS>License: BSD License
Location: /usr/local/lib/python3.8/dist-packages
Requires:
Required-by: pymdown-extensions, mkdocs, mkdocs-material, markdown-link-attr-modifier

According to this page https://pygments.org/docs/lexers/, there are so many possibilities that the language class mess up with other class with the same name.
When pygments is disabled, there would be a language- prefix, which is acceptable. It would be better if we always add language- prefix, or just remove it.
Thank you!

As noted in the documentation

The fenced_code extension does not alter the output provided by Pygments.

Usually I would say that that is what Pygments returns so that's what you get.
However, the c class is included based on the fact that you can define additional classes as documented here. However, the language class (the first one defined) should be handled separately from that and not be included in the general list of classes. In fact, I see the same behavior when codehilite is enabled but Pygments is not installed. The same input results in this output:

In this case, the error is more obvious as we have both class="c codehilite" on the pre tag and class="language-c" on the code tag. Of course, as Pygments doesn't include the language in its output, we don't see class="language-c" in Pygments' output. So, Pygments is not at fault here. We need to remove the language identifying class from the list of classes that we pass to Pygments. So, yeah, this is a bug. Thank you for the report.

FWIW, this behavior started happening with #816.

We also have an inconsistency between codehilite and no-codehilite when Pygments is not available. In both cases the code should be wrapped in pre and code tags. However, in the codehilite case, the extra classes are assigned to the pre tag, while in the no-codehilite case, they are assigned to the code tag.


Permalinks for Anchor Links

Is your feature request related to a problem? Please describe.
Please see this dev community issue.  I suspect the link was valid at one point but some renamed the header in the doc page and that broke the anchor link.  This is not the first time I've come across this.

Describe the solution you'd like
Provide some way of preventing anchor links from breaking when headers are renamed.
Describe alternatives you've considered
None
Additional context

Thanks for the feedback, @spottedmahn - currently, the anchor links are generated automatically from the header, therefore if the content maintainer updates those, the links will change as well. The reason this functionality is in place is because anchor links should be consistently mapped to the text (i.e. be predictable).


unable to compile from source

i've tried to compile from source in vs 2012 and 2013 express editions and 2015 community edition
2012 complains that the solution is improperly formated, except for the "NoHUD" vcproj file. which is made in 2012, and in 2013 all of the projects in the solution fail to compile, i've tried compileing all of them as is, as all of them except for "NoHUD" were written in 2013, and i've also tried upgrading "NoHUD to 2013 to no avail.
and ive also tried upgrading them all to vs 2015 with no success.
i have all 3 installed currently on windows 10.
i must be missing something, if you want a look at the compile logs for 2013 im going to upload them with this post.
Debug.zip

the errors im getting are
error LNK1561: entry point must be defined   -NMSE_Libs
error C1083: Cannot open include file: 'NMSE_Libs\Hooking.h': No such file or directory  -NMSE_Core_1_0
error C1083: Cannot open include file: 'NMSE_Libs\Hooking.h': No such file or directory  -NMSELauncher
error C1083: Cannot open include file: 'NMSE_Libs\Hooking.h': No such file or directory  -NMSE_steam
error C1083: Cannot open include file: 'NMSE_Core_1_0\ModAPI.h': No such file or directory  -TabbingFixExample

You have messed up the vcproj file by attempting to upgrade them. The project will open fine in VS2012 or VS2013 but will require some modification for VS2014+.
All of the projects are configured as x64 and /MTd:
Core, NoHUD, TabbingFix, and Steam are all our dynamic DLL's while Libs is a static DLL and Launcher is an application.
Judging by your error it is not configured that way. I'd recommend re-downloading this GIT and trying again without upgrading (you could probably get away with upgrading to VS2013).

in between attempts to compile i redownloaded the files and started clean
every time i tried

got it,
the release configuration is not set up(properly or even at all)
when i compiled it as debug as you stated it succeeded first try

Thanks, yea it shouldn't default to Release but everything is set to /MTd, Multi-Threaded debug so :)

all good, ty again :)


[ISSUE] Reading artifact allowlists does not work

Description
The SDK is unable to parse artifact allowlists, resulting in an error.
I've noticed that the schema in the API doc does not match the object that it actually returns. artifact_matchers is actually a list.
Reproduction
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.catalog import ArtifactType

w = WorkspaceClient()

init_script_allowlist = w.artifact_allowlists.get(ArtifactType.INIT_SCRIPT)

Expected behavior
The code above should not cause an error.
Debug Logs
Some values have been redacted
INFO:databricks.sdk:loading DEFAULT profile from ~/.databrickscfg: host, token
DEBUG:databricks.sdk:Attempting to configure auth: pat
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): adb-0000000000000000.00.azuredatabricks.net:443
DEBUG:urllib3.connectionpool:https://adb-0000000000000000.00.azuredatabricks.net:443 "GET /api/2.1/unity-catalog/artifact-allowlists/INIT_SCRIPT HTTP/1.1" 200 None
DEBUG:databricks.sdk:GET /api/2.1/unity-catalog/artifact-allowlists/INIT_SCRIPT
< 200 OK
< {
<   "artifact_matchers": [
<     {
<       "artifact": "/Volumes/fizz",
<       "match_type": "PREFIX_MATCH"
<     }
<   ],
<   "created_at":<PHONE_NUMBER>354,
<   "created_by"<EMAIL_ADDRESS><   "metastore_id": "00000000-0000-0000-0000-000000000000"
< }
Traceback (most recent call last):
  File "/Users/user/scripts/databricks_sdk.py", line 9, in <module>
    init_script_allowlist = w.artifact_allowlists.get(ArtifactType.INIT_SCRIPT)
  File "/Users/user/.local/share/virtualenvs/scripts-i_7zIFC6/lib/python3.10/site-packages/databricks/sdk/service/catalog.py", line 3499, in get
    return ArtifactAllowlistInfo.from_dict(res)
  File "/Users/user/.local/share/virtualenvs/scripts-i_7zIFC6/lib/python3.10/site-packages/databricks/sdk/service/catalog.py", line 182, in from_dict
    return cls(artifact_matchers=_from_dict(d, 'artifact_matchers', ArtifactMatcher),
  File "/Users/user/.local/share/virtualenvs/scripts-i_7zIFC6/lib/python3.10/site-packages/databricks/sdk/service/_internal.py", line 8, in _from_dict
    return getattr(cls, 'from_dict')(d[field])
  File "/Users/user/.local/share/virtualenvs/scripts-i_7zIFC6/lib/python3.10/site-packages/databricks/sdk/service/catalog.py", line 201, in from_dict
    return cls(artifact=d.get('artifact', None), match_type=_enum(d, 'match_type', MatchType))
AttributeError: 'list' object has no attribute 'get'

Other Information

OS: macOS 13.5.1
Version: 0.7.0
Cloud: Azure

Hi @liahagan. Thanks for reporting this issue. This was indeed an issue in our API spec. We have fixed it and it should roll out in both the sdk and the API docs in their next releases.

Verified that this issue has been fixed in the latest release, 0.9.0


Import s3 paths longer than 200 characters

At the moment, it is not possible to import (potentially neither export, but not tested) s3 paths longer than 200 characters.
The process returns below error:
java.lang.Exception: Error: [22002] VM error: data exception - string data, right truncation: max length: 200, emitted: 222

Example:
IMPORT INTO myschema.mytable
FROM SCRIPT ETL.IMPORT_PATH WITH
BUCKET_PATH    = 's3a://my-very-long-bucket/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-my-very-long-path-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/cccccccccccccccccccccccccccccc/with-subprojects/mytable/year=2020/month=04/day=02'
DATA_FORMAT    = 'PARQUET'
CONNECTION_NAME = 'MYCONNECTION'
S3_ENDPOINT    = 's3-eu-west-1.amazonaws.com'
PARALLELISM    = 'nproc()';

We have tried to reduce the length of the path, but sometimes due to project hierarchy or dependencies on other teams this is not possible.
Kindly extend this limitation if possible.
Thanks and regards,
Jorge

Could this be solved just by increasing the value while deploying the scripts?
CREATE OR REPLACE JAVA SCALAR SCRIPT IMPORT_METADATA(...)
EMITS (filename VARCHAR(500), partition_index VARCHAR(100)) AS
  %scriptclass com.exasol.cloudetl.scriptclasses.ImportMetadata;
  %jar /buckets/bfsdefault/bucket1/cloud-storage-etl-udfs-<VERSION>.jar;
/

Ref: https://github.com/exasol/cloud-storage-etl-udfs/blob/c87eaac1eb41a744b6a109217b115ccc470bbf6a/docs/deployment_guide.md#create-etl-udfs-scripts

Hey @belenaj,
Yes, that is correct.
The first error is also from metadata, right? You can increase the varchar size for the emitted filenames.


Improvements in AWS Marketplace AMI documentation

Summary
Improve The Things Stack AWS Marketplace AMI documentation.
Why do we need this ?
To assist users in understanding the upgrading process and troubleshooting the issues.
What is already there? What do you see now?
Instructions for AWS Market Place AMI deployment, post-deployment configuration, updating, and troubleshooting guides.
What is missing? What do you want to see?
Troubleshooting AWS AMI Deployment:

Document the cause & resolution of the connect: connection refused error that would occur while performing the database schema migrations.

It occurs if the configuration file is not exported before executing the commands to perform the database schema migrations.
To resolve this issue, users can either do export TTN_LW_CONFIG=/tti/lorawan-stack/config.yml or for each command pass the configuration file as -c /tti/lorawan-stack/config.yml. Please see the commands below./tti/lorawan-stack/tti-lw-stack -c /tti/lorawan-stack/config.yml is-db migrate
/tti/lorawan-stack/tti-lw-stack -c /tti/lorawan-stack/config.yml ns-db migrate
/tti/lorawan-stack/tti-lw-stack -c /tti/lorawan-stack/config.yml as-db migrate

FYI, error while performing database schema migration:$ /tti/lorawan-stack/tti-lw-stack is-db migrate
WARN  No license configured, running unlicensed mode  {"component_address_regexps": ["localhost"], "dev_addr_prefixes": ["00000000/7","02000000/7"], "license_id": "unlicensed", "max_applications": 10, "max_clients": 10, "max_end_devices": 10, "max_gateways": 10, "max_organizations": 10, "max_users": 10, "valid_from":<PHONE_NUMBER>.7304285, "valid_until":<PHONE_NUMBER>.7304285}
INFO  Connecting to Identity Server database...
dial tcp <IP_ADDRESS>:5432: connect: connection refused
correlation_id=31856630e43747eb9c826d658fbbc23c

Updating the CloudFormation Stack:

Add a note point to convey to the users that, any changes to AMI deployments must be made by editing the Cloud Formation template parameters only. If any change is made outside the CF template, this would result in the Drift which causes issues when the EC2 instance is restarted.

Redirect the users to download the new version of the CloudFormation template from the AWS Markerplace.

Usage ---> View CloudFormation Template ---> Download CloudFormation Template.

In Manual Upgrade of Databases (Amazon RDS and ElastiCache) using snapshots section, to restore the Redis Database from a snapshot, it is documented as:

For Redis (ElastiCache), enter the Name of the backup into the Amazon RDS Database Name and run the changeset.

The parameter should be Amazon ElastiCache Redis Snapshot.

Redirect the users to the Troubleshooting AWS AMI Deployment section in case of any issues observed while performing the Database Schema Migrations

Database Migrations:

Update the title to Database Schema Migrations

AMI users can perform database schema migrations by calling TTS as /tti/lorawan-stack/tti-lw-stack. Also, the configuration file should be exported before executing the commands.
For example, below are the steps to be performed to do IS DB migration
export TTN_LW_CONFIG=/tti/lorawan-stack/config.yml

/tti/lorawan-stack/tti-lw-stack is-db migrate

Resource Settings:

Add description for the parameters Amazon ElastiCache KMS Key ID & Amazon ElastiCache Password, that a change on these fields requires manual migration of the databases.

cc: @michalborkowski96
How do you propose to document this?

...
Can you do this yourself and submit a Pull Request?
No

I think it's better for @michalborkowski96 to take this one

Documentation updated, changed should be picked up by the servers within an hour or two.


Add referer header

Is this a BUG REPORT or FEATURE REQUEST?:
feature
What happened:
Currently it's hard to track, where a user came in and which redirect they used for users.
What you expected to happen:
Add referrer header to add this information more easily to analytics pages etc.
Anything else we need to know?:
Add referer header such as: TXTDirect: {hostonly} or {hostonly}
Open for other suggestions.

Question is should this be a TXT record option and on/off by default?
In my mind this might be best to be opt-in on a per record basis? ref=true ? This needs a bit of discussion.

This should not overwrite any already available referrer as far as I can see.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_66mg7kekxi/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_66mg7kekxi/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_66mg7kekxi/clone/recipe/meta.yaml:35: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_66mg7kekxi/clone/recipe/meta.yaml:43: missing_description: The recipe is missing a description
ERROR: /tmp/abs_66mg7kekxi/clone/recipe/meta.yaml:43: missing_dev_url: The recipe is missing a dev_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_d2qz1pymgy/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_d2qz1pymgy/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_d2qz1pymgy/clone/recipe/meta.yaml:35: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_d2qz1pymgy/clone/recipe/meta.yaml:43: missing_description: The recipe is missing a description
ERROR: /tmp/abs_d2qz1pymgy/clone/recipe/meta.yaml:43: missing_dev_url: The recipe is missing a dev_url
Errors were found


fix attributes in asset examples

Resolves https://github.com/lunch-money/developers/issues/31

you rock @halorrr


⚠ gorzdrav.org has degraded performance

In d200ff0, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 3099 ms

Resolved: gorzdrav.org performance has improved in 886bbb0.


[feat]: Secure Initial Setup / Connection Bootstrapping

Prerequisites

[X] I have searched for existing issues that already suggest this feature.

Describe the Feature Request
Initial setup of start9 is pretty insecure. We are supposed to plug into ethernet and then anyone on the local network can go to a http server and setup the initial password. Then, we are supposed to download a self signed SSL certificate over that http connection. Nothing about this makes sense for a system that we expect to provide us security of our data if the system can be compromised at the very beginning.
Describe the Use Case
See Above
Describe Preferred Solution
A few possible options. Implementing one or all of them would be good.

Require plugging into an HDMI monitor or provide hardware with a built in screen (like http://andyschroder.com/DistributedCharge/news/2022.06.04-RaspiBlitzOnTheTOFU/) to present a QR code of some kind that can be used to securely boostrap the connection. https://github.com/LN-Zap/lndconnect/blob/master/lnd_connect_uri.md is a good example of how to present a host and SSL certificate in a single string that could be placed inside a QR code.
Require using a USB disk that is shuffled between the start9 machine and the users computer that contain the credentials.
Allow plugging in a USB ethernet adapter to the start9 machine (so that it has a second ethernet adapter) so that the user can plug their laptop directly into the start9 machine and do the configuration over http on a separate 2 machine LAN without any other hardware being able to sniff or MITM the traffic or set a different password first. Alternatively, you could use the USB-C ethernet gadget mode on the raspi4 (https://forums.raspberrypi.com/viewtopic.php?t=245810) instead of a USB to ethernet adapter.

Describe Alternatives
No response
Anything else?
No response

Thanks for the suggestions!  Keep in mind that our mission is to make it as easy as possible to run a server, with minimal compromise.  One of the most difficult problems is the initial setup.  We wanted to enable SSL, but we also wanted to have the notion of "plug-n-play" for non-techie users.  The most secure initial setup would be via 'kiosk mode,' which is provided when you plug in a monitor, and keyboard/mouse to your server (x86_64 only at this time), but we could additionally provide a better way to transport the cert to your clients.
We are constantly improving this process and your input is very valuable.  We will look into your options.

OK, kiosk mode may be much simpler then. I recall now that in https://github.com/Start9Labs/start-os/issues/2143 you say kiosk mode is turned off by default on the raspi4. Perhaps make it required to use kiosk mode on all platforms to do initial setup, but on the raspi4 if you are worried about firefox using too much ram, disable kiosk mode after initial setup is complete.

We do not plan on requiring kiosk mode for setup given that we anticipate that the convenience of LAN setup is worth it if your threat model doesn't include a targeted spoofing attack from an attacker with access to your lan at the time of setup. Such an attacker would have to anticipate the device being set up and perform an MITM attack designed specifically to compromise the start-os server. This is an attack vector that cannot be protected against without a keyboard/monitor, which many users may not have access to. We do, however, protect against non-targeted snooping attacks by encrypting the password in transit. If a targeted MITM spoofing attack is a possibility for you, we do recommend kiosk mode.


About the robomasterEP model

I load the model of the provided robomasterEP in gazebo but it seems like the arm part are not well  connected like shown in the  fig. I examined the arm.urdf.xacro file and find only 1 joint defined about the triangle_link and arm_1_link while there should be 3. Why and how to fix this?

The arm has a parallel kinematics (i.e., it has closed kinematics chains). The URDF format does not support closed kinematics chains: when you import the model in Gazebo, two joints are detached. To simulate the arm in Gazebo you need to write a plugin to keep the chains closed by setting the value of one of their joints (or by applying the appropriate torque). I never tried simulating closed chains in Gazebo. I suggest to look for references.
I do simulate the RoboMaster arm in CoppeliaSim. You may want to have a look (https://github.com/jeguzzi/robomaster_sim) and try to mimic it in Gazebo.

Thank you for you answer, it helped me a lot!
Also can you tell me where to find the doc about the relationship between joint names in the urdf/xacro file (like "right_gripper_joint_2") and the joints on the real robot. I'm having trouble connecting them.

Hi @des-zhong, sorry for the delay.
I think that the easiest may be to look at the model in rviz2:

launch the driver
launch rviz2
add a model in rviz2 subscribing to <name>/robot_description

In rviz2, you can then inspect the TF tree and/or the model and see the names of the joints. You could also use https://index.ros.org/p/joint_state_publisher_gui/ to move the joints.

Thank you for your kind instruction! I'm working on a robomaster and Isaacgym reinforcement learning environment and this repo really helped me alot. I will cite this repo if anything get published


Can't turn off leaves

Despite putting all the sliders to the lowest setting, and in my desperation, marking the leaves as conifers, leaves still continue to fall.
Even trying to put it on the maximum setting did nothing?? What the heck??
(Using the mod in a modpack via curseforge)

Nevermind it was a different mod


Add local DA Cert verification support

Doing local DA cert verification means:

Calling VerifyBlob() on some singleton deployment of the library so that the client can be confident that the disperser is not lying when it reports the blob as confirmed.
Ensuring that the block that finalized the blob is indeed finalized.
2a. There is a sub-step here of verifying the L1 block that the disperser claims the blob's batch was confirmed in. Otherwise the finalization claim is also trusted. I'm not sure how to do this except filtering on transactions in the claimed block, looking for batch confirmation transactions, and then positively identifying the batch header hash in hand with the one in the L1 block. If this is too time-consuming this step can be decoupled from this task as a further TODO.

Since this logic isn't deploy under a singelton we'll have to reproduce the library verification code within golang. This will require replicating the following invariant checks:
A. The blob header hash stored on-chain is equivalent to the one generated from the disperser returned batch metadata: https://github.com/Layr-Labs/eigenda/blob/2ade91370441ebfefe717865f64a4ace11241639/contracts/src/libraries/EigenDARollupUtils.sol#L38-L42
B. The inclusion proof can be merkalized to generate the batch header root stored on-chain: https://github.com/Layr-Labs/eigenda/blob/2ade91370441ebfefe717865f64a4ace11241639/contracts/src/libraries/EigenDARollupUtils.sol#L44-L52
C. All quorum are adequately defined


Feature: WebAudio Support

Hello :)
First of all, excellent library :D
Bringing this JS library to the browser stage will be really nice (browser live coding/jamming sessions anyone?). And since the WebAudio API has support for MIDI, it would be a good fit.
I could try implementing this and making a PR but just wanted opinions :)
Cheers!

@Technohacker , Do you plan to make the connection between midi devices and this library or make a real time sound generation?

Another way to look at it is to use Scribbletune in conjunction with another lib that already has the web audio api abstracted away nicely.. for eg. Tone.js which is a pretty robust library already https://github.com/Tonejs/Tone.js
I had tried bringing Scribbletune to the browser with browserify and it worked great! Since Typed Arrays can be used in the browser, I think this should be doable.
The additional work would involve making the midi method in Scribbletune to export binary data (not fix it to a MIDI file) and feed that to something like Tone.js

I hope its fairly obvious, what @Technohacker has (knowingly or unknowingly) suggested via this thread is the not-so-distant future of music production... where everything is in the browser with real time collaborations from scripters and musicians! Some folks are already doing it.. for instance take a look at Soundation They dont use neither Scribbletune nor Tone.js but they ve put together something pretty impressive! I m sure folks from Ableton, Properllerhead, Cubase etc have already begun experimenting with this thought albeit in stealth mode coz there s no real news about it... If we can create a free open source alternative before them, we can give them a run for their money! :D

@walmik @partysun Yes, I meant music production in the browser. Nice to see progress :D

Absolutely! I love MIDI.js!
Scribbletune is just a declarative way to make the music part easier (scales, chords, patterns etc). Abstractions to MIDI & Audio web APIs are certainly the bigger & indispensable part of the rails.

I think we ve established that Scribbletune doesnt need to have direct support for Web Audio. An abstraction of the Web Audio API should be used in conjunction. Same applies for hooking up MIDI devices to the browser. Thanks for your ideas & comments @Technohacker @Partysun @hrgui  Closing this issue now :)

for an example of how scribbletunes can be possibly used with Web Audio API, here's an example:
https://github.com/hrgui/midi-test-playground/blob/master/index.js
also since scribbletunes does have a dependency on fs, in order to use it in webpack i had to do something:
https://github.com/hrgui/midi-test-playground/blob/master/webpack.config.js#L10

@walmik Good to hear :)

timidity for translate .mid to .ogg + EventSource + nodemon and you can set your files with preview in real time.
https://github.com/MaximeMaillet/musicnodejs
Just for playing :)


feat: Hide own offer afterwards I bought item

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[ ] Bugfix
[x] Feature
[ ] Refactoring

What's new?

[x] PR closes #3612
[ ] Requires deployment <rubick/magick_issue>
[ ] <brief_description_of_what_I've_added>

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[x] I've tested it at </bsx/gallery/3888932818-1>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

beta

local:

/bsx/gallery/3888932818-1

done

Well first of all, there are some weird settings on making offers? Can’t fully test this actually cuz of this:

pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 63.92 USD/KSM ~ 0.782 $KSM
🧗 EgCzZLpVe7zg7RHh79qPyC8UrykVkA22YY2oj7sWMZf15Ws
🔗 0xe58626882b835874566a02acec7cf5271b471cba935a9bda0ccfef4931bd1757
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

Following from here, we should remove the offer once I bought NFT, probably could be done in batch, after buying you should remove your own offer from that NFT.
Provide please demonstration and test case :)


Show context menu for any window

I want to show a context menu whatever current window is, like this clipboard extension app.
Can muda use WindowId to show context menu?
            Event::WindowEvent {
                window_id,
                ..
            } => {
                    menu.show_context_menu_for_window_id(window_id, x, y);

            }

do you mean any window? one that is not necessarily created by your app?

do you mean any window? one that is not necessarily created by your app?

yeah, such as firefox window

I am not sure if possible, but if you can get a reference to an NSWindow you can use it to get the content view and pass it to https://docs.rs/muda/latest/x86_64-apple-darwin/muda/trait.ContextMenu.html#tymethod.show_context_menu_for_nsview


Cancel existing PR runs if new pushes happen

https://stackoverflow.com/questions/68418857/how-to-cancel-existing-runs-when-a-new-push-happens-on-github-actions-but-only

Closed by #697


Settings V2: new FancyZones XAML and general UX improvements

Summary of the Pull Request

Added a FancyZones XAML page.
Replaced various ToggleSwitches with CheckBoxes based on industry standard UX guidelines (https://uxmovement.com/buttons/when-to-use-a-switch-or-checkbox/)
Added sidepanel with module info and contributors list to all separate pages including visual state management. (And removed the fixed one from ShellPage)

References
#889

PR Checklist

[X] Applies to #889
[X] CLA signed. If not, go over here and sign the CLA
[] Tests added/passed
[] Requires documentation to be updated
[] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #1373

CLosing this one for: https://github.com/microsoft/PowerToys/pull/1792


[Feature request] Trigger flag for collisions

In Unity has, for example, we have Trigger collision flag. It means, this object wont collide physically, but still give feedback events.

Available in v0.5.0-beta3. Check out commit d6b9f69 for details.


Support good type inference with unique parametrized effects

I'm very much dissatisfied with the type inference story for parametrized effects.
It's either thousands of type applications or effectful-plugin and I don't particularly like the unnecessary verbosity that comes with the former and the fact that the latter is, well, a GHC plugin and GHC plugins have bugs and usually need to be adjusted for every new GHC version.
Considering the fact that if you use an effect with parameters, then in the vast majority of cases there will be only one instance of it you're using at a time, I remembered https://github.com/re-xyr/cleff/issues/23 and managed to package the idea into a nice-looking interface, so now for chosen effects you can do this:
data Test1 a :: Effect where
  Test1 :: Test1 a m a
makeUniqueEffect ''Test1

data Test2 a b :: Effect where
  Test2 :: Test2 a b m (a, b)
  AmbTest :: Test2 a b m ()
makeUniqueEffect ''Test2

test :: (Num n, IsString s, Test1 n <:> es, Test2 s Char <:> es) => Eff es ()
test = do
  _ <- test1
  _ <- test2
  ambTest

(or write helper functions by hand as usual, just using <:> instead of :>) and it compiles without ambiguity errors.
This PR provides helpers for determining all type parameters up to 5, but one can write a local helper class for any combination.
Thoughts about naming? I think TheN helpers are fine (I thought about UniqueN, but I like TheN better). Not quite sure about <:>, though I couldn't come up with anything better.
TODO:

[ ] Better naming?
[ ] Documentation.
[ ] Helper functions for relevant built-in effects (both static and dynamic).

I think that would be a fine addition to the library!
One comment about the naming: When I read <:> it makes me think that that operator is symmetric - I think it's to close to <>.
I propose !:>, :!> or !> (preference on the first): While not quite related to Haskell the exclamation mark reminds me of uniqueness quantification as opposed to existential quantification used in some logics.


[obstacle avoidance planner]drivable area error, trajectory disconnects with vehicle body

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
drivable area looks odd when vehicle avoids obstacles. The reference trajectory disconnected with the vehicle body.
Expected behavior

The drivable area should not be a odd polygon in the picture below.
The reference should be connected with the vehicle body.

Actual behavior
In the picture above, the 2 lanelets were parallel and in opposite direction, which share a common boundary, because we created them using copy lanelet in Tier IV VMB. There was a U turn at the end of the down lanelet where the vehicle in, the U turn connected with the up lanelet.
Steps to reproduce
in simple planning simulator

set the vehicle in the down lanelet

header:
  stamp:
    sec:<PHONE_NUMBER>
    nanosec: 563960181
  frame_id: map
pose:
  pose:
    position:
      x: -76.65474700927734
      y:<PHONE_NUMBER>350586
      z: 0.0
    orientation:
      x: 0.0
      y: 0.0
      z: 0.01176164365075141

set a goal pose in the up lanelet

header:
  stamp:
    sec:<PHONE_NUMBER>
    nanosec: 650720080
  frame_id: map
pose:
  position:
    x: -65.8907699584961
    y:<PHONE_NUMBER>133789
    z: -1.7958868438885511
  orientation:
    x: 0.0
    y: 0.0
    z: 0.9998301774823879
    w: -0.018428678616139057

set a static dumpy car that the vehicle could avoid

Versions

OS: Ubuntu 22.04
ROS2: Humble
Autoware.universe: https://github.com/autowarefoundation/autoware.universe/commit/eeaff1521d9697e65a41a3561460280b1a0749b0
Map: map download

Possible causes
These 2 lanelets share the same linestring as the boundary. the order of points to generate the drivable area could make mistake in this situation.
Additional context
No response

@ahuazuipiaoliang Recently, some bug fix for generating the drivable area was merged. Could you try again with the latest main branch?

@takayuki5168 I still meet some issues about planning in the newest version. Please have a look.
https://github.com/autowarefoundation/autoware.universe/issues/3774


Cruft diff should ignore .git/

I'm trying to use Cruft to benefit from the cruft update command: such a good idea!
The cookiecutter template I'm trying to link generates a git repo with post-gen hooks, running an equivalent git init && git add -A && git commit -m "blabla".
But now when running cruft diff (and cruft update), the diff contains diff for .git/ folder (bunch of binary blobs with no common bits), which prevent any meaningful diff.
Let's consider ignoring diff from paths like .git/ folders?

 Unusable for cruft update.
Ideas
The diff seems to be done inside the /cruft/_commands/utils/diff.py. I suggest
we add some instructions to exclude .git/ from the diff results, but I haven't
been able to manage, when following exclude files from git
diff.

I'd also be in favour of automatically ignoring the .git folder. I found that I was getting a fairly unhelpful ChangesetUnicodeError ("Unable to interpret changes between current project and cookiecutter template as unicode. Typically a result of hidden binary files in project folder.") being thrown and it wasn't entirely clear why (at least from the docs).
By adding .git to the skip in the .cruft.json file, this stops adding the .git folder to the comparison. I would propose a couple of steps (I'm happy to raise a PR to that effect if it would be accepted too).

leave as-is, but document adding the .git folder to skip in the main docs
add .git to the skip in both the cruft create and cruft link steps


Ignore deprecation warnings in sqlite3

This should remove #224 even though it was already closed.
An even better solution would be to update the vendored module for sqlite3 but this suppresses the warnings for now to remove confusion.

Coverage remained the same at 29.185% when pulling ca2c99355fe471879cb786fdf61ff4cf79989c64 on fix-sqlite-warning into 4a9ee8de8fde0d657de62b66401fccdd3ca2c08e on master.

Coverage remained the same at 29.185% when pulling ca2c99355fe471879cb786fdf61ff4cf79989c64 on fix-sqlite-warning into 4a9ee8de8fde0d657de62b66401fccdd3ca2c08e on master.

Coverage remained the same at 29.185% when pulling ca2c99355fe471879cb786fdf61ff4cf79989c64 on fix-sqlite-warning into 4a9ee8de8fde0d657de62b66401fccdd3ca2c08e on master.


Prevent crashes when the product has no media

Fatal error: Call to a member function getType() on null in /var/www/vhosts/ofen.de/httpdocs/engine/Shopware/Plugins/Community/Frontend/NostoTagging/Components/Model/Product.php on line 219

Fixed in tag 1.0.1


Adds a variable for the z-index

Description
Just adding a variable for the z-index. It's easier to consume the default scss just by overriding some variables. At this point extending a class that has a predefined z-index requires a !important, which is unnecessary
Types of changes
SCSS, adding a variable, minor change
Checklist

[X ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Referring https://github.com/joomla/joomla-cms/issues/27261

Thank you 🙏

any chance of a new release with this change as a xmas present?


chore(release): v2.12.0

Problem

Solution

Additional Notes

Links
Ticket

GitHub issue _____
Other links
Verification
Manual tests

Automated tests

[ ] Unit tests added/updated
[ ] E2E tests added/updated
[ ] N/A - (provide a reason)
[ ] deferred - (provide GitHub issue for tracking)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #978 (16b3e50) into main (b9f2bda) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@           Coverage Diff           @@
##             main     #978   +/-   ##
=======================================
  Coverage   81.26%   81.26%
=======================================
  Files         121      121
  Lines        5369     5369
  Branches     1599     1599
=======================================
  Hits         4363     4363
  Misses        935      935
  Partials       71       71

Continue to review full report in Codecov by Sentry.

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


Set option for one image instead of 4

I think that #15 shall be done before this one

https://github.com/werdeil/pibooth/commit/395d3fcbe41a673a193094ba9c51fcdf1351d3fa


Error from eforsyning: 401

I get the following error when I setup the integration
Error from eforsyning: 401 -
5:04:06 PM – (WARNING) EForsyning (custom integration)

when I look at the above log details it says:
This error originated from a custom integration.

Logger: custom_components.eforsyning
Source: custom_components/eforsyning/__init__.py:98
Integration: EForsyning
First occurred: 5:04:06 PM (1 occurrences)
Last logged: 5:04:06 PM

Error from eforsyning: 401 -

With added debug log, the only additional error I see is
2021-05-27 17:04:06 WARNING (SyncWorker_10) [custom_components.eforsyning] Error from eforsyning: 401 -
``
Could it be that I'm using the wrong credentials? (HTTP 401 = unauthorised)

User name = "9 digit id" (forbrugernummer)
Password = "4 digit pin"
Supplier ID = `8b563ac8-706e-45c6-a23c-a6cabcae3e41` (derived from https://eforsyning.dk/umbraco/dff/dffapi/GetVaerkSettings?forsyningid=8B563AC8-706E-45C6-A23C-A6CABCAE3E41)

The 401 is due to the wrong login credentials.  I cannot even dump a more meaningful error message from that, because this is actually all the site returns.

Closing as wontfix as I cannot provide better feedback on error 401 unfortunately.


change tools in ctapipe/tools to use new Configuration classes

right now, we only have a few example "tools" (executable programs), that eventually need to have a common interface.  A good place to start is to migrate them to use the configuration class added recently by Jean.  The only tools that are there so far are ctapipe-info (used to list what tools are available as well as other version info),  and ctapipe-camdemo (an example tool). Both do some command-line handling that can be migrated.

Karl,
The implementation of the use case "Configure a pipeline" is highly dependent of the pipeline implementation we will choose.
I think we should start by implementing a simple pipeline first.
What do you think ?
https://forge.in2p3.fr/projects/pipelines-use-cases/wiki/ConfigureUseCase
Cheers, Jean

I have just implemented a simple pipeline to test some configuration implementation.
Do you want that I share it in ctapipe/example ?
Cheers, Jean
----- Mail original -----
De: "Jean Jacquemier"<EMAIL_ADDRESS>À: "cta-observatory/ctapipe"<EMAIL_ADDRESS>Envoyé: Mercredi 26 Août 2015 13:11:56
Objet: Implementation of use case: "Configure a pipeline"
Karl,
The implementation of the use case "Configure a pipeline" is highly dependent of the pipeline implementation we will choose.
I think we should start by implementing a simple pipeline first.
What do you think ?
https://forge.in2p3.fr/projects/pipelines-use-cases/wiki/ConfigureUseCase
Cheers, Jean

yes that would be great!  And I agree- we need to explore the use cases.  I think there are possibly 2 levels of things that are configured.

The executable tools have a  set of user-configurable options
The algorithms used in a tool themselves have some options, that may be left open to the user

those could be "automatically" added to the list of configuration options at the algorithm level
or they could be added at the tool level to the list of tool configuration options (on a tool-by-tool basis)

I'm not sure which is better. In HESS we do the automatic method, but then you get a list of 100s of options for each tool, whereas perhaps a hand-edited list is simpler (but less flexible)


feat(iOS): Image control auto resize

Q
A

Fixed Issues?

Patch: Bug Fix?

Major: Breaking Change?

Minor: New Feature?
Yes

Tests Added + Pass?
No

@yFeii 有空可以帮忙补一下单测


Git: There are no active source control providers after update

VSCode Version: 1.23.1
OS Version: Windows 10 - 1709

Steps to Reproduce:

Happens with all folders

Does this issue occur when all extensions are disabled?: Yes
After these last April updates, vscode no longer shows any git information for my projects, and when I open the Source Control panel, it says that "There are no active source control providers". As I said, it happens on all projects using git.
I installed git using msys2, and it is in D:\dev\msys64\usr\bin\git.exe
My git.path is null but apparently vscode is able to locate git just fine

Then it runs git rev-parse --show-toplevel and git config --get commit.template and "Open repository" shows a path that I believe does not work in Windows: \d\Paulo\Workspace\C\controller_to_keyboard when it should be D:\Paulo\Workspace\C\controller_to_keyboard. After that this loops a few times.

What's weird for me is that it worked fine with the old versions and now it stopped, so I don't think it's a problem with the git I have.
I did tried going back to a previous version and it still shows me the There are no active source control providers message, so I don't know what to do anymore.

I downloaded it using MSYS2's command pacman -S git. I don't know exaclty where did it com from,  but this link might be it.

So, to answer you question, I think it's not the one you linked, but a modified version from MSYS2

We only officially support Git for Windows, so I suggest you install that.


pitch accuracy

I have a question. How is the pitch accuracy by the transform model inference?

Sorry for getting back to you so late.
Are you talking about the difference in accuracy between considering pitch angle and not considering pitch angle in the lane shape model? @zhezhao1989

Sorry for getting back to you so late!
Are you talking about the difference in accuracy between considering pitch angle and not considering pitch angle in the lane shape model? @zhezhao1989

Sorry for getting back to you so late!
Are you talking about the difference in accuracy between considering pitch angle and not considering pitch angle in the lane shape model? @zhezhao1989

I guess the transform model can get the camera pitch, right? So, I am curious about the camera pitch accuracy.

Sorry for getting back to you so late!
Are you talking about the difference in accuracy between considering pitch angle and not considering pitch angle in the lane shape model? @zhezhao1989

I guess the transform model can get the camera pitch, right? So, I am curious about the camera pitch accuracy. @liuruijin17
For example, if we use the model for a video sequence, can we get a smoothed camera pitch value for each image of the video sequence?

No, our model doesn't explicitly predict the pitch angle. There are no data about camera parameters and road curvature; by far, it predicts parameters that are a combination of physical variables such as pitch angle and focal length.
Our lane shape model is a 2D representation whose parameters are combinations of physical variables. If you were to get those physical variables' values, the camera parameters need to be obtained first, which is not a concern in this paper.
If you use the model for a video sequence, you can get values that are combinations of the pitch value and other physical parameters. For example, you can get a sequence f''t , where t indexes the video frames and f''t=ftsinφt.  If your model is trained on a suitable dataset, the estimated f'' on test set can be a consistency approximation which means you directly obtain an effective physical descriptor on test set without any additional calibration or sensors.

Sorry for getting back to you so late!
Are you talking about the difference in accuracy between considering pitch angle and not considering pitch angle in the lane shape model? @zhezhao1989

I guess the transform model can get the camera pitch, right? So, I am curious about the camera pitch accuracy. @liuruijin17
For example, if we use the model for a video sequence, can we get a smoothed camera pitch value for each image of the video sequence?

No, our model doesn't explicitly predict the pitch angle. There are no data about camera parameters and road curvature; by far, it predicts parameters that are a combination of physical variables such as pitch angle and focal length.
Our lane shape model is a 2D representation whose parameters are combinations of physical variables. If you were to get those physical variables' values, the camera parameters need to be obtained first, which is not a concern in this paper.
If you use the model for a video sequence, you can get values that are combinations of the pitch value and other physical parameters. For example, you can get a sequence f''t , where t indexes the video frames and f''t=ftsinφt. If your model is trained on a suitable dataset, the estimated f'' on test set can be a consistency approximation which means you directly obtain an effective physical descriptor on test set without any additional calibration or sensors.

thanks for your reply. from f''t=ftsinφt, if we know the camera focal length f in pixels from camera calibration, we can get the camera pitch, right( sinφ = f"/f )? but I guess this computed φ is not the truth camera pitch value, which I mean φ maybe not equal to the truth camera pitch value.

It is difficult to give conclusions about the accuracy of the values without actual data.
The network outputs a descriptor f'' that varies with focal length and pitch angle. Assuming f is constant, you can think that when f'' is constant, then the pitch angle is unchanged, which means you don't need to know the specific value of the pitch angle.
However, the network doesn't get any information about the camera parameters (for example, the f should be a constant for subsequent images). The only thing the network gets is the 2D labeled points which means the network thinks every image was taken by a specific virtual camera, so it learns to find some suitable descriptors to fit lanes well and that's it. No extra information and no need to verify the real 3D values.
If you really really want to verify the true value, as I said,
first, you get the focal length in pixels (assume 100).
Then you maintain this camera and collect a dataset whose labeled 3D points are truly located on the lanes, then you project those 3D points into a 2D image plane to form the dataset.
Next, you need to formulate the lane shape model when f=100, and set the sinφ to be an output parameter, and use it to represent all the variables related to angle.
In this case, the output set for a certain lane is (k', sinφ, m', n', b', α, β) (see Eq.(3) in my paper) and the output sinφ must >-1 and <1.
Finally, you can verify what you want.

thanks a lot.


Get list of users at the start of integrating a slack

we want to save the ids of all users stored in SlackUser (even if we don't have their access token) so that we can count their votes and assign them to juries, etc. even if they haven't logged in yet.

related to #6

when a user then goes to log in in PolicyKit we should be able to find their existing user object and not be creating duplicate users

Addressed in pull request 44


Try all packages before failure

This PR makes changes to try all packages (pull, load, exec, rm) before failing, instead of failing immediately after the first package that fails. If any of the packages fail, then an error message listing all failed packages is printed after all packages are tried.
The reason for this change is that I am regularly pulling packages behind a corporate firewall / proxy. Some packages sporadically fail to download, and some packages seem to just be blocked. When these failures happen, I have to decipher the Airpower.ps1 in the project directory and go through each package individually, so the process becomes quite involved and lengthy. With this change, the error message at the end lists all failed packages while all the rest of the packages are still updated.
I realize that typically failing fast is the way to go, but this situation might be an exception (pun intended). If there is heartburn with this PR, maybe we could add a parameter to enable failing after the last package.

Rebasing...


[docs] update OTBR setup with the latest OTBR changes

Problem
OpenThread Border Router (OTBR) has been updated
to support bidirectional IPv6 connectivity and Service Discovery and comes with a CodeLab.
The OTBR setup guide should be updated with the latest OTBR changes.
Summary of Changes
Replace the OTBR setup guide with a new document that points to the OTBR CodeLab.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

While the RPi-based setup which you propose certainly provides more features etc, the old OTBR Docker-based setup was super fast and easy to configure even on a workstation, so it was a great choice for quick testing of new changes using Python CHIP Controller as it didn't require connecting RPi to do basic testing. Is it possible to run the ./script/setup on a laptop so that it doesn't modify my Wi-Fi settings and just adds wpan0 interface, starts OTBR services and configures routing properly?

./script/setup differentiates between Ubuntu and Raspbian and will do different things.  See here: https://github.com/openthread/ot-br-posix/blob/68ea812ac4ab590ab14cfa24ed88316a478b2ce4/script/_initrc#L86
diff examples/platforms/raspbian/default examples/platforms/ubuntu/default -U4
--- examples/platforms/raspbian/default	2021-03-22 10:30:23.101892617 -0500
+++ examples/platforms/ubuntu/default	2021-03-22 10:30:23.101892617 -0500
@@ -29,7 +29,7 @@

 # shellcheck disable=SC2034
 NAT64=1
 DNS64=1
-DHCPV6_PD=1
-NETWORK_MANAGER=1
+DHCPV6_PD=0
+NETWORK_MANAGER=0
 BACKBONE_ROUTER=0

My experience is that the ubuntu setup will not mess with your wifi (I believe this is part of NETWORK_MANAGER=0), but does introduce some weirdness with NAT64, where after setup you may find that IPv4 no longer works properly unless the otbr-installed tayga NAT64 is running.  If you're installing on an important Ubuntu machine and you don't need NAT64, you might consider setting NAT64=0.
I can't speak to the macOS platform, except to say that I personally haven't had much success there.
As an aside, I believe the docker containers are native (ie. if you're on ubuntu, the container will also be ubuntu), so in effect, the ./scirpt/setup config is the same as running directly on the host.  Running in the container obviously has less risk of clobbering your host configuration, so still seems like a good option to me so long as interface bridging, etc. is working.

While the RPi-based setup which you propose certainly provides more features etc, the old OTBR Docker-based setup was super fast and easy to configure even on a workstation, so it was a great choice for quick testing of new changes using Python CHIP Controller as it didn't require connecting RPi to do basic testing. Is it possible to run the ./script/setup on a laptop so that it doesn't modify my Wi-Fi settings and just adds wpan0 interface, starts OTBR services and configures routing properly?

We recently changed the raspbian default for NETWORK_MANAGER to 0 in https://github.com/openthread/ot-br-posix/pull/712
As @msandstedt mentioned, the ubuntu default for NETWORK_MANAGER is also 0.

@msandstedt @jwhui Thanks, I'll try that!

@Damian-Nordic

Could you add a reference to https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/openthread_rcp_nrf_dongle.md for using nRF52840 Dongle as the RCP? The codelab recommends nRF52840 DK, but since we have a guide for the dongle ready, there should be no harm in mentioning it as an alternative.

Added!

Remove linux_thread_connectivity.svg if it's no longer needed.

Removed!

Fix reference to linux_thread_connectivity.md in https://github.com/project-chip/connectedhomeip/blob/master/src/controller/python/README.md#thread-provisioning.

Updated!


can this plugin be used on devices without google play?

hi, can this plugin be used on devices without google play services? . Currently I am using its version 4.3.0 with sdk firebase 19.1. + And it sends me an error when using fetch ();

No, Firebase SDKs use google play services.


Update IE11 docs for MSAL Angular v2

Adds steps needed in Angular app to work for IE11.

@jasonnutter can this be merged now?


Simple DNN generator error: 'Tensor' object is not callable

TensorFlow version: 2.0.0
Python version: 3.6
Mac OS
Hi there. I tried to run customized generator demo code on my local environment. But I came across " 'Tensor' object is not callable " problem.
I noticed this might be TensorFlow 2.0 problem. So I checked this issue and this issue and found out that the problem can be solved by using functools.partial() to pass callable function to optimizer. But I cannot find the source of loss and change that tensor into callable object.
In addition to that, is there a recommended version of TensorFlow version to run adanet code? There seems to be lot of things need to be tuned when I run adanet demo code with TensorFlow 2.0 environment.
Code is as following:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import functools

import adanet
from six.moves import range
import tensorflow as tf
import numpy as np

from time import time
from datetime import datetime

_NUM_LAYERS_KEY = "num_layers"

RANDOM_SEED=42

folder_dir =  "/Users/jeff/Desktop/autoensemble/"
logdir_adanet = folder_dir + "adanet/" +datetime.now().strftime("%Y%m%d-%H%M%S")

#copy from the demo code
class _SimpleDNNBuilder(adanet.subnetwork.Builder):
  """Builds a DNN subnetwork for AdaNet."""

  def __init__(self, feature_columns, optimizer, layer_size, num_layers,
               learn_mixture_weights, dropout, seed):
    """Initializes a `_DNNBuilder`.
    Args:
      feature_columns: An iterable containing all the feature columns used by
        the model. All items in the set should be instances of classes derived
        from `FeatureColumn`.
      optimizer: An `Optimizer` instance for training both the subnetwork and
        the mixture weights.
      layer_size: The number of nodes to output at each hidden layer.
      num_layers: The number of hidden layers.
      learn_mixture_weights: Whether to solve a learning problem to find the
        best mixture weights, or use their default value according to the
        mixture weight type. When `False`, the subnetworks will return a no_op
        for the mixture weight train op.
      dropout: The dropout rate, between 0 and 1. E.g. "rate=0.1" would drop out
        10% of input units.
      seed: A random seed.
    Returns:
      An instance of `_DNNBuilder`.
    """

    self._feature_columns = feature_columns
    self._optimizer = optimizer
    self._layer_size = layer_size
    self._num_layers = num_layers
    self._learn_mixture_weights = learn_mixture_weights
    self._dropout = dropout
    self._seed = seed

  def build_subnetwork(self,
                       features,
                       logits_dimension,
                       training,
                       iteration_step,
                       summary,
                       previous_ensemble=None):
    """See `adanet.subnetwork.Builder`."""

    input_layer = tf.compat.v1.feature_column.input_layer(
        features=features, feature_columns=self._feature_columns)
    last_layer = input_layer
    for _ in range(self._num_layers):
      last_layer = tf.compat.v1.layers.dense(
          last_layer,
          units=self._layer_size,
          activation=tf.nn.relu,
          kernel_initializer=tf.compat.v1.glorot_uniform_initializer(
              seed=self._seed))
      last_layer = tf.compat.v1.layers.dropout(
          last_layer, rate=self._dropout, seed=self._seed, training=training)
    logits = tf.compat.v1.layers.dense(
        last_layer,
        units=logits_dimension,
        kernel_initializer=tf.compat.v1.glorot_uniform_initializer(
            seed=self._seed))

    # Approximate the Rademacher complexity of this subnetwork as the square-
    # root of its depth.
    complexity = tf.sqrt(tf.cast(self._num_layers, dtype=tf.float32))

    with tf.name_scope(""):
      summary.scalar("complexity", complexity)
      summary.scalar("num_layers", self._num_layers)

    shared = {_NUM_LAYERS_KEY: self._num_layers}
    return adanet.Subnetwork(
        last_layer=last_layer,
        logits=logits,
        complexity=complexity,
        shared=shared)

  def build_subnetwork_train_op(self, subnetwork, loss, var_list, labels,
                                iteration_step, summary, previous_ensemble):
    """See `adanet.subnetwork.Builder`."""

    # NOTE: The `adanet.Estimator` increments the global step.
    update_ops = tf.compat.v1.get_collection(tf.compat.v1.GraphKeys.UPDATE_OPS)
    with tf.control_dependencies(update_ops):
      return self._optimizer.minimize(loss=loss, var_list=var_list)

  # TODO: Delete deprecated build_mixture_weights_train_op method.
  # Use adanet.ensemble.Ensembler instead.
  def build_mixture_weights_train_op(self, loss, var_list, logits, labels,
                                     iteration_step, summary):
    """See `adanet.subnetwork.Builder`."""

    if not self._learn_mixture_weights:
      return tf.no_op("mixture_weights_train_op")

    # NOTE: The `adanet.Estimator` increments the global step.
    return self._optimizer.minimize(loss=loss, var_list=var_list)

  @property
  def name(self):
    """See `adanet.subnetwork.Builder`."""

    if self._num_layers == 0:
      # A DNN with no hidden layers is a linear model.
      return "linear"
    return "{}_layer_dnn".format(self._num_layers)

class Generator(adanet.subnetwork.Generator):
  """Generates a two DNN subnetworks at each iteration.
  The first DNN has an identical shape to the most recently added subnetwork
  in `previous_ensemble`. The second has the same shape plus one more dense
  layer on top. This is similar to the adaptive network presented in Figure 2 of
  [Cortes et al. ICML 2017](https://arxiv.org/abs/1607.01097), without the
  connections to hidden layers of networks from previous iterations.
  """

  def __init__(self,
               feature_columns,
               optimizer,
               layer_size=32,
               initial_num_layers=0,
               learn_mixture_weights=False,
               dropout=0.,
               seed=None):
    """Initializes a DNN `Generator`.
    Args:
      feature_columns: An iterable containing all the feature columns used by
        DNN models. All items in the set should be instances of classes derived
        from `FeatureColumn`.
      optimizer: An `Optimizer` instance for training both the subnetwork and
        the mixture weights.
      layer_size: Number of nodes in each hidden layer of the subnetwork
        candidates. Note that this parameter is ignored in a DNN with no hidden
        layers.
      initial_num_layers: Minimum number of layers for each DNN subnetwork. At
        iteration 0, the subnetworks will be `initial_num_layers` deep.
        Subnetworks at subsequent iterations will be at least as deep.
      learn_mixture_weights: Whether to solve a learning problem to find the
        best mixture weights, or use their default value according to the
        mixture weight type. When `False`, the subnetworks will return a no_op
        for the mixture weight train op.
      dropout: The dropout rate, between 0 and 1. E.g. "rate=0.1" would drop out
        10% of input units.
      seed: A random seed.
    Returns:
      An instance of `Generator`.
    Raises:
      ValueError: If feature_columns is empty.
      ValueError: If layer_size < 1.
      ValueError: If initial_num_layers < 0.
    """

    if not feature_columns:
      raise ValueError("feature_columns must not be empty")

    if layer_size < 1:
      raise ValueError("layer_size must be >= 1")

    if initial_num_layers < 0:
      raise ValueError("initial_num_layers must be >= 0")

    self._initial_num_layers = initial_num_layers
    self._dnn_builder_fn = functools.partial(
        _SimpleDNNBuilder,
        feature_columns=feature_columns,
        optimizer=optimizer,
        layer_size=layer_size,
        learn_mixture_weights=learn_mixture_weights,
        dropout=dropout,
        seed=seed)

  def generate_candidates(self, previous_ensemble, iteration_number,
                          previous_ensemble_reports, all_reports):
    """See `adanet.subnetwork.Generator`."""

    num_layers = self._initial_num_layers
    if previous_ensemble:
      num_layers = previous_ensemble.weighted_subnetworks[-1].subnetwork.shared[
          _NUM_LAYERS_KEY]
    return [
        self._dnn_builder_fn(num_layers=num_layers),
        self._dnn_builder_fn(num_layers=num_layers + 1),
    ]

#import data
(x_train, y_train), (x_test, y_test) = (
      tf.keras.datasets.boston_housing.load_data())

#define input function
def input_fn(partition):
    def _input_fn():
        feat_tensor_dict = {}
        if partition == 'train':
            x = x_train.copy()
            y = y_train.copy()
        else:
            x = x_test.copy()
            y = y_test.copy()
        for i in range(0, np.size(x, 1)):
            feat_nam = ('feat' + str(i))
            feat_tensor_dict[feat_nam] = tf.convert_to_tensor(
                    x[:, i], dtype=tf.float32)
            label_tensor = tf.convert_to_tensor(y, dtype=tf.float32)
        return (feat_tensor_dict, label_tensor)
    return _input_fn

#@title AdaNet parameters
LEARNING_RATE = 0.001  #@param {type:"number"}
TRAIN_STEPS = 60000  #@param {type:"integer"}
BATCH_SIZE = 32  #@param {type:"integer"}
LEARN_MIXTURE_WEIGHTS = False  #@param {type:"boolean"}
ADANET_LAMBDA = 0  #@param {type:"number"}
ADANET_ITERATIONS = 3  #@param {type:"integer"}

#define column list
feat_nam_lst = ['feat' + str(i) for i in range(0, np.size(x_train, 1))]
feature_columns = []
for item in feat_nam_lst:
    feature_columns.append(tf.feature_column.numeric_column(item))

estimator = adanet.Estimator(
      # Since we are predicting housing prices, we'll use a regression
      # head that optimizes for MSE.
      head = tf.estimator.RegressionHead(1),

      # Define the generator, which defines our search space of subnetworks
      # to train as candidates to add to the final AdaNet model.
      subnetwork_generator=SimpleDNNGenerator(
          optimizer=tf.keras.optimizers.RMSprop(learning_rate=LEARNING_RATE),
          learn_mixture_weights=LEARN_MIXTURE_WEIGHTS,
          seed=RANDOM_SEED,
          feature_columns=feature_columns
          ),

      # Lambda is a the strength of complexity regularization. A larger
      # value will penalize more complex subnetworks.
      adanet_lambda=ADANET_LAMBDA,

      # The number of train steps per iteration.
      max_iteration_steps=TRAIN_STEPS // ADANET_ITERATIONS,

      # The evaluator will evaluate the model on the full training set to
      # compute the overall AdaNet loss (train loss + complexity
      # regularization) to select the best candidate to include in the
      # final AdaNet model.
      evaluator=adanet.Evaluator(
          input_fn=input_fn(partition ="train")),

      # Configuration for Estimators.
      config=tf.estimator.RunConfig(
          save_summary_steps=5000,
          save_checkpoints_steps=5000,
          tf_random_seed=RANDOM_SEED,
          model_dir=logdir_adanet))

#train and evaluation funciotn
train_spec = tf.estimator.TrainSpec(
      input_fn=input_fn("train"),
      max_steps=TRAIN_STEPS)
eval_spec = tf.estimator.EvalSpec(
      input_fn=input_fn("test"),
      steps=None,
      start_delay_secs=1,
      throttle_secs=30,
      )

#estimator train and evaluate
tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec)

I apologize for the poor code style. I'm not professional in this line and I'm still working on it. Thanks for your attention.

You use the optimizer from Keras API.
The minimize function takes the loss as a callable function without arguments.
If your loss is a calculated tensor, then use the tf.GradientTape() instead.
Replace the self._optimizer.minimize(...) with
with tf.GradientTape() as tape:
    # TODO: put your loss function in the tape scope
    _loss = loss()
grads = tape.gradient(_loss, var_list)
grads_and_vars = zip(grads, var_list)
self._optimizer.apply_gradients(grads_and_vars)

One of the ref I wrote in another question.  https://github.com/tensorflow/tensorflow/issues/29944#issuecomment-560224083


amp logs without arguments shouldn't be an error

This is the current output from running amp logs without any arguments:
$ amp logs
Error during:  Fetch log entries matching provided criteria. If provided, SERVICE can be a partial or full service id or service name.

The command should return default logs (eg, everything) or it should default to displaying a help message. Either is better than showing an error.

I'm on it


Should we be fitting parameters in the log space?

In the R version of the BGBB fitter, they log the parameters before using L-BFGS-B to estimate it: https://github.com/cran/BTYD/blob/master/R/bgbb.R#L79-L84

huh, interesting, this could make estimation more stable....

yeah, I don't know how we would answer the question of which of these would be better though outside of some simulation work? I will say in practice though I frequently have parameters go into invalid regions. or we could ask the R developers on BTYD why they chose to use log parameters.

This is being implemented as part of #251, I think it does improve convergence generally.