Statistical due date for customers satisfaction

Studente proponente
s234844 Mazzocco Fabio
Titolo della proposta
Statistical due date for customers satisfaction
Descrizione del problema proposto
The due date quoting of an order is one the most difficult problems to deal with because a lot of variables contribute to the actual time that starts when the order is received and ends when the whole order is issued. A good approach is to unify all of them by studying the data from the reception of the order to its issue, using a statistical distribution (normal). If the due date is quoted by trusting the average/mean time, there is only about the 50% of probability that the order will be issued by that date, so a more conservative approach should be used in order to avoid the customer dissatisfaction or even penalties. For these reasons, a statistical approach (besides the optimization of the single variables) is needed.
Descrizione della rilevanza gestionale del problema
The order management is very important to minimize the delay of the deliveries and to have a decent service level in order to satisfy the customer expectations and increase the brand image. Being able to evaluate due dates means to have the ability to know if the production of important/urgent parts should be escalated or outsourcing is needed. During periods with orders pick, it is crucial to know which parts should be produced first in order to provide the customer the highest quantity of parts in the shortest time and to choose the best mix from this point of view. Carrying out simulations of the acceptance of an order during a certain period let the company decide whether or not accept the order and if it is necessary to fix a larger due date.
Descrizione dei data-set per la valutazione
The data-set has been provided by the company I did my internship with and it has been anonymized. It is made of one table with the following columns: customer, part-number, quantity, description, good-issue-date and order-date. Each value is the line of an order and represents the need for a specific part, whereas an order can be made of many lines. The "order-date" does not indicate when the order was received but it is the date in which its production started. It is important to notice that the quantity is not relevant for the production time (once the production starts, it only depends on other factors and the whole quantity is produced all together). When "order-date" and "good-issue-date" are the same value, it means that the requested part was already in stock.
Descrizione preliminare degli algoritmi coinvolti
Due date quoting (from "Programmazione e gestione della produzione" classes) is one of the implemented algorithm based on a statistical distribution, the group mean and variance are calculated and a quantile (with the chosen probability) is the number of days to produce and issue the parts mix. Recursion is implemented too in order to find the best quantity/days rate having a certain probability of success and delivering a given amount of parts. A discrete-event simulation is carried out to check the behavior of an order during the chosen period using the historical data of a selected year, in this case, the number of parts that can be processed simultaneously is chosen by the user, the production time is a random number of days (based on the statistical distribution of the part). These last two algorithms are supported by the first one.
Descrizione preliminare delle funzionalità previste per l’applicazione software
The user is able to choose the parts and the relative quantities demanded: this is the order. Through the due date quoting it is possible to choose a probability and the suggested due date is shown based on the parts statistical distributions. It is also possible to set a due date and check the relative probability using the inverse due date quoting algorithm. These two functionalities are available both for the parallel production of the parts and the serial one. In case of production picks, it is possible to calculate the best parts mix to be produced/issued at first in order to maximize the quantity/days rate setting the probability and the minimum quantity of parts to be delivered (this can be useful if lines can be issued before the full completion of the order). In the end, it is possible to simulate the behavior of the order in a certain period regulating the number of parts that can be produced simultaneously (due date quoting is applied with a random probability to the single parts in order to determine the random number of days of each one).

The proposed topic is relevant and the data set is sound and useful (assuming that it contains a significant number or rows).
The computation of dates according to PGP statistical formulas is ok, but is not sufficient for the purpose of the thesis.
I did not understand the details of the "recursion" or the "event simulation" that were mentioned. Please describe in more detail one of them (not both) to be able to evaluate the "depth" of the involved algorithm.
Also, it is not clear whether the system will operate by estimating the dates of a single order (based on statistical measures) or if it will take into account the already existing orders (and pending units of work), and/or take into account other production constraints. Please clarify.

The event simulation runs in a chosen period (that contains the order date) using the historical data (same period) from one of the years that are present in the DB (picked by the user) as they were from the same year of the order date. The simulation also takes into account a production constraint: the user can decide how many lines can be used --> how many parts can be produced in parallel (please consider that in this problem, the number of pending units is trifling). For each part in the queue, a random outcome of the relative random variable represents the #days needed for the production and in the end the starting and ending date of the order will be shown as well as some stats (e.g. total number of units, number of orders that could be satisfied by the stock, parts of the order that were not produced, etc.).
The system operates with a single order (of one or more parts) both in the due date quoting/probability and the recursion since it is subject to the environmental situation and offer only an idea of the solution that needs to be applied to a real case (this is the reason why there is a simulation algorithm)

ok, thanks for the clarifications.
(I'm still a bit doubtful about the usefulness of the recursion part... maybe you could focus on a more comprehensive simulation)


Model Graph

Hello, Your code is backbone to BERT model?

Hi, Young, The model backbone is a transformer-based model, where dedicated designs are proposed to deal with multiple types of behaviors. Specifically, the self-attention module is designed to consider transitions between different behaviors, and positional embeddings are also designed to be behavior-aware.  The model performs masked item prediction which is similar to the MLM objective in BERT
For more information, you can refer to our paper.

Thank you


Pre-build binaries with MT_StaticRelease

Hi,
Can you make and publish the pre-build binaries with MT_StaticRelease instead MD_DynamicRelease please?

for my needs, the current setup is fine. You should be able to adapt the build recipee to your needs


Source generated class not mapped

Describe the bug
Inherited properties of source objects are ignored if the inheritance is defined in a source generated file.
Declaration code
// Base class
public abstract class AuditableEntity
{
    public int Id { get; set; }
}

// Partial DB model (handwritten)
public partial class Foo {}

// Partial DB model (generated using source generation)
public partial class Foo : AuditableEntity {} // <---------------------- here is the problem

// Dto
public partial class FooDto
{
    public int Id { get; set; }
}

// Mapperly configuration
[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)]
public static partial class DtoMap
{
    public static partial FooDto MapToDto(this Foo source); // <---------------------- throws error: 'Id' property is missing from `Foo`
}

In the case presented above Mapperly throws an error saying that 'Id' property is missing from Foo. This is not true because it is added by the source generated partial class that inherits from AuditableEntity (and you could write a mapping method with it).
The error is NOT thrown when the inheritance is defined in the handwritten Foo class as shown below; in this case it maps the 'Id' property correctly.
// Base class
public abstract class AuditableEntity
{
    public int Id { get; set; }
}

// Partial DB model (handwritten)
public partial class Foo  : AuditableEntity {} // <---------------------- no problem here

// Partial DB model (generated using source generation)
public partial class Foo {}

// Dto
public partial class FooDto
{
    public int Id { get; set; }
}

// Mapperly configuration
[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)]
public static partial class DtoMap
{
    public static partial FooDto MapToDto(this Foo source); // <----------------------  does not throw error
}

Is there any fix for this? Thank you.
Environment (please complete the following information):

Mapperly Version: 4.1.0
Nullable reference types: enabled
.NET Version: .NET 8.0.1
Target Framework: .net8.0
Compiler Version: 4.12.0-3.24510.2
C# Language Version: 13.0 latest
IDE: Visual Studio 2022 v17.12.0 Preview 4.0

Chaining source generators is not supported and I don't know any workarounds despite implementing the generated code by hand.
See FAQ and https://github.com/dotnet/roslyn/issues/57239

Uhm you're right... well I guess that moving the db models to another project could fix the problem since mapperly would receive them as compiled
Thank you


partial fix for issue #21

Everything related to text and image has been fixed. However, the sub-heading is a SVG element as such i have not dealt with it. The hierarchy issue too has not been fixed as design is out of my scope.

Great job @sudanchapagain! I can share the Figma design file with you. If you could complete the remaining work, it would be the cherry on top.
Here’s the design link: Figma Design.

Sure. will look into this sometime later.

Ok No worries, Good night

That's all that i will be doing, the hierarchy issue is not fix-able by me. I see no other option than redoing the whole text block or design of the whole page.


Watch mode when developing

JupyterLab achieves a "watch mode" when developing. Ideally I need to achieve the same thing.

Completed within https://github.com/SimonBiggs/scriptedforms/commit/332a6faafb4d7239fffaa59a4f33b79a416a2320


Call goat protective services

:cl:

fix: Reproducible entities now have a capacity in confined areas.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! i hate animal rights

ok new cow meta is as follows:

have pen A with 4 cows and some kind of automatic offspring funneling
have pen B with the rest of them, 4 tiles away
repeat for more production

animal abuse meta

animal abuse peta*

have pen A with 4 cows and some kind of automatic offspring funneling

have pen B with the rest of them, 4 tiles away

repeat for more production

If you manage to do that you probably deserve it at that point.

cowops12345


Maint: Bump template version to 2.0.5-RC0

Expected changes are:

Enum classes for enum schema components
Updated pyproject.toml file with new version for openapi-common
Minor formatting changes in docstrings.
Deletion of to_dict and to_str on models

I had a scroll through the changes, it looks as expected to me.


Table header height issue of 'sm' size

Hi Team,
There is a CSS bug when using 'sm' size table with no selectionColumn. In this case height of first  element remains 3rem instead of 1.5rem.
You can replicate the issue at - https://angular.carbondesignsystem.com/?path=/story/table--with-overflow-menu. Go to knobs tab, select size='small' and uncheck showSelectionColumn property.
We are using this in our project. Can we please expect the fix soon.
Thanks in Advance!
We are using the below versions of carbon:
"carbon-components": "^10.4.1",
"carbon-components-angular": "^3.13.1"

Hmm this seems to be a styling issue. You should raise this in carbon-design-system

I have raised the same in the carbon-design-systems - https://github.com/carbon-design-system/carbon/issues/3503. Thanks!

Looks like this will be fixed in carbon-components css and there seems to be no further work needed in angular for this.
Reopen if needed.


MacRoman-encoded file opened as Latin1

Steps to reproduce

Open the attached file in Vim with vim --clean xyz.applescript. The file has been saved with Mac OS Roman encoding.
se fenc?

The output is fileencoding=latin1.
A workaround is to open the file with explicit encoding (++enc=macroman). Other editors, however, detect the encoding correctly (I have tried with BBEdit), so I would expect Vim to be able to do the same.
Note that due to the wrong detection, some characters are not displayed correctly. Compare the default behavior:

with :e ++enc=macroman xyz.applescript:

Expected behaviour
I expected the buffer's fileencoding to be set to macroman.
Version of Vim
9.0.0252
Environment
OS: macOS 12.5.1
Terminal: Apple Terminal.app
$TERM: xterm-256color
shell: ZSH 5.8.1
Logs and stack traces
No response

Ops, I haven't attached the file. Here it is:
xyz.applescript.gz

MacRoman is an 8-bit encoding.  Vim cannot guess the encoding from just looking at the text, it could be any 8-bit encoding.  You can set 'fileencodings' to use "macroman" instead of latin1 for the default 8-bit encoding.  But it's likely that causes more trouble than it solves, unless you edit a lot of MacRoman files.
Not sure why other editors would open the file as MacRoman.  Either they guess or perhaps use some meta data?

Ah, I see. Yes, BBEdit uses some heuristics based on the text content. No metadata, AFAICS. For instance, if each byte in the file can be interpreted as ASCII, it sets the encoding to ASCII. But now that you have asked me, I have double-checked BBEdit's settings, and, in fact, it uses Mac OS Roman as a fallback for when the encoding can't be guessed. If I change the fallback to ISO Latin 1, it opens the file as ISO Latin 1. So, it's not as smart as I had thought, and no smarter than Vim.


Improvements how tests are initiated in AppVeyor

Improvements how tests are initiated in AppVeyor

Removed previous workaround (issue #201) from unit tests.
Changes in appveyor.yml so that SQL modules are removed before common test is run.
Changes to CONTRIBUTING.md

Removed the text about the need to do the workaround in tests (issue #201).
Added a short descriptive text how tests works with AppVeyor.
Added text explaining that a review only starts when all tests are passing.

This Pull Request (PR) fixes the following issues:
Fixes #239

[X] Change details added to Unreleased section of CHANGELOG.md?
[ ] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[ ] Examples appropriately updated?
[ ] New/changed code adheres to Style Guidelines?
[x] Unit and (optional) Integration tests created/updated where possible?

This change is

Reviewed 12 of 12 files at r1.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

CONTRIBUTING.md, line 76 at r1 (raw file):

### Tests

For a review of a Pull Request (PR) to start, all tests must pass without error. If you need help to figure why some test don't pass, just write a comment in the Pull Request (PR), or submit an issue, and somebody will come along an assist.

Should be 'and assist'

CONTRIBUTING.md, line 85 at r1 (raw file):

AppVeyor is the platform where the tests is run when sending in a Pull Request (PR). All tests are run on a clean AppVeyor build worker for each push to the Pull Request (PR).
The tests that are run on the build worker are common tests, unit test and integration tests (with some limitations).

Should be 'unit tests'

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

CONTRIBUTING.md, line 76 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Should be 'and assist'

Done

CONTRIBUTING.md, line 85 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Should be 'unit tests'

Done

Comments from Reviewable

Will merge this on Monday unless there are more comments.

Review status: all files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable


templateContent version 2.x

It has been changed as of version 2.x.
README Async version:
templateContent: function(templateParams, compilation, callback)
README Sync version:
templateContent: function(templateParams, compilation)
index.js Line 197
Source code states:
HtmlWebpackPlugin.prototype.executeTemplate = function (templateFunction, chunks, assets, compilation)

Is this a question?

I guess not, I tried to use the async version and got a callback is not a function error.

This was a breaking change in 2.x - please take a look at the migration guide: https://github.com/ampedandwired/html-webpack-plugin/blob/master/migration.md#isomorph-apps


Remove unnecessary spaces from docs/manual/dynamicform.md

What is this PR for?
#518 introduces some unnecessary spaces in docs/manual/dynamicform.md which results dynamicform.md is not compiled to dynamicform.html under _site directory after bundle exec jekyll build --safe command
What type of PR is it?
Bug Fix
Is there a relevant Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-490
How should this be tested?
run bundle exec jekyll build --safe under /docs and see if /docs/_site/manual/dynamicform.html is generated.

Merging if there're no more discussions

Oh I didn't realized that. It was my bad.
Let's get to merge !


encryptr: init at 2.0.0

Motivation for this change
This adds Spideroak encryptr, a node-webkit app that does password management with syncing in the cloud. Note I only tested it working on x86_64 (don't know how to test i386). I left the license to unfree because we're reusing an executable binary from the web. However the code is up on github and really is GPLv3. Given the complex nature of dependencies it's probably going to take some effort to build from source.
Things done

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

[X] NixOS
[ ] macOS
[X] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

You can test 686 by using pkgsi686Linux instead of pkgs when running nix-build.

Thank you! I am happy to report that the i386 version works too.
[guillaume@nixos:~/Downloads/nixpkgs]$ nix-build ~/Downloads/nixpkgs -A pkgsi686Linux.encryptr
...
[guillaume@nixos:~/Downloads/nixpkgs]$ file ./result/bin/encryptr
./result/bin/encryptr: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /nix/store/3z36d0iifjz34bkp9g8a78abkgcjqmfk-glibc-2.24/lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=510688230552b435be7e2032bd0fb2c184b63b34, stripped
[guillaume@nixos:~/Downloads/nixpkgs]$ ./result/bin/encryptr
...

LGTM thank you!


Be even more specific in gettting the temperature data

Only ask for specific data and then filter that response too.

It's old school and obsolete... like me. 😉

Thanks for both your work on this topic. We had a larger discussion internally on how to proceed and decided to go ahead with 305d6b35ccfd9feb28ac1dfa4f9ac9b2e30fd31b addressing most of the issues, especially reading only the variable name to avoid pulling in invalid data in the first place which seemed to be the original issue.
There is a bit of doubt about how "temperature" info is collected from the sysctl variables to avoid hardcoding parent nodes. It's unlikely changed from FreeBSD side (new nodes with different names or other purposes) but it would be beneficial to pass through unknown OIDs that seem to fit the pattern and present them to the widget/caller and deal with them in a similar fashion like we did with the reports here.
A side effect of the patch is the easy use of
# configctl system temp

to return all current temperature readings.
Cheers,
Franco


Task-pooling based parallelization & incremental output

When scheduling longer tasks (like audio file conversion), all cores should be used by the script.
Right now Turtle only contains parallel, which will schedule as many parallel processes as fork allows and only return the results after every element has been processed.
I’d like to use something like async-pool, here’s a first try:
  finished <- liftIO $ Pool.withTaskGroup 4 $ \tg ->
    Pool.mapTasks tg $ map action infiles
  select finished >>= printf s

It uses exactly four cores now, but the output is still deferred until the very end; I’m not sure if it’s possible to integrate that into the streaming abstraction?

To be precise, parallel doesn't exactly block until every element has been processed.  For example, if the first element completes first, then parallel will emit it immediately and not wait for the remaining elements to complete.  The only restriction is that parallel returns the elements in order, which means that parallel cannot return the second element before the first element.
The reason I'm explaining that is to point out that if you want something that produces results earlier than that then you need to drop the requirement to preserve the original order.  Usually the way you do this is to have each action store the result in a buffer and then you stream the results from the buffer.
Going back to your original question: you can get the task-based approach to stream incrementally using the same trick.  Have each task store its result in a buffer and then stream the results from the buffer.

Ah, I understand how parallel can only produce one output per item; one is kind of trapped in IO anyway, since withAsync enforces it.
What would you use for the buffer? A TChan from stm?
Then if one would like pooling, it would have to be implemented with the Async.Pool withAsync anyway.

Yeah, it could be any buffer


/mentions & /whispers broken on startup (nightly)

If i have /whispers and /mentions open on startup it shows nothing - have to close and reopen it to show anything
nightly v1.0.863

@fourtf close this?


configure-product fails to find the property that is not defined in the previous version of the product

configure-product is failing to associate guids for the property that does not exist in the previous version of the product but is introduced in the new version of the product.
Steps to reproduce:

Deploy a product that does not have a property configured (TAS 2.6)
Upload and stage a product that contains the property and migration (TAS 2.7)
Run configure-product command:

om --target "OPSMAN_TARGET" --skip-ssl-validation configure-product --config "PATH_TO_PRODUCT_CONFIG"

where PATH_TO_PRODUCT contains the following configuration for property:
  .properties.credhub_internal_provider_keys:
    value:
    - key:
        secret: some-secret
      name: Key
      primary: true

See that it fails with error:

2020/09/01 06:35:54 could not execute "configure-product": failed to configure product: failed to associate guids for property ".properties.credhub_internal_provider_keys" because:
request failed: unexpected response from /api/v0/deployed/products/cf-6bdb4038d37667f9f424/credentials/.properties.credhub_internal_provider_keys[0].key:
HTTP/1.1 404 Not Found
Transfer-Encoding: chunked
Cache-Control: no-cache, no-store
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Date: Tue, 01 Sep 2020 06:35:54 GMT
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Pragma: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Server: Ops Manager
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 26f79fb5-66a3-44ee-8e56-9de2814f9a07
X-Runtime: 0.114048
X-Xss-Protection: 1; mode=block

TAS 2.7 has a migration that introduces this property. The property is of type collection.
- name: credhub_internal_provider_keys
  type: collection
  configurable: true
  property_blueprints:
  - name: name
    type: string
    configurable: true
  - name: key
    type: secret
    configurable: true

@jtarchie @ystros @anEXPer

We believe v6.3.0 resolves this. @mariash can you unpin on your pipeline and verify it Just Work™?

Confirmed by multiple sources, resolved.


unable to add creation of an instance in ignore list

I am trying to ignore creation of all instances whose name starts something with keyword-*.
I have given technology as "ec2instance" and  prefix as "keyword". Still when an instance gets created or deleted matching that keyword, securitymonkey sends notifications

https://github.com/Netflix/security_monkey/blob/develop/security_monkey/watchers/ec2/ec2_instance.py#L83
It should check the name.

@utsav2307 Do you experience this with the latest version?


no_std builds

Hey,
I've been using cargo chef with great success for various projects :)
This time I wanted to try some embedded programming for an AVR mcu with Rust.
For that, I set up an empty-ish example project like so:
cargo install cargo-generate
cargo generate --git https://github.com/Rahix/avr-hal-template.git

I called it rust-avr-test.

The Dockerfile I use for that looks like this:
FROM rust:1-buster AS chef

RUN apt-get update && apt-get -y install binutils gcc-avr avr-libc

RUN rustup toolchain install nightly-2022-05-10
RUN rustup default nightly-2022-05-10
RUN rustup component add rust-src
RUN cargo version

RUN cargo install cargo-chef

On top of that I then tried my usual builder Dockerfile, with cargo chef, which looks somewhat like this:
FROM avr-builder:latest AS chef

FROM chef AS planner
COPY . .

WORKDIR /rust-avr-test
RUN cargo chef prepare --recipe-path recipe.json

FROM chef as builder
WORKDIR /rust-avr-test
COPY --from=planner /rust-avr-test/recipe.json recipe.json
COPY ./rust-avr-test/avr-specs ./avr-specs
COPY ./rust-avr-test/rust-toolchain.toml .
#COPY ./rust-avr-test/src/main.rs ./src/main.rs
RUN cargo chef cook --release --recipe-path recipe.json

WORKDIR /
COPY . .
WORKDIR /rust-avr-test
RUN cargo build --release

(or something like that)
cargo chef prepare works, but cargo chef cook fails.
It compiles all the dependencies just fine, but then it tries to build the project, which fails because of no_std and a missing panic handler:
   Compiling rust-avr-test v0.0.1 (/rust-avr-test)
error[E0463]: can't find crate for `std`
  |
  = note: the `avr-atmega328p-5093738666997825484` target may not support the standard library
  = note: `std` is required by `rust_avr_test` because it does not declare `#![no_std]`
  = help: consider building the standard library from source with `cargo build -Zbuild-std`

error: `#[panic_handler]` function required, but not found

For more information about this error, try `rustc --explain E0463`.
error: could not compile `rust-avr-test` due to 2 previous errors
thread 'main' panicked at 'Exited with status code: 101', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/cargo-chef-0.1.35/src/recipe.rs:145:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
The command '/bin/sh -c cargo chef cook --release --recipe-path recipe.json' returned a non-zero code: 101

All that stuff is handled in main.rs, which looks like this by default:
#![no_std]
#![no_main]

use panic_halt as _;

#[arduino_hal::entry]
fn main() -> ! {
    let dp = arduino_hal::Peripherals::take().unwrap();
    let pins = arduino_hal::pins!(dp);

    /*
     * For examples (and inspiration), head to
     *
     *     https://github.com/Rahix/avr-hal/tree/main/examples
     *
     * NOTE: Not all examples were ported to all boards!  There is a good chance though, that code
     * for a different board can be adapted for yours.  The Arduino Uno currently has the most
     * examples available.
     */

    let mut led = pins.d13.into_output();

    loop {
        led.toggle();
        arduino_hal::delay_ms(1000);
    }
}

So I tried just copying that into the container, hoping it would be found and stuff would work, but the result is the same...
The template-generated Cargo.toml looks like this:
[package]
name = "rust-avr-test"
version = "0.1.0"
authors = [""]
edition = "2021"
license = "MIT OR Apache-2.0"

[[bin]]
name = "rust-avr-test"
test = false
bench = false

[dependencies]
panic-halt = "0.2.0"
ufmt = "0.1.0"
nb = "0.1.2"
embedded-hal = "0.2.3"

[dependencies.arduino-hal]
git = "https://github.com/rahix/avr-hal"
rev = "d0d2f243bd3e10b49f6a78d44839a6caa8be7d43"
features = ["arduino-nano"]

# Configure the build for minimal size - AVRs have very little program memory
[profile.dev]
panic = "abort"
lto = true
opt-level = "s"

[profile.release]
panic = "abort"
codegen-units = 1
debug = true
lto = true
opt-level = "s"

The point of cross-compiling inside a container is to not have a bunch of project-specific packages and tools flying around on my host, and of course to make stuff run in CI.
Any help would be greatly appreciated :)
Best,
Leo

Hey!


Add package to bower

Hey man, you should put your package on bower!

+1

Already registered, now you can bower install notifit :)
Thanks to bronek89 :+1:


Duplicate Ubuntu 16.04 entries on ODBC page

Entries for "Ubuntu 16.04" are duplicated.

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

ID: 0fc3da20-7ab2-d20f-4d29-4664d3183b57
Version Independent ID: 986d25d9-5d2e-5154-39ea-3b683faf2264
Content: Install the Microsoft ODBC driver for SQL Server (Linux) - SQL Server
Content Source: docs/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-daenge

@curiositycasualty Thanks for submitting feedback. There are 3 different sections for Ubuntu 16.04. One for ODBC Driver 17, one for ODBC Driver 13.1, and on for ODBC Driver 13. There are small differences to install the different driver versions. Is that what you are referring to? Those sections look similar but are not duplicates of each other.
Thanks,
David

My mistake!


Ambiguous error message when you load App.axaml

What does the pull request do?
Fixes the ambiguous message when user loads App.axaml file in the designer
How was the solution implemented (if it's not obvious)?
Update the error message
Checklist
Not applicable

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes
None
Obsoletions / Deprecations
None
Fixed issues
https://github.com/AvaloniaUI/AvaloniaVS/issues/257

You can test this PR using the following package version. 11.0.999-cibuild0040435-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@maxkatz6 could you review tires PR please


Add docs to explain function flow resolution

Documented as http://docs.virtdata.io/users_guide/resolving_functions/


--audio-multistreams not set language/title of audio track

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.09.01 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
Hello,
I try download video with multi audio from HLS M3U8 but yt-dlp (ffmpeg) not set language/title of audio track after merged the video+audio.
Source: https://streamsb.com/sources43/7c7c6c777a6f686334326e73326f7c7c7c7c73747265616d7362/
#EXTM3U

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="English",LANGUAGE="en",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-a1.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="Deutsch",LANGUAGE="de",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-a2.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="Español",LANGUAGE="es",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-a3.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=213679,RESOLUTION=640x360,FRAME-RATE=25.000,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="audio0"
https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-v1-a1.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500974,RESOLUTION=1280x720,FRAME-RATE=25.000,CODECS="avc1.64001f,mp4a.40.2",AUDIO="audio0"
https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_n/index-v1-a1.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>

#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=23378,RESOLUTION=640x360,CODECS="avc1.4d401f",URI="https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/iframes-v1-a1.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=65594,RESOLUTION=1280x720,CODECS="avc1.64001f",URI="https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_n/iframes-v1-a1.m3u8?t=eHYcqsAx9lKfBsz-hK298QqL9nIpoVw9pyYzhWcdnEo&s=1662452145&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
C:\Users\admin>yt-dlp -Uvf "bv*+mergeall[vcodec=none]" --audio-multistreams -N 8 "https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_,l,n,.urlset/master.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>" --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0" --add-header "Accept-Language: en,en-US;q=0.7,en;q=0.3" -o "y.mkv"
[debug] Command-line config: ['-Uvf', 'bv*+mergeall[vcodec=none]', '--audio-multistreams', '-N', '8', 'https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_,l,n,.urlset/master.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>', '--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0', '--add-header', 'Accept-Language: en,en-US;q=0.7,en;q=0.3', '-o', 'y.mkv']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.09.01 [5d7c7d6] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-10-10.0.22000-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1-full_build-www.gyan.dev (setts), ffprobe 5.1-full_build-www.gyan.dev, phantomjs 2.1.1
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1670 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.09.01, Current version: 2022.09.01
yt-dlp is up to date (2022.09.01)
[debug] [generic] Extracting URL: https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_,l,n,.urlset/master.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>
[generic] master.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=134.129.12: Downloading webpage
[debug] Identified a direct video link
[generic] master.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=134.129.12: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] master.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=134.129.12: Downloading 1 format(s): 500+audio0-Español+audio0-English+audio0-Deutsch
[debug] Invoking hlsnative downloader on "https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_n/index-v1-a1.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
[hlsnative] Downloading m3u8 manifest
WARNING: Live HLS streams are not supported by the native downloader. If this is a livestream, please add "--downloader ffmpeg --hls-use-mpegts" to your command
[hlsnative] Total fragments: 232
[download] Destination: y.f500.mp4
[debug] File locking is not supported. Proceeding without locking
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download] 100% of 150.70MiB in 01:08 at 2.21MiB/s
[debug] Invoking hlsnative downloader on "https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-a3.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
[hlsnative] Downloading m3u8 manifest
WARNING: Live HLS streams are not supported by the native downloader. If this is a livestream, please add "--downloader ffmpeg --hls-use-mpegts" to your command
[hlsnative] Total fragments: 232
[download] Destination: y.faudio0-Español.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download] 100% of 29.17MiB in 00:52 at 564.02KiB/s
[debug] Invoking hlsnative downloader on "https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-a1.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
[hlsnative] Downloading m3u8 manifest
WARNING: Live HLS streams are not supported by the native downloader. If this is a livestream, please add "--downloader ffmpeg --hls-use-mpegts" to your command
[hlsnative] Total fragments: 232
[download] Destination: y.faudio0-English.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download] 100% of 29.11MiB in 00:52 at 565.15KiB/s
[debug] Invoking hlsnative downloader on "https://delivery141.akamai-cdn-content.com/hls2/01/07225/lwzohc42ns2o_l/index-a2.m3u8?t=2DQs38Q74vzHvT05gTWeaq1dP7ecYrT7hZ4f_I_w4NM&s=1662452111&e=10800&f=36125970&srv=sto185&client=<IP_ADDRESS>"
[hlsnative] Downloading m3u8 manifest
WARNING: Live HLS streams are not supported by the native downloader. If this is a livestream, please add "--downloader ffmpeg --hls-use-mpegts" to your command
[hlsnative] Total fragments: 232
[download] Destination: y.faudio0-Deutsch.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download] 100% of 29.88MiB in 00:52 at 578.51KiB/s
[debug] ffmpeg command line: ffprobe -show_streams "file:y.faudio0-Español.mp4"
[debug] ffmpeg command line: ffprobe -show_streams "file:y.faudio0-English.mp4"
[debug] ffmpeg command line: ffprobe -show_streams "file:y.faudio0-Deutsch.mp4"
[Merger] Merging formats into "y.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:y.f500.mp4" -i "file:y.faudio0-Español.mp4" -i "file:y.faudio0-English.mp4" -i "file:y.faudio0-Deutsch.mp4" -c copy -map "0:v:0" -map "1:a:0" "-bsf:a:0" aac_adtstoasc -map "2:a:0" "-bsf:a:1" aac_adtstoasc -map "3:a:0" "-bsf:a:2" aac_adtstoasc -movflags "+faststart" "file:y.temp.mkv"
Deleting original file y.faudio0-Español.mp4 (pass -k to keep)
Deleting original file y.faudio0-Deutsch.mp4 (pass -k to keep)
Deleting original file y.faudio0-English.mp4 (pass -k to keep)
Deleting original file y.f500.mp4 (pass -k to keep)

--embed-metadata

How is that related to your question? If you think it's a bug, open a proper bug report


💚 use absolute paths for reusable workflow

#136  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @mingi3314 and the rest of your teammates on  Graphite


CTA Buttons - Solutions Page

https://kfg6bckb-dev.webengine.zesty.io/solutions/
"Try Zesty free" button in header is not triggering the drop down. Goes to /meet/ page instead
Can we change the "see what you can do" CTA button under the case studies to trigger the drop down that comes up when you click "try Zesty free"?


Don't clone ledger in balance computation

https://github.com/iotaledger/iota-sdk/pull/1934#discussion_r1494250760

Closed by https://github.com/iotaledger/iota-sdk/pull/2077


Report Rename

It would be awesome if we can rename the reports  or it is renamed automatically.

Hey,
Sorry for this super late reply!
You can change the report's name by doing this:

Hope it helps!
Santosh


Implementation of Elements primitives.

See Appendix A of the Simplicity Tech Report for details about the specification of the Elements primitives.
This includes a simple "checkSigHashAll" testcase with a test transaction data.
The project now builds a elementsSimplicity.a shared library to be linked with Elements

ACK except for above comments.

Fixes look good!


Starting point changing to 1 from 0 on changing to logarithmic scale

@cbnitsAnirban the issue is there for all the axis


Update references to package in readme.md with Renovate

Is your feature request related to a problem? Please describe.
@stephaniewang526 needed to update the README.md manually after a dependency update by Renovate: https://github.com/googleapis/java-bigquery/pull/1735
Pushing new commits to a Renovate branch blocks Renovate from merging automatically or pushing new commits into the renovate/** branch.
I think you're better of automating the syncing of the README.md, so you can have 2 separate PRs:

One PR to update the "real" dependency
One PR to update the README.md dependency reference

Maybe you can even make it so that you just get one PR which includes both the README.md and the real dependency update.
Describe the solution you'd like
I think you can probably get most of the way there by looking at the Renovate configuration file ^renovate-config that the Renovate team uses. There's also a real world PR for you to look at to see the behavior. ^pr
Describe alternatives you've considered
Keep doing things manually.
Additional context
Read the Renovate documentation for more information on the configuration options. ^docs

Hi, my question was not related to updated README. It was related to the actual dependency update. Looks like the ticket is deleted? https://github.com/renovatebot/renovate/issues/12994

Your issue was converted to a discussion by the maintainer of Renovate, you can find the response here: https://github.com/renovatebot/renovate/discussions/12997 😉
I saw that you needed to push changes to the PR branch from Renovate, which blocks Renovate from doing anything else with that branch (to prevent Renovate from deleting your wanted changes!).
But I think you can setup Renovate to update the README.md in a separate/grouped PR.
The big idea is that you can use regexManager to create your own custom rules, as you can see in the example I gave above.

I see that you assigned me, but I don't know enough to configure this properly. So I'll let you or your team do this. 😉

Okay -- following up here: https://github.com/renovatebot/renovate/discussions/12997#discussioncomment-1807949

Fixed by importing the google-cloud-data-catalog BOM.


Not able to power SPI flash with 1.8V

I'm not able to power SPI with 1.8V in way that I can further proceed with SPI operations:
SPI> W
Power supply
Volts (0.80V-5.00V)
x to exit (3.30) > 1.8
Maximum current (0mA-500mA), <enter> for none
x to exit (none) >
1.80V requested, closest value: 1.80V
Current limit:Disabled

Power supply:Enabled
Vreg output: 1.8V, Vref/Vout pin: 1.8V, Current: 84.4mA

SPI> flash probe

Error: No voltage detected on VOUT/VREF pin
Hint: Use W to enable power, or attach an external supply

There is no issue with 3.3V. Is it software or hardware limitation/issue?

What firmware are you using? There was a concurrency issue in the PSU after a major update. 1.8volts works well when I test. If this persists with the latest firmware, I will investigate further.

The firmware is the latest, built from source, previsely a week ago. The current consumption is ok - I'm powering SPI chip within circuit so the MCU using this SPI is also powered.  The reason I'm powering arroud 1.8V is I'm trying to go below threshold of MCU is to kick it off as it's constantly using SPI flash. It there any way of temporarily disabling 'No voltage detected on VOUT/VREF pin' logic ?

In commands/spi/flash.c line 81 you can comment that out to disable the check.

I can still reproduce this:

Connect buspirate USBC
Connect to TTY
m for mode, 6 for SPI, y to accept setting
W for setting voltage, 1.8 for input
attempt to flash command says Error: No voltage detected on VOUT/VREF pin

Despite above I see 1.8V on the screen and Vreg output: 1.8V, Vref/Vout pin: 1.8V, on TTY
I'm getting
No voltage detected on VOUT/VREF pin .
This all happens with nothing connected - no load .
After further check I've determined the threshold - the minimum it is 1.92V for which it works as expected and for 1.91V it is not working.
In the code I see this element:
amux_read(HW_ADC_MUX_VREF_VOUT)<1200)

Isn't the reason that this 1200  is somehow scalled or shifted  ? Also 1.92V-1.2V seems like a single diode drop, could that me reason ? The values in UI seems to display correctly, only this check seems to not work

Ok it seems there is some table for this:
hw_adc_voltage[HW_ADC_MUX_VREF_VOUT]
so I bet there be a globally calable function for reading voltage instead of some globals and arrays  ?

Also minor thing - the channel is passed as uint8_t :
amux_select_input((uint16_t)channel);
and then casted to uint16_t:
amux_select_input((uint16_t)channel);
Shouldn't both be same type for core clarity/optimal resulting assembly?

Fix proposed above. Maybe longterm it would be better to use dedicated functions for reading ADC than some indexed arrays and prep. defines which are not that flexible and require understanding whole logic for somebody who didn't write the initial code ?

Hi @nuschpl , I noticed your proposed fix was merged.  Did that resolve the issue?  If so, can you please close this issue also?
Thanks!

Thanks for the fix!  lease feel free to re-open if your merged PR did not resolve the issue...


Availability profiles for EV are sufficient right?

I think that we only need the availability profiles and can get rid of the load-profiles for EV. The behaviour of EV will be different depending on if storage/demand shifting is toggled 'on' or 'off' but the profiles have enough info for both cases. Just to be sure that we're all on the same page here :smile:

Storage 'on': the EV charges whenever there is local excess (that not consumed by other technologies in the same connection) or when the profile dictates that the charge fraction should be higher than the current actual charge fraction of the EV.
Storage 'off': the EV charges only when the profile dictates that the charge fraction should be higher than the current actual charge fraction of the EV.

Including @jorisberkhout @dennisschoenmakers

Closing.


Search Multisig to modify govenrance --> button disabled

When modifying an existing DAO's governance, the 'create azorious deployment proposal' button doesn't work.
I tried on both metamask and CB wallet and on two different DAOs.
Video on slack here -
and DAO link here - https://deploy-preview-1578.app.dev.fractalframework.xyz/edit/governance?dao=sep:0xf0415067c0a385146C3CCB45f5E92a8530065C38

I haven't been able to replicate this issue. But I did find that the advanced option for nonce isn't available here and we should properly add it.

good call. Lets create an issue for it and p2 it

Coolio, add issue #1844

@Da-Colon - I was able to modify governance last time I tried this. Going to move it back into backlog

@tomstuart123 i'm just going to close this, please re-open it if you're able to reproduce


[JetBrains] Plugin version badge

It should be look like:

I don't have a node.js local environment. If test fail please do tell me.

Related issue #1162

Why do the tests fail? I think the production code and test code for version is nearly the same as download, but why it fails...

@platan What about the newest version?

fixed: download -> version
fixed: d -> v

Build results can be found here https://travis-ci.org/badges/shields/jobs/287207493.
This test failed: 1) JetBrains plugin/version missing required XML attribute(v)
Version is in a separate element, so you do not this test for missing downloads attribute.

CI check done. Please check and merge. Maybe you need squash and merge? :wink:

squash and merge? :wink:

Yeah, nice!!

Also, thanks for your reviewing @platan, much appreciated!

https://img.shields.io/jetbrains/plugin/v/9630-a8translate.svg
Hmm, seems 404. @paulmelnikow How long will it take to see it work?

Until the next deploy. Shouldn't be too long, though it's entirely outside my control so I don't have a specific ETA.
You could keep an eye on this to see when it happens: https://github.com/badges/shields/tree/gh-pages

Thank you! @paulmelnikow :+1:

@paulmelnikow Sorry for bothering but I forgot to add this badge to the front page. Can you do it for me? :cry:

Ah, shoot, sorry I missed that. Feel free to open another PR.


If nats doen't answer - the panini becomes idle

It doesn't finish the application and also it doesn't tries to reconnect to nats
I suggest we could create optional possibilities to specify number of attempts to reconnect and timeout between reconnections

For now you need to set error_cb to manage it. We may consider shutting down the process if NATS connection lost.


Added credits to thank the contributors.

Added the names of the contributors to thank them.

Screenshot_20240504_080733_GitHub.png

It looks good to me

I can't seem to recreate this anywhere so I suggest you change your text art to a different style.


feat(#204): add checkout command

Fixes #204

Current dependencies on/for this PR:

main

PR #205   👈

This stack of pull requests is managed by Graphite.


Expose total memory and disk in state API

To make developing web interfaces and other clients easier, it would be good to grow a Total field in InstanceStateDisk and Total and SwapTotal in InstanceStateMemory.
@edlerd

Hi, @stgraber. I'm a complete beginner and would love to contribute. I've already done my homework which is building lxc from the source. I understand the requirement to display the "Total" allocated memory in  InstanceStateDisk and InstanceStateMemory.  I went through the code and usage is being populated here.
func (d *lxc) diskState() map[string]api.InstanceStateDisk {
	disk := map[string]api.InstanceStateDisk{}

	for _, dev := range d.expandedDevices.Sorted() {
		if dev.Config["type"] != "disk" {
			continue
		}

		var usage int64

		if dev.Config["path"] == "/" {
			pool, err := storagePools.LoadByInstance(d.state, d)
			if err != nil {
				d.logger.Error("Error loading storage pool", logger.Ctx{"err": err})
				continue
			}

			usage, err = pool.GetInstanceUsage(d)
			if err != nil {
				if !errors.Is(err, storageDrivers.ErrNotSupported) {
					d.logger.Error("Error getting disk usage", logger.Ctx{"err": err})
				}

				continue
			}
		} else if dev.Config["pool"] != "" {
			pool, err := storagePools.LoadByName(d.state, dev.Config["pool"])
			if err != nil {
				d.logger.Error("Error loading storage pool", logger.Ctx{"poolName": dev.Config["pool"], "err": err})
				continue
			}

			usage, err = pool.GetCustomVolumeUsage(d.Project().Name, dev.Config["source"])
			if err != nil {
				if !errors.Is(err, storageDrivers.ErrNotSupported) {
					d.logger.Error("Error getting volume usage", logger.Ctx{"volume": dev.Config["source"], "err": err})
				}

				continue
			}
		} else {
			continue
		}

		disk[dev.Name] = api.InstanceStateDisk{Usage: usage}
	}

Can I get insights into the inner workings to come up with a solution? I've drilled down into the GetCustomVolumeUsage but don't quite understand it.

So this turns out to be slightly more involved than I expected. I was hoping we could just lift the logic we're using for the metrics, but it's taking quite a few shortcuts for speed reasons which we shouldn't be taking for this API.
So instead, I suspect what we should do is:

Introduce a VolumeUsage struct in lxd/storage/
Modify GetVolumeUsage in lxd/stiorage/drivers to return that struct rather than the current int64
Update the callers of that function (GetInstanceUsage and GetCustomVolumeUsage) to similarly return that struct
Lastly update the instance logic to fill in the total field based on the struct we're getting

@tomponline does that sound good to you?

@stgraber so you're thinking a combined struct like this?
I've called it VolumeState rather than VolumeUsage as total size isn't usage and could be confusing.
Also this aligns with where it will be used in InstanceStateDisk.
VolumeState struct {
    Size int64
    Used int64
}

But other than that sounds good.

@Regis-Caelum this is assigned to @gabrielmougard at the moment unless he wants to relinquish?

no problem @Regis-Caelum you can work on it

So this turns out to be slightly more involved than I expected. I was hoping we could just lift the logic we're using for the metrics, but it's taking quite a few shortcuts for speed reasons which we shouldn't be taking for this API.
So instead, I suspect what we should do is:

Introduce a VolumeUsage struct in lxd/storage/
Modify GetVolumeUsage in lxd/storage/drivers to return that struct rather than the current int64
Update the callers of that function (GetInstanceUsage and GetCustomVolumeUsage) to similarly return that struct
Lastly update the instance logic to fill in the total field based on the struct we're getting

@tomponline does that sound good to you?

I want to try to tackle this issue as a way of exploring the code. I'm new to this project and trying to contribute to the changes discussed in the thread. I have gone through the pointers mentioned and believe I understand what needs to be done, but I still have some doubts.
Firstly, I wanted to confirm where I should declare the VolumeUsage struct in the storage package. Additionally, I was wondering if using os.Stat() to get information about the file at the path specified by vol.MountPath() is the correct way to obtain the size of the volume.
Any help or guidance on these points would be greatly appreciated. Thank you in advance for your patience and understanding as I learn the ropes here.:sweat_smile:

Any updates

So this turns out to be slightly more involved than I expected. I was hoping we could just lift the logic we're using for the metrics, but it's taking quite a few shortcuts for speed reasons which we shouldn't be taking for this API.
So instead, I suspect what we should do is:

Introduce a VolumeUsage struct in lxd/storage/
Modify GetVolumeUsage in lxd/storage/drivers to return that struct rather than the current int64
Update the callers of that function (GetInstanceUsage and GetCustomVolumeUsage) to similarly return that struct
Lastly update the instance logic to fill in the total field based on the struct we're getting

@tomponline does that sound good to you?

I want to try to tackle this issue as a way of exploring the code. I'm new to this project and trying to contribute to the changes discussed in the thread. I have gone through the pointers mentioned and believe I understand what needs to be done, but I still have some doubts.
Firstly, I wanted to confirm where I should declare the VolumeUsage struct in the storage package. Additionally, I was wondering if using os.Stat() to get information about the file at the path specified by vol.MountPath() is the correct way to obtain the size of the volume.
Any help or guidance on these points would be greatly appreciated. Thank you in advance for your patience and understanding as I learn the ropes here.sweat_smile

Just a friendly reminder

Hey, Is this issue active?

Hi, yes, sorry for the delay, we are working on roadmap items currently, so will get back to you ASAP. Thanks


New package: pseymour.MakeMeAdmin version 2.3.81

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?
[X] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.5 schema?

Microsoft Reviewers: Open in CodeFlow

@stephengillie do you need any proof or is the metadata enough? I know the release method is weird but thats the way they have done it 🤷

@wingetbot waivers Add Validation-Domain


fix: Add locale to activate french translation for DatePicker component

SUMMARY
Adding french translation for DatePicker component
ADDITIONAL INFORMATION
fix https://github.com/apache/superset/issues/20062

Hello @zhaoyongjie, just to know if you got time to check on my changes

@aehanno Sorry for the waiting. I will review PR tomorrow. Thanks for your patience.

Hi @zhaoyongjie any news on this PR ?

Hi @zhaoyongjie is it possible to review this PR ? Thank you !

triggering CI

Hi @nyta we pushed a correction, is it possible trigger CI ?

Hi @mathieudruart, Thank you for the patient. I have pushed a branch to the repo base on your current branch, you should just 1) rebase the master branch 2) cheery-pick the latest commit to this for unblocking the CI.


[Feature/Improvement] Delete an expense

Purpose: As a user, I would like to be able to delete an expense.
More details:
A past expense can be deleted from the database.
Acceptance Criteria:

A user can delete a past expense.

Closed in #11


Release v0.8.1

Codecov Report

Merging #399 into master will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #399      +/-   ##
==========================================
+ Coverage   82.49%   82.54%   +0.04%
==========================================
  Files          86       86
  Lines        4353     4353
  Branches      804      804
==========================================
+ Hits         3591     3593       +2
+ Misses        572      571       -1
+ Partials      190      189       -1

Flag
Coverage Δ

#unittests
82.54% <100.00%> (+0.04%)
:arrow_up:

Impacted Files
Coverage Δ

src/fonduer/_version.py
100.00% <100.00%> (ø)

src/fonduer/candidates/models/span_mention.py
77.45% <0.00%> (+1.96%)
:arrow_up:


Multi-level router can't use empty path (eg. get.("") )

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
# main.py

from fastapi import FastAPI, APIRouter
from .child import child_router

app = FastAPI()

router = APIRouter()
router.include_router(child_router, prefix='/foo')

app.include_router(router, prefix='/api/v1', include_in_schema=True)

# .child/__init__.py
from fastapi import APIRouter

from .grandchild import grandchild_router

child_router = APIRouter()
child_router.include_router(grandchild_router)

# ..grandchild/__init__.py
from fastapi import APIRouter

grandchild_router = APIRouter()

@grandchild_router.get('')
def test():
    return 'bar'

Description
I currently have something similar setup as the example code.  main_router > child_router > grandchild_router.  I am setting a prefix on the child router level (during the include_router call).  When I set the prefix on the child level, I cannot use an empty path on the grandchild level router.
If I do, I got the following error:
Exception: Prefix and path cannot be both empty (path operation: test)
My file structure looks like this.
project
│   main.py (main_router)
└───child
│   │   __init__.py (child_router)
│   └───grandchild
│       │    __init__.py (grandchild_router)

### Operating System

macOS

### Operating System Details

_No response_

### FastAPI Version

0.75.0

### Python Version

Python 3.9.10

### Additional Context

_No response_

Looks like routers are meant to be in a tree structure, child routers having a path inside.
This is related to the check on this line. As there is no lookup tree, and routers are really just combined into a big routing list I would say checking in the original route + prefix if that the router actually has an empty route first, should be easy and would relieve this situation. (Another option is checking if a route with the path exists in the APIRouter.add_api_route, but this is open to all kinds of trouble - i.e. what is there are two identical paths where only variable names are different.)

I've also just run into this issue and had to settle for having a trailing slash on the child route.

I've ended up with this function, which I apply to the route router after adding all the child routers:
from typing import TypeVar

from fastapi import FastAPI
from fastapi.routing import APIRoute, APIRouter

ParentT = TypeVar("ParentT", APIRouter, FastAPI)

def remove_trailing_slashes_from_routes(parent: ParentT) -> ParentT:
    "Removes trailing slashes from all routes in the given router"

    for route in parent.routes:
        if isinstance(route, APIRoute):
            route.path = route.path.rstrip("/")

    return parent


Task: Workers publish KeyIDs to the Redis settings config

What is the task about?
RSTUF has a database where the RSTUF global settings are saved.
The Workers should save and keep updated the online KeyIDs in this database to be used by different processes (Bootstrap, Key Rotation, etc)

Workers must publish the KeyIDs of online keys in the Redis settings config DB

Every time a worker starts to check from KEYVAULT, if the keys are still the same do nothing; otherwise, updates it in Redis
When a worker does an operation using the online key, check if the keyids are still the same. Otherwise, updates in Redis.

Parent feature

https://github.com/vmware/repository-service-tuf/issues/207

References
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

After discussing with @lukpueh and @MVrachev, we conclude that the online key keyid/public key is not required.
The online key must be loaded during the signing ceremony to generate the signed Root metadata.
If the key doesn't match the given online key to the RSTUF Worker, it will fail during the bootstrap process.
The worker no longer needs to maintain this information in the Redis.


inheriting from other config settings

this is not an issue that can be fixed, but perhaps documented instead.
rules and settings have a different way of merging,
see way of merging for settings here: https://github.com/eslint/eslint/blob/v6.4.0/lib/cli-engine/config-array/config-array.js#L238-L273
see mergeWithoutOverwrite(config.settings, element.settings);
this means that if you've defined json/json-with-comments-files: [ '**/tsconfig.json', '.vscode/**' ] in one config, inherit from that config and want to omit the json/json-with-comments-files setting, you can't just do json/json-with-comments-files: [] - you have to add the same amount of elements in the array to 'get rid of the globs' ...
this can get a little annoying, so I think it would be nice if this could be documented, just as a reminder, that settings aren't easily overwritten

@vincentbriglia wow, did not know that. PR to the readme or changes to source to accommodate your use case is welcome


Enable plan-preview in piped by default

What this PR does / why we need it:
Although PlanPreview feature is currently under alpha status, there are some reasons I think we should enable it in Piped by default:

that helps our users seamlessly start using this new feature without adding any new flag while upgrading their Piped
until actual plan-preview commands are requested, plan-preview component adds likely no significant impact to Piped performance or functionality

Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Agree with you.
/lgtm

Way to go
/approve


Arithmetic functions to verify tree integrity

It's easy not to provide a tree object to functions expecting a tree. We should give a nicer message.

Added in https://github.com/systemjs/builder/commit/8d975990a5a0fc252e398d69b18027cf57df3a29.

Released in 0.14.10.


rsync: Trigger a dummy build to check if origin PKGBUILD works fine.

Hi, this is a test for the CI script, please ignore my noise, I'll close the pull request once the test done, thanks!
It's a double check to confirm our CI scripts works for pull request, once it's confirmed, I'll submit pull request to update our CI scripts for MINGW-packages.

Ok, works as expect.
(BTW, it seems there is a bug for matrix build + drone-irc notify plugin, i'll report to Drone community)


The remote certificate is invalid according to the validation procedure. [/src/HotelReservationSystem/HotelReservationSystem.csproj

Hello, I was trying out this exercise to build the docker image locally and stumbled upon this issue.
[+] Building 2.7s (9/14)
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 44B                                                                                0.0s
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 2B                                                                                0.0s
=> [internal] load metadata for mcr.microsoft.com/dotnet/core/sdk:2.2                                                                        0.5s
=> [ 1/10] FROM mcr.microsoft.com/dotnet/core/sdk:2.2@sha256:42699bba2fe4545dd753694499e6db08478ba5b3bcc34b929e7e324d4c115449                0.0s
=> [internal] load build context                                                                                0.0s
=> => transferring context: 1.20kB                                                                                0.0s
=> CACHED [ 2/10] WORKDIR /src                                                                                0.0s
=> CACHED [ 3/10] COPY [HotelReservationSystem/HotelReservationSystem.csproj, HotelReservationSystem/]                                       0.0s
=> CACHED [ 4/10] COPY [HotelReservationSystemTypes/HotelReservationSystemTypes.csproj, HotelReservationSystemTypes/]                        0.0s
=> ERROR [ 5/10] RUN dotnet restore "HotelReservationSystem/HotelReservationSystem.csproj"                                                   2.1s

[ 5/10] RUN dotnet restore "HotelReservationSystem/HotelReservationSystem.csproj":
#9 2.055 /usr/share/dotnet/sdk/2.2.207/NuGet.targets(119,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/src/HotelReservationSystem/HotelReservationSystem.csproj]
#9 2.055 /usr/share/dotnet/sdk/2.2.207/NuGet.targets(119,5): error :   The SSL connection could not be established, see inner exception. [/src/HotelReservationSystem/HotelReservationSystem.csproj]
#9 2.055 /usr/share/dotnet/sdk/2.2.207/NuGet.targets(119,5): error :   The remote certificate is invalid according to the validation procedure. [/src/HotelReservationSystem/HotelReservationSystem.csproj]

executor failed running [/bin/sh -c dotnet restore "HotelReservationSystem/HotelReservationSystem.csproj"]: exit code: 1
I am wondering is there an issue with NuGet pkgs?
OS: MacOS Catalina
Docker Version: Docker Desktop v3.1
Steps to reproduce: Clone the repo, cd /mslearn-hotel-reservation-system/src
Write the dockerfile as https://docs.microsoft.com/en-us/learn/modules/intro-to-containers/5-exercise-create-custom-docker-image mentioned.
and then issue a docker build cmd.

It has been fixed now.


Peer's port 80 and 443 blocked after updating client from 0.29.4 to 0.30.0

Describe the problem
I run a self hosted netbird setup. On one of the peers, I run a traefik instance with a few webservices. After updating this peer's netbird client from 0.29.4 to 0.30.0, I'm unable to connect to its port 80 and 443 from other peers.
Everything else, including ping and ssh to it works. Port 80 and 443 also start accepting connections immediately if I downgrade the netbird client back to 0.29.4 – and stops working immediately if I update to 0.30.0.
To Reproduce

Run sudo apt-get install netbird=0.30.0 to update the netbird client.
Verify the ports are being listened on the defective netbird peer

user@defective-peer:~$ ss -tuln | grep -E '(:80|:443)'
tcp   LISTEN 0      4096         <IP_ADDRESS>:80         <IP_ADDRESS>:*
tcp   LISTEN 0      4096         <IP_ADDRESS>:443        <IP_ADDRESS>:*
tcp   LISTEN 0      4096   <IP_ADDRESS>:44338      <IP_ADDRESS>:*
tcp   LISTEN 0      4096            [::]:80            [::]:*
tcp   LISTEN 0      4096            [::]:443           [::]:*

user@defective-peer:~$ nmap -p- <IP_ADDRESS>
Starting Nmap 7.93 ( https://nmap.org ) at 2024-10-06 20:05 IST
Nmap scan report for <IP_ADDRESS>
Host is up (0.000059s latency).
Not shown: 65529 closed tcp ports (conn-refused)
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
443/tcp   open  https
631/tcp   open  ipp
41981/tcp open  unknown
52874/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.85 seconds

Try to reach the defective peer from a different peer. Ports 80 and 443 seem to be filtered. There are no firewalls on the defective peer or anywhere on the network which could be blocking these other than netbird itself.

user@different-peer:~$ nmap -Pn -p- --reason defective-peer.netbird.selfhosted
Starting Nmap 7.95 ( https://nmap.org ) at 2024-10-06 20:17 IST
Nmap scan report for defective-peer.netbird.selfhosted (<IP_ADDRESS>)
Host is up, received user-set (0.0035s latency).
Not shown: 65531 closed tcp ports (conn-refused)
PORT      STATE    SERVICE REASON
22/tcp    open     ssh     syn-ack
80/tcp    filtered http    no-response
443/tcp   filtered https   no-response
44338/tcp open     unknown syn-ack

Nmap done: 1 IP address (1 host up) scanned in 49.06 seconds

Downgrade netbird client on the defective peer with sudo apt-get install netbird=0.29.0 and verify outputs from step 2 haven't changed.
Try to nmap the defective peer from a different peer again. It starts responding to ports 80 and 443.

user@different-peer:~$ nmap -Pn -p- --reason defective-peer.netbird.selfhosted
Starting Nmap 7.95 ( https://nmap.org ) at 2024-10-06 20:34 IST
Nmap scan report for yukino-100.netbird.selfhosted (<IP_ADDRESS>)
Host is up, received user-set (0.29s latency).
Not shown: 65531 closed tcp ports (conn-refused)
PORT      STATE SERVICE REASON
22/tcp    open  ssh     syn-ack
80/tcp    open  http    syn-ack
443/tcp   open  https   syn-ack
44338/tcp open  unknown syn-ack

Nmap done: 1 IP address (1 host up) scanned in 4096.96 seconds

Expected behavior
There shouldn't be any difference in reaching port 80 and 443, after updating to 0.30.0.
Are you using NetBird Cloud?
No. I'm self-hosting the Netbird control plane on a Hetzner VPS.
NetBird version
0.30.0
NetBird status -dA output:
user@defective-peer:~$ netbird status -dA

 different-peer.netbird.selfhosted:
  NetBird IP: <IP_ADDRESS>
  Public key: QRedactedBOw6/xKAuuht55kDxmK56LFXYSldKqb1CI=
  Status: Connected
  -- detail --
  Connection type: P2P
  ICE candidate (Local/Remote): srflx/host
  ICE candidate endpoints (Local/Remote): <IP_ADDRESS>:40320/<IP_ADDRESS>:51820
  Relay server address: rels://netbird.anon-ERw0W.domain:443/relay
  Last connection update: 34 minutes, 33 seconds ago
  Last WireGuard handshake: 27 seconds ago
  Transfer status (received/sent) 19.8 MiB/16.4 MiB
  Quantum resistance: false
  Routes: -
  Latency: 3.032567ms

OS: linux/amd64
Daemon version: 0.30.0
CLI version: 0.30.0
Management: Connected to https://netbird.anon-ERw0W.domain:443
Signal: Connected to https://netbird.anon-ERw0W.domain:443
Relays:
  [stun:netbird.anon-ERw0W.domain:3478] is Unavailable, reason: stun request: context deadline exceeded
  [turn:netbird.anon-ERw0W.domain:3478?transport=udp] is Available
  [rels://netbird.anon-ERw0W.domain:443/relay] is Available
Nameservers:
FQDN: defective-peer.netbird.selfhosted
NetBird IP: <IP_ADDRESS>/16
Interface type: Kernel
Quantum resistance: false
Routes: -
Peers count: 4/4 Connected // Removed all but the peer I am trying to connect from

Additional context
I've tried running this with the control plane and the other non-defective peer running at both 0.29.4 and 0.30.0. It doesn't seem to make a difference.

Exactly the same issue here. OP, are those services that fail behind Docker?
In my case: Netbird client for Unraid auto-updated to 0.30; instantaneously all of my Docker services became unreachable from any other Netbird host (from Unraid they're reachable on the Netbird IP). Unraid services other than Docker seem reachable (ssh, http).
Downgrading to netbirdio/netbird:0.29.4 fixes the issue.

I have seen this upon upgrading to 0.30.0 also.
As above, for me the filtered ports are docker port forwards, and all ports >22 are in filtered state.

Here's the netbird nft table output from two of my hosts, the first on 0.29.4 and the second on 0.30.0. They are somewhat different. I'm still poking around but thought it might be useful information and prompt something for those who know the internals more:
table ip netbird {
	set nb0000001 {
		type ipv4_addr
		flags dynamic
		elements = { <IP_ADDRESS> }
	}

	set nb0000002 {
		type ipv4_addr
		flags dynamic
		elements = { <IP_ADDRESS> }
	}

	chain netbird-rt-fwd {
	}

	chain netbird-rt-nat {
		type nat hook postrouting priority srcnat - 1; policy accept;
		oifname "lo" return
	}

	chain netbird-acl-input-rules {
		iifname "wt0" accept
	}

	chain netbird-acl-output-rules {
		oifname "wt0" accept
	}

	chain netbird-acl-input-filter {
		type filter hook input priority filter; policy accept;
		iifname "wt0" ip saddr <IP_ADDRESS>/16 ip daddr != <IP_ADDRESS>/16 accept
		iifname "wt0" ip saddr != <IP_ADDRESS>/16 ip daddr <IP_ADDRESS>/16 accept
		iifname "wt0" ip saddr <IP_ADDRESS>/16 ip daddr <IP_ADDRESS>/16 jump netbird-acl-input-rules
		iifname "wt0" drop
	}

	chain netbird-acl-output-filter {
		type filter hook output priority filter; policy accept;
		oifname "wt0" ip saddr != <IP_ADDRESS>/16 ip daddr <IP_ADDRESS>/16 accept
		oifname "wt0" ip saddr <IP_ADDRESS>/16 ip daddr != <IP_ADDRESS>/16 accept
		oifname "wt0" ip saddr <IP_ADDRESS>/16 ip daddr <IP_ADDRESS>/16 jump netbird-acl-output-rules
		oifname "wt0" drop
	}

	chain netbird-acl-forward-filter {
		type filter hook forward priority filter; policy accept;
		iifname "wt0" jump netbird-rt-fwd
		oifname "wt0" jump netbird-rt-fwd
		iifname "wt0" meta mark 0x000007e4 accept
		oifname "wt0" meta mark 0x000007e4 accept
		iifname "wt0" jump netbird-acl-input-rules
		iifname "wt0" drop
	}

	chain netbird-acl-prerouting-filter {
		type filter hook prerouting priority mangle; policy accept;
		iifname "wt0" ip saddr != <IP_ADDRESS>/16 ip daddr <IP_ADDRESS> meta mark set 0x000007e4
	}
}

table ip netbird {
	set nb0000001 {
		type ipv4_addr
		flags dynamic
		elements = { <IP_ADDRESS> }
	}

	set nb0000002 {
		type ipv4_addr
		flags dynamic
		elements = { <IP_ADDRESS> }
	}

	chain netbird-rt-fwd {
		ct state established,related accept
	}

	chain netbird-rt-nat {
		type nat hook postrouting priority srcnat - 1; policy accept;
	}

	chain netbird-acl-input-rules {
		ct state established,related accept
		accept
	}

	chain netbird-acl-output-rules {
		ct state established,related accept
		accept
	}

	chain netbird-acl-input-filter {
		type filter hook input priority filter; policy accept;
		iifname "wt0" jump netbird-acl-input-rules
		iifname "wt0" drop
	}

	chain netbird-acl-output-filter {
		type filter hook output priority filter; policy accept;
		oifname "wt0" ip daddr != <IP_ADDRESS>/16 accept
		oifname "wt0" jump netbird-acl-output-rules
		oifname "wt0" drop
	}

	chain netbird-acl-forward-filter {
		type filter hook forward priority filter; policy accept;
		iifname "wt0" jump netbird-rt-fwd
		iifname "wt0" drop
	}
}

Exactly the same issue here. OP, are those services that fail behind Docker?

Yes, traefik is running in a docker container, listening on port 80 and 443.
The rest of my services are also behind docker, and are reverse proxied to by traefik. They aren't accessible either since the connections never reach traefik in the first place.

I'd also like to add here, that the nft rules break iptables compatibility, which in turn breaks podman:
user@host:~$ sudo systemctl start netbird.service
user@host:~$ sudo iptables -S
iptables v1.8.10 (nf_tables): table `filter' is incompatible, use 'nft' tool.
user@host:~$ sudo systemctl stop netbird.service
user@host:~$ sudo iptables -S
-P INPUT DROP
-P FORWARD DROP

Hello @IKA3RUS and everyone else did you refer to Doc ACL pre/post 0.30 ?

@Dr-Shadow Yes, this is definitely because of that.
I modified the nft rules and it started working again.

I don't really understand how this ACL change makes sense, as docker networks on most deployed systems have their IPs assigned from a pool.
So there's no way to achieve the behavior they describe in the doc except for adding every private IP as routable for every single client that has bridge networks.
Out of the box, docker bridge network forwarding doesn't require any extra configuration at all because it is designed that way: Reachable by default, with forwarding and masquearding configured by docker itself.
Trying to patronize docker's decision from a perspective of a VPN client seems odd, especially because you can't easily revert this and there is no documentation on netbirds side concerning how to handle theses cases except for "Just route it™".
Also this probably doesn't work in general for netbird instances that run dockerized in host mode.
(Actually it does not, because their mentioned solution works on my machine that has netbird directly installed, adding the same routes fails on all other machines that run in docker host network mode).
What I'm trying to say is that this completely and utterly breaks a: "install netbird, connect two peers and you have a working VPN connection" and instead introduces a rabbit hole that requires every person that is not super well versed in configuring routes & forwards to spend enormous amounts of time to then end up not being able to fix this after all (because it is not fixable with the netbird configuration options alone) for something that is supposed to work out of the box.
I would much prefer an option to allow ct state NEW connections for each peer instead of this new behavior, which I consider a limitation instead of a feature.

It seems we have some settings to do in the ACL before going 0.30.

With the current state fo implementation, I'm not really sure what settings I would change in ACL to make this work properly ever again without replacing netbird with vanilla wireguard and doing the ACL myself, because modifying the nftables rules for every machine isn't feasible from a maintainability standpoint.

Oh I understand why it is currently affecting your setups and not mine after a quick test upgrading on 0.30. I'm not running dockerized netbird client, my netbird instances are running directly on host.

Yep exactly!
If you run netbird on the host and don't have any bridge networks, the issue doesn't show up.
Basically the temporary workaround is to override this behavior:
Post-0.30.0: Peer A only accepts return traffic for connections it initiates to the Routed Network through Peer B.
by setting:
nft replace rule ip netbird netbird-rt-fwd handle 6 ct state new,related,established accept
nft replace rule ip netbird netbird-acl-output-rules handle 11 ct state new,related,established accept
nft replace rule ip netbird netbird-acl-input-rules handle 9 ct state new,related,established accept

My plea to the netbird team would be that if the current behavior stays without any changes, an option to set this in some way for groups via ACL is added or anything other option that enables the possibility to restore the pre 0.29.x permissive behavior.

I'd have to agree with @Spiritreader i don't quite understand this change without some sort of config option or workaround.
If I have a bunch of servers running docker with the default bridge networking, and NetBird running on those hosts.
Am I expected to set up many duplicate very fine grained routes for dynamic pools of private ips for distribution to very small client groups?
What if I want one NetBird client to access two separate other clients which run docker with overlapping private ranges?
This seems like a huge amount of potentially impossible route config where previously there was no network route config required at all?

After downgrading, everything is back to working now whereas before I was seeing the exact same behavior others have noted here - unable to connect to services on servers over the Netbird network.

Could this be related to this PR https://github.com/netbirdio/netbird/pull/2705

All service run on the docker bridge network can not be accessed by Netbird IP

We are working on a fix for deployments with docker host.
As a workaround for the moment, you can add a route to the docker local subnet and link that network route to the peer. This will add the necessary rules for this to work.

We are working on a fix for deployments with docker host. As a workaround for the moment, you can add a route to the docker local subnet and link that network route to the peer. This will add the necessary rules for this to work.

That works on the peers that have netbird installed directly on the peer, but not on those that run netbird itself as docker container with network_mode: host
I also have around 40 docker subnets on some of my machines that all change on reboot, so my suggestion would be to downgrade to 0.24 instead of attempting to fix it it via the work around.

hi there; can you please update to and try our latest release v0.30.1 ?

hi there; can you please update to and try our latest release v0.30.1 ?

Good news!
 However, after downgrading to version 0.29.4, the problem is resolved. I am still unsure about the solution to fix this issue without downgrading to version 0.29.4

Same here, this is not fixed. I'm stuck on 0.29.4 for my services. Running dockerized NetBird.

still problem in version 0.35.1


Added object patch subcommands

This closes #32, if #67 is also merged. Opened in new PR because rebasing is hell.

It says it closes #32, but #32 is still open. Which PR should we review?

@diasdavid not #32. That's a wontfix. Review this and #67.


annotator for pubchem

@DominikMartinat would take care of this.

@DominikMartinat @YojanaGadiya
We have the annotator in place :)
Thank you


Logging configuration

We use Octopus to deploy unicorn via Powershell and it takes a very long time. I think part of the issue is the verbose logs as it's 1000s of lines. I can't find any documentation about how to reduce this and only show warnings and errors in output. Does this ability exist? We are using Unicorn 3.3.0-RC3. Thanks.

You have thousands of changes on every deploy? Are you wiping environments up from scratch or something? :)
The automated tool method does not currently support log levels. You could implement something similar to the log leveling in: https://github.com/kamsar/Unicorn/blob/master/src/Unicorn/Logging/WebConsoleLogger.cs
Then implement it in the automated tool console:
https://github.com/kamsar/Unicorn/blob/master/src/Unicorn/ControlPanel/UnicornStringConsole.cs
And hook it to a query param to set the verbosity, in https://github.com/kamsar/Unicorn/blob/master/src/Unicorn/ControlPanel/Responses/WebConsoleResponse.cs

OK thanks, I may look at this as logging is too verbose, it's all Debug messages etc. Yes we build from scratch every time and follow Continuous Delivery principles. Once in production we will switch to deltas.
I did find some code already that checks QueryString for log. I modified powershell to send log=warning and it seems to have reduced output, although strangely still getting some debug messages.


Handle byte order marks in CSV data

Handle cases where CSV files have a byte order mark, which appears to be the case with the NYC ferry GTFS feed. There is a discussion of handling this case in Go here.

Interesting find! Thanks for the fix!


Enable variable substitution on individual objects

We can disable variable substitution on a particular object by setting the annotation kustomize.toolkit.fluxcd.io/substitute: disabled. However, I'd like to see the inverse of this, which means that I want to opt-in for variable substitution on particular objects - since I rarely substitute, and prefer the explicit annotation.
Use case
I store Grafana dashboard JSON files and Bash shell scripts in my Flux repo which I generate into ConfigMaps using configMapGenerator. Flux will then replace all variables, no matter if they are set or not.
Thus, the following shell script:
NAME="world"
echo "Hello ${NAME}!"

... will become:
NAME="world"
echo "Hello !"

The Kustomize ConfigMap generator allows you to set annotations on the generated objects, so you can set it once for all configs.


CI: remove apt-get package installation

remove the apt-get package installation needed to compile Rubies now
that we use setup-ruby

let's see how many of these we actually need. maybe we get lucky and we don't need any...


Fix broken link

Fixes #4305

@mstanleyjones don't forget that for UCP and DTR we're doing versioning by copy-pasting 😥
If we use an absolute path, once we start working on the next version, we would have to comb all the articles and fix their links.