CircularDependencyError when using ref.read

Describe the bug
CircularDependencyError is thrown while I'm just interested in reading a value and not listening to changes. so my providers in fact doesn't depend on each others.

The flow as the diagram showing is that my dioProvider has an AuthInterceptor which when calling post request it'll add the current accessToken to the request by calling ref.read(accessTokenProvider). It's not interesting in updates from accessTokenProvider.
AccessTokenNotifier also needs to be able to use dioProvider to refresh the accessToken.
The problem is using ref.read(accessTokenProvider) inside the interceptor is considered a Circular Dependency.
To Reproduce
Here's a simplified example to produce the issue:
Dio and the Interceptor:
final dioProvider = Provider<Dio>((ref) {
  return Dio()
    ..interceptors.addAll([
      ref.watch(authInterceptorProvider),
    ]);
});

final authInterceptorProvider =
    Provider<AuthInterceptor>((ref) => AuthInterceptor(ref));

class AuthInterceptor extends QueuedInterceptor {
  AuthInterceptor(this.ref);

  final Ref ref;

  @override
  Future<void> onRequest(RequestOptions options, RequestInterceptorHandler handler) async {
    ref.read(accessTokenProvider);   //CircularDependencyError Exception

    return handler.next(options);
  }
}

AccessToken Provider:
final accessTokenProvider = StateNotifierProvider<AccessTokenNotifier, String?>((ref) {
  return AccessTokenNotifier(ref);
});

class AccessTokenNotifier extends StateNotifier<String?> {
  AccessTokenNotifier(this.ref) : super(null) {
    dio = ref.watch(dioProvider);
  }

  final Ref ref;
  late Dio dio;

  void refreshAccessToken() {
    //Call api
  }
}

Usage:
class TestScreen extends ConsumerWidget {
  const TestScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            ref.read(dioProvider).post('dummyInvalidPath');
          },
          child: const Text('add'),
        ),
      ),
    );
  }
}

Expected behavior
I understand that avoiding circular dependencies is necessary and CircularDependencyError is there for reasons. but shouldn't reading a provider not considered as a dependency?
In other words, we can solve the above issue by separating accessTokenProvider into 2 providers, one to hold the state and another to update it (as the following diagram):

But I don't get the advantage of doing that instead of allowing ref.read to work without considered as a CircularDependency.

It is a circular dependency
Whether you want to listen to updates, you're still using the said provider. So although you don't subscribe to it, you do "depend" on it.
Although in some specific scenarios the error could possibly be emitted, the fact that there is no circular dependency in the graph of providers is a core design decision.
The entire framework is built around that rule, and changing it could have unexpected consequences.
Considering there's a way of achieving the same without a circular dependency, I don't think it's reasonable to remove the exception in the scenario you described.

I understand. Thanks for the clarification.


1.11 CNI requires /var/run/istio-cni in PodSecurityPolicy.allowlist

Document this in "before you upgrade section" https://istio.io/latest/news/releases/1.11.x/announcing-1.11/upgrade-notes/
Consider adding to istioctl preflight checks. Otherwise installation will fail.

Upgrade produces the following error
Error creating: pods "istio-cni-node-" is forbidden: PodSecurityPolicy: unable to admit pod: [spec.volumes[2].hostPath.pathPrefix: Invalid value: "/var/run/istio-cni":

@bianpengyuan in addition the doc change, can we also make this optional and then back port it in 1.11 ?

Internally, if the daemonset does not see the path, it should gracefully opt-out.
Add an install option to add this mount.

Since CNI just graduated to beta in 1.11, we could argue that compatibility is not needed. however it is an immediate hard failure on upgrade.
@smawson @louiscryan  wdyt

Yeah I can add the option. We already have the option at DaemonSet to gracefully opt out usage of this volume, we will only need to introduce an install option to remove the volume and set that option.


Improve the navbar and the footer section

Is your feature request related to a problem? Please describe.
The navbar and the footer section is not visually appealing.
Describe the solution you'd like
I would like to enhance the visual appearance of navbar and the footer section by improving its alignment.
Describe alternatives you've considered
I would like to remove the background from the text in the navbar.

ok make the changes and post here before pr @Aadhya-Sharma

ok make the changes and post here before pr @Aadhya-Sharma

Okay Sure

@Aadhya-Sharma @Varinder-Dhillon0 can you assign me this issue as you were not active for so long

sure @omwagh28

Is this solved? I am interested in helping.


Heatmap: capture zone too big

The user can click on the map to get a pop-up of nearby items.  Currently items from too far away are included in the pop.  The capture zone should be reduce by about on third.

location and size adjusted, available for testing at http://dev.jdarchive.org/heatmap/web/en/search#view_type=event&


disable filtering

Disable filtering records based on WAL Resume position.

It is a temporary change, so you could add a comment
Also, please add the changed code under if( YugabyteDBServer.isEnabled() ) and leave existing code in the else clause


User-defined default values of records fields are not considered for implicit-initial value

See the below program:
type Status "on" | "off";

type Response record {
    Status status = "on";
};

public function main(string... args) {
    Response s1 = {}; // allowed to create value with empty mapping literal

    Response[] s2 = []; // but not allowed to create an array
}

With https://github.com/ballerina-platform/ballerina-lang/pull/16118 the check for IIV was moved to runtime as a check for filler values.
With 0.992.0-m8 this array is allowed. At runtime, sparse insertion to s2 does not panic and the filler value takes into the account the user specified filler values (https://github.com/ballerina-platform/ballerina-lang/pull/16509).
import ballerina/io;

type Status "on" | "off";

type Response record {
    Status status = "on";
};

public function main(string... args) {
    Response[] s2 = []; // Allowed now
    s2[1] = { status: "off" };

    io:println(s2);
}

$ ballerina run err.bal
status=on status=off


Consider support for French sovereign operating system

French government announced, as part of “digital sovereignty” effort, to consider building a fresh new 100% French operating system - yes, just like North Corea does.
Would be great if we still can run docker on this OS.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

@ndeloof you are trolling hard :trollface: :stuck_out_tongue_closed_eyes:

I thought the belgians were champion of surrealism...

lol

Let's make facts straight: it was not the French government but the French Parliament (actually, just the "Commission des Lois de l'Assemblée Nationale") which recently voted such a text. Noone knows if it will turn in an actual law and, if so, if this law will ever be implemented.

No need. French government is planning to put up is own sovereign container system, called: 'Débardeur'.

I created a branch to work on this; https://github.com/docker/docker/compare/master...thaJeztah:god-save-the-queen
The first commit depends on changes in Bash/sh upstream, and is to make scripting compliant with the European standards; https://github.com/docker/docker/commit/619de97137f5f38e54e213544f6697f7b8ab7b8a
So, to give users a good experience out of the box, we may need to
update some basics to make people feel more "at home".
Here's some thoughts to get the ball rolling;

Current
Proposed
Alternative

docker run
docker courir

docker stop
docker arrêt

docker restart
docker repartir
docker encore-un-fois

docker pull
docker faire-apporter
docker tirer

--help
--rtfm
--cherchez-stackoverflow

WDYT?

@thaJeztah 😏 😌 😻

--rtfm should be --llpm
I also think this is not going far enough, there should be an alias for docker, as the correct french term is actually débardeur ( http://www.cnrtl.fr/lexicographie/débardeur )
So "débardeur tirer" for example, sounds like the correct french version.

I'd love to reply in French ... however I have a legacy French AZERTY keyboard, which does not allow to type correct French ... DAMN !

In love with this issue already :heart:

I don't know any of you. But I love you all very much.

@thaJeztah docker pull is already French, I suggest you keep it as is but translate it in the English version to docker sweater instead.

Also, docker logs should be débardeur bûches.

What about an automatic illegal content detection plugin, enforcing the incoming law[1] on running processes memory? It seems this issue has a dependency on it.
[1] http://www.assemblee-nationale.fr/14/amendements/3399/AN/268.asp

Warnings, everyone. France has forbidden linking to resources you don't own or don't have explicitly the right to link to.

@thaJeztah docker pull is but translate in french to docker poule.

I'm confident this issue will remain within the emergency milestone for a few years.

the hadrware is available, 100% french, with a french keyboard
https://pbs.twimg.com/media/CZT9Yd_WYAAGnDS.jpg

What is a container filled with politicians at the bottom of the ocean?
...
...
A good start.

You guys, made my day <3

This issue should have id #1789

That's not the first time this idea pops up, BASIC language already supported this curse https://fr.wikipedia.org/wiki/LSE_(langage_de_programmation)

@tobozo did you clear the copyright of this image? Fair use does not apply in France; you should ask Github legal representative to the Commissariat à la Souveraineté Numérique.

It is more common to use the English word "docker" than "débardeur" in French. Actually, I even didn't know that this word had this signification! For me, as a french guy, a "débardeur" is this:

And to truly translate commands from english to french, we should invert the order of words:

docker run => cours débardeur / démarre débardeur
docker stop => arrête débardeur
docker push => pousse débardeur
docker pull => tire débardeur could maybe be aliased as désabiller (undress)
etc ...

A common french synonym for "débardeur" is "marcel". For example, I propose to replace docker push par pousse Marcel.
It has a nice french ring to it, and is shorter to type.

@AlexisNo +1. The word « débardeur » is an old word which is basically not used anymore in this context and that applied only to trees/wood debarkations.

+1 for the "it's shorter" argument @brouberol

@brouberol there's a potential issue with docker ps. The only translation I could figure out was marcel socialiste which may soon become inappropriate.

I disagree, you do not pull / push the docker, it's the docker who pushes / pulls.
So it is indeed débardeur pousse.
The word débardeur is not used anymore but obviously the necessity of national independence means that we will have to use that word again, to replace to barbarism "docker".
I also propose that the images of the sovereign OS should all be hosted in the sovereign cloud.

"Marcel" definitively is an awesome translation for Docker. It even has same number of letters, so will help to adapt logos and documentation.

:+1:  marcel: c'est pas sorcier :-)
[image: Images intégrées 1]
2016-01-22 17:29 GMT+01:00 Nicolas De loof<EMAIL_ADDRESS>
"Marcel" definitively is an awesome translation for Docker. It even has
same number of letters, so will help to adapt logos and documentation.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-173968461.

:+1: Marcel sounds like an outstanding first step in the compliance process.

+1 for Marcel. I can't wait to use chauffe Marcel in place of docker run!

This should be coded in LEM, some kind of Cobol with a french syntax from the french manufacturer Sfena
http://www.silicium.org/oldskool/france/sfena5_20.htm

Marcel could legitimately just be a separate cli app/script to route args to docker proper -- who will create this new project?

I'm happy there seems to be some kind of consensus around Marcel. I
feel I have finally contributed to the open-source world in a meaningful
way, whilst being a true patriot.
--
B
On Fri, Jan 22, 2016, at 06:13 PM, Steve Desmond wrote:

Marcel could legitimately just be a separate cli app/script to route args to docker proper -- who will create this new project?

—
Reply to this email directly or view it on GitHub[1].

Links:

https://github.com/docker/docker/issues/19396#issuecomment-173980973

We also need to replace RMI Marcel by RSA Marcel since this 2009 Décret: http://www.legifrance.gouv.fr/eli/decret/2009/4/15/PRMX0903263D/jo/texte

@thaJeztah Have to point out that the french gentleman coding next to me points out that it should be "une fois": docker encore-une-fois
:)
$ docker encore-un-fois
erreur: l'académie française n'est pas heureux

@trentm oh thanks, fixing

+1 marcel. Very good idea 🐳Et très sympa l idée des commandes en français.

+1 for Marcel ! LGTM

Comment on entre dans Marcel pour d'inspecter ?

Silly idea. French docks are always clogged-up with protesting lorry drivers. Your containers will never get started.

@stevedesmond-ca I have created, per your request, a repo for marcel, with a tiny (but kinda fonctional in a broken way) wapper around docker: https://github.com/brouberol/marcel
Anyone, feel free to open PRs. I'll give write rights to every single person who either sends a PR or asks for it.
Let's change the world.

@mattsoutherden : why not for docker suspend : Marcel greve

@dduportal :+1: lol :)

@tgermain @brouberol +1 to whatever you said about Marcel, that's an awesome idea !
@vdupain you type marcel vos-papiers

Marcel tue
Le ven. 22 janv. 2016 à 18:51, Matt Southerden<EMAIL_ADDRESS>a
écrit :

@dduportal https://github.com/dduportal [image: :+1:] lol :)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-173990731.

@bankair : Marcel MATUER

What about this logo :

@dduportal marcel greve is the best thing I've heard all day.
@Thom-x: Your logo is now the official Marcel logo. Your contribution to the french economy is both an inspiration and invaluable.

@brouberol My career as a official is now over, I performed a valuable work for the french government. I can now retire (I'm 62 of course).

Two implementations are better than one: https://github.com/dgageot/marcel
marcel --aide
marcel lance --aide
marcel lance dgageot/bio

france sucks!!!

Not a bad idea, a shame such containers won't work more than 35h a week though.

marcel also needs an orchestrator, that should be named
orchestre.
https://youtu.be/P1LNoV8kLLs
Le 22 janv. 2016 19:23, "tipiak75"<EMAIL_ADDRESS>a écrit :

Not a bad idea, a shame such containers won't work more than 35h a week
though.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-173999437.

So sad http://marcel.io/ is already in use :'(

Vous êtes tous complètement dingues !
(bon moi, évidemment... mais bon, c'était de notoriété publique)

@turb totally agree. We should rename Docker Swarm to penderie.

@turb maybe some docker-compose => marcel-et-son-orchestre ?

@ndeloof un épisode spécial pour "Quoi d'neuf Docker" ?

@jmMeessen arrivé à ce stade, c'est clair !

Quoi de neuf Marcel ?

Marcel est déjà pris sur github, il faudrait une organisation pour regrouper les différentes implémentations déjà réalisées :-)

We could even update from LSE/LEM language to Swift since it handle any kind of character for variable names :) marcel.faitGrève()

This thread is just... lol

Given the context, docker network connect should flawlessly translate to marcel est chez SFR.

I guess it's time to revive the French cloud:

https://marc.el ?
https://chauffemarcel.io?

Marcel chauffe dans Marcel

This thread is awesome !

@shykes https://chauffemarcelchauffe.io ?

Haha! C'est vendredi! :) Vous êtes fatigué, je crois! :P

Obviously, the world needed a Marcel dans Marcel.
docker run dgageot/marcel

(source: https://github.com/dgageot/marcel/blob/master/Dockerfile)

Let's vote for the domain name here: https://framadate.org/X6IVDZenrftkLxmG

@jlevesy marcel-et-son-orchestre made me laugh to tears. :joy_cat:

Qu'est-ce que c'est que cette merde !?

@brouberol seems like https://marcelsouverain.fr is available...

@jefmathiot Awesome. I added it to http://doodle.com/poll/5qmn86wpr74fmx7y

@xlucas Feel free to submit a PR :+1:

Je propose marcel poirote, marcel érige et marcel 5a7 pour docker wait, docker build et docker events respectivement. Sacré Marcel !

:fire::fire::fire::fire:

Seems like everyone @shykes's idea chauffemarcel.io! I've looked it up on OVH (disclaimer, where I work), and it's ~50€/year. French Tech™ hype is pricy.

Why not launch chauffemarcel.tk hosted at somebody's computer in the meanwhile? It's free to register .tk domains

I'm in
On Jan 22, 2016 2:30 PM, "Simon THOBY"<EMAIL_ADDRESS>wrote:

Why not launch chauffemarcel.tk hosted at somebody's computer in the
meanwhile? It's free to register .tk domains
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-174073076.

please do not let this thread end...

This was the perfect drink a beer and read a Docker GitHub issue evening.

@jkneb love the logo but could you color the "marcel" in white with blue lines to give it a "Marinière" style ?

@AlexisNo you're right it's too "sporty" now that I look at it again ... lol

It's time for the world to understand in every french citizen there's honor, dignity, and strength (et un slip). So, instead of docker kill, I propose la-pelle marcel.

Here is the new chauffemarcel.tk : http://server.matthieudelaro.ovh:3333/ (who's got chauffemarcel.tk domain name?)
Contribution is welcome on GitHub : https://github.com/matthieudelaro/ChauffeMarcel/blob/master/README.md

Math.pow(:fire::fire::fire::fire:);

Sorry to bother you you @jkneb , but the blue lines are missing !

remember the words of wisdom from OS Souverain, and that François Hollande likes trade-off
@ossouverain: François Hollande a décidé. L'OS Souverain sera en middle endian. Un vrai compromis.
I am so excited to work on my first middle endian project!

Why not host the server on github pages ? And add the .tk forwarding ?

@matthieudelaro Can you use Vhost in order to provide dns correctly, not just url forwarding (I will just need to add a @ IN A xxx.xxx.xxx.xxx in the dns zone)

You're all complètement crazy ! Especially @brouberol ! But I love it ! Allez, chauffe Marcel !!

@t0b1nux had an amazing idea here: the marcel implementations need to support Marcelfiles.

Marcelfiles ? Is it "souverain"-minded enough to sustain our purpose ?
Maybe " Fichiersmarcel" ?  Or "RecettesAMarcel" ?
On Sat, Jan 23, 2016, 10:02 AM Balthazar Rouberol<EMAIL_ADDRESS>wrote:

@t0b1nux https://github.com/t0b1nux had an amazing idea here
https://github.com/brouberol/marcel/issues/8: the marcel
implementations need to support Marcelfiles.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-174163048.

--
Julien Levesy

@brouberol chauffemarcel.io is the same price on Gandi but for 2 years.

@jlevesy Support for RecetteAMarcel files has landed into https://github.com/brouberol/marcel! To test it, include a RecetteAMarcel file in the directory where you execute your marcel construis command.

@brouberol Launch a github.io page: something like http://marcel.github.io/ and the owner of chauffemarcel.tk will then add a redirection to IT (using something like that: https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages/)

@t0b1nux here you go https://brouberol.github.io/marcel/

@jlevesy @brouberol careful to correct capitalization. You should write RecetteÀMarcel. The SOS should support that, BTW.
Please accept the corresponding PR: https://github.com/brouberol/marcel/pull/12 (more documentation there).

@brouberol Great! But who is the owner of chauffemarcel.tk ?

Look at http://marcel.simonthoby.tk/

Still waiting for the owner of chauffemarcel.tk to help us

Of course, the universal pousse marcel files will be called "Pousse Marcel Universel" : *.pmu

We should write a spec, something like MarcelSpecProtocol, it would help unify the two implementations around a standard

MarcelSpecProtocole*

@abclive lets's launch an RFC and ask IETF to help us ;)

@AlexisNo

@jkneb perfect!!

@t0b1nux creating an RFC is a neat idea, but I think we should also seek support of the Académie Française.

@jkneb it's perfect! What do you think @brouberol ?
Also, Marcel should be written in linotte

As the FrenchTech™, in its very own way, leads the battle to introduce a durable revolution in french society, it should not forget that to actually be a true patriot, you should use a french base image in your RecetteÀMarcel file.
Vive la France !

@AlexisNo Seems like you can't really call an external program with arguments. Same for LSE, sadly.

this needs to get more traction ...
proposing the MARCEL-YES! campaign ...
maybe we could even find a song for that ;)

@jkneb I'm in absolute love with this new logo. If that's alright with @Thom-x, who designed the current official Marcel logo, I'd love to have it on the repo and the website.
@Thom-x, would you be ok with it? Bear in mind that your services would not be forgotten, AND you would not have to go back to work, from to well deserved retraite.

@brouberol

AND you would not have to go back to work, from your well deserved retraite.

In this case it,s Ok :p

Done!
SuperDupont wears a marcel
We definitely nide Marcel

@brouberol @AlexisNo I feel like I finally contributed to something important. I'm honored and thankful to everybody... especially my mum. I'm a patriot.

There's an interesting feature suggestion in this issue: an automatic RecetteÀMarcel ←→  Dockerfile converter.
We'll need all the help we can get to translate the DSL to a French wortly the Académie Française proud. Please, make us proud.

Added support for:

docker-compose <=> marcel et-son-orchestre
docker run --privileged <=> marcel chauffe --etat-d-urgence

How about marcel chauffe --bourgeois

For docker run --privileged

And how about marcel-machine?

Pending pull request to translate the RecetteÀMarcel file format to Dockerfile
https://github.com/brouberol/marcel/pull/23

Let's honor the highest French elites and find equivalent docker commands for the following names:
marcel cerdan
marcel proust
marcel pagnol

And last but not least, marcel patulacci.

Marcel Dadi should be the right guy to play "chauffe Marcel"
!:-)
Le 23/01/2016 17:55, Benjamin Bouvier a écrit :

Let's honor the highest French elites and find equivalent docker
commands for the following names:
|marcel cerdan marcel proust marcel pagnol |
And last but not least, |marcel patulacci|.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-174200041.

No need for two websites, so http://server.matthieudelaro.ovh:3333 is now down. I migrated some stuff  with the following pending pull request https://github.com/brouberol/marcel/pull/24

@matthieudelaro Thanks for contributing ! Anyway, it's better to use a standard port and to have HTTPS support for a sovereignty project. But I shall acknowledge your carrousel is a great idea.

But HTTPS only shares information with the NSA supercomputers and can be seen as anti patriotic.
Maybe Marcel should support the properly translated PRETHE - Protocole de Transfert Hypertexte, properly translated version of the more universal HTTP.
OBTENIR /images/json?tous=0 PRETHE/1.0
200 VOILÁ

200 VOILÀ
TOP KEK

@bnjbvr I think a patch to Docker's container name generator would be a very good idea. For moods, we should use the French language's exceptionally rich choice of synonyms for "annoying". For names, we should use the rich variety of names used to designate the rulers of France over centuries.
$ marcel ps
louis_chiant
louis_emmerdant
louis_lourd
louis_saoulant
louis_agacant
louis_penible
louis_irritant
louis_rasoir
louis_enquiquinant
louis_horripilant
louis_gonflant
louis_desagreable
louis_enervant
louis_crispant
louis_exasperant
henri_cassecouille

Note: if someone takes the time to contribute a patch to official Docker, with an easter egg "marcel" build tag enabling the alternate marcel commands and container names, I think we should merge it upstream, to let people build their own.
WDYT @icecrime @crosbymichael @jfrazelle @thaJeztah @tonistiigi @vbatts @tonistiigi @LK4D4 @calavera @tiborvass @tianon? Would it be too much of a maintenance burden?

Now @shykes , you do realize that a) we ARE going to patch docker, and b) production containers will bear the name henri_cassecouille.
If everyone is alright with this, I want to go on record, and proclaim my full and undying love for each and everyone of you.

I would merge it in a hot second ;)
On Saturday, January 23, 2016, Solomon Hykes<EMAIL_ADDRESS>wrote:

Note: if someone takes the time to contribute a patch to official Docker,
with an easter egg "marcel" build tag enabling the alternate marcel
commands and container names, I think we should merge it upstream, to let
people build their own.
WDYT @icecrime https://github.com/icecrime @crosbymichael
https://github.com/crosbymichael @jfrazelle
https://github.com/jfrazelle @thaJeztah https://github.com/thaJeztah
@tonistiigi https://github.com/tonistiigi @vbatts
https://github.com/vbatts @tonistiigi https://github.com/tonistiigi
@LK4D4 https://github.com/LK4D4 @calavera https://github.com/calavera
@tiborvass https://github.com/tiborvass @tianon
https://github.com/tianon? Would it be too much of a maintenance burden?
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-174234153.

So, to summarize, in the near future it might not be uncommon to overhear French sysadmins exchanging sentences such as "Dis a Marcel de mettre henri_cassecouille en greve! Et de relancer louis_rasoir en mode bourgeois sur mon dernier graffiti. Ensuite va voir si les bûches ont l'air normal."

this is surreal... OMG, its actually going to happen... this is so amazing  . . .
vive la France,  vive Docker et Vive Marcel !!!

@shykes Do you think we should patch the name generator to include french combinations separately from the whole marcel easter egg?
I'd love to get me some docker stop henri_cassecouille.

@brouberol that seems out-of-scope for this discussion... But, you're making me thing that it would be a cool feature to allow designating a specific container as a custom name generator. So, you could run the marcel-style generator in a container, then point the Docker runtime to that, as a sort of plugin :)
And while we're at it: we need to make it easier for all plugins to be deployed as containers. So consider this a call for contributions!

@shykes yup, I'd consider merging that Easter egg, permits it doesn't end up in the regular code path, and (ideally) someone in this thread steps up to helping us maintain it.
Would definitely be fun though!

@shykes I was thinking we could put Easter eggs in experimental as a way to
incentivize people to test experimental more. It'd be the "cool" version :)
On Sat, Jan 23, 2016 at 6:31 PM Sebastiaan van Stijn <
<EMAIL_ADDRESS>wrote:

@shykes https://github.com/shykes yup, I'd consider merging that Easter
egg, permits it doesn't end up in the regular code path, and (ideally)
someone in this thread steps up to helping us maintain it.
Would definitely be fun though!
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/19396#issuecomment-174244246.

Next up: "Klingon Docker" haha

@tiborvass that's an excellent idea!

@shykes :+1: for letting more docker engine feature customizable / extensible using a container. Would make it simpler to experiment / bundle extensions. I just wonder how engine would name the container who is hosting the name generator ...
side note : I didn't expected this thread to get such a serious discussion and possible improvement to docker engine :smile:

I just wonder how engine would name the container who is hosting the name generator ...

Well, "Napoleon" obviously!

Issue closed on this one. :smile:

Ca prend des allures de reddit ici :)

All Americans use a americain operating system.
And you laugh when we want to do like you :o)

Totally legit issue :thumbsup:

This crazy thread made me wonder what would have happenned if DotCloud SA never became a Californian startup https://www.youtube.com/watch?v=1ZgDo1Lx7yQ

Just realised there was a :movie_camera: link behind this picture @ndeloof.
Hahaha awesome !

Just to keep you updated, the marcel project has found its new headquarters (in Lyon). You're all welcome to join us for a drink and/or a meal. It's on us.

@brouberol anytime !!
would love to see marcel merged as an easter egg :)

It reminds me https://en.wikipedia.org/wiki/4th_Dimension_(software) , applications written in french ... so strange !

#Windev (rofl)

I'm sorry, I think you've badly translated the run argument.
In France, we don't run a program, we execute it as a revivence of our glorious human rights past (and by so I mean past).
Hence we would use the following syntax : marcel exécute robespierre.
It would be a problem with any GNU/Linux system, but the sovereign OS is designed by top-level French engineers in our French silicon valley and not by a random hippie from the MIT, which means it will comply with the French syntaxic rules.

@eaoden :+1: Exactly!!
exécute should be an alias of chauffe
(that would also be a revenge on history, since it was more robespierre exécute marcel that occured during the :fr: revolution. ^^)

Grand bravo to everybody !

Each time I've had an idea, someone already has posted it: this is the true French ingenuity we all admire.

@tatic0 It proves French people are the best at grumbling against their administration :P (at least this time we have a good reason)

@tatic0

“Et ta soeur, elle est folle?”
:wink: :wine_glass:
(autocomplete suggested me that wine glass was close enough of wink)

mdr! (mort(e) de rire) = lol in French

Current
Proposed
Alternative

docker deamon
marcel esclave
-
We use /courrir/marcel.chaussette on unix

docker volume rm
marcel tonnage expulsé
marcel charter

docker login
marcel bûche-dedans
marcel rentrer

docker logout
marcel bûche-dehors
marcel sortir

docker build
marcel construire
marcel btp

docker cp
marcel plagiat
-

@Biromain
Idées suppliémentaires, quelques suggestions calembourgs alternatifs
Some Addition

1 + 1 = 2
docker cp -> (alt)  marcel triche
docker login -> marcel vos-papiers (de @brouberol)
docker logout -> marcel dehors, marcel ouste

volume -> ouvrage,  or better tome (tomme de savoie (on va pas en faire un frommage))
Une Correction
:raised_hands:
for daemon, the correct translation in french is not demon, devil (there is the same problem with hacker where thanks to french journalist is understood as black hat)
cf https://en.wiktionary.org/wiki/daemon

From Latin daemon (“genius, lar, guardian spirit”), from Ancient Greek δαίμων (daímōn, “dispenser, god, protective spirit”).

Hence will be better marcel génie,  (acknowledging french ingéniosité :fr: :grin:),
marcel esprit, (or marcel mauvais-esprit ^^)
Another alternative marcel gardien (et marcel goal or even marcel desailly
Or even marcel immortel to have academy française support
So no esclave, Libertée, Libertée Chérie!

marcel génie, esprit, mauvais-esprit, guardien,deseilly
N'est ce pas mieux? :smiley:

@Biromain @AdrieanKhisbe these are amazing :) Care to send a PR to https://github.com/brouberol/marcel?

@eaoden
I've had the pleasure of enjoying French administration. I'd really like them to have OSSouverain on their PCs.

@AdrieanKhisbe She's crazy, absolutely crazy, she uses non "souverain" free software for statistics stuff and wants to live in France.

@tatic0 haha. :grin: :trollface:
@brouberol: Will do ;), PR will hit your marcel dépot in the days to come. :)
(Demande de tirage, is such an ugly translation to me. something with aiguillage, ou raccordement, proposition de modification would be batter.)
:wink:

(fr)
For docker logout, I'd suggest marcel gueule-de-bois.
It may be a bit political, but for docker cp I'd also suggest marcel front-républicain.
In the same republican spirit :wine_glass: I'd suggest to replace docker import with marcel wiko or marcel uranium.
I'd suggest to wrap docker info with marcel suivi-de-dossier or marcel allocs, and docker daemon with marcel proust (or, if you feel intellectual, marcel madeleine).
(en)
To explain a bit, gueule de bois means a hangover.
The Front Républicain is a coalition of the union for a popular movement (UMP) and socialist party (PS). As the national front (FN) is rising, the UMP copies on it to get its electors and the PS copies on the UMP to get electors of both. François Hollande, our President, is binded to the PS.
You probably know Wiko, a "French" brand made by Chinese people and whose phones are build in China. They make a lot of branding on the fact it's the first French brand sold in the world. It's not.
I suggested uranium because France imports uranium from South Africa and Australia to produce nuclear energy.
The enwrappements for docker info point to the French administration, which is globally a huge mess with enthusiastic newcomers becoming jaded and cynical because one person is enough to ruin someone's life.
@tatic0 said French administration was good. It was so good the Kouachi brothers came from a district where social assistants, people helping you to deal with the terrible French administration, were all leaving to go somewhere else.
But that's not pretty funny.
Last but definitely not the least, Marcel Proust is a French writer, and I don't know in foreign countries but here we've got the madeleine de Proust, globally a sensation, like a taste or a fragrance, which reminds you a moment in your life.
Thinking of him makes me hungry now by the way, because of King Marcel.

I Work at MarcelCab, and we love the idea. Chauffe Marcel !

docker-logout : marcel-tu-l-aimes-ou-tu-le-quittes

Un quart d'heure avant sa mort, il était encore en vie -- Jacques II de Chabannes de @LaPalice

marcel tchao-boloss

@AdrieanKhisbe
marcel a-plus-dans-le-bus

marcel tchao-les-bitchs
I precise, the last word is with this acceptation: http://bitches.urbanup.com/987078, intended meaning

I think the french academy will not support "tchao" and "bitchs" we should find something else

I think marcel PlanB would be better for this.
The best thing would be to mail the Immortals. May I have a full list of commands and suggested wrappings so I can ask them what they would think about it ?

@zurbo -> marcel osef marcel balek  ^^
@eaoden Haha. We are too mortal to wait for a reaction. haha marcel methode-d

NO it's very important that the french soveraign operating system respect the french language (like the new french AZERTY keyboard) :smile: :wine_glass:

If there is a debug option, I'd suggest to call it marcel la-rache. http://www.la-rache.com/.

But what about an easter egg that would be approved by the French academy ? That would be so meta

@zurbo
French langage evolve, and is more diverse than the academy dictionary.
Academy is also more there to validate usages. si let's use watch french speaker from all horizon use
cf https://youtu.be/-Yk48TEGIao ;)
@eaoden, the power is in the meta (and that's the emacs/spacemacs user that talks ^^)
:trollface:

If I may shamelessly auto bump a paper about Docker, Marcel, French gov with some french words, I'd love your opinion on it, without giving the feeling of highjacking the topic, even if it is completely /b/ :) Kudos for challenging<EMAIL_ADDRESS>

@hi-t-ch, I had an overview of the artcle. (will read in more depth later)
Though I totally agree on french _“France has a long tradition of absurd, grotesque and self-mockery humor.” _, :fr: :trollface: Charlie, CanardEnchainé, and many many humorist, columnist.
I disagree a bit with Should we really pinpoint how this "elite" is completely disconnected with (technical) reality? Nah, vaut mieux en rire.
Definitely some part of the elite is à la masse, but not all of it. And there is too much blind french bashing from the silicon valley and american. (wont make an frenglish pun).
This is the arbre qui cache la foret, (trees that conceal the forest).
Latest minister (cf Axelle Lemaire, Fleur Pellerin), which I defy you to prove they are totally disconnected ;)
Quand le sage désigne la lune, l'idiot regarde le doigt, et l'opposant se concentre sur ce doigt
When the sage points at the moon, the fool/oponent looks at his finger, and the opponent focus on the finder. :full_moon_with_face:
Some american position is absurd (some would say selfish, américano centré): they deny to others a right they feel is natural for them:
cf  https://github.com/docker/docker/issues/19396#issuecomment-174499808

Kudos for this first comment :+1:
You said it yourself, "This is the arbre qui cache la foret, (trees that conceal the forest)", as it is the first post of a "bigger scheme", that is "somehow" connected to the "online" elites :-) Totally agree about the absurd position of some, French do it better anyway \o/
Cheers,

I expected this thread would be enough to demonstrate french folks creativity, but there's even more we can do now as there a great plan to review French language spelling rules (sic) #ReformeOrthographe
So for sample, proposed translation for docker logincould become marcel vo-papié - doesn't this look cool ?

@ndeloof This sounds glorious, and this mighty quest for a better spelling will remain being heard in the future generations. The children of my children will remember these glorious ages as the reborn of the greatness of France. :fr: :wine_glass:
We may give a snapshot of this to the Action Française as well. Vive la France, et vive le Roi !

To stay with Action Française :
docker restart should be marcel le-roi-est-mort-vive-le-roi

And marcel greve could be invoked with marcel a-l-aise. There's a nice ring to it, eh? The possibilities are countless and the future is bright, lol, thank you guys -- nice start of the day this thread!

Thanks, guys, for this effective thinktank on the future of the glorious French Tech.
I just wanted to provide you with some existing French translations of tech words (which are possibly proposed randomly) : Bitoduc (Which is supposed to mean BUS, I think; it sure sounds like "Dick pipe".)

Something just came to my mind about the French sovereign OS.
French academy, and usually any typography manual, recommend to put a dot at the end of abbreviations such as "etc.".
So we would end up with (assuming we would use ressources from Françafrique to install, say, gutenprint drivers) /etc./Françafrique/servers.list, wouldn't we ?
We may send an e-mail to the French academy about this as well. Who's in ?

Marcel has already infiltrated in the internal Docker Slack channel, posing as a "bot"

The sovereign OS is just another trick our corrupt government actors are using to give millions to their supporting friends.
They already did that with the "sovereign clouds", giving hundreds of millions to companies that knew nothing about cloud computing, and rejecting known, working, independent cloud actor.
Of course the guys who got money failed miserably and got bought by international corporations; our "sovereign clouds" are now owned by subsidiaries based in luxembourg among others.
They are going to do just the same with the "sovereign OS". Even the director of the national agency for computer system security (ANSSI) publicly said this thing is a nonsense ...
Isn't there a competent enough international journalist who could dig in there and expose these thieves ? French ones have been bought so we don't expect much from them, they can't talk about anything but the weather and petty crimes

trouble-fête :-)

I prefer watching videos instead.  Could somebody convert this issue into a video, please?

@DevankAgarwal http://www.youtube.com/watch?v=1ZgDo1Lx7yQ ?

C'est bizarre que personne n'ai proposé marcel vitrine-magique pour docker import.

won't fix, sorry :es:

(he's just jealous we're getting a sovereign OS and he doesn't)


Update Helicone mitm to pin to a specific version

Background

Changes

PR Quality Checklist

[ ] I have run the following commands against my code to ensure it passes our linters:black .
isort .
mypy .
autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports --ignore-pass-after-docstring --in-place agbenchmark

@chitalian nice thanks !

I forgot to tell you I merged it in main repo 5 weeks ago


chore(tests): add all root component into FreeBSD check

Describe your changes

Check all root components (except management) in FreeBSD.
This is required to avoid accidentally breaking these components on FreeBSD.

Issue ticket number and link

No  ticket number or link

Checklist

[ ] Is it a bug fix
[ ] Is a typo/documentation fix
[ ] Is a feature enhancement
[x] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Merged to upstream https://github.com/netbirdio/netbird/pull/2361


Request: Convert esp-radio.pdf => README.md

Any chance you can copy and paste the origins of the pdf into the README.md, I believe you can even drop pictures on the window.
PDF's are painful to use, as it's an image in the GitHub viewer so you can't search the text without downloading.

README.md
Thank you.

PR 79
Hopefully, this will streamline the process for you.

Wouldn't be too hard to download the pdf file....

Not only download it but have to run a GUI and install extra apps also that they become in a stagnate state as even right now the features section of the pdf doesn't match what you have in the readme, pdf's are open source unfriendly and difficult to manage in an ever changing project. Documentation should flow as easy as the source itself or other wise the documentation won't get updated. Never seen any project prefer something like that. You can always export the markdown to a pdf if you require that for some reason.

Here's a link to the updated README.md

If there is anything you want me to fix before accepting the pull request let me know and I'll see what I can do.


[crashers] Use standard licensing preamble

What's in this pull request?
As suggested by @tkremenek in #1668.
Resolved bug number: –

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

This cuts out too much.  I was mainly suggesting to cut out the reference to Apache, and just keep a reference to the LICENSE.txt file.


TOTP Secret length limitation

There seems to be an length limitation of the secret the app can handle.
Description
GitLab.com generates a secret with 80 characters.
If I try to add an account with this secret the add new account dialog and the main window simply closes and do nothing.
So is there any length limitation? 80 characters is much more then normal length, but I don't know if this breaks any standard. Well Google Authentificator and FreeOTP have no problems. So is this a memory problem of yubikey or does yubioath-desktop simply assumes a false, maximum length of the secret?
Reproduce

Click on Add Account
Enter any name
Enter a long valid secret (for example 80 characters. I haven't tried out where is the border)
Click on OK

Observed Behaviour
The Add New Account dialog and the main window closes. The tray icon will not exit and is still working. The Account is not added to the list.
Expected Behaviour
Only the Add New Account dialog closes and the item appears in the list.
Environment

Windows 8.1
yubioath-desktop 0.1.1
Yubico NEO (all three modes enabled, already eight other accounts added)
Linux is not tested because #15 still persists

Hello,
that does not add any security, it actually may reduce it. SHA1 HMAC hash is always 160 bits or 20 bytes.
A block is 64 bytes [check: private static final byte hmac_buf_size = 64; https://github.com/Yubico/ykneo-oath/blob/master/applet/src/pkgYkneoOath/OathObj.java ]
So the key which is in base64 will be decoded and then truncated to fit a block.

This is fixed in 2.x.x

Works well, great! :-)


[Host] Framer motion as animation library

Implement framer motion animation for animations in host application. We can migrate the existing animations as well to framer

Please assign this to me. Thanks

Can i work on this issue if its not completed @sadanandpai .

Hey @Dev-AkshatGupta , have you completed the task or yet to start?

I have started with it @karananeja Can connect accordingly on telegram if you want to work on this one.

Sure @Dev-AkshatGupta


macOS 10.15.1 - YubiKey U2F not working on Google login

Describe the bug
There's no FIDO U2F popups that show up for Google when going through two-factor auth. However, other services like GitHub work fine when logging in with a security key as two-factor. I also tried installing gnubbyd but it seems to have no effect here.
To Reproduce
Steps to reproduce the behavior:

Login into your Google account that has a security key for two-factor authentication
After entering username and password, you will end up here:

Message: There was a problem
Try using your security key again or try another way to verify it's you
Expected behavior
There should be a pop-up that lets me use the U2F key. Odd because if you go to the yubico technical demo it works. Maybe things got so ungoogled that this broke.

Environment (please complete the following information):

OS/Platform and version: MacOS 10.15.1
ungoogled-chromium version: Version 78.0.3904.97 (Official Build) (64-bit)

I hope this is fixable, I think it's a real shame if this was all because of Google.

From https://chromium.googlesource.com/chromium/src/+/master/device/fido/:

Websites interact with them via two APIs: the older U2F API and the modern W3C Webauthn API. In Chromium, the U2F API is not directly supported but it can be used by using postMessage with an internal extension called cryptotoken. Webauthn is supported by Blink and is part of CredMan.

I'm going to guess that Google may still be using the old U2F API. If so, it requires the internal cryptotoken extension (lives in chrome/browser/resources/cryptotoken) which is currently patched (patches/core/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch) and domain-substituted. As a result, cryptotoken should be trying to make requests that are being blocked by ungoogled-chromium; we can confirm that by checking the console output of the browser when you try to authenticate.
I believe the yubico tech demo is using Webauthn (you can test using this demo page: https://webauthn.io/), which doesn't use cryptotoken.

Chromium Developers are looking into deprecating the outdated api and as such probably migrating Google Login to use WebAuthn: https://groups.google.com/a/chromium.org/g/blink-dev/c/xHC3AtU_65A?pli=1

We're in 2023, and I still can't use Yubico security keys to login to my Google accounts with ungoogled-chromium.  It works with GNU IceCat.  Am I alone with this problem?


Add synchronous unary generation

Providing options for generating synchronous methods for unary RPC calls:
        val unaryRPC = testServiceConnectClient.unaryCallSync(message)
        val response = unaryRPC.responseMessage
        assertThat(response.code).isEqualTo(Code.UNKNOWN)
        response.failure { errorResponse ->
            assertThat(errorResponse.error).isNotNull()
            assertThat(errorResponse.code).isEqualTo(Code.UNKNOWN)
            assertThat(errorResponse.error.message).isEqualTo("test status message")
        }
        response.success {
            fail<Unit>("unexpected success")
        }

@rebello95 Do you prefer "synchronous" or "blocking"?

@rebello95 Do you prefer "synchronous" or "blocking"?

Don't have a strong preference. I would just avoid sync


Update base image to alpine 3.14.0

Should apk upgrade be added to Dockerfile to ensure libraries are up to date?

No, that would randomly upgrade libraries which would bring in unpinned versions and it's also not a pattern we follow elsewhere.


python 3 support

Currently code doesn't work with python 3.

Hello guys. Kudos for the launch.
How much effort is needed to resolve this issue ?
What do you guys think?

Just find the project and first great job. I've been looking for something like this. On the issue, I might be able to help. Progressbar surely does not work in python3 but there is Python3 fork besides that lets see what happens when I run 2to3 on the project.

Ok it's now running on Python 3.5.2 but bit of a hack

Could someone give a little direction here, Admittedly I only spend about an hour to migrate a rather sizable project and got it running (2 tests are still failing due to type issues). However, my quick fork wouldn't work with Python 2.7, because I did not write backward compatible way and one of the dependencies progressbar was changed to progressbar2. Is there a plan to make the whole project run on both python versions?
If that is the case I can start to contribute small commits file by file, but I have no idea what to do with progressbar and how to make it handle byte data allowing Python2 to still understood what is happening.

Hi Kimmo, thanks very much for looking into this. We can replace progressbar with tqdm . I will try to find someone who can help make the code cross-compatible as well.

Is there any branch, issues, or something to help with?

@twerkmeister FYI please branch from pipeline not master


Enable compatibility with laravel 11

@schmeits If you could review this PR and release a version that has compatibility with laravel 11 I would be very grateful.

Thanks for your PR @crazynds

1.6.0 with Laravel 11 compatibility is released


feat: add skywalking_agent 0.7.0 release

update skywalking_agent with release 0.7.0

:tada: This PR is included in version 1.211.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature/gatewaytestnet transactions.go tests

some more gateway tests still have a few more to complete

lgtm


(HTTP code 500) server error - Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:43644-><IP_ADDRESS>:53: i/o timeout

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...i try to create a new container in docker and doesn´t connect with the page

...

I have the same problem with you,when download the gridstudio image


The database provider attempted to register an implementation of the IRelationalTypeMappingSource

I have installed the latest preview, my application is built OK.
It uses PostgreSQL and 3 tenants.
When I run the app I receive:
'The database provider attempted to register an implementation of the IRelationalTypeMappingSource'
What can it be? I understand that probably it is not Finbuckle error but any way: how to fix it?

It is not FB problem, the reason is: EF Core versions mix, solved.


System.NullReference Exception

Brief description of your issue

I get this on boot. I think it started when I updated to the insider build so full disclosure. I have the kernel driver revocation with it too obviously. It does not occur when starting PH post-boot.
Steps to reproduce (optional)
No action required aside from having the boot option on
Expected behavior (optional)
No response
Actual behavior (optional)
See image
Environment (optional)
PH 3.0.4801
Windows 11 22H2 build 22598.200

That's not an error dialog from this project.

@dmex I apologize, it was a case of mistaken boot process identity. Should have used Process Hacker to check it before I posted the issue.


Help!!

Everytime there a tnt or creeper explode my player die, even in creative and the tnt is out of my range...
Please help meh ^-^^_^ <3

more information?  What mods do you have installed?  What mods are enabled?  Are you using any addons? What versions of Blocklauncher and Minecraft are you using?  Have you tried generating a new world to test this?


Rename Mirror stage of release pipeline

The stage is currently named "Mirror" but it should be renamed to something that more accurately reflects what it does because it's doing more than mirroring. It's also uploading the smoke test prereq tarball (https://github.com/dotnet/source-build/pull/3512) and, eventually, the source tarball (https://github.com/dotnet/source-build/issues/3497).
This was prompted by the comment in https://github.com/dotnet/source-build/pull/3512#discussion_r1234104756.

@mthalman not really sure what to rename it to.
Maybe Partners Handoff or even just Handoff?

Maybe Partner Release?

If we call this Partner Release would it make sense to rename the current Release stage to Public Release?

Yeah, seems reasonable to me


Fsi updates 111820c

https://github.com/adobe/xdm/issues/1017

Put all your mixins in the correct folder. Note you have some sitting outside the experience-event folder.


doc/production-setup: ulimits tuning doesn't apply to snap users

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"


feat: HL 1460

Description :sparkles:
HL-1460
Add ahjo_status after records are added to a case after the case is opened.
Also allow filtering with multiple ahjo_statuses, in case status can be one of several.
Issues :bug:
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

HANDLER branch is deployed to platta: https://helsinkilisa-ui-handler-pr3305.dev.hel.ninja :rocket::rocket::rocket:

APPLICANT branch is deployed to platta: https://helsinkilisa-ui-pr3305.dev.hel.ninja :rocket::rocket::rocket:

API branch is deployed to platta: https://helsinkilisa-pr3305.api.dev.hel.ninja/healthz :rocket::rocket::rocket:

TestCafe result is success for https://helsinkilisa-ui-pr3305.dev.hel.ninja :laughing::tada::tada::tada:


Simplify service invocation APIs

Description
This change mixes up the service invocation APIs to reflect some changes
that are coming down the pipe in dapr/dapr#2683.
We're now using HTTP's semantics and JSON for the main functionality in
InvokeMethodAsync. This means that the error handling is simplified
and base on HTTP's status codes rather than trying to abstract over HTTP
and gRPC's different error models. This also means that we're free to
expose HttpRequestMessage and related types in the API because it's no
longer an abstraction.
You can still use InvokeMethodAsync to invoke gRPC services, but you
will get a status code in the response, and it will expect JSON, etc,
similar to how gRPC gateway works.
In addition to that we're added InvokeMethodGrpcAsync for cases where
you really want gRPC's semantics. These methods do Protobuf
serialization, as is a natural choice for gRPC. I do not recommend using
this approach to invoke HTTP services.

I also make updates and improvments to various infrastructure where
necessary (like InvocationException). Also, the gRPC sample in the repo
now uses the new InvokeMethodGrpcAsync APIs.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Fixes: #549
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Extended the documentation

Updated

Updated


SubMesh for Nedelec and Raviart-Thomas Bases

This PR is studying the feasibility of adding support for Nedelec and Raviart-Thomas basis functions on SubMesh objects.
As a partial test of this new capability we add two new examples ex34p.cpp and ex35p.cpp. Example 34 solves a magnetostatics problem where the current density is computed on a domain derived SubMesh. Example 35 uses a port boundary condition to drive a wave equation in the full domain (this is a modified version of ex22p). The wave equation can use either H1, ND, or RT basis functions. The field used as the port boundary condition is computed as an eigenmode on a SubMesh object which is defined using a subset of the boundary attributes. Four new unit tests are also added.
This PR includes a significant redesign of the DofTransformation class although the resulting design should be backward compatible. The purpose of this redesign was to provide access to the underlying face transformations without tying them to a particular FiniteElementSpace since we need to transform degrees of freedom between a parent mesh and a sub-mesh which have distinct finite element spaces.
This PR also includes two new 2D meshes with non-trivial sets of boundary attributes which were used for testing. Although the test codes themselves do not appear as part of this PR I thought the meshes might be useful and/or interesting even without the tests (e.g. see llnl-p3.mesh).

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#3379
@mlstowell
@tzanio
@psocratis + @jamiebramwell + @jandrej
6/4/23
7/9/23
⌛due 6/25/23

PR Checklist

[ ] Code builds.
[ ] Code passes make style.
[ ] Update CHANGELOG:

[ ] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[ ] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[ ] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[ ] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[ ] New examples:

[ ] All sample runs at the top of the example source file work.
[ ] Update examples/makefile:

[ ] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[ ] Add any files generated by it to the clean target.
[ ] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

The problem with invalid ParSubMesh boundaries in parallel seems to arise because the faces_info array does not contain information about elements from neighboring processors which abut local edges. I'm not yet sure why this info is not there nor how to obtain it.

The problem with high order Nedelec triangles is caused an old friend. Nedelec basis functions associated with the interior of element faces are oriented with the reference triangle or quadrilateral. However, neighboring elements sharing a common face, or in this case neighboring meshes sharing a common face, may choose different orientations for their reference elements.
This problem is resolved using data from the DofTransformation objects returned by GetElementVDofs() and similar methods. We will need to incorporate this DofTransformation data into the ParTransferMap.
One possibility is to build a SparseMatrix containing this data and add a MatVec to the transfer step. This is conceptually simple but in most cases this matrix will be the identity or differ from the identity only slightly. It may be more efficient to create a specialized operator which only touches the DoFs which need to be manipulated.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Merged in next for testing...

Re-merged in next for testing...

Re-merged in next for testing...

I see that all three new examples support the --device/-d option, so I think we should add them to the list of the "device examples", here: https://github.com/mfem/mfem/blob/f97a770dcaa7498c93069ca7f27d25d9655acd86/examples/makefile#L30-L32 and here: https://github.com/mfem/mfem/blob/f97a770dcaa7498c93069ca7f27d25d9655acd86/examples/CMakeLists.txt#L120-L124

@mlstowell, can you please merge master here and resolve conflicts?
Also, do you want to make the above change suggested by @v-dobrev?

Re-merged in next for testing...


GrpcOutputFolderCopy property

This branch builds on the previous one and implements a new property GrpcOutputFolderCopy which copies the output to any number of folders. This is useful for example when you have the proto files in the server project and the gRPC output needs to be copied to the client project after the generation.
Additionally, there is a new target to make sure the folders are deleted on clean.

Seems to be covered in PR #6, I'll close this one.


Kgcl standardization

[x] Moved all tests to the tests folder
[x] Removed Travis dependency
[x] Added workflow in GH Actions to use tox

Addresses #27


Get user email by selector

Hello!
How, after resetting the password in this way ($auth->resetPassword($_POST['selector'], $_POST['token'], $_POST['password']);), to find out the user's email address to send him a critical notification? $auth->getEmail() is empty.

Great question, thanks!
Auth#getEmail is empty because no user is signed in at that time.
We could change Auth#resetPassword to return either the user’s ID or their email address, or even both. What do you think?

Thanks for your reply
You already have a user ID here:
https://github.com/delight-im/PHP-Auth/blob/1757ad3fd1eb06a014e78672749360b92be7d397/src/Auth.php#L1248
You can simply return it from the Auth#resetPasswrod. And then add a method like admin()->getUserEmailById($userId). I think this will be the optimal solution.

Yes, we already have a result set from the database there, and it will be easy to return the data.
But we cannot see any use case for retrieving the user ID there. Can you?
So, right now, we think it would be best to simply return the email address only.
By the way, note that, when the password reset is initiated, the user already receives an email. So what you want to do here (sending a second email on completion of the reset) is certainly a good practice, but not critical.

I still think it would be great to add a method like Administration#getUserEmailById - this method is still sometimes required. In this case, I see a use case for retrieving the user ID from Auth#resetPassword. But, in general, I think we will be glad to any decision. Perhaps the option you are offering is even more optimal.
Yes, I hastened, stating that this was a critical notice. But in my case it is quite important.

The method Auth#resetPassword now returns both the user’s ID and their email address.
Implemented in https://github.com/delight-im/PHP-Auth/commit/5214da1f598703e1103fe95be6ae7d7164989bd1 and documented in https://github.com/delight-im/PHP-Auth/commit/49c70eff414f045c3f640069c9f7e0671ab3c247


[release-1.6] Wasm remote load cache fix and stats

Cherry-pick https://github.com/istio/envoy/pull/204 to fix silent failure of remote load and https://github.com/istio/envoy/pull/207 to add stats to remote load cache.

@istio/release-managers-1-6 ptal, thanks!


Image is not displayed

Image is not displayed  when the html string contains the image url  with alt  when loading into editorView. but when I to manually insert image with URL and Alt  from tool bar able to see the image.
Please give a solution on this ASAP

Can anyone please respond why? WkWebview is not loading below image

https://docint0.blob.core.windows.net/publicfilescontainer02/
this image not accessible

https://docint0.blob.core.windows.net/publicfilescontainer02/
this image not accessible

For security reason I edited the URL. not to access. you can use any image URL in that place. The real image works when used in browser.
Please give some solution on this issue

If you toggle the source view, it seems iOS is inserting smart quotes. Not sure why, don't have a chance to investigate.

Can you please give me a solution to handle it. As displaying the image is the major part in my App.

I am able to display the image by changing the code of method removeQuotesFromHTML in ZSSRichTextEditor.m  as below
-(NSString *)removeQuotesFromHTML:(NSString *)html {
html = [html stringByReplacingOccurrencesOfString:@""" withString:@"\""];
html = [html stringByReplacingOccurrencesOfString:@"“" withString:@""];
html = [html stringByReplacingOccurrencesOfString:@"”" withString:@""];
html = [html stringByReplacingOccurrencesOfString:@"\r"  withString:@"\r"];
html = [html stringByReplacingOccurrencesOfString:@"\n"  withString:@"\n"];
return html;
}

I used the following and it's working for me:
- (NSString *)removeQuotesFromHTML:(NSString *)html {     html = [html stringByReplacingOccurrencesOfString:@"\'" withString:@"\\\'"];     html = [html stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];     html = [html stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];     html = [html stringByReplacingOccurrencesOfString:@"\r" withString:@""];     return html; }

change to this fix my issue
- (NSString *)removeQuotesFromHTML:(NSString *)html {
    html = [html stringByReplacingOccurrencesOfString:@"“" withString:@""];
    html = [html stringByReplacingOccurrencesOfString:@"”" withString:@""];
    html = [html stringByReplacingOccurrencesOfString:@"\r" withString:@"\r"];
    html = [html stringByReplacingOccurrencesOfString:@"\n" withString:@"\n"];
    return html;
}

I soved this problem by add a WKWebView category.
//
//  WKWebView+ZSSAddtion.m
//  ZSSRichTextEditor
//
//  Created by Subo on 2020/10/15.
//  Copyright © 2020 Zed Said Studio. All rights reserved.
//

#import "WKWebView+ZSSAddtion.h"
#import <objc/runtime.h>

@implementation WKWebView (ZSSAddtion)

+ (void)load {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        [self allowDisplayingKeyboardWithoutUserAction];
    });
}

+ (void)allowDisplayingKeyboardWithoutUserAction {
    Class class = NSClassFromString(@"WKContentView");
    NSOperatingSystemVersion iOS_11_3_0 = (NSOperatingSystemVersion){11, 3, 0};
    NSOperatingSystemVersion iOS_12_2_0 = (NSOperatingSystemVersion){12, 2, 0};
    NSOperatingSystemVersion iOS_13_0_0 = (NSOperatingSystemVersion){13, 0, 0};
    if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_13_0_0]) {
        SEL selector = sel_getUid("_elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:");
        Method method = class_getInstanceMethod(class, selector);
        IMP original = method_getImplementation(method);
        IMP override = imp_implementationWithBlock(^void(id me, void* arg0, BOOL arg1, BOOL arg2, BOOL arg3, id arg4) {
            ((void (*)(id, SEL, void*, BOOL, BOOL, BOOL, id))original)(me, selector, arg0, TRUE, arg2, arg3, arg4);
        });
        method_setImplementation(method, override);
    }
    else if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_12_2_0]) {
        SEL selector = sel_getUid("_elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:");
        Method method = class_getInstanceMethod(class, selector);
        IMP original = method_getImplementation(method);
        IMP override = imp_implementationWithBlock(^void(id me, void* arg0, BOOL arg1, BOOL arg2, BOOL arg3, id arg4) {
            ((void (*)(id, SEL, void*, BOOL, BOOL, BOOL, id))original)(me, selector, arg0, TRUE, arg2, arg3, arg4);
        });
        method_setImplementation(method, override);
    }
    else if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_11_3_0]) {
        SEL selector = sel_getUid("_startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:");
        Method method = class_getInstanceMethod(class, selector);
        IMP original = method_getImplementation(method);
        IMP override = imp_implementationWithBlock(^void(id me, void* arg0, BOOL arg1, BOOL arg2, BOOL arg3, id arg4) {
            ((void (*)(id, SEL, void*, BOOL, BOOL, BOOL, id))original)(me, selector, arg0, TRUE, arg2, arg3, arg4);
        });
        method_setImplementation(method, override);
    } else {
        SEL selector = sel_getUid("_startAssistingNode:userIsInteracting:blurPreviousNode:userObject:");
        Method method = class_getInstanceMethod(class, selector);
        IMP original = method_getImplementation(method);
        IMP override = imp_implementationWithBlock(^void(id me, void* arg0, BOOL arg1, BOOL arg2, id arg3) {
            ((void (*)(id, SEL, void*, BOOL, BOOL, id))original)(me, selector, arg0, TRUE, arg2, arg3);
        });
        method_setImplementation(method, override);
    }
}

@end


License for create-vite should be included in templates

Clear and concise description of the problem
The templates for create-vite are part of the create-vite package and thus naturally under the MIT license, which would require the license to be reproduced in the created repository. This is not done by default.
Suggested solution
Copy the LICENSE file into each template and rename it to something like LICENSE-TEMPLATE so that it is not confused for the license of the repository.
Alternative
Is licensing the templates under CC-0 or similar public domain-like licenses possible?
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I don't think we need to do this.

Not every project created with this template will need a license file
Even if, it is rarely and you should generate them on your own :thinking:

Yes every project would get rid of vite's introduction code in src. However, there might be an argument that the index.html file still contains enough to be copyrighted. I just think developers should be made aware of the license somehow.

That being said create-react-app doesn't create a third party notice file either. There is an issue for it there as well, but it is basically stale.

Hi, we've discussed this asynchronously and decided this isn't a necessary feature to add at the moment. Most projects would be deciding what license they would use, and it would be odd to endorse a specific license by default. Closing as this isn't something we'd be adding soon.


fix FieldReader features missing

What this PR does / why we need it?
for issue #2114
fix fearues not working very well
Summary of your change
com.alibaba.fastjson2.reader.FieldReader#acceptAny:456
JSONReader.Context readContext = JSONFactory.createReadContext();                     if ((features & JSONReader.Feature.SupportSmartMatch.mask) != 0) {                         readContext.config(JSONReader.Feature.SupportSmartMatch);                     }
->
JSONReader.Context readContext = JSONFactory.createReadContext(features);
Please indicate you've done the following:

[ ] Made sure tests are passing and test coverage is added if needed.
[ ] Made sure commit message follow the rule of Conventional Commits specification.
[ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

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

finally made it.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (4710721) 75.35% compared to head (7432b3f) 75.35%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2117      +/-   ##
============================================
- Coverage     75.35%   75.35%   -0.01%
+ Complexity    21619    21617       -2
============================================
  Files           634      634
  Lines         85341    85339       -2
  Branches      18914    18913       -1
============================================
- Hits          64312    64309       -3
  Misses        13114    13114
- Partials       7915     7916       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Unable to install label-studio with anaconda

Describe the bug
I'm unable to install label-studio on my computer.
To Reproduce
Steps to reproduce the behavior:

conda create -n ml
python3 --version
conda install pandas scipy scikit-learn numpy seaborn nltk
python3 --version
pip install -U label-studio
label-studio

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
=> Database and media directory: /home/olivier/.local/share/label-studio
=> Static URL is set to: /static/
=> Database and media directory: /home/olivier/.local/share/label-studio
=> Static URL is set to: /static/
Traceback (most recent call last):
  File "/home/olivier/anaconda3/envs/ml/bin/label-studio", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/label_studio/server.py", line 290, in main
    _setup_env()
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/label_studio/server.py", line 40, in _setup_env
    application = get_wsgi_application()
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
                      ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/conf/__init__.py", line 82, in __getattr__
    self._setup(name)
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/conf/__init__.py", line 69, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/conf/__init__.py", line 170, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/label_studio/core/settings/label_studio.py", line 48, in <module>
    from label_studio.core.utils.common import collect_versions
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/label_studio/core/utils/common.py", line 19, in <module>
    import drf_yasg.openapi as openapi
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/drf_yasg/openapi.py", line 11, in <module>
    from .utils import dict_has_ordered_keys, filter_none, force_real_str
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/drf_yasg/utils.py", line 10, in <module>
    from rest_framework import serializers, status
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/rest_framework/serializers.py", line 27, in <module>
    from rest_framework.compat import postgres_fields
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/rest_framework/compat.py", line 25, in <module>
    from django.contrib.postgres import fields as postgres_fields
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/contrib/postgres/fields/__init__.py", line 1, in <module>
    from .array import *  # NOQA
    ^^^^^^^^^^^^^^^^^^^^
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/contrib/postgres/fields/array.py", line 3, in <module>
    from django.contrib.postgres import lookups
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/contrib/postgres/lookups.py", line 4, in <module>
    from .search import SearchVector, SearchVectorExact, SearchVectorField
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/django/contrib/postgres/search.py", line 1, in <module>
    import psycopg2
  File "/home/olivier/anaconda3/envs/ml/lib/python3.11/site-packages/psycopg2/__init__.py", line 51, in <module>
    from psycopg2._psycopg import (                     # noqa
SystemError: initialization of _psycopg raised unreported exception
Starting new HTTPS connection (1): o227124.ingest.sentry.io:443
https://o227124.ingest.sentry.io:443 "POST /api/5820521/store/ HTTP/1.1" 200 41

Environment (please complete the following information):

OS: Ubuntu 22.04
Label Studio Version : label_studio-1.7.2-py3-none-any.whl
Conda : 23.1.0
Kernel : 5.19.0-35-generic

Additional context
My conda environnment start with python 3.10.6 and after the first command the python version become 3.11

I've repeated all your steps and found that conda forces to install psycopg2-binary==2.9.1 instead of our dependency psycopg2==2.9.5 (https://github.com/heartexlabs/label-studio/blob/ls-release/1.7.2/deploy/requirements.txt#L50):
...
Collecting psycopg2-binary==2.9.1
  Using cached psycopg2-binary-2.9.1.tar.gz (380 kB)
  Preparing metadata (setup.py) ... done
...
Building wheels for collected packages: psycopg2-binary
  Building wheel for psycopg2-binary (setup.py) ... done
  Created wheel for psycopg2-binary: filename=psycopg2_binary-2.9.1-cp311-cp311-linux_x86_64.whl size=168148 sha256=d9149cdb8a5ebab1198e6e0a6f0ef7ea32f82ae56ff50a76b284995b50696332
  Stored in directory: /root/.cache/pip/wheels/f1/1a/c9/bfe23827cc8df9048a813d15686451b15427725865bcfe7aed
Successfully built psycopg2-binary

But I found a workaround:
conda install psycopg2

This will install psycopg2-2.9.3 which will unblock the startup of label-studio

This issue will be fixed in 1.7.3 release coming soon.

I'm experiencing this problem with pip.
When pip install psycopg2-binary --force-reinstall I get:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
label-studio 1.7.1 requires psycopg2-binary==2.9.1, but you have psycopg2-binary 2.9.6 which is incompatible.
And I am back to;
║   Update available 1.7.1 → 1.8.0   ║
║   Run pip install -U label-studio     ║

Hi I've encountered the same problem by following the official install guide with anaconda.
After reinstall psycopg2, the problem was still there. Then I found that the root cause is conda install Python3.11 automatically, while label-studio is only supported under Python3.9. So the problem is solved by install Python3.9 first, then install label-studio 1.8.

@hxuaj how to install label-studio 1.8 ? is the default version ? in this case should we run this: conda install psycopg2  # required for LS 1.7.2 only


Add section on loss of device troubleshooting

It would be great to get a section on how to troubleshoot a loss of device error. This is an issue that stumps many people when working with vulkan for the first time.
Some things that could be included that would be helpful:

How to use vkCmdSetCheckpointNV/vkGetQueueCheckpointDataNV/vkGetQueueCheckpointData2NV for NVIDIA
How to use vkCmdWriteBufferMarkerAMD/vkCmdWriteBufferMarker2AMD for AMD (I'm not even sure how to use these, I have only used the nvidia ones)

Useful link: https://vulkan.lunarg.com/doc/view/<IP_ADDRESS>/mac/chunked_spec/chap45.html#_device_loss_debugging
Here is a sample snippet of an implementation I hacked together for the project I am working on. It does not work perfect, especially on older cards (I'm thinking that older drivers have issues with the set checkpoint). Perhaps it may be of use in getting something put together for the book.
public static String[] getOptionalDebuggingDeviceExtensions() {
        return debugCommandBuffers ?
                new String[] {
                        //NVIDIA: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_NV_device_diagnostic_checkpoints.html
                        VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME,

                        //AMD: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_buffer_marker.html
                        //TODO: VK_AMD_BUFFER_MARKER_EXTENSION_NAME,

                        //Optional: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_synchronization2.html
                        VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, //Disable for nvidia NSIGHT
                }
                : new String[0];
    }

    public static void debugLostDeviceNV2(Vk12Queue queue) {
        if (!debugCommandBuffers) {
            return;
        }
        if (queue.getDevice().getExtensions().contains(VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME) && queue.getDevice().getExtensions().contains(VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME)) {
            try (MemoryStack stack = MemoryStack.stackPush()) {
                IntBuffer count = stack.callocInt(1);
                vkGetQueueCheckpointData2NV(queue.getQueue(), count, null);

                if (count.get(0) > 0) {
                    VkCheckpointData2NV.Buffer checkpointData = VkCheckpointData2NV.calloc(count.get(0));
                    vkGetQueueCheckpointData2NV(queue.getQueue(), count, checkpointData);
                    List<String> checkpoints = new ArrayList<>(count.get(0));
                    for (VkCheckpointData2NV checkpoint : checkpointData.stream().toList()) {
                        checkpoints.add(commandBufferCheckpoints.get((int) checkpoint.pCheckpointMarker() - 1));
                    }
                    LOGGER.severe("Device lost on command buffer checkpoint: \n\t* " + String.join("\n\t* ", checkpoints));
                } else {
                    debugLostDeviceNV(queue);
                }
            }
        } else {
            debugLostDeviceNV(queue);
        }
    }

    public static void debugLostDeviceNV(Vk12Queue queue) {
        if (!debugCommandBuffers) {
            return;
        }
        if (queue.getDevice().getExtensions().contains(VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME)) {
            try (MemoryStack stack = MemoryStack.stackPush()) {
                IntBuffer count = stack.callocInt(1);
                vkGetQueueCheckpointDataNV(queue.getQueue(), count, null);

                if (count.get(0) > 0) {
                    VkCheckpointDataNV.Buffer checkpointData = VkCheckpointDataNV.calloc(count.get(0));
                    vkGetQueueCheckpointDataNV(queue.getQueue(), count, checkpointData);
                    List<String> checkpoints = new ArrayList<>(count.get(0));
                    for (VkCheckpointDataNV checkpoint : checkpointData.stream().toList()) {
                        checkpoints.add(commandBufferCheckpoints.get((int) checkpoint.pCheckpointMarker() - 1));
                    }
                    LOGGER.severe("Device lost on command buffer checkpoint: " + String.join("\n\t* ", checkpoints));
                } else {
                    LOGGER.warning("No command buffer checkpoints recorded for device lost error.");
                }
            }
        } else {
            debugLostDeviceAMD(queue);
        }
    }

    public static void debugLostDeviceAMD(Vk12Queue queue) {
        if (!debugCommandBuffers) {
            return;
        }
        if (queue.getDevice().getExtensions().contains(VK_AMD_BUFFER_MARKER_EXTENSION_NAME)) {
            //TODO: ???
        } else {
            LOGGER.warning("Cannot debug lost device, missing device extensions.");
        }
    }

    public static void debugCommandBuffer(Vk12CommandBuffer buffer, String commandBufferCheckpoint) {
        if (!debugCommandBuffers) {
            return;
        }
        if (buffer.getCommandPool().getDevice().getExtensions().contains(VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME)) {
            long checkpointMarker;
            if (!commandBufferCheckpoints.contains(commandBufferCheckpoint)) {
                commandBufferCheckpoints.add(commandBufferCheckpoint);
            }
            checkpointMarker = commandBufferCheckpoints.indexOf(commandBufferCheckpoint);
            vkCmdSetCheckpointNV(buffer.getCommandBuffer(), checkpointMarker + 1);
        } else if (buffer.getCommandPool().getDevice().getExtensions().contains(VK_AMD_BUFFER_MARKER_EXTENSION_NAME)) {
            //TODO: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdWriteBufferMarkerAMD.html
            //TODO: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdWriteBufferMarker2AMD.html
        }
    }

Thanks,
Trevor

Thanks for the suggestion. It could be added in the first chapters when device is created. Let me give a thought about this. Do you know how it can be easely tested? That is, how we can force to lose the device?
In any case, I will need some time. (End of year is allways a complicated period)

Yes, there are several easy ways to cause a loss of device, some actually too easy (one of my big issues with vulkan is the lack of crash info as to why a device was lost). I'll see about getting some samples together that only include what was covered up to creating a device, or at least something that can easily be added to that chapter for demonstration.

Update, I've just started working on this. I think this could go to an annex. I will let you know whene there is something ussable for you to test it.

I've just uploaded a draft version. Please have a look and come back with commients (if any)

@lwjglgamedev I just did a quick run though of the code, I have not cloned it yet. I'll do that next.
Just something I noticed, here: https://github.com/lwjglgamedev/vulkanbook/blob/24caf2cdc99e0023ae0c98f025734a8eecb4cd32/booksamples/appendix-01/src/main/java/org/vulkanb/eng/graph/vk/VulkanUtils.java#L38
This is using vkGetQueueCheckpointData2NV to get the number of VkCheckpointDataNV structures. I think this should be:
vkGetQueueCheckpointDataNV. The vkGetQueueCheckpointData2NV requires the VK_KHR_SYNCHRONIZATION_2. And on my GPUs, does not seem to work even with that extension. Perhaps I am doing something wrong, I have been testing on a RTX Titan, K2100m, and M220. From what I gather from the documentation, the number of VkCheckpointDataNV and VkCheckpointData2NV data structures can be different though, so using the correct call for the correct number of structures I think is important.
But I am curious to know what your findings have been since my implementations have been somewhat flaky on the K2100m and M2200. I have observed on the K2100m the checkpoints being returned out of order, or incomplete list of checkpoints that were passed to the command buffer, and on the M2200 the only checkpoints returned are the last checkpoint before the failure, but duplicated. Yet, my RTX Titan always seems to return the full list of checkpoints up to the error correctly.
Also, my new tried and true way of causing a loss of device error is to have a null pointer in the shader pipeline. An easy one for testing is to build the vertex layout but leave the buffer pointer null. It will crash on binding the pipeline vkCmdBindPipeline.
After breakfast I'll clone it and play with it. Thank you for working on this, I think this will be a valuable addition.
On a side note: I have been learning how to use NVIDAI Aftermath. So far I have had very limited sucess in getting anything useful out of it. I can get a crash report, but it always just says DMA pagefault with no other usable information. It does have a stacktrace into the driver, but without the debugging symbols it just is to garbage pointers. I'm not sure how to get the debugging symbols. Even as a registered NVIDIA developer I did not see them under developer downloads. But the NSight utility does allow for attaching them if someone happened to get them.

For example, to create a loss of device, you can allocate more VkVertexInputAttributeDescription then you have buffers.
vertexInputAttributes = VkVertexInputAttributeDescription.calloc(bufferCount + 5); //FIXME: Added 5 for testing

Interestingly, on my M2200, this situation does not return any checkpoints at all from either vkGetQueueCheckpointData2NV  or vkGetQueueCheckpointDataNV.

Hi,
I've just corrected the code to call ``vkGetQueueCheckpointDataNV. I'm just testing inserting a marker and after that calling to dump the results (not provoked any loss of device yet). What I see is that I goet the check point twice at different stages: VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT andVK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT`. It seems that the check point is marked for each stage it gets executed. To be honest, the specifciation is not clear if this is the normal case or not.
I will try to provoke a device loss and check what I get.

Interesting test, I have never tried to get the checkpoints outside of a loss of device.