PropertyChanged not recognized after posting to SynchronizationContext.Current

(EDIT: I've changed the title to reflect the second post. Let me know if you'd like me to just replace the contents of this post)
Describe the bug
In my Avalonia MVVM app, I have a command on the view model that creates a Progress<int> and passes it as a parameter to a different Task- returning function to receive progress updates. The handler for the Progress<int> object updates a Status property on the view model. After the inner function completes, further updates to the Status property are ignored.
I have paused during debugging in Visual Studio and verified that the function is in the "main" thread at the time of execution. I've also tried adding a Dispatcher.UIThread.VerifyAccess() call just to be doubly sure.
NOTE: This behavior only goes on for as long as the command handler continues executing. The next time the button is clicked, the entire cycle repeats (including the first status change happening correctly)
To Reproduce
I have reduced the problem to the following minimal repro. Note that when the body of OnProgressUpdated is changed to be empty, the last status change ("Command finished.") is reflected in the view.
// MainWindowViewModel.cs
using ReactiveUI;
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Input;

namespace BugDemo.ViewModels;

public class MainWindowViewModel : ViewModelBase
{
    private string _status;

    public MainWindowViewModel()
    {
        Test = ReactiveCommand.CreateFromTask(TestCore);
        _status = "Nothing";
    }

    public ICommand Test { get; } = default!;

    public string Status
    {
        get => _status;
        private set => this.RaiseAndSetIfChanged(ref _status, value);
    }

    private async Task TestCore()
    {
        Status = "Starting command.";
        await Task.Delay(100);
        var progress = new Progress<int>(OnProgressUpdated);
        await DoWorkAsync(progress);
        Status = "Command finished."; // This is never shown
    }

    private void OnProgressUpdated(int value)
        => Status = $"Status updated: {value}";

    private static async Task DoWorkAsync(IProgress<int> progress)
    {
        foreach (var i  in Enumerable.Range(1, 10))
        {
            await Task.Delay(100);
            progress.Report(i);
        }
    }
}

<!-- MainWindow.axaml -->
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="using:BugDemo.ViewModels"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
        x:Class="BugDemo.Views.MainWindow"
        Icon="/Assets/avalonia-logo.ico"
        Title="BugDemo">

    <Grid>
        <StackPanel>
            <Button HorizontalAlignment="Center"
                    VerticalAlignment="Center"
                    Content="click me"
                    Command="{Binding Path=Test, Mode=OneWay}" />
            <TextBlock Text="{Binding Path=Status, Mode=OneWay}" />
        </StackPanel>
    </Grid>

</Window>

Expected behavior
The last status change ("Command finished.") is reflected in the view.
Screenshots
N/A
Desktop (please complete the following information):

OS: Windows 10 Pro x64 21H2
Version 0.10.18

Additional context
Could this instead be a bug in ReactiveUI?

Update: What Progress<T> does behind the scenes is capture SynchronizationContext.Current and use that to post the updates. I've taken that knowledge and further reduced the minimal repro to the following code sample.
using ReactiveUI;
using System.Threading;
using System.Windows.Input;

namespace BugDemo.ViewModels;

public class MainWindowViewModel : ViewModelBase
{
    private string _status;

    public MainWindowViewModel()
    {
        Test = ReactiveCommand.Create(TestCore);
        _status = "Nothing";
    }

    public ICommand Test { get; } = default!;

    public string Status
    {
        get => _status;
        private set => this.RaiseAndSetIfChanged(ref _status, value);
    }

    private void TestCore()
    {
        Status = "Starting command.";
        var context = SynchronizationContext.Current!;

        context.Post(o => Status = "New status", null);

        Status = "Command finished."; // Never shows
    }
}

Seems to work as expected. At least from Avalonia side how it handles synchronization context.
From my experience, default Progress type has a very annoying behavior with its usage of SynchronizationContext, when it's not necessary. But it is relatively easy to create own implementation of IProgress interface.

PropertyChanged not recognized after posting to SynchronizationContext.Current

The problem in your code is that Post is asynchronous method, and it is executed after current context's code is completed.
See:
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs#L33
Or WPF implementation:
https://github.com/dotnet/wpf/blob/main/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/DispatcherSynchronizationContext.cs#L79
By calling SynchronizationContext.Post application schedules a new job on the UI thread which will be executed according to the priority after current job.
If job needs to be awaited, then either Send method should be used (which can block current thread, if called from non-UI thread), or same Post but with some synchronization object like TaskCompletionSource. BCL Progress implementation does neither.

@maxkatz6 Ah, what a trivial mistake on my part. Thank you 😅


Add ability to search application from the list page

What would you like to be added:
In the case of a big project which has a large number of applications, it is difficult to find a specific application.
So it would be nice if users can search the application by name or other fields.
Why is this needed:

Search application and filter by fields are supported in application list page 👍


User roles

Hi!
Could you explain how use this library with different user roles? Why must I set an user role in signIn data if I know only login and password?

Hey @ghosthope. There are multiple ways to handle a multi-user setups. The frontend only needs to know about if you use the multi user model setup explained here. Thats because you need to handle different routes for different user types, like /admin/auth for admin or /user/auth for user.
For the default behavior you don't need to set a user type.


Deploy artifacts to maven central

Describe the bug
It seems version 1.1.2 on https://repo.karuslabs.com/ was re-uploaded with a new version - the files in my Gradle cache diverge from those on the Karuslabs repository; I am seeing differences in elementary, elementary-project, satisfactory, and there may be more.
This is going to throw off all build tools that depend on that repository; e.g. Maven will not re-download anything unless explicitly instructed to, while Gradle will delete unused files after (typically) 7 days of non-use and re-download them later.
I.e. depending on the caching specifics of any build tool, people will see some old version, or a new version, or a mixture of old and new; and they will see different artifacts from different versions of 1.1.2 depending on download history.
A screenshot that shows my Gradle cache (which happens to use the SHA1 hashes as directory names):

Expected behavior
Once a version is uploaded to a Maven repository, it is there for eternity; any modified uploads must use a new version number.
As an exception and as a last resort, one can delete an artifact version from a Maven repository. This can be necessary if a version accidentally contains passwords, private SSH keys, GDPR data, or trade secrets.
Suggestion
Publish your Maven artifacts to Maven Central.
This prevents not just overwrites, but also supply-chain attacks like "hack into https://repo.karuslabs.com/ and insert malware into the .jar files".

If I remember, this was a one-off thing to correct a dependency issue occurring with 1.1.2. The code in both deployments are (almost) identical with the removal of some compile-time scoped annotations.
That said, it'll be worth investigating deployment to maven central.

Maybe it would help to use GitFlow or GitHubFlow for the branching strategy, so that there's a specific release branch on which to make releases.
That way your automation could use those branches to guarantee that releases are only made on those branches and only when tagged with a specific tag (so it would be impossible to release 1.1.2 on a commit that isn't tagged with 1.1.2)

It was moreso that I intentionally redeployed 1.1.2 without thinking too much about the aftereffects rather than an accidental deployment. That said, I feel that the project should towards a more trunk-based development flow.
The original stable branch was created because I disliked having documentation next to code when I first started the project. That view however has since changed (thankfully) in the 1-2 years since. I'm planning to deprecate the stable branch and tag releases on master in the future.

 I don't think that there is anything wrong with that divide though, but it would probably be better to keep the industry standards when it comes to naming these.

Publish your Maven artifacts to Maven Central.
This prevents not just overwrites, but also supply-chain attacks like "hack into repo.karuslabs.com and insert malware into the .jar files".

Huge 👍 to that. This library is used in testing parts of the Jenkins ecosystem and it would be really appreciated if this could be deployed to Maven central to avoid configuration of custom mirrors as well as avoiding burden on your own infrastructure.
Additionally it seems your Nexus instance is forbidding Artifactory user agent (used by Jenkinsci infrastructure), which prevents effective proxying of the repository (see jenkins-infra/helpdesk#3115 (comment))

I'll probably get around to deploying Elementary & Utilitary 2.0.0 this weekend & get the ball rolling on Maven central deployment then. Had to postpone work on it due to school & work commitments.
That said, Satisfactory will probably still remain at 1.1.2 since it is far from complete.
Also, I'm not too sure about how to fix the Artifactory user agent issue, any clue what might be the cause?

Also, I'm not too sure about how to fix the Artifactory user agent issue, any clue what might be the cause?

It's probably not the user agent but some authentication issue, possibly confounded by firewalls swallowing or mutilating requests.
You'll have to look into the logs of the Pante repository software (Nexus IIRC), and possibly into the logs of your firewall.
@Vlatombe it will help tremendously if you can tell @Pante when exactly the last request was sent, or what public IP or IPs your Artifactory instance is using to talk to the Pante repo (logs tend to contain all sorts of unrelated traffic). @Pante if your  firewall was configured competently, then the X-Forwarded-For header will be in your logs. (You may have to configure the web server to show that header; firewalls are expected to add it to requests. The firewalls need to terminate the encryption to do this. If they don't, they need to keep the original IP packet intact, including sender IP, and accept outgoing packets to that IP; in that case, there's no X-Forwarded-For.)
If this sounds complicated: That's why people tend to avoid hosting their own repositories ;-)

Also, I'm not too sure about how to fix the Artifactory user agent issue, any clue what might be the cause?

It's probably not the user agent but some authentication issue, possibly confounded by firewalls swallowing or mutilating requests. You'll have to look into the logs of the Pante repository software (Nexus IIRC), and possibly into the logs of your firewall. @Vlatombe it will help tremendously if you can tell @Pante when exactly the last request was sent, or what public IP or IPs your Artifactory instance is using to talk to the Pante repo (logs tend to contain all sorts of unrelated traffic). @Pante if your firewall was configured competently, then the X-Forwarded-For header will be in your logs. (You may have to configure the web server to show that header; firewalls are expected to add it to requests. The firewalls need to terminate the encryption to do this. If they don't, they need to keep the original IP packet intact, including sender IP, and accept outgoing packets to that IP; in that case, there's no X-Forwarded-For.) If this sounds complicated: That's why people tend to avoid hosting their own repositories ;-)

I think I'm just going to stick to publishing it on Maven central...

I've submitted the project to Maven Central and it's pending approval. The downside is that I had to disable HTTPS for repo.karuslabs.com for the time-being in order to add the record... (Don't ask, the hosting infrastructure is ancient)

Hopefully Maven Central will accept HTTP, otherwise the approval should be fast.
This initial approval is typically pretty fast otherwise, it merely checks that you own the domain so that they allow you to grab the group namespace. The actual project uploads don't need this kind of approval, i.e. you should be able to revert to HTTPS quickly.

The actual project uploads don't need this kind of approval

Right, after onboarding you just need to securely manage signing & upload keys (pending https://github.com/sigstore/sigstore-maven/issues/12).

Elementary 2's on Maven central.


Fixed several typos

Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

[x] Bug Fix
[ ] New Feature
[ ] Sample

Related Issues?
No issue involved.
What is in this Pull Request ?
This tiny PR fixes several typos I encountered.

Thanks @ChVeen , merged it ! Much appreciated .


Error when upgrading to webpack 3.

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
Valid modules aren't found in final webpack output. The browser console shows the following Uncaught TypeError: Cannot read property 'call' of undefined.   There is an attached repository, and somehow this is related to CommonsChunkPlugin, externals, and I believe hbsfy.
If the current behavior is a bug, please provide the steps to reproduce.
Follow the directions in this README - https://github.com/gdborton/call-error
There are directions for creating the error, and steps to show that it doesn't error out in webpack 2.
What is the expected behavior?
No Uncaught TypeError: Cannot read property 'call' of undefined error when loading pages. These modules exist and aren't related to the externals config, they should be included in the bundles.
If this is a feature request, what is motivation or use case for changing the behavior?
N/A
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
I don't think it's relevant, but...
Node - 6.10.2
Npm - 2.15.12
webpack - 3.x (RCs, 3.0.0-3.5.4 tested)
Mac OSX - 10.12.6
Chrome - 60.0.x

Thanks for the repro case. It was a difficult bug, but I have a fix.


Fix a mistype in generated_mnemonic_ui.py

I saw that in one place "encryption" was written without "n".

Thanks! :)


Bug: "Open with" icon on right

Description
In some cases the "Open with" icon from the context menu is displayed to the right of the text.

Steps To Reproduce

Right click on item

Requirements
Show icon to the left of the text "Open with".
Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.3235
Log File
None

Thanks for the feedback!
We’re aware of this, which is caused by introducing a new version of WinAppSdk, and concerning about reverting back to the previous version if we fail to find workaround. Anyways this will be definitely fixed soon; in the next or the next of that preview build.


62 backend search category by name

#62
Allowed category to be searched by close match name.

WONDERFUL WORK


.Net: Python: implement stepwise planner

@alexchaomander @awharrison-28
does your team has plan for stepwise planner?
if nothing decided, i think i can take it ;)
++ I'm curious about the future plans on python now that the C# Telemetry feature has been officially released since the main product of the company I work for is logging and analyzing interactions between users and LLM-based products. If telemetry or callback feature is also added to Python, I'd like to know if it would be possible to commit our product's integration.

@joowon-dm-snu Right now no one has taken this up yet! Of course, if you have the time, you're welcome to do it!
From my perspective, after these planners, the telemetry and pre/post hooks integrations (i.e. callbacks) are going to be the next things to tackle so that Python SK is truly at parity with C#. Those things are still being architected in C# but the plan is once that happens, we'll want to bring the same to Python.
@dmytrostruk @RogerBarreto for visibility as they are working on the telemetry and pre/post hooks.

Closing since this is now complete


[Help]:  How to combine multiple indexes into one ?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Hi,
I want to create several collections in my Zep server, and then when a prompt/query arrives, I want to combine several collections into one index and be able to query the combined index.
Is this even possible?
What I tried to do, unsuccessfully, is something like:
def load_zep(collection_name):
        vector_store = ZepVectorStore(
            api_url=zep_api_url, collection_name=collection_name
        )

        return StorageContext.from_defaults(vector_store=vector_store,persist_dir=f'./storage/{collection_name}')

                from llama_index import load_index_from_storage, StorageContext

                #load different collections
                storage_context1 = load_zep('collection1')
                storage_context2 = load_zep('collection2')
                storage_context3 = load_zep('collection3')

                #some how combine the above 3 collections into one

                #tried various ways like combined = list(), but nothing worked

                #load index from above combined
                index = load_index_from_storage(combined)

The logic behind this is I have various user levels and based on the user I want to give them a different index. Higher level users gets more indexes, while low level user gets a single index to query. I don't want to create the same index over and over if I can combine them somehow.
Thanks in advance!

@dosu-beta
AttributeError: 'ComposableGraph' object has no attribute 'save_to_disk'

@dosu-bot
AttributeError: 'ComposableGraph' object has no attribute 'save_to_disk'

@byronz3d You can persist the graph using below code
# set the ID
graph.root_index.set_index_id("my_id")

# persist to storage
graph.root_index.storage_context.persist(persist_dir="./storage")

# load
from llama_index import StorageContext, load_graph_from_storage

storage_context = StorageContext.from_defaults(persist_dir="./storage")
graph = load_graph_from_storage(storage_context, root_id="my_id")

You can find the code snippet from core module document: https://docs.llamaindex.ai/en/stable/core_modules/data_modules/index/composability.html#optional-persisting-the-graph
Yes, it should have been easier to find in the documentation. I myself found it today. Hope it helps.


[Feature Request] dyeBlack instead of Ink Sacs

Just being able to use other black dyes in the recipes for screen modules etc. would make life a lot easier.

Fixed next release


Question: Handling timeouts / ping exceptions

Hi,
Our test server is currently using a free hosted elasticsearch solution. Since its free its not that fast / stable. Now and then im getting the error messages below. What is the best way to handle / avoid this? Set a maxretry, increase ping timeout, increase normal timeout, disable ping? For the context, im just doing a relative simple search.
Exception 1
[WebException: The operation has timed out]
System.Net.HttpWebRequest.GetResponse() +6542104
Elasticsearch.Net.Connection.HttpConnection.DoSynchronousRequest(HttpWebRequest request, Byte[] data, IRequestConfiguration requestSpecificConfig) in C:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\HttpConnection.cs:266
[Exception: ping returned no status code]
Elasticsearch.Net.Connection.Transport.Elasticsearch.Net.Connection.ITransportDelegator.Ping(ITransportRequestState requestState) in C:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\Transport.cs:98
Exception 2 :
PingException: Pinging xxx caused an exception]
Elasticsearch.Net.Connection.<>c__DisplayClass0.<Elasticsearch.Net.Connection.ITransportDelegator.PingAsync>b__1(Task1 t) in C:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\Transport.cs:143    System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() +81
System.Threading.Tasks.Task.Execute() +45
[MaxRetryException: Failed after retrying 0 times: 'POST xxx/_search'.
InnerException: PingException, InnerMessage:  Pinging xxx caused an exception, InnerStackTrace:    at Elasticsearch.Net.Connection.Transport.<>c__DisplayClass0.<Elasticsearch.Net.Connection.ITransportDelegator.PingAsync>b__1(Task`1 t) in C:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\Transport.cs:line 143

Hey @jeroenslor
Judging by those exceptions, it's obvious the ping requests are the problem, which are supposed to be quick, lightweight calls- and so have a very small default timeout.
What version of NEST are you on?  The default ping timeout use to be very aggressive...50ms prior to 1.3, which we increased to 200ms, and now the default is 1s since version 1.4 (2s if using SSL).
If 1 second is still too stringent, then I would first try increasing the ping timeout to maybe 5 seconds, and decrease from there until you find the lowest acceptable threshold.

Closing this for now.  Feel free to reopen if this is still an issue @jeroenslor.

I was running into same problem and via updated my nugget package I got rid of this problem. I used version 1.7


Make chitrangpatel a maintainer

@chitrangpatel has been involved in the Tekton Chains project for at least 6 months. He has made several contributions. Most recently, he is driving the design and implementation of producing SLSA Provenance v1.0. This has resulted in numerous PRs, design docs, and discussions. He has provided 144 PR comments in the last 3 months across 25 PRs.
The number of PRs is lower than the required 30. However, Chains has a lower rate of changes than tektoncd/pipeline, for example. He is just as active as the existing maintainers. (NOTE: dependabot updates could be used to raise the number of PRs reviewed. However, there's little value in a non-maintainer reviewing those IMO.)

/lgtm
/approve


Feature/refactoring path builder

This PR introduces the path builder.
Depends: https://github.com/sulu-io/sulu-document-manager/pull/5
See document manager PR for more details.

Remove first commit.

Added docs: https://github.com/sulu-io/sulu-docs/pull/28/files#diff-fb11c2fcdc829f74d198e1edb56a7fafR65


General Question About DATA TRANSFER

In general: Is this project virtualizing the app-layer ?
Is it sending signals directly to the device in local network or does it sent, like app probably is ( ? ), to a middleman server from bluetti and only then back to the device in the home ?
Hope my questions make sense.
Thank you

This project connects to your device directly using Bluetooth. The app supports connecting to your device over Bluetooth as well, but also supports connecting to a Bluetti server that the device also connects to over Wi-Fi.

okay thank you. in that case it's interesting. would you say it's possible to create "custom made" Battery-Management-System with your interface? I'm thinking: feed or pull battery via socket based on information from energy meter.

Sure - a bunch of people have used Home Assistant as a platform for automations like this. Not every device has enough remote control to pull this off, though, so you may need an extra automated switch to disconnect it from the grid, for example. Also, not all the sensors Bluetti exposes are accurate enough to replace a true BMS (in the sense of estimating state of charge).

my idea was to read the smartmeter IN/OUT of entire house and then dispense/charge the battery via a single socket based on that data from smartmeter. as long as your software here allows for remote control commands that dispense/charge via bluetooth based on this smartmeter data this should work? ( yes i'm assuming there's a little "loss" in energy - because battery isn't as close as possible to the solar generator in my scenario )


core: SerialConnection Initialize _should_exit with false

When _should_exit isn't initialized on an ARM platform (Udoo Dual), it defaults to true and the serial connection receive thread exits immediately. Explicitly initializing the variable solves the issue.

Coverage remained the same at 17.476% when pulling d34b480138dc66c11ee169c56602e1b1023bb555 on bertbuchholz:develop into 61dce08ea9a20945fced580736dc7f72c0ed90ea on dronecore:develop.

@bertbuchholz thanks for the fix. I don't think it "defaults" to anything though. It's just uninitialized and happens to be true.


docs(fulltext-search-firestore): fix broken link

Abe updated his github username, so the link to his gist is currently broken. This PR should update our snippet to use the new link.

Opened by mistake.


Revert "Test with new HMPPS orb"

Reverts ministryofjustice/manage-recalls-ui#29

@mikedunfordEE can you approve/merge this one once it passes please 😄


change port does not work?

Hi
sorry, I am really new to docker and container.
So if I set up Fenrus in normal way, I do not get connection to some applications.... Don't know why, as told I am to new in this.
My thought as solution for that is to set up Fenrus to host network instead of bridge...
But Port 3000 is already used... so I tried in docker compose as described:
environment:
      - TZ=Europe/Berlin
      - Port=3333

But it seems that it is not recognized.
Starting Fenrus at http://+:3000
fenrus  | Starting Fenrus...
fenrus  | 2023-08-28 08:03:53.2900 [INF] => Starting worker: CalendarEventWorker
fenrus  | 2023-08-28 08:03:53.3339 [INF] => Starting worker: MailWorker
fenrus  | 2023-08-28 08:03:53.3372 [INF] => Fenrus v<IP_ADDRESS>4 started
fenrus  | Unhandled exception. System.IO.IOException: Failed to bind to address http://[::]:3000: address already in use.
fenrus  |  ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use

Mike

I don't know if you start the server using composer or the CLI.
Here is my composer file
services:
  fenrus:
    image: revenz/fenrus
    container_name: fenrus
    environment:
      - TZ=Europe/Rome
    volumes:
      - /home/z-lmutt/Ferrus/data:/app/data
    ports:
      - 3002:3000
    restart: unless-stopped

As you can see, since the 3000 port on my server is already busy,  I switch the default port of the container (3000) to a free port of my  server (3002)
in order to connect I use http://ip.of.the.server:3002
Hope this is what you need
BTW, if you use discord, maybe you can have a faster reply for this kind of things ;-)

Hi
I will have a look into discord...
But no, this does not help... this was the first thing I did... okay for all apps running on the host.
All my containers which are also "bridged" in this way do not show data in fenrus, because they cannot be reached.
For example:
Sabnzbd is on  http://<IP_ADDRESS>:9292/
It is also in a docker container "bridged"  p 8080:9292
I can open the link from Fenrus, but I cannot show the additional data. In properties it shows:  "Test failed"
Emby is running directly on the host as: http://<IP_ADDRESS>:9292/
In Fenrus it is reachable and shows pictures and so on...
That´s why I also tried to use Fenrus as
network_mode:  host
With another port than 3000, because this is already used...
Okay, I will change the Port of AdGuardHome which blocks port 3000 at the moment...
Mike

Whait a sec.
Let's do a step by step support :-)

how do you run fenrus? with docker command line or with docker composer?
could you post here the exact command or the yaml file you use?
could you post here the output?

Thanks.

I have a QNAP NAS.  I run it from "Container Station" and I use a self created YAML file for mostly all containers. They almost all run in "bridged" mode and are accessible from my home network on different ports of the NAS. (some on a static IP like IOBROKER)

yes sure:

First I had this:
version: "3"
services:
  fenrus:
    image: revenz/fenrus
    container_name: fenrus
    environment:
      - TZ=Europe/Berlin
    volumes:
      - /share/Container/docker/fenrus:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 3333:3000
    restart: unless-stopped

The normal way.... and there I cannot reach the other bridget docker containers... Tdarr, Sabnzbd,.... I can open them , but I do not get the additional Information.
So I tried with  network_mode:  host
and added in the environment the Port=3333, as described here....
version: "3"
services:
  fenrus:
    image: revenz/fenrus
    **network_mode: host**
    container_name: fenrus
    environment:
      - TZ=Europe/Berlin
      **- Port=3333**
    volumes:
      - /share/Container/docker/fenrus:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped

And when I do this it conflicts with port 3000 on my NAS (used by AdGuardHome)
That´s what I posted in first post...

Starting Fenrus at http://+:3000
fenrus  | Starting Fenrus...
fenrus  | 2023-08-28 08:03:53.2900 [INF] => Starting worker: CalendarEventWorker
fenrus  | 2023-08-28 08:03:53.3339 [INF] => Starting worker: MailWorker
fenrus  | 2023-08-28 08:03:53.3372 [INF] => Fenrus v<IP_ADDRESS>4 started
fenrus  | Unhandled exception. System.IO.IOException: Failed to bind to address http://[::]:3000: address already in use.
fenrus  |  ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use

It seems that Port=3333 is ignored....
Now when I 15 minutes ago changed the port of AdGuardHome to 3001 , Fenrus runs on port 3000 and now I also have a connection to SabNzbd and so on...

I don't know how your QNAP system works but i do some supposition
If you want, you could try with
version: "3"
services:
  fenrus:
    image: revenz/fenrus
    container_name: fenrus
    network_mode: host
    environment:
      - TZ=Europe/Berlin
    volumes:
      - /share/Container/docker/fenrus:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 3333:3000
    restart: unless-stopped

Personally I did not understood what should do the environment: - Port=3333 do, but maybe you could try this one.
Just remember that It takes some time to update the data on the widgets (I had a similar problem and I don't use the "host" option)
if you have access to the shell of your NAS you can see the log of the docker with the following command
sudo docker logs --follow fenrus
It will give the chance to see what happens in realtime
otherwise let see what says @revenz ...

Hi Pippo,
thanks.
 ports:
      - 3333:3000

This has no effect, when you have network in host mode.
I read some documentation... ( I also tried)
The environment: - Port=3333  should change the standard Port of Fenrus.... As I told it is described here on the main page  under section "Docker"
I can see all logs in the container station....  That´s where I got the log... But your command also works...
As described I had the problem that Fenrus does not react to the environment variable.
So it stays on Port 3000 which gives the conflict with my AdGuardHome on Port 3000.
And that´s what I wanted to tell...  Fenrus does not react to environment:  Port
Mike

ok, I surrender... let see what @revenz says tonight ;-)

Well looking at the docker-entrypoint.sh, which is the entry point of the file, it should use the environmental variable PORT , uppercase.  and read that value.
Also if that doesnt work, docker you can override the entrypoint, so you could customize the entry point to
dotnet Fenrus.dll --urls=http//+:3333

Thanks,
sorry, I do not know anything about entrypoints....
But your suggestion helped....   all uppercase
environment:
      - PORT=3333

this works...
So please change your explanation on main page.
Note: You can customise the port used by using the environmental variable "Port"

-e Port=1234

Thanks !
Mike

updated reademe


Buffer Index Overflow

In line 96:
uint8_t i1[NUM_COM]={0,0,0};
you use uint8_t to index your buffer which has the size #define bufferSize 8192. This leads to an buffer overflow if we recieve tcp packets which are greater than 256 or if we recieve multiple packets with short delay.

Thank your for this extremely fast fix :+1:


Suggestion: define WEIGHTS disk location in only one place so it can be user-customized

(for people who want to run outside of Docker for instance)

You can customize this location during the docker run command.
This is the default command provided which uses docker volumes:
docker run -d \
         -v weights:/usr/src/app/weights -v datadb:/data/db/ \
         -p 8008:8008 ghcr.io/nsarrazin/serge:latest

This can be changed to use a local directory like so:
docker run -d \
         -v /path/to/weights/on/host/:/usr/src/app/weights -v datadb:/data/db/ \
         -p 8008:8008 ghcr.io/nsarrazin/serge:latest
         ```

I do think there's a few things that need to be made into optional environment variables indeed, I heard a similar request regarding the redis server, from people who already have an instance running and don't want to run an instance specifically for serge.
So I will try to make things a bit more customizable. (location of weights, location of the redis snapshot to disk, network address of the redis server)
This should be fairly easy to setup with the BaseSettings class from pydantic. There's already a few pieces in place in api/src/serge/models/settings.py


Accept series shortnames as input for specs

If a shortname is not a spec shortname, Reffy now looks for a match in series shortname, and crawls the current specification in the series.

Too tempting :))


Content scroller but with Horizontal movement?

Is there a horizontal example or does anyone have a working horizontal example?
I tried editing the vertical example but can't get it working.

https://www.glass-imaging.com/gallery/2020


Feature request: Select menu does not respond to keypresses

The select_material is quite huge when there are lots of options and does not respond to keyboard press to easily get to the desired option the way the default select element does.
If we could have something like this, that's even better:
http://harvesthq.github.io/chosen/

We will look into improving Select.
Duplicated of #354

We will look into improving Select.
Duplicated of #354


Make manual valves work

About PR

Change manual valve icon to correct one
Manual valve changes appearance when it is opened, or closed.
Manual valve now blocks, or allows air to pass based on if it is opened or closed.

Changelog
:cl:

add: Manual valves change appearance when you open, or close them.
fix: Manual valves now correctly block, or allow air.

@Zumorica
Bikeshedding but having the light as another layer that's unshaded would be neat in future.


Clean up & comment code

There wasn't anything to cleanup and I ended up commenting as I was working so this task just got closed and I didn't spend any time on it.


start notebook in ~/devel

On the docker image, we start in /devel such that it can see SIRF-Exercises etc. Here we currently start in SIRF-Exercises/notebooks. That means users cannot see SIRF-Exercises/data etc. Best to do the same thing everywhere.

https://github.com/SyneRBI/SyneRBI_VM/blob/26bb537a97d676d28871ceb08dead6ad36209852/scripts/configure_jupyter.sh#L27


thorctl versioning prevents prerelease tags

thorctl currently uses setuptools_scm, which doesn't really support using any sort of prerelease tags (for example, v0.3.0-alpha1 or v0.4.0-rc1). That gets in the way of doing deploys using Github releases, which require a tag for the commit; we seem to march up in patch versions too quickly.

I've stopped using github releases for doing deploys, so this is no longer an issue that has consequences.


Use a unique io runtime in BlazeServerSuite

Resolves #4166.

I can work on this some more tomorrow.

I used munit's def afterAll(): Unit to shut down the IO runtime. Is that satisfactory?


fhir-ts outputs only 15 data-type exports, no resources

Hello, I have installed fhir-ts globally - npm install -g fhir-ts. No errors or exceptions appear. When I follow the instructions (README) to create a FHIR Questionnaire resource, only a small file with 15 lines is generated.
The command I used was fhir-ts "structure-definitions/Questionnaire.profile.json" "c:\temp\fhir-types"
I have also tried fhir-ts "structure-definitions/**.profile.json" "c:\temp\fhir-types"
The content of the generated file (fhir.d.ts) in both cases is:
export declare type integer = number;
export declare type decimal = number;
export declare type uri = string;
export declare type base64Binary = string;
export declare type instant = string;
export declare type date = string;
export declare type dateTime = string;
export declare type time = string;
export declare type code = string;
export declare type oid = string;
export declare type id = string;
export declare type markdown = string;
export declare type unsignedInt = number;
export declare type positiveInt = number;
export declare type xhtml = string;
What am I doing wrong?

This project is still under development and isn't "production ready", sorry I should make that more clear. It currently won't generate all of the nested types when you pass a single structure definition, just the types defined in that structure definition. Are you providing the path to a directory with FHIR structure definitions in it? If it can't find any files that match the glob pattern (e.g.structure-definitions/**.profile.json) then it won't throw any errors and just generate type declarations for the FHIR primitive types which matches the behavior you've described. You can download the base FHIR structure definitions by cloning down this project or at https://www.hl7.org/fhir/downloads.html.

@fallasd Also, if you are just looking for types generated from the base specification structure definitions, rather than profiled structure definitions, those are shipped with this project here.

@tangdrew Thanks for the updates. I have cloned the project and see that the /types sub-directory contains the complete typescript suite of FHIR resources. This should suffice for the experiment we are conducting at the moment (an Angular 6 project).
I will be interested to see how your project progresses.


There is some delay in command change when using Control+Enter

When the edition has ended, pressing Control+Enter runs the previous command instead of the current one. One second press runs the current command.

 There is some delay in command change when using Control+Enter


react-native init> yarn add expo> expo start issues

I am a newbie with react native; trying to setup a react native project with expo.
Description
After init, both run-ios and run-android worked as expected.
Added expo using yarn; expo start failed and prompted to add .expo to app.json.
Subsequent expo start failed with '"main" has not been registered' error; executed 'expo upgrade'
Subsequent expo start report no error but the app is showing a white screen on both simulator and device.
React Native version:
Run react-native info in your terminal and copy the results here.
info Fetching system and libraries information...
(node:89924) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use node --trace-warnings ... to show where the warning was created)
System:
OS: macOS 11.0.1
CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Memory: 358.12 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 15.2.1 - /usr/local/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 7.0.10 - /usr/local/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.10.0 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.2, DriverKit 20.0, macOS 11.0, tvOS 14.2, watchOS 7.1
Android SDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.87<IP_ADDRESS>53283
Xcode: 12.2/12B45b - /usr/bin/xcodebuild
Languages:
Java: 15.0.1 - /Users/anthos/bin/javac
Python: 3.7.9 - /Users/anthos/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-39.0.3.tar.gz => 0.63.2
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

react-native init HelloWorld
react-native run-ios
react-native run-android
yarn add expo
expo start >> '"main" has not been registered' error
expo upgrade
expo start >> no errors reported but only a white screen

Expected Results
The default app screen created by react-native init
Snack, code example, screenshot, or link to a repository:
https://snack.expo.io/@asamuel_arcl/fascinated-chocolate

It looks like an Expo issue, please file an issue at Expo.


KAFKA-5411: AdminClient javadoc and documentation improvements

Show AdminClient configs in the docs.
Update Javadoc config so that public classes exposed by
the AdminClient are included.
Version and table of contents fixes.

Review by @cmccabe and @junrao.

LGTM

LGTM


Recipe version and xapi version

May have made a mistake here..
In the vocab document we have minted http to://xapi.jisc.ac.uk/recipeVersion for the context extensions object. The property has the description is: "Version of Recipe used. Version number can be found on recipe page". However, it doesn't seem to have made its way in to the actual recipes themselves.  Looking through previous tickets and talking this through with @wilmTap we think a weekly call decided to add recipe version to each recipe, but have somehow missed this.
Double checking before going ahead and adding recipe version number to recipes

Agreed

recipe versions were added and version numbers updated

David, all -
what I'm missing is the recipe identity.
I can see a version number, but what this is a version of doesn't seem to be specified.
i,e. I had expected metadata to say "version V of recipe R"
Without R being explicit, I suppose we could infer it from the verb, but that seems liable to be unreliable!
Did I miss something?
Adam

Nope, I've misunderstood!

All fixed now, and the recipes have been given UDD style normalised titles.

accepted

@arc12  I think the combination of verb and recipe version should be reliable enough to identify and filter accordingly. I suppose we just need to have an overview of all recipes with their versions somewhere in the vocabulary. At this moment one needs to go through each recipe to get the right version.


Error during make install

For some reason, I get this error when running sudo make install:
clang -Os -lreadline rshw.c -o rshw
In file included from rshw.c:1:
In file included from /usr/include/readline/readline.h:36:
/usr/include/readline/rltypedefs.h:71:36: error: unknown type name 'FILE'
typedef int rl_getc_func_t PARAMS((FILE *));
                                   ^
In file included from rshw.c:1:
/usr/include/readline/readline.h:448:28: error: unknown type name 'FILE'
extern int rl_getc PARAMS((FILE *));
                           ^
/usr/include/readline/readline.h:578:8: error: unknown type name 'FILE'
extern FILE *rl_instream;
       ^
/usr/include/readline/readline.h:579:8: error: unknown type name 'FILE'
extern FILE *rl_outstream;
       ^
/usr/include/readline/readline.h:937:3: error: unknown type name 'FILE'
  FILE *inf;
  ^
/usr/include/readline/readline.h:938:3: error: unknown type name 'FILE'
  FILE *outf;
  ^
6 errors generated.
make: *** [Makefile:13: build] Error 1

Maybe I don't have the correct libraries installed? I am on Arch Linux.

Do you have the latest libreadline installed? Looks like it doesn't include <stdio.h> which is weird.

Relevant GNU readline archwiki page: GNU Readline - ArchWiki

I have readline 8.1.001-1 and clang 12.0.0-1 installed.

Seems like it is recent enough, try adding #include <stdio.h> at the top of rshw.c and run the command again

That didn't work for me unfortunately

Never mind, it did end up working when I put it at the very top of the file. I will send in a PR to fix this.

That is really weird, looks like your libreadline broke. Sorry

Oh good


Can only train with square dimensions

Hello,
Thanks for the repo. I achieved some initial good results!
I changed the input sizes successfuly from 640, 640 to 1280, 1280 and was able to train (also e.g. 800, 800).
So far so good. However, when I try to train on say 640, 1280 (h, w) I get this error:
Traceback (most recent call last):
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/train.py", line 84, in <module>
    main(args)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/train.py", line 54, in main
    solver.fit()
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/solver/det_solver.py", line 27, in fit
    n_parameters, model_stats = stats(self.cfg)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/misc/profiler_utils.py", line 18, in stats
    flops, macs, _ = calculate_flops(model=model_for_info,
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/calflops/flops_counter.py", line 165, in calculate_flops
    _ = model(*args)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/dfine.py", line 28, in forward
    x = self.encoder(x)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 424, in forward
    memory :torch.Tensor = self.encoder[i](src_flatten, pos_embed=pos_embed)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 293, in forward
    output = layer(output, src_mask=src_mask, pos_embed=pos_embed)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 266, in forward
    q = k = self.with_pos_embed(src, pos_embed)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 260, in with_pos_embed
    return tensor if pos_embed is None else tensor + pos_embed
RuntimeError: The size of tensor a (400) must match the size of tensor b (800) at non-singleton dimension 1

I'm wondering what I would have to do to train on non-square images?
When attempting to train on 640, 1280, I changed following config files:
dfine/include/dataloader.yml:
train_dataloader:
  dataset:
    transforms:
      ops:
        - {type: RandomPhotometricDistort, p: 0.5}
        - {type: RandomZoomOut, fill: 0}
        - {type: RandomIoUCrop, p: 0.8}
        - {type: SanitizeBoundingBoxes, min_size: 1}
        - {type: RandomHorizontalFlip}
        - {type: Resize, size: [640, 1280], }
        - {type: SanitizeBoundingBoxes, min_size: 1}
        - {type: ConvertPILImage, dtype: 'float32', scale: True}
        - {type: ConvertBoxes, fmt: 'cxcywh', normalize: True}
      policy:
        name: stop_epoch
        epoch: 24 # epoch in [71, ~) stop `ops`
        ops: ['RandomPhotometricDistort', 'RandomZoomOut', 'RandomIoUCrop']

  collate_fn:
    type: BatchImageCollateFunction
    base_size: 640
    base_size_repeat: 3
    stop_epoch: 24 # epoch in [72, ~) stop `multiscales`

  shuffle: True
  total_batch_size: 28 # total batch size equals to 32 (4 * 8)
  num_workers: 4

val_dataloader:
  dataset:
    transforms:
      ops:
        - {type: Resize, size: [640, 1280], }
        - {type: ConvertPILImage, dtype: 'float32', scale: True}
  shuffle: False
  total_batch_size: 56
  num_workers: 4

and
dfine/include/dfine_hgnetv2.yml:
task: detection

model: DFINE
criterion: DFINECriterion
postprocessor: DFINEPostProcessor

use_focal_loss: True
eval_spatial_size: [640, 1280] # h w

DFINE:
  backbone: HGNetv2
  encoder: HybridEncoder
  decoder: DFINETransformer

HGNetv2:
  pretrained: True
  local_model_dir: weight/hgnetv2/

HybridEncoder:
  in_channels: [512, 1024, 2048]
  feat_strides: [8, 16, 32]

  # intra
  hidden_dim: 256
  use_encoder_idx: [2]
  num_encoder_layers: 1
  nhead: 8
  dim_feedforward: 1024
  dropout: 0.
  enc_act: 'gelu'

  # cross
  expansion: 1.0
  depth_mult: 1
  act: 'silu'

DFINETransformer:
  feat_channels: [256, 256, 256]
  feat_strides: [8, 16, 32]
  hidden_dim: 256
  num_levels: 3

  num_layers: 6
  eval_idx: -1
  num_queries: 300

  num_denoising: 100
  label_noise_ratio: 0.5
  box_noise_scale: 1.0

  # NEW
  reg_max: 32
  reg_scale: 4

  # Auxiliary decoder layers dimension scaling
  # "eg. If num_layers: 6 eval_idx: -4,
  # then layer 3, 4, 5 are auxiliary decoder layers."
  layer_scale: 1  # 2

  num_points: [3, 6, 3] # [4, 4, 4] [3, 6, 3]
  cross_attn_method: default # default, discrete
  query_select_method: default # default, agnostic

DFINEPostProcessor:
  num_top_queries: 300

DFINECriterion:
  weight_dict: {loss_vfl: 1, loss_bbox: 5, loss_giou: 2, loss_fgl: 0.15, loss_ddf: 1.5}
  losses: ['vfl', 'boxes', 'local']
  alpha: 0.75
  gamma: 2.0
  reg_max: 32

  matcher:
    type: HungarianMatcher
    weight_dict: {cost_class: 2, cost_bbox: 5, cost_giou: 2}
    alpha: 0.25
    gamma: 2.0

I use the config configs/dfine/custom/dfine_hgnetv2_l_custom.yml to train.
Every help is appreciated!

Could you print the shape of the input image?
From your error:
RuntimeError: The size of tensor a (400) must match the size of tensor b (800) at non-singleton dimension 1

It looks like the image is resized to (1x3x640x640) instead of (1x3x640x1280)

Hello,
Thanks for the repo. I achieved some initial good results!
I changed the input sizes successfuly from 640, 640 to 1280, 1280 and was able to train (also e.g. 800, 800).
So far so good. However, when I try to train on say 640, 1280 (h, w) I get this error:
Traceback (most recent call last):
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/train.py", line 84, in <module>
    main(args)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/train.py", line 54, in main
    solver.fit()
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/solver/det_solver.py", line 27, in fit
    n_parameters, model_stats = stats(self.cfg)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/misc/profiler_utils.py", line 18, in stats
    flops, macs, _ = calculate_flops(model=model_for_info,
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/calflops/flops_counter.py", line 165, in calculate_flops
    _ = model(*args)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/dfine.py", line 28, in forward
    x = self.encoder(x)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 424, in forward
    memory :torch.Tensor = self.encoder[i](src_flatten, pos_embed=pos_embed)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 293, in forward
    output = layer(output, src_mask=src_mask, pos_embed=pos_embed)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ec2-user/anaconda3/envs/pytorch_p310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1561, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 266, in forward
    q = k = self.with_pos_embed(src, pos_embed)
  File "/home/ec2-user/SageMaker/MagicTime/Training/DFINE/src/zoo/dfine/hybrid_encoder.py", line 260, in with_pos_embed
    return tensor if pos_embed is None else tensor + pos_embed
RuntimeError: The size of tensor a (400) must match the size of tensor b (800) at non-singleton dimension 1

I'm wondering what I would have to do to train on non-square images?
When attempting to train on 640, 1280, I changed following config files: dfine/include/dataloader.yml:
train_dataloader:
  dataset:
    transforms:
      ops:
        - {type: RandomPhotometricDistort, p: 0.5}
        - {type: RandomZoomOut, fill: 0}
        - {type: RandomIoUCrop, p: 0.8}
        - {type: SanitizeBoundingBoxes, min_size: 1}
        - {type: RandomHorizontalFlip}
        - {type: Resize, size: [640, 1280], }
        - {type: SanitizeBoundingBoxes, min_size: 1}
        - {type: ConvertPILImage, dtype: 'float32', scale: True}
        - {type: ConvertBoxes, fmt: 'cxcywh', normalize: True}
      policy:
        name: stop_epoch
        epoch: 24 # epoch in [71, ~) stop `ops`
        ops: ['RandomPhotometricDistort', 'RandomZoomOut', 'RandomIoUCrop']

  collate_fn:
    type: BatchImageCollateFunction
    base_size: 640
    base_size_repeat: 3
    stop_epoch: 24 # epoch in [72, ~) stop `multiscales`

  shuffle: True
  total_batch_size: 28 # total batch size equals to 32 (4 * 8)
  num_workers: 4

val_dataloader:
  dataset:
    transforms:
      ops:
        - {type: Resize, size: [640, 1280], }
        - {type: ConvertPILImage, dtype: 'float32', scale: True}
  shuffle: False
  total_batch_size: 56
  num_workers: 4

and
dfine/include/dfine_hgnetv2.yml:
task: detection

model: DFINE
criterion: DFINECriterion
postprocessor: DFINEPostProcessor

use_focal_loss: True
eval_spatial_size: [640, 1280] # h w

DFINE:
  backbone: HGNetv2
  encoder: HybridEncoder
  decoder: DFINETransformer

HGNetv2:
  pretrained: True
  local_model_dir: weight/hgnetv2/

HybridEncoder:
  in_channels: [512, 1024, 2048]
  feat_strides: [8, 16, 32]

  # intra
  hidden_dim: 256
  use_encoder_idx: [2]
  num_encoder_layers: 1
  nhead: 8
  dim_feedforward: 1024
  dropout: 0.
  enc_act: 'gelu'

  # cross
  expansion: 1.0
  depth_mult: 1
  act: 'silu'

DFINETransformer:
  feat_channels: [256, 256, 256]
  feat_strides: [8, 16, 32]
  hidden_dim: 256
  num_levels: 3

  num_layers: 6
  eval_idx: -1
  num_queries: 300

  num_denoising: 100
  label_noise_ratio: 0.5
  box_noise_scale: 1.0

  # NEW
  reg_max: 32
  reg_scale: 4

  # Auxiliary decoder layers dimension scaling
  # "eg. If num_layers: 6 eval_idx: -4,
  # then layer 3, 4, 5 are auxiliary decoder layers."
  layer_scale: 1  # 2

  num_points: [3, 6, 3] # [4, 4, 4] [3, 6, 3]
  cross_attn_method: default # default, discrete
  query_select_method: default # default, agnostic

DFINEPostProcessor:
  num_top_queries: 300

DFINECriterion:
  weight_dict: {loss_vfl: 1, loss_bbox: 5, loss_giou: 2, loss_fgl: 0.15, loss_ddf: 1.5}
  losses: ['vfl', 'boxes', 'local']
  alpha: 0.75
  gamma: 2.0
  reg_max: 32

  matcher:
    type: HungarianMatcher
    weight_dict: {cost_class: 2, cost_bbox: 5, cost_giou: 2}
    alpha: 0.25
    gamma: 2.0

I use the config configs/dfine/custom/dfine_hgnetv2_l_custom.yml to train.
Every help is appreciated!

You can comment out the following code in the det_solver.py file.
line 27、28、145
   # n_parameters, model_stats = stats(self.cfg)
   # print(model_stats)
   # 'n_parameters': n_parameters


Can't generate Centos Docker machine on Digital Ocean DO

The problem is reproducible.
I use following command:
dm create --driver digitalocean --digitalocean-image centos-7-2-x64 --digitalocean-size 1gb --digitalocean-access-token $DOTOKEN testMeR2
The droplet start up. The the docker demon dies on start-up.
docker-machine create --driver digitalocean --digitalocean-image centos-7-2-x64 --digitalocean-size 1gb --digitalocean-access-token $DOTOKEN testMeR
Running pre-create checks...
Creating machine...
(testMeR) Creating SSH key...
(testMeR) Creating Digital Ocean droplet...
(testMeR) Waiting for IP address to be assigned to the Droplet...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with cents...

Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Error creating machine: Error running provisioning: Something went wrong running an SSH command!
command : sudo systemctl -f start docker
err : exit status 6
output : Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.

With Ubuntu (default at DO) it works fine. DO Support says, that there is no problem at the DO side.

I tested this myself using the latest docker/docker-machine software on my mac and got a slightly different error:
$ docker-machine create --driver digitalocean --digitalocean-image centos-7-2-x64 --digitalocean-size 1gb --digitalocean-access-token $DO_WORK Docker-Machine-Test  Creating CA: /Users/Eris/.docker/machine/certs/ca.pem  Creating client certificate: /Users/Eris/.docker/machine/certs/cert.pem  Running pre-create checks...  Creating machine...  (Docker-Machine-Test) Creating SSH key...  (Docker-Machine-Test) Creating Digital Ocean droplet...  (Docker-Machine-Test) Waiting for IP address to be assigned to the Droplet...  Waiting for machine to be running, this may take a few minutes...  Detecting operating system of created instance...  Waiting for SSH to be available...  Detecting the provisioner...  Provisioning with centos...  Copying certs to the local machine directory...  Copying certs to the remote machine...  Setting Docker configuration on the remote daemon...  Error creating machine: Error running provisioning: exit status 6
Not sure of the cause, but it's happening after the Droplet is successfully provisioned on our end.

#3624

I can confirm it has been fixed with #3624. Next official release may be some time off, so if you build docker-machine from current master branch it will work with RHEL 7.2 (I just tested it). I assume the same holds for Centos. Referencing #3636 as well, since that is the same issue.

It's been fixed on master if I understand the issue correctly

(I am considering an 0.8.1 release for this fix, but might tie it to a Docker 1.12.1 if one comes up in the next few weeks -- it's just easier that way due to also needing to release Toolbox, etc.)

@jverhoeven @nathanleclaire - hoping you could spare a few minutes on where I can find a reference on how to build/compile from a commit rather than downloading from the release tags.
Really keen to confirm this on #3636

@richardkeit You could git clone https://github.com/docker/machine; cd machine; USE_CONTAINER=1 make build-x -- that will spit out cross-compiled binaries into bin directory

hi @nathanleclaire - the build failed with

go build github.com/docker/machine/vendor/github.com/vmware/govmomi/vim25/types: /usr/local/go/pkg/tool/linux_amd64/compile: signal: killed

https://gist.github.com/richardkeit/04ff58aa86df6a45f6cc52c2d3c12bf2 url

Hi @richardkeit: In Nathan's instructions 'USE_CONTAINER=true' should be 'export USE_CONTAINER=true'

Hi @richardkeit: In Nathan's instructions 'USE_CONTAINER=true' should be 'export USE_CONTAINER=true'

No, it should be fine with just USE_CONTAINER=true make build-x, since that indicates to the make process that environment variable USE_CONTAINER should be set to true.
The error is definitely a bit odd -- are you compiling on a machine with limited resources?  A couple GBs of memory at least is definitely recommended for build

@nathanleclaire , @jverhoeven - just a quick revert - I used a higher spec'ed instance and it completed successfully using:
USE_CONTAINER=true make build-x

I got the same problem with a docker-machine client on Windows 10 and Centos 7:
Henrik@zenbook MINGW64 ~
$ docker-machine create --driver generic --generic-ip-address=$SOME_IP_ADDRESS --generic-ssh-user holst hentos
Running pre-create checks...
Creating machine...
(hentos) No SSH key specified. Connecting to this machine now and in the future will require the ssh agent to contain the appropriate key.
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with centos...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Error creating machine: Error running provisioning: exit status 6

Henrik@zenbook MINGW64 ~
$ docker-machine --version
docker-machine.exe version 0.7.0, build a650a40

Henrik@zenbook MINGW64 ~
$

@hholst80 That version of Machine does not contain the fix.  Please try 0.8.1.


upgrade to ember-cli + ember v2.11

Hopefully this fixes the beta track 🤞

yay, build fixed. Turns out my route unit tests needed to explicitly add the apollo service for those tests to continue working on the beta branch.


Release 1.1.0 required

Hi all !
I need a release to be able to build a release for XSpec maven plugin. Could you build one ?
A release is a delivery build from a known state of sources (i.e. a tag), and published somewhere (Maven central will be great). It can be build from sources, with mvn -Prelease install deploy, after defining correctly <version>x.v.z</version> in pom.xml. A release is not required to be bug-free, only to follow release rules (mapping commit / name, correct version numbering).
A lot of work has been done since last release 1.0.0, and all these work should be released quickly to be available to other projects, without copying code...
As old xspec unit-tests written to run with XSpec 1.0.0 still work, changing minor number should be enough, so a 1.1.0 is, in my opinion, a good target.
As I have passwords to publish to maven central for io.xspec groupId, I can do this, but I'm not enough in xspec dev to know from which branch / commit should I create the release.
Thanks in advance

@cmarchand: I'm happy to create a new release by the end of this week, would that be ok for you? Release notes are up-to-date and hopefully it shouldn't take me too long. I would be greateful if you could publish XSpec to maven central as usual. The new release number will be v1.1.0, this is what we have been using so far, there are few new functionalities but nothing too revolutionary (which I believe it is good).
@AirQuick: I would like to review and merge your pull requests up to #264 (included) since these changes are not impacting any existing functionality. I should be able to review and merge them in the next days. #265 provides some changes to the code and I would like to review it in more detail after the release of v1.1.0. Would that be ok for you?
If anyone else has other pull requests that should absolutely be in v1.1.0, please post a comment here.

OK for me, though #265 is a trivial change and won't take time. (#266 and later will definitely take some time.)

End of the week is perfect for me !
Thanks a lot, Sandro !

Thanks @AirQuick and @cmarchand for your feedback. @AirQuick, I may be able to include #265 in my review if it's trivial. @cmarchand I may have the password to publish from when you created it the first time (if it hasn't changed). Thanks for the info via email. I'll keep you posted on my progress on Wednesday or Thursday (can't work on XSpec tomorrow).

XSpec v1.1.0 is now officially released, you can download a zip or tar file of the latest master branch at https://github.com/xspec/xspec/releases/latest  In there you can also read the release notes and probably find your name in the list of contributors!
I'm going to promote the release by posting a message to be included in xml.com news section and Google Groups XSpec user mailing list. If you are into social media (I know @cmarchand and @yamahito are 😉 ) please spread the word about this release.
@cmarchand : if that's all you need for the XSpec Maven plugin, feel free to close this issue.

Did you publish it to Sonatype OSSRH ? I can not see it in Maven central, but it may not having being mirrored yet...

@cmarchand : No, I only did the release on GitHub. As discussed in here, I would be grateful if you could publish XSpec to Maven Central as you did last time. But if you can't, I can give it a go tomorrow. Let me know.

Done. Attached 2 patches I can not push. It is only pom.xml modifications, to follow release numbers. It'll be great if you could apply them on master ASAP.
change-release-pom.zip

Posted on twitter via @markupukorg (and retweeted as me) :)
Shall I also post on xml-dev?
On Sun, 14 Oct 2018 at 18:27 Christophe Marchand<EMAIL_ADDRESS>wrote:

Closed #395 https://github.com/xspec/xspec/issues/395.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/xspec/xspec/issues/395#event-1902695932, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ADQwUgHRrFHuAng7CXVf599LR70IfDoiks5uk3QWgaJpZM4XMerB
.

Thanks @yamahito. Yes, it would be great to post it on xml-dev too.

Done!
On Mon, 15 Oct 2018 at 09:10 Sandro Cirulli<EMAIL_ADDRESS>wrote:

Thanks @yamahito https://github.com/yamahito. Yes, it would be great to
post it on xml-dev too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/xspec/xspec/issues/395#issuecomment-429748347, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADQwUh87yy9xMgXhNBRBEnDp4ZOTmDP_ks5ulEMEgaJpZM4XMerB
.


Update dependencies (primarily Bouncy Castle libs)

To fix CVE-2020-28052 upgrade the Bouncy Castle libraries to the recent version v1.70.
With this update also the other dependencies can be bumped to the recent versions.

Codecov Report

Merging #24 (916c3c0) into master (fa7dea2) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 916c3c0 differs from pull request most recent head b2ef445. Consider uploading reports for the commit b2ef445 to get more accurate results

@@           Coverage Diff           @@
##           master      #24   +/-   ##
=======================================
  Coverage   93.97%   93.97%
=======================================
  Files           8        8
  Lines         614      614
  Branches       11       11
=======================================
  Hits          577      577
  Misses         26       26
  Partials       11       11

Continue to review full report at Codecov.

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


Clean up websocket code a bit.

%q are very annoying when actually trying to read logs and the address is obvious (and zap quotes them)
there's no reason to have external error (and we were swallowing the timeout error, should it happen)

/assign @evankanderson @markusthoemmes

/assign @vaikas-google

Done.

/hold cancel


Elasticsearch username & password is stored in clusterlogging CustomResourceDefinition as clear text

What kind of request is this (question/bug/enhancement/feature request):
Similar to this bug. Elasticsearch username and password are begin stored in CustomResourceDefinition as plain text
Arguably a bug, although the password does not appear to be getting inadvertently stored in Elasticsearch itself. On the other hand, it's better practice to use a SecretRef.
Steps to reproduce (least amount of steps as possible):
Configure Elasticsearch for Cluster Logging - including login credentials.
Result:
Observe plain text password stored in CustomResourceDefinition:
$ kubectl get clusterloggings --all-namespaces -o yaml | grep -i password

      authPassword: myElasticsearchPassword!
        authPassword: myElasticsearchPassword!

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.1.7
Installation option (single install/HA): HA

@aiwantaozi check with @kinarashah to see if "Store sensitive data in secrets" framework can be leveraged.

Continually create a new secret when password is in an array, because at this situation, current code couldn't get that correct key in the existing map.

Added @kinarashah as an extra assignee as she is doing some fixes in the passwords to secrets framework for this issue.

@aiwantaozi The fix for fluentd array has been merged in master, could you give it a test? Let me know if you face any issues.

rancher/rancher:master  ebf11403
The password is not always masked as a reference to a secret. Repeated executions of kubectl get clusterloggings --all-namespaces -o yaml | grep -i password with or without changes sometimes shows the plaintext password, or the secret id.

Create Rancher server
Create cluster
Enable elasticsearch cluster logging

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: cattle-global-data:fnw7lk7h6x2gnxlrlpsdknlwtlk5z9g4xggb78nsffjn69ftl7skh6

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: cattle-global-data:kckcgdzh9c5xjc7dzkhkwgd6nmrxvxxlmprxgtcf8zdwnsxczrq9md
        authPassword: testpassword

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: cattle-global-data:kckcgdzh9c5xjc7dzkhkwgd6nmrxvxxlmprxgtcf8zdwnsxczrq9md
        authPassword: testpassword

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: cattle-global-data:kckcgdzh9c5xjc7dzkhkwgd6nmrxvxxlmprxgtcf8zdwnsxczrq9md
        authPassword: testpassword

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: cattle-global-data:kckcgdzh9c5xjc7dzkhkwgd6nmrxvxxlmprxgtcf8zdwnsxczrq9md
        authPassword: testpassword

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: asdfasdfdas
        authPassword: asdfasdfdas

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: asdfasdfdas
        authPassword: asdfasdfdas

root@828c1b95fd64:/var/lib/rancher# kubectl get clusterloggings --all-namespaces -o yaml | grep -i password
      authPassword: asdfasdfdas
        authPassword: asdfasdfdas

rancher/rancher:master 5d74988c

Enabled elasticsearch cluster logging
Passwords are no longer shown in plaintext in CRD


how to hidden $nuxt in console. because risk

hello everbody, I need help.  how to hidden $nuxt in console ? pls reply thx you all

It's possible to customise this with globals.nuxt: https://nuxtjs.org/docs/configuration-glossary/configuration-global-name#the-globalname-property

@danielroe Hi not update. but create globalname. I think he can replace $nuxt. can you help me ? for replace global name $nuxt

this is work

but $nuxt already not replace


Container: add various mount-related APIs

part of #3183
based on #3205 - will rebase after it's merged to make this PR easier to review. rebased!
Implements the following APIs:
container {
  withMountedFile
  withMountedCache
  withMountedTemp
  mounts
  withoutMount
  directory
}

@sipsma Thanks for the excellent review! I think my latest changes address all the feedback.
I left the current super-flawed caching implementation in place since other tests use it to cover cross-mount-type behavior, and I think it'll be easier to just fix it up in another PR as soon as we figure out the API details.


upgrade everything

Keeping us in lockstep with https://github.com/nteract/nteract/issues/1924

Codecov Report

Merging #44 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #44   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           7      7
  Lines          99     99
=====================================
  Hits           99     99

I'm going to merge this and ship as an RC (will be my first time trying that!), then we can require it in the nteract serverextension.


[coverity] fix coverity issue

Fix coverity issue on

/test/unittest/layers/layers_golden_recurrent.cpp

The other issues assigned have already been fixed.
Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2516. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Added marker is not deleted in all connected clients

Hi, first thank you for this great node !
I'm using 1.5.12 and facing a strange issue:
Adding a marker works fine, and is broadcasted to all connected clients
But when deleting it, it is only removed in the instance that created it (I'd have expected it to be removed in all connected sessions, since it's using websockets)
Is this expected ?
Thanks !

Interesting. How are you removing the marker ? The automatic timeout ? Manual deletion from UI (right click) ? Command sent from server (control message) ?

My flow does basically this:

catch the "action": "point" event via a worldmap in
create a new marker with updated icon, iconColor and other attributes
add a "deleted": true to the original marker
send both markers to worldmap out

Every currently connected client receive the new marker and the old is deleted, so I'd say it's ok when done programatically.
Then, I try to suppress the new marker manually, with a right-click, yes. And this one just disappears from the UI where it was created.

FWIW, main application runs in Firefox/desktop, clients are Chrome/Android

just checking - when you say you add deleted to the original... if it has the same name then this should not be necessary as the name is "unique" across the map.
OK will check manual delete.

I left the original marker name untouched
if (msg.payload.action == "point") {
    var newMarker = {
        payload: {
            name: "CSU/" + Math.round(new Date().getTime() / 1000),
            description: msg.payload.name,
            lat: msg.payload.lat,
            lon: msg.payload.lon,
            iconColor: "black",
            icon: "fa-warning",
            layer: "CSU",
            "création": Date()
        }
    }

    msg.payload.deleted = true;

    return [[msg, newMarker]];
} else {
    return null;
}

Maybe this is related, I also noted that a "draggable" marker will only move in the session that created it.
Moves are not sent to the other connected clients.

So basically, right now all clients are correctly updated (move) when the markers are [programatically] explicitely updated with new lat/lon.

yes - so currently it is working as designed :-)...
the events from the map will update anything local directly - and feed an event back to the map in node on the server...
you could feed the update that goes back to the map in node - back out to the map - which should then update all of the others. (not tested)

Le 6 décembre 2018 18:02:22 GMT+01:00, Dave Conway-Jones<EMAIL_ADDRESS>a écrit :

yes - so currently it is working as designed :-)...
the events from the map will update anything local directly - and feed
an event back to the map in node on the server...
you could feed the update that goes back to the map in node - back out
to the map - which should then update all of the others. (not tested)
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/dceejay/RedMap/issues/59#issuecomment-444948165

Well, that's what I'm already doing:
Worldmap in -> function -> worldmap out.
That simple.
Adding a new marker and deleting the old one works fine, it's deleting or dragging the new marker from the web interface that doesn't work.
I tested returning the other messages untouched from this pipe, instead of null, makes things even worse.
And I also faced to some caching issues (?) :
had to close tabs and reopen them, or else newly added markers would just disappear, and/or by moving them.
So I'm kind of stumped.
All worldmap in/out do report the correct number of connected client, also.
My javascript skills are close to zero, so hard for me to debug this :(
What can I do to help ?
Thanks,
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

hmm - yes... slight feedback effect going on...
Will push a new version 1.5.14 soon.
You will need to remove the _sessionid from the message as that also stops propagation to all other clients (on purpose)... so you should now just need map in - change node - map out
This then allows moving markers and deleting to work across multiple clients.

Sorry, still does not work.

I tried above hack of deleting msg._sessionid with no luck,
Also https://www.npmjs.com/package/node-red-contrib-web-worldmap is 1.5.13 for a few days, not 1.5.14 ?

I tried above hack of deleting msg._sessionid with no luck,
Also https://www.npmjs.com/package/node-red-contrib-web-worldmap is 1.5.13 for a few days, not 1.5.14 ?

apologies. didn't bump package so it didn't publish... 1.5.14 now there

For the record, I confirm it perfectly works now. Thanks again !


[1.12.2] [Unreproduceable] Induction Port doesn't accepts Power

Please use the search functionality before reporting an issue. Also take a look at the closed issues!
Issue description:
I played for some time in a Singleplayer World with some Othermods.
I had a RFTools Dimension with a small Induction Matrix, but after some time one of the Induction Ports doesn't longer Accepts Energy.
I tried breaking a block of the Induction Matrix and Placing a new one, or Replacing that Port with a new one from the Creative Inventory, or replacing all Blocks inside of the Casing, and something more. Nothing helped.
I have also tried to reproduce this Issue in a new World.
I have tried to reproduce this Issue in a identical RFTools Dimension in a new World.
I have tried it in the same RFTools Dimension.
I have checked my Power Output Attached to that Port, but that was okay.
I haven't found a way to reproduce this Issue.
Steps to reproduce:
UNREPRODUCEABLE
Version (make sure you are on the latest version before reporting):
Forge:Some Different. last one:<IP_ADDRESS>79
Mekanism:<IP_ADDRESS>9
Other relevant version:I dont know which Mods are Relevant so this is my modlist.txt.
If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)
[gist/pastebin/etc link here]
My World.zip and
my modlist.txt.

Please ensure the structure is not spanning a chunk border

The Matrix isn't Crossing a Chunk Border.
Even if the Matrix would that needs to be Ok if Mekanism allows them to be 18x18 Blocks sized.

@thiakil I answered over a Month ago, why has this still the "Waiting Feedback" label?

How is this meant to be fixed if you yourself say its UNREPRODUCEABLE?

I meant why it has the "Waiting Feedback" label if it isn't realy waiting for Feedback.
"How is this meant to be fixed if you yourself say its UNREPRODUCEABLE?"
It isn't reproducible in another World but it stays in that one, that's why i uploaded the World so if someone has too much time and wants to look at it he can do it.
By the Way it is all Chunkloaded.

I meant why it has the "Waiting Feedback" label if it isn't realy waiting for Feedback.

I don't really care tbh. People have lives outside of Github. Until you start paying my IRL money, I don't owe you squat.

It isn't reproducible in another World but it stays in that one

So it could be any of the other mods in the pack causing problems, maybe even nothing to do with Mekanism. It is not solvable unless you can reproduce it with the minimum set of variations. You could even have some corruption which is not fixable by us.

@thiakil I don't know why but the Update Fixed it :)


Fix README generation

Codecov Report

Merging #94 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #94   +/-   ##
=======================================
  Coverage   90.78%   90.78%
=======================================
  Files          80       80
  Lines        1009     1009
  Branches      154      154
=======================================
  Hits          916      916
  Misses         77       77
  Partials       16       16

Continue to review full report at Codecov.

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


Invites Help

Is there a guide or instructions for using the invites section for calls? I tried to follow the ones from the website for Android but keep receiving an error code of 1.

cloud you pls share your code about it?

@LichKing-2234 Here is the code.
I first make an instance of the client:
getIt.registerSingletonAsync<AgoraRtmClient>(
      () => AgoraRtmClient.createInstance('appid'));

I log the user in here on app load:
rtmClient
            .login(token, user.agoraId.toString())

I then set the callback handlers
_client?.onMessageReceived = (AgoraRtmMessage message, String peerId) {};
    _client?.onConnectionStateChanged = (int state, int reason) {};
    _client?.onLocalInvitationAccepted = (AgoraRtmLocalInvitation invite) {
      print('Local Invite Accepted');
    };
    _client?.onLocalInvitationCanceled = (AgoraRtmLocalInvitation invite) {
      print('Local Invite canceled');
    };
    _client?.onLocalInvitationFailure =
        (AgoraRtmLocalInvitation invite, int errorCode) {
      print('Local Invite error');
      print(errorCode);
    };
    _client?.onLocalInvitationReceivedByPeer =
        (AgoraRtmLocalInvitation invite) {
      print('Local Invite received');
    };
    _client?.onLocalInvitationRefused = (AgoraRtmLocalInvitation invite) {
      print('Local Invite Rejected');
    };
    _client?.onRemoteInvitationAccepted = (AgoraRtmRemoteInvitation invite) {};
    _client?.onRemoteInvitationCanceled = (AgoraRtmRemoteInvitation invite) {};
    _client?.onRemoteInvitationReceivedByPeer =
        (AgoraRtmRemoteInvitation invite) {};
    _client?.onRemoteInvitationRefused = (AgoraRtmRemoteInvitation invite) {};
    _client?.onRemoteInvitationFailure =
        (AgoraRtmRemoteInvitation invite, int errorCode) {};

I then create the channel:
Future<AgoraRtmChannel?> _createChannel(String name) async {
    _channel = await _client?.createChannel(name);
    if (_channel != null) {
      _channel?.onMemberJoined = (AgoraRtmMember member) {};
      _channel?.onMemberLeft = (AgoraRtmMember member) {};
      _channel?.onMessageReceived =
          (AgoraRtmMessage message, AgoraRtmMember member) {};
    }
    return _channel;
  }

Lastly, I then send the invite:
invitation = AgoraRtmLocalInvitation(
              id.toString(), 'video call', '', widget.channel.id!, 0);
          _client?.sendLocalInvitation(invitation!.toJson());

@LichKing-2234 any update on this?

Sorry for the late reply, Which version of  SDK you used?

I have tested it with the latest version, It is working.

@LichKing-2234 I am using
agora_rtm: ^1.0.0
agora_rtc_engine: ^4.0.7

@LichKing-2234 are there any examples for using it via flutter?

I am using Flutter version 2.5.0.

@LichKing-2234 I also get this error:
E/AGORA_SDK(16673): directory not exist and create directory failed: /storage/emulated/0/com.nexttechphilly.socialjawn, err=1
E/AGORA_SDK(16673): cannot open log file for writing: /storage/emulated/0/com.nexttechphilly.socialjawn/agorartm.log, err=2

@LichKing-2234 here is the value:
{calleeId: 548484, content: video call, response: 1, channelId: 60a5bc20-f74d-4876-a583-0c235a0f72eb, state: 0}

@LichKing-2234 any update on this?

I will make a demo for you tomorrow.

@LichKing-2234 thank you 😊. Been stuck at this point to complete this project.

@rlee1990 done

@LichKing-2234 Thanks. I followed how you did the example but still receive the same error for sending the invite. I am using version 1.0.1.

have you login success?

just run our example and test it.

have you login success?

So if I leave the token null it fails to login if I add the token i get from the token server it logs me in without an error.

just run our example and test it.

I will try that now.

I keep getting this error when I run the example. @LichKing-2234
Login error: login failed errorCode:5
I/flutter (23578): Connection state changed: 1, reason: 3

make sure your appid and token is correct.

@LichKing-2234 so running the example how am I getting a token? I made sure the appID is correct.

you can create a project without cetificate to test.

you can read the doc for token from our official doc.

@LichKing-2234 The example worked when I created a test project without a cetificate.

@rlee1990 fine, RTM token need be generated by your server.

I have one I will provide the code I used when o get home @LichKing-2234

@LichKing-2234 here is my server function to get a token:
exports.generateAgoraRTMToken = functions.https.onCall(async (data, context) => {
    const user = data.user;
    const uid = data.uid;
    const isPublisher = data.isPublisher;
    const currentTime = Math.floor(Date.now() / 1000);
    let expireTime = 3600;
   const privilegeExpireTime = currentTime + expireTime;
   console.log(user);

    const token = RtmTokenBuilder.buildToken(AGORA_APP_ID, AGORA_Cert, uid, isPublisher ? RtcRole.PUBLISHER : RtcRole.SUBSCRIBER, privilegeExpireTime);

    return {'token': token};
});

It's working now it looks like the user id I used which was numbers set as a string was the issue. When I used letters and numbers it worked. @LichKing-2234


Unable to read accelerometer data

Hello,
I am trying to get the accelerometer using the SensorBoosterPack from TI to interface with TM4C1294XL.
I was able to initialize the sensor and get the device ID. Then I ran the configuration and everything seems to work fine. However I cannot receive the data (The data I received were all 0) when perform bmi160_get_sensor_data . I also perform the bmi160_perform_self_test and it failed when validating the data. Can you guys give me some guidance.
Below is the code sequence I took.
SensorBmi160_init Function
void SensorBmi160_init(void) {

	sensor.id = SensorPack_BMI160_ADDR; // could be BMI160_I2C_ADDR or SensorPack_BMI160_ADDR
	sensor.interface = BMI160_I2C_INTF;
	sensor.read = bmi160_read;
	sensor.write = bmi160_write;
	sensor.delay_ms = bmi160_delay_ms;

	rslt = bmi160_init(&sensor);
	if (rslt != BMI160_OK) {
		System_abort("Error Initializing BMI160\n");
	}

}

SensorBmi160_configure Function
void SensorBmi160_configure(void) {
	/* Select the Output data rate, range of accelerometer sensor */
	sensor.accel_cfg.odr = BMI160_ACCEL_ODR_1600HZ;
	sensor.accel_cfg.range = BMI160_ACCEL_RANGE_2G;
	sensor.accel_cfg.bw = BMI160_ACCEL_BW_NORMAL_AVG4;

	/* Select the power mode of accelerometer sensor */
	sensor.accel_cfg.power = BMI160_ACCEL_NORMAL_MODE;

	/* Select the Output data rate, range of Gyroscope sensor */
	sensor.gyro_cfg.odr = BMI160_GYRO_ODR_3200HZ;
	sensor.gyro_cfg.range = BMI160_GYRO_RANGE_2000_DPS;
	sensor.gyro_cfg.bw = BMI160_GYRO_BW_NORMAL_MODE;

	/* Select the power mode of Gyroscope sensor */
	sensor.gyro_cfg.power = BMI160_GYRO_NORMAL_MODE;

	/* Set the sensor configuration */
	rslt = bmi160_set_sens_conf(&sensor);
	if (rslt != BMI160_OK) {
		System_abort("Error Setting Configuration\n");
	}
}

SensorBmi160_readAccel Function
void SensorBmi160_readAccel(int16_t *accelX, int16_t *accelZ, int16_t *accelY) {

	struct bmi160_sensor_data accel;
	/* To read only Accel data */
	rslt = bmi160_get_sensor_data(BMI160_ACCEL_SEL, &accel, NULL, &sensor);

	if (rslt == BMI160_OK) {
		*accelX = accel.x;
		*accelY = accel.y;
		*accelZ = accel.z;
	}

}

The user_i2c_read() and user_i2c_write() is as followed
bmi160_read
int8_t bmi160_read (uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, uint16_t len)
{
	I2C_Transaction masterTransaction;

	masterTransaction.slaveAddress = dev_addr;
	masterTransaction.writeBuf = &reg_addr;
	masterTransaction.writeCount = 1;
	masterTransaction.readBuf = data;
	masterTransaction.readCount = len;

	if (!I2C_transfer(i2cHandle, &masterTransaction)) {
		return -1; /* Return a non-zero to indicate communication error to the API */
	}
	return 0; /* Return 0 to indicate success */
}

bmi160_write
int8_t bmi160_write (uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, uint16_t len)
{
	I2C_Transaction masterTransaction;

	masterTransaction.slaveAddress = dev_addr;
	masterTransaction.writeCount   = len;
	masterTransaction.writeBuf     = data;
	masterTransaction.readCount    = 1;
	masterTransaction.readBuf      = &reg_addr;

	if (!I2C_transfer(i2cHandle, &masterTransaction)) {
		return -1; /* Return a non-zero to indicate communication error to the API */
	}
	return 0; /* Return 0 to indicate success */
}

Finally,
This is my main function
int16_t		rawAccelX;
int16_t		rawAccelY;
int16_t		rawAccelZ;
		/** Init Accelerometer Sensor [BMI160] **/
		SensorBmi160_init();
		SensorBmi160_configure();
	while (1)
	{

		/* Read Accel Sensor */
		SensorBmi160_readAccel(&rawAccelX, &rawAccelY, &rawAccelZ);
	}

This is the register state of sensor
[]
Something I suspect. Do I have to write anything to enable FIFO or the data is automatically source from a register?
Thanks in advanced for your help! I truly appreciate it.
Alex

Hi @alextran1502,
The implementation of your bmi160_write is incorrect. It should be,
int8_t bmi160_write (uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, uint16_t len)
{
    I2C_Transaction masterTransaction;
    uint8_t tdata[len+ 1];
    tdata[0] = reg_addr;
    for(uint16_t i = 0; i < len; i++)
        tdata[i+1] = data[i];

    masterTransaction.slaveAddress = dev_addr;
    masterTransaction.writeCount   = len + 1;
    masterTransaction.writeBuf     = tdata;
    masterTransaction.readCount    = 0;
    masterTransaction.readBuf      = NULL;

    if (!I2C_transfer(i2cHandle, &masterTransaction)) {
        return -1; /* Return a non-zero to indicate communication error to the API */
    }
    return 0; /* Return 0 to indicate success */
}

Hi @BoschSensortec , May I ask what happened there? I tried to implement the method you showed but the program crashed when it tried to initialize the sensor.
Thanks,
Alex

Hi @alextran1502,
Can you replace it with this line instead?
masterTransaction.readBuf      = tdata;

@BoschSensortec It failed when tried to allocate memory for uint8_t tdata[len + 1]; in the function

@BoschSensortec I declared the tdata in the global scope and it works now.
Thanks!
Alex

Hi @alextran1502,
Which conversion are you referring to?

@BoschSensortec I meant convert from raw data to understandable data.


Expose runtime config via cilium config CLI

At the moment, cilium config only exposes a subset of all of the agent configuration:
# cilium config
Conntrack                Enabled
ConntrackAccounting      Enabled
ConntrackLocal           Disabled
Debug                    Disabled
DebugLB                  Disabled
DropNotification         Enabled
MonitorAggregationLevel  Medium
PolicyAuditMode          Disabled
PolicyTracing            Disabled
PolicyVerdictNotification Enabled
TraceNotification        Enabled
k8s-configuration
k8s-endpoint
PolicyEnforcement        default
MonitorNumPages          64

Most of the above is related to datapath-specific configuration.
As far as I know, we can't currently query the active cilium configuration from the agent. Users can run things like kubectl -n kube-system get configmap cilium-config  to fetch a subset of the configuration, or they can look at the beginning of the cilium-agent logs (if they were not rotated out already). But I'm not sure whether there is a comprehensive way to get the exact currently-active configuration options.
Extending cilium config could help with debugging live environments based on the configuration settings that are currently active.
Note, we would likely want to make all of this configuration read-only to begin with (writes denied server-side in cilium-agent) as the central code may not generically handle dynamically modifying arbitrary configuration options.

Also, we should move some items which denote configuration from cilium status (--verbose) to cilium config (e.g. KubeProxyReplacement).

@joestringer @pchaigno Can you give more insights on this issue or on which configurations need to be exposed. Also what is the expected result when this issue gets resolved?

Can you give more insights on this issue or on which configurations need to be exposed.

All Cilium agent configurations need to be exposed. See pkg/option/.

Also what is the expected result when this issue gets resolved?

cilium config would show the full configuration of the agent, similarly to what you have at the beginning of the Cilium logs, except with the current values.


chore: add derived license

We should include the following repositories in the LICENSE file too
https://github.com/orbitdb/orbit-db-keystore/
MIT
Copyright (c) 2017-2018 Haja Networks Oy
https://github.com/orbitdb/orbit-db-identity-provider/
MIT
Copyright (c) 2018 Haja Networks Oy
https://github.com/orbitdb/orbit-db-io
UNLICENSED

thanks, done


Implement a CSP

Is your feature request related to a problem? Please describe.
To get a better grading with Mozilla Observatory we should implement a CSP.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

https://csp-evaluator.withgoogle.com/

default-src 'none'; form-action 'self'; img-src 'self'


feat: add ASH, Bandit and CDK Nag

Feature or Bugfix

Feature

Detail
Add ASH, Bandit and CDK Nag security checks.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The new Bandit job fails due to 2 occurences of Popen calls with the argument "shell=True" which basically makes the process to be executed via shell. We have a couple of other occurences in the repo where this finding is suppressed with the "# nosec" tag, eg. in the cdk_cli_wrapper
The bandit guideline suggests that the input which is executed in the shell should be properly sanitized / checked to mitigate the risk.
@dlpzx How do you want to proceed? Should we simply suppress this warning to get this PR merged, or do you want to have first some input sanitization steps to be implemented, everywhere where this "shell=True" option is used?

@dbalintx thanks for the input. Agreed - the # nosec comments should be removed and some time should be spent by the team implementing input sanitization for all subprocess calls. semgrep has a guide with mitigation suggestions for example

I agree @dbalintx , we should fix and not ignore the issues. In this other PR #536 I added semgrep and it points out to the same issue

@noah-paige @jaidisido, I added some #nosec comments for the shell-true findings. There is a separate issue to track the fix, which has been added to milestone 2.1.0


Doesn't pick up Recently Added movies correctly - doesn't match PlexPy on the server

The Recently Added screen on the app is missing movies that appear on the Recently Added screen on the PlexPy server.  IP is 192.168.x.x:8181, so standard port.

Fixed an issue with my PlexPy instance & now is all good.