Advice on installing mu4e

Hi,
The installation of mu4e fails, I'm guessing because its build requires C build of mu as well as installation the lisp for mu4e.  The build directory ends-up empty.  I get the following warning:
Error (use-package): Cannot load mu4e
Reading a few other posts this might be that the recipe is wrong?
I can install this package use apt install or build it manually using make, meaning the output is placed here (or the local directory equivalent if using make):
mu binary goes here - /usr/bin/mu
lisp goes here - /usr/share/emacs/site-lisp/mu4e
etc...
My question is can I make this package install under straight given it needs autogen/configure/make, and if not what is the best practice/least disruptive way to marry this with the rest of my straight setup using an external build?
For example this hack seems to work, but is ugly:
cd /home/some_user/.emacs.d/straight/build/mu4e
ln -s /usr/share/emacs/site-lisp/mu4e/*.el  .
Am I right that it's the underlying package straight is pulling in rather than a problem with straight itself which is the issue?
If it's not sensibly possible to fix the straight install of this package, should an exclusions list be maintained to prevent installation of known broken packages?

This problem is because the authors of mu4e declined to publish the package to MELPA, and they decided to be special and put the Lisp files in a weird subdirectory, so there does not exist any metadata which tells straight.el where to find the Lisp files.
Solution for you:
(straight-use-package
 '(mu4e :files (:defaults "mu4e/*.el")))

To solve this problem in general, mu4e must be published to a package registry. After all, it isn't reasonable to expect a package manager to "just know" how to install a weird nonstandard package that hasn't been published anywhere.
Luckily, it seems that the el-get repository has mu4e (see here), so by adding support for el-get, we'd solve this problem. This is the approach that I would recommend to contributors.

Thanks for response.  Totally agree that if packages are non-standard there is little a generic package manager can reasonably do.
Agreed that https://github.com/raxod502/straight.el/issues/115 looks like it will take care of autogen/make requirements.
For now the advice on https://github.com/raxod502/straight.el/issues/386 looks like a good starting point for me producing a basic custom build, or I could simply maintain the non emacs lisp components outside of straight.
The fix you've provided above, which I believe should at least install the emacs lisp correct by appending to the default patterns matches for files - I get an error generating the repo name.  I suspect I'm doing something dumb?
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("^.*/\\(.+\\)\\.git$" nil)
  straight-vc-git-local-repo-name((:files (:defaults "mu4e/*.el") :package "mu4e" :type git))
  apply(straight-vc-git-local-repo-name (:files (:defaults "mu4e/*.el") :package "mu4e" :type git))
  straight-vc(local-repo-name git (:files (:defaults "mu4e/*.el") :package "mu4e" :type git))
  straight-vc-local-repo-name((:files (:defaults "mu4e/*.el") :package "mu4e" :type git))
  straight--convert-recipe((mu4e :files (:defaults "mu4e/*.el")) nil)
  straight-use-package((mu4e :files (:defaults "mu4e/*.el")))

You are expecting recipe inheritance (#116), but this feature is not in master yet. Either upgrade to develop (i.e. set straight-repository-branch to "develop" and run straight-normalize-package), or specify all the required keys:
(straight-use-package '(mu4e :host github :repo "emacsmirror/mu4e"
                             :files (:defaults "mu4e/*.el")))

I believe this is possibly related to #72 as well.
mu4e has elisp files which are generated during the make process.
e.g. https://github.com/djcb/mu/blob/master/mu4e/mu4e-meta.el.in
If they are not generated when the mu server is updated, the variables in the linked file will be outdated. This can be worked around by manually updating them, but it'd be nice if one could programatically detect the change and trigger a rebuild.

I really wish package maintainers wouldn't do this. There's no good technical reason to require a build step, and it makes everything so complicated.

I may have time to contribute a pull toward #72 soon. Do you have any ideas for an implementation? At first glance it would seem to involve adding a :build keyword to recipes which specifies the commands to be run in the package directory before installation.

@progfolio That's great! For approach: I think it would be best if we did something that is compatible with the el-get recipe format. They already have a whole interface worked out, and if we conform to it then we get to steal all of their recipes for very little effort. Stealing other people's good ideas: the straight.el way™. (It's what we did with MELPA.) el-get uses a :build key, plus some :build/... keys for system types. I kind of don't like that, because it makes automatic recipe transformations harder if the set of keys isn't fixed. Maybe we can refactor to just a :build key that can be either the commands to run or an alist mapping the system types to commands to run.
Now luckily el-get is WTFPL'd, so we don't have to be super careful about lifting bits of code to parse the recipe format. (I still have bad memories of pbl.) Although I doubt we want to copy very much wholesale.
I think it is fine to make build commands be synchronously run and to throw an error if they fail. If we start trying to allow build commands to fail, then we get into the awkward situation of having to deal with "was this package fully built? or did the build command fail? if the latter, how do we tell when we should try re-running the build command?" This forces your Emacs configuration to have a hard dependency on the build command, but in my view that's your problem because packages shouldn't be using this stuff if they want to be portable.
You could add a step to straight--build-package, maybe after dependency resolution but before autoload generation. Then put in some new subroutines, a la straight-expand-files-directive.
See also #115. And feel free to let me know if you have further questions.

This thread is being closed automatically by Tidier because it is labeled with "waiting on response" and has not seen any activity for 90 days. But don't worry—if you have any information that might advance the discussion, leave a comment and I will be happy to reopen the thread :)

I wound up here after chasing down a problem with mu4e after switching to nixpkg. Inspired by the workaround above, I have done this to get me onto my next Nix related error ;)
# Remove the directory first or the path will be:
# ~/.emacs.d/.local/straight/build/mu4e/mu4e
rmdir ~/.emacs.d/.local/straight/build/mu4e || true
ln -snf ~/.nix-profile/share/emacs/site-lisp/mu4e \
    ~/.emacs.d/.local/straight/build/mu4e

As a Doom Emacs user I've transitively gotten a lot of mileage out of straight.el. Thanks for the hard work!

Remove the directory first or the path will be

You can pass the -T argument to ln to eliminate this behavior (ln will throw an error if the path exists already, instead of putting the target inside of it when it's a directory).

Thanks for the hard work!

Oh, and thank you! ^_^

Hi, Glad I found this was going crazy. So whats the current use-package form when using straight?

Hi, Glad I found this was going crazy. So whats the current use-package form when using straight?

Here's what I use. It builds mu in the mu repo and I ise that executable. You could alter the :pre-build commands to change the prefix during the configure script and/or run make install. In either case you need to point the mu4e-mu-binary to the mu executable.
(use-package mu4e :straight ( :host github :files ("mu4e/*") :repo "djcb/mu" :branch "master" :pre-build (("./autogen.sh") ("make"))) :commands (mu4e mu4e-update-index) :custom (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu")))

Here's what I use. It builds mu in the mu repo and I ise that executable. You could alter the :pre-build commands to change the prefix during the configure script and/or run make install. In either case you need to point the mu4e-mu-binary to the mu executable.
(use-package mu4e :straight ( :host github :files ("mu4e/*") :repo "djcb/mu" :branch "master" :pre-build (("./autogen.sh") ("make"))) :commands (mu4e mu4e-update-index) :custom (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu")))

thanks. I'll give it a try. )
On Thu, 14 Jan 2021 at 12:56, Nicholas Vollmer<EMAIL_ADDRESS>wrote:

Here's what I use. It builds mu in the mu repo and I ise that executable.
You could alter the :pre-build commands to change the prefix during the
configure script and/or run make install. In either case you need to
point the mu4e-mu-binary to the mu executable.
(use-package mu4e :straight ( :host github :files ("mu4e/*") :repo "djcb/mu" :branch "master" :pre-build (("./autogen.sh") ("make"))) :commands (mu4e mu4e-update-index) :custom (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu")))
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/straight.el/issues/491#issuecomment-760150634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYTC52YUCEYDM7KE3TIPTSZ3LXXANCNFSM4LAHA5LQ
.

thanks. I'll give it a try. )
On Thu, 14 Jan 2021 at 12:56, Nicholas Vollmer<EMAIL_ADDRESS>wrote:

Here's what I use. It builds mu in the mu repo and I ise that executable.
You could alter the :pre-build commands to change the prefix during the
configure script and/or run make install. In either case you need to
point the mu4e-mu-binary to the mu executable.
(use-package mu4e :straight ( :host github :files ("mu4e/*") :repo "djcb/mu" :branch "master" :pre-build (("./autogen.sh") ("make"))) :commands (mu4e mu4e-update-index) :custom (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu")))
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/straight.el/issues/491#issuecomment-760150634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYTC52YUCEYDM7KE3TIPTSZ3LXXANCNFSM4LAHA5LQ
.

Error (use-package): mu4e/:catch: Cannot open load file: No such file or
directory, mu4e-meta
Error (use-package): mu4e-alert/:catch: Cannot open load file: No such file
or directory, mu4e-meta
Sigh. I give up. I'll just install from git into
usr/local/share/emacs/site-lisp and be done with it. Thanks anyway.
On Thu, 14 Jan 2021 at 15:42, Richard G. Riley<EMAIL_ADDRESS>wrote:

thanks. I'll give it a try. )
On Thu, 14 Jan 2021 at 12:56, Nicholas Vollmer<EMAIL_ADDRESS>wrote:

Here's what I use. It builds mu in the mu repo and I ise that executable.
You could alter the :pre-build commands to change the prefix during the
configure script and/or run make install. In either case you need to
point the mu4e-mu-binary to the mu executable.
(use-package mu4e :straight ( :host github :files ("mu4e/*") :repo "djcb/mu" :branch "master" :pre-build (("./autogen.sh") ("make"))) :commands (mu4e mu4e-update-index) :custom (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu")))
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/straight.el/issues/491#issuecomment-760150634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYTC52YUCEYDM7KE3TIPTSZ3LXXANCNFSM4LAHA5LQ
.

Error (use-package): mu4e/:catch: Cannot open load file: No such file or
directory, mu4e-meta
Error (use-package): mu4e-alert/:catch: Cannot open load file: No such file
or directory, mu4e-meta
Sigh. I give up. I'll just install from git into
usr/local/share/emacs/site-lisp and be done with it. Thanks anyway.
On Thu, 14 Jan 2021 at 15:42, Richard G. Riley<EMAIL_ADDRESS>wrote:

thanks. I'll give it a try. )
On Thu, 14 Jan 2021 at 12:56, Nicholas Vollmer<EMAIL_ADDRESS>wrote:

Here's what I use. It builds mu in the mu repo and I ise that executable.
You could alter the :pre-build commands to change the prefix during the
configure script and/or run make install. In either case you need to
point the mu4e-mu-binary to the mu executable.
(use-package mu4e :straight ( :host github :files ("mu4e/*") :repo "djcb/mu" :branch "master" :pre-build (("./autogen.sh") ("make"))) :commands (mu4e mu4e-update-index) :custom (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu")))
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/straight.el/issues/491#issuecomment-760150634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYTC52YUCEYDM7KE3TIPTSZ3LXXANCNFSM4LAHA5LQ
.

Sorry, I should have checked: What version of straight.el are you using?
M-x straight-version?

Sorry, I should have checked: What version of straight.el are you using?
M-x straight-version?

Nicholas Vollmer writes:

Sorry, I should have checked: What version of straight.el are you using?
M-x straight-version?

,----
| prerelease (HEAD -> master, origin/master, origin/HEAD) 2d407bc 2020-12-20
| You can run the command ‘straight-version’ with M-x st-ve RET
`----
"self" bootstrapped from scratch.
I'd really like to be reliant just on straight rather than needing to
install mu4e from git I must admit.

Nicholas Vollmer writes:

Sorry, I should have checked: What version of straight.el are you using?
M-x straight-version?

,----
| prerelease (HEAD -> master, origin/master, origin/HEAD) 2d407bc 2020-12-20
| You can run the command ‘straight-version’ with M-x st-ve RET
`----
"self" bootstrapped from scratch.
I'd really like to be reliant just on straight rather than needing to
install mu4e from git I must admit.

I should add I can also install from Debian repos but, again, I prefer not
to.
On Thu, 14 Jan 2021 at 16:22, Richard G. Riley<EMAIL_ADDRESS>wrote:

Nicholas Vollmer writes:

Sorry, I should have checked: What version of straight.el are you using?
M-x straight-version?

,----
| prerelease (HEAD -> master, origin/master, origin/HEAD) 2d407bc
2020-12-20
| You can run the command ‘straight-version’ with M-x st-ve RET
`----
"self" bootstrapped from scratch.
I'd really like to be reliant just on straight rather than needing to
install mu4e from git I must admit.

I should add I can also install from Debian repos but, again, I prefer not
to.
On Thu, 14 Jan 2021 at 16:22, Richard G. Riley<EMAIL_ADDRESS>wrote:

Nicholas Vollmer writes:

Sorry, I should have checked: What version of straight.el are you using?
M-x straight-version?

,----
| prerelease (HEAD -> master, origin/master, origin/HEAD) 2d407bc
2020-12-20
| You can run the command ‘straight-version’ with M-x st-ve RET
`----
"self" bootstrapped from scratch.
I'd really like to be reliant just on straight rather than needing to
install mu4e from git I must admit.

Ah, I see the issue. You're on the "master" branch. The features required to run the :pre-build commands are on the "develop" branch. There are a few options:

Update straight.el to track the "develop" branch. You should be able to use the recipe I provided earlier in that case. Bear in mind this is where development takes place, so you may encounter some bugs. You can always freeze the version of straight to help mitigate this.

Use straight.el to clone/install mu4e. Manually run the :pre-build commands in a shell in the mu repo. I did this while implementing the feature which allows running :pre-build commands from a recipe. The disadvantage being you'll have to repeat this process any time you update mu/mu4e.

Rely on your OS package manager. I did this before I used straight and, as you've expressed, I wasn't too keen on it- but it works so long as your satisfied with the version of mu the package manager provides. This may be the most painless if you do not have time for any of the previous options at the moment.

Ah, I see the issue. You're on the "master" branch. The features required to run the :pre-build commands are on the "develop" branch. There are a few options:

Update straight.el to track the "develop" branch. You should be able to use the recipe I provided earlier in that case. Bear in mind this is where development takes place, so you may encounter some bugs. You can always freeze the version of straight to help mitigate this.

Use straight.el to clone/install mu4e. Manually run the :pre-build commands in a shell in the mu repo. I did this while implementing the feature which allows running :pre-build commands from a recipe. The disadvantage being you'll have to repeat this process any time you update mu/mu4e.

Rely on your OS package manager. I did this before I used straight and, as you've expressed, I wasn't too keen on it- but it works so long as your satisfied with the version of mu the package manager provides. This may be the most painless if you do not have time for any of the previous options at the moment.

Or, as I've done, I can install mu4e from a git clone to
/usr/local/share/emacs/site-lisp and use use-package as normal with no
recipes. I'll do that for now as then I have latest mu.
Nicholas Vollmer writes:

Ah, I see the issue. You're on the "master" branch. The features required to run the :pre-build commands are on the "develop" branch. There are a few options:

Update straight.el to track the "develop" branch. You should be able to use the recipe I provided earlier in that case. Bear in mind this is where development takes place, so you may encounter some bugs. You can always freeze the version of straight to help mitigate this.

Use straight.el to clone/install mu4e. Manually run the :pre-build commands in a shell in the mu repo. I did this while implementing the feature which allows running :pre-build commands from a recipe. The disadvantage being you'll have to repeat this process any time you update mu/mu4e.

Rely on your OS package manager. I did this before I used straight and, as you've expressed, I wasn't too keen on it- but it works so long as your satisfied with the version of mu the package manager provides. This may be the most painless if you do not have time for any of the previous options at the moment.

Or, as I've done, I can install mu4e from a git clone to
/usr/local/share/emacs/site-lisp and use use-package as normal with no
recipes. I'll do that for now as then I have latest mu.
Nicholas Vollmer writes:

Ah, I see the issue. You're on the "master" branch. The features required to run the :pre-build commands are on the "develop" branch. There are a few options:

Update straight.el to track the "develop" branch. You should be able to use the recipe I provided earlier in that case. Bear in mind this is where development takes place, so you may encounter some bugs. You can always freeze the version of straight to help mitigate this.

Use straight.el to clone/install mu4e. Manually run the :pre-build commands in a shell in the mu repo. I did this while implementing the feature which allows running :pre-build commands from a recipe. The disadvantage being you'll have to repeat this process any time you update mu/mu4e.

Rely on your OS package manager. I did this before I used straight and, as you've expressed, I wasn't too keen on it- but it works so long as your satisfied with the version of mu the package manager provides. This may be the most painless if you do not have time for any of the previous options at the moment.

 All good now.  And it seems s long as mu4e has a matching mu it doesn't matter if that clashes with the system one that my mbsync systemd service launches. So... many thanks and all good.

 All good now.  And it seems s long as mu4e has a matching mu it doesn't matter if that clashes with the system one that my mbsync systemd service launches. So... many thanks and all good.

@progfolio I was able to build mu4e using your recipe, I just had to figure out how to switch to the develop branch. Thanks for posting that solution!
For anyone who wants to try this build recipe but does not know how to switch straight.el to use the a different branch:

Before loading the snippet for bootstrapping straight.el, set the variable straight-repository-branch to the name of the branch you'd like to use. The value of the branch name must be a string. For example, to use the develop branch:

(setq straight-repository-branch "develop")

Delete the contents of ~/.emacs.d/straight/ and restart Emacs to cause straight to download the new branch.

@progfolio I was able to build mu4e using your recipe, I just had to figure out how to switch to the develop branch. Thanks for posting that solution!
For anyone who wants to try this build recipe but does not know how to switch straight.el to use the a different branch:

Before loading the snippet for bootstrapping straight.el, set the variable straight-repository-branch to the name of the branch you'd like to use. The value of the branch name must be a string. For example, to use the develop branch:

(setq straight-repository-branch "develop")

Delete the contents of ~/.emacs.d/straight/ and restart Emacs to cause straight to download the new branch.

I recently got drawn into issues with mu4e again. I've got a fix below.
I encountered this during a doom upgrade:
      > Building mu4e...
      x There was an unexpected error
        Message: error
        Data: (error . ":pre-build command error in \"mu4e\" recipe in command \"(\\\"./autogen.sh\\\")\"")
        Backtrace:
          (signal error (":pre-build command error in \"mu4e\" recipe in command \"(
          (error ":pre-build command error in %S recipe in command %S" "mu4e" "(\"./
          (condition-case err (if (cl-every #'stringp command) (if (apply #'straight
          (let ((command (car --dolist-tail--))) (condition-case err (if (cl-every #
          (while --dolist-tail-- (let ((command (car --dolist-tail--))) (condition-c
          (let ((--dolist-tail-- (if (cl-every #'listp commands) commands (list comm
          (let ((default-directory repo) (commanderror nil)) (let ((--dolist-tail--
          (if repo (let ((default-directory repo) (commanderror nil)) (let ((--dolis
          (let* ((commands (and t (if post post-build pre-build))) (repo (and comman
          (let* ((--cl-rest-- recipe) (pre-build (car (cdr (plist-member --cl-rest--

My mu4e is symlinked out of a nix directory. nix likes to keep everything read-only, and I see no autogen.sh to run. There are already .elc files there (I assume the nix derivation build put them there). So I disabled the pre-build step:
(package! mu4e
  :recipe (
           :local-repo "~/.nix-profile/share/emacs/site-lisp/mu4e"
           ;; pre-build must be disabled when using the nix derivation - in part
           ;; because it is alreadt built, but also because the directory is
           ;; read-only because that's how nix likes to do things.
           :pre-build ()
           )
  )

"~/.nix-profile/share/emacs/site-lisp/mu4e" comes from a symlink, which is documented earlier in this thread.
I apologize if this necro-posting is considered distasteful. My (perhaps poor) justification is that searches for pre-build issues relating to straight.el and mu4e bring me back here. Perhaps this will help someone else.

I'll continue with the necro-posting started by @LoganBarnett for other NixOS users that are struggling with this.
(use-package mu4e
:straight (:local-repo
           "/run/current-system/sw/share/emacs/site-lisp/mu4e"
           :pre-build
           ())

This works for me in vanilla emacs with straight and use-package.

I'll chime in here, also using vanilla emacs on NixOS.
For me, the solution provided by @baracunatana does not work, namely straight.el will treat local-repo as a git repo and attempt to update it. We need to tell straight.el to treat it as is. Here's my solution:
(use-package mu4e
  :straight
  (:local-repo "/run/current-system/sw/share/emacs/site-lisp/mu4e"
   :type built-in)
  :commands (mu4e)
  :config
  ;;...)

hello,
the recipe posted on 14 Jan 2021 seems to only work on the branch release/1.6 of mu.
(use-package mu4e
  :straight ( :host github
                  :repo "djcb/mu"
                  :branch "release/1.6"
                  :files ("mu4e/*")
                  :pre-build (("./autogen.sh") ("make")))
  :custom   (mu4e-mu-binary (expand-file-name "mu/mu" (straight--repos-dir "mu"))))

For the mu master branch, i tried this:
(use-package mu4e
  :straight ( :host github
                  :repo "djcb/mu"
                  :branch "master"
                  :files ("build/mu4e/*")
                  :pre-build (("./autogen.sh") ("make")))
  :custom   (mu4e-mu-binary (expand-file-name "build/mu/mu" (straight--repos-dir "mu"))))

but I get the following error: Error (use-package): mu4e/:catch: Symbol’s function definition is void: mu4e~main-action-str

mu/mu4e's build scripts have recently changed. I haven't updated either in a bit, but this is the most current recipe I have:
( :host github :files ("build/mu4e/*.el") :repo "djcb/mu"
              :pre-build (("./autogen.sh")
                          ("ninja" "-C" "build")))

(use-package mu4e
  :straight
  (:local-repo "/run/current-system/sw/share/emacs/site-lisp/mu4e"
   :type built-in)
  :commands (mu4e)
  :config
  ;;...)

I'm using home-manager, and mu isn't installed globally on the system (just for my user). Changing the :local-repo path to "~/.nix-profile/share/emacs/site-lisp/mu4e" works for me.

I'd like to add a slight variation to @ne9z's solution that resolved the issues I had with mu 1.8.8 that was built from source:
(use-package mu4e
:straight (:type nil :local-repo "/usr/local/lib/mu/build/mu4e" :pre-build ())
:config ...)

mu is installed in the folder /usr/local/lib/mu.
using :type nil rather than :type built-in causes straight to copy all the *.el files into the straight/build/mu4e folder, making the mu4e command available while preventing any issues with straight-pull-all
The mu4e-mu-binary variable was already set to /usr/local/bin/mu by default.

(:host github
		   :files ("build/mu4e/*.elc")
                   :branch "release/1.8"
		   :repo "djcb/mu"
		   :pre-build (("meson" "build")
                               ("ninja" "-C" "build"))

The following recipe seems ok with mu v1.8.11.

This issue has plagued me for days.
I'm on MacOS running Emacs 28.2. I finally figured out to run the autogen.sh file. I found autogen.sh in ~/.emacs.d/straight/repos/mu4e/.
So in the Terminal
zsh ~/.emacs.d/straight/repos/mu4e/autogen.sh
This complained that I didn't have Meson installed. Using Homebrew to install this...
brew install meson
... and then restarting Emacs and Mu4e built!
As part of my search for an answer I installed the Development branch of Straight.el. I'm not sure if this was important or not though in the end as I don't have a :pre-build line in my config file entry for Mu4e.
(straight-use-package '(mu4e :host github :repo "emacsmirror/mu4e"                                :files (:defaults "mu4e/*.el")))
But I am very pleased that I've got Mu4e working now under Straight.el in Emacs 28.2. Thanks to those above for this thread.

(use-package mu4e
  :straight
  (:local-repo "/run/current-system/sw/share/emacs/site-lisp/mu4e"
   :type built-in)
  :commands (mu4e)
  :config
  ;;...)

I'm using home-manager, and mu isn't installed globally on the system (just for my user). Changing the :local-repo path to "~/.nix-profile/share/emacs/site-lisp/mu4e" works for me.

At the risking of summoning this thread from the dead, thanks for this -- your version finally worked for me. My config has only a slight change in home-manager user's path:
(use-package mu4e
             :straight
             (:local-repo "/etc/profiles/per-user/<your username here>/share/emacs/site-lisp/mu4e"
                          :type built-in)
             :commands (mu4e)
             :config
             (setq mu4e-maildir "~/mbsync"))


✨feat(content_dev): Added content development page

Description
This pull request introduces the content development page, including the creation of the HTML file with its structural elements and the corresponding CSS for styling.
The content development page is now fully developed and ready for integration.
I worked on this PR @Tugi-Ngunjiri
Fixes #1 #12 #75
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Screenshot (optional)
Desktop

Tablet

Mobile

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@JAPHETHNYARANGA
This PR  is ready for review

@JAPHETHNYARANGA
This PR  is ready for review

@JAPHETHNYARANGA
This PR  is ready for review

Good attempt closing this pr as it is already done, please pick another issue


Don't abort program if next_key is NULL in ebpf_map_get_next_key()

On Linux it is valid to pass NULL as next_key for queue type maps, since that map type doesn't really have a key. Return EINVAL instead of aborting the process via an assert.

Fix libbpf_test.cpp failed test case.

@Alan-Jowett could you re-approve and merge please?


fix: unify webhookCallback overloads

First reported in https://t.me/grammyjs/248742

Approved in https://t.me/grammyjs/248849


Galley: schema updates

This is in preparation for the merge of pilot and galley schemas.
Split out from #19973

@nmittler: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
fa8f94378ca09ac82509ae7d1d5e52a8208d6463
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nmittler: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
fa8f94378ca09ac82509ae7d1d5e52a8208d6463
link
/test lint_istio

gencheck_istio
fa8f94378ca09ac82509ae7d1d5e52a8208d6463
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nmittler: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
fa8f94378ca09ac82509ae7d1d5e52a8208d6463
link
/test lint_istio

gencheck_istio
fa8f94378ca09ac82509ae7d1d5e52a8208d6463
link
/test gencheck_istio

e2e-simpleTests-distroless_istio
fa8f94378ca09ac82509ae7d1d5e52a8208d6463
link
/test e2e-simpleTests-distroless_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


main-es2015.acca8c05bb7aa8144e3f.js:1 ERROR TypeError: this._value.setHours is not a function

Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-start-78vvuu
Steps to reproduce

Add a time picker
Model for time picker is set
Value is date but type is string

What is expected?
Its expected to still work even date is passed as a string. This can create issues when dates are returned from API call as strings and not formatted to date beforehand, currently we need to format it always as date and then pass it to the component.
Time picker should IMO check if it is a string, and convert it to a date so it can use setHours methods etc
What is actually happening?
Time picker component is not converting it to a Date object and therefore throwing an error.

Environment
Info

ng-zorro-antd
8.3.0

Browser
80.0.3987.132 Chrome

Ran into this bag when I was passing date value to the time picker.
After a API call, I passed date to time picker but it threw an error as API returned it as a string.

Will open a pull request for this.

Created: https://github.com/NG-ZORRO/ng-zorro-antd/pull/4872

Is this similar? https://github.com/NG-ZORRO/ng-zorro-antd/issues/4777

Identical issue.
Did not see that issue.


[REQUEST]How to set Ulysses in deepspeed config json?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hi @xs1997zju  are you asking how to enable using Deepspeed Ulysses?

Hi @xs1997zju are you asking how to enable using Deepspeed Ulysses?

@loadams  Yes, I'm now using transformer accelerate  deepspeed plugin for training,  I want to know is there a way to enable the ulysses in deepspeed config json,  like this:
ds_config.json
`{
"bf16": {
    "enabled": true
},

"zero_optimization": {
    "stage": 3,
    "offload_optimizer": {
        "device": "cpu",
        "pin_memory": true,
        "buffer_count": 10
    },
    "offload_param": {
        "device": "cpu",
        "pin_memory": true
    },
    "overlap_comm": true,
    "contiguous_gradients": true,
    "sub_group_size": 1e9,
    "reduce_bucket_size": "auto",
    "stage3_prefetch_bucket_size": 1e9,
    "stage3_param_persistence_threshold": "auto",
    "stage3_gather_16bit_weights_on_model_save": true
},

"gradient_accumulation_steps": "auto",
"gradient_clipping": "auto",
"steps_per_print": 1,
"train_batch_size": "auto",
"train_micro_batch_size_per_gpu": 1,
"wall_clock_breakdown": false

}`

code:
`from accelerate.utils import DeepSpeedPlugin
deepPlugin = DeepSpeedPlugin(hf_ds_config='ds_config.json', zero3_init_flag=True)
accelerator = Accelerator(deepspeed_plugin=deepPlugin)
model = AutoLigerKernelForCausalLM.from_pretrained(pretrained_model_path)
model = accelerator.prepare(model)
xxx
`


Reslug digital-data-and-technology-professions

Apparently shouldn't have the last 's'.

I noticed after deploying this that updating organisations.name doesn't actually change the name displayed on the page. This uses organisations.logo_formatted_name. This was fixed in the console.


Nothing is being clicked when the overlay is active

Preparation

[X] I tested the latest release
[X] I looked at other issues (even the closed ones)
[X] I read the Troubleshooting Guide

FGO server
NA
FGA build number
1546
Describe the bug
When the overlay is active, I am not able to press any buttons on the screen.
I tried running a script, but nothing is clicked. Seems like the overlay is not clicking anything or Android 12 is blocking it.
The only way to leave is to bring up the overlay menu and go back to the home screen.
Video
I'm not able to screen record because any time I try to record it, the overlay won't let me record past the time I enable FGA. I know this isn't the best but I've even tried third party apps and they've all been stopped as the FGA service is started.
Device model
Pixel 4 XL
Android version
12
Screen size
No response
RAM
No response

See #734

See #734

I don't know how to use Android Studio, use ADB, or even how to open ADB.


[XS][1648] Add noWrap to team name display in TeamCharacterSelector

Describe your changes
My first PR in this repo. Not familiar with mUI so bear with me. I just added a noWrap to a typography element, then added a nested typography element (is this ok?). i needed a nested element in order to keep using flex on the parent element, as ellipses wrap only works for inline display
willing to add more to other relevant areas when i hear that this is an acceptable pattern for approach.
Issue or discord link
https://github.com/frzyc/genshin-optimizer/issues/1648
Testing/validation
https://github.com/user-attachments/assets/522260cc-66c6-4bab-ac69-b6a25a37fb75
Checklist before requesting a review (leave this PR as draft if any part of this list is not done.)

[x] I have commented my code in hard-to understand areas.
[x] I have made corresponding changes to README or wiki.
[x] For front-end changes, I have updated the corresponding English translations.
[x] I have run yarn run mini-ci locally to validate format and lint.
[x] If I have added a new library or app, I have updated the deployment scripts to ignore changes as needed

Summary by CodeRabbit

New Features

Enhanced styling and readability of the TeamCharacterSelector component.
Improved text wrapping for the team name display to prevent overflow.

Bug Fixes

Adjusted properties to ensure the team name is displayed correctly without layout issues.

Refactor

Streamlined the JSX structure for better clarity and maintainability.

I think there is another location to apply this change, according to the issue: https://github.com/frzyc/genshin-optimizer/blob/master/libs/gi/page-team/src/CharacterDisplay/Content.tsx#L168

absolutely, i wanted to verify the approach before adding to other spots. let me know if this all looks right or if there are other spots you are thinking of (new to this app)

I think there is another location to apply this change, according to the issue: https://github.com/frzyc/genshin-optimizer/blob/master/libs/gi/page-team/src/CharacterDisplay/Content.tsx#L168

absolutely, i wanted to verify the approach before adding to other spots. let me know if this all looks right or if there are other spots you are thinking of (new to this app)

I wonder what happens when you have both a long loadout name and a long build name?

I think there is another location to apply this change, according to the issue: https://github.com/frzyc/genshin-optimizer/blob/master/libs/gi/page-team/src/CharacterDisplay/Content.tsx#L168

absolutely, i wanted to verify the approach before adding to other spots. let me know if this all looks right or if there are other spots you are thinking of (new to this app)

I wonder what happens when you have both a long loadout name and a long build name?
Looks like need to nowrap the build name as well

fixed! new to this app thanks for informing.

i tried to use typography nowrap for the buildcard, didnt quite turn out how i like lol


Command to display your official risk for PKing

I think a lot of one versus one PvP fights would be much easier if a player could just type "!risk" or ":risk" and the client would officially display the Value of lost items from inside of the Items Kept on Death user interface. This would be posted into the world's public chat. There may need to be a way to confirm that this has been automated and is official.
It would make for a lot of fairer fights and avoid potential scamming and having to explain how you risk what you claim every single fight.

This value can always be faked from the client side; this is possible with our current commands as well, and there's not really anything we can do to prevent that.

Wouldn't adding commands that have a high probability to be faked probably defeat the whole purpose of the command? Especially since there's no way to verify that it's correct. Don't people trade to show what they're risking anyway?

This feature reminds me of an old World of Warcraft addon that faked achievements, which are used to prove that you completed a specific raid or boss. This particular addon was used to cheat a lot of people into allowing the player into their raids, and I believe that your proposed feature may be misused in the same way.

This is impossible to implement in a way that would not be immediately abused


Fixe

Ignore casing of file extensions when opening files

It was impossible to open files with an all upper case extension e.g. my-track.MP3

Implement Looping in Player

Looping one song and the whole queue now works
Player now goes back to start and pauses when queue has ended and looping is disabled

Go to the last song when pressing previous while the first song is playing

Before the player would set its CurrentTrack Pointer into a negative number

Fix progress bar not updating when seeking 5 secs ahead

Player now sends an event when the currentTime is updated, to update the ProgressBar

Thanks @Its-treason!


Revise implementation of C# Aabb.GetSupport to match the implementation in core

fixes: #88834

We'd be interested in opinions from core contributors here, since we're not entirely sure about the implications.
The C++ implementation changed in #44468, and was not ported to C# before the current PR.

I think he might have forgotten to update the C# module because he's too busy. Besides, what benefits could this diversity bring?

I think he might have forgotten to update the C# module because he's too busy. Besides, what benefits could this diversity bring?

This isn't really the question. We (referring to @raulsntos and I) are simply trying to establish which is less harmful between:

Keeping the current behaviour.
Introducing the change, and potentially breaking people's code currently relying on this behaviour.

In essence: pushing aside the difference with GDScript, does the returned value even make sense? Hence, the review from another team, more aware of the implications.

Thanks!


Typo in generate_scraper_node.py

Describe the bug
The prompt says pyton instead of python
I can push a PR if you like.

Very appreciated, remember to follow the contribution guidelines and to push into pre/beta branch ;)

hi, I just fixed the typo, thank you


Add Cromwell CLI

Involves fairly major refactoring of regular analysis-runner CLI.
Introduces command line for Cromwell. I've updated the example, but it's here too for reference:
pushd examples/cromwell
analysis-runner cromwell submit \
    --output mfranklin-analysis-runner-test \
    --access-level test \
    --description 'Hello, fewgenomes!'
    --workflow-input-prefix 'hello.' \
    --imports tools \
    hello.wdl \
    --inp 'Hello, fewgenomes!'

Cromwell
$  analysis-runner cromwell --help
usage: cromwell analysis-runner [-h] {submit,status} ...

positional arguments:
  {submit,status}

Cromwell submit:
$ analysis-runner cromwell submit --help
usage: analysis-runner cromwell submit [-h] --dataset DATASET -o OUTPUT_DIR
                                       [--repository REPOSITORY]
                                       [--commit COMMIT] --description
                                       DESCRIPTION
                                       [--access-level {test,standard,full}]
                                       [-i INPUTS] [-p IMPORTS [IMPORTS ...]]
                                       [--workflow-input-prefix WORKFLOW_INPUT_PREFIX]
                                       workflow ...

positional arguments:
  workflow              WDL file to submit to cromwell
  dynamic_inputs        --{key} {value} that get automatically parsed into an
                        inputs json

optional arguments:
  -h, --help            show this help message and exit
  --dataset DATASET     The dataset name, which determines which analysis-
                        runner server to send the request to.
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        The output directory within the bucket. This should
                        not contain a prefix like "gs://cpg-fewgenomes-main/".
  --repository REPOSITORY, --repo REPOSITORY
                        The URI of the repository to run, must be approved by
                        the appropriate server. Default behavior is to find
                        the repository of the current working directory with
                        `git remote get-url origin`.
  --commit COMMIT       The commit HASH or TAG of a commit to run, the default
                        behavior is to use the current commit of the local
                        repository, however the literal value "HEAD" is not
                        allowed.
  --description DESCRIPTION
                        Human-readable description of the job, logged together
                        with the output data.
  --access-level {test,standard,full}
                        Which permissions to grant when running the job.
  -i INPUTS, --inputs INPUTS
                        Relative path to input JSON
  -p IMPORTS [IMPORTS ...], --imports IMPORTS [IMPORTS ...]
                        A list of directories which are used to search for
                        workflow imports
  --workflow-input-prefix WORKFLOW_INPUT_PREFIX
                        Prefix to apply to all inputs AFTER the workflow
                        argument, usually the workflow name

Status:
$ analysis-runner cromwell status --help
usage: analysis-runner cromwell status [-h] [-l] workflow_id

positional arguments:
  workflow_id

optional arguments:
  -h, --help            show this help message and exit
  -l, --expand-completed

Example progress (for newly committed complex workflow):
-----------  ------------------------------------
Workflow ID  a124192e-b881-4606-9751-5c6d4d609359
Status       running
Start        2021-07-06T03:04:00.074Z
End
Duration     13m:20s
-----------  ------------------------------------
Jobs:
  [#] random (3m:3s)
  [#] inner (6 jobs) (4m:1s)
  [#] ScatterAt21_18 (6 jobs) (2m:50s)
  [~] joined (6 jobs) (2m:43s)
      [~] joined (shard-0) (3m:16s)
          JobID: projects/718951859361/locations/us-central1/operations/16883228672817417940
      [#] joined (shard-1) (2m:47s)
      [~] joined (shard-2) (2m:14s)
          JobID: projects/718951859361/locations/us-central1/operations/14106299995696436748
      [~] joined (shard-3) (2m:43s)
          JobID: projects/718951859361/locations/us-central1/operations/1342268722688267785
      [~] joined (shard-4) (2m:44s)
          JobID: projects/718951859361/locations/us-central1/operations/13753170664256234340
      [#] joined (shard-5) (2m:43s)

Developer notes:

The command line is constructed lazily, because I didn't want the CLI to change for the existing analysis runner, we check sys.argv manually, and then if it's cromwell, go to that subparser.
Add a /cromwell/<id>/metadata endpoint to the analysis-runner server as it's easier to proxy requests through there.
The dynamic_inputs argument is a bit hand-wavy, but it allows you to dynamically specify inputs on the command line (rather than put then in an inputs json, commit, push then specify it). You will almost certainly need to specify a --workflow-input-prefix, which is a simple prefix applied to all arguments (eg: 'hello.inp in the example above). The doctests give good example for how it might work, but broadly the inputs json is constructed using the following rules:

Look for any args that start with '--', strip those two leading dashes, replace '-' with '_'.

If the keyword is followed by another keyword, then make
the first param a boolean (with True)
If the keyword is followed by a single non-keyword value, set the value
parse the type and
If the keyword is followed by multiple arguments, make it an array

For example:
>>> parse_additional_args(['--keyword1', '--keyword2'])
{'keyword1': True, 'keyword2': True}

>>> parse_additional_args(['--keyword', 'single value'])
{'keyword': 'single value'}

>>> parse_additional_args(['--keyword', 'val1', 'val2'])
{'keyword': ['val1', 'val2']}

>>> parse_additional_args(['--keyword', 'false'])
{'keyword': False}

>>> parse_additional_args(['--keyword', 'value', '--keyword'])
{'keyword': ['value']}

>>> parse_additional_args(['--keyword', 'value1', 'value2', '--keyword'])
{'keyword': [['value1', 'value2']}

>>> parse_additional_args(['--keyword', 'val1_a', 'val1_b', '--keyword', 'val2_a', 'val2_b'])
{'keyword': [['val1_a', 'val1_b'], ['val2_a', 'val2_b']]}

It's super awesome. So cool that you implemented this. The CLI design is neat.
Wondering if the examples in the README should work? https://github.com/populationgenomics/analysis-runner/blob/69e504935be6abf370672bd6f7352a8b705df85d/examples/cromwell/README.md#hello-world I guess, might need to update the server first? Is there a way for me to try it before merging?

Thanks @vladsaveliev! They should work when the server is deployed. You can change SERVER ENDPOINT to the server-test url, and deploy the test server with:
export DRIVER_IMAGE="australia-southeast1-docker.pkg.dev/analysis-runner/images/driver:e47b8ea40aa01f8eab025425e144877b8ae79f0b-hail-0.2.67.devbafea6b18247"
export SERVER_IMAGE='australia-southeast1-docker.pkg.dev/analysis-runner/images/driver:michael-cromwell-dev'
gcloud run deploy server-test \
    --region australia-southeast1 \
    --no-allow-unauthenticated \
    --platform managed \
    --set-env-vars=DRIVER_IMAGE=$DRIVER_IMAGE \
    --image $SERVER_IMAGE

Then you should be able to run the test examples (make sure you reinstall the CLI if you change the server host).


ranking interpretation

If rank is not present as a property in the Interpretation object, assume that the first object has rank1, the second object has rank2.

Automatically adding rank if missing now
https://github.com/LinkedEarth/pylipd/commit/2d501f953c540abed88fa13a7a2d5a7b8a404695
Ranks start from 0, 1, 2, ..


Add test groups

Describe the feature
Create a feature to specify "test groups" such that there is a shorthand for specifying several related tests on a model at once. Currently, Fishtown best practices recommend that you specify unique and not_null tests on the primary key of each of your models - these tests are logically related. This feature would allow you specify just a primary key test group on a single field, and would automatically generate and compile both a unique and not_null test for that model on a dbt test invocation. This could be extended to other logically grouped tests on single fields.
Describe alternatives you've considered
Alternatives include explicitly calling each test, as it works today! This is still absolutely a viable approach, and has the benefit of forcing analysts to explicitly declare their assumptions about their data.
Additional context
Example:
current state:
version: 2

models:
    - name: cool_data_model
      columns:
          - name: id
            tests:
                - unique
                - not_null

proposed:
version: 2

models:
    - name: cool_data_model
      primary_key: id

Obviously the example is up for debate - might be worth keeping column-level definitions in there, and maybe something that explicitly says the word test but generally, a single specification could make the definition of these tests more concise.
Who will this benefit?
This is primarily for analytics engineers to clean up the definitions in a schema.yml file.
Are you interested in contributing this feature?
For sure!

Neat idea @dave-connors-3! What you're proposing sounds along the lines of a built-in YAML anchor, i.e.
models:
  - name: cool_data_model
    columns:
      - name: id
        tests: &primary_key
          - unique
          - not_null
  - name: my_other_model
    columns:
      - name: id
        tests: *primary_key

Without, of course, having to define the initial &primary_key in each file.
I heard a related idea the other day, with a slightly different angle, and I'm now convinced that the two might be connected.
Right now, dbt runs separate queries for each of unique, not_null, etc, even if they're all defined on the same column in the same table. What if there was a way for dbt to consolidate those tests into a single query?
Essentially, I'm thinking of a genuinely different custom schema that acts as a "combo" of existing builtin tests:
models:
  - name: cool_data_model
    columns:
      - name: id
        tests:
          - primary_key

Then:
{% macro test_primary_key(model, column_name) %}

    with potential_dupes as (

        select

            {{ column_name }},
            count(*) as num_rows

        from {{ model }}
        group by 1

    )

    select sum(num_rows)
    from potential_dupes
    where {{ column_name }} is null   -- not_null
      or num_rows > 1                 -- unique

{% endmacro %}

Hypothetically, it would be more efficient in terms of database time and resources. The downside is ambiguity: should the test should fail, it could have been because the column was null, or not unique, or null and not unique.
What do you think?

I think this largely is what I was going for! The only other thought I had is that making this more geared towards defining groups of tests that could be defined in bundles could be more extensible. i.e. primary_key test bundling includes unique and not null, but this could allow end users to define their own bundles in their projects (which yes, now that I'm typing it, is essentially just a more complicated YAML anchor). Another argument against myself is that I don't have any clear examples of logically bundled tests off the top of my head, so maybe it wouldn't really be all that widely used.
If we were going to simplify and just define the new primary_key test, I think there'd be a way to write the sql such that the results would surface which of the failure modes a test failed on - especially if we could print the results of the query to the terminal.
13:10:46 | 1 of 1 START test_cool_data_model_primary_key........... [RUN]
13:10:48 | 1 of 1 FAIL test_cool_data_model_primary_key................. [FAIL in 1.77s]

| type | count |
----------------
| null |   9   |
| dupe |   4   |
| both |   0   |

But wrangling that SQL might be complex enough that we lose the efficiency gains on DB time and resources. Curious to get your thoughts!

I'm all for creating new macros that are more explicit and compile to a combination of macros like the primary_key example, but not recommending custom generic groups like my_group
models:
  - name: cool_data_model
    columns:
      - name: id
        tests:
          - my_group

This starts obscuring what is really going on.  The more indirection the harder it is to know what is happening, more magic.
Imagine I create a group with 3 tests and a new user comes into my team and just sees my_group everywhere.  It will take more mental cycles and discovery to understand what that means.  Today you know exactly what is going on.
Something like this is simple to understand
models:
  - name: cool_data_model
    tests:
      - primary_key:
        - col_1
        - col_2

I'm facing the same problem currently. I'd like to add tests on my repo to enforce (for instance) the respect of the DBT style guide, but what I end up doing is adding a lot of tests to EVERY model in DBT (100+ and counting).
Since thoses are the same tests every time, i'd really need something like the ability to define a test group (@noel I'll be really explicit on the naming!).


feat(config): add support for Metrics PerUnitHistogramBoundaries config

Add support for Metrics PerUnitHistogramBoundaries config. Locally tested successful with the config below.
  metrics:
    enabled: true
    PerUnitHistogramBoundaries:
      dimensionless:
        - "51200"
        - "100000"
      milliseconds:
        - "500000"
        - "1000000"
      bytes:
        - "2097152"
        - "4194304"

"51200"
"100000"

Is it supposed to be string or number? Although yaml doesn't make much differences, the underlying schema better to be strong typed.

Recommend to add
Close: #565

in commit message to link the issue.

"51200"
"100000"

Is it supposed to be string or number? Although yaml doesn't make much differences, the underlying schema better to be strong typed.
In the yaml file, it's string. Then conv to float64 type temporal cluster config used. Because when generating config/crd/bases/temporal.io_temporalclusters.yaml, the output recommend me to that.  Seems float isn't a safe type in support.

Recommend to add
Close: #565

in commit message to link the issue.

It seems we should add it in pull request comments to avoid spamming the reference.

Hi @yujunz @Aoao54 !
Thanks for the PR.
As we're working with float as strings, could you please add a check in the validating webhook ? This would provide quicker feedback to the users if the values are wrong.

Hi @yujunz @Aoao54 ! Thanks for the PR. As we're working with float as strings, could you please add a check in the validating webhook ? This would provide quicker feedback to the users if the values are wrong.

Done, local test is good.
  metrics:
    enabled: true
    perUnitHistogramBoundaries:
      dimensionless:
        - 1.1
        - 1000.2
      milliseconds:
        - 6000
        - 7000
      bytes:
        - 2097152
        - 4194304

output:

error when patching "examples/cluster-postgres/02-temporal-cluster.yaml": admission webhook "mtemporalc.kb.io" denied the request: json: cannot unmarshal number into Go struct field MetricsSpec.spec.metrics.perUnitHistogramBoundaries of type string.

  metrics:
    enabled: true
    perUnitHistogramBoundaries:
      dimensionless:
        - "asda"
      milliseconds:
        - "asda"
      bytes:
        - "asda"

output:

TemporalCluster "prod" is invalid: spec.metrics.perUnitHistogramBoundaries: Forbidden: Get wrong vaule type of metrics config : asda, only support numeric types)

TemporalCluster "prod" is invalid: spec.metrics.perUnitHistogramBoundaries: Forbidden: Get wrong vaule type of metrics config : asda, only support numeric types)

@Aoao54 This is kind of misleading. It actually requires string types that can parse as float IIUC. "numeric types" will result in the first validation error you mentioned.

TemporalCluster "prod" is invalid: spec.metrics.perUnitHistogramBoundaries: Forbidden: Get wrong vaule type of metrics config : asda, only support numeric types)

@Aoao54 This is kind of misleading. It actually requires string types that can parse as float IIUC. "numeric types" will result in the first validation error you mentioned.

Got it, change it to 'can't parse the strings value to float64'

Lint is failing


[Feature Request]: Disuss the default 'passing locks between modules' behavior

Description
Building on top of

#239 and
#1446

It turned out there is a missing alignment how to treat locks across all module references.
Up until now we agreed

Children should not receive the lock from their parent via our template (as this is done automatically in Azure) unless specified otherwise in the parameter file
Cross-module referenced modules should receive the lock from the invoking module (e.g. PIP for VM) unless specified otherwise in the parameter file

However, regarding the 2nd point, it is unclear how to treat 'Extension' resources such as Private Endpoints. Technically, they are cross-referenced, but that doesn't mean it necessarily makes sense to lock them automatically with the invoking module/

Team agrees on the suggestion


Scrape high resolution drawings

Hi
Thank you for publishing this code.
Could you please indicate me how to scrape some high resolution drawings?

Hello,
Thanks for looking at the code, still lots of work to do.
The functionality for scraping high resolution drawings is not implemented yet. Nevertheless after studing the museum HTML code I can see two options.

Requesting HR files from the collection index (i.e.: Gallery Index)
Requesting HR files from each element  (i.e.:  Head of a Woman)

The first option comes when you scrap the index data for each image in the gallery. Here, you can find the tag <picture><source data-srcset="https://..."</picture> and inside it you can find all the resolution references links. from the 200pix to the 1500pix.
The following image shows you the details:

The second option comes in each gallery element, in here as in the first option each drawing has several *.jpg files from 200pix to 1500pix. The difference is that it is requested with a JavaScript code when you use the Zoom option in the HTML.
Again, the next image show you what I described:

Both options need some dev and testing, but the idea is that you should request (via REST service) the appropiate data-srcset=... according to the resolution you want (i.e.: 600w, 900w, 1200w or 1500w), right now I believe the HD file of one drawing is not a single one but many. You should be able to save all the canvas pieces when you make a request .
data source sets example from the <picture>...</picture>:
Data-srcset="https://micrio.vangoghmuseum.nl/iiif/JPkhs/full/600,/0/default.jpg?hash=83pjGNh_eTB_aNKUhtAR0gELWtOS4_9c55oKrNC7CkA 600w,https://micrio.vangoghmuseum.nl/iiif/JPkhs/full/900,/0/default.jpg?hash=e3RvyvzL0uqgL5_5AOG-kwyDamx_Ebmm7Ed_GNgdKbs 900w,https://micrio.vangoghmuseum.nl/iiif/JPkhs/full/1200,/0/default.jpg?hash=2pSGGpStG-0K6hu8286eaaque6UTgv82DwOzhwqj1nE 1200w,https://micrio.vangoghmuseum.nl/iiif/JPkhs/full/1500,/0/default.jpg?hash=eWFEPmlpRQ1Q-fMs1C_yHq0gLi87I1AO_1XbbU8ufM8 1500w,https://micrio.vangoghmuseum.nl/iiif/JPkhs/full/1800,/0/default.jpg?hash=043Lxb0nmhwnHFDHAUqtI8W2ROc0MWZ0xVgxAcF5xPk 1800w"
Sorry is not functional code, for now I can only maintain this project in my spare time.


Remove synapse packages from latest. They're already in preview.

Docs Build status updates of commit 6cd5cc9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

ci-configs/packages-latest.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


fix(clerk-js): Respect navigateAfterCreateOrganization in <OrganizationList/> (#3209)

Description

Checklist

[ ] npm test runs as expected.
[ ] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

This PR will fix #3171


Feature/#21693

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


Issue with Reshape after ConvLSTM Layer

Hello,
Congrats, for the wonderful work. I am facing some issue in replicating the results of your paper using the source code provided here.
This portion of the training code
featmap_2d = keras.layers.Reshape((28,28,256), name='clstm_respahe')(clstm2d_2)
is giving the below error
tensorflow.python.framework.errors_impl.InvalidArgumentError: Input to reshape is a tensor with 25690112 values, but the requested shape has 1605632
Explanation:
I have found out the problem, but not able to resolve it.
Input to reshape tensor = (batch_size * L/2 * 28 * 28 * 256) = 25690112 (L=32)
Requested shape = (batch_size * 28 * 28 * 256) = 1605632
keras.layers.Reshape needs same tensor size, but here there is mismatch in the size. Please help me in solving the issue.
Thank You

@sumeetssaurav Which version of TF are you using? I'm not sure the compatibility with the newer version than TF-1.2. I have seen the similar error when I was using a newer version of TF for other researches.

@sumeetssaurav Besides, the typo "clstm_respahe" does not exist in this code. I am not sure which code you are using.

Sorry the error is coming in the line
featmap_2d = keras.layers.Reshape((28,28,256), name='clstm_reshape')(clstm2d_2)
By the way, I do not think this is version related issue. Could you please check it once from your side.

@sumeetssaurav The code works well on my workstation.

Modified the code for the new version of Keras-2.2.4 with tensorflow 1.10.1. Things are working properly now.
Thanks @GuangmingZhu

Hi, I'm facing the same problem you have mentioned. Would you please share the solution?
Many thanks!

Modified the code for the new version of Keras-2.2.4 with tensorflow 1.10.1. Things are working properly now.
Thanks @GuangmingZhu

@sumeetssaurav Hi, I'm facing the same problem you have mentioned. Would you please share the solution?
Many thanks!


Add support for embedding and processing embedded stacktrace line infos

As discussed @MichalStrehovsky
TODO:

configurability
compression
disabling reflection fallback

Uncompressed numbers for sizes:
For a debug Hello World application (which includes debug information for corelib).

Section
bytes
count

rvaTokenMap
127.788
10.648

sequencePoints
1.012.608
111.737

stringHeap
70.160
767

Closing stale PRs

Sorry I didn't get back to this @Suchiman - I do think this is a very useful addition, but I also want to make sure that we can get the size on disk impact of this right:

When this is turned on, the size of the generated data structures should be as small as possible
When this is turned off, the resulting size is no worse than it was before this was added (which would imply still supplementing the dedicated stack trace information with reflection information to avoid duplication)

I haven't had a chance to sit down and think how it would be best to achieve that.


Enabled Container Insights specific cidev environment.

@kbodige when it comes to merging these changes use the 'Squash and merge' strategy. See our styleguides repository for advice regarding commit messages, branch names and pull-requests.


EF Plus LINQ Dynamic vs System.Linq.Dynamic.Core

Description
What is the difference between the EF Plus LINQ Dynamic feature and the standalone Dynamic LINQ library? Both seems to be from the same maintainer.
Is the recommendation on new projects to stick with EF Plus for dynamic linq features?

Hello @bcronje ,
Both have different syntax. One good example is how the OrderBy work in both libraries
Normally, the order by have the following syntax:
var ordered = context.Customers
             .OrderBy(c => c.City).ThenBy(c => c.CompanyName)
             .ToList();

Dynamic Linq (from C# Eval Expression)
The C# Eval Expression library is a paid but the LINQ part is free
The syntax is similar to C# language. It's the more powerful of both libraries:
var ordered = context.Customers
             .OrderByDynamic("c => c.City").ThenBy("c => c.CompanyName")
             .ToList();

This library doesn't only work with LINQ but with everything you wish to evaluate dynamically at runtime.
Dynamic Linq (System.Linq.Dynamic.Core)
Use more a friendly syntax and the most popular of both librairies. Easier to write/use but less flexible:
var ordered = context.Customers
             .OrderBy("City, CompanyName")
             .ToList();

https://dynamic-linq.net/basic-simple-query#ordering-results
A lot of very cool operators exists in this library which is not part of the C# Language: https://dynamic-linq.net/expression-language#operators

Both work and I do not believe have any conflict to be used together.
From my point of view, I would stick with the one provided in EF Plus (so  C# Eval Expression library) as I prefer to follow the C# syntax but both libraries is a good choice so the only thing I could recommend you is to try both and stick with the one you prefer.
I believe that's more a personal choice since both libraries are maintained by us and have their pros/cons
Best Regards,
Jon

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Thank you @JonathanMagnan
I'm specifically interested in using dynamic OrderBy clauses and have used System.Linq.Dynamic.Core successfully in other projects and that worked perfectly. However in this new project I also have a need to EF Plus Future/Deferred functionality, so it might just be easier to stick with EF Plus instead of running both libraries.
Just to confirm, if I use EF Plus with OrderByDynamic functionality, that is part of the free functionality of C# Eval Expression ?

Yes, all LINQ method is free.
So I confirm that OrderByDynamic is part of the free functionality.

Perfect thank you.


Merge checkbox context menu polish

Some commands in the merge editor checkbox context menu need to be disabled when they are not applicable.
"Take Input1" should be called "Accept Theirs"
"Take Input2" should be called "Accept Yours"
"Take Both Sides" should be called "Accept Both"
Command Palette actions should also not talk about Input1 and Input2

Also I am not sure if "Yours" and "Theirs" is better than "Current" and "Incoming" what we previously used
This way we are aligning with the previous wording our users are already familiar with

fyi @daviddossett

Now it aligns with whatever the title says. The caller of the merge editor can set the title (Theirs/Yours for git)

Nice. Does git provide yours/theirs or is that us setting that? I thought we used Current/Incoming in our codelens actions.


docs(examples/cbdc): migrate frontend implementation from JS to TS

Is your feature request related to a problem? Please describe.
The frontend is written in JavaScript instead of Typescript. To be consistent with the rest of the codebase and the monorepo, the code should be migrated to Typescript.
@petermetz can assign this to me pls

@AndreAugusto11 Done, thank you!


[Proposal] Re-install modules conditionally using environment variable

Problem
Currently, when arc-prototype-deploy runs, we install modules using cipm as one of the tasks. This is perfect when running from a CI, but if you're running from your local machine, you may have modules linked in that you do not want to get overwritten.
Proposal
We could either inspect NODE_ENV or introduce a new environment variable that arc inspects to determine whether the install task should be run. During local development, I would expect that my linked in modules do not get overwritten.

ya I don't want to break npm but had so many problems with link I wonder if we can encourage our own happy path without configuration / could using src/shared for prototyping work ?

quick update, thinking using our own src/shared and recommending against npm link based workflows is probably the safest route for now: https://github.com/npm/npm/issues/19421
(once link stabilizes we can revisit)

Closing for now!


Not detecting additional tab after closing curly braces as error

After a closing curly braces, an additional tab before the next line is not reported as error. An example is show below:
{
    some code;
}

fixed in 3.3.52


Adding code for cyclic sort in python

@Marcosschwaab  @marlonchalegre  @tricinel  @melko  @SaiSudhaV
Can you review my PR.

can you merge the changes?


Replace std::tuple with mz::type_list in hierarchy calculations

std::tuple seems to be really slow which drags down compile times. Use mz::type_list instead:
https://github.com/marzer/type_list

#106


Add translational-bitcoin-development to bitcoinplusplus/layer-2

This PR adds Translational Bitcoin Development transcript to the bitcoinplusplus/layer-2 directory.

Thank you for your contribution @NeroCherubino! Good job on catching AI's transcription errors and removing stammering words and non-essential lines. I've push some minor fixups that mostly remove filler words and non-essential lines
As we continuously strive to enhance productivity, it's become evident that we haven't effectively communicated our expectations to reviewers. I anticipate that we'll soon provide more comprehensive Review Guidelines to clarify expectations. In the meantime, please read the Review Guidelines in https://github.com/bitcointranscripts/bitcointranscripts/issues/348, and you can see an examples of 'right editing' in https://github.com/bitcointranscripts/bitcointranscripts/issues/335.
We hope to see even more transcripts from you in the future. Thank you!


PyJWT returns token as string instead of bytes in 2.0.0+, locking version

#10

Works fine on SOAMC @DustinKLo


[plugins] mustExist for custom rules does not give an error for additional properties

Is your feature request related to a problem? Please describe.
following the example for Plugins
I successfully created an example to test required properties in a Response object but I was not able to figure out how to evaluate
additional properties in the schema object. I want to ensure the mustExist array are the only properties defined in the schema.
Describe the solution you'd like
I would like to know how to use mustExist in the custom rule to enforce a specific schema.

@jeremyfiel which are you looking for:

Enforce no additional properties in examples.

Schema
components:
  schemas:
    user:
       type: object
       properties:
          email:
              type: string
       additionalProperties: false

Example
"user": {
   "email"<EMAIL_ADDRESS>   "foo": "bar
}

Problem: Invalid example: additional properties are not allowed.

A rule that evaluates the response schema properties to ensure it matches exactly the schema and not the examples.

Schema
components:
  schemas:
    user:
       type: object
       properties:
          email:
              type: string
          phone:
              type: string
          secret:
              type: string

rule
...
mustExist:
  - email
  - phone

Problem:  Response object must only have email and phone properties defined
Or is it something else?

@adamaltman  I need something to test scenario 2.
I want to use the plugin with a custom rule to validate the object only contains the items in the mustExist array.

Related idea: maybe rename mustExist to contains.
There are two parts of the logic:

it has to contain all of the properties in that list
it cannot contain properties not in that list

Do both need to be true? Or is it only the "cannot contain properties not in the list" but it actually doesn't need to contain all of them?
          for (let element of onlyContains) {
            if (!schema.properties[element]) {
              report({
                message: `Response object must have a top-level "${element}" property.`,
                location: location.child('properties'),
              });
            }
          }

I want both conditions.
all mustExist items must be in the schema
no additional properties must be present in the schema
this is what i came up with
Schema(schema, { report, location }) {
          if (schema.type !== 'object') return;

          // success response MUST contain the parameters identified in mustExist array in .redocly.yaml config
          for (let element of mustExist) {
            if (!schema.properties[element]) {
              report({
                message: `Response object must have a top-level "${element}" property.`,
                location: location.child('properties'),
              });
            }

          }
          // success response SHOULD NOT contain additional parameters
          // other than those identified in mustExist array in .redocly.yaml config.
          let schemaProps = Object.keys(schema.properties)
          for (let key of schemaProps) {
            let check = [...mustExist].includes(key)
            if (!check) {
              report({
                message: `success Response object MUST NOT include "${key}" property.`,
                location: location.child('properties')
              })
          }}

        },

@jeremyfiel your code looks valid!
I would just improve location arg from the last report:
location: location.child(['properties', key]).key(),

Can this issue be resolved?

thanks Roman.


How can I see the AAD group rule that have been configured in the past?

How can we see the AAD group rules that been defined?
Are we able to edit them? to delete them?

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

ID: 8ac6f4b8-da9d-5b7b-0c18-b6ed1f85433a
Version Independent ID: 1ac1ddeb-b1a4-e8d3-9abf-0e629796c5ef
Content: Assign licenses to groups of users for Visual Studio subscriptions
Content Source: subscriptions/assign-license-bulk.md
Product: visual-studio-family
Technology: vs-subscriptions
GitHub Login: @evanwindom
Microsoft Alias: v-evwin

@Emmanuel-Thouraud -- Thank you for the question.  I'm not sure I fully understand what you're asking, though.  The limitations for the use of Azure AD groups for assigning subscriptions are listed in the article.  If you're asking about the rules for the Azure AD group itself, those would be determined in Azure rather than in the subscriptions administration portal.

In the documentation, there is the process to add a new AD group assignment but I do not see where I can find the list of what was already assigned by using an AD group nor how to change it.

@Emmanuel-Thouraud -- Thank you for the additional information.  If you have added an Azure AD group, it will be listed in your subscriber list.   If you sort the list alphabetically, it will be sorted in the list according to the name of the group.  You can also sort the list by individual versus groups by clicking on the small "person" icon at the left of the subscriber list.
If you click on the name of the group, you'll be able to see a list of the members in that group.  You'll notice that you can't make changes to the group contents in the portal, however.  To add or remove people from that list, you need to add or remove them from the Azure AD group.  (To close the list, click on "All subscriptions" located just above the subscriber list.)
To see how to add or remove members in the group, visit this article in the Azure documentation:  https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-groups-members-azure-portal
Please let me know if you have any further questions.
Thanks!
Evan

#please-close


Cleanup dependencies

This is a followup cleanup of #1163 that was partially addressed by #1140.

Remove unused projects.core.testing dependencies (or replace with direct dependencies).
Introduce androidx.compose.ui.test bundle.
Remove NiaTestRunner from the default config, forcing consumers to depend on it, even when not used.

Here is the current diff on the generated instrumented test APKs (assembleDemoDebugAndroidTest):
find . -name "*.apk" -exec du --human-readable --summarize '{}' \;
- 1.6M    ./app/build/outputs/apk/androidTest/demo/debug/app-demo-debug-androidTest.apk
+ 1.2M    ./app/build/outputs/apk/androidTest/demo/debug/app-demo-debug-androidTest.apk
- 19M     ./core/database/build/outputs/apk/androidTest/demo/debug/database-demo-debug-androidTest.apk
+ 3.9M    ./core/database/build/outputs/apk/androidTest/demo/debug/database-demo-debug-androidTest.apk
- 20M     ./core/designsystem/build/outputs/apk/androidTest/demo/debug/designsystem-demo-debug-androidTest.apk
+ 18M     ./core/designsystem/build/outputs/apk/androidTest/demo/debug/designsystem-demo-debug-androidTest.apk
  20M     ./core/ui/build/outputs/apk/androidTest/demo/debug/ui-demo-debug-androidTest.apk
  20M     ./feature/bookmarks/build/outputs/apk/androidTest/demo/debug/bookmarks-demo-debug-androidTest.apk
  20M     ./feature/foryou/build/outputs/apk/androidTest/demo/debug/foryou-demo-debug-androidTest.apk
  20M     ./feature/interests/build/outputs/apk/androidTest/demo/debug/interests-demo-debug-androidTest.apk
  20M     ./feature/search/build/outputs/apk/androidTest/demo/debug/search-demo-debug-androidTest.apk
  21M     ./feature/settings/build/outputs/apk/androidTest/demo/debug/settings-demo-debug-androidTest.apk
  20M     ./feature/topic/build/outputs/apk/androidTest/demo/debug/topic-demo-debug-androidTest.apk
- 20M     ./sync/work/build/outputs/apk/androidTest/demo/debug/work-demo-debug-androidTest.apk
+ 11M     ./sync/work/build/outputs/apk/androidTest/demo/debug/work-demo-debug-androidTest.apk

Introduce androidx.compose.ui.test bundle.

What's the purpose of introducing the bundle?

The main purpose of this bundle is to avoid the need to specify both androidx.compose.ui:ui-test-junit4 and androidx.compose.ui:ui-test-manifest dependencies everytime.
They almost always need to come together, and if you forgot the test-manifest, your code will compile, but the test will fail at runtime with an error that is not very easy to debug (and the issue mentionned in the stackstrace is not really explicit...):
Stacktrace

java.lang.RuntimeException: Unable to resolve activity for Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.google.samples.apps.nowinandroid.core.designsystem.test/androidx.activity.ComponentActivity } -- see https://github.com/robolectric/robolectric/pull/4736 for details
	at org.robolectric.android.internal.RoboMonitoringInstrumentation.startActivitySyncInternal(RoboMonitoringInstrumentation.java:105)
	at org.robolectric.android.internal.LocalActivityInvoker.startActivity(LocalActivityInvoker.java:36)
	at org.robolectric.android.internal.LocalActivityInvoker.startActivity(LocalActivityInvoker.java:41)
	at androidx.test.core.app.ActivityScenario.launchInternal(ActivityScenario.java:362)
	at androidx.test.core.app.ActivityScenario.launch(ActivityScenario.java:202)

Sorry @SimonMarquis, do you mind resolving the conflicts here please?

@dturner ✅

@dturner this is once again ready to me reviewed/merged :)

Thanks for doing this.
It'd be good if we could generate dependency graphs other configurations as well (such as for test and androidTest). I've filed https://github.com/jraska/modules-graph-assert/issues/261 to request this.

@dturner what would be your thoughts about integrating this graph generation process directly into this project as an extra plugin in build-logic?
This should be fairly simple, and we could adapt it to fit our needs. Like, removing the red path, filtering test/androidTest configurations, etc.
This could also be a good opportunity to get mermaid graphs directly in the markdown files since they are automatically rendered in GitHub (and maybe no longer export SVGs).

Here is a quick example of how it can look like:

dotted/normal arrows for implementation/api configuration
grouping nodes by package
specific color for module types

%%{
  init: {
    'theme': 'dark'
  }
}%%

graph LR
  subgraph :core
    :core:ui["ui"]:::android-library
    :core:designsystem["designsystem"]:::android-library
    :core:data["data"]:::android-library
    :core:analytics["analytics"]:::android-library
    :core:model["model"]:::jvm-library
    :core:common["common"]:::android-library
    :core:database["database"]:::android-library
    :core:datastore["datastore"]:::android-library
    :core:network["network"]:::android-library
    :core:notifications["notifications"]:::android-library
  end
  subgraph :feature
    :feature:topic["topic"]:::android-library-selected
  end

  :feature:topic -.-> :core:ui
  :feature:topic -.-> :core:designsystem
  :feature:topic -.-> :core:data

  :core:ui ---> :core:analytics
  :core:ui ---> :core:designsystem
  :core:ui ---> :core:model

  :core:data ---> :core:common
  :core:data ---> :core:database
  :core:data ---> :core:datastore
  :core:data ---> :core:network
  :core:data -.-> :core:analytics
  :core:data -.-> :core:notifications

  :core:database ---> :core:model

  :core:network ---> :core:common
  :core:network ---> :core:model

  :core:notifications ---> :core:model
  :core:notifications -.-> :core:common

classDef android-library-selected fill:#3BD482,stroke:#000,stroke-width:2px,color:#fff;
classDef android-library fill:#3BD482,stroke:#fff,stroke-width:2px,color:#fff;
classDef jvm-library fill:#8150FF,stroke:#fff,stroke-width:2px,color:#fff;

My primary concern is around maintenance - if the build-config plugin approach is less maintenance than the current, somewhat hacky bash script then I'm all for it. The Mermaid graphs definitely look better, and the fact that they can be directly added to a markdown file, rather than needing a separate SVG is also a positive (more info).

I feel like the local plugin approach will remain untouched once it is finished. I know that Gradle APIs changes a lot but, if we use recent APIs we should not really be impacted by this. And I think using external Gradle plugins would end up in the same situation if they were to ban some APIs. I'll push my work-in-progress after some cleanup in a draft PR, but I feel like we should first discuss what we want from these graphs.
Opening a discussion could be usefull if we want to gather more feedbacks.
For example you mentioned being able to show other Gradle configurations like test/androidTest. Do you think it would make sense to show them in the same graph? I personally feel like it would make things potentially harder to reason about.

I've opened this discussions:

https://github.com/android/nowinandroid/discussions/1554


Required for Blue / Green deployment groups?

Hello,
Per the important-notice-about-handling-autoscaling-processes, I'm curious if we need to use the scripts in common_functions.sh and the HANDLE_PROCS configurations when using blue/green deployments with ASGs instead of in-place deployments with ASGs. It seems like since blue/green has native support for autoscaling groups, that it would handle enable/disabling autoscaling events behind the scenes?
Thanks in advance!

Hi!
Blue / Green deployments have built-in support for handling ELB interactions, so you should not need to use the provided sample scripts.

great, thanks.


Fix issue with looking at wrong window while setting up toast

@drinkius, did you face a bug because of it?

Yes, we've got a complicated windows setup in our app and with the current look up the windows array the toast shows on the first window added, not the currently showing one. This pull request fixes it by accessing the necessary property

This broke with ours as well and @drinkius is correct that you should be looking at the keyWindow rather than just the first window.


SyntaxError: Decorators cannot be used to decorate parameters (60:14)

lies, decorators work fine on parameters
@singleton
export class OrderResolver implements GraphQLResolversFactory {
  constructor(@lazy(OrderRepository) private readonly repo: () => OrderRepository) {}

  resolvers(): Resolvers<Context> {
    return {
      Query: {
        order: async (_: unknown, args: { id: Scalars['ID'] }): Promise<GraphOrderParent> => {
          const order = await this.repo().findOneOrFail(args.id);
          return orderMapper(order);
        },
      },
    };
  }
}

> npx import-sort --version
6.0.0

Also running into this issue. It's especially frustrating within an Angular application.

This appears to be a documentation issue. Per the advice in https://github.com/renke/import-sort/issues/101, I was able to fix this by installing import-sort-parser-typescript and adding a config to package.json:
"importSort": {
  ".js, .ts": {
    "style": "eslint",
    "parser": "typescript"
  }
}


⚠ Bofrost.es has degraded performance

In cfc940f, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1674 ms

Resolved: Bofrost.es performance has improved in a86d995 after 6 minutes.


Expose the SPS health endpoint(s)

Description: make the SPS/Airflow endpoint /health available so it can be included in the Unity monitoring dashboard. See detailed description in this ticket: https://github.com/unity-sds/unity-project-management/issues/101. The latest agreement is to enter the URL as an SSM parameter, for each SPS installation.
Possibly, expose both the Airflow and the WPS-T endpoints as 2 different SSM parameters, for each venue.
U-CS requires this to implement the health checks.
Acceptance Criteria:
o Demonstrate that the URL is available from SSM after each installation, and that the URL resolves correctly (i.e. returns HTTP status code 200).

From Mike:
Create an SSM parameter following UCS provided naming convention /unity/healthCheck/<MARKETPLACE_ITEM>/<COMPONENT_NAME>/url and store airflow/health endpoint as the URL
For SPS SSM parameter name will be /unity/healthCheck/sps/airflow
the SSM param should be automatically created after a deployment of the service.

New direction from Galen - note this is different than the previous specification:
SPS Team:  please note that healthCheck SSM params in a venue should be of this form:
/unity/healthCheck/${PROJECT}/${VENUE}/<MARKETPLACE_ITEM>/<COMPONENT_NAME>

What should the project be in the case of unity-venue-dev, unity-venue-test and unity-venue-prod?

In these cases, I think we need a convention for the project. It could be what you say, or I'd rather say project="unity" (same across the 3 venues). And wouldn't DEPLOYMENT_NAME be the field to handle multiple deployments per account?

I agree with you that unity could be used as the project for the following accounts: unity-venue-dev, unity-venue-test and unity-venue-ops.
Deployment name could be the field to handle multiple deployments per account, however, that field is not contained in U-CS' current naming convention:
/unity/healthCheck/${PROJECT}/${VENUE}/<MARKETPLACE_ITEM>/<COMPONENT_NAME>

My understanding is that they want to have venue represent the deployment name. So for example, venue would be ORT1 and it would be deployed into an INT account. I think using the venue name in that way is fine but I think we should include dev/int/ops in the resource names as well in order to give operators an indication of what type of account their venue resides in.

 and  are setup when the MC is deployed.
Example of possible SSM keys:
/unity/healthCheck/unity/drew-dev-1/sps/airflow_ui
/unity/healthCheck/unity/luca-dev-2/sps/airflow_ui

TODO: SPS needs to consolidate counter, deployment_name and venue into the new "venue" name as completely free form.

@LucaCinquini ping for status update

@jpl-btlunsfo has not started on this yet. A pre-requisite is #59 (deployment of SPS via MC) which is still undergoing several issues.

Blocked by #59

Just to recap: This ticket is \ not blocked by #59 . health check endpoints are purely SSM prams. it doesn't need to be in the marketplace for health checks to work. In fact, we've descoped marketpalce deployment and so that wont be there, but we'll still need the health check information created when SPS does a deployment.


Cannot edit or remove video

First, excellent job and thank you for sharing this plugin. Love the features.
Maybe I am missing it but cannot figure out how to edit prior embedded video or even remove?
If I try to highlight and use backspace and/or delete to remove video, only text around the video is removed.
Set config.allowedContent = true;
Running CKEditor 4.9
Cheers!

same here, not able to edit or remove the embedded video :(

Yeah, same here, Paste from URL option not working on edit,is removed the content(iframe) when replacing in the ckeditor and on save is saved without video

Looks like the plugin development is dead :( Shame, it was a good one...

yeah,but I did by allowing config.alloweContent=true;


useUserPackages doesn't symlink hm-session-vars.sh below /etc/profiles

I am using hm as a nixos module on nixos-unstable. As I do not let it manage my X session I source hm-session-vars.sh manually:
programs.home-manager.programs.bash = {
      enable = true;
      initExtra = ''
        source ~/.nix-profile/etc/profile.d/hm-session-vars.sh
     ''

Unfortunately as the title states there is no link below /etc/profiles/per-user/<user>/

The hm-session-vars.sh file is sourced by the bash module and only need to be sourced if you don't want HM to manage your bash configuration. In your case it should be safe to simply remove
      initExtra = ''
        source ~/.nix-profile/etc/profile.d/hm-session-vars.sh
     ''

and it should automatically source the right file. See
https://github.com/rycee/home-manager/blob/cf0aad391c10473fa7613dcc41b1f6a366d03148/modules/programs/bash.nix#L182-L190
Did it say somewhere that this file needs to be sourced if HM doesn't manage X? If so, please let me know so I can fix that.

Ah, I guess it's my bad, the real issue lies within SDDM ignoring .profile.

Did it say somewhere that this file needs to be sourced if HM doesn't manage X? If so, please >let me know so I can fix that.

Nope you didn't, my brain thought you did :smile:

Cool, then I'll close this 🙂


[Bug]: The front-end interface crashes when viewing the created deletion policy in the partition plan details.

ODC version
ODC 4.2.4
OB version
OBOracle
What happened?

The front-end interface crashes when viewing the created deletion policy in the partition plan details.
What did you expect to happen?
I can view the created deletion policy within the partition plan details
How can we reproduce it (as minimally and precisely as possible)?
Create a deletion policy for the partition table and view the deletion policy details in the task details.
Anything else we need to know?
No response
Cloud
No response

Fixed In Commit 1c3bcdffe222871c8b3624266deea17713516a5f
------
咏和
Tue Mar 26 13:31:20 2024 +0800

pass


#91, Override equals in Guage Table, TableRow, and TableCells

@RabihHallage We have already merged the execution context PR but I see those commits also in this PR. Can you change the PR to have only the required commit?

@kashishm i closed this pull request, and issued another one with a new branch having a cherry picked commit


WIP: Proof of concept: introduce experimental OCI artifact source behind feature gate

This PR demonstrates the ability of catalogd to consume catalogs stored as OCI Artifacts, as produced by https://github.com/joelanford/olm-oci
In theory, we should be able to:

install catalogd from this PR (with the OCIArtifactSource feature gate enabled)
install operator-controller with a tweak that uses artifact type in rukpak Bundle (TODO)
install rukpak from https://github.com/operator-framework/rukpak/pull/609

And then be able to begin using OCI artifact-based catalogs and bundles.

Closing since this served its purpose for demos and there are no plans to merge this.


AzureAD Groups not returned: 18.0.20201120.1245

I created a Security group in Azure AD but it is not returned by AzureCP.
I have "Retrieve Azure AD groups" checked in the configuration.
I also tried checking "Return security-enabled groups only" but that made no difference.
I thought it might have to do with the permissions assigned to the App Registration in AAD, so I added specific permission to Group.Read.All and Directory.Read.All (both Delegated and Application) but it didn't work.
I removed all permissions from the App and it still returned Users but still did not return Groups
What can I do to diagnose/fix this?

@vargasfe the only permissions that are required, and that should be actually configured, are “Group.Read.All” and “User.Read.All” of type application (not delegated).
Please make sure you followed exactly the steps documented in https://yvand.github.io/AzureCP/Register-App-In-AAD.html.
Can you also check the SharePoint logs and filter on product/area "AzureCP" when you search for groups?

Yvan,
I figured it out. It turns out that the SPTrustedIdentityTokeIssuer did not have the role claim.
Fixed it by adding the claim to the SPTrustedIdentityTokenIssuer and then adding the mapping.
$Name = "The name of you Trusted Identity Provider"
$ap=Get-SPTrustedIdentityTokenIssuer $Name
$ap.ClaimTypes.Add("http://schemas.microsoft.com/ws/2008/06/identity/claims/role")
$ap.Update()
$map6 = New-SPClaimTypeMapping "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" –SameAsIncoming
$ap=Get-SPTrustedIdentityTokenIssuer $Name
Add-SPClaimTypeMapping -Identity $map6 -TrustedIdentityTokenIssuer $ap


Define Request and Response specs

Defined in wiki. Please folllow the link.
https://github.com/ekstep/Common-Design/wiki/[Content-Model]-Registry-API-Spec


Is there a clear documentation?

I have given a look to:
https://github.com/LedgerHQ/blue-app-openpgp-card/blob/master/doc/user/blue-app-openpgp-card.pdf
But it is a rather difficult file to follow. I'd like to know if the following is possible:

Generate a GPG key on the device using its seed words (it seems that this is possible, albeit the feature is marked as experimental). This would allow me to recover the keys from the seed in case my nano is lost or broken;
Use this GPG key to sign subkeys;
Keep the subkeys on my PC so that, for instance, I can sign my github commits with them without having to plug in my nano all the time.

In the use case above the nano is only used to generate a master key with which other keys can be signed, and this master key is recoverable from the seed words. There is, to my knowledge, no clear explanation about how to achieve this. I am quite sure that such use case would be common among other people as well, so it would be very nice if it could be documented in detail. I am more than willing to help with this, but I need to understand how the process works and if it's doable before drafting a guide.

I concur: seed mode key generation is undoubtedly one of the most interesting features of this app. It would be good to have the technical details from doc/developper/gpgcard3.0-addon.rst clearly integrated into the main documentation, and the whole key generation experience made a little less "experimental" (e.g. see issue #29).

I made a documentation for my usecase (seed mode, only for primary key)
https://github.com/gaellalire/ledgerwallet/blob/master/README.md

The versionized PDF seams broken.
There is a generate.sh script but it's hard to make it work, since there is no documentation on how to use it, or even which are the dependencies to build the doc...

I don't know where to document the doc-generation dependencies, but they seem to be met by doing (on my Ubuntu 18.04 system):
apt install pandoc texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended

Hi,
App has been refactored in v2.0.0 and the doc a little bit reviewed.
Can you please check again, in develop branch, and tell me what is still missing or unclear?