Can not get storage account access key

I post a creation of a server blob auditing policy as:
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{resourcegp}/providers/Microsoft.Sql/servers/{sqlServer}/auditingSettings/default?api-version=2017-03-01-preview

body:
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "XXXX",
"storageEndpoint": "https://XX.blob.core.windows.net"
}
}
get 202 Accepted

I get this server blob auditing policy as belows, the storage_account_access_key is empty if I get its attribute,should it be empty? Could I get storage_account_access_key?
{
"properties": {
"state": "Enabled",
"storageEndpoint": "XX",
"retentionDays": 0,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"isAzureMonitorTargetEnabled": false
},
"id": "XX",
"name": "Default",
"type": "Microsoft.Sql/servers/auditingSettings"
}

Looks like this relates to the feature request linked in 2217, so I'm going to close this issue as tracked there. Definitely upvote if you are interested.


Add Krzana bot to list of crawlers

Description
UA "Krzana bot" is currently not listed in crawlers-user-agents.data.
It should be added.
More infos about this bot: https://krzana.com/

Closing this after PR #2432


Possible breaking change in 2.8.0

So I updated from 2.7 to 2.8 and things stopped working:
Unhandled Exception: System.TypeLoadException: Could not load type 'CommandDotNet.IoCExtension' from assembly 'CommandDotNet, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.
   at CommandDotNet.IoC.MicrosoftDependencyInjection.Extension.UseMicrosoftDependencyInjection[T](AppRunner`1 appRunner, IServiceProvider serviceProvider)
   at MyAssembly.Bootstrap()
   at MyAssembly.Main(String[] args)

It seems that this commit has changed UseDependencyResolver definition from being an extension method to an instance method of object AppRunner.
The class IoCExtension where the extension method was defined no longer exist, which breaks other nugets depending on its existence like CommandDotNet.IoC.MicrosoftDependencyInjection

An easy workaround is to change
new AppRunner<App>().UseMicrosoftDependencyInjection(serviceProvider);

to
new AppRunner<App>().UseDependencyResolver(new MicrosoftDependencyInjectionResolver(serviceProvider))

I forgot about that nuget package.  I'll revert the change and push another package to restore the behavior.  Thanks for the heads-up @disklosr

https://www.nuget.org/packages/CommandDotNet/2.8.1

@bilal-fazlani can you remove the 2.8.0 package to prevent anyone from grabbing that package?

Great! Thanks for addressing this issue.

2.8.0 removed from nuget.
For any breaking changes, let's increment major version to 3.x.x

Agreed.  I'm avoiding them at all costs.  This one snuck past me.

And thanks for removing that.


Updated SHOW CLUSTER SETTINGS output on SHOW CLUSTER SETTING, SET CLUSTER SETTING, and RESET CLUSTER SETTING pages for v21.2

This change is


Remove EngineTimeSlot

It looks like this wrapper got created but never used.
It does not provide much value over the proto values directly,
so I am just going to delete it.
This also fixes the typing which incorrectly says that the
schedule is returned as a EngineTimeSlot, but it is actually a
QuantumTimeSlot.

While technically a breaking change, it would be quite surprising
if anyone is dependent on this wrapper class, as it has never been used
anywhere.
BREAKING CHANGE=Removed EngineTimeSlot without deprecation, (minimal to no usage).

hello from cc land. Looks fine, although I agree this should be labeled with breaking change

Automerge cancelled: A status check is failing.

this actually broke a utility in recirq :facepalm:

https://github.com/quantumlib/ReCirq/pull/140


Update allthedoll's slide caption

This PR updates the caption for @allthedoll's slide.

[x] Allthedoll's slide

[x] Item 1
[x] Item 2
[x] Item 3

[x] Stuff and things

[x] Stuff
[x] Things

#2

🦄


How to cleanly extract single bit in pcode

I'm trying to implement the TRFSR fcbit instruction for the V850E2 architecure, see manual page 398.
It extracts a bit from the FPSR register, and puts it in the zero flag. The 3 bit fcbit defines the offset in the FPSR register, starting at 24 (fcbit=0). A usual pattern is a floating point compare (which puts its result in FPSR), followed by TRFSR, and then branch instruction.
Example code:
  0007168a f0 67     cmpf.s LT,r12,r16,0x1
           22 64
  0007168e e0 07     trfsr  0x1
           02 04
  00071692 ea 05     bne    LAB_0007169e

If I implement instruction as follows, the decompilation looks really ugly:
:trfsr fcbit is op1115=0 & op0510=0x3F & op0004=0; op2731=0 & op2126=0b100000 & op2020=0 & fcbit & op1616=0 {
  local tmp:4 = FPSR >> (fcbit:1 + 24:1);
  $(Z) = (tmp != 0);
}

Decompilation:
    in_FPSR = in_FPSR & 0xfdffffff | (uint)(fVar3 < fVar8) << 0x19;
    if (in_FPSR >> 0x19 == 0) goto LAB_0007169e;

However, if I hardcode the 8 possible TRFSR instructions like:
:trfsr1 is op1115=0 & op0510=0x3F & op0004=0; op2731=0 & op2126=0b100000 & op2020=0 & fcbit=1 & op1616=0 {
  $(Z) = FPSR[25,1];
}

The decompilation looks as expected:
if (fVar3 < fVar8) {
<code from LAB_0007169e>
}

How can I achieve the nice decompilation without hardcoding all the possibilities? I need to do the same for other instructions, where copy pasting the instruction 8 times will create a huge mess.

Found the issue. The correct pcode is:


Enforce models

enforces openai models instead of using strings

I like the idea to separate the models (Chat, Embeddings, TTS, 'DallEetc.). But if we want to enforce the models on the resources (ie.ChatCompletionParameters) it will be more difficult to add a custom model + we'll have to list all possible models (in case anyone wants to use a legacy model or a newer version if it's not yet added to the list). What do you think of keeping the separation of models but to keep pub model: String` on the resources?

That makes sense to me, especially with fine-tune models for gpt-3 pricing coming down ppl might really use it haha, will update

I have added this to #26. Kept the model names configurable as String (Enum model names is optional).

good to go!


Browsers have already implemented a Clipboard API

In the following code, it looks like you're implementing a custom copy function when it would be more sustainable and effective to use the built-in Navigator Clipboard API (with a polyfill when needed):
https://github.com/magnificode/Rebuild-Black-Business-Markup-Generator/blob/ba56dd152d51977403e8ea5c377bc69a858414e5/src/pages/index.js#L11-L19
clipboard-polyfill on npm

Natively in the browser, you can do:
function handleClick() {
  navigator.clipboard.writeText('yee 👍')
}


Update GCE Getting Started project to build directly from base repo.

Previously the getting started java workflow required cloning into a personal source repo and uploading a jar to storage.
This change enables removing both those dependencies, instead allowing the user to build and run the server directly from GoogleCloudPlatform/getting-started-java from Cloud Shell.

Confirmed Java 11 and installing Maven through apt both work on GCE.

Confirmed Java 11 and installing Maven through apt both work on GCE.

Can we edit the script to use apt to install maven then? Or is there a reason why we are installing manually (if so, can we add it in a comment for posterity)?

Confirmed Java 11 and installing Maven through apt both work on GCE.

Can we edit the script to use apt to install maven then? Or is there a reason why we are installing manually (if so, can we add it in a comment for posterity)?

Yep, thought I did - my mistake. Updated.


Separate out new principals from ones that have not been used for 90 days in the IAM report

A simple way of doing this is adding the following to https://github.com/duo-labs/cloudmapper/blob/4f5ec6f6eaffdef4c8d14a628215747b548fbc2d/commands/iam_report.py#L104
created = datetime.datetime.strptime(principal_auth["CreateDate"][0:10], "%Y-%m-%d")
        principal_age = (job_completion_date - created).days

        if principal_age < args.max_age:
            stats["is_inactive"] = False

Also add those lines here:
https://github.com/duo-labs/cloudmapper/blob/4f5ec6f6eaffdef4c8d14a628215747b548fbc2d/shared/common.py#L404
with s/args.max_age/max_age/


[Improvement]: Unnecessary type casting when setting a required field in record

Description
Consider the fallowing code,
type R record {|
    int f;
|};

function foo() {
    R r = { f: 5 };
    r.f = 6;
}

Relevant section in BIR
R record {
    int f;
}
...
foo function() -> () {
    %0(RETURN) ();
    %1(LOCAL) R;
    %2(TEMP) typeDesc<any|error>;
    %4(TEMP) string;
    %5(TEMP) int;
    %6(TEMP) int|();

    bb0 {
        %2 = newType R;
        %4 = ConstLoad f;
        %5 = ConstLoad 5;
        %1 = NewMap %2{%4:%5};
        %5 = ConstLoad 6;
        %6 = <int|()> %5;
        %4 = ConstLoad f;
        %1[%4] = %6;
        %0 = ConstLoad 0;
        GOTO bb1;
    }
    bb1 {
        return;
    }
}

cast with %6 is not necessary
Describe your problem(s)
No response
Describe your solution(s)
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

As suspected, this seems to have been introduced when introducing changes to support using nil with to not set the field or remove the field.
import ballerina/io;

type Foo record {|
    int id?;
|};

public function main() {
    Foo r = {id: 5};
    io:println(r); // {"id":5}
    r.id = (); // removes `id`
    io:println(r); // {}
}

The check needs to be more specific.


Conflict with bevy?

❯ cargo check
error: failed to select a version for `wasm-bindgen`.
    ... required by package `wgpu v0.7.0`
    ... which satisfies dependency `wgpu = "^0.7"` of package `bevy_wgpu v0.5.0`
    ... which satisfies dependency `bevy_wgpu = "^0.5.0"` of package `bevy_internal v0.5.0`
    ... which satisfies dependency `bevy_internal = "=0.5.0"` of package `bevy v0.5.0`
    ... which satisfies dependency `bevy = "=0.5.0"` of package `bevy_prototype_lyon v0.3.1`
    ... which satisfies dependency `bevy_prototype_lyon = "=0.3.1"` of package `tp_client v3.0.0 (/home/ryan/Programming/tp/tp-platform/client)`
versions that meet the requirements `=0.2.69` are: 0.2.69

all possible versions conflict with previously selected packages.

  previously selected package `wasm-bindgen v0.2.72`
    ... which satisfies dependency `wasm-bindgen = "=0.2.72"` of package `bevy_app v0.5.0`
    ... which satisfies dependency `bevy_app = "=0.5.0"` of package `bevy_asset v0.5.1`
    ... which satisfies dependency `bevy_asset = "=0.5.1"` of package `bevy_audio v0.5.0`
    ... which satisfies dependency `bevy_audio = "^0.5.0"` of package `bevy_internal v0.5.0`
    ... which satisfies dependency `bevy_internal = "=0.5.0"` of package `bevy v0.5.0`
    ... which satisfies dependency `bevy = "=0.5.0"` of package `bevy_prototype_lyon v0.3.1`
    ... which satisfies dependency `bevy_prototype_lyon = "=0.3.1"` of package `tp_client v3.0.0 (/home/ryan/Programming/tp/tp-platform/client)`

failed to select a version for `wasm-bindgen` which could resolve this conflict

Cargo.toml:
[package]
name = "tp_client"
version = "3.0.0"
edition = "2021"
rust-version = "1.56"  # Rust 2021

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rand = "0.8"
eyre = "0.6"
arena = {path = "../datastructures/arena"}
typemap = "0.3"
crossbeam-channel = "0.5"

[dev-dependencies]
bevy_prototype_lyon = "0.3.1"
bevy = "0.5"

actually, this happens with just bevy = 0.5. Not sure why. closing.


grub installation: fix: simplify code

You should be able to get rid of the parens as well.

Thanks!


Request: Some chat integration

Hi, I would recomend something as /societies chat to talk in a private chat. I this topic shouldn't be here, warn me please. It's my first time using Git.

Marked for next version :D


Convert TestHost ResponseStream to use Pipes.

TestHost has always used an in-memory write-through buffer stream so that a test app could write to the response body and the test code could consume that data asynchronously. Basically this was pipes five years before pipes was a thing.  Now I've converted it over to pipes as a way of testing the pipes API and functionality and reducing the internal code complexity.
Open issues:
https://github.com/dotnet/corefx/issues/27732 - FlushAsync completes ReadAsync with no data
https://github.com/aspnet/BuildTools/issues/592 - ApiCheck can't handle the new Memory types.
Asymmetry - PipeWriter has a sync Write extension, but PipeReader does not have a sync Read extension.

Related question. Should the PipeReader and PipeWriter have a property that tells me if they're complete? Is the only test to call them and catch the exception?

Related question. Should the PipeReader and PipeWriter have a property that tells me if they're complete? Is the only test to call them and catch the exception?

That's not really the usage pattern and that in itself could be a bit racy. The ideal usage pattern is an async loop where there is a single reader and single writer. At the each of reading and writing you complete the appropriate side of the pipe.
In this case of wrapping a stream, you're acting on external method calls so it's your job to serialize those into the pipe itself. The _complete boolean would be used here to determine when the request is complete. If you don't want to throw, you need your own state (which you conveniently have 😄 )

I intentionally do not complete the reader when the request 'completes'. The test still needs to read from the body after the app finishes the request. I've added a complete in ReadAsync if it reports complete.

Microsoft.AspNetCore.TestHost.ClientHandlerTests.ClientCancellationAborts seems to be failing still.


Data Science with Python : Steps for Machine Learning "MLops "

Description 📜
A simple tutorial explaining what is DevOps, MLOps and how machine learning pipelines work.
Issue no: #5798

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Datascience with Python

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Changes done? @Sera001

Yes done! @prathimacode-hub

Thank you @prathimacode-hub


[BUG] app event coordinates returned with incorrect values when handling MouseWheel event in GlutWindow

When handling Event::MouseScroll in a GlutWindow, app::event_x()/app::event_y()/app::event_coords() are returning anomalous values.
Oddly,  calling these event coordinate functions inside other arms of the same widg.handle() match statement returns the expected results. Push, Drag, and KeyPress all return event coordinates as expected. Note that I have not tested all the different Event types for this issue.
I thought this might be a quirky FLTK feature at first, but haven't found any notes on such an issue in the FLTK docs. Additionally since the problem only occurs in a GlutWindow, I'm inclined to believe it is a bug.
OS: Windows 10
fltk = { version = "0.16", features = ["enable-glwindow"] }
speedy2d = { version = "1.0.7", git = "https://github.com/QuantumBadger/Speedy2D", default-features = true }
gl = "0.14"

use fltk::{
    app,
    enums::Event,
    prelude::{WidgetBase, WidgetExt, GroupExt, WindowExt},
    window::{GlutWindow, Window},
};
use speedy2d::GLRenderer;

fn main() {
    let app = app::App::default();
    let wind_size =  500;
    let mut main_win = Window::new(450,450,wind_size, wind_size, "");
    let mut win = GlutWindow::default().with_size(wind_size, wind_size).with_pos(0,0);
    win.end();
    main_win.end();
    main_win.show();
    win.make_current();

    gl::load_with(|s| win.get_proc_address(s));
    let mut renderer = unsafe { GLRenderer::new_for_current_context((wind_size as u32, wind_size as u32)) }.unwrap();

    let mut win_cl = win.clone();
    win.handle(Box::new(move |ev| match ev {
        Event::Push => {
            println!("Pushed");
            dbg!(app::event_x(), app::event_y());
            win_cl.redraw();

            true
        },
        Event::MouseWheel=>{
            println!("Scrolled");
            dbg!(app::event_x(), app::event_y());
            win_cl.redraw();
            false
        }
        _ => false,
    }));
    app.run().unwrap();
}

When performing a push, then a scroll in the exact same location, for me, the event coordinate functions are returning different locations.
Pushed
[src\main.rs:27] app::event_x() = 111
[src\main.rs:27] app::event_y() = 359
Scrolled
[src\main.rs:33] app::event_x() = -872
[src\main.rs:33] app::event_y() = -48

All the code you need to reproduce it is in here I believe, but I put it into this repo if that's helpful. Let me know if you can successfully reproduce.

Hi
Yeah I'm able to reproduce but only on Windows. On linux the example works fine.
I think FLTK doesn't accout for the x and y coords of embedded windows on Windows.
I'll recreate a repro in C++ this evening and report it.
For now you can use:
app::event_x_root() - main_win.x()
app::event_y_root() - main_win.y()
To get the required values.

Related issue, but not under exactly the same conditions:
If mouse wheels events occur in a de-selected window (selected another window, but hover over fltk window), the app::event_coords() are off in a similar fashion.
macOS, fltk 0.16.4

Related issue, but not under exactly the same conditions:
If mouse wheels events occur in a de-selected window (selected another window, but hover over fltk window), the app::event_coords() are off in a similar fashion.
macOS, fltk 0.16.4

It seems what you're describing also occurs on linux. FLTK considers the windows x, y coords as zero when getting the event_coords. However it seems consistent for all event types. The outlier being Windows in both issues.
// modified from above
use fltk::{app, group::*, window::*};

fn main() {
    let app = app::App::default();
    let mut main_win = Window::default().with_size(500, 500);
    let mut sub_win = Window::default().with_size(200, 200).center_of_parent();
    sub_win.set_frame(FrameType::FlatBox);
    sub_win.set_color(Color::Red);
    sub_win.end();
    main_win.end();
    main_win.show();

    sub_win.handle2(move |w, ev| match ev {
        Event::Push => {
            println!("Pushed");
            dbg!(app::event_coords());
            w.redraw();
            true
        },
        Event::MouseWheel=>{
            println!("Scrolled");
            dbg!(app::event_coords());
            w.redraw();
            false
        }
        _ => false,
    });
    app.run().unwrap();
}

If one changes the type of sub_win to Group, then it seems the event_coords are those of the main_win, but when sub_win is a Window, then it's all relative to it.
It seems to be a tricky problem. I haven't ventured into that part of FLTK's sources. I've reported the first issue, for this I'll probably ask for the intended behavior on the fltk general mailing list.

Not yet, but this is the tracker:
https://github.com/fltk/fltk/issues/210
They’re busy releasing version 1.3.6 from what I can gather.

FTR (just a clarification) @MoAlyousef wrote

If one changes the type of sub_win to Group, then it seems the event_coords are those of the main_win, but when sub_win is a Window, then it's all relative to it.

This is the correct and expected behavior in FLTK. All event coordinates are relative to the window they occur in which can be a subwindow of another window. If you change the inner (Fl_)Window to an (Fl_)Group, then the coordinates are relative to the outer window.
Note: Regarding the mousewheel coordinates (https://github.com/fltk/fltk/issues/210): this is still an open issue, needs to be investigated.

Note: Regarding the mousewheel coordinates (fltk/fltk#210): this is still an open issue, needs to be investigated.
The mouse wheel coordinate issue happens in macOs too, not only in windows (at least for fltk-rs, have not tested fltk)

The mouse wheel coordinate issue happens in macOs too, not only in windows (at least for fltk-rs, have not tested fltk)

Thanks @eadf, I'm investigating all three major platforms. It's in parts platform-dependent code which doesn't make it easier.

FTR: The underlying bug (fltk/fltk#210) has been fixed. I encourage @MoAlyousef to update fltk-rs and others to test...

Thanks for your effort @Albrecht-S. Unfortunately the issue still persists (tried with the latest master and both C++ and Rust). Looking at the code, I changed the part of the send_event() method:
static int send_event(int event, Fl_Widget* to, Fl_Window* window) {
  int dx, dy;
  int old_event = Fl::e_number;
- if (window) {
+ if (window && window->top_window() != window) {
    dx = window->x();
    dy = window->y();
  } else {
    dx = dy = 0;
  }
  for (const Fl_Widget* w = to; w; w = w->parent()) {
    if (w->type() >= FL_WINDOW) {
      dx -= w->x();
      dy -= w->y();
    }
  }
  int save_x = Fl::e_x; Fl::e_x += dx;
  int save_y = Fl::e_y; Fl::e_y += dy;
  int ret = to->handle(Fl::e_number = event);
  Fl::e_number = old_event;
  Fl::e_y = save_y;
  Fl::e_x = save_x;
  return ret;
}

Which seems to fix the issue, however I'm not sure if that touches other events in unknown ways.

@MoAlyousef Are you sure you pulled the changes and compiled everything? Please try again, if possible on a fresh checkout. If you used configure/make, run make clean or make distclean before you build FLTK. Unfortunately the dependencies are not always correct in a configure/make build, hence something may be missing in compilation (this is a known issue with configure/make). CMake builds are much more reliable.
That said, I posted a new test and demo program in https://github.com/fltk/fltk/issues/210#issuecomment-873059069. If you are sure you still find issues, please use this demo program and move over to the FLTK issue fltk/fltk#210 for further reports to avoid duplicate discussions. Once we ironed out all issues in FLTK you ought to be able to continue testing/debugging your fltk-rs apps (if this doesn't fix the fltk-rs issue).
If you still find issues with my FLTK/C++ demo program, please report on which platform and provide logs and test instructions. If you need other tests, please feel free to modify the test program and post it to our FLTK issue. Thanks.

Thanks @Albrecht-S, I was thrown off at first by the coordinates of the embedded window. But I can confirm the issue was resolved, and I've pulled the fix to fltk-rs. Thanks again.
A minimal repro with 1.0 syntax:
use fltk::{
    app,
    enums::{Color, Event},
    prelude::{GroupExt, WidgetBase, WidgetExt},
    window::Window,
};

fn main() {
    let app = app::App::default();
    let mut main_win = Window::default().with_size(500, 500);
    let mut win = Window::default().with_size(400, 400).center_of_parent();
    win.set_color(Color::White);
    win.end();
    main_win.end();
    main_win.show();

    win.handle(move |_, ev| match ev {
        Event::Push => {
            println!("Pushed at {}, {}", app::event_x(), app::event_y());
            true
        }
        Event::MouseWheel => {
            println!("Scrolled at {}, {}", app::event_x(), app::event_y());
            true
        }
        _ => false,
    });

    app.run().unwrap();
}

I'll close this issue here and keep the other one opened.


LiveData.merge

Implement merge operator for LiveData.
val merged: LiveData<T> =liveData1 merge liveData2

val merged: LiveData<T> = merge(liveData1, liveData2, ..., liveDataN)

Implemented: 567f65a


python3Packages.google_auth: 1.20.1 -> 1.22.1

Motivation for this change
Upgrades google_auth, fixes many Google Cloud packages. Will backport to 20.09 for ZHF.
https://hydra.nixos.org/build/127647323
Things done

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

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

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

As I figured it might, this package requiring an updated google_auth opens a whole can of worms. That said, it's almost entirely various google-cloud Python packages so doesn't seem insurmountable. I'll see if I can tackle it, but if there's a particular way such a process needs to go please let me know.

All right, worked through all the issues except a Tensorflow package that doesn't build on master anyways.

@jonringer @costrouc mind taking a look? Also now that 20.0 is released would I still backport this?

@jonringer @costrouc mind taking a look? Also now that 20.09 is released would I still backport this?

you may have to remove some "broken = true;", but yea. I'm fine with backporting non-major bumps. And if it doesn't cause regressions.

only one I'm concerned about is:
python3Packages.google_cloud_automl: 1.0.1 -> 2.0.0

@jonringer @costrouc mind taking a look? Also now that 20.09 is released would I still backport this?

you may have to remove some "broken = true;", but yea. I'm fine with backporting non-major bumps. And if it doesn't cause regressions.

Not sure what you mean. I didn't explicitly add any broken = true at least. This is probably my own lack of knowledge.

only one I'm concerned about backporting:
python3Packages.google_cloud_automl: 1.0.1 -> 2.0.0

Are you still evaluating or do you want me to look into if it's possible to keep this on 1.x?

Not sure what you mean. I didn't explicitly add any broken = true at least. This is probably my own lack of knowledge.

I did on release-20.09, as part of the release https://github.com/NixOS/nixpkgs/pull/101736

Are you still evaluating or do you want me to look into if it's possible to keep this on 1.x?

For backporting, I would prefer not to backport this, unless it's already broken

Are you still evaluating or do you want me to look into if it's possible to keep this on 1.x?

For backporting, I would prefer not to backport this, unless it's already broken

Just checked and this one was not broken on 20.09. So I will keep that in mind when backporting.

@jonringer would you mind taking another look? I think this is good to go.

@jonringer pretty please? 🙇

oh yea, sorry, last time it was just taking longer than expected to review these packages

oh yea, sorry, last time it was just taking longer than expected to review these packages

All good, was just making me anxious since it was a large amount of packages and already had to merge in new changes once or twice. Thank you!


Remove jobmanager migrations dependence on South

Current jobmanager migrations have a dependence on the south package which is no longer part of Django or of cfgov-refresh requirements. This prevents the jobmanager app from being managed by Django, e.g. with manage.py migrate.
This PR simply resets migrations by deleting jobmanager/migrations and re-running manage.py makemigrations jobmanager.
Changes

Replaced current set of jobmanager migrations with a new single migration that removes dependence on south.

Testing

Testing with a new database

$ ./drop-db.sh
$ ./create-mysql-db.sh
$ python cfgov/manage.py migrate
$ python cfgov/manage.py showmigrations jobmanager
jobmanager
[X] 0001_initial

Testing with a database dump

$ ./refresh-data.sh django.sql
$ python cfgov/manage.py migrate --fake jobmanager
$ python cfgov/manage.py showmigrations jobmanager
jobmanager
 [X] 0001_initial

Review

@rosskarchner

Notes

Will prod database need to have migration faked as above when code is deployed?

Checklist

[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[X] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

👍


feat: add xl9535 support, issue #400

I was able to add support for XL9535 chip and relay board I want to use.
Notes

There is currently no working python package for this chip, but the implementation is extremely simple.
The implementation is only supports output mode. Input mode can be added later if devices appear.
https://github.com/flyte/mqtt-io/issues/400
Datasheet https://www.lcsc.com/datasheet/lcsc_datasheet_2211110930_XINLUDA-XL9535_C561273.pdf
ESPHome integration https://github.com/esphome/esphome/tree/857a3dcf72d74fa53fba2f6c63f2ceaaec3e5e59/esphome/components/xl9535
Python module and description https://github.com/mcauser/micropython-xl9535-kxv5-relay
NodeJS module https://github.com/isky04/node-red-contrib-xl9535

@flyte @mschlenstedt @BenjiU may I ask for the review?


Realsense live

🚀 Feature
First of all, thanks for the excellent work!
Is it possible to integrate using Intel Realsense? What is the estimated frame rate for HD image?

Closing due to inactivity. (There are plans to extend to include a RealSense and/or Azure Kinect dataloader; but not necessarily a live integration)


[LOW] The bidTicket mint and burn behaviour is not consistent

Summary
In Harvest.batchTransfer() the number of bidTicket minted is equal to number of NFTs transfered. While in Auctions.startAuctionERC721() and Auctions.startAuctionERC1155() the bidTicket burned is 1. I believe the number of bidTicket burned while bidding in n NFTs should be n * bidTicketCostBid.
POC
Add the following POC in Auctions.t.sol
function test_startAuctionERC721_Success() public {
    vm.startPrank(user1);

    uint256 startBalance = user1.balance;
    console.log("bidTicket balance of user before startAuction(): ", bidTicket.balanceOf(user1, 1));

    auctions.startAuctionERC721{value: 0.05 ether}(0.05 ether, address(mock721), tokenIds);
    console.log("bidTicket balance of user after startAuction(): ", bidTicket.balanceOf(user1, 1));
}

Output
Logs:
  bidTicket balance of user before startAuction():  100
  bidTicket balance of user after startAuction():  99

Mitigation
Number of  bidTickets burned should be equal to number of NFTs * bidTicketCostBid

Honestly, stoked how deep you're getting with this, but this is another "let the market decide" decision where the bid tickets are mostly there to make sure people have at least harvested a few things, but a 1:1 would probably be too much to ask.
We got a lot of feedback in our discord support that the current production requirement to burn 5x bid tickets was too high.


Which servers to target with solution?

Can the article be updated to better understand the intended target machine (or machines) of the solution?
Example: Is 1 domain controller per domain enough to pull the analytical data (since the AD database is widely replicated) or does the agent NEED to be on more than 1 domain controller from the same domain / forest?

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

ID: 9fe28c1b-e0f3-b558-e58c-ad32c455cd21
Version Independent ID: ee336116-b3ec-4e0e-d6e8-b11f6022115e
Content: Optimize your Active Directory environment with Azure Log Analytics
Content Source: articles/log-analytics/log-analytics-ad-assessment.md
Service: log-analytics
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

Thanks for the feedback! We are currently investigating and will update you shortly.

@CHDAFNI-MSFT - I'm investigating and will respond shortly.  Thanks.

@CHDAFNI-MSFT - I've investigated further and determined that based on the checks it performs that are not general to AD but also the config of the DCs supporting the domain(s) in the Forst, you should install the agent on each DC  - for things like DNS config, FRS replication, core AD or dependent services are running, avail space for SYSVOL partition, etc.  I will bug the article and see when I can update to include this detail.

Thank you for investigating this. You may close this request assuming you have what you need to move forward with article updates.

(internal only) If I helped you, please take this 1-minute survey – https://aka.ms/chdafni-feedback
Chase Dafnis
Sr. Premier Field Engineer
US Public Sector
Microsoft Corporation
Office:<PHONE_NUMBER>
Chase.Dafnis<EMAIL_ADDRESS>[Twitter]https://twitter.com/Microsoft    [Facebook] https://www.facebook.com/Microsoft     [Linkedin] https://www.linkedin.com/company/microsoft     [Youtube] https://www.youtube.com/user/Microsoft
[Microsoft Logo]
If you have any feedback about my work, please let either myself or my manager Arthur Dahl know at adahl<EMAIL_ADDRESS>From: Matt Goedtel<EMAIL_ADDRESS>Sent: Tuesday, February 12, 2019 1:57 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Chase Dafnis<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Which servers to target with solution? (#19262)
@CHDAFNI-MSFThttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FCHDAFNI-MSFT&data=02|01|Chase.Dafnis%40microsoft.com|2a6601f81874428329c408d6911bd3a3|72f988bf86f141af91ab2d7cd011db47|1|0|636855946032384029&sdata=uyQkDu6bAXeS7zrI3R8nLlP0XUhRz6w3gEfPiGPaJhc%3D&reserved=0 - I've investigated further and determined that based on the checks it performs that are not general to AD but also the config of the DCs supporting the domain(s) in the Forst, you should install the agent on each DC - for things like DNS config, FRS replication, core AD or dependent services are running, avail space for SYSVOL partition, etc. I will bug the article and see when I can update to include this detail.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F19262%23issuecomment-462887845&data=02|01|Chase.Dafnis%40microsoft.com|2a6601f81874428329c408d6911bd3a3|72f988bf86f141af91ab2d7cd011db47|1|0|636855946032394021&sdata=sx%2BX7RiWrCJUqfhVAs2vD22ghH7furfJqvwJbLq4xos%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAa_7maEquwMHYo5xA-L_YwKmRuY36Z_cks5vMw5ogaJpZM4Yr1hB&data=02|01|Chase.Dafnis%40microsoft.com|2a6601f81874428329c408d6911bd3a3|72f988bf86f141af91ab2d7cd011db47|1|0|636855946032394021&sdata=64BzFafeS%2BGs%2FK7NsLGKkxhm3R4U8n2eVpVjhd63Mpo%3D&reserved=0.

@jason-j-MSFT  - #please-close as I've bugged this and will update the doc accordingly.

@CHDAFNI-MSFT We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Add exec_lazy

As far as I can tell, the most general purpose way to return results would be to create a fiber and yield from within it. This would require creating a result wrapper that would call PQclear when garbage collected. It would also require figuring out how the heck to yield from a c function 🤔.

Solution here is to return a Result abstract type and allow checking size and yielding one row at a time from janet code.


fts3_tokenizer.h file not found

errors as follows:

SQLite/SQLite-Bridging.m:28:9: fatal error: 'fts3_tokenizer.h' file not found
#import "fts3_tokenizer.h"
^
1 error generated.

finally i found the file in Vendor dir
while I think the doc should be updated for frameworkless target
in https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md#frameworkless-targets

Updated the docs, thanks!


Adding GarNet and introducing some changes to the core to make GarNet possible

Adding support to a graph neural network (GarNet). The compatible keras implementation of GarNet is not the original but this temporary-ish code. We will discuss how the new implementation can be included in the "official" repository.
hls4ml/templates/vivado/nnet_utils/nnet_garnet.h is the source code for HLS GarNet. Aside from adding this file and inserting lines to convert / configure in keras_to_hls.py, hls_model.py, vivado_template.py, and vivado_writer.py, I introduced some changes to the hls4ml core software in order to accommodate the needs of graph networks:

keras_to_hls.py was written with a linear model (single input, single flow of data through layers) in mind. Particularly, layers being parsed were communicating the shapes of the input and output arrays through the current_shape variable. Since GarNet takes two inputs (array of vertex features and the number of vertices in the given sample), I replaced this communication mechanism with more explicit input_shapes and output_shapes variables. There is still an assumption that each layer outputs a single array, but it is easy to generalize that if a need arises.
In hls_model.py and vivado_writer.py, I added some more handles to the models and layers that can be steered in the config yml file:

GlobalPipelining (model property): By default, the full model is either PIPELINEd or DATAFLOWed, depending on the IOType and Strategy parameters. GlobalPipelining config allows directly setting or turning off (set to None) pipelining.
OutputPartitioning (layer property): By default, layer outputs are partitioned completely. Graph network outputs are large arrays, so this would be a problem. To specify a partitioning, add a line like OutputPartitioning: partition,cyclic,4 (translates to ARRAY_PARTITION cyclic factor=4) under the LayerType or LayerName config to set the partitioning type. (GarNet layers automatically set their output partitioning using the reuse_factor, so users actually don't need to use this config for anything at the moment.)
CustomizeIO, InterfaceMode (model properties): Input and last layers can have custom partitioning using the OutputPartitioning config. Set CustomizeIO to 1 to have the model I/O actually be partitioned accordingly. InterfaceMode allows setting the value of HLS INTERFACE pragma by hand.

In vivado_templates.py and templates.py, I added the "include list" feature so that only the header files that are actually used in the given model are included. Whenever we add a layer, we need to specify which headers are to be included in vivado_templates.py.
C++ template reorganization: I wanted parameters.h to include the weights for GarNet (so that the config structs can refer to the weight arrays). To make this happen, header inclusions in the C++ templates have been shuffled:

Added a new file defines.h that has the hls-fpga-machine-learning insert numbers and hls-fpga-machine-learning insert layer-precision lines (originally in parameters.h)
Line hls-fpga-machine-learning insert weights is now in parameters.h
myproject.h includes defines.h
myproject.cpp includes parameters.h
myproject_test.cpp does not include parameters.h any more (it only needed the number macros and typedefs, which are now in defines.h and are included through myproject.h)

It's a long list of feature updates - I can split it into multiple PRs if that's more convenient.

Many thanks!
I haven't looked into the whole set of new changes, but here are some thoughts on the PR that was made in my fork:
I don't see what GlobalPipelineing config property adds to the project. Strategy: Resource is DATAFLOW, Strategy: Latency is PIPELINE, so with GlobalPipelining there are two ways to configure the same thing, and one is only for GarNet and does nothing for every other layer.
OutputPartitioning has undesired consequences. We cannot just expose that and allow arbitrary stuff. If you change from complete partitioning to anything else you'll very likely mess up pipelining and end up with large latency and II larger than RF. I think we should explore every possibility of figuring the best possible partitioning automatically based on ReuseFactor and Strategy parameters before giving up and exposing it to users (because they will be even more clueless then us).
We are thinking of removing io_serial, so the InterfaceMode would be a good replacement for one functionality that io_serial used.
templates.py existed by mistake, forget about it. Only vivado_templates.py is relevant.
The changes in keras_to_hls.py look ok, but so far we have somehow managed to support multiple flows/inputs/outputs. Keras orders the layers in such a way that when parsing JSON sequentially, you are always working with one flow, so you will always encounter an InputLayer or a layer with 'inbound_nodeswhen switching flows, thuscurrent_shape` ends up being good. Perhaps this is something you can improve in serialization of GarNet layer itself.
The restructuring of parameters.h wasn't there before, so I haven't yet peeked into that, but I agree with these changes conceptually.

Hi @yiiyama,
Can you add an example GarNet keras model and json to the example-models/keras directory to make it easier to test?
Eventually, we can also add it to the default tests too.

@jmduarte Will do! @vloncar wanted separate PRs for different features I introduced here, so I'm closing this one and will have several feature proposal PRs plus one GarNet PR on top, and will include an example in that one.


Update Vester to 1.1.0

Resolves #150, and supercedes the mess I made in #152.
Added release notes! (Both in Vester.psd1, as well as a brand spanking new CHANGELOG.md file)
Rolled the version to 1.1.0 based on SemVer and the amount of crap we've added in the ridiculous expanse of time since we last incremented the version.
(Shameless preemptive @chriswahl)

itshappening.gif


Flow chart is not internationalised.

Right now the cell names' text is drawn from the function names. I suggest to use task_description and in case it is None then default to the current behaviour.
Ie.:
name = cell.node.task_description or cell.node.name
segments = wrap(' '.join(name.capitalize().split('_')), 20)

In line 517 file chart.py
We can set task_description to translatable string so this is a simple fix.

Fixed to use task_title if present


Cannot import AzureApplicationCredential

Is your feature request related to a problem? Please describe.
When implementing my teams app, I noticed that there is an AzureApplicationCredential implemented here. However, it seems that the class is not exported.

Package version: @azure/identity 3.2.3
Is there any plan to export the credential?
Describe the solution you'd like
Export the credential
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.

@yiqing-zhao I will release a bug fix for this.

@yiqing-zhao Also, are you blocked on not being able to use the credential? What's your user scenario?

Hi Karishma, I was able to use ClientCertificateCredential and ClientSecretCredential instead. I was trying to create a graph client with app credential, and I discovered this credential when I looked at the source code files, but I noticed that it was not exported.

Ok thanks. Our team had decided to not expose the AzureApplicationCredential across all languages as it was just the Graph Service that needed it.


Monkey Patching Authorization Checks into Active Analytics

If you guys have a wiki or something, it might be nice to document how to monkey patch authorization check to Active Analytics. I did a quick and dirty one using the following code:
# config/initializers/active_analytics.rb

# monkey patch stuff
module ActiveAnalytics
  module ApplicationControllerAdminValidation
    extend ActiveSupport::Concern
    included do
      before_action :require_admin
    end

    def require_admin
      raise ActionController::RoutingError.new("Not found") unless current_user.try(:admin?)
    end
  end
end

Rails.application.config.to_prepare do
  ActiveAnalytics::ApplicationController.include ActiveAnalytics::ApplicationControllerAdminValidation
end

If you want it to be friendlier, you can have it redirect to a login or something. I just wanted people snooping around not to know about the analytics at all and just get a 404.

There is already a section for that in the README: https://github.com/BaseSecrete/active_analytics?tab=readme-ov-file#authentication-and-permissions.

Awesome.. that is great. I notice my methodology is a bit different than the README. I'll leave a few keywords for google and close this issue.
Here's how to monkey patch authorization/authentication into active analytics using config/initializers, tested on rails 7.1 and Sorcery. Probably works on devise as well.


Polyline decorators? patterns (like dashes, arrows)

Hi,
I want to know if react-native-maps have some kind of custom polyline, I need to draw arrows over the path to explain the direction to my users. Like this https://github.com/bbecquet/Leaflet.PolylineDecorator
Thanks!

It does not

@bosung90 any news in this regard? would be a useful feature to show users directions on top of the polyline. Thanks!

@tudorgergely No idea, I don't use maps for my current project.

@fedegonzal Hi, did you find a solution to this? thanks

Also looking for dashes(dots) solution

also looking for a way to draw arrows on the polyline...

For everyone coming across this - Polyline has now lineDashPattern prop.
See the docs  for more info


Firefox 63 Media DDNs

User story
As a web developer, I want to learn about the new Media features in Firefox 63, so I can use them in my own projects.
Acceptance criteria

[ ] All DDNs complete.
[ ] Reviews requested from engineers for all documentation work.

Tasks
Standalone larger items

[x] Expose to web content whether autoplay is blocked [1 point]

Smaller items estimated together
Total estimate — 4 points

[x] Emit new SCTP data channel offer format in Fx >= 62
[x] Add AudioWorkletProcessor interface definitions [probably just needs adding to sheppy's AudioWorkets plan]
[x] Add "AudioWorklet" definition [probably just needs adding to sheppy's AudioWorkets plan]
[x] Remove audioWorklet attribute from Window
[x] setValueCurveAtTime doesn't accept sequence
[x] ConstantSourceNode.offset min/max values incorrect [this is a dupe, but it explains what needs to be done better than the original]
[x] enumerateDevices() should enumerate audio output devices (if we have any)
[x] ConstantSourceNode.start(-1) should throw RangeError
[x] Remove the doppler effect from the PannerNode
[x] Mark ctor-constantsource.html as passing, since bug 1456266 landed

Documentation updated:
https://developer.mozilla.org/en-US/docs/Web/API/AudioScheduledSourceNode/start — Rewrote the Exceptions list to be complete and up to date, incorporating this fix among others. Added an example with a description. Updated some formatting.
https://developer.mozilla.org/en-US/docs/Web/API/AudioScheduledSourceNode/stop — Updated the Exceptions list. Revised the example a bit. Added example description. Fixed some formatting.
Also added a mention to Firefox 63 for developers.

Removed MediaCapabilities work since Estelle has cards for this herself.


Cant run project on iOS M1

Summary
I've done all the steps to run the package, but still can't run the project.
Reproducible sample code
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '13.0'
install! 'cocoapods', :deterministic_uuids => false

target 'MyApp' do
  config = use_native_modules!

# React Native Maps dependencies
  rn_maps_path = '../node_modules/react-native-maps'
  pod 'react-native-google-maps', :path => rn_maps_path

  # Flags change depending on the env values.
  flags = get_default_flags()

  use_react_native!(
    :path => config[:reactNativePath],
    # to enable hermes on iOS, change `false` to `true` and then install pods
    :hermes_enabled => true,
    :fabric_enabled => flags[:fabric_enabled],
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  target 'MyAppTests' do
    inherit! :complete
    # Pods for testing
  end

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable the next line.
  use_flipper!()

  post_install do |installer|
    react_native_post_install(installer)
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
  end
end

target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignalXCFramework', '>= 3.0', '< 4.0'
end

Steps to reproduce
Try to run a project with sample Podfile
Expected result
Run the project without errors.
Actual result
Showing All Messages
Undefined symbol: OBJC_CLASS$_RCTBundleURLProvider
Undefined symbol: OBJC_CLASS$_RCTBridge
Undefined symbol: _RCTAppSetupPrepareApp
Undefined symbol: OBJC_CLASS$_RCTLinkingManager
Undefined symbol: _RCTAppSetupDefaultRootView
React Native Maps Version
1.2.0
What platforms are you seeing the problem on?
iOS (Apple Maps)
React Native Version
0.68.2
What version of Expo are you using?
Not using Expo
Device(s)
simulator
Additional information
No response

The solution here worked for me (only step #1 actually) https://khushwanttanwar.medium.com/xcode-12-compilation-errors-while-running-with-ios-14-simulators-5731c91326e9
Beside step #1, I've also enabled Rosseta.

Please make sure to search for simular issues before opening a new one. See #4249, #4238, #3527, #4097 and the Note for Mac M1 users. :)

The solution here worked for me (only step #1 actually) https://khushwanttanwar.medium.com/xcode-12-compilation-errors-while-running-with-ios-14-simulators-5731c91326e9
Beside step #1, I've also enabled Rosseta.

Thank you @qobaid-bunnyrents! Ive tried many solutions from other threads but only yours works for me!


Changes the base URL to make the scraper work again

Description
After creating #4 I looked further into the issue, and it seems like the source has added 5M after the "curva" in the URL. I haven't look at all URLs used, but I checked the following two:

It works as expected after the change in this PR (nevermind the additional debugging output in the screenshot):

This fixes #4

Thanks @madsnedergaard

Fixed on master in https://github.com/hectorespert/ree/commit/9e69254031b6d8b87b48921f79b33204c378b859, so closing this again - thanks for the fix! 💪


Stopping a PostgreSQL container immediately after starting it kills PostgreSQL with SIGKILL, possibly corrupting the database

We are running a PostgreSQL docker container in production for our ERP, and have had multiple instances of corruption in the last few months.
The most recent corruption started with the following message "invalid record length" immediately after a restart:

2024-02-29 12:44:27.403	2024-02-29 11:44:27.402 UTC [7731] FATAL:  sorry, too many clients already
2024-02-29 12:44:28.505	2024-02-29 11:44:28.505 UTC [7732] FATAL:  sorry, too many clients already
2024-02-29 12:44:28.699	2024-02-29 11:44:28.699 UTC [7733] FATAL:  sorry, too many clients already
2024-02-29 12:44:29.912	2024-02-29 11:44:29.912 UTC [7734] FATAL:  sorry, too many clients already
2024-02-29 12:44:30.843	2024-02-29 11:44:30.843 UTC [7735] FATAL:  sorry, too many clients already
2024-02-29 12:44:33.862	2024-02-29 11:44:33.862 UTC [7740] FATAL:  sorry, too many clients already
2024-02-29 12:44:35.004	2024-02-29 11:44:35.003 UTC [7741] FATAL:  sorry, too many clients already
2024-02-29 12:44:37.264	2024-02-29 11:44:37.264 UTC [7746] FATAL:  sorry, too many clients already
2024-02-29 12:44:37.952	PostgreSQL Database directory appears to contain a database; Skipping initialization
2024-02-29 12:44:37.983	2024-02-29 11:44:37.983 UTC [1] LOG:  starting PostgreSQL 15.4 (Debian 15.4-2.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-02-29 12:44:37.983	2024-02-29 11:44:37.983 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-02-29 12:44:37.983	2024-02-29 11:44:37.983 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-02-29 12:44:37.987	2024-02-29 11:44:37.987 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-29 12:44:37.996	2024-02-29 11:44:37.995 UTC [29] LOG:  database system was interrupted; last known up at 2024-02-29 11:44:08 UTC
2024-02-29 12:44:38.572	2024-02-29 11:44:38.572 UTC [29] LOG:  database system was not properly shut down; automatic recovery in progress
2024-02-29 12:44:38.576	2024-02-29 11:44:38.576 UTC [29] LOG:  redo starts at 24/68195310
2024-02-29 12:44:38.580	2024-02-29 11:44:38.580 UTC [29] LOG:  invalid record length at 24/6834FC90: wanted 24, got 0
2024-02-29 12:44:38.580	2024-02-29 11:44:38.580 UTC [29] LOG:  redo done at 24/6834FC68 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
2024-02-29 12:44:38.591	2024-02-29 11:44:38.591 UTC [27] LOG:  checkpoint starting: end-of-recovery immediate wait
2024-02-29 12:44:38.674	2024-02-29 11:44:38.674 UTC [1] LOG:  database system is ready to accept connections
2024-02-29 12:44:40.319	2024-02-29 11:44:40.319 UTC [1] LOG:  received fast shutdown request
2024-02-29 12:44:40.321	2024-02-29 11:44:40.321 UTC [1] LOG:  aborting any active transactions
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [572] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [575] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [574] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [577] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [562] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [582] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [563] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [576] FATAL:  terminating connection due to administrator command
2024-02-29 12:44:40.332	2024-02-29 11:44:40.321 UTC [569] FATAL:  terminating connection due to administrator command

followed by more serious errors:
2024-02-29 12:45:53.223	2024-02-29 11:45:53.223 UTC [71] ERROR:  index "mail_message_pkey" contains unexpected zero page at block 2029
2024-02-29 12:45:53.223	2024-02-29 11:45:53.223 UTC [71] HINT:  Please REINDEX it.
2024-02-29 12:45:53.223	2024-02-29 11:45:53.223 UTC [71] STATEMENT:   SELECT msg.res_id FROM mail_message msg
2024-02-29 12:45:53.223		                                 RIGHT JOIN mail_notification rel
2024-02-29 12:45:53.223		                                 ON rel.mail_message_id = msg.id AND rel.res_partner_id = 42832 AND (rel.is_read = false OR rel.is_read IS NULL)
2024-02-29 12:45:53.223		                                 WHERE msg.model = 'mail.channel' AND msg.res_id in (1) AND msg.message_type != 'user_notification'
2024-02-29 12:45:53.972	2024-02-29 11:45:53.972 UTC [118] LOG:  request to flush past end of generated WAL; request 24/6843DB78, current position 24/683AC100
2024-02-29 12:45:53.972	2024-02-29 11:45:53.972 UTC [118] CONTEXT:  writing block 0 of relation base/186211/274960

and finally a PostgreSQL container unable to start due to a corrupted WAL:
2024-02-29 12:48:58.044	PostgreSQL Database directory appears to contain a database; Skipping initialization
2024-02-29 12:48:58.070	2024-02-29 11:48:58.069 UTC [1] LOG:  starting PostgreSQL 15.4 (Debian 15.4-2.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-02-29 12:48:58.070	2024-02-29 11:48:58.070 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-02-29 12:48:58.070	2024-02-29 11:48:58.070 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-02-29 12:48:58.074	2024-02-29 11:48:58.074 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-29 12:48:58.082	2024-02-29 11:48:58.082 UTC [29] LOG:  database system was interrupted while in recovery at 2024-02-29 11:48:51 UTC
2024-02-29 12:48:58.082	2024-02-29 11:48:58.082 UTC [29] HINT:  This probably means that some data is corrupted and you will have to use the last backup for recovery.
2024-02-29 12:48:58.467	2024-02-29 11:48:58.466 UTC [30] FATAL:  the database system is starting up
2024-02-29 12:48:58.687	2024-02-29 11:48:58.687 UTC [29] LOG:  database system was not properly shut down; automatic recovery in progress
2024-02-29 12:48:58.691	2024-02-29 11:48:58.691 UTC [29] LOG:  redo starts at 24/68351E78
2024-02-29 12:48:58.693	2024-02-29 11:48:58.693 UTC [29] PANIC:  invalid lp
2024-02-29 12:48:58.693	2024-02-29 11:48:58.693 UTC [29] CONTEXT:  WAL redo at 24/68413FC8 for Heap/HOT_UPDATE: off 7 xmax 18320045 flags 0x60 ; new off 12 xmax 0; blkref #0: rel 1663/186211/189171, blk 49
2024-02-29 12:48:59.169	2024-02-29 11:48:59.169 UTC [31] FATAL:  the database system is not yet accepting connections
2024-02-29 12:48:59.169	2024-02-29 11:48:59.169 UTC [31] DETAIL:  Consistent recovery state has not been yet reached.
2024-02-29 12:48:59.314	2024-02-29 11:48:59.314 UTC [1] LOG:  startup process (PID 29) was terminated by signal 6: Aborted
2024-02-29 12:48:59.314	2024-02-29 11:48:59.314 UTC [1] LOG:  terminating any other active server processes
2024-02-29 12:48:59.315	2024-02-29 11:48:59.315 UTC [1] LOG:  shutting down due to startup process failure
2024-02-29 12:48:59.334	2024-02-29 11:48:59.334 UTC [1] LOG:  database system is shut down

We were able to recover from the corruption by using pg_resetwal, dumping the database to SQL and restoring into a clean database from the dump, but the multiple corruption incidents got me curious, and I started to investigate if I could reproduce the error.
From the initial error it is obvious that PostgreSQL wasn't properly shut down, but probably killed with SIGKILL, because the log doesn't indicate that the instance running at 2024-02-29 12:44:37.264 was shut down before the instance at 2024-02-29 12:44:37.983 started:
2024-02-29 12:44:37.264	2024-02-29 11:44:37.264 UTC [7746] FATAL:  sorry, too many clients already
2024-02-29 12:44:37.952	PostgreSQL Database directory appears to contain a database; Skipping initialization
2024-02-29 12:44:37.983	2024-02-29 11:44:37.983 UTC [1] LOG:  starting PostgreSQL 15.4 (Debian 15.4-2.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit

To compare it with a clean restart, where the old instance reports that it is being properly shut down:

2024-02-29 03:00:11.265	2024-02-29 02:00:11.264 UTC [51784] FATAL:  terminating connection due to administrator command
2024-02-29 03:00:11.268	2024-02-29 02:00:11.268 UTC [51805] FATAL:  terminating connection due to administrator command
2024-02-29 03:00:11.276	2024-02-29 02:00:11.276 UTC [1] LOG:  background worker "logical replication launcher" (PID 32) exited with exit code 1
2024-02-29 03:00:11.285	2024-02-29 02:00:11.285 UTC [51804] FATAL:  terminating connection due to administrator command
2024-02-29 03:00:11.302	2024-02-29 02:00:11.302 UTC [27] LOG:  shutting down
2024-02-29 03:00:11.304	2024-02-29 02:00:11.304 UTC [27] LOG:  checkpoint starting: shutdown immediate
2024-02-29 03:00:11.363	2024-02-29 02:00:11.363 UTC [1] LOG:  database system is shut down
2024-02-29 03:00:19.513	PostgreSQL Database directory appears to contain a database; Skipping initialization
2024-02-29 03:00:19.568	2024-02-29 02:00:19.567 UTC [1] LOG:  starting PostgreSQL 15.4 (Debian 15.4-2.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-02-29 03:00:19.568	2024-02-29 02:00:19.568 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-02-29 03:00:19.568	2024-02-29 02:00:19.568 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-02-29 03:00:19.572	2024-02-29 02:00:19.572 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-29 03:00:19.584	2024-02-29 02:00:19.580 UTC [29] LOG:  database system was shut down at 2024-02-29 02:00:11 UTC
2024-02-29 03:00:19.594	2024-02-29 02:00:19.594 UTC [1] LOG:  database system is ready to accept connections

At the time where the corruption occurred, a team member issued a command to restart the docker container (we have since figured out that the team restarted PostgreSQL very often due to a misunderstanding that it would be necessary when deploying schema changes), so I went ahead to see if I could reproduce the problem just by restarting the container. I created an empty PostgreSQL container as documented on https://hub.docker.com/_/postgres under "start a postgres instance":
martin.mein-iserv.de ~ # docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
cf5a99834d8d4674bfddc7695f5aa97b1304bcc6817e6dad09479aa1a95beb59

And then I restarted the container in a loop:

martin.mein-iserv.de ~ # for i in {1..5}; do date -Iseconds; time docker stop some-postgres >/dev/null; echo; date -Iseconds; time docker start some-postgres >/dev/null; echo; done
2024-03-05T15:44:44+01:00
docker stop some-postgres > /dev/null  0,04s user 0,03s system 22% cpu 0,307 total

2024-03-05T15:44:44+01:00
docker start some-postgres > /dev/null  0,03s user 0,02s system 14% cpu 0,365 total

2024-03-05T15:44:45+01:00
docker stop some-postgres > /dev/null  0,03s user 0,02s system 0% cpu 10,274 total

2024-03-05T15:44:55+01:00
docker start some-postgres > /dev/null  0,03s user 0,03s system 18% cpu 0,291 total

2024-03-05T15:44:55+01:00
docker stop some-postgres > /dev/null  0,03s user 0,02s system 14% cpu 0,329 total

2024-03-05T15:44:56+01:00
docker start some-postgres > /dev/null  0,02s user 0,03s system 17% cpu 0,315 total

2024-03-05T15:44:56+01:00
docker stop some-postgres > /dev/null  0,02s user 0,02s system 0% cpu 10,257 total

2024-03-05T15:45:06+01:00
docker start some-postgres > /dev/null  0,03s user 0,02s system 13% cpu 0,348 total

2024-03-05T15:45:07+01:00
docker stop some-postgres > /dev/null  0,02s user 0,02s system 0% cpu 10,274 total

2024-03-05T15:45:17+01:00
docker start some-postgres > /dev/null  0,04s user 0,03s system 18% cpu 0,354 total

It's immediately obvious that something is going wrong here - sometimes docker stop hangs for 10 seconds, which is suspiciously similar to Docker's default --stop-timeout:
man docker-stop:

       --stop-timeout
         Timeout (in seconds) to stop a container, or -1 to disable timeout.

       The --stop-timeout flag sets the number of seconds to wait for the container
         to stop after sending the pre-defined (see --stop-signal) system call signal.
         If the container does not exit after the timeout elapses, it is forcibly killed
         with a SIGKILL signal.

       If --stop-timeout is set to -1, no timeout is applied, and the daemon will
         wait indefinitely for the container to exit.

       The default is determined by the daemon, and 10 seconds for Linux containers,
         and 30 seconds for Windows containers.

(Sidenote: the issue is very timing-sensitive. Without the date call, every docker stop after the first one was affected, and doing anything more complicated like calling docker logs between a docker start and docker stop makes the issue unreproducible.)
The log confirms that e.g. the docker stop run at 2024-03-05T15:44:45+01:00 did not shut down PostgreSQL cleanly:

[...]
PostgreSQL Database directory appears to contain a database; Skipping initialization

2024-03-05 14:44:45.412 UTC [1] LOG:  starting PostgreSQL 16.2 (Debian 16.2-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-03-05 14:44:45.412 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-03-05 14:44:45.412 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-03-05 14:44:45.416 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-03-05 14:44:45.421 UTC [30] LOG:  database system was shut down at 2024-03-05 14:44:44 UTC
2024-03-05 14:44:45.429 UTC [1] LOG:  database system is ready to accept connections

PostgreSQL Database directory appears to contain a database; Skipping initialization

2024-03-05 14:44:55.980 UTC [1] LOG:  starting PostgreSQL 16.2 (Debian 16.2-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-03-05 14:44:55.980 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-03-05 14:44:55.980 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-03-05 14:44:55.984 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-03-05 14:44:55.989 UTC [1] LOG:  received fast shutdown request
2024-03-05 14:44:55.989 UTC [29] LOG:  database system was interrupted; last known up at 2024-03-05 14:44:45 UTC
2024-03-05 14:44:56.048 UTC [29] LOG:  database system was not properly shut down; automatic recovery in progress
2024-03-05 14:44:56.049 UTC [29] LOG:  invalid record length at 0/15268D8: expected at least 24, got 0
2024-03-05 14:44:56.049 UTC [29] LOG:  redo is not required
2024-03-05 14:44:56.052 UTC [27] LOG:  checkpoint starting: end-of-recovery immediate wait
2024-03-05 14:44:56.062 UTC [27] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.003 s, sync=0.002 s, total=0.011 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB; lsn=0/15268D8, redo lsn=0/15268D8
2024-03-05 14:44:56.065 UTC [27] LOG:  shutting down
2024-03-05 14:44:56.067 UTC [27] LOG:  checkpoint starting: shutdown immediate
2024-03-05 14:44:56.073 UTC [27] LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.008 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=0 kB; lsn=0/1526950, redo lsn=0/1526950
2024-03-05 14:44:56.080 UTC [1] LOG:  database system is shut down
[...]

Apparently sometimes the SIGTERM that docker stop sends initially seems to go unnoticed by the container, leading docker stop to send a SIGKILL 10 seconds later. Digging down with execsnoop, it seems that the underlying problem is the fact that the docker stop happens during the container startup phase before the actual postgres binary is even started:
Details

16:31:36 date<PHONE_NUMBER>94   0 /usr/bin/date -Iseconds
16:31:36 docker<PHONE_NUMBER>94   0 /usr/bin/docker start some-postgres
16:31:36 ifupdown-hotplu<PHONE_NUMBER>30   0
16:31:36 ifquery<PHONE_NUMBER>25   0 /sbin/ifquery --allow hotplug -l veth1d2dfb4
16:31:36 bridge-network-<PHONE_NUMBER>30   0 /lib/udev/bridge-network-interface
16:31:36 bridge-network-<PHONE_NUMBER>35   0 /lib/udev/bridge-network-interface
16:31:36 ifupdown-hotplu<PHONE_NUMBER>35   0 /lib/udev/ifupdown-hotplug
16:31:36 ifquery<PHONE_NUMBER>27   0 /sbin/ifquery --allow hotplug -l veth0fae70f
16:31:36 systemd-sysctl<PHONE_NUMBER>30   0 /lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/veth1d2dfb4 --prefix=/net/ipv4/neigh/veth1d2dfb4 --prefix=/net/ipv6/conf/veth1d2dfb4 --prefix=/net/ipv6/neigh/veth1d2dfb4
16:31:36 systemd-sysctl<PHONE_NUMBER>35   0 /lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/veth0fae70f --prefix=/net/ipv4/neigh/veth0fae70f --prefix=/net/ipv6/conf/veth0fae70f --prefix=/net/ipv6/neigh/veth0fae70f
16:31:36 containerd-shim<PHONE_NUMBER>     0
16:31:36 containerd-shim<PHONE_NUMBER>31   0 /usr/bin/containerd-shim-runc-v2 -namespace moby -id e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4 -address /run/containerd/containerd.sock
16:31:36 runc<PHONE_NUMBER>39   0 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4/log.json --log-format json --systemd-cgroup create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4/init.pid e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4
16:31:36 exe<PHONE_NUMBER>48   0 /proc/self/exe init
16:31:36 exe<PHONE_NUMBER>48   0 /proc/3052/exe -exec-root=/var/run/docker e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4 beb8ec28ab26
16:31:36 exe<PHONE_NUMBER>     0 /proc/self/exe /var/run/docker/netns/241fd6979fc9 all false
16:31:36 ifupdown-hotplu<PHONE_NUMBER>35   0 /lib/udev/ifupdown-hotplug
16:31:36 runc<PHONE_NUMBER>39   0 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4/log.json --log-format json --systemd-cgroup start e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4
16:31:36 docker-entrypoi<PHONE_NUMBER>39   0 /usr/local/bin/docker-entrypoint.sh postgres
16:31:36 bash<PHONE_NUMBER>39   0 /usr/bin/bash /usr/local/bin/docker-entrypoint.sh postgres
16:31:36 id<PHONE_NUMBER>59   0 /usr/bin/id -u
16:31:36 mkdir<PHONE_NUMBER>59   0 /usr/bin/mkdir -p /var/lib/postgresql/data
16:31:36 date<PHONE_NUMBER>94   0 /usr/bin/date -Iseconds
16:31:36 chmod<PHONE_NUMBER>59   0 /usr/bin/chmod 00700 /var/lib/postgresql/data
16:31:36 docker<PHONE_NUMBER>94   0 /usr/bin/docker stop some-postgres
16:31:36 mkdir<PHONE_NUMBER>59   0 /usr/bin/mkdir -p /var/run/postgresql
16:31:36 chmod<PHONE_NUMBER>59   0 /usr/bin/chmod 03775 /var/run/postgresql
16:31:36 find<PHONE_NUMBER>59   0 /usr/bin/find /var/lib/postgresql/data ! -user postgres -exec chown postgres {} +
16:31:36 find<PHONE_NUMBER>59   0 /usr/bin/find /var/run/postgresql ! -user postgres -exec chown postgres {} +
16:31:36 id<PHONE_NUMBER>59   0 /usr/bin/id -u
16:31:36 gosu<PHONE_NUMBER>39   0 /usr/local/bin/gosu postgres /usr/local/bin/docker-entrypoint.sh postgres
16:31:36 docker-entrypoi<PHONE_NUMBER>39   0 /usr/local/bin/docker-entrypoint.sh postgres
16:31:36 bash<PHONE_NUMBER>39   0 /usr/bin/bash /usr/local/bin/docker-entrypoint.sh postgres
16:31:36 id<PHONE_NUMBER>59   0 /usr/bin/id -u
16:31:36 mkdir<PHONE_NUMBER>59   0 /usr/bin/mkdir -p /var/lib/postgresql/data
16:31:36 chmod<PHONE_NUMBER>59   0 /usr/bin/chmod 00700 /var/lib/postgresql/data
16:31:36 mkdir<PHONE_NUMBER>59   0 /usr/bin/mkdir -p /var/run/postgresql
16:31:36 runc<PHONE_NUMBER>39   0 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4/log.json --log-format json --systemd-cgroup kill e24c90a798805e9fe8c1d2a00017fb966fffd2cbff97d281e7dab595e80020b4 2
16:31:36 chmod<PHONE_NUMBER>59   0 /usr/bin/chmod 03775 /var/run/postgresql
16:31:36 id<PHONE_NUMBER>59   0 /usr/bin/id -u
16:31:36 cat<PHONE_NUMBER>59   0 /usr/bin/cat
16:31:36 postgres<PHONE_NUMBER>39   0 /usr/lib/postgresql/16/bin/postgres

I was unable to reproduce the issue with a non-containerized PostgreSQL installation on Debian 11 bullseye with a similar systemctl stop<EMAIL_ADDRESS>systemctl start<EMAIL_ADDRESS>loop, so this issue seems to affect only the Docker version of PostgreSQL.

It sounds like https://github.com/docker-library/postgres/issues/714 (and thus https://github.com/docker-library/postgres/pull/763) might be related here. :sweat_smile:
("Clean" shutdown is something we've had a number of discussions about in this repository, and something not everyone can agree on a good definition of due to wildly differing use cases and usage patterns. :see_no_evil:)

You probably also want to set a much more generous --stop-timeout on your PostgreSQL containers -- I usually use 120, but even that might not be enough (as discussed in #714).  You'll likely also need to raise systemd's default TimeoutStopSec value to make sure your containers get their full stop timeout if the system or service shuts down for any reason, like Docker upgrades.

You probably also want to set a much more generous --stop-timeout on your PostgreSQL containers

I'm pretty sure increasing the --stop-timeout wouldn't help here at all - due to the fact that the main postgres process isn't even running yet when triggering the issue with docker stop, the SIGINT apparently goes nowhere useful (the entrypoint script seems to ignore it?). Docker will wait fruitlessly for PostgreSQL to stop, while PostgreSQL doesn't know that it's supposed to stop in the first place. Raising --stop-timeout will just cause Docker to wait longer before sending SIGKILL.
We've already decided to migrate our PostgreSQL instance out of Docker to ensure we won't get hit by this again :)

Ah right -- I guess we could implement some trap logic in there that tries to mimic "Smart Shutdown" on SIGTERM and "Fast Shutdown" on SIGINT, but I think it'd be easier / more likely to be "generally correct" to just assume stopping the container during initialization is a "failed to initialize" situation and exit 1 (more compelling with better PGDATA handling in that case, as discussed/described in #159).
There's not really something uncontroversially "sane" we could do if we get a request to stop/kill during that initialization process. :thinking:


Update release guide somewhat according to 2.51.0 release experience

This updates the release guide in a couple of major ways:

Fixes the process, which incorrectly combined the process of stabilizing the release branch with building an RC
Clarifies what is done by GitHub Actions and what is done by scripts
Eliminates some of the excessive verbosity about how to do things that script do (just read the script)

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @lostluck

OK whitespace lint fixed after the Gradle 8 upgrade. I recommend reviewing the new doc as a whole and ignoring the diff largely.
FWIW I am separately adding an idempotent markdown autoformatter to the repo.

R: @lostluck

That was a brain-o. Incorrectly combined cutting the release branch with stabilizing and then cutting an RC. It has one section that covered all that. Now cutting the branch is a phase change from "preparing" to "stabilizing".
I do have separate sections for "stabilizing" and the mechanics of building the RC, but that is just because they are different activities - the former being a lot of communication and cherrypicks and the latter covering just all the commands and stuff you have to run.


Use already open Manim interactive shell

If there is any terminal already opened that has Manim running in IPython, we should use that terminal. With this detection logic, we could also error if users use the Quit Preview command when they don't have any Manim session open. Other commands could also profit from this behavior.
If multiple Manim scenes are opened, e.g. two terminals with running IPython Manim session, then use the terminal that is visible to the user. If both are visible, use the one that has the current focus. If none has the current focus, use the one that had the focus the most recently.
Also see this comment and the last section of my comment here.

with this detecting logic - we can also have a HUGE usability improvement:
new users will just need to click "Preview Manim Cell" ->
we add detection, and if their manimgl isn't running - we start it at the start of the scene,
and only then run the cell

This would be an awesome feature, I agree about the usability improvement. I'm going through and labeling features for a v0.1.0 release. My goal is to have it on the marketplace by end of the weekend so we can announce on twitter/where you all like early next week. Do you all think this is a priority to integrate for v0.1.0?

Of course, it would be great to implement it;
but there are still a couple of bug-issues - do you want to announce with them unresolved?

See also my comment here for an idea about ManimShell.


Update subscriptionV2

This PR updates subscriptionV2 command.

Coverage decreased (-0.04%) to 99.964% when pulling 14b9978fd8531ea697515e558688c1689239e816 on fisuda:feature/subscriptionV2 into 43d6c1fc6d2cee5e2a9cfab35173306051bc5863 on lets-fiware:main.


AIP should permit multiple VCFs

For GATK-SV we're using whole-cohort calling. For gCNV we're using batch calling.
For gCNV a full callset may span several VCF files/MatrixTables
Permit the addition of multiple separate VCFs in the ValidateMOI task

that feels like the simplest change, except that we should probably deactivate the analysis entries for older batches

~Maybe all input data from the same source should be done in the same hail runtime to prevent clashing checkpoints etc.~
That shouldn't matter, SV results don't use a checkpoint... yet. Maybe if we got more categories involved.

Updated... might work, who knows


Adds AST Deserializer + Example Usage

Updates the Statemachine react code to include a rough approach for de-serializing a Langium-based AST. In addition, this also includes some examples of how that AST can then be traversed to retrieve specific information, which could then drive the generation of UI elements as desired.

Looks perfect to me, I will merge it so I can continue working.


[Bug] CameraView - "Couldn't find any suitable preview size" - "Access denied finding property "persist.vendor.camera.privapp.list"

Description
On some Android devices (at least Xiaomi Redmi 7/8), trying to show back camera output, results in error:
Couldn't find any suitable preview size
and then:
Access denied finding property "persist.vendor.camera.privapp.list"
Steps to Reproduce

Include latest XCT nuget package in project.
Add CameraView on sample page with CameraOptions = Back.
Run on Xiaomi Redmi 7/8.

Expected Behavior
Rear camera output is visible on CameraView component
Actual Behavior
Nothing shows
Basic Information

Version with issue: 1.2.0
IDE: Visual Studio for MacOS
Platform Target Frameworks:

Android: 29

Affected Devices: Xiaomi Redmi 7/8

Workaround
I've downloaded XCT source project and then included it into my solution. This way I was able to debug this issue and to fix the broken code. The problem is in CameraFragment.ChooseOptimalSize() method - precisely in this conditional statement:
if (option.Width <= maxWidth && option.Height <= maxHeight &&       option.Height == option.Width * h / w)
(see here)
Variables "h" and "w" are:
var w = aspectRatio.Width;
var h = aspectRatio.Height;

When using Xiaomi Redmi, the aspectRatio of back camera is: 3016 (h) X 4032 (w). It turns out, that it is NOT precisely an "3/4" aspect ratio (0.748... instead of 0.75). This way, the above shown conditional statement was never true (i.e. the second part of this statement) and "optimal size" was never found. This resulted in mentioned errors.
I've fixed it this way:
var w = aspectRatio.Width;
var h = aspectRatio.Height;

double cameraAspectRatio = Math.Round(h / (double)w, 2);

foreach (var option in choices)
{
    double optionAspectRatio = Math.Round(option.Height / (double)option.Width, 2);

    if (option.Width <= maxWidth && option.Height <= maxHeight &&
	optionAspectRatio == cameraAspectRatio)
    {
	    if (option.Width >= width && option.Height >= height)
	    {
		    bigEnough.Add(option);
	    }
	    else
	    {
		    notBigEnough.Add(option);
	    }
    }
}

In general, I calculate both ratios (current option's ratio and back camera ratio), round them to two decimals and then compare. It works now (at least for Xiaomi issue, because 0.748 ~= 0.75).

@sprinter-com-pl are you still having this issue? It would be great if you push a PR to fix it. Unfortunately, I don't have a Xiaomi to test or reproduce the issue.

@sprinter-com-pl are you still having this issue? It would be great if you push a PR to fix it. Unfortunately, I don't have a Xiaomi to test or reproduce the issue.

Hello, I'm having same issue, and could not fix like @sprinter-com-pl did.
Im my case error prompt at same block that he mentioned, for now I'm avoiding this phone and using my Xiomi Mi8lite who works fine.
Phone that I had the issue:
Model Galaxy A11 - SM-A115M/DS
Android 11


Extract applyExifOrientation out of fixOrientation

Taking out the bit that actually applies the rotation and putting it in a separate method enables the user to run applyExifOrientation by itself to override the exif tag.

When I think about it, the exif extraction should also be extracted to a separate function too. fixOrientation could then just be a one-liner:
$this->applyExifOrientation ($this->exifOrientationValue());

Thanks for contributing


Better handle empty control batches

This is a two part fix for transactionally aware consumers that are processing aborted transactions.
Instrumentation Events
The problem with the current implementation is that if a batch containing only control records or only aborted messages is received then there is no way for monitors to be aware that the consumer progressed. This can happen, for example, when reading aborted transactions.
This is fixed by emitting start and end batch instrumentation events if the batch is an empty control batch or only contains aborted messages.
Consume Lockout
Secondarily there exists an issue wherein if a batch containing only aborted messages or only control messages is received then the consumer never resolves + commits the batch offset, resulting in the consumer processing the same batch repeatedly and getting blocked.
Similarly to the previous scenario, this is fixed by checking for this scenario and resolving + auto-committing the batches latest offset.

@Nevon happy to merge?

@Nevon Looks like the pipeline had an ephemeral network failure. Can you re-trigger the jobs?

Triggered another run now. Not sure if the Azure DevOps Github integration is smart enough for the build status notifications to work. If not, you can always push an empty commit to trigger it.

@Nevon Ok, I re-pushed to force the jobs. All is passing 👍

Hey @Nevon, any chance I could get some eyes on this?

Next week I will have some time to spend on KafkaJS, and will make sure that this is high up on the todo list.

Thanks! 🙏


No Android Project

I think we should provide android project as well, so people using windows/linux can also try it out.

ok, I will ask Minggo to see if he can have someone from his team do this quicker than I can.

you should add win32 project also ...

Thanks Michael
On the list :-)

Sent using 100% recycled packets *

On Sat, Feb 21, 2015 at 5:33 AM -0800, "Michael"<EMAIL_ADDRESS>wrote:
you should add win32 project also ...
—
Reply to this email directly or view it on GitHub.

@slackmoehrle  @darkdukey
I think programmers-guide-samples repository should port to all the supported platforms.

Sad it is not ported yet.

We now have an android version in the v3.8 branch.


Add Spanish "es-mx" Support and Translate README in root

Closes #2

Creation of es-mx folder in root: A new folder named 'es-mx' has been added to house the Spanish-specific translations.
Addition of README: Within the 'es-mx' folder, a README.md file has been included to provide an overview and guidance for the translated content in the welcome page.

I would like to request a review from @ppiova to ensure the accuracy and quality of the translation.
These changes aim to enhance accessibility and understanding for users who prefer to interact with the content in Mexican Spanish, thereby broadening the audience and facilitating a more inclusive user experience.

The translation of README to Spanish is complete


Allow multiple key for ticket decoding

Currently the TicketDecoder class only allows a single public key to be given as parameter.
However, this key will vary depending on the ticket issuer, which can be one of many.
We should update the code to support multiple public keys depending on the DevCon ID.

I think that good way to fix it is to use TokenScript XML file with token configuration, including issuer public key.
As option - we can save token config in the SmartContract
@colourful-land , does it make sense?


possibility to disable autocertbot?

is there any way to disable certbot at startup? for situations where you already have the certificate, you don't need the creation and it's stopping the server to boot up.

Hello,
there is no certbot included in the suggested deployment of ddns but there is the webserver Caddy 1 (not Version 2 which is the default now) that has an automatic/automagic HTTPS feature which is enabled by default. You have multiple options here:

use another webserver container instead of caddy
disable HTTPS by replacing the first line in docker/caddy/Caddyfile with http://{$DDNS_CADDY_DOMAIN} {
configure Caddy (old docs as tar.gz https://caddyserver.com/caddy-v1-docs-archive.tar.gz) to use preexisting certificates and mount these certificates into the caddy container

Hello,
there is no certbot included in the suggested deployment of ddns but there is the webserver Caddy 1 (not Version 2 which is the default now) that has an automatic/automagic HTTPS feature which is enabled by default. You have multiple options here:

use another webserver container instead of caddy
disable HTTPS by replacing the first line in docker/caddy/Caddyfile with http://{$DDNS_CADDY_DOMAIN} {
configure Caddy (old docs as tar.gz https://caddyserver.com/caddy-v1-docs-archive.tar.gz) to use preexisting certificates and mount these certificates into the caddy container

That did the thing.
Thank you very much!


Import, export default file

I can assume that many libraries have one file with a public interface in the lib directory (to say for sure, you need to analyze the packages on dart.dev for example). All other library files are located in lib/src and are not used by the user of the library.
With that said, I think it's not always necessary to write lines like import 'package:json_annotation/json_annotation.dart'; in your code.
Is it possible to make it so that if a filename is not specified after the package name, then some file from the lib directory would be imported by default. You can make this name depend on the package name and match it. But it will be more convenient to use a file with a fixed name: index.dart, main.dart, ...
In this case, it will also be possible to specify a specific file name.

That is part of the shorthand suggested in https://github.com/dart-lang/language/issues/649, and is probably a language feature. (Unless we choose that interpreting dart: URIs is part of the tools instead.)

Perhaps I didn't read it in detail. I just thought it would be nice to have that option. There is something similar in javascript.
Additionally, I note that for relative paths one could always require a prefix: ./src/filename, .src/filename
../src/filename
..src/filename.
If a prefix is used, then when working with the IDE, prompts are displayed that are required.

I believe the original proposal in https://github.com/dart-lang/language/issues/649 suggested using a leading ./ or ../ for relative paths. (People did not like that.)
Closing this issue as a duplicate of the language repo issue, so put suggestions there instead. This is a language change.


Rhino Inside breaks Revit Keyboard Shortcuts

Versions: Revit 2<IP_ADDRESS> and Rhino Work In Progress (7.0.19163.2505, 2019-06-12).
The Revit Keyboard Shortcuts file (%APPDATA%\Autodesk\Revit\Autodesk Revit 2019\KeyboardShortcuts.xml) get's overwritten by Rhino Inside, and subsequently all Revit shortcuts disappear.

Fixed in #115