warning: failed to parse serde attribute #[serde(rename_all = "camelCase")] on enum struct variant

Hello,
I set #[serde(rename_all = "camelCase")^1 on enum struct variants:
#[derive(Serialize, Deserialize, TS, Clone)]
#[ts(export, export_to = "../src/model/")]
#[serde(rename_all = "camelCase")]
pub enum TaskStatus {
  #[serde(rename_all = "camelCase")]
  Running { started_time: chrono::DateTime<Utc> },
  #[serde(rename_all = "camelCase")]
  Terminated {
    status: i32,
    stdout: String,
    stderr: String,
  },
}

But I have the following warnings:
warning: failed to parse serde attribute
  |
  | #[serde(rename_all = "camelCase")]
  |
  = note: ts-rs failed to parse this attribute. It will be ignored.

And the generated Typescript for the enum struct variants' fields are in snake_case (eg. started_time).
Version: ts-rs = { version = "6.2.1", features = ["chrono-impl", "uuid-impl"] }

It seems to be an issue with most serde field attributes, I get the same with #[serde(skip_serializing_if = "Option::is_none")], and there's a pull request for fixing the same issue for [serde(with = "...")]: #146

As @escritorio-gustavo mentioned, the no-serde-warnings can disable these warnings.
I think I'd still like to keep this issue open, in case we want to support serde's rename_all in the future.

right now, it's sadly neccessary to rename each field individually with ``#[serde(rename = "..")]or#[ts(rename = "..")]`

My mistake, due to #165 I thought #[serde(rename_all = "..")] was generally supported and this issue was just older than support for it, I didn't notice it didn't apply to enums

right now, it's sadly neccessary to rename each field individually with #[serde(rename = "..")] or #[ts(rename = "..")]

Hey @NyxCode... I have forked the repo to start working on a fix.
I wrote the following test:
use serde::{Serialize, Deserialize};
use ts_rs::TS;

/// Used enum from issue to test
#[derive(Serialize, Deserialize, TS, Clone)]
#[ts(export)]
#[serde(rename_all = "camelCase")]
pub enum TaskStatus {
  #[serde(rename_all = "camelCase")]
  Running { started_time: String }, // Changed to string because the `chrono` dependency doesn't include the `serde` flag
  #[serde(rename_all = "camelCase")]
  Terminated {
    status: i32,
    stdout: String,
    stderr: String,
  },
}

#[test]
pub fn enum_struct_variant() {
    assert_eq!(TaskStatus::inline(), r#"{ "running": { startedTime: string, } } | { "terminated": { status: number, stdout: string, stderr: string, } }"#)
}

And the test is passing... Has the rename_all been fixed in the time since this issue was opened in a forgotten commit or am I doing something wrong?

The format_field function used to format enums containng structs does receive a rename_all parameter
fn format_field(
    formatted_fields: &mut Vec<TokenStream>,
    dependencies: &mut Dependencies,
    field: &Field,
    rename_all: &Option<Inflection>,
    generics: &Generics,
) -> Result<()>

@escritorio-gustavo Hey!
Thanks for testing that, it seems you're right!
Maybe I got tripped up by an inconsistency our camelCase implementation has with serde (I'll add an other issue for that), idk.
Since you've already got the test, could you make a PR for that?

The rename_all fix was introduced in #122


IMPROVING FOOTER-Section [GSSOC'23]

Is your feature request related to a problem? Please describe.
I went through the website and noticed that the footer-section needs some improvement. This issue aims to enhance the footer by adding valuable content and essential links that will improve user engagement and provide easy access to important resources.
Current footer is -

Describe the solution you'd like
I would like to add popular social media icons (e.g., Twitter, Facebook, LinkedIn, etc.) into the footer, linking to the project's official social media profiles. This will facilitate social sharing and help users stay connected with the project.
After updating the footer would look like this -

If you like this enhancement kindly assign me this issue under GSSOC'23.
@AshutoshDash1999
Thankyou.
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

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

Thankyou .

@AshutoshDash1999 May I work on this as it's already been 3 weeks?

@VSatwika this issue is already resolved #240


Swap out "Looking to Make an Inscription" with Hiro content.

At the moment, in the ordinals explorer, we are driving people to another platform to make inscriptions. I suggest we swap that out with
Intro to Ordinals Dev Tools
https://www.youtube.com/watch?v=m6D770sPlAk&t=3s
or this ordhook tutorial
https://www.hiro.so/blog/how-to-get-ordinals-inscription-data-with-ordhook

@elenananana: Good observation. +1 to point to a tutorial or a developer guide (if we have one). My only pet peeve with YT/Blog linking is that they can get outdated quickly, and having a persistent link for outdated content may not be useful to users. But I agree with pointing to what we have access to and maintain.
@smcclellan: It is a low-lift ask, but I still marked it as a low priority whenever the team has cycles and can context switch.


Small documentation improvements

As for me as a new user, there were parts in documentation, that could be improved:

Misleading edge modification
No clear example to distinguish replace/update operations
No context in first Graph operation example
There were easier way to create new user with new database/

Thanks! You can view the nightly generated devel documentation at https://docs.arangodb.com/devel/


Error 410 The author deleted this Medium story

https://www.rusoto.org/lambdas.html >
Building for Lambda >
Creating my first AWS Lambda using Rust >
https://medium.com/@kkostov/rust-aws-lambda-30a1b92d4009 >
Error 410 The author deleted this Medium story.

@amitkumar50 i have written lambdas based on https://github.com/awslabs/aws-lambda-rust-runtime and https://github.com/softprops/serverless-rust. The examples provided there are pretty easy to follow. Their authors also happen to contributors to this SDK 😄
@iliana if possible i think the documentation at rusoto.org/lambdas.html should be updated to point to those two projects.

Agreed, thanks for the suggestion!
If you could make a pull request to https://github.com/rusoto/rusoto.github.io/blob/source/src/lambdas.md I would appreciate it.

Will do. 👍

https://github.com/rusoto/rusoto.github.io/issues/118 is this issue in the https://rusoto.org repo. 👍


Code in Zipfile at the beginning of Tutorial Step 11 does not compile

The zipfile https://github.com/Urigo/meteor-angular2.0-socially/archive/step_09.zip
available at the top of http://www.angular-meteor.com/tutorials/socially/angular2/running-your-app-on-android-or-ios-with-phoneGap
does not compile.
Error message:
client/parties-form/parties-form.ts (4, 31): Cannot find module 'angular2/angular2'.

@Sauermann I've deployed a new version, can you check if that's still the case?

Looks good. Thanks for the update!


Add scaffoldMessangerKey to GetMaterialApp class

Recently Flutter made changes about how snackbar should appear and made snackbars to show without depending on current context as if snackbar is shown and current route is removed snackbar will still appear so in this PR and i extended GetMaterialApp with scaffoldMessangerKey.

Thank you for that. I was actually looking at it now, because I plan to remove the SnackRoute, and create a ScaffoldMessenger with our snackbar features. The advantage of this is that you can have a Snackbar on all screens, since the ScaffoldMessenger class is inside MaterialApp's WidgetApp builder.
I will work on it. Thanks.
LGTM


Slider rewinding when reaching the end

Hello, when using using infinite mode, after the slider reaches the end, instead of continuing to loop, it quickly rewinds back and then continues sliding.
https://jsfiddle.net/f1q9x4Ld/2/

I also have the same problem if lazyLoad is enabled and i am clicking through the arrows.
https://jsfiddle.net/6bmL4zxs/1/

Duplicate #698


Better ordinal scale

@domoritz  this is probably good enough for the video - but need some clean-up after deadline — especially fixing tests.

Just fixes the test.


iOS - Images don't load on initial page load until scroll

On iOS devices (so far only tested on an iPhone 5s running iOS 11.3) I can't seem to get any of the in-view images to load initially. It always requires a scroll (even the slightest triggers it). Have you ever seen that behavior?

i have used for my project, didn't have issue. can you try out the demo see if there is an issue
https://react-simple-img.herokuapp.com/

Yeah, that works fine. I imagine it has to do with that same issue in #16 which I think is likely due to using an overflow div. Have you tried that?

what do you mean overflow div? you have a link to your page?

page looks nice :)  for ios device is using intersection observer poly-fill, because intersection observer API still under development.
https://github.com/w3c/IntersectionObserver
I reproduce the issue on my phone, is there a way you can trigger scroll event on ios device for the meantime until observer interaction is ready for iOS device with overflow scroll?


Dockerize script to compile vrouter on ubuntu/rhel/fedora

Use docker containers to create a scratch environment to compile the vrouter kernel module.

This is now achieved via the ansible provisioning in github.com/Juniper/container-network-ansible.


Add CIDR overlap verification.

What this PR does / why we need it:
At this moment we lack verification for when different CIDRs must or not overlap. Users can create Seed and Shoot resources which simply fail to be created.
On all providers Pod, Nodes and Services CIDRs must not overlap.
Following provider-specific verification are added:
AWS:

Worker, Public and Internal, Pods and Services must not overlap.
Nodes must contain all of Worker CIDRs.
If VPC cird is provovided, then it must contain Node,  Public, Internal and Workers CIDRs.
If VPC cird is provovided, then it must not contain Pods  and Services CIDRs.

Alicloud:

Worker, Pods and Services must not overlap.
Nodes must contain all of Worker CIDRs.
If VPC cird is provovided, then it must contain Node  and Workers CIDRs.
If VPC cird is provovided, then it must not contain Pods  and Services CIDRs.

Azure:

Worker, Pods and Services must not overlap.
Nodes must contain all of Worker CIDRs.
If Vnet cird is provovided, then it must contain Node  and Workers CIDRs.
If Vnet cird is provovided, then it must not contain Pods  and Services CIDRs.

GCP:

Worker, Pods and Services must not overlap.
Nodes must contain all of Worker CIDRs.

OpenStack:

Worker, Pods and Services must not overlap.
Nodes must contain all of Worker CIDRs.

Which issue(s) this PR fixes:
Fixes #535
Special notes for your reviewer:
Please take a look at the release note as it's a backwards incompatible change (as is any verification changes).
I'll update the shoot validator in separate PR.
Release note:

⚠ Strict `Seed` and `Shoot` CIDR verification rules are now enabled.
`Shoot` or `Seed` resource created previously with invalid configurations MUST be deleted, before updating to this version. Failing to do so, will cause ANY modification to said resources (including attempted deletion) to be rejected by the apiserver.

This validation is very helpful for users. I question whether it's that critical to introduce such a check at the moment, though.
IMO, we'd rather push our Extensibility plans and this change contradicts since it adds cloud specific logic to an area that will be supposed to become cloud neutral.

@timuthy I agree, but even with extensibility, those checks should be added to all providers anyways. It's better to have them, so they can be ported to external providers.

Please enhance the tests
@rfranzke I avoided that, so the PR doesn't become even further bloated.

Please do it at least for your newly introduced tests.

@rfranzke which tests are you referring to?

See above, all new tests you introduced that either use
Expect(el).To(HaveLen(1))
Expect(*el[0]).To(Equal(field.Error{
	Type:     field.ErrorTypeInvalid,
	Field:    badPath.String(),
	BadValue: badCIDR,
	Detail:   `must not be a subset of "foo" ("<IP_ADDRESS>/8")`,
}))

or your custom function
assertErrorList(...)

@rfranzke I've fixed the test issues in 5c5c498 for easy review . I'll squish it before merge.

resolved in 89bbc29

@mvladev Can you please check whether correctness of the provided CIDRs is validated?
We have seen a cluster that used <IP_ADDRESS>/26 which is invalid.
To give more background information: A user was trying to create a multi-zone AWS cluster with those three CIDRs:
<IP_ADDRESS>/26
<IP_ADDRESS>/26
<IP_ADDRESS>/26

Not only was the second one wrong but also it would overlap with the third one. Can you check if we have a bug, please?

We have seen a cluster that used <IP_ADDRESS>/26 which is invalid.

It's a valid CIDR. See https://play.golang.com/p/B8TfNEaH84h. The netmask is <IP_ADDRESS> and it applies for addresses <IP_ADDRESS> - <IP_ADDRESS>.
Should it be specified as the canonical  <IP_ADDRESS>/26? Probably. Is it invalid CIDR - it's not.

Not only was the second one wrong but also it would overlap with the third one.

There is no overlap:
$ sipcalc <IP_ADDRESS>/26
-[ipv4 : <IP_ADDRESS>/26] - 0

[CIDR]
Host address            - <IP_ADDRESS>
Host address (decimal)  - 184156160
Host address (hex)      - AFA0000
Network address         - <IP_ADDRESS>
Network mask            - <IP_ADDRESS>
Network mask (bits)     - 26
Network mask (hex)      - FFFFFFC0
Broadcast address       - <IP_ADDRESS>
Cisco wildcard          - <IP_ADDRESS>
Addresses in network    - 64
Network range           - <IP_ADDRESS> - <IP_ADDRESS>
Usable range            - <IP_ADDRESS> - <IP_ADDRESS>

$ sipcalc <IP_ADDRESS>/26
-[ipv4 : <IP_ADDRESS>/26] - 0

[CIDR]
Host address            - <IP_ADDRESS>
Host address (decimal)  - 184156256
Host address (hex)      - AFA0060
Network address         - <IP_ADDRESS>
Network mask            - <IP_ADDRESS>
Network mask (bits)     - 26
Network mask (hex)      - FFFFFFC0
Broadcast address       - <IP_ADDRESS>
Cisco wildcard          - <IP_ADDRESS>
Addresses in network    - 64
Network range           - <IP_ADDRESS> - <IP_ADDRESS>
Usable range            - <IP_ADDRESS> - <IP_ADDRESS>

$ sipcalc <IP_ADDRESS>/26
-[ipv4 : <IP_ADDRESS>/26] - 0

[CIDR]
Host address            - <IP_ADDRESS>
Host address (decimal)  - 184156288
Host address (hex)      - AFA0080
Network address         - <IP_ADDRESS>
Network mask            - <IP_ADDRESS>
Network mask (bits)     - 26
Network mask (hex)      - FFFFFFC0
Broadcast address       - <IP_ADDRESS>
Cisco wildcard          - <IP_ADDRESS>
Addresses in network    - 64
Network range           - <IP_ADDRESS> - <IP_ADDRESS>
Usable range            - <IP_ADDRESS> - <IP_ADDRESS>

OK, can we then implement validation that only canonical CIDRs are used?


RetroFlow Adrenaline Booter : Problem with PSP launching another executable

Hello,
First thanks for your Work, RetroFlow is great.
But I have a problem and I think it's an issue with PSP games that launch another .bin : especially with Castlevania Dracula X Chronicles (ULES00841) and Crazy Taxi Fare Wars (ULES00811) (maybe the problem is the same with Power Stone Collection, and the Capcom Classics...)
There is strange behavior in comparison with Adrenaline (of course, I use ISO for theses game)  :

When launching directly from Adrenaline, they work fine with INFERNO driver, the Original game Symphony of the Night in Castlevania Dracula X Chronicles is working without problem ; NP9660 driver does not work correctly with theses games.

When Launching from RetroFlow Adrenaline Booter, with INFERNO or MACH33 driver, when you try to launch an original games in Castlevania or a game in Crazy Taxi Fare Wares, it move you to the PSP startup, but then if you want to exit the PSP mode, all the Vita is broken, you can't launch app, and even shutting down the consoles is not properly possible.

When Launching from RetroFlow Adrenaline Booter with NP9660 driver, it works better as it boot the other executable ! Crazy Taxi Fare Wars seems to work correctly (I haven't test it properly), but when launching SOTN from Dracula X Chronicles, it's strange : the game is booting, you can access the menu, but when you want to start or load a game, it freeze, and it break the Vita like with INFERNO....

Maybe I made something wrong ? But I think there is something strange as from RetroFlow Adrenaline Booter, the logic is not the same as from Adrenaline, and also, there is no good solution to make the Original games from Dracula X Chronicles working correctly, so I think it's an issue.
I use a Nightly build from friday 04/14/2023 and I can provide a save for testing the original game for Castevania Dracula X Chronicles (ULES00841) if necessary.
Last note maybe useful, I used to use the Vita Launcher from cy33hc, and I had no problem with it's Adrenaline Booter, if it can help you !
Thanks in advance for your work, and I can do more test if you need to.
Best Regards,

Ok, after trying many times, I manage to get something working, but there is instability :
In fact, the SOTN game is working OK with MARCH33 driver while booting with RetroFlow, but, for that, you need to set :

PS Adrenaline Button to "Menu" in other settings
Driver to "MARCH33" in the Adrenaline Settings
And for a strange reason, it works best with EBOOT.BIN as "Exe"

With this setup, the game Works perfectly, but, there is another problem !
I don't know why (I try different sequence of launching PSP and PS1 games), but sometimes, RetroFlow seems to not pass the Adrenaline Option to the Adrenaline booter, and the game start with INFERNO, so it does not work as intended.
That is why I though that there is a strange problem with Adrenaline booter at first, but in fact, I think there is an issue with passing the option from RetroFlow to the Adrenaline Booter.

Castlevania Dracula X Chronicles (ULES00841) works using the default driver and default execute setting.
Crazy Taxi works when you select the March33 driver and the default execute setting (save the setting before launching).
Crazy Taxi will crash on game start using default settings in both RetroFlow and also Vita launcher.
I don't think there's an issue with RetroFlow, if you find a game doesn't work, it's best to research which driver to use rather than trial and error as choosing the wrong one will cause problems shutting down the vita.

Hello !
Thanks for you answer.
"When you are changing the drivers etc. in RetroFlow are you saving the change before launching?"
--> Yes, I am !
"Or if you can say, I selected this driver, but it's loading a different one."
--> after some trial and error, it's the last issue I have with retroflow : I save setup to launch with MARCH33, but when launching with retroflow, I will say about 1 times of 4, it boot with the default settings instead, I saw this in the Booter menu in Adrenaline : it fall back to INFERNO (the default).
I will try to create a bubble to make some tests is the behavior is the same.
"Castlevania Dracula X Chronicles (ULES00841) works using the default driver and default execute setting."
--> The main game yes works without problem, but you can unlock Original Game while playing ("Symphony of the Night" and "Rondo of Blood"), and when you launch these games within the main menu, it's where the default driver does not work.
It just strange it's that from Adrenaline, the game works totally with INFERNO, but this is probably a problem with Booter in fact.
And for information, I'm using Adrenaline v7 and booter 1.3

Re-Hello,
Because long text isn't always the best, I made a video to show you what's happen :
https://user-images.githubusercontent.com/53452062/233013723-42103b4f-5a25-44ca-b922-ff68678edea1.mp4
Today it's always failed to launch with MARCH33, unless I go in the Adrenaline menu and re-save the setup.
Thanks in advance !

Hi again @PukeGX ,
Thanks for the video it was really helpful.
I think I've found and resolved the issue if you would like to try the VPK in the nightly build:
https://github.com/jimbob4000/RetroFlow-Launcher/releases/tag/Nightly
Thanks for your patience

Thank you, man ! You're great !
It works perfectly as intented (after a load of test. :) ) !
Sorry for not being clear at first, I wasn't sure about what's happening, but you fix it really quickly !
Thanks you to be so fast, and to make PSVita survive the time ! This portable console is just perfect, and with RetroFlow, I love the fact to have one big menu to launch any game !
It's just perfect now !
Just Thanks !

No problem 👍


Removed the get_decision_type function and from the to_dict function …

…considering there are no apellate cases anymore
Description
Since there are no more appellate cases we removed the get_decision_type function and the call in to_dict
Fixes # (reduces confusion by removing unnecessary code.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have removed unnecessary comments/console logs from my code
[ ] I have made corresponding changes to the documentation if necessary (optional)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings
[x] No duplicate code left within changed files
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

Co-authors: Zunera Bokhari, Trevor Dewalt

here's the video for this PR https://www.loom.com/share/76cd4bc34b764f09bbe6f4db9f842da3 sorry I forgot to do it initially


Provider Fails from Linux CLI

While the Akash Terraform provider executes from MacOS without issue, attempts to execute from Linux CLI fail with message:
Error: too many failed passphrase attempts
The issue would appear to be access to the private key and stored with the keychain.  In MacOS a user may authorize current user access to the keychain without future passphrase entry.  However this is not possible from the Linux CLI and this necessitates a passphrase entry to access the keychain entry.  When terraform apply is initiated from Linux CLI > provoked transactions prompt for a passphrase entry > none is provided in the automated deployment via the provider > and after several attempts to elicit the passphrase from the user the error message provided is received.
Tested from Ubuntu 22.04 CLI.

This happens also to me as well, however, I think this is a security measure on linux as the keyring is protected.  I found this solution in a different forum:
echo -n "$pass" | gnome-keyring-daemon --replace --unlock  perhaps this could help to unlock the keying in a automated way.

@chainzero
terraform-provider-akash sets AKASH_KEYRING_BACKEND=os by default https://github.com/cloud-j-luna/terraform-provider-akash/blob/fc8e25e2d2/akash/provider.go#L35
To make it work so that it does not ask you for the password prompt to unlock the keyring manager (when keyring backend is os) or to unlock your key directly (when keyring backend is file), you need to use the test keyring backend so it won't ask you for the password prompt.
To do so you have to make sure to export the following env variable:
export AKASH_KEYRING_BACKEND=test

as well as your .tf formula should set the same keyring backend - test:
provider "akash" {
  keyring_backend = "test"

To do so you have to make sure to export the following env variable:
export AKASH_KEYRING_BACKEND=test

as well as your .tf formula should set the same keyring backend - test:
provider "akash" {
  keyring_backend = "test"

Would like to add that the .tf configuration takes precedence to environment variables. If you define them in your provider config there is no need to set it as an environment variable.


Class inheritance

Classes and interfaces cannot inherit from others right now. We should add this.

I'd like to start researching this. This will certainly be the deepest I've ever gone into the module system!

@rrdelaney I have some plans I think I can implement this week, but I thought I'd get your feelings on approach. You may already have seen the Discord convo a couple days ago, but it boiled down to implementing inheritance via denormalization. So, for each type from which a type inherits, you essentially reprint the non-overridden parts of the inherited types, for each inheriting type. I haven't fully tested it, but rough examples printed at the bottom.
I can think of two reasons not to do this:

Potentially very long duplicated type bodies
Declarations outside the body of the inherited type itself that accept/return/store it seem like they'd require our compile step to be aware of every subtype of that type. Js like declare function genericArg<T: A>(a: T): string would need a Reason equivalent for each extends A that exists, which based on my limited compiler knowledge seems like it would require awareness of a much larger context than most of the conversion logic. Does this strike you as problematic?

An alternate option would be "all classes are open Js.t objects, so inheritance is just a type argument". I think this is technically not true in Flow, and it could conceivably mean that a BS-generated object could have extra members that somehow trigger unwanted behavior; maybe the underlying JS checks for some key foo and if it finds it, does something unexpected. However, it seems like it would cleave closer to idiomatic Reason, seem more "natural", and...probably mostly work. Thoughts?
Example of the first approach, in case my description had any ambiguities:
JS:
  declare export class A {
    constructor(s: string): A,
    fn1(a: number): string
  }

  declare export class B extends A {
    constructor(s: string): B,
    fn2(b: number): string
  }

RE:
module A = {
  type t = Js.t {.
    fn1 : (float => string<EMAIL_ADDRESS>  };
  external make : string => t = "A" [@@bs.new];
};

module B = {
  type t = Js.t {.
    fn1 : (float => string<EMAIL_ADDRESS>    fn2 : (float => string<EMAIL_ADDRESS>  };
  external make : string => t = "B" [@@bs.new];
};

@bbqbaron I saw the discussion on Discord - super through 👍
I don't know if this implementation would work though because OCaml uses nominal typing, but matching against structure. For example the following code causes a compile error in BuckleScript:
type class1 = Js.t {. x: float };
type class2 = Js.t {. x: float, y: string };

external print_class : class1 => unit = "console.log" [@@bs.val];
let class1_instance: class1 = [%bs.raw "{ x: 1 }"];
let class2_instance: class2 = [%bs.raw "{ x: 1, y: 'hello' }"];

print_class class1_instance;
print_class class2_instance;

Although class2_instance has all properties needed to satisfy the type class1 it cannot be passed as an instance of it. I image we would need to generate code similar to that for the following JS:
declare module 'test' {
  declare class Base { x: number };
  declare class Sub extends Base { y: string };

  declare function print(b: Base): string
}

Although in Flow we could pass an instance of `Sub` into `print`, the above OCaml doesn't allow it.

Is there anyway around that? Otherwise I don't have any problem generating a super-long definition per type.

I think it's ok if we delay this feature a bit, we should start throwing a compile error when a class extends another though.

Sure, no problem; I can add the failures quite soon.
I was also mulling over the larger issue a little. To answer your question, I think the brute-force solution is simply to duplicate declarations for all known possible cases. So, in your example, print_class would need to be re-declared as accepting every subclass of Base that exists:
external print_class1 : class1 => unit = "console.log" [@@bs.val];
external print_class2 : class2 => unit = "console.log" [@@bs.val];

(ignoring for a moment whether we care about mangling the name print_class or not)
Further, if one set of decls (let's call it A) refers to another B and A subclasses anything in B, you'd also need to reprint any declarations from B that are now contained in or need to refer to any of the new subclasses from A, wouldn't you? So if B has a class C and a function doStuff<T: C>(t: T), and A has class D: C you'd need to declare doStuff(t: D), and so on and so on.
That doesn't necessarily seem intellectually difficult; it just smells complex/wide in terms of adequate testing, recursion, making sure you don't miss cases, etc. Does my logic hold up?
If so, it makes me kind of favor an earlier option: Just make classes open types. They technically aren't, but anything in flow that takes an A also takes its subclasses, and as you say, we aren't vulnerable to collisions of structural typing, which I think removes a lot of vulnerability. There are some edge cases and fine points, to be sure, but doesn't it seem more sort of...natural to just say, look, a class is Js.t {..}? Mind if I POC that, or was that option already discussed and discarded somewhere?

Class inheritance rejected in feaf58c

I think there are more problems that arise from copying members and methods that creating a permutation can't solve. For example, when we support importing files, the following would need duplication across files:
// A.js
declare module 'A' {
  declare export class A {
    print(a: A): void
  }
}

// B.js
import type { A } from 'A'

declare module 'B' {
  declare export class B extends A {
    other(b: B): void
  }

  declare export var b: B
}

I think it would cause too many problems for us in the future, and it might be a good idea to put it on hold. You're right in that doing all of this is theoretically easy, but it's a serious smell.
Thanks so much for adding the extends check, my code broke the tests a while ago though. I don't think it was that change.

Just to make sure I understand, is the classes-as-open-objects a no-go? It seems like it would enable the important parts of inheritance behavior.
Also, it occurs to me that we should implement interface inheritance no matter what! I've been focused on classes this whole time, but interfaces are clearly open, right? We could at least knock those out.

Can you paste an example of what the code generation would look like for open objects?

Sure; how does this strike you? It's based on how I think about classes, which is, conveniently, "basically open objects"; I may be missing some of the fine points of deep OO. This seems to work in try-reason, or at least doesn't have compile errors!
module A = {
  type t 'a = Js.t {..} as 'a;
  external make : unit => t 'a = "A" [@@bs.new];
  external aFunc : t 'a => string = "";
};

module B = {
  type t 'a = A.t (Js.t {..}) as 'a;
  external make : unit => t 'a = "B" [@@bs.new];
  external bFunc : t 'a => float = "";
};

module C = {
  type t 'a = B.t (Js.t {..}) as 'a;
  external make : unit => t 'a = "C" [@@bs.new];
};

let b: B.t (Js.t {.}) = B.make ();
let bString = A.aFunc b;
let c: C.t (Js.t {.}) = C.make ();
let cString = A.aFunc c;
let cFloat = B.bFunc c;

The snippet didn't compile for me in try 😅 I think if I'm reading this right though, all classes become open object types, and we pass them into methods defined on the module, rather than access with class##property.
If my interpretation is correct, the solution above works, however I think we would be breaking type contracts for a lot of libraries. In the above example, you can pass c to any function in any other class module, which means we couldn't constrain the types to a subtype.
Is there any way we could constrain those objects to only be passed to certain methods?

Sorry, could you elaborate/expand on this part?

In the above example, you can pass c to any function in any other class module, which means we couldn't constrain the types to a subtype.

Maybe an example of where this could misbehave? I think I'm just not parsing the terminology correctly.

Is this still the best workaround in absence of this feature?
module Animal {
  type t;
  val name: () => string;
}

module Mammal {
  type t;
}

external asAnimal : Mammal.t => Animal.t = "%identity";


scheduler opt-in forwarding

Problem

In #898 we re-added forwarding to support those with swqos side-deals to use the central scheduler.
This behavior is useless for any operators using the central scheduler if they do not have such side-deals

Summary of Changes

SchedulerController is now configurable and can enable forwarding or not.
Add CLI argument enable-block-production-forwarding

this makes forwarding opt-in. Any operators with side-deals should enable this if they want it to actually do forwarding.

Fixes #

Diff is not too bad, relatively easy to make this opt-in. cc @diman-io for awareness.
@t-nelson I think if we merge #1663 we should strongly consider backporting this immediately after.
This PR basically returns scheduler (by default) to the current behavior that is on MNB.

@t-nelson is there anything else to do here?


[GH-198] Use Mattermost Username as display name in jitsi

Summary
Use the Mattermost Username as default display name in Jitsi. Given that the user needs to confirm the display in the loby, there is no need for a setting.
Ticket Link
Fixes https://github.com/mattermost/mattermost-plugin-jitsi/issues/198

Codecov Report

Merging #205 (b797a7b) into master (558c303) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #205   +/-   ##
=======================================
  Coverage   45.47%   45.47%
=======================================
  Files           7        7
  Lines         873      873
=======================================
  Hits          397      397
  Misses        451      451
  Partials       25       25

Continue to review full report at Codecov.

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

@dipak-demansol This PR is ready for your review

@hanzei tw-ayush:160 issue is also fixed in this PR, what should we do now?

https://github.com/mattermost/mattermost-plugin-jitsi/pull/173 is not part of part of this PR

@hanzei i found 3 issue But  now its not reproduced, After merge this PR i like to test it again, For now its LGTM.

remove the jitsi/disable the plugin then change the mattermost user name then install the jitsi build of this PR or enable the plugin then start the new meeting and join and you will see the old name, after refresh the page you can see the updated name in the jitsi.

using 2 different mattermost server, 1 contain market build and 2nd have this PR build then start call from server1 then start call from server 2 and you can see the server2 jitsi call have server1 mattermost users name.

Tested with the Master Branch, LGTM.


Drag And Drop Builder For New Database Table?

I created the sliders table, how do I drag and drop the menu builder like for sorting?

The Javascript functionality for the menu builder is inherent to that feature of Voyager. You would have to implement that functionality in a custom view in order to have that sort of sorting available to that model/DB table.

How can use it?

@tufkan, @mdellaly is right. This is functionality specific to the menu builder. If you want similar functionality for something you're building, you'll have to either isolate the JavaScript for the menu builder and fit it into yours, or implement it from scratch (choosing whatever library you wish to use).
In either case, this is not a Voyager issue.  You're welcome to post on larachat or in the laracasts forum for further assistance.  You can post in our slack group as well, but you'll likely have better luck with one of the others.


Notifications for several bluetooth clients.

Esp32 acts as a server, several devices are connected to it. And at the moment, I could send a response notification only to the last connected client. I propose to add the ability to send a message to all clients simultaneously, and to each individually, in the " void BLECharacteristic :: notify (bool is_notification)" function.

You can use conn_id as an identifier for sending data.

Hi @ArTyGill
as far as i remember notifications should be send to all connected devices, but its possible your test are more thorough and i missed something.

@chegewara yes that's right, I use the old library, and I fixed it myself, but sometimes the notification can only be addressed to one of the clients, if the client writes a characteristic to ble, I use its conn_id to send a response message, and then the notification comes only to a specific client , I also realized for myself the possibility of sending messages to all clients if I pass to the function -> notify (-1) instead of conn_id.


Add support for RHEL9 family,  SELinux and OS with polycoreutis package

Description
Selinux 3.5 introduces real support for security contexts. Therefore, installing on the latest versions of rhel-like OS will always fail. That happens because in scripts that send configuration files to a remote host, the files are moved from /tmp directory preserving the source context.
Solution

Support operating systems based on RHEL 9 - RHEL 9, Oracle Linux 9, Rocky Linux 9, CentOS 9 Stream.
Move files from /tmp setting the default SELinux context of the target location, using mv -Z option.

Tests
Procedure installation, backup and restore tested on RHEL 9, Oracle Linux 9.2, Rocky Linux 9.2 and CentOS 9 Stream
Checklist

[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] Integration CI passed
[x] Unit tests. If Yes list of new/changed tests with brief description
[x] There is no merge conflicts

Unit tests

def test_specific_os_family_cri_association_upgrade_required
Add rhel9 family
def _packages_for_cri_os_family
Add rhel9 family os

In some cases keepalived.service will not start. It nappens, cause enable service --now  enable and start service with default config wich contain name eth0. In some virtual machines (like in cloud) default interface named differently. And in new version of systemd start with wrong config will be crushed. I changed logic to install keepalived. In last commit function install  in keepalived.py will do install and patch. Service enabled and start in function configure .

Could you resolve some failed jobs?
https://github.com/krang404/KubeMarine/actions/runs/5690554338/job/15424116930
https://github.com/krang404/KubeMarine/actions/runs/5690554338/job/15424116717

Going to test this PR on internal RHEL9 environment

Hi @krang404
Please tell me which image of the system do you use for testing?
Please send the output of the cat /etc/*-release command
I want to clarify the id of your image

Hi @krang404 Please tell me which image of the system do you use for testing? Please send the output of the cat /etc/*-release command I want to clarify the id of your image

This PR was tested in Oracle Linux 9.2 (1st) and CentOS 9 Stream (2nd). Also, I installed k8s on Rocky Linux 9.2 with subj.
OL9
NAME="Oracle Linux Server"
VERSION="9.2"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Oracle Linux Server 9.2"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:9:2:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 9"
ORACLE_BUGZILLA_PRODUCT_VERSION=9.2
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=9.2

CentOS 9 Stream
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"

Rocky Linux 9
NAME="Rocky Linux"
VERSION="9.2 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.2 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.2"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.2"

Hi @krang404 Please tell me which image of the system do you use for testing? Please send the output of the cat /etc/*-release command I want to clarify the id of your image

This PR was tested in Oracle Linux 9.2 (1st) and CentOS 9 Stream (2nd). Also, I installed k8s on Rocky Linux 9.2 with subj.
OL9
NAME="Oracle Linux Server"
VERSION="9.2"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Oracle Linux Server 9.2"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:9:2:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 9"
ORACLE_BUGZILLA_PRODUCT_VERSION=9.2
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=9.2

CentOS 9 Stream
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"

Rocky Linux 9
NAME="Rocky Linux"
VERSION="9.2 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.2 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.2"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.2"

Hi @krang404
have you tested RHEL 9 at home?
because I found an interesting point that my RHEL 9 image has an id named rhel.
it turns out your changes with the addition of RHEL 9 to global.yaml not working

NAME="Red Hat Enterprise Linux"
VERSION="9.2 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.2 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.2
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.2"
Red Hat Enterprise Linux release 9.2 (Plow)
Red Hat Enterprise Linux release 9.2 (Plow)

Red Hat Enterprise Linux version 9 have a problem with installation of policycoreutils-python-utils package. And I have not included support RHEL9 in this PR.

Also in new versions iptables are replaced to package iptables-nft  and cluster.yaml will need this section
    mandatory:
      iptables: false
    install:
      include:
      - ethtool
      - socat
      - iptables-nft

Red Hat Enterprise Linux version 9 have a problem with installation of policycoreutils-python-utils package. (it is contained in OL9 Appstream Repo, but conflicted with some packages ). So, I am not including support RHEL9 in this PR. Installation was tested for 3 rhle9-like OS.

This package is in the centos repository, you can use it for testing

Red Hat Enterprise Linux version 9 have a problem with installation of policycoreutils-python-utils package. (it is contained in OL9 Appstream Repo, but conflicted with some packages ). So, I am not including support RHEL9 in this PR. Installation was tested for 3 rhle9-like OS.

This package is in the centos repository, you can use it for testing

This package is contained in many repos, but it has many problems with dependencies with python libs in RHEL9

Red Hat Enterprise Linux version 9 have a problem with installation of policycoreutils-python-utils package. (it is contained in OL9 Appstream Repo, but conflicted with some packages ). So, I am not including support RHEL9 in this PR. Installation was tested for 3 rhle9-like OS.

This package is in the centos repository, you can use it for testing

Hi @krang404
Why then do you add to global.yaml version of rhel9, if you haven't tested it?

Hi @krang404 Why then do you add to global.yaml version of rhel9, if you haven't tested it?

Hello. There is a misunderstanding. rhel9 in global.yaml means os_family and then I created this pr I wrote about rhel9 os family, not Red Hat Enterprise Linux version 9. If you look at the text in the description of PR, you will see it.

Hi @krang404 Please resolve conflicts in your pr

Hello @dmyar21. Done.

Hi @krang404 Please resolve conflicts in your pr

Hello @dmyar21. Done.

Hi @krang404
Please update the main branch in your repository from Kubemarine main and make sync fork main to fork selinux-support branch

Hi @krang404 Please update the main branch in your repository from Kubemarine main and make sync fork main to fork selinux-support branch
Because you have an outdated code there

Done.

@krang404  thanks for efforts. We are planning to adopt this feature in R2023.4.
If you would like to continue to support this PR pls communicate with @dmyar21 and/or @ilia1243  to update code with latest Kubemarine changes.

Hi @krang404, please sync main branch with Netcracker/KubeMarine main and merge main to the PR branch.
Alternatively, please invite me as collaborator, I will maintain the branch while we are adopting the feature.

Hi @krang404, I slightly changed the PR. I left only tested OS and removed Rocky 8.8, OL 9.1. Also changed packages compatibility and changed dealing with SELinux security context of files. Please confirm if the new changes still fit your needs.

Hi @krang404, I slightly changed the PR. I left only tested OS and removed Rocky 8.8, OL 9.1. Also changed packages compatibility and changed dealing with SELinux security context of files. Please confirm if the new changes still fit your needs.
Also actualized the PR description.

Yes, this is OK, thank you.

@OleksandrIaresko  pls validate in QA and provide feedback

@krang404  can you pls resolve conflicts with main  and add RHEL9 support for newly added k8s 1.28.3 in main as well. After that we will merge this feature

Add support to kubernetes v1.28.3 and test it in local environment for OL 9.2 and Rocky 9.2


Working with what kubebuilder is doing, document how to deploy to k8s

Release Note
NONE

/assign @grantr

This now contains all the hacks I had to do to get what kubebuilder gave me to work with nice things like ko. This is not all the work that needs to happen, but I am at workable demo state.

/test pull-knative-eventing-sources-go-coverage

readme.md is listed as a binary file, is there a reason for that?

I wish I knew why. I can't see why it is. -rw-r--r--@  1 nicholss  eng   2210 Oct 23 12:23 README.md

/test pull-knative-eventing-sources-go-coverage

/retest
/test pull-knative-eventing-sources-go-coverage

/test pull-knative-eventing-sources-go-coverage


Wagtail 2.11 compat

based on the previous pr, for changes see:
https://github.com/anfema/wagtail_to_ion/compare/make-models-abstract...wagtail-211-compat?expand=1

based on the previous pr, for changes see:
https://github.com/anfema/wagtail_to_ion/compare/make-models-abstract...wagtail-211-compat?expand=1


Commands Addition Request

Commands that allows you to automatically add sieve drop
/exnihilocreatio sieve addDrop "hand" (source) (Chance)
hand = Item holding in hand
/exnihilocreatio sieve addDrop "inventory" (source) (Chance)
Inventory = All items in inventory

Command that allows you to add crucible recipes
/exnihilocreatio crucible addRecipe (input) (output)

Command that allows you to add crucible heat sources
/exnihilocreatio heatsource addBlock (block) (heat)
/exnihilocreatio heatsource addLiquid (liquid) (heat)

Is there some reason using the json files isn't enough?

If you’re adding 120 drops(Gregtech Community Edition crushed ores) like me then it’s annoying


Fixes #1309 Removed version number from debug repl initialization mes…

…sage

Hi @karthiknadig, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Karthik Nadig). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

This is how it looks with the change:
Debug interactive window [PTVS 3.0.1000.00-14.0]
Type $help for a list of commands.
>>>

:+1:


Clean up N_MAX memory

as mentioned by title. There are some remaining codes regarding the N_MAX_MD, N_MAX_SG, N_MAX_T3, N_MAX_T5. These memories are already allocated dynamically, so these fixed value are no longer useful and create confusions.

Timing performance

efficiency comparison https://www.classe.cornell.edu/~ygu/www/clean_up_N_MAX_memory/eff_comparison_plots__PU200_5d1c67a_explicit_cache_PU200_751bb75_explicit_cache/

also, cuda-memcheck and nvprof works without issues

these variables are cleaned for N_MAX md, sg, t3, t5 in the code. checked by using grep.

it looks like some recent updates triggered conflicts
Conflicting files
code/core/write_sdl_ntuple.cc

is this PR waiting for something else, like #224 ? (IIRC, it was waiting for #212 and #216 at some point earlier)

No, this PR was only waiting for 212 and 216, not waiting for others. I'll fix the conflict and then update this. Thanks!

Hi Yanxi,
I am afraid that, with the latest update, you re-pushed a lot for previous commits, messing up the history and the changes of this PR. I would start from the master branch, cherry-pick the commits relevant only to this PR and then either make an n the PR or force-push the changes to this one. As it is, it's a bit hard to keep track of what has happened with your changes.

Thanks Manos! I think you are right, I think I can close this PR and only cherry-pick the one I changed and make a new PR on this:)

Thanks Manos! I think you are right, I think I can close this PR and only cherry-pick the one I changed and make a new PR on this:)

This PR is closed and another one replacing it will be pushed up soon


Support for #note linking syntax

Use case:
Every note is also a tag and linking to other notes can be done interchangeably with #note and [[note]] syntax (similar to how it works in Roam Research).
Could this be supported in Memo?
From the extension perspective, both types of links are exactly the same (later, maybe they can be displayed in a different style, but that's just cosmetics).

Hey! I have been thinking about this exact idea. Tagging is indeed semantically equivalent to linking, but do note that the direction of linking is different. When you open bar.md tag with #foo, it is equivalent to linking foo.md to bar.md.  See https://github.com/srid/neuron/issues/379
Also, one could support #[[note]], so that white space is supported in tags (i.e., #[[Hello World]]). This is just a specialization of the labelled directional links proposal at https://github.com/srid/neuron/issues/514

Hey! I have been thinking about this exact idea. Tagging is indeed semantically equivalent to linking, but do note that the direction of linking is different. When you open bar.md tag with #foo, it is equivalent to linking foo.md to bar.md.  See https://github.com/srid/neuron/issues/379
Also, one could support #[[note]], so that white space is supported in tags (i.e., #[[Hello World]]). This is just a specialization of the labelled directional links proposal at https://github.com/srid/neuron/issues/514

Hey @srid, thank you for your comment.
IMO, the important benefit of treating them as truly equivalent (including the direction) is simplicity - the whole thing becomes easier to reason about.

Also, one could support #[[note]], so that white space is supported in tags (i.e., #[[Hello World]]). This is just a specialization of the labelled directional links proposal at srid/neuron#514

Yes, that's something that could also be supported later. Although, avoiding spaces in names of the pages which could be used as tags is probably a good idea anyway.

Hey @srid, thank you for your comment.
IMO, the important benefit of treating them as truly equivalent (including the direction) is simplicity - the whole thing becomes easier to reason about.

Also, one could support #[[note]], so that white space is supported in tags (i.e., #[[Hello World]]). This is just a specialization of the labelled directional links proposal at srid/neuron#514

Yes, that's something that could also be supported later. Although, avoiding spaces in names of the pages which could be used as tags is probably a good idea anyway.

@lsx7 , Are you basically asking for parsing and semantics on how to link or there a different motivation behind it?
As I see it, Zettels are information containers while tags are context agents. Why consolidate it?
Or is it, like I understand it, just for the sake of having another way to parse links?

@lsx7 , Are you basically asking for parsing and semantics on how to link or there a different motivation behind it?
As I see it, Zettels are information containers while tags are context agents. Why consolidate it?
Or is it, like I understand it, just for the sake of having another way to parse links?

Or is it, like I understand it, just for the sake of having another way to parse links?

Yes, that's basically it. You can decide whether you want to link notes together with [[wikilinks]] or #tags, but the extension wouldn't really care.
You can check Roam Research for example of that in practice.

Or is it, like I understand it, just for the sake of having another way to parse links?

Yes, that's basically it. You can decide whether you want to link notes together with [[wikilinks]] or #tags, but the extension wouldn't really care.
You can check Roam Research for example of that in practice.

OK. So it is just parsing thing.
Aren't you worried that you'd lose the ability to discern when you mean a link (Explicit context) and tagging (Implicit context)?
Also, what happens if one day you create a file with the name of the tag you used widely?
You can start working around it, but I think it is better to keep different syntax for different tools.

OK. So it is just parsing thing.
Aren't you worried that you'd lose the ability to discern when you mean a link (Explicit context) and tagging (Implicit context)?
Also, what happens if one day you create a file with the name of the tag you used widely?
You can start working around it, but I think it is better to keep different syntax for different tools.

Yes, it's just a parsing thing.
And no, none of this is a problem because there are no tags which are a separate context from a note.

Yes, it's just a parsing thing.
And no, none of this is a problem because there are no tags which are a separate context from a note.

@RoyiAvital and @srid, since you use and prefer folgezettel, which is very far in complexity from Memo (or even Roam's core model), why do you use this extension (which doesn't even support tags)? I'm not trying to start a holly war, I'm genuinely interested.

@RoyiAvital and @srid, since you use and prefer folgezettel, which is very far in complexity from Memo (or even Roam's core model), why do you use this extension (which doesn't even support tags)? I'm not trying to start a holly war, I'm genuinely interested.

A folgezettel is just a special kind of link. This extension already (implicitly) supports neuron's folgezettel links, and it will have no problem parsing the upcoming #[[Foo bar]] tag-style links either. There is no complexity here; don't like folgezettel? Just don't use it.
As far as I'm aware, this is the only extension that does one thing, and one thing only, (i.e., support [[..]] style links in vscode) ... and does it well, without becoming bloated in features (hello Foam). I do find this extension to be a bit slow the larger the zettelkasten is ... but that can be addressed via https://github.com/srid/neuron/issues/213.

A folgezettel is just a special kind of link. This extension already (implicitly) supports neuron's folgezettel links, and it will have no problem parsing the upcoming #[[Foo bar]] tag-style links either. There is no complexity here; don't like folgezettel? Just don't use it.
As far as I'm aware, this is the only extension that does one thing, and one thing only, (i.e., support [[..]] style links in vscode) ... and does it well, without becoming bloated in features (hello Foam). I do find this extension to be a bit slow the larger the zettelkasten is ... but that can be addressed via https://github.com/srid/neuron/issues/213.

@lsx7 ,
I use it as a front end to write my notes when I do it on VS Code.
I now use 3 tools for the notes:

VSCode Memo - On VS Code.
Obsidian - For their Sliding Window Mode (See Andy Matuschak's Notes).
Neuron - Generate web site.

Neuron isn't robust and future proof solution as the only way I can use it (I'm on Windows) is using GitHub actions which makes things harder. But for now it supplies a nice web site generator. I hope to see Windows compatibility in its future. Then it could be an engine under VS Code (But Windows support is a must for this to really happen).
I don't like the mixing between Tags and Zettels Linking. I think mixing between them makes no sense even at the syntax level. But Syntax is a choice of the user to use or not. Neuron idea about Tag = Zettel doesn't make sense at all in my opinion. Since this is the analysis of the graph level it means it will have affects which the user might not like.
Anyhow, since linking by [[]] and tagging by #<> is basically a syntax and a pattern for the parser, the obvious choice would be setting many options for syntax and the user will select. With [[...]] being the default.

@lsx7 ,
I use it as a front end to write my notes when I do it on VS Code.
I now use 3 tools for the notes:

VSCode Memo - On VS Code.
Obsidian - For their Sliding Window Mode (See Andy Matuschak's Notes).
Neuron - Generate web site.

Neuron isn't robust and future proof solution as the only way I can use it (I'm on Windows) is using GitHub actions which makes things harder. But for now it supplies a nice web site generator. I hope to see Windows compatibility in its future. Then it could be an engine under VS Code (But Windows support is a must for this to really happen).
I don't like the mixing between Tags and Zettels Linking. I think mixing between them makes no sense even at the syntax level. But Syntax is a choice of the user to use or not. Neuron idea about Tag = Zettel doesn't make sense at all in my opinion. Since this is the analysis of the graph level it means it will have affects which the user might not like.
Anyhow, since linking by [[]] and tagging by #<> is basically a syntax and a pattern for the parser, the obvious choice would be setting many options for syntax and the user will select. With [[...]] being the default.

OK, thank you for your explanations, that makes some things clearer.

I don't like the mixing between Tags and Zettels Linking. I think mixing between them makes no sense even at the syntax level.

OK, we obviously disagree here. Popularity of Roam Research also shows that there are lot of people who prefer using using just one context for linking&tagging, but in the end, I guess that will always be a personal preference.
What still makes me confused is - since you're using tags as a separate context, doesn't using this extension make the whole experience cumbersome? I mean, you don't have things like autocomplete and find-all-references, which are IMO the most important features that editor can provide when working with notes. Wouldn't using something like https://github.com/kortina/vscode-markdown-notes make more sense?

Anyhow, since linking by [[]] and tagging by #<> is basically a syntax and a pattern for the parser, the obvious choice would be setting many options for syntax and the user will select. With [[...]] being the default.

There could be an option, i.e. roam_style_links, which when enabled, would just enable existing [[links]] functionality also for #links (I guess that should be very easy to implement).

OK, thank you for your explanations, that makes some things clearer.

I don't like the mixing between Tags and Zettels Linking. I think mixing between them makes no sense even at the syntax level.

OK, we obviously disagree here. Popularity of Roam Research also shows that there are lot of people who prefer using using just one context for linking&tagging, but in the end, I guess that will always be a personal preference.
What still makes me confused is - since you're using tags as a separate context, doesn't using this extension make the whole experience cumbersome? I mean, you don't have things like autocomplete and find-all-references, which are IMO the most important features that editor can provide when working with notes. Wouldn't using something like https://github.com/kortina/vscode-markdown-notes make more sense?

Anyhow, since linking by [[]] and tagging by #<> is basically a syntax and a pattern for the parser, the obvious choice would be setting many options for syntax and the user will select. With [[...]] being the default.

There could be an option, i.e. roam_style_links, which when enabled, would just enable existing [[links]] functionality also for #links (I guess that should be very easy to implement).

@lsx7 , I totally agree on this:

There could be an option, i.e. something like roam_style_links or tag_links, which when enabled, would just enable existing [[links]] functionality also for #links (I guess that should be very easy to implement).

Once you give the user both choices it is great for all.
As I wrote, what you ask is a syntax sugar :-).
I think creating automated Zettel per tag, is bad. As this basically changes the (Removes it?) boundary between the information containers to the context containers.

@lsx7 , I totally agree on this:

There could be an option, i.e. something like roam_style_links or tag_links, which when enabled, would just enable existing [[links]] functionality also for #links (I guess that should be very easy to implement).

Once you give the user both choices it is great for all.
As I wrote, what you ask is a syntax sugar :-).
I think creating automated Zettel per tag, is bad. As this basically changes the (Removes it?) boundary between the information containers to the context containers.

@lsx7 , I totally agree on this:

There could be an option, i.e. something like roam_style_links or tag_links, which when enabled, would just enable existing [[links]] functionality also for #links (I guess that should be very easy to implement).

Once you give the user both choices it is great for all.
As I wrote, what you ask is a syntax sugar :-).

Yes, exactly. Sorry if my initial post was not clear enough.

I think creating automated Zettel per tag, is bad. As this basically changes the (Removes it?) boundary between the information containers to the context containers.

On this part, we won't see things eye-to-eye - and that's fine :)

@lsx7 , I totally agree on this:

There could be an option, i.e. something like roam_style_links or tag_links, which when enabled, would just enable existing [[links]] functionality also for #links (I guess that should be very easy to implement).

Once you give the user both choices it is great for all.
As I wrote, what you ask is a syntax sugar :-).

Yes, exactly. Sorry if my initial post was not clear enough.

I think creating automated Zettel per tag, is bad. As this basically changes the (Removes it?) boundary between the information containers to the context containers.

On this part, we won't see things eye-to-eye - and that's fine :)

Let's say that in the format of consuming your notes (HTML or whatever you use), what would you expect to see when clicking on a tag?
I'd expect to see a list of Zettles which are tagged by the tag.
More advanced option would be analysis of connection to infer similar tags and display them as well.
Now, you could do that by creating automated Zettel of just that o you can leave it to the layer which generates the HTML.
I prefer leave it to the layer which creates the HTML for 2 main reasons:

No other program should have any writing privileges to Zettles.
Prevent conflict with a user created Zettel with the same name.

What's the big advantage you see in it?

Let's say that in the format of consuming your notes (HTML or whatever you use), what would you expect to see when clicking on a tag?
I'd expect to see a list of Zettles which are tagged by the tag.
More advanced option would be analysis of connection to infer similar tags and display them as well.
Now, you could do that by creating automated Zettel of just that o you can leave it to the layer which generates the HTML.
I prefer leave it to the layer which creates the HTML for 2 main reasons:

No other program should have any writing privileges to Zettles.
Prevent conflict with a user created Zettel with the same name.

What's the big advantage you see in it?

It's not that this approach has some big advantage, it's just that I'm not convinced that creating&maintaining those two things as separate contexts is really beneficial for my notes.
We've gone way too offtopic, but just to address your last example: HTML export tool also doesn't need to differentiate between them - both [[note]] and #note can just result in a link to /note page, which also contains list of backlinks/tags. You can use a different styling for them (or not, it's a personal preference).
Just to make this clear: I'm not claiming that this way is superior, there's no one size fits them all. Best way to organize your notes is the one that works best for you - and that will always be highly subjective.

It's not that this approach has some big advantage, it's just that I'm not convinced that creating&maintaining those two things as separate contexts is really beneficial for my notes.
We've gone way too offtopic, but just to address your last example: HTML export tool also doesn't need to differentiate between them - both [[note]] and #note can just result in a link to /note page, which also contains list of backlinks/tags. You can use a different styling for them (or not, it's a personal preference).
Just to make this clear: I'm not claiming that this way is superior, there's no one size fits them all. Best way to organize your notes is the one that works best for you - and that will always be highly subjective.

Well, yes, it's a syntax sugar and you don't need to generate anything you wouldn't generate for wikilinks.
I'm not sure what exactly you mean by automated generating. All I need is a feature which already works for [[note]] links - ctrl+click to #note also would "automatically" create note.md if it doesn't already exists.

Well, yes, it's a syntax sugar and you don't need to generate anything you wouldn't generate for wikilinks.
I'm not sure what exactly you mean by automated generating. All I need is a feature which already works for [[note]] links - ctrl+click to #note also would "automatically" create note.md if it doesn't already exists.

I will try to explain, there are 2 way to interpret the unification of the syntax for tags and links:

Syntax Sugar - Make it easy for user. Have a single syntax for both. If there is a Zettel with the same ID as the string, parse it as a link. If there is no file, parse it as a tag.
Graph Changing - There are no such things called tags. If you happen to link to a non existing Zettel, the engine will automatically create it.

I think it could be nice the HTML generator will create a page per tag which shows analysis of that tag. But I don't want it to create a file. Moreover, I'd rather the engines to have no way to create or edit .md files.

I will try to explain, there are 2 way to interpret the unification of the syntax for tags and links:

Syntax Sugar - Make it easy for user. Have a single syntax for both. If there is a Zettel with the same ID as the string, parse it as a link. If there is no file, parse it as a tag.
Graph Changing - There are no such things called tags. If you happen to link to a non existing Zettel, the engine will automatically create it.

I think it could be nice the HTML generator will create a page per tag which shows analysis of that tag. But I don't want it to create a file. Moreover, I'd rather the engines to have no way to create or edit .md files.

Ah OK, I see now what you meant.

I will try to explain, there are 2 way to interpret the unification of the syntax for tags and links:

Syntax Sugar - Make it easy for user. Have a single syntax for both. If there is a Zettel with the same ID as the string, parse it as a link. If there is no file, parse it as a tag.
Graph Changing - There are no such things called tags. If you happen to link to a non existing Zettel, the engine will automatically create it.

Yes, my idea is just (1). As lightweight as possible.

I think it could be nice the HTML generator will create a page per tag which shows analysis of that tag. But I don't want it to create a file. Moreover, I'd rather the engines to have no way to create or edit .md files.

I agree that HTML generator shouldn't mess with .md files.

Ah OK, I see now what you meant.

I will try to explain, there are 2 way to interpret the unification of the syntax for tags and links:

Syntax Sugar - Make it easy for user. Have a single syntax for both. If there is a Zettel with the same ID as the string, parse it as a link. If there is no file, parse it as a tag.
Graph Changing - There are no such things called tags. If you happen to link to a non existing Zettel, the engine will automatically create it.

Yes, my idea is just (1). As lightweight as possible.

I think it could be nice the HTML generator will create a page per tag which shows analysis of that tag. But I don't want it to create a file. Moreover, I'd rather the engines to have no way to create or edit .md files.

I agree that HTML generator shouldn't mess with .md files.

I've re-read your comment and I'm not sure I understand what this part "If there is a Zettel with the same ID as the string, parse it as a link. If there is no file, parse it as a tag." means in vscode-memo extension, which doesn't support tags?
Without that part (or if it doesn't have any meaning in this extension), yes, my idea is (1) - as simple as possible.
Regarding the @srid's idea of automatic generation of linked notes in the background - I wouldn't mind that as an another option.

I've re-read your comment and I'm not sure I understand what this part "If there is a Zettel with the same ID as the string, parse it as a link. If there is no file, parse it as a tag." means in vscode-memo extension, which doesn't support tags?
Without that part (or if it doesn't have any meaning in this extension), yes, my idea is (1) - as simple as possible.
Regarding the @srid's idea of automatic generation of linked notes in the background - I wouldn't mind that as an another option.

Hi all and thanks for starting an interesting discussion!
I briefly mentioned my opinion on this topic here https://github.com/svsool/vscode-memo/issues/60 (it was also linked above). In general, My stance on this matter did not change much since that.
Hash links #link isn't the same as [[links]] format. Hash syntax isn't whitespace and extensions friendly and less powerful than wikilinks, so syntax sugar isn't precisely a syntax sugar in this particular case. With hash links you won't be able to link filenames with whitespaces and extensions other than .md which Memo is currently able to link. In my opinion, the hash syntax is a step back compared to wikilinks given knowledge base context.
I have a little motivation to introduce hash syntax due to its small and subjective value for the knowledge base until we figure out the unique use case and explain it clearly to the other users of this extension.
Maybe I'll change my mind about hash syntax, but so far, it does not look convincing enough.

Hi all and thanks for starting an interesting discussion!
I briefly mentioned my opinion on this topic here https://github.com/svsool/vscode-memo/issues/60 (it was also linked above). In general, My stance on this matter did not change much since that.
Hash links #link isn't the same as [[links]] format. Hash syntax isn't whitespace and extensions friendly and less powerful than wikilinks, so syntax sugar isn't precisely a syntax sugar in this particular case. With hash links you won't be able to link filenames with whitespaces and extensions other than .md which Memo is currently able to link. In my opinion, the hash syntax is a step back compared to wikilinks given knowledge base context.
I have a little motivation to introduce hash syntax due to its small and subjective value for the knowledge base until we figure out the unique use case and explain it clearly to the other users of this extension.
Maybe I'll change my mind about hash syntax, but so far, it does not look convincing enough.

Thank you for your comment @svsool.
Just want to point out here again that this wouldn't change any of the existing functionality, just complement and reuse it in a very simple way. I've already commented on whitespaces and other mentioned issues in other comments.
Anyway, I'm fine with forking this or some similar repo and implementing this myself, I just wanted to see if there's an interest to have this support in the main repo.

Thank you for your comment @svsool.
Just want to point out here again that this wouldn't change any of the existing functionality, just complement and reuse it in a very simple way. I've already commented on whitespaces and other mentioned issues in other comments.
Anyway, I'm fine with forking this or some similar repo and implementing this myself, I just wanted to see if there's an interest to have this support in the main repo.

Regarding tags support, AFAIK vscode-markdown-notes supports wikilinks and tags OOTB (perhaps you forked it already).
About your idea to fork one of the repos, it would be cool if a dedicated extension would exist for providing proper tags support in vscode so that any user could choose between wikilinks & tags or combine both.

Regarding tags support, AFAIK vscode-markdown-notes supports wikilinks and tags OOTB (perhaps you forked it already).
About your idea to fork one of the repos, it would be cool if a dedicated extension would exist for providing proper tags support in vscode so that any user could choose between wikilinks & tags or combine both.


[Hub Generated] Review request for Microsoft.HealthcareApis to add version stable/2023-12-01

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

 Click here to see the details of Step 1
Breaking changes review (Diagram Step 1)
If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

 Click here to see the details of Step 2
ARM API changes review (Diagram Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

 Click here to see the diagram footnotes
Diagram footnotes
[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.

Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[x] New API version. (If API spec is not defined in TypeSpec, the PR should have been generated using OpenAPI Hub).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the Diagram Step 2, "ARM API changes Review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.

Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

  "additionalProperties": {

additionalProperties cannot be used except for tags or predefined references.  https://github.com/Azure/azure-openapi-validator/blob/main/docs/avoid-additional-properties.md
Applicable in all places

Refers to: specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2023-12-01/healthcare-apis.json:3923 in 3ed0a6c. [](commit_id = 3ed0a6cab966902c016cf744b231e322c349ce28, deletion_comment = False)

"version": "2023-12-01",

Have you released a preview version of this API version?
Refers to: specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2023-12-01/healthcare-apis.json:4 in 3ed0a6c. [](commit_id = 3ed0a6c, deletion_comment = False)

We are not releasing a preview version of this API. This is a GA version.

  "additionalProperties": {

additionalProperties cannot be used except for tags or predefined references. https://github.com/Azure/azure-openapi-validator/blob/main/docs/avoid-additional-properties.md
Applicable in all places
Refers to: specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2023-12-01/healthcare-apis.json:3923 in 3ed0a6c. [](commit_id = 3ed0a6c, deletion_comment = False)

The use of additionalProperties has been removed.

      "type": "array",

Please fix the Linter error:
Missing identifier id in array item property
Location: Microsoft.HealthcareApis/stable/2023-12-01/healthcare-apis.json#L3907

Refers to: specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2023-12-01/healthcare-apis.json:3908 in f161c01. [](commit_id = f161c0114fcd960655df43bafc24b7adcbaaa1d4, deletion_comment = False)

Please get breaking changes approved from SDK (Go/JavaScript/Python) before it can be reviewed further.

Please get breaking changes approved from SDK (Go/JavaScript/Python) before it can be reviewed further.

The workflow diagram above states:
"the SDK breaking changes will be evaluated by SDK reviewers within two business days after the completion of the first two steps."
Is there another action that I need to take to get approval from the SDK teams?

Listing issues have been addressed

/pr RequestMerge


There are a few minor bug issues in the game Autonity

There are a few minor bug issues in the game Autonity:
Error Handling: Ensure that error handling mechanisms are in place. For example, if validator_ids is an empty list, accessing validator_ids[0] will result in an IndexError. Make sure to check for such cases and handle them appropriately.
RPC Endpoint Placeholder: <RPC_ENDPOINT> is a placeholder in the create_web3_for_endpoint function. Make sure to replace it with the actual RPC endpoint before running the code.
Unclaimed Rewards Function: Ensure that the unclaimed_rewards function in the Validator class is implemented correctly. Check for potential errors or exceptions that might occur during its execution.
Import Statements: Verify that the import statements are correct, and the required modules are available

Thanks for your feedback but I was not able to identify any actionable issues from this report. As a result this issue will be closed.


Support SignalLike fro real

I found that the signal public interface (SignalLike) is not actually used at runtime, but only for types. Under the hood, @preact/signals patches the runtime and does all the subscription and invalidation mechanics by itself based on its internal knowledge.
It would be awesome to support a signal version of React's useSyncExternalStore hook as a general interface for other state manager adapters.
export interface SignalLike<T> {
  peek(): T;
  subscribe(fn: (value: T) => void): () => void;
}

Moved to https://github.com/preactjs/preact/issues/4078


chore: bdd-nh-1585215816 to 0.0.1

chore: Promote bdd-nh-1585215816 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Account mnemonic import component v1

import mnemonic component

Input box style
add copy and paste

rebased and merged in master with #c66ef763


Connection bug with dbt-snowflake

Describe the bug
On running the piperider init, there is an error message
Sentry is attempting to send 1 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

However when I run dbt debug , connection is successful
I have tried with dbt-snowflake==1.3 and dbt-snowflake==1.4
To Reproduce
Steps to reproduce the behavior:

Setup environment.

pip install 'piperider[snowflake]'
pip install dbt-snowflake==1.3
pip install markupsafe==2.1.1

Execute command : dbt debug
Its a success

Execute another command : piperider init

See error:

Error: expected token ',', got 'SNOWFLAKE_PASSWORD'
Sentry is attempting to send 1 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

Expected behavior
Config file is created and piperider is initialised
Desktop (please complete the following information):

OS: MacOs
Python Version 3.9.13

Hi,
This appears to be an issue with your dbt profiles.yml
Could you please verify that your env_vars are loaded as so:
{{ env_var('DBT_GOOGLE_DATASET') }}
Note the single quotes around the variable.
Please let me know if this resolves the issue.
Dave

Thanks @DaveFlynn
That worked
password: "{{ env_var('SNOWFLAKE_PASSWORD') }}"


Add troubleshooting docs

Create a troubleshooting doc in the repo. Add common solutions as they are created.

This is a general statement, not a specific need for work. Also, troubleshooting docs already exist.
Closing because it's too broad


Updated status of rollout

Updated tagging by shift (to available but rolling out) and GCC status (to rolling out)

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@cichur PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


⚠ GitHub has degraded performance

In f300270, GitHub (https://www.githubstatus.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 162 ms

Resolved: GitHub performance has improved in 9b3630a after 17 minutes.


${callsite} ${callsite-linenumber} renderers with wrong values

Type (choose one): Bug
NLog version: (e.g. 4.4.4)
Platform: .Net 4.6.2
Current NLog config (xml or C#, if relevant)
<variable name="directory" value="c:/logs/"/>
<targets>
    <target
      xsi:type="File"
      name="logFile"
      fileName="${directory}/${shortdate}.log"
      layout="${longdate} ${uppercase:${level}} ${logger}
              ${message} ${callsite} ${callsite-linenumber}
              ${exception:format=toString}" />
</targets>

<rules>
  <logger name="*" minlevel="Trace" writeTo="logfile" />
</rules>

Hi!
I have created a project for NLog to be used across my solution and this is the class:
namespace Project.Util.Log
{
    using System;
    using System.Runtime.CompilerServices;
    using NLog;

    public static class LogService
    {
        public static void Log<T> ( LogLevel level, string message = null, Exception exception = null, [CallerMemberName] string caller = null, [CallerLineNumber] int line = 0 ) where T : class
        {
            if ( level.Equals ( LogLevel.Error ) )
                LogManager
                    .GetLogger ( typeof ( T ).Name )
                    .Error (
                        exception,
                        string.IsNullOrEmpty ( message ) ? exception?.Message : message,
                        typeof ( T ).FullName,
                        caller,
                        line );
            else
                LogManager
                    .GetLogger ( typeof ( T ).Name )
                    .Log (
                        level,
                        message,
                        typeof ( T ).FullName,
                        caller,
                        line );
        }
    }
}

When I call it from the other projects like this:
Project.Measurement.YearMeasurent.Log<YearMeasurement> ( LogLevel.Error, exception.Message, exception );
[CallerMemberName], [CallerLineNumber] are passing correct values (member1, line XX);
When it hits the LogManager.GetLogger.Error() the parameters still holds the passed values, but it saves "Log" as member name and the current line from this method...
I'm a bit confused on this because of the disparity and the unexpected beahavior...
Any help will be much appreciated!
Best regards!

Hi!
Please explain what is expected here.
If you call .Error(..), the parameters are .Error(Exception, formatstring, FormatParameter1, formatParameter2) etc.
e.g.
               Logger.Error(
                         exception,
                        "I have an issue on type {0} from caller {1} at line {2}
                        typeof ( T ).FullName,
                        caller,
                        line)

Oh Hi Julian, it's you again! Lol...
Let's go to the problem...
when I call
LogManager.GetLogger ( typeof ( T ).Name ).Error (
                        exception,
                        string.IsNullOrEmpty ( message ) ? exception?.Message : message,
                        typeof ( T ).FullName,
                        caller,
                        line );

The caller method is sending caller = "GetTotalFromLast24Hours" and line = 86; Until here, it's fine....
But as soon as I check the log file, instead of GetTotalFromLast24Hours and 86, I'm getting Log and 12;
Log is the name of the method which has the logging mechanism, as I mentioned in the first post.
I invoke the method like this:
Project.Measurement.YearMeasurent.Log<YearMeasurement> ( LogLevel.Error, exception.Message, exception );
Did you understand a bit?

Julian, you posted a test Project here, but it seems you deleted it before I could try...
Would you mind posting it again?
Best regards!

Julian, you posted a test Project here, but it seems you deleted it before I could try...

Did I? I'm not aware of that.
Anyway, the  ${callsite}  (same for ${callsite-linenumber}) is logging the callsite of the your helper. You can't pass the callsite to the logger and use  ${callsite} for it.
You could use event-properties to pass the other callsite, e.g.
Logger logger = LogManager.GetCurrentClassLogger();
LogEventInfo theEvent = new LogEventInfo(LogLevel.Debug, "", "Pass my custom value");
theEvent.Properties["mycaller"] = caller;
theEvent.Properties["mylineno"] = line;
Logger.Error(theEvent);

usage ${event-properties:mycaller} (instead of ${callsite} )
usage ${event-properties:mylineno} (instead of ${callsite-linenumber} )

Strange... must be some sort of confusion I made in my Inbox...
Oh, I got it then... the added layer of code kind of messes up with the callsite properties...
I'm gonna try it with LogEventInfo...
Thanks again for tour time!

👍 good luck!


Searchable Rack groups

Issue type
[ X] Feature request

Environment

Python version:  3.6.5
NetBox version:  2.3.4

Description
Rack groups aren't  searchable. I have 460 rack groups and 170 in a single site. Its very hard to find without a lot of scrolling and changing pages.

Closed in bc49979


Can not change owner for the symfony2_root

Trying to use your role for deploying my symfony2 application, but getting the error:

failed: [host] => {"changed": true, "cmd": "chown -Rf www-data:www-data /home/o10g/www/project", "delta": "0:00:12.124561", "end": "2015-04-23 11:10:50.714929", "rc": 1, "start": "2015-04-23 11:10:38.590368", "warnings": ["Consider using file module with owner rather than running chown"]}

FATAL: all hosts have already failed -- aborting

So it can't be deployed. Do you have any solution about it?
I'm running the playbook by next command:

ansible-playbook -l prod -e "symfony2_release=date +%Y%m%d_%H%M%S" app/config/deploy.yml -vvv --ask-sudo-pass

Thank you in advance.
And by the way, thank you for the great work you did for symfony2 deployment.

Based on your next issue, I guess you solved this problem. Can you tell more about reason and way to solve.
Thank you.

I'll create a pull request later today or tomorrow if don't mind. Fix is quite simple.


update DG diagrams.

all existing DG diagrams have been updated to match cakecollate

Codecov Report

Merging #223 (b6cbe58) into master (4e07751) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #223   +/-   ##
=========================================
  Coverage     69.41%   69.41%
  Complexity      679      679
=========================================
  Files           103      103
  Lines          2305     2305
  Branches        290      290
=========================================
  Hits           1600     1600
  Misses          610      610
  Partials         95       95

Continue to review full report at Codecov.

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


GRPC API

Would you accept a GRPC API ?
I need to access quid from various languages and so GPRC makes that easy from flutter, golang and rust.
The existing API can live along side a GRPC, so it wont break the current node based admin gui.

I was actually thinking of making a Admin GUI using flutter web, just easier to manage and extend i find. I guess you however hoe vuejs for a reason and so dont want a PR for this ?
anyway, let me know...

GPRC makes that easy

Thanks for your proposition. Question: how easier would it be than the http way?
Actually I would prefer some help with the client request libraries (libs to manage requests with transparent renew of the access tokens and request retries, like the js one). I plan to release this js lib separatly and make some for Dart and Python first. A grpc api would need to be maintained on the long term if we adopt it

I was actually thinking of making a Admin GUI using flutter web

Well I prefer maintaining some Flutter code as well than using the js/css/html combo. But actually I think that Flutter web is not mature enough, and the rendering is not very classic and less efficient for an admin interface on a computer. It could be interesting to make a Flutter web app to have the admin interface on the phone, I did not bother to make it responsive, but is it really useful at this stage?

heres my own opinion:
About GRPC
GRPC code generates all the code and give you 90% of the code that you already hand code.
GRPC middleware does the all important metrics and logging for you too.
Here is how i load up the man cmd to support both serving grpc and grpc.web AND flutter web, without any envoy needed
https://github.com/getcouragenow/packages/blob/master/maintemplate/server/cmd/main.go#L85

disegard the "local". that just for when i dont use envoy, and you dont need envoy i think.

And to load up the other grpc Services into the Server its easy:
https://github.com/getcouragenow/packages/blob/master/maintemplate/server/cmd/main.go#L74
Which calls this: https://github.com/getcouragenow/packages/blob/master/mod-chat/server/pkg/service/server.go
All routing, params on a request, etc etc are all handled 100% by the proto like here:
https://github.com/getcouragenow/packages/blob/master/mod-chat/server/api/service.proto
I have not added much middleware except logging: https://github.com/getcouragenow/packages/blob/master/mod-chat/server/pkg/service/server.go#L19
Adding openconsensus would be the obvious one to add:
https://opencensus.io/guides/grpc/go/
https://opencensus.io/integrations/redis/go/
https://opencensus.io/integrations/sql/go_sql/
https://opencensus.io/integrations/mongodb/go_driver/
https://opencensus.io/integrations/mongodb/mongostatusd/

About Flutter
I use flutter web for a very large project and also cross compile it to desktop and mobile.
Zero code differences.
Its actually very mature and very fast. Load time is a bit bigger but for an admin tool i think its fine. And it natively creates offline cache with service worker so after the firs load it never reloads unless you release a new flutter web build.
Its basically developer friendly seamless, and i have been using it for quite a while.

Oh and code generation of the Dart and golang code works fine.

Hi @joe-getcouragenow
That's great to have gRPC on Quid project.
But I have one question about the gRPC support for JS and/or WebAssembly:
Is it possible to generate gRPC client code to be used by an app running in a browser ? (web front-end)
I think gRPC is very nice when the user is used with gRPC.
But if a user is used with HTTP/REST APIs, they may prefer to use a classic REST API in lieu of having to download/install/upgrade gRPC compiler and (manually) generate/update obscure source code to be used by their Quid client.
Quiq is designed to be maintained in the long term.
Would you be ready to help maintaining/document the gRPC Proto3 files + server code in the long term?

Hi @joe-getcouragenow
That's great to have gRPC on Quid project.
But I have one question about the gRPC support for JS and/or WebAssembly:
Is it possible to generate gRPC client code to be used by an app running in a browser ? (web front-end)

Yes. The same flutter grpc code works in web, desktop and mobile.   Its pretty cool.

I think gRPC is very nice when the user is used with gRPC.
But if a user is used with HTTP/REST APIs, they may prefer to use a classic REST API in lieu of having to download/install/upgrade gRPC compiler and (manually) generate/update obscure source code to be used by their Quid client.

Its only this to install:

brew install protobuf
go get github.com/protocolbuffers/protobuf-go
go get github.com/grpc/grpc-go

then script to gen the code like: protoc ${PROTO_SOURCE_DIR}/${PROTO_SOURCE_FILE} --go-grpc_out=proto --go_out=proto

Quiq is designed to be maintained in the long term.
Would you be ready to help maintaining/document the gRPC Proto3 files + server code in the long term?

Yes, because we are building something similar already in our project, and i was planning to integrate into it.


Don't use -r switch on sed as it's not portable

Secondly sed's -r switch is not portable. I'm using -e to achieve the same goal.
https://www.gnu.org/software/sed/manual/html_node/Invoking-sed.html#Invoking-sed

Didn't know that, thanks for the link


HP.SupportAssistant version <IP_ADDRESS>16

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] 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>?
[ ] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/111265&drop=dogfoodAlpha

Usage: /s /e /f <target-path>
  /s - Un-package the package in silent mode (not showing user interaction UI)
  /f - Runtime switch that overrides the default target path specified in build time
  /e - Prevent execution of default executable file specified in build time.
       Only extracting the content files to target folder(Use this with /s /f)
Installer failed with exit code: 87

Validation result screenshot?

Automatic Validation ended with:

[Policy] Interactive-Only-Installer