Support Swift 2.0 throws?

Allow handlers to be marked as throws and then catch this error, and return 500 response. This allows for easier error handler in the implementing handlers.

Hi @Bouke, thanks for the feedback.
I think applications should catch their own, internal errors, and display a helpful message. The decision is up to the application to decide what helpful means in their own context.
Ideally, you would never see a 500 internal server error, because there would never be any internal server errors. Instead correctly handled errors resulting in the correct error code.
For example, using Inquiline (a framework that provides a base implementation of a Nest ResultType) provides the following:
Response(.MethodNotAllowed)
Response(.RequestTimeout)
Response(.UnsupportedMediaType)
Response(.NotImplemented)
Response(.HTTPVersionNotSupported)

However, any Nest compatible framework or Nest server may allow errors to be thrown, I just don't think it should be in the Nest specification. This may certainly help with debugging.
For example, there could be a "DebugMiddleware" to catch unknown errors and wrap a throwing application:
import Inquiline

class DebugMiddleware {
    let closure:RequestType throws -> ResponseType

    init(closure:RequestType throws -> ResponseType) {
        self.closure = closure
    }

    func handler(request:RequestType) -> ResponseType {
        do {
            return closure(request)
        } catch InvalidCredentials {
            return Response(.Forbidden)
        } catch {
            return Response(.InternalServerError, body: "some pretty HTML template")
        }
    }
}

// Usage
func throwingApplication(request:RequestType) throws -> ResponseType {
    throw ItsAllBroken
}

serve(DebugMiddleware(throwingApplication).handler)

What do you think?


fix: bump tracing library to v14

Fixes https://github.com/canonical/grafana-agent-operator/issues/146
Issue
Fixes https://github.com/canonical/grafana-agent-operator/issues/146
Solution
The new tracing lib automatically removes duplicate packages left over from charm upgrades, preventing the exception raised in #146.  Full detail available in
Context
See tempo fix for more context
Merge after #160
Testing Instructions
juju deploy grafana-agent --revision=134 --channel=latest/stable
juju deploy ubuntu
juju relate grafana-agent ubuntu
# wait for deploy to finish and charm to go to blocked (because it has no target for its metrics)

# Build the updated version of the charm
charmcraft pack

juju refresh grafana-agent --path ./grafana-agent_ubuntu-22.04-amd64.charm
# charm should refresh and go back to blocked.  It should not go to error

Upgrade Notes

We should only merge this once this tempo pr is merged

Everything is now mergable (assuming it passes CI)


Find teacher training courses

Find postgraduate teacher training renamed Find teacher training courses
Original find repo has been archived with service now using Publish repo

Updates name, link to repo and screenshot.
Also adds .env to .gitignore.

@paulrobertlloyd thanks! Interesting that this finally happened.
I generally don’t bother to rename the files when a service name changes (just the name in the file itself), to try and avoid breaking any links to it. But given you've done it here, lets just merge this.


requiredQubits and requiredResults attributes are not added

Previously, requiredQubits and requiredResults were generated from pyqir-generator. These attributes are important to us to compile further down to the devices. Is it possible to re-add the in the generation ?

These were removed in #147, since QAT can add them itself. But it sounds like you're sending a PyQIR-generated program directly to your internal compiler without going through QAT, is that right? I agree it'd make sense for PyQIR to still be able to add them in that case.


KeyError: 'SuperGiftPoints'

As i stated, the program crashes with "KeyError: 'SuperGiftPoints'" as last prompt in command console
when i try to load the Profile1.sav file
here is my whole savegame folder
Hades.zip

@erygvy Hey! I think this is fixed now, sorry, I didn't see this issue before. Please try out the new release and let me know!


feat: onClose function for modals

Adds the ability to pass a onClose callback to a modal

@masone Will create a PR with some testis and update the story book once I finished my open taksk :)


PHP $_SERVER['REMOTE_USER'] not set

I've been able to get Caddy with http.login and http.jwt working with htpasswd.  I'm presented with a login page and after I authenticate I can see the resources.
I'm using fastcgi with php-fpm to server php files.  The app I'm running relies on $_SERVER['REMOTE_USER'] to get the logged in user, but this variable is not set after I login and try to print it from php.
Is there anything I can do to make sure this variable is populated with the name I authenticated with?

Thanks for mentioning this issue. I'm adding this feature to loginsrv.
I'll submit a PR in 1-2h.

PR #95 should be reviewed and merged soon. In the meantime, if you can compile yourself, add this PR to your build of Caddy.

Awesome! Thanks for looking at this so quick. I’ve not compiled, but I’ll look into that.


Native Translation of Azure Built-In RBAC Role Name to GUID

When assigning built in permissions to resources, it is difficult to search for the GUIDs associated with RBAC roles. Additionally, as a reviewer of code, it is time intesive to manually verify all GUIDs. Lastly, copy paste errors can lead to massive security issues or bugs, where resources either have incorrect permissions.
It would be awesome to have a native function to convert a built-in role names to the role GUID.
For example, I currently have the below code to reference the role:
resource vmContributorRole 'Microsoft.Authorization/roleDefinitions@2022-04-01' existing = {
  name: '9980e02c-c2be-4d73-94e8-173b1dc7cf3c'
}

However, it would be nice to be able to write something along the lines of:
resource vmContributorRole 'Microsoft.Authorization/roleDefinitions@2022-04-01' existing = {
  name: GetBuiltInAzureRoleGuid('Virtual Machine Contributor')
}

This would be made simpler once support for "compileTimeImports" is generally available.
It should be possible to publish a file like the following to a shared registry (@AlexanderSehr FYI)
@export()
@description('Virtual Machine Contributor')
var virtualMachineContributor = '9980e02c-c2be-4d73-94e8-173b1dc7cf3c'
// more below

And then import definitions with e.g.:
import { virtualMachineContributor } from 'br:mcr.microsoft.com/bicep/vars/built-in-roles:0.0.1'

Closing as dup of #1895, but we should definitely get something like this in the registry :)


Can't handle backpressure correctly with response.write

Response.write should return a boolean so backpressure can be handled in a Writable correctly.

Response.write() usage is already implemented in 5.1.2 for streaming and the total_size parameter is now optional. No need to use a Writable as the stream method directly consumes data from the Readable stream and pauses/resumes as uWebsockets allows for more chunks to be served with backpressure handling. You can look at source in src/components/Response.js for how stream method works under the hood.

I can't use the response in a pipeline without this...
Also, the express response implements writable, so don't have parity with express until this is implemented.
I guess I'll use a different framework...

See 5.2.0 for the new changes in which Response.write() now returns a Boolean similar to Response.send() and other write based methods. Also, Response.drain() has been implemented to work in conjunction with Response.write() when implementing your own backpressure strategy. See Examples for a new example that implements Readable to Writable pipe based streaming endpoint.
The goal with hyper-express is not to have 100% parity with express as uWebsockets.js is fundamentally different from express in how it works and handles the request lifetime flow. The reason why Response.write() is not implemented similar to Express.Response.write() is so the user has full flexibility to define how they want to handle backpressure. If you notice, none of the uWebsockets.js methods handle backpressure themselves and thus for consistency with the underlying driver of this package, this behavior is extended to the methods of HyperExpress as well.


Carry bug

There is a bug here in the ADC opcode. Maybe also in the SBC opcode which I've also looked at. These are the opcodes which I have added decimal mode to, but I don't think the bug affects decimal mode.
It doesn't matter which value the accumulator has here, but the carry flag needs to be set. Then try and do adc #$ff. The carry flag is added first, and the computation is equivalent to adc #$00 plus no carry.
This means that the carry flag does not get set, but it should.

I've put up pull request #44 which at least adds a failing test

Resolved by @omarandlorraine.


straight to manage ESS

I tried to use straight for all packages including ESS. However, it has problems with ESS. I am not sure what is wrong with my setting or with ESS or with straight.
This works:
(use-package ess
:defer t
:init
(require 'ess-r-mode)
)
This cause Emacs to hang on r processing and gives ESSR loading error:
(use-package ess
:straight t
:init (require 'ess-site)
)
Thanks.

With init:
(use-package ess
:straight t
:init (require 'ess-site)
)
When I start a R process, it sends a message saying ESSR loading error, but the actual R process starts. And if I type print(1:3) in the iESS buffer (or in ESS buffer), Emacs hangs on pri for a while. The ESS  buffer says:
current-prefix-arg=nil
(inferior-ess: waiting for process to start (before hook)
(inferior-ess 3): waiting for process after hookDisabling output delimiter because CMD failed to parse (ess-search-list ... ) Disabling output delimiter because CMD failed to parse (ess-search-list ... ) Disabling output delimiter because CMD failed to parseDisabling output delimiter because CMD failed to parse
And the Messages buffer says:
Messages while loading ESSR: + + + Error in .ess.ESSR.load("/home/username/.emacs.d/elpa/ess-20200522.920/etc/ESSR/R") :
could not find function ".ess.ESSR.load"
ess-command: Timeout during background ESS command  options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient', show.error.locations=TRUE)
Mark set
next-line: End of buffer [2 times]
Error running timer  ac-update-greedy : (error "Timeout during background ESS command  search() ") [2 times]
Error running timer  ac-update-greedy : (error "Timeout during background ESS command  local({ r <- .ess_get_completions("1:", 2, " = "); r[r != '...='] }) ")
Mark set [2 times]
next-line: End of buffer
Mark activated

"/home/username/.emacs.d/elpa/ess-20200522.920/etc/ESSR/R"

This path indicates that you are installing via package.el.
Ensure that you have followed the directions here:
https://github.com/raxod502/straight.el/tree/develop#getting-started
And here if you are using use-package:
https://github.com/raxod502/straight.el/tree/develop#integration-with-use-package

Thanks progfolio for help. I think my straight setting is right:
;; use straight to manage packages
(setq package-enable-at-startup nil)
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 5))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
;; use straight to install use-package
(straight-use-package 'use-package)
And I have also set:
;; ensure automatically install pacakges once declared
;; (require 'use-package-ensure)
;; (setq use-package-always-ensure t)
By commenting the above two lines doesn't solve the problem.
I am not sure if the following setting may change anything:
;; automatically update package if needed
(use-package auto-package-update
:straight t
:config
(setq auto-package-update-delete-old-versions t)
(auto-package-update-maybe)
)
;;Update Emacs's GPG keyring for GNU ELPA
(use-package gnu-elpa-keyring-update
:straight t
)

(use-package auto-package-update

This package was designed with package.el in mind. It will not work with straight.el in its current form.
You can update all packages using M-x straight-pull-all followed by M-x straight-rebuild-all.

(use-package gnu-elpa-keyring-update

Likewise this is not designed to be used with straight.el. I haven't vetted the source, but you should not need it if you are using straight.el for package management.

I have commented auto-package-update and gnu-elpa-keyring-update, and done M-x straight-pull-all and M-x straight-rebuild-all. But it doesn't solve the problem. So, I have to use the use-package to make it work.
(use-package ess
:defer t
:init
(require 'ess-r-mode)
)

Is this the current init file you are using?:
https://github.com/ghowoo/dot-emacs

Currently I set my init private. There are some settings relating to my work. Also, it is messy and I am trying to reorganize it.  load-path)
(delete "." load-path))))
#+END_SRC

PDF Tools
#+BEGIN_SRC emacs-lisp
;; (use-package pdf-tools
;;   :straight t
;;   :config
;;   (pdf-tools-install)
;;   )
;; org-pdfview doesn't work
;; (use-package org-pdfview
;; :straight t)
#+END_SRC

Leftover
#+BEGIN_SRC emacs-lisp
;; add magit key
(straight-use-package 'magit)
(global-set-key (kbd "C-x g") 'magit-status)
;; disable save-place mode
;;(save-place-mode 0)
;; quote selected text
;; (global-set-key (kbd "M-[") 'insert-pair)
;; (global-set-key (kbd "M-{") 'insert-pair)
;; (global-set-key (kbd "M-"") 'insert-pair)
;; un-quote
;; (global-set-key (kbd "M-)") 'delete-pair)
;;(require 'init-basic)
;;(require 'init-packages)
;;(require 'init-diminish)
;;(projectile-global-mode)
;;(set projectile-mode-line " Projectile")
;; killing ring
;; (use-package counsel
;;   :bind
;;   (("M-y" . counsel-yank-pop)
;;    :map ivy-minibuffer-map
;;    ("M-y" . ivy-next-line)))
;; setup dictionary
;; (require define-word)
;; (defun browse-dictionary-at-point ()
;;   (interactive)
;;   (browse-url (concat "https://dictionary.com/browse/" (thing-at-point 'word))))
;; (defun def-word ()
;;     (interactive)
;;     (browse-url (concat "https://www.merriam-webster.com/dictionary/" (thing-at-point 'word))))
;; save all backup files to the temp folder
(setq
backup-by-copying t     ; don't clobber symlinks
kept-new-versions 10    ; keep 10 latest versions
kept-old-versions 0     ; don't bother with old versions
delete-old-versions t   ; don't ask about deleting old versions
version-control t       ; number backups
vc-make-backup-files t) ; backup version controlled files
(defvar backup-location (expand-file-name "~/emacs-backups")
"Base directory for backup files.")
(setq backup-directory-alist
`(("" . ,(expand-file-name "per-save" backup-location))))
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq TeX-save-query nil)
(setq TeX-PDF-mode t)
;;;something unknown
;; (defun my-noweb-hook ()
;;   (define-key ess-noweb-mode-prefix-map "b"
;;     #'(lambda () (interactive) (TeX-command "BibTeX" 'TeX-master-file)))
;;   (define-key ess-noweb-mode-prefix-map "P"
;;     #'(lambda () (interactive)
;;         (ess-swv-PDF "texi2pdf"))))
;;; fold block
;;; show hierarchy of markdown
(use-package imenu-list
:straight t
:bind (("C-'" . imenu-list-smart-toggle))
:config
(setq imenu-list-focus-after-activation t
imenu-list-auto-resize nil))
;; (ido-mode 1)
;; (setq ido-separator "\n")
;;;; Key binding
(defun clear-shell ()
(interactive)
(let ((old-max comint-buffer-maximum-size))
(setq comint-buffer-maximum-size 0)
(comint-truncate-buffer)
(setq comint-buffer-maximum-size old-max)))
(global-set-key  (kbd "\C-x l") 'clear-shell)

#+END_SRC

and this is myinit:

User Interface
** diminish
#+begin_src emacs-lisp
(use-package diminish
:straight t
:defer 5
:config
(diminish 'global-visual-line-mode)
)
#+end_src

** Display time on mode line
#+begin_src emacs-lisp
(setq display-time-24hr-format t)
(display-time-mode +1)
#+end_src
** Visual Appearance
#+begin_src emacs-lisp
;; Disable the splash screen (to enable it again, replace the t with 0)
(setq inhibit-splash-screen t)
  ;; hide toolbar and scrollbar
  (tool-bar-mode 0)
  (scroll-bar-mode 0)

  ;; setup highlight current line
  (global-hl-line-mode +1)
  ;; word wrap: each long logical line is divided into two or more screen lines
  ;;  at word boundaries near the right window edge
  (global-visual-line-mode t)

	  ;;; show line numbers
  (global-linum-mode t)

  ;; show x-position (ie column number) for point in buffer
  (column-number-mode 1)

  ;; show percentage of file size on the line;
  (size-indication-mode t)

#+end_src

Help

** which key
which key mode, after input C-x, after 1 second, the mini-buffer show all possible commands
#+begin_src emacs-lisp
(use-package which-key
  :straight t
  :init
  (which-key-mode)
  (which-key-setup-minibuffer))

#+end_src

Customized Key-Binding
#+begin_src emacs-lisp
;;map C-k to kill-line, it was remapped to kill-visual-line
(global-set-key (kbd "C-k") 'kill-line)
#+end_src

Editing
** Parentheses
#+begin_src emacs-lisp
(show-paren-mode 1) ; turn on paren match highlighting
(setq show-paren-style 'expression) ; highlight entire bracket expression
;; use smartparens, deminish is to not show mode on mode-line
(use-package smartparens
:straight t
:diminish
:config
(add-hook 'prog-mode-hook 'smartparens-mode)
)
   ;; make color names such as "#FF0000" colorful

(use-package rainbow-mode
:straight t
:diminish
:init
(rainbow-mode t))
;; make parentheses colorful

(use-package rainbow-delimiters
:straight t
:diminish
:init
(rainbow-delimiters-mode t)
)
(add-hook 'prog-mode-hook 'rainbow-mode)
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
   ;; add space around operators

(use-package electric-operator
:straight t
:init
(electric-operator-mode t)
)
(add-hook 'ess-r-mode-hook 'electric-operator-mode)
  		      ;; specify some special operators
  		  ;;     (electric-operator-add-rules-for-mode 'ess-r-mode
  		  ;; 					  (cons "->" " -> ")
  		  ;; 					  (cons "=>" " => ")
  		  ;; 					  (cons "=>" " => ")
  		  ;; 					  (cons "=<==" " <= ")
  		  ;; 					  (cons "<" " < ")
  		  ;; 					  (cons "<-" " <- ")
  		  ;; 					  (cons ":=" " := ")
  		  ;; 					  (cons "=" " = ")
  		  ;; 					  (cons "%notin%" " %notin% ")
  		  ;; 					  )

#+end_src

dired
#+begin_src emacs-lisp
;; direct-narrow, filter within dired, key "/", then input filter
(use-package dired-narrow
:straight t
:bind (:map dired-mode-map
("/" . dired-narrow)))
;; recent directory
;;C-x C-d to select a previously visited directory to open
(use-package dired-recent
:straight t
:config
(dired-recent-mode 1)
)
;; dired sub-tree, key tab on a folder to show subfolders and files
(use-package dired-subtree
:straight t
:diminish
:after dired
:config
(bind-key "" #'dired-subtree-toggle dired-mode-map)
)
;; treemacs, a treelike window shows directory
(use-package s
:straight t)
(use-package treemacs
:straight t
:bind
(:map global-map
([f8] . treemacs)))
#+end_src

General Specification

** auto-revert-mode
Emacs to automatically update a buffer if a file changes on disk and auto refresh dired when file changes.
#+begin_src emacs-lisp
(global-auto-revert-mode 1)
(add-hook 'dired-mode-hook 'auto-revert-mode)
#+end_src
** Disable save-place-mode
#+begin_src emacs-lisp
(setq save-place-mode nil)
(setq save-place-local_mode nil)
#+end_src
** Restart emacs
#+begin_src emacs-lisp
(use-package restart-emacs
:straight t)
#+end_src
** recentf
#+begin_src emacs-lisp
;;; show recent files and set up shortcut
(use-package recentf
:straight t
:diminish)
(recentf-mode 1)
(setq recentf-max-saved-items 50)
(setq recentf-max-menu-items 50)
;;; set save list every 10 minutes
(run-at-time nil (* 10 60) 'recentf-save-list)
(global-set-key "\C-x\ \C-r" 'recentf-open-files)
;; provent files from elpa folder showing
;;(add-to-list 'recentf-exclude (format "%s/([^\s]+)/\.emacs\.d/elpa/.*" (getenv "HOME")))
;;(setq recentf-exclude '("c:/\.emacs/\.emacs\.d/elpa/"));; M-x recentf-cleanup to remove excluded files
(setq recentf-exclude '("c:/([^\s]+)/\.emacs\.d/elpa/"));; M-x recentf-cleanup to remove excluded files
;;(setq recentf-exclude '("/home/([^\s]+)/.emacs.d/documents/brain/"
;;                          "^/home/([^\s]+)/.emacs.d/documents/brain/" ))
;; startup with recent file buffer
(use-package init-open-recentf
:straight t
:diminish
:config
(init-open-recentf))
#+end_src
** posframe
let ivy use posframe to show its candidate menu
#+begin_src emacs-lisp
;; (use-package ivy-posframe
;;     :ensure t
;;     :diminish
;;     )
;; (setq ivy-posframe-height-alist '((swiper . 20)
;; 				  (t      . 20)))
 ;; (setq ivy-posframe-display-functions-alist
 ;;       '((swiper          . ivy-display-function-fallback)
 ;; 	(complete-symbol . ivy-posframe-display-at-point)
 ;; 	(counsel-M-x     . ivy-posframe-display-at-window-bottom-left)
 ;; 	(t               . ivy-posframe-display)))
 ;; (ivy-posframe-mode nil)

#+end_src

Languages

** Emacs lisp

delight: don't show anything for the mode
#+begin_src emacs-lisp
(use-package eldoc
:straight t
:delight
:hook (emacs-lisp-mode . eldoc-mode)
)
#+end_src

** CSS
#+begin_src emacs-lisp
(use-package css-mode
:custom (css-indent-offset 2))
#+end_src
** csv
#+begin_src emacs-lisp
(use-package csv-mode)
#+end_src

I've edited your comments to make them a little more readable. In the future please either use markdown or link to a file sharing host such as https://gist.github.com/ or pastebin for whole files.
What I would do is remove the folder at /home/username/.emacs.d/elpa/ and restart Emacs.
Straight should install missing packages if you have it configured correctly.
If the elpa folder reappears, you are still using package.el.
If it doesn't and you hit another error, it's likely that you have misconfigured your packages in your init.el.
Unfortunately, I do not have much time to comb through your init, but if you hit a specific error after trying the above you can copy the entire backtrace for that error here and someone may be able to help you in the future.

Thanks Progolio. I removed the elpa folder, restarted Emacs, and this time worked. It is very interesting.
(use-package ess
:straight t
:init (require 'ess-site))

Yeah. If you're using Emacs 27 or later, you'll need to put (setq package-enable-at-startup nil) into ~/.emacs.d/early-init.el, or else your package.el packages will already be loaded by time the normal init-file is loaded. The alternative is simply deleting all your package.el packages (in ~/.emacs.d/elpa), so that loading them has no effect.


Show version on restart and add version command

This PR adds a !version command that shows the bot version, formatted as <rev-number>.<short-commit-hash>.
Additionally, it makes the bot send a message to #bot-stuff when it started, also showing the current version.

Dockerfile also needs to be changed, because it doesn't include .git or the git binary.
What if instead we did option_env!("VERSION") and built the docker image with docker build . -t mlvzk/upbot --build-arg VERSION="$(git rev-parse --short HEAD)"?

Will building the dockerfile be automatic, or is that sth that we'll have to do manually? Should we then keep it in the build-script optionally, or just completely remove it there and just have . during development?

no build.rs, option_env evaluates at build time so you can put it right in the version command function. If you mean if we should fallback to git then there's no need, it's not useful in development anyway.

so do i then use:
docker build . -t mlvzk/upbot --build-arg VERSION="$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
in the Dockerfile and we're gucci?

yes

Updated!


Feature: file three interaction

When you click on file in file three it open it in new tab
(like it work in sublimetext, vscode, vim/nerdthree)
Better interaction might be:

preview in new tab on click
open in on double click

Looks like this is implemented now in #2596 - thanks @fanantoxa !


Use push updates in Apple TV

Description:
This basically removes the need to poll for device state changes.
Checklist:
If the code communicates with devices, web services, or third-party tools:

[X] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[X] New dependencies have been added to the REQUIREMENTS variable (example).
[X] New dependencies are only imported inside functions that use them (example).
[X] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

Please remove home-assistant-polymer from your changed files.

Ouch, missed that one. Removed now.

Niiice 🐬

Hmm, just pulled from dev and restarted. I get the following error in the log file now:
17-03-02 09:29:38 ERROR (MainThread) [homeassistant.components.media_player] Error while setting up platform apple_tv
Traceback (most recent call last):
  File "/home/pi/home-assistant/homeassistant/helpers/entity_component.py", line 142, in _async_setup_platform
    entity_platform.async_schedule_add_entities, discovery_info
  File "/home/pi/home-assistant/homeassistant/components/media_player/apple_tv.py", line 82, in async_setup_platform
    yield from async_add_entities([entity])
TypeError: 'NoneType' object is not iterable

I have not seen this before and how can that even happen?


Feature viz saving on missing fields

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #511 (abce43d) into main (558aebc) will increase coverage by 18.36%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #511       +/-   ##
=============================================
+ Coverage     54.26%   72.62%   +18.36%
  Complexity      272      272
=============================================
  Files           238       38      -200
  Lines          7519     2130     -5389
  Branches       1537      236     -1301
=============================================
- Hits           4080     1547     -2533
+ Misses         3244      421     -2823
+ Partials        195      162       -33

Flag
Coverage Δ

dashboards-observability
?

opensearch-observability
72.62% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...er/visualizations/config_panel/configPanelItem.tsx

...ublic/components/visualizations/charts/bar/bar.tsx

...ic/components/visualizations/charts/lines/line.tsx

...ublic/components/visualizations/charts/pie/pie.tsx

...helpers/ppl_docs/language_structure/identifiers.ts

...public/components/explorer/docTable/docViewRow.tsx

...onfig_editor/config_controls/config_data_links.tsx

...ts/visualizations/charts/financial/gauge/gauge.tsx

...blic/components/visualizations/charts/vis_types.ts

...vability/common/constants/application_analytics.ts

... and 190 more

Continue to review full report at Codecov.

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

bug bashh

Let's go


Whether the JDK version mapping description can be provided?

Hi, I am currently using version 2.28.3. Can you please provide me the compatibility of the current software version with JDK?
If you see it, please provide the exact JDK mapping.
Thanks.

You should use whatever JDK is compatible with your AGP (Android Gradle Plugin) version.
E.g. for AGP 8.5 the compatibility is listed here (JDK 17):
https://developer.android.com/build/releases/gradle-plugin#compatibility


Add deprecation warning if trying to add linked Twitter or Facebook

Unfortunately, we should have merged this ages ago and it's now unnecessary. Sorry!


Add mix tasks to setup database without Ecto

This PR tries to simplify the database setup needed by Rihanna by providing an easy way to run the necessary migrations instead of asking users who are not using Ecto to do it manually.
Introduces the following changes:

four new mix tasks mimicking the Ecto database setup tasks;
an alias rihanna.setup (mix do rihanna.create, rihanna.migrate);
updates CONTRIBUTING.md
updates documentation

$ mix help --search rihanna
mix rihanna.create  # Create the Rihanna database
mix rihanna.drop    # Drop the Rihanna database
mix rihanna.migrate # Runs the necessary Rihanna migrations
mix rihanna.setup   # Alias defined in mix.exs
mix rihanna.upgrade # Upgrade an existing Rihanna database

Hmm... not sure how I feel about this approach.
@sadir @lpil any strong feelings?

I think that any projects not using ecto migrations probably has another way of managing database schema changes so I'm not sure how useful these mix tasks would be.


Not all buckets are surfaced in bucket list or export all

Steps to reproduce:
Have 20 or more existing buckets. This may seem like a lot, but this is on a recently-upgraded Influx that had several <db>/autogen buckets that were created by default in Influx 1.x and were carried over by influxd upgrade

influx bucket create -n test -r 365d
influx bucket list
influx export all

Expected behavior:
The newly-created bucket should be shown when listing or exporting all buckets.
Actual behavior:
The bucket is only shown when using influx bucket list -n test and only exported when using influx export --bucket-names test
Environment info:

System info: Linux 4.4.0-1085-aws x86_64
InfluxDB version: InfluxDB 2.0.3 (git: fe04d346df) build_date: 2020-12-15T01:00:16Z

The workaround of course is to delete buckets until there are 20 or less. The problem is that there is no indication that data is being truncated. bucket list and export all do not have any paging capability.

Duplicate of #20079

This has been fixed - tried on latest version:
influx bucket ls
ID                      Name            Retention       Shard group duration    Organization ID         Schema Type
c5517c0d24b01f0b        _monitoring     168h0m0s        24h0m0s                 1327db29a38845f0        implicit
f88f4b1f26dddd1e        _tasks          72h0m0s         24h0m0s                 1327db29a38845f0        implicit
aa2ed9e9037afc9e        bucket-1        infinite        168h0m0s                1327db29a38845f0        implicit
75599d1c31b764c1        bucket-10       infinite        168h0m0s                1327db29a38845f0        implicit
e28a081f5f579ec1        bucket-11       infinite        168h0m0s                1327db29a38845f0        implicit
f02ffe587f8697d6        bucket-12       infinite        168h0m0s                1327db29a38845f0        implicit
7d2a530633a8561a        bucket-13       infinite        168h0m0s                1327db29a38845f0        implicit
7034812e2d4a65f5        bucket-14       infinite        168h0m0s                1327db29a38845f0        implicit
7a4203caf6e5ce97        bucket-15       infinite        168h0m0s                1327db29a38845f0        implicit
0306b08a08deb346        bucket-16       infinite        168h0m0s                1327db29a38845f0        implicit
fd8b6f62f980bf64        bucket-17       infinite        168h0m0s                1327db29a38845f0        implicit
9dae33c6c1b41836        bucket-18       infinite        168h0m0s                1327db29a38845f0        implicit
cf7ac21103249fa5        bucket-19       infinite        168h0m0s                1327db29a38845f0        implicit
e55b722db098fc52        bucket-2        infinite        168h0m0s                1327db29a38845f0        implicit
2b34ff749489acf8        bucket-20       infinite        168h0m0s                1327db29a38845f0        implicit
dfcb58264daa0a6b        bucket-21       infinite        168h0m0s                1327db29a38845f0        implicit
84fec7991d13acf4        bucket-22       infinite        168h0m0s                1327db29a38845f0        implicit
e399c0cea469e08f        bucket-23       infinite        168h0m0s                1327db29a38845f0        implicit
2abea56c7f41396a        bucket-24       infinite        168h0m0s                1327db29a38845f0        implicit
26f83d2aeff9333a        bucket-25       infinite        168h0m0s                1327db29a38845f0        implicit
70764a0d422654cf        bucket-26       infinite        168h0m0s                1327db29a38845f0        implicit
f68b2dd59023cc90        bucket-27       infinite        168h0m0s                1327db29a38845f0        implicit
07838e021efce0bc        bucket-28       infinite        168h0m0s                1327db29a38845f0        implicit
aac1e972fec4360f        bucket-29       infinite        168h0m0s                1327db29a38845f0        implicit
6c55391ec02a9dda        bucket-3        infinite        168h0m0s                1327db29a38845f0        implicit
b701d1998cfa0965        bucket-30       infinite        168h0m0s                1327db29a38845f0        implicit
57688b97217249d8        bucket-31       infinite        168h0m0s                1327db29a38845f0        implicit
5a0865fb4ae74565        bucket-32       infinite        168h0m0s                1327db29a38845f0        implicit
a09c8d5fde0256c8        bucket-33       infinite        168h0m0s                1327db29a38845f0        implicit
ee9b1aeb8073a11f        bucket-34       infinite        168h0m0s                1327db29a38845f0        implicit
821d637d002e66d0        bucket-35       infinite        168h0m0s                1327db29a38845f0        implicit
f8a44944035ed56e        bucket-36       infinite        168h0m0s                1327db29a38845f0        implicit
789966a6b0b07905        bucket-37       infinite        168h0m0s                1327db29a38845f0        implicit
7be043b16746c142        bucket-38       infinite        168h0m0s                1327db29a38845f0        implicit
f5fe7bdbceee4f7c        bucket-39       infinite        168h0m0s                1327db29a38845f0        implicit
8c311148bc74695e        bucket-4        infinite        168h0m0s                1327db29a38845f0        implicit
dbe4f2675739c4be        bucket-40       infinite        168h0m0s                1327db29a38845f0        implicit
caececfe388c2d56        bucket-5        infinite        168h0m0s                1327db29a38845f0        implicit
781dc83dbc3c611c        bucket-6        infinite        168h0m0s                1327db29a38845f0        implicit
a9261baf2eed8855        bucket-7        infinite        168h0m0s                1327db29a38845f0        implicit
4de5f68a9268eb3e        bucket-8        infinite        168h0m0s                1327db29a38845f0        implicit
5b34445455fc7a57        bucket-9        infinite        168h0m0s                1327db29a38845f0        implicit
905246928a83c110        test            infinite        168h0m0s                1327db29a38845f0        implicit


💡 [FEAT] Configurable Todo List Column Order

Would be nice option to be able to configure the column order in the todo list. For example being able to move the urgency and/or the date columns to the left of the task description/status icons would help in picking out tasks to work on for those of us using full screen terminals.

Do you mean something like this?
Check out the first line of the section

Ah that's exactly what I meant thanks. I did check out the config but completely missed this setting sorry. Have now set it in my config and changed the order but there's no change in the order. Had a quick search in the code and there's no reference to COLUMN_ORDER so I assume it's not been implemented yet?

No problem, I'll close this then. Once I'm more familiar with the app and codebase I might create some pull requests although maybe I'll wait for the new version first.


Add example node modules, and codify use cases in package.json scripts

I think I'm getting the hang of this.
Add three node modules that depend on each other, plus a fake package.json at the monorepo root to codify common use cases.  To start the server
npm run bootstrap
npm run prepublish
npm start

then open localhost:3000

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

this builds and runs for me but the page at localhost:3000 just says "Index.html".


Crashes when export

Minecraft Version
1.18.2
ModLoader
Fabric
Shimmer version
0.1.14
Modpack info or mod list(please reduce mod range)
1.fabric api 2.shimmer
The latest.log file and hs_err_pidXXX if exists
https://pastebin.com/ynWpSxfM
optifine , Rubidium , flywheel or any rendering related mods. mod version is required.
No response
Issue description
Crashes instantly after fllowing the steps below.
Steps to reproduce
1.Open the shimmer auxiliary screen
2.pick a random block
3.click add button
4.click export button
5.game crash
Other information
No response

will be fixed in the next version
there is something wrong with the JSON serializer


Toast

Includes:

statuses
optional Close button

Link to issue: https://github.com/jpmorganchase/salt-ds/issues/1729

lgtm, needs changeset


Allow to inject custom language grammars dynamically

Hi all.
I'm currently in a process of creation of a some VSCode extension for a some build system.
This build system allows to compile the C/CPP projects using the different toolchains (not only
the GCC/MSVC/CLANG, but also and SDCC, IAR, KEIL and etc), and the different CPU architectures
(not only the x86/ARM, but also and 8051, AVR and etc).
But my problem is that some toolchains provides a custom keywords for some architectures.
So, I need in abitily to somehow inject an additional C/CPP compiler keywords in a 'dymanic" way.
E.g. when I use the IAR toolchain for the 8051 architecture, then I need in some additional compiler
keywords, like _data, _at and etc. But, when I use the ARM toolchain for the ARM architecture,
then I don't need in this keywords.
I can take the current used toolchain type, and the CPU architecture from a build ystem,
this is not a problem.
A problem is how to inject the additional language keywords dynamically.
Could someon help me in this issue? Is it possible at all?
PS: I have created the source related issue inside the vscode-cpp-tools repo: https://github.com/microsoft/vscode-cpptools/issues/6642 .. So, you can look there a some detailed information.

@denis-shienkov You could use semantic tokens to enrich the TM tokens.

@denis-shienkov You could use semantic tokens to enrich the TM tokens.

@alexdima , could you please point me to these examples?

@alexdima , could you please point me to these examples?

https://github.com/microsoft/vscode-extension-samples/tree/master/semantic-tokens-sample

https://github.com/microsoft/vscode-extension-samples/tree/master/semantic-tokens-sample


Instantly crash on Android

Description
I get an instant crash on Android 12 Pixel 3A (physical):
Fatal Exception: java.lang.IllegalArgumentException: com.momoappamsterdam.momo: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
       at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
       at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:645)
       at android.app.PendingIntent.getBroadcast(PendingIntent.java:632)
       at androidx.work.impl.utils.ForceStopRunnable.getPendingIntent(ForceStopRunnable.java:285)
       at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:158)
       at androidx.work.impl.utils.ForceStopRunnable.forceStopRunnable(ForceStopRunnable.java:185)
       at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:103)
       at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:920)

And on emulator no crash at all.
Version
0.70.5
Output of npx react-native info
System:
    OS: macOS 12.6
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 184.92 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.10.0 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 8.19.2 - /usr/local/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.11.2 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.4, iOS 16.0, macOS 12.3, tvOS 16.0, watchOS 9.0
    Android SDK:
      API Levels: 30, 31, 33
      Build Tools: 29.0.2, 30.0.2, 30.0.3, 31.0.0, 33.0.0
      System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 2021.3 AI-213.7172.25.2113.9014738
    Xcode: 14.0.1/14A400 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.13 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.1.0 => 18.1.0
    react-native: 0.70.5 => 0.70.5
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps to reproduce
It is working on Android Emulator but not on physical device.
These are my dependencies:
 "dependencies": {
    "@gorhom/bottom-sheet": "^4",
    "@react-native-firebase/analytics": "^15.7.0",
    "@react-native-firebase/app": "^15.7.0",
    "@react-native-firebase/auth": "^15.7.0",
    "@react-native-firebase/crashlytics": "^15.7.0",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/native": "^6.0.4",
    "@react-navigation/native-stack": "^6.2.2",
    "@reduxjs/toolkit": "^1.6.1",
    "@types/react-geocode": "^0.2.1",
    "moment": "^2.29.4",
    "promise": "^8.0.3",
    "react": "18.1.0",
    "react-dom": "17.0.2",
    "react-geocode": "^0.2.3",
    "react-native": "0.70.5",
    "react-native-config": "^1.4.11",
    "react-native-device-info": "^10.3.0",
    "react-native-geolocation-service": "^5.3.1",
    "react-native-gesture-handler": "~2.2.1",
    "react-native-maps": "0.30.2",
    "react-native-pell-rich-editor": "^1.8.8",
    "react-native-reanimated": "^2.10.0",
    "react-native-render-html": "^6.3.4",
    "react-native-safe-area-context": "4.2.4",
    "react-native-screens": "~3.11.1",
    "react-native-vector-icons": "^9.2.0",
    "react-native-web": "0.17.7",
    "react-native-webview": "^11.23.1",
    "react-redux": "^7.2.5",
    "redux": "^4.1.1",
    "redux-logger": "^3.0.6"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "@tsconfig/react-native": "^2.0.2",
    "@types/jest": "^26.0.23",
    "@types/react-native": "^0.70.4",
    "@types/react-native-vector-icons": "^6.4.12",
    "@types/react-test-renderer": "^18.0.0",
    "@typescript-eslint/eslint-plugin": "^5.37.0",
    "@typescript-eslint/parser": "^5.37.0",
    "babel-jest": "^26.6.3",
    "eslint": "^7.32.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "0.72.3",
    "react-test-renderer": "18.1.0",
    "typescript": "^4.8.3"
  },

Snack, code example, screenshot, or link to a repository
None

this is not a react-native issue specifically, its a flag introduced in android SDK target 31 and above (so its more of a native android requirement. according to docs you need to

Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.

you can read more about it here https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability
and here https://medium.com/androiddevelopers/all-about-pendingintents-748c8eb8619
you might need to upgrade your Work Manager to 2.7.0-alpha02

When I add it I still face the same issue:

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])

    //noinspection GradleDynamicVersion
    implementation "com.facebook.react:react-native:+"  // From node_modules

    implementation "androidx.work:work-runtime:2.7.0-alpha02"
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"

    debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
        exclude group:'com.facebook.fbjni'
    }

    debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
        exclude group:'com.facebook.flipper'
        exclude group:'com.squareup.okhttp3', module:'okhttp'
    }

    debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
        exclude group:'com.facebook.flipper'
    }

    if (enableHermes) {
        //noinspection GradleDynamicVersion
        implementation("com.facebook.react:hermes-engine:+") { // From node_modules
            exclude group:'com.facebook.fbjni'
        }
    } else {
        implementation jscFlavor
    }
}

When I add it I still face the same issue:

Also what are the steps to reproduce?

I fixed it by creating a new project and reconfiguring all my packages. Once I the app was working I just copied the packages.json and android folder to my project. Lesson learned: always test on Android and iOS when adding packages etc.


Vimeo demo for full effect!

This is too awesome to not show it on video.
That is all.

Ah, I forgot about that.  Thanks!!


UNDERTOW-1534 HTTP/2 can enter an infinite loop

Also re-enables the sender test case to see if this is the root cause

Are the test failures related? It failed again after I triggered.

Retest this please

https://issues.jboss.org/browse/JBEAP-16855 got verified using this patch, so it looks good.

I can't see the detailed description of this error (some permission issue), but we also see an infinite loop. I am hoping this will fix that.

Retest this please

Retest this please


Chapter2/homework/2

Wow thanks a lot for the detailed review it is so helpfull. I will look into that.


Implement crypto/hkdf with the OpenSSL/CNG backends

fixes: https://github.com/microsoft/go/issues/1414

@gdams merge conflict


Readd Windows builds

In PR ( https://github.com/conda-forge/datafusion-feedstock/pull/10 ), Windows builds were disabled. Would be good to reenable them.

Seems like as of datafusion 28.0.0, we get some LLVM failures during compilation on Windows:
  LLVM ERROR: out of memory
  Allocation failed
  error: could not compile `datafusion-python` (lib)

I had intended to resolve this issue with #27, but in the interest of getting out a new conda-forge release might need to push a fix for this into a follow up PR

This should now be resolved with #34

Thanks Charles! 🙏


Update protocol.txt

fix minor typo

in next. trivial typo fixes are committed by us and credited vs pulled. thanks!

released in 1.4.34


Support for "absolute time" as calendar time

See #717
Support for calendar time, in order to better square HARK models with real data and predictions. From @llorracc

what I mean by “absolute” time is the ability to specify that a given moment in the simulation corresponds, say, to June 16, 2020.  The purpose would just be to make it easier to align model events with real events (e.g., the timing of the Covid-19 crisis, or the Great Recession).  Obviously, this can be done without an explicit measure of “absolute time” — we did it in the Covid-19 paper.  The question is whether it would be worthwhile to develop syntax or conventions for how to handle the alignment of a model with an actually measured historical sequence of events.

@mnwhite replies:

think we would want a lot more integration with data (read: do something with pandas) before we turn to this.  But I'm a partisan for keeping data separate from modeling, leaving the former to specific research projects.

I move to adopt Sebastian's terminology of "calendar time".  It's intuitive.
On Wed, Jun 17, 2020 at 1:02 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

See #717 https://github.com/econ-ark/HARK/issues/717
Support for calendar time, in order to better square HARK models with real
data and predictions. From @llorracc https://github.com/llorracc
what I mean by “absolute” time is the ability to specify that a given
moment in the simulation corresponds, say, to June 16, 2020. The purpose
would just be to make it easier to align model events with real events
(e.g., the timing of the Covid-19 crisis, or the Great Recession).
Obviously, this can be done without an explicit measure of “absolute time”
— we did it in the Covid-19 paper. The question is whether it would be
worthwhile to develop syntax or conventions for how to handle the alignment
of a model with an actually measured historical sequence of events.
@mnwhite https://github.com/mnwhite replies:
think we would want a lot more integration with data (read: do
something with pandas) before we turn to this. But I'm a partisan for
keeping data separate from modeling, leaving the former to specific
research projects.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/718, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFIHG67V4IQV2LUCPM3RXDZK5ANCNFSM4OAZKHNQ
.


Store View Templates

Would you accept a PR that does the following:
php artisan make:livewire counter --view=my_template
And instead of scaffolding the standard view, it would look for an use a template of a view that stored in views/livewire/templates/my_template.blade.php as the template for the new component view.
This would allow people to store any customization they like for their component views.

Ah, very interesting.
I love the concept. Will want to brainstorm on the specifics.
Something I've always wanted in Laravel is the ability to customize the stubs that make: commands use.
I would love the same for Livewire. I'm not sure of the best way to accomplish this though.
Here are some options that come to mind:
A) Provide some sort of configuration option (weather in a service provider or config file) for overriding the class and view stubs.
B) Provide some sort of config for different template options
return ['templates' => [
    ['admin' => ['class' => 'App\Livewire\Templates\AdminStub', 'view' => 'livewire.templates.admin-stub']
];

Then this would be used like: artisan make:livewire --template=admin or something
C) Do what you are proposing and provide --view and --class options to use files as a template. The questions I have about that approach are: 1) what about class templates? they will need to have the right class name and namespace 2) I'm not sure about the livewire/templates/foo naming convention (probably the best option, just not sure if relying on a convention here is best) 3) People like me have a hard time remembering command options and especially don't want to type all that extra text in the command (maybe there's a way to make it more memorable / intuitive)
Those are my thoughts, let's get the conversation going.

I like option B a lot, but I know you were trying to avoid publishing a config file, which is why I proposed the options in the command.
I like having a first step where you run a command like livewire:publish-stubs to publish your current stubs for both class and view in App\Livewire\Templates\StandardStub and livewire.templates.standard-stub. If you haven't run this, livewire:make scaffolds from the livewire core. If you have run this, then livewire:make scaffolds out every new component based on these files instead of the files in the livewire core, and the user can customize the standard stubs. This allows some customization without needing a config file.
Step two is the config file where the user can add new templates and pass the template name through in the make:livewire NewComponent --template=admin command, just like you described.

@calebporzio At work I have our test stubs set up as blade templates (I was drinking when I came up with the idea but hear me out). It allows me to pull in a package to our projects, publish the assets, and tweak how I want the default tests to be created. This idea, expanded out a bit, would allow a user to publish assets and then edit the stubs for both the PHP and the blade of the component because they'd just be blade templates published as views.

A nice easy first step would be configuring the defaults...
A command like php artisan livewire:publish  would be ideal for this.
LW would need a check in the builder command to looks for the presence of these in a specific location (/resources/vendor/livewire/stubs/view.blade.php & component.php ).
This then sets up the next step of custom templates via command line args.
I think the hardest thing is naming & knowing where these templates should be put :)

Stub Make Command
artisan livewire:stub foo

this would make two files:

app/Http/Livewire/Stubs/Foo.stub
resources/views/livewire/stubs/foo.stub

You can reference the stub like so:
artisan make:livewire some-component --stub=foo
You can override the default stub by making Default.stub and default.stub files in their respective directories.
Packages can contribute stubs (and you can publish them? if you want to modifiy them?), and local stubs will override them. (may run into namespacing problems, but maybe cross that bridge when we come to it.)
These should be 3 seperate PRs I think. Not sayin they all need to happen, just that they can/should be broken out.

To make a default stub: artisan livewire:stub default

@intellow Does this new command work similar to how you were expecting?

@intellow Does this new command work similar to how you were expecting?

Yeah, everything works great. It's all documented here: https://laravel-livewire.com/docs/making-components/


Add FromIterSeq and ToIterSeq (#25)

Resolve #25
What changes

5a03546f8afbb9ee03999a0d2e7c63aafa5194ca: Add FromIterSeq and ToIterSeq
a2155ee13dd39dfeae28d732814a907b2cb0c73c: Add 1.22 and 1.23.0-rc.2 Golang version in testing matrix in CI

Design consideration

It is compatible to use FromIterSeq and ToIterSeq before version 1.23 without for-range func syntax.

For version 1.23, we can use the for-range func syntax, and these two functions are also compatible with the iterator type in the iter package.

ToIterSeq allow user iterate the value with corresponding error if any, instead of stopping upon encountering the first error. This enables users to decide when to terminate. See detail in the testcase

Hi @destel,
I will continue to add the example in doc if you think this implementation is acceptable.

Thank you very much for your contribution.
So far it looks good to me, but I am planning to install go 1.23-rc and take a closer look at it on the weekend.

I've had a chance to review your PR in more detail. Here's a changes I'd like to request, followed by some discussion points. Please feel free to share your thoughts on any of these items
Changes

Let's use original version of your code from  How about implement rill.FromSeq After Golang 1.23 release  #25. That version is go1.23 only, but it shorter and easier to read. We can put it into a separate file as you did for the tests
Use shorter name for the function. Again, I like the name from your original issue: FromSeq

Great, I will make it available only in version 1.23 and rename it to FromSeq.

The rest of my comments below are just topics for discussion, since I am not sure what API design to use. I'd love to hear your thoughts on these
FromSeq2
I think generally it's worth having a function that takes a sequence of value-error pairs. One problem here is what order of type parameters to use

func FromSeq[A any](seq iter.Seq2[A, error]) <-chan rill.Try[A]
or func FromSeq[A any](seq iter.Seq2[error, A]) <-chan rill.Try[A]

Do you know is there a convention on whether error should go as the first or the second type parameter?

In my experience, I will place the error as the second parameter. For Golang developers, they always put the error as the last parameter.
See the piece in the Russ Cox discussion: Seq2 represents a sequence of paired values, conventionally key-value, index-value, or value-error pairs. He specifically mentioned "value-error" pairs, not "errror-value" pairs. He also give the example func Lines(file string) iter.Seq2[string, error]

Also, how do you think this function should behave when it finds errors in the sequence?

Copy all errors to the output chan
Or copy only the first error and close the chan

In my opinion, I will choose Copy all errors to the output chan.
For me, chan Try[A] is the generator of Try, and Try contains values with errors. The concept is very similar to iter.Seq2[A, error], which is an iterator of value-error pairs.
It also following the rule any error happening anywhere in the pipeline is propagated down to the final stage, where it's caught by some blocking function and returned to the caller. We can treat FromSeq2[A any](iter.Seq2[A, error]) as the stage of pipeline

Finally, what name do you think we should use for the function? FromSeq2, FromSeqWithErrors or something else?

I think FromSeq2 is not concise enough, because the second type parameter is an error type. How about FromSeqWithErr

ToSeq2
You have already added it as ToIterSeq. I was thinking about the use cases for it. As I see it, the purpose of iterators is to allow for-range loops for custom types, but here the original type is already a chan, so it supports for-range natively. Wrapping it into iter.Seq2 will only change syntax a bit. Am not against it. It seems absolutely reasonable to have the inverse function for FromSeq2, but I am curious what's your opinion on the use cases.

ToIterSeq not only supports the for-range syntax but also allows the user to simply utilize it without worrying about draining the channel.
See the following:

// ch is chan Try[A any]
// not safe: Cause goroutine leak
for try := range ch {
    if try.Error != nil {
        break
    }
}

// seq is iter.Seq[A any, E error]
// safe: The iterator implementation will help the user drain the underlying channel of Try.
for val, err := range ch {
    if err != nil {
        break
    }
}

@amikai I agree with all your points. Thank you very much for detailed answer and great insights.
Regarding FromSeq2 vs FromSeqWithErrors, to be honest, I gravitate towards FromSeq2. It a bit less clear on it's own, but seems more consistent in context of all functions we've discussed and the library as a whole (similar to FromChans/ToChans functions, where I also haven't used the word "error" in the name):

FromSeq
FromSeq2
ToSeq2

vs

FromSeq
FromSeqWithErrors
ToSeqWithErrors

I think, let's proceed with naming 1 and the changes we've discussed.

Hi @destel, Just summarize what will I implement and double confirm that
//go:build go1.23
// +build go1.23

func FromSeq[A any](seq iter.Seq[A], err error) <-chan Try[A] {...}
func FromSeq2[A any](seq iter.Seq2[A, error]) <-chan Try[A] {...}
func ToSeq2[A any](in <-chan Try[A]) iter.Seq2[A, error] {...}

Add corresponding test case, document and example

Yes, that's correct. Thank you for the summary.

Hi @destel, I have already finished it, please kindly help to review it.


Update Images guidance and example of alt text

Fixes #1887.
This PR updates our Images guidance's section about alt text to specify:

who our guidance is for
redirect users who want guidance about publishing mainstream content on GOV.UK

We've suggested these changes because our Images guidance did not mirror the recently updated GDS guidance on alt text

I mentioned on the issue but copying here for visibility:

I think we need to clarify our guidance, but just wondering if the content guidance for GOV.UK Publisher might be different to other services. For example if you use an icon in your service, it might help to add alt text. A different context to the content published on GOV.UK publishing.

So maybe something like "In most cases follow the gov.uk content thing, but if it wouldnt make sense to describe the image on the page, for example when using an icon, add alt text (example)"
I do follow that our current alt-text-in-body guidance means the alt text is available to all, which is a good thing. However the downside is that screen reader users are not aware of and cannot interact with images, for example to navigate the page, or download them.

If we update this guidance, should we also this PR to update any other images across the Design System site?

@calvin-lau-sig7 @joelanman Thanks for helping with this! Have tried to action your comments. Can I get another review? :)
Also - if we update this guidance, should we also use this PR to update any other images across the Design System site?

Blocked until we talk to more of the accessibility community.

@joelanman I've just added a commit that restores the original guidance.  Have also added 2 sentences (line 30) to say who the guidance is for, and to redirect users who need the 'publishers' guidance.

Hi @calvin-lau-sig7! This update has been around the houses, but after much investigation @joelanman and I thought it best to limit its scope. For now, we're just going to:

tell users who the Design System guidance is for
redirect them if they need guidance about publishing GOV.UK content.

Full context in comment on original issue.
Could we get a review? :)

@calvin-lau-sig7 Thanks for reviewing! Have added in your suggestion. If all looks ok, can I get an approval?

Certainly, done! I'll let you do the honours and merge it. 😄

@calvin-lau-sig7 Cheers for your help with this!


Bump kubernetes to v1.30.2

What type of PR is this?

/kind feature
New Support Kubernetes Resources:

storagemigration.k8s.io

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

fix https://github.com/clusterpedia-io/clusterpedia/pull/665

Issues to be fixed:

Due to *v1.ValidatingAdmissionPolicy, only versions older than 1.30 can be installed.
RemainingItemCount is locked and cannot be set manually.


Run "Tap Tracker"  is not displayed 'Tap Button', But it displays an error, the error is: _kCFStreamErrorDomainKey

Do you have your server running on the same device?


hubble-relay: persist connections to hubble peers

This commits updates hubble-relay so that instead of opening/closing a
connection to every hubble peer for every gRPC request, connections are
instead persisted.

I see two main approaches to this:

1. The optimistic approach (the one this commit implements):
   A new connection is established when a peer is added or updated. When
   the connection cannot be established, a new attempt is made at the
   next client request, without blocking the client request itself.
2. The pessimistic approach:
   A new connection is established when a peer is added or updated. For
   each peer, a goroutine ensures that the connection is healthy by
   issuing a periodic heartbeat and attempts to (re)connect if need be.

With the optimistic approach, a client request might end up with
incomplete data. However, there isn't much overhead with this approach.
The pessimistic approach limits the problem of incomplete data (without
suppressing it). On the other hand, it generates heartbeat traffic,
which will be non-negligible on a 5000 nodes cluster. It also forces to
use goroutines to track the connection status with every peer. It would
also induce more code complexity (one has to take down the corresponding
connection monitoring goroutine when a node is deleted for instance).
Given the above, I chose option 1.

Fixes #11229.
Note: I hope someone comes up with option 3 that would be best of both worlds :)

Coverage increased (+0.02%) to 44.462% when pulling f8d419643a6c4a92d85313d2becd16bb6144d60c on pr/rolinh/hubble-relay-persist-conections into 3a4fbd5fefec59ab50efc2c5bd271826e6f495ed on master.

@Rolinh another option is to let the grpc library handle keep-alive: https://godoc.org/google.golang.org/grpc#WithKeepaliveParams
the code itself looks totally fine to me, but this kind of pull request is difficult for me to approve or disapprove without actual measurements.

@Rolinh another option is to let the grpc library handle keep-alive: https://godoc.org/google.golang.org/grpc#WithKeepaliveParams

Doing this basically means picking the pessimistic approach.

test-me-please


Bug testing for reentrantNotificationStrategy changes

Changes made on a branch over in https://github.com/phetsims/axon/issues/447 are showing some unexpected behavior changes in some sims. I can't seem to find an easy way to demonstrate those differences, so I'd like to get humans looking at it (instead of just fuzzing). Below are the links to versions with the changes, and they can be tested against main which is working as expected. The code changes (quite generally) are updates to how we notify listeners for Properties in cases where those listeners in turn change the original Property. The notification loop (that we call reentrancy) can be quite subtle and finicky to reproduce, so nothing is off limits in my mind in trying to reproduce.

[ ] ~https://phet-dev.colorado.edu/html/center-and-variability/1.2.0-reentrantNotificationStrategy.1/phet/center-and-variability_all_phet.html~

[ ] https://phet-dev.colorado.edu/html/greenhouse-effect/1.3.0-reentrantNotificationStrategy.1/phet/greenhouse-effect_all_phet.html

[ ] https://phet-dev.colorado.edu/html/neuron/1.2.0-reentrantNotificationStrategy.1/phet/neuron_all_phet.html

[ ] https://phet-dev.colorado.edu/html/natural-selection/1.6.0-reentrantNotificationStrategy.1/phet/natural-selection_all_phet.html

[ ] https://phet-dev.colorado.edu/html/charges-and-fields/1.1.0-reentrantNotificationStrategy.1/phet/charges-and-fields_all_phet.html

Please take a look at https://github.com/phetsims/axon/issues/447#issuecomment-1965693132 to see some screenshots about what kind of differences fuzzing showed. Basically I'm hoping that you can find reproducible bugs that I can use to understand the problem better.
Thanks and let me know if you have any questions.

You can ignore CAV, it seems to be a different problem (that I can reproduce without my reentrancy changes).

None of us have managed to reproduce these so far. Sorry.

No worries. That is helpful to know. Please feel free to stop working on this issue.


[Package Request]: Jagex Launcher

How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://www.jagex.com/no-NO/launcher
Publisher: Jagex Ltd
Package Name: Jagex Launcher
Description: The Jagex Launcher offers a new and improved experience for RuneScape and beyond. It allows you to access Jagex games seamlessly and securely, all in one place and with the safety and convenience of a single login.
The Jagex Launcher launches with the ability to remember your account details for quick, secure access to your RuneScape account and has lots of new features on the way.
Package Version: <IP_ADDRESS>
Installer URL: https://cdn.jagex.com/Jagex Launcher Installer.exe

Seems this package does not support unattended installation. Is there any guide for silently install this package on a device?

Not that im aware of.. I've been reasearching it for a bit, but I don't seem to find any way to install it silently sadly


Translate language & plugin settings improvement

[x] Translate language by using Logseq-l10n (https://github.com/sethyuan/logseq-l10n)

[ ] Chinese (zh-CN)

I don't understand Chinese. I had ChatGPT translate it based on the Japanese translation I made earlier. So please do the validation for this without me.

[x] Japanese

Plugin settings

[x] Organizing descriptions

Added

[ ] Improvement of "README"
[ ] Japanese translation


Inaccurate reference

In this article there is a section titled "Reset business passwords in bulk" It references this article: https://o365info.com/manage-office-365-users-password-using/ - there is nothing in this article about resetting user's passwords in bulk.
Reset business passwords in bulk
Use PowerShell! Check out this post by Eyal Doron: Managing passwords with PowerShell.

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

ID: fa4f7db9-4faf-03f9-516c-7bb1f6dbac92
Version Independent ID: 0a2f9a24-76e7-b889-3a75-3e2bbb5aba96
Content: Reset passwords - Microsoft 365 admin
Content Source: microsoft-365/admin/add-users/reset-passwords.md
Service: microsoft-365-business
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@ExchRanger Thank you for your feedback. The document referenced talks about managing passwords using PowerShell and there is a section which talks about setting passwords in bulk using Powershell

Hope this helps!
Thanks
Sri

I did see that, thanks. I feel like there should be some way to reset user passwords using group membership where you can run a reset password command against users via group membership without having to do all users in the environment or resort to a .csv file. I guess that is my idea of bulk reset. Thanks for the reply. I have found a workable solution.


Updating IP address of Breeze in Brazil South - final update on this

Updating IP address of Breeze in Brazil South

@dharmt001 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Revert "python38Packages.irc: 19.0.1 -> 20.0.0"

This reverts commit 0a780fe392341e84fa20ca1b2b0e079c54659bc7.
This was (accidentally?) updated in #153179 and broke heisenbridge build.

Motivation for this change
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This was (accidentally?) updated in #153179 and broke heisenbridge build.

How about relaxing heisenbridge's irc constraint?

Fixed in 1ca6d727479c41615345cbb4850e68f5e36e21cd (staging), can be cherry-picked.


improve base stats (mean,min,max,std) and quantile workflow codes

[x] determine if {'Time':-1} is required for quantile
[x] use skipna=False wherever possible
[x] use flox and related packages
[x] test basic code for both base stats and quantiles
[x] improve PBS implementation to work better with input netcdf files and zarr collections

new python codes, run via PBS jobs, are improved


Make sure all HRESULT values are checked in managed

Our error handling after calling any NativeMethod is lacking. We need to add checks after all calls to NativeMethods and check Marshal.GetExceptionForHR().

cc @shirhatti who will collect this and related bugs in a uber diagnostics-features list.


Support for readOnly property in the generated documentation.

@RobWin Currently the generated HTML/PDF documentation only contains values of "required" field. It will also be good if we can get the support for the "readOnly" value of a property as well.
The swagger spec seems to contains provisions for "required" and "readOnly" for the models/definitions.
And it also part of the generated Swagger Spec from Springfox.
"Foo": {
      "type": "object",
      "required": [
        "name",
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Foo unique identifier",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Foo name"
        }
      },
      "description": "Foo model"
    }

Swagger2Markup version: 0.9.2

Hi, thx. I have a look at it.
Do you really still use v0.9.2?
You should update to 1.0.1 :smile:

Thanks @RobWin. Will directly upgrade to v1.0.2 once you have support for "readOnly"  😉

Ups. I forgot its already implemented in v1.0.1

Wowww.. Let me try now and update here.... 😃

springfox-staticdocs - 2.5.0 has dependency only with swagger2markup - 0.9.2
I could not find swagger2markup 1.0.1 in maven repo? 😞

Yes, you don't really need springfox-staticdocs anymore. Have a look at the demo: https://github.com/Swagger2Markup/spring-swagger2markup-demo
And have a look at the documentation: http://swagger2markup.github.io/swagger2markup/1.0.1/
The maven group id has been changed fromfrom io.github.robwin to io.github.swagger2markup.

Thanks @RobWin, I moved to the latest v1.0.1 and it is working. I can see the support for readOnly property along with required/optional

Very nice 👍


Using Instagram session ID may result in account getting locked

Ripme version: 1.7.94
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) Client VM (build 25.281-b09, mixed mode)
*Operating system: Win10

Exact URL you were trying to rip when the problem occurred:

Please include any additional information about how to reproduce the problem:
Was ripping a public profile, and it locked me out of my account.  Would suggest implementing a rate limiter for Instagram when using session ID, even if the photos have been downloaded already, wait a small amount of time before checking the next photo.

Expected Behavior
Instagram account is not affected by ripping activities
Actual Behavior
Instagram account was locked for suspicious activity.  Had to change password and confirm via email to unlock the account.

I don't have an account, but yesterday simply opening images manually in a browser over a 20 min period, roughly a hundred in total, led to being blocked from opening posts (would go straight to a login prompt). Was IP-based and still in effect after about half an hour, but gone today.
First time it's been that restrictive. Think they've really put the squeeze on now all around.

https://experienceleague.adobe.com/docs/livefyre/using/streams/c-instagram-rate-limiting.html?lang=en#streams
they say that they lowered the limit from 5000 to 200 / token / hour.

Thats quite a significant change

I wondered what was going on when I tried some downloads, maybe... 2-3 weeks ago?  The tool I was using was struggling REAL hard to get things without pausing itself/rate-limiting.  Poor FB must be just bleeding money to cover all those bandwidth costs.  Poor folks might only be able to buy one private island this year.  :(

I wondered what was going on when I tried some downloads, maybe... 2-3 weeks ago? The tool I was using was struggling REAL hard to get things without pausing itself/rate-limiting. Poor FB must be just bleeding money to cover all those bandwidth costs. Poor folks might only be able to buy one private island this year. :(

They've made some other changes too, in addition to rate limiting.  looks like they're making it harder if you're ripping without an account: https://github.com/ripmeapp2/ripme/issues/32


WIP: Streaming support

Initial streaming example and test cases. For adding async support, I guess an approach like in httpx would make sense, having separate async methods on the stream. Some event handling and the ocm/mcm caches are still missing. pre-commit cleanup due to ruff messing up imports.

LGTM - Thanks @ml31415 !
Is this ready to go in ?

Kind of. I had thought about some more things, but that can come later So yeah, LGTM.


Add ImageProjectiveTransform XLA kernel

As per comment https://github.com/tensorflow/tensorflow/pull/41365#issuecomment-658818273, cc @tanzhenyu for visibility.

@tanzhenyu I think we need an XLA expert to review this. Can you find one? Also, I find the speed does not improve (or even slower) for XLA ops. So maybe there might be some improvement for my handcrafted kernel. Thank you!

From XLA discussion: seems this is not desired given the gathering logic would be expensive.

@WindQAQ  Can you please check @tanzhenyu's comments and keep us posted ? Thanks!

@tanzhenyu Do I have to do something specific on the implementation? Thank you!

@tanzhenyu Do I have to do something specific on the implementation? Thank you!

We can close this if you don't mind. The main reason is that gather takes too much cycles.

Yep, sure. As it doesn't improve the performance, let me close it.


Use of boost:asio::buffer in as_buffer_pubsub.cpp

Hi,
I think the use of boost:asio::buffer in as_buffer_pubsub.cpp isn't correct like this:
as::buffer(std::string("topic1"))
as the buffer is just a representation of an externally supplied buffer and the temporary std::string is going out of scope while the boost:asio::buffer is still in use.
I would change the code like this:
const std::string t1("topic1");
as::buffer(t1)
Cheers
Axel

Here's a proposed patch:
as_buffer_pubsub.cpp.patch.zip

as_buffer_pubsub.cpp is test for synchronous APIs.
That means the function no longer access to the buffer after the function is returned.
For example,
https://github.com/redboltz/mqtt_cpp/blob/master/test/as_buffer_pubsub.cpp#L44
                    pid_sub = c->subscribe(as::buffer(std::string("topic1")), mqtt::qos::at_most_once);

The lifetime of std::string("topic1") can be over after subscribe() is returned.
I wrote a PoC code to check the lifetime of the string.
https://wandbox.org/permlink/dqosfBxmeqglBkwr
#include <boost/asio.hpp>
#include <boost/asio/buffer.hpp>
#include <iostream>
#include <string>

struct life_traced_string : std::string {
    template <typename T>
    explicit life_traced_string(T&& t):std::string(std::forward<T>(t)) {
        std::cout << __PRETTY_FUNCTION__ << std::endl;
    }
    life_traced_string(life_traced_string const&) = delete;
    life_traced_string(life_traced_string&&) = delete;
    life_traced_string& operator=(life_traced_string const&) = delete;
    life_traced_string& operator=(life_traced_string&&) = delete;
    ~life_traced_string() {
        std::cout << __PRETTY_FUNCTION__ << std::endl;
    }
};

inline void foo(boost::asio::const_buffer b) {
    std::cout << __PRETTY_FUNCTION__ << std::endl;
    (void)b;
    std::cout << "accessing buffer" << std::endl;
    std::cout << "finish:" << __PRETTY_FUNCTION__ << std::endl;
}

int main() {
    std::cout << "before" << std::endl;
    foo(boost::asio::buffer(life_traced_string("ABC")));
    std::cout << "after" << std::endl;
}

Output:
before
life_traced_string::life_traced_string(T &&) [T = char const (&)[4]]
void foo(boost::asio::const_buffer)
accessing buffer
finish:void foo(boost::asio::const_buffer)
life_traced_string::~life_traced_string()
after

That indicates the lifetime of string is kept during the function foo().
So I think that the current code is not harmful.
What do you think?
By the way, I think that as::buffer(std::string("topic1")) can be replaced as as::buffer("topic1"). And it is simpler. In this case, "topic1" has static storage duration.
I think that it is better. But I still think that the original code doesn't violate std::string's lifetime.

The original code (being the synchronous version) doesn't violate std::string's lifetime.
Using as::buffer("topic1") is better, because it doesn't involve an allocation and copy of the string data (Well, unless short string optimization is happening, but that's not guaranteed) and instead only references constant data from the binaries "read-only" section.

The problem is here:
#include <tuple>
#include <vector>
#include <boost/asio/buffer.hpp>

constexpr std::uint8_t const at_most_once = 0;

void func(std::vector<std::tuple<boost::asio::const_buffer, std::uint8_t>> params) {
    return;
}

int main() {
    func(std::vector<std::tuple<boost::asio::const_buffer, std::uint8_t>> {
        std::make_tuple(boost::asio::buffer(std::string{ "topic" }), at_most_once)
    });
}

This is happenning at runtime:

basic_string::basic_string
boost::asio::buffer
make_tuple
tuple::tuple
basic_string::~basic_string
vector::vector
func

After a lot of googling I found this:
It seems to be a VS compiler bug. If this is the case I want to excuse me for making noise which would have been better to be made in Redmond, sorry for that.
Now regarding C-style-string and/or std::string:
const std::string str{ "topic1" };
auto buf1 = boost::asio::buffer(str);

Debugger:
boost::asio::const_buffer = {data_=0x008ffb18 size_=6 }
memory 0x008ffb18: 74 6f 70 69 63 31 = topic1 (the next byte is 00 = \0)
auto buf2 = boost::asio::buffer("topic2");

Debugger:
boost::asio::const_buffer = {data_=0x00f95124 size_=7 }
memory 0x00f9512418: 74 6f 70 69 63 32 00 = topic2\0
The two objects differ by the \0 byte.
What would that mean for the mqtt messages?
Cheers
Axel

@aholzinger , thank you for the great investigation. MSVC is headache ;)
I considered some approaches. See the following code:
Running demo: https://wandbox.org/permlink/zfsfSNof2P6b7O0K
#include <boost/asio.hpp>
#include <string>
#include <iostream>
#include <cstring>

void print_size(boost::asio::const_buffer b) {
    std::cout << b.size() << std::endl;
}

int main() {
    print_size(boost::asio::buffer(std::string("ABC")));        // bump MSVC bug
    print_size(boost::asio::buffer("ABC"));                     // '\0' is added. Unnatural for communication
    print_size(boost::asio::buffer("ABC", sizeof("ABC") - 1));  // "ABC" appears twice
    print_size(boost::asio::buffer("ABC", std::strlen("ABC"))); // "ABC" appears twice and need parsing
    print_size(boost::asio::buffer(std::string_view("ABC")));   // I think the best one.
}

I think that the last one is the best. Could you test the string_view approach on your environment?
mqtt_cpp requires C++14, string_view is C++17 feature but boost has similar one. mqtt_cpp privides mqtt::string_view and you can use it.
See https://github.com/redboltz/mqtt_cpp/wiki/Config#mqtt_std_string_view

I tested all possibilities on my platform.
Unfortunately boost has two times string_view:

boost::utility:string_view from boost/utility/string_view.hpp
boost::asio::string_view from boost/asio/detail/string_view.hpp

The former doesn't work with boost::asio::buffer.
The latter is available since Boost 1.66.0, but unfortunately wants to use std::stringview or experimental::stringview. On my system (VS2017) with Boost 1.66.0 boost::asio::string_view is not working (error C2039: 'string_view': is not a member of 'boost::asio').
Unfortunately mqtt_cpp in include/mqtt/string_view.hpp is using boost::utility:string_view and thus also mqtt::string_view is not working, because boost::asio::buffer doesn't accept this type.
On VS2017 which I'm using, std::string_view with C++17 is working fine.
Is it worth it to force the whole project to C++17 for just four lines of test code?
Untill the MS compiler bug isn't fixed I would use the C-style-string-strlen approach in the 4 locations (clearly with some comment why this approach and why the strlen - 1) and let the rest with (less efficient) std::string.

Currently mqtt_cpp support Boost 1.57.0 or later.
https://github.com/redboltz/mqtt_cpp#overview

Is it worth it to force the whole project to C++17 for just four lines of test code?

Yes. Could you send the pull request that uses like as follows?
#if defined(BUGGY_MSVC_VERSION)
                    // workaround for https://developercommunity.visualstudio.com/content/problem/334025/problem-with-lifetime-of-some-specific-temporary-c.html
                    pid_sub = c->subscribe(as::buffer("topic1", sizeof("topic1") - 1), mqtt::qos::at_most_once);
#else  // defined(BUGGY_MSVC_VERSION)
                    pid_sub = c->subscribe(as::buffer(std::string("topic1")), mqtt::qos::at_most_once);
#endif // defined(BUGGY_MSVC_VERSION)

Replace BUGGY_MSVC_VERSION with something appropriate one.
See https://github.com/redboltz/mqtt_cpp/wiki/Coding-Rules

Will do so next week, but it will be difficult to find a valid define (_MSC_VER) as to date all C++14 compatible MS compilers have this issue. I checked also with latest VS2019 (16.1.3): same problem.
MS in the bug report said it would be fixed in 16.1 which is already out, so I guess it would be 16.2 then. 16.1.3 has _MSC_VER = 1921. Current V2017 is 15.9.13 and has  _MSC_VER = 1916.
So a solution could be to check for _MSC_VER being lower than 1922. But it's not sure.

I understand that checking all MSVC version are hard. This is an workaround for test codes. I think that only checking defined(_MSC_VER) is ok.

I filed a pull request (my first one, so please excuse if I made some mistakes).
I didn't compare against different MS compiler versions as all C++14 capable MS compilers suffer from this bug, so I compared against 1921 (<= 1921) which is the most current one.
Let's hope that 1922 will already have the bug fixed.

Thank you.


providing initial value as the integer 0, doesn't show any mask

If you provide the initial value as the integer 0, it should show the expected mask
0 => "$0.00".
I noticed we have tests covering the case for the string "0" but not for the integer.
I can open a pull request fixing that.

Good catch,  Just added the fix and will include in the next release.

@jsillitoe would be great to have an option for that as well. I mean, in some cases people rely on that behaviour.
I had a case recently, the initial values were 0, but the input should show the placeholder with the text minValue is ... instead of the mask. Weird situations, but worth having an option like displayZero: bool or any better name.

Sounds like it is worth a look, please open a new issue and I'll see what that would take.


Unable to sign up

When I try to sign up, the form fails silently. This is the output of the console:
 Form submission canceled because the form is not connected
vue.runtime.esm.js:1897 TypeError: Cannot read properties of undefined (reading 'auth')
    at signUp (SignUp.vue:55:7)
    at it (vue.runtime.esm.js:1863:26)
    at HTMLButtonElement.n (vue.runtime.esm.js:2188:14)
    at HTMLButtonElement.o._wrapper (vue.runtime.esm.js:6961:25)

I tried different usernames and passwords with different complexity - I don't think it's a form validation issue.
Best,
J

Hi, thanks for letting us know! We’re hoping to have a fix out soon. In the meantime I recommend just saving code to your own computer.

hey, thanks for the heads up! We just deployed a fix :) 5f03d84560aadb22c0b76f65950ef04dff0e21c9


[WIP] fix broken test maybe

Looks good with one suggestion for speeding it up.

Oh also please fix the commit subject/message before you merge.


Set cache=false in resampling machines

This eliminates copying of data that serves no purpose.

Codecov Report

Merging #114 (0d6247f) into dev (4c611f8) will decrease coverage by 14.80%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##              dev     #114       +/-   ##
===========================================
- Coverage   88.40%   73.59%   -14.81%
===========================================
  Files          12       11        -1
  Lines         500      428       -72
===========================================
- Hits          442      315      -127
- Misses         58      113       +55

Impacted Files
Coverage Δ

src/tuned_models.jl
68.79% <100.00%> (-21.74%)
:arrow_down:

src/learning_curves.jl
56.00% <0.00%> (-39.75%)
:arrow_down:

src/tuning_strategy_interface.jl
33.33% <0.00%> (-33.34%)
:arrow_down:

src/selection_heuristics.jl
92.85% <0.00%> (-7.15%)
:arrow_down:

src/strategies/explicit.jl
88.88% <0.00%> (-2.03%)
:arrow_down:

src/strategies/grid.jl
97.43% <0.00%> (-0.24%)
:arrow_down:

src/utilities.jl
100.00% <0.00%> (ø)

src/plotrecipes.jl
0.00% <0.00%> (ø)

src/strategies/random_search.jl
100.00% <0.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


Add hook switching for dry run

Fixes #1134

[ ] I’ve reviewed the contributor guide and applied the relevant portions to this PR.

Contribution guidelines:

See our contributor guide for general expectations for PRs.
Larger or significant changes should be discussed in an issue before creating a PR.
Contributions to our repos should follow the Dart style guide and use dart format.
Most changes should add an entry to the changelog and may need to rev the pubspec package version.
Changes to packages require corresponding tests.

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

https://github.com/dart-lang/native/pull/1152


added domain ecampus.ut.ac.id

@hilmisyam Pull request merged. Please start requesting the licenses in about an hour, to let the changes to propagate through our system. Thank you.


[PE-D] Corrupted UI Text

There seems to be an error in displaying the data as even newly added data seems to output corrupted text.

Labels: severity.High type.FunctionalityBug
original: joey-chance/ped#3

Font issue in css file. Change to arial font


Updated with new watchlist and more functionality

Replaced previous watchlist with one that included users and comments.

This PR is dependent on two other PR's in bitbucket


Add providebw for deferred transactions into golos.publication

Since gls.publish will be missed staked token, all deferred transactions should be use bandwidth of another contract. So all deferred transaction should contains cyber:providebw action (provider and permission should be set by parameter).

PR #790


6.0 Feedback:  App python override path not having any effect

Overview
When I alter the override python path in the app it seems to have no effect.
I can point it at a legit python version on my machine, or point it at my desktop, the app still seems to point at the bundled python.
I did troubleshooting on it with @TamarZanzouri and we think the first item may be always getting selected?

The app isn't trying to pick the first item, nor is the built-in Python the first item when the Python override is set.
I've been unable to reproduce this on my machine using the alpha, though as implemented the app needs to restart before the setting will take hold.
Config file (set via app UI):
{
    // ...
    "python": {
        "pathToPythonOverride": "/Users/mc/.pyenv/versions/3.7.12"
    },
    // ...
}

App logs
12:13:42.452 [protocol-analysis/getPythonPath] info: Python environment selected { pythonPath: '/Users/mc/.pyenv/versions/3.7.12/bin/python3' }

closed and replaced with #10612


Add libdef for thesaurus_v0.0.x

:sparkles: add libdef for thesaurus_v0.0.x

Kudos for proactively downgrading flow 👌

@GAntoine Thanks man, a lot more is coming. 🤓


CHEBI:8298, please update structure

Dear ChEBI curators,
Please would you update CHEBI:8298 entry
2D structure, formula and charge
with the attached molfile.
Note that there are 3 related (status=OK) entries:
CHEBI:14850 | poly[(R)-3-hydroxybutanoate]; x
CHEBI:14852 | poly[(R)-3-hydroxybutanoate]n
CHEBI:17542 | poly[(R)-3-hydroxybutanoate]n-x
Cheers, Anne
CHEBI_8298_updated.mol.txt

Dear Gareth,
No I don't need the 3 compounds
CHEBI:14850 | poly[(R)-3-hydroxybutanoate]; x
CHEBI:14852 | poly[(R)-3-hydroxybutanoate]n
CHEBI:17542 | poly[(R)-3-hydroxybutanoate]n-x
I have set the status of their UniProt name to DELETED. Action that I should have done long time ago ;-)
Thanks for the review
Cheers, Anne

OK. I'll close the issue.
Cheers,
Gareth


Update jsonpath_cn.md

当前JSONPath中完全没有对key/keyset的相关支持，修正文档
What this PR does / why we need it?
Summary of your change
Please indicate you've done the following:

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

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

请签署CLA


Reading files does not produce expected output with nontrivial file sizes

I played with it around in https://github.com/michaxm/hdaoop-rpc-exploration, but experienced incomplete, garbled output when reading files from HDFS with for examle this code:
import qualified Data.ByteString.Char8 as BC
import qualified Data.Text as T
...

main :: IO ()
main = do
  args <- getArgs
  case args of
   ("print": user: path: nodes) -> printHdfsFile (mkConfig user nodes) path
   ("copyToLocal": destFile: user: path: nodes) -> copyHdfsFileToLocal destFile (mkConfig user nodes) path
   _ -> error "usage: command [cmd-args] user path nodes\n commands:\n print\n copyToLocal destFile"
  where
    mkConfig u ns = HadoopConfig (T.pack u) (map toEndpoint ns) Nothing
      where
        toEndpoint :: String -> Endpoint
        toEndpoint str = let es = splitOn ":" str in if length es == 2 then Endpoint (T.pack $ es !! 0) (read $ es !! 1) else error $ "illegal host: "++str

printHdfsFile :: HadoopConfig -> String -> IO ()
printHdfsFile = withHdfsReader print

copyHdfsFileToLocal :: FilePath -> HadoopConfig -> String -> IO ()
copyHdfsFileToLocal destFile = withHdfsReader $ BC.writeFile destFile

withHdfsReader :: (BC.ByteString -> IO ()) -> HadoopConfig -> String -> IO ()
withHdfsReader action config path =  do
  readHandle_ <- runHdfs' config $ openRead $ BC.pack path
  case readHandle_ of
   (Just readHandle) -> hdfsMapM_ action readHandle
   Nothing -> error "no read handle"

This worked for trivial files, but when reading files with at least some KB in size, copied data was less than expected, for example a 44 MB file in HDFS produced a file 26 KB large. A plain text file (CSV, only numbers and spaces) with 74 KB produced only 10 KB and the first lines were not the first lines of the original.
I tried the automatic configuration detection as well (the code above does not reflect that), as this seems to be some sort of chunking issue, the chunks are however too small to expect HDFS file chunking issues.

I think the problem is that hdfsMapM_ will stream you a chunk of the file at a time over the network. So it looks like you're overwriting the file with each chunk and therefore only getting the last one.I think something like this should work:
import System.IO (IOMode(..), withBinaryFile)
-- snip --
copyHdfsFileToLocal :: FilePath -> HadoopConfig -> String -> IO ()
copyHdfsFileToLocal destFile =
  withBinaryFile destFile WriteMode $ \h -> withHdfsReader $ BC.hPut h

Thanks for pointing that out, stupid mistake. Reading files (60-70MB) is 1-2 orders of magnitude faster than with hdfs dfs (sometimes 1, sometimes 2, probably related to block file locations).
I took the liberty of putting that example in the documentation, but feel free to discard that: https://github.com/jystic/hadoop-rpc/pull/10


Watcher returns 500 Internal Server Error from /utxos if given an invalid address

If I pass an invalid address format to the watcher e.g. http://localhost:4000/utxos?address=0 the error response is 500 Internal Server Error.
I would have expected 400 Bad Request
I went to check if swagger validated the address param, but I can't find the swagger.json file. The omg_watcher/config.exs has
  swagger_files: %{
    "priv/static/swagger.json" => [router: OMG.Watcher.Web.Router]
  }

that file doesn't seem to exist in the repo, but calling http://localhost:4000/api/swagger/swagger.json does return the swagger doc, so I'm confused 😕

Hi @kevsul thank for reporting response mismatch - we will add better input validation.
Regarding swagger - swagger.json is autogenerated during build and therefore not stored in repo.


It is not clear what belongs here

It is not clear what belongs to this repo.
Suggestion:

List links to other repos that do belong into Vulkan ecosystem.
List examples of what is not handled elswhere and can be reported here.

We've updated the README to clarify the intent of this repo and are in the process of adding initial issues to the tracker. These should act as examples of the kind of problems we intend to track in this repository.
We're still in the process of setting things up, more information should become available in the next few weeks.


Make AIR a supported Lime backend target

On a simple level, AIR as a Lime backend means support for the Lime application lifecycle (init, exec) and basic for Window creation, options and events.
On a more advanced level, this means greater support for threading, HTTPRequest or other Lime system APIs, but this can be split into further issues if some of these become a larger task

Resolved by https://github.com/openfl/lime/commit/a3dce7ef3bbf198a07993d0c0ea367fe1bd603be


Show event details view

Create simple view (with template) that will show details for the event.

working on this

PR has been merged


Manage VM state more intelligently

We currently don't check to make sure that the test VM isn't in use before we turn it off. This was ok when we had 1 or 2 repositories, but it's not a sustainable solution.
Until we are able to use a containerized MI, we should either keep track of workflow instances using the machine, or a workflow should check if there are any other workflow instances (in any of the PyGranta repos) before shutting down the machine

@ludovicsteinbach I think this is complete?

Yes, I'll close


Add storybook-chrome-screenshot

Make sure these boxes are ticked before submitting a new issue:

[x] I have checked that this is not a duplicate
[x] I have added a label categorizing this under BLKN | Kiwicom | Icons | Global

From discussion on #68. It has been decided to use this library instead to test that all stories keep working.

Closing this. See discussion on #99