Ability to provide custom hardware ID in ConnectOptions

Looks good, just one nitpick. I think the field should be a String to stay consistent with the other options.

@Flakebi done.
But I really like Cow<'static, str> more. It's more elegant and more optimal by cutting off redudant allocations when library user specifies &'static str in there.

Thanks!
You’re right, I wouldn’t mind another PR that does it for all the options :)


Train/test procedure for link prediction on NE

Dear authors,
I try to understand a procedure around train/test splitting for evaluating network embeddings on link prediction you implemented in your package. I posted a similar question yesterday on Data Science Stack Exchange.
If I understand your paper correctly, the node embedding is performed only on positive examples (edges) on the training set; false examples are used only to train a classifier? Is this correct?
Thanks.
Best, Andrej

Hi Andrej,
The short answer is:
You are correct, in order to compute node embeddings you only need the "true" train edges. These edges span a training graph which is the input we give NE methods to learn the node embeddings. Non-edges are only used in the binary classification problem.
The longer answer is:
The most effective way to compute link predictions from embeddings is via binary classification. The node embeddings first need to be transformed into edge embeddings (e.g. averaging the embeddings of i and j to get the embedding of e=(i,j)) and then solve a binary classification problem. The binary classifier (usually Logistic regression) will take the edge embeddings as examples and try to learn a mapping to their corresponding "label" where these labels are 1 for the "true" edges and 0 for the non-edges. Therefore, in addition to the edge embeddings of "true" graph edges, we need to compute the edge embeddings of a set of non-edges in the graphs (those with label 0). This is what we usually refer to when we talk about negative sampling for LP.
I believe the confusion here comes from the way some popular NE algorithms compute the embeddings. For instance, methods base on matrix factorization directly take the train graph you give as input, compute the adjacency matrix, factorize it and return the node embeddings. Other methods e.g. Deepwalk, Node2vec or LINE have a special way of learning embeddings (Skip-gram from work embedding literature) and require "negative sampling" in the embedding learning process itself. These methods will select, from that train graph you give them, a set of non-edges or paths of non-connected edges to learn which node vectors should be put close together and which should be far. The NE methods will select these samples of non-edges themselves and in different ways, so the user generally doesn't have any control over it.
I hope this clarifies your question,
Alex

Hi Andrej,
I would like to add the following:

If you want just to make predictions, all your data is training data and you can make predictions for data that you have not seen. You do not need to split your data into two parts.

The splitting is hence only useful to evaluate the performance of link prediction methods. Your drawing on Stack Exchange does not reflect a standard machine learning pipeline. Unbiased estimates of performance can be computed only in the following manner: from the train data you construct a model (which here would be two parts; the network embedding and the binary classifier such as logistic regression), from which you can make predictions. You evaluate the predictions on the ground truth that was withheld from the learning process, which is the test set. Hence, the pipeline would be:

Left-hand side: Train network -> Network embedding -> LR model -> Predictions
Right-hand side: Test network -> Evaluation
Cross link from land-hand side ‘Predictions’ directly to right-hand side ‘Evaluation’.
So, the predictions are made from the model (for example logistic regression which is in turn based on a network embedding), which is learned on the training data. This is true not just in this link prediction setting but generally for any machine-learning model evaluation setting.
As an additional remark, there is no way to align network embeddings learned on the train and the test network, so an approach including a new embedding on the test set would not make sense.
Hope fully this clarifies the setting?
Best wishes,
~ Jef
On 19 Nov 2019, at 10:11, Dru-Mara <notifications<EMAIL_ADDRESS>wrote:
Hi Andrej,
The short answer is:
You are correct, in order to compute node embeddings you only need the "true" train edges. These edges span a training graph which is the input we give NE methods to learn the node embeddings. Non-edges are only used in the binary classification problem.
The longer answer is:
The most effective way to compute link predictions from embeddings is via binary classification. The node embeddings first need to be transformed into edge embeddings (e.g. averaging the embeddings of i and j to get the embedding of e=(i,j)) and then solve a binary classification problem. The binary classifier (usually Logistic regression) will take the edge embeddings as examples and try to learn a mapping to their corresponding "label" where these labels are 1 for the "true" edges and 0 for the non-edges. Therefore, in addition to the edge embeddings of "true" graph edges, we need to compute the edge embeddings of a set of non-edges in the graphs (those with label 0). This is what we usually refer to when we talk about negative sampling for LP.
I believe the confusion here comes from the way some popular NE algorithms compute the embeddings. For instance, methods base on matrix factorization directly take the train graph you give as input, compute the adjacency matrix, factorize it and return the node embeddings. Other methods e.g. Deepwalk, Node2vec or LINE have a special way of learning embeddings (Skip-gram from work embedding literature) and require "negative sampling" in the embedding learning process itself. These methods will select, from that train graph you give them, a set of non-edges or paths of non-connected edges to learn which node vectors should be put close together and which should be far. The NE methods will select these samples of non-edges themselves and in different ways, so the user generally doesn't have any control over it.
I hope this clarifies your question,
Alex
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/Dru-Mara/EvalNE/issues/6?email_source=notifications&email_token=ABWOWSN3LXW5FPS23ANOR63QUOUVTA5CNFSM4JO7LFN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEENNJGI#issuecomment-555406489, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABWOWSID7R3RWSRFTVUFHFTQUOUVTANCNFSM4JO7LFNQ.

Many thanks for both answers. However, @jlijffijt pointed out:

So, the predictions are made from the model (for example logistic regression which is in turn based on a network embedding), which is learned on the training data.

So, just to clarify: edge representations (e.g., using Hadamard operator) in an evaluation phase are constructed from learned embeddings in the training phase?
Thanks again.
Best, Andrej

Yes, from the train network the NE method will generate a set of node embeddings and those are used to compute the edge embeddings of both train and test edges.
Alex


Textarea

Textarea
Use this issue to discuss the Textarea component.
Preview the textarea component
Find out more about the textarea component and when to use it in the NHS Digital service manual.
See our contributing guidelines

Closing these individual placeholder issues.
Please use the NHS digital service manual backlog to discuss the usage of this component. If you're having trouble with the code, or have found a bug, please raise an issue on the NHS.UK frontend backlog


[ListItem] Tries to modify the style attribute of its children even when it's a string (Invariant violation)

Problem Description
Using react-intl, a <FormattedNumber> can have a style string attribute that corresponds to the formatting style of the number, not its CSS style.
Consider the following snippet:
const value = <FormattedNumber value={42} style="currency" currency="EUR" />
const <ListItem primaryText={value} />

The problem is that MUI tries to alter this style attribute even if it's not a style object, which transforms it into the [object Object] string before react-intl can read it, this making the latter fail at formatting the number, showing an error on the way:

[React Intl] Error formatting number.
RangeError: Value [object Object] out of range for numberformat options property style

One solution could be to check the type of the style attribute and alter it only if it's an object.
Versions

Material-UI: 0.15.0-alpha.2 (in 0.14.3, MUI even failed to set the style)
React: 0.14.7
Browser: Chrome 49 OSX

Here: https://github.com/callemall/material-ui/blob/ad68c67412c852ca9a0117f473d0c009d10849ff/src/List/ListItem.js#L428

We have been porting the component on the next branch. We reimplemented it from the ground-up. While we haven't tested it, I think that the issue is most likely fixed on that branch. Hence, I'm closing it.


[Request] Structural editing

Hello! I'm really enjoying this project and depend on it for all my kotlin dev. However, I am increasingly missing the structural editing slurp and barf keys from spacemacs.
I was looking around the intellij plugin ecosystem and it looks like the Cursive is the best bet there -- but structural editing is just a small part of that plugin being for clojure language support, which seems like more than I want. And I'm not sure how to map the keys to my preferred spacemacs bindings.
Is there any chance of this possibly eventually making it into intellimacs, or is that beyond the scope of this project? Thanks!

Hi tapegram! First of all, thanks for your kind words.
I don't use this feature and I don't have time to work on it.
If you want you can develop this feature by yourself by adding source path/to/structural_editing.vim to your .ideavimrc.
After that, you can submit a Pull Request and we merge your effort if you want :+1:

I have this config so far:
" Base configurations
source ~/.intellimacs/spacemacs.vim
source ~/.intellimacs/extra.vim
source ~/.intellimacs/major.vim
source ~/.intellimacs/hybrid.vim
source ~/.intellimacs/which-key.vim

" ============================================================================
" Plugin Configuration
" ============================================================================
set preservim/nerdtree
set easymotion
set NERDTree
set surround
set multiple-cursors
set commentary
set argtextobj.vim
set textobj-entire
set ReplaceWithRegister
set exchange
set highlightedyank
set paragraph-motion
set indent-object
set match.it

" ============================================================================
" Editor Settings
" ============================================================================
nnoremap Y y$
set clipboard=unnamedplus
set visualbell
set fillchars=eol:~
set laststatus=2
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set number
set rnu
set showcmd
set cursorline
set surround
filetype indent on
set wildmenu
set showmatch
set timeoutlen=500
set so=5
set backspace=2
set incsearch
set hlsearch
set ignorecase
set smartcase
set hidden

" ============================================================================
" Basic Mappings
" ============================================================================
" Comma for major mode
nmap , <leader>m
vmap , <leader>m

" Tab navigation
let g:WhichKeyDesc_Tabs = "<C-{j,k}> tabs"
nnoremap <C-k> :action PreviousTab<CR>
nnoremap <C-j> :action NextTab<CR>

" ============================================================================
" Ace Jump
" ============================================================================
let g:WhichKeyDesc_AceJump = "f ace-jump"
let g:WhichKeyDesc_AceJumpWord = "F ace-jump-word"
let g:WhichKeyDesc_AceJumpLine = "R ace-jump-line"
map f :action AceAction<CR>
map F :action AceTargetAction<CR>
map R :action AceLineAction<CR>

" ============================================================================
" NERDTree
" ============================================================================
let g:WhichKeyDesc_NERDTree = "<M-n> toggle-tree"
map <M-n> :NERDTreeToggle<CR>

" ============================================================================
" Git
" ============================================================================
let g:WhichKeyDesc_Git_Log = "<leader>gl git-log"
nnoremap <leader>gl    :action Vcs.Show.Log<CR>
vnoremap <leader>gl    <Esc>:action Vcs.Show.Log<CR>
" ============================================================================
" Major Mode (Clojure/Cursive) WhichKey Descriptions
" ============================================================================

" Top-level menus
let g:WhichKeyDesc_Major = "<leader>m +major-mode"

" --- Evaluation ---
let g:WhichKeyDesc_Major_Eval = "<leader>me +eval"
let g:WhichKeyDesc_Major_Eval_LastSexp = "<leader>mee eval-last-sexp"
let g:WhichKeyDesc_Major_Eval_Form = "<leader>mef eval-current-form"
let g:WhichKeyDesc_Major_Eval_Buffer = "<leader>meb eval-buffer"
let g:WhichKeyDesc_Major_Eval_NS = "<leader>men eval-ns"
let g:WhichKeyDesc_Major_Eval_TopLevel = "<leader>mep eval-top-level"
let g:WhichKeyDesc_Major_Eval_LastExp = "<leader>me$ eval-last-exp"

" --- REPL Management ---
let g:WhichKeyDesc_Major_REPL = "<leader>ms +repl"
let g:WhichKeyDesc_Major_REPL_Clear = "<leader>msc clear-repl"
let g:WhichKeyDesc_Major_REPL_Quit = "<leader>msq quit-repl"
let g:WhichKeyDesc_Major_REPL_SwitchNS = "<leader>msr switch-namespace"
let g:WhichKeyDesc_Major_REPL_Switch = "<leader>mss switch-to-repl"
let g:WhichKeyDesc_Major_REPL_Macroexpand = "<leader>msm macroexpand"
let g:WhichKeyDesc_Major_REPL_History = "<leader>msh history"

" --- Testing ---
let g:WhichKeyDesc_Major_Test = "<leader>mt +test"
let g:WhichKeyDesc_Major_Test_All = "<leader>mta test-ns"
let g:WhichKeyDesc_Major_Test_Single = "<leader>mtt test-current"
let g:WhichKeyDesc_Major_Test_Rerun = "<leader>mtr rerun-test"

" --- Settings ---
let g:WhichKeyDesc_Major_Settings = "<leader>mR +settings"
let g:WhichKeyDesc_Major_Settings_AutoScroll = "<leader>mRa toggle-auto-scroll"
let g:WhichKeyDesc_Major_Settings_Locals = "<leader>mRl toggle-locals"
let g:WhichKeyDesc_Major_Settings_Type = "<leader>mRt toggle-repl-type"
let g:WhichKeyDesc_Major_Settings_Wrap = "<leader>mRw toggle-soft-wrap"

" --- Structural Editing ---
let g:WhichKeyDesc_Major_Structural = "<leader>mk +structural"
let g:WhichKeyDesc_Structural = "<leader>k +structural"

" Navigation
let g:WhichKeyDesc_Structural_Forward = "<leader>kj next-sexp"
let g:WhichKeyDesc_Structural_Backward = "<leader>kk prev-sexp"
let g:WhichKeyDesc_Structural_ForwardDown = "<leader>kl forward-down"
let g:WhichKeyDesc_Structural_BackwardUp = "<leader>kh backward-up"
let g:WhichKeyDesc_Structural_ForwardEnd = "<leader>k$ end-of-sexp"
let g:WhichKeyDesc_Structural_BackwardStart = "<leader>k0 start-of-sexp"
let g:WhichKeyDesc_Structural_Up = "<leader>kU up-sexp"

" Manipulation
let g:WhichKeyDesc_Structural_Slurp = "<leader>ks slurp-forward"
let g:WhichKeyDesc_Structural_SlurpBack = "<leader>kS slurp-backward"
let g:WhichKeyDesc_Structural_Barf = "<leader>kb barf-forward"
let g:WhichKeyDesc_Structural_BarfBack = "<leader>kB barf-backward"
let g:WhichKeyDesc_Structural_Splice = "<leader>kw splice"
let g:WhichKeyDesc_Structural_SpliceKillForward = "<leader>ke splice-killing-forward"
let g:WhichKeyDesc_Structural_SpliceKillBackward = "<leader>kE splice-killing-backward"
let g:WhichKeyDesc_Structural_Join = "<leader>kJ join"
let g:WhichKeyDesc_Structural_Raise = "<leader>kr raise"

" Threading
let g:WhichKeyDesc_Structural_Thread = "<leader>k> thread-first"
let g:WhichKeyDesc_Structural_Unthread = "<leader>k< thread-last"

" Wrapping
let g:WhichKeyDesc_Structural_WrapRound = "<leader>k( wrap-round"
let g:WhichKeyDesc_Structural_WrapSquare = "<leader>k[ wrap-square"
let g:WhichKeyDesc_Structural_WrapCurly = "<leader>k{ wrap-curly"
let g:WhichKeyDesc_Structural_WrapQuote = "<leader>k\" wrap-quotes"

" ============================================================================
" Major Mode (Clojure/Cursive) Mappings
" ============================================================================

" --- Evaluation ---
nnoremap <leader>mee :action :cursive.repl.actions/eval-last-sexp<CR>
vnoremap <leader>mee <Esc>:action :cursive.repl.actions/eval-last-sexp<CR>

nnoremap <leader>mef :action :cursive.repl.actions/eval-current-form<CR>
vnoremap <leader>mef <Esc>:action :cursive.repl.actions/eval-current-form<CR>

nnoremap <leader>meb :action :cursive.repl.actions/load-file<CR>
vnoremap <leader>meb <Esc>:action :cursive.repl.actions/load-file<CR>

nnoremap <leader>men :action :cursive.repl.actions/eval-ns-form<CR>
vnoremap <leader>men <Esc>:action :cursive.repl.actions/eval-ns-form<CR>

nnoremap <leader>mep :action :cursive.repl.actions/run-top-sexp<CR>
vnoremap <leader>mep <Esc>:action :cursive.repl.actions/run-top-sexp<CR>

nnoremap <leader>me$ :action :cursive.repl.actions/run-last-sexp<CR>
vnoremap <leader>me$ <Esc>:action :cursive.repl.actions/run-last-sexp<CR>

" --- REPL Management ---
nnoremap <leader>msc :action :cursive.repl.actions/clear-repl<CR>
vnoremap <leader>msc <Esc>:action :cursive.repl.actions/clear-repl<CR>

nnoremap <leader>msq :action :cursive.repl.actions/close<CR>
vnoremap <leader>msq <Esc>:action :cursive.repl.actions/close<CR>

nnoremap <leader>msr :action :cursive.repl.actions/switch-namespace<CR>
vnoremap <leader>msr <Esc>:action :cursive.repl.actions/switch-namespace<CR>

nnoremap <leader>mss :action :cursive.repl.actions/jump-to-repl<CR>
vnoremap <leader>mss <Esc>:action :cursive.repl.actions/jump-to-repl<CR>

nnoremap <leader>msm :action :cursive.repl.actions/macroexpansion<CR>
vnoremap <leader>msm <Esc>:action :cursive.repl.actions/macroexpansion<CR>

nnoremap <leader>msh :action :cursive.repl.actions/search-history<CR>
vnoremap <leader>msh <Esc>:action :cursive.repl.actions/search-history<CR>

" --- Testing ---
nnoremap <leader>mta :action :cursive.testing.actions/run-ns-tests<CR>
vnoremap <leader>mta <Esc>:action :cursive.testing.actions/run-ns-tests<CR>

nnoremap <leader>mtt :action :cursive.testing.actions/run-single-test<CR>
vnoremap <leader>mtt <Esc>:action :cursive.testing.actions/run-single-test<CR>

nnoremap <leader>mtr :action :cursive.testing.actions/rerun-last-test<CR>
vnoremap <leader>mtr <Esc>:action :cursive.testing.actions/rerun-last-test<CR>

" --- Structural Editing (both SPC k and SPC m k) ---
" Navigation
nnoremap <leader>kj :action :cursive.actions.paredit/forward<CR>
vnoremap <leader>kj <Esc>:action :cursive.actions.paredit/forward<CR>
nnoremap <leader>mkj :action :cursive.actions.paredit/forward<CR>
vnoremap <leader>mkj <Esc>:action :cursive.actions.paredit/forward<CR>

nnoremap <leader>kk :action :cursive.actions.paredit/backward<CR>
vnoremap <leader>kk <Esc>:action :cursive.actions.paredit/backward<CR>
nnoremap <leader>mkk :action :cursive.actions.paredit/backward<CR>
vnoremap <leader>mkk <Esc>:action :cursive.actions.paredit/backward<CR>

nnoremap <leader>kl :action :cursive.actions.paredit/forward-down<CR>
vnoremap <leader>kl <Esc>:action :cursive.actions.paredit/forward-down<CR>
nnoremap <leader>mkl :action :cursive.actions.paredit/forward-down<CR>
vnoremap <leader>mkl <Esc>:action :cursive.actions.paredit/forward-down<CR>

nnoremap <leader>kh :action :cursive.actions.paredit/backward-up<CR>
vnoremap <leader>kh <Esc>:action :cursive.actions.paredit/backward-up<CR>
nnoremap <leader>mkh :action :cursive.actions.paredit/backward-up<CR>
vnoremap <leader>mkh <Esc>:action :cursive.actions.paredit/backward-up<CR>

" Slurp & Barf
nnoremap <leader>ks :action :cursive.actions.paredit/slurp-forwards<CR>
vnoremap <leader>ks <Esc>:action :cursive.actions.paredit/slurp-forwards<CR>
nnoremap <leader>mks :action :cursive.actions.paredit/slurp-forwards<CR>
vnoremap <leader>mks <Esc>:action :cursive.actions.paredit/slurp-forwards<CR>

nnoremap <leader>kS :action :cursive.actions.paredit/slurp-backwards<CR>
vnoremap <leader>kS <Esc>:action :cursive.actions.paredit/slurp-backwards<CR>
nnoremap <leader>mkS :action :cursive.actions.paredit/slurp-backwards<CR>
vnoremap <leader>mkS <Esc>:action :cursive.actions.paredit/slurp-backwards<CR>

nnoremap <leader>kb :action :cursive.actions.paredit/barf-forwards<CR>
vnoremap <leader>kb <Esc>:action :cursive.actions.paredit/barf-forwards<CR>
nnoremap <leader>mkb :action :cursive.actions.paredit/barf-forwards<CR>
vnoremap <leader>mkb <Esc>:action :cursive.actions.paredit/barf-forwards<CR>

nnoremap <leader>kB :action :cursive.actions.paredit/barf-backwards<CR>
vnoremap <leader>kB <Esc>:action :cursive.actions.paredit/barf-backwards<CR>
nnoremap <leader>mkB :action :cursive.actions.paredit/barf-backwards<CR>
vnoremap <leader>mkB <Esc>:action :cursive.actions.paredit/barf-backwards<CR>

" Splice & Raise
nnoremap <leader>kw :action :cursive.actions.paredit/splice<CR>
vnoremap <leader>kw <Esc>:action :cursive.actions.paredit/splice<CR>
nnoremap <leader>mkw :action :cursive.actions.paredit/splice<CR>
vnoremap <leader>mkw <Esc>:action :cursive.actions.paredit/splice<CR>

nnoremap <leader>kr :action :cursive.actions.paredit/raise<CR>
vnoremap <leader>kr <Esc>:action :cursive.actions.paredit/raise<CR>
nnoremap <leader>mkr :action :cursive.actions.paredit/raise<CR>
vnoremap <leader>mkr <Esc>:action :cursive.actions.paredit/raise<CR>

" Thread/Unthread
nnoremap <leader>k> :action :cursive.actions.paredit/thread-form<CR>
vnoremap <leader>k> <Esc>:action :cursive.actions.paredit/thread-form<CR>
nnoremap <leader>mk> :action :cursive.actions.paredit/thread-form<CR>
vnoremap <leader>mk> <Esc>:action :cursive.actions.paredit/thread-form<CR>

nnoremap <leader>k< :action :cursive.actions.paredit/unthread-form<CR>
vnoremap <leader>k< <Esc>:action :cursive.actions.paredit/unthread-form<CR>
nnoremap <leader>mk< :action :cursive.actions.paredit/unthread-form<CR>
vnoremap <leader>mk< <Esc>:action :cursive.actions.paredit/unthread-form<CR>

" Wrapping
nnoremap <leader>k( :action :cursive.actions.paredit/wrap-paren<CR>
vnoremap <leader>k( <Esc>:action :cursive.actions.paredit/wrap-paren<CR>
nnoremap <leader>mk( :action :cursive.actions.paredit/wrap-paren<CR>
vnoremap <leader>mk( <Esc>:action :cursive.actions.paredit/wrap-paren<CR>

nnoremap <leader>k[ :action :cursive.actions.paredit/wrap-square<CR>
vnoremap <leader>k[ <Esc>:action :cursive.actions.paredit/wrap-square<CR>
nnoremap <leader>mk[ :action :cursive.actions.paredit/wrap-square<CR>
vnoremap <leader>mk[ <Esc>:action :cursive.actions.paredit/wrap-square<CR>

nnoremap <leader>k{ :action :cursive.actions.paredit/wrap-curly<CR>
vnoremap <leader>k{ <Esc>:action :cursive.actions.paredit/wrap-curly<CR>
nnoremap <leader>mk{ :action :cursive.actions.paredit/wrap-curly<CR>
vnoremap <leader>mk{ <Esc>:action :cursive.actions.paredit/wrap-curly<CR>
nnoremap <leader>mk" :action :cursive.actions.paredit/wrap-quotes<CR>
vnoremap <leader>mk" <Esc>:action :cursive.actions.paredit/wrap-quotes<CR>

" Kill/Delete Commands
nnoremap <leader>kdx :action :cursive.actions.paredit/kill-sexp<CR>
vnoremap <leader>kdx <Esc>:action :cursive.actions.paredit/kill-sexp<CR>
nnoremap <leader>mkdx :action :cursive.actions.paredit/kill-sexp<CR>
vnoremap <leader>mkdx <Esc>:action :cursive.actions.paredit/kill-sexp<CR>

nnoremap <leader>ke :action :cursive.actions.paredit/splice-killing-forwards<CR>
vnoremap <leader>ke <Esc>:action :cursive.actions.paredit/splice-killing-forwards<CR>
nnoremap <leader>mke :action :cursive.actions.paredit/splice-killing-forwards<CR>
vnoremap <leader>mke <Esc>:action :cursive.actions.paredit/splice-killing-forwards<CR>

nnoremap <leader>kE :action :cursive.actions.paredit/splice-killing-backwards<CR>
vnoremap <leader>kE <Esc>:action :cursive.actions.paredit/splice-killing-backwards<CR>
nnoremap <leader>mkE :action :cursive.actions.paredit/splice-killing-backwards<CR>
vnoremap <leader>mkE <Esc>:action :cursive.actions.paredit/splice-killing-backwards<CR>

" Join & Split
nnoremap <leader>kJ :action :cursive.actions.paredit/join<CR>
vnoremap <leader>kJ <Esc>:action :cursive.actions.paredit/join<CR>
nnoremap <leader>mkJ :action :cursive.actions.paredit/join<CR>
vnoremap <leader>mkJ <Esc>:action :cursive.actions.paredit/join<CR>

" Additional Paredit Commands
nnoremap <leader>kc :action :cursive.actions.paredit/cycle-collection-type<CR>
vnoremap <leader>kc <Esc>:action :cursive.actions.paredit/cycle-collection-type<CR>
nnoremap <leader>mkc :action :cursive.actions.paredit/cycle-collection-type<CR>
vnoremap <leader>mkc <Esc>:action :cursive.actions.paredit/cycle-collection-type<CR>

" Settings
nnoremap <leader>mRa :action :cursive.repl.actions/toggle-auto-scroll<CR>
vnoremap <leader>mRa <Esc>:action :cursive.repl.actions/toggle-auto-scroll<CR>

nnoremap <leader>mRl :action :cursive.repl.actions/toggle-locals-clearing<CR>
vnoremap <leader>mRl <Esc>:action :cursive.repl.actions/toggle-locals-clearing<CR>

nnoremap <leader>mRt :action :cursive.repl.actions/toggle-repl-editor-type<CR>
vnoremap <leader>mRt <Esc>:action :cursive.repl.actions/toggle-repl-editor-type<CR>

nnoremap <leader>mRw :action :cursive.repl.actions/toggle-soft-wrap<CR>
vnoremap <leader>mRw <Esc>:action :cursive.repl.actions/toggle-soft-wrap<CR>


Feature: sizeheader

Hi all, we're using your cool utility for part of our project. We reverse proxy websocket connections into a unix domain socket and pick up the IP from the child process's cgi variables. However we ran into an issue ensuring websocket frames are always the correct size for our payload regardless of how we write our data into the pipe.
So I've added --sizeheader feature which adds/requires a 4 byte big endian size header to data flowing to and from the process.
Thought someone might be interested in adding it as a feature in the main codebase.
I won't make a pull request as I'm not much of a go programmer, you guys can probably implement it better, but you can check out the implementation on my fork: https://github.com/codetsunami/websocketd

Richard, this is good Golang code btw. If feature is needed I would not be against PR like that... I just want to discuss a feature and it's place in core of the server (vs in endpoints).
Imagine you don't have your solution yet... Here is what I think you got:

some program that websocketd runs
modified websocketd
other endpoint (which I'm not clear yet if it's browser application or no)

Your application could not send "text" so it needs the way to frame as RLE strings.
First thought I had was to rather use --binary mode https://github.com/joewalnes/websocketd/issues/38  and make your app and consumer to understand length.
Do you feel that would've solved your problem back in the day or you tried that and it did not work?
p.s.
websocketd is licensed to add your own code as you see fit so even if I think feature is better suited for client your approach is totally valid.

Hi Alex, thanks for the response.
We actually have two usecases, both will use this feature. Here's a little diagram.
browser <--[text ws]--> websocketd <--[unix domain socket] (SH encoding here)--> app
app <-- [binary ws] --> websocketd <--[unix domain socket] (SH encoding here)--> app

The feature only affects the communication between websocketd and the application websocketd spawns.
You are correct of course that we could just send the length as part of an application layer protocol, however it does seem redundant since the websocket frame already contains a length, and further it means more overhead for anyone trying to interact with the service. I think of the feature as a 'forwarding' of the length header from the websocket frame, much the same as you forward the connecting IP via a CGI variable.
Anyway happy to keep our own modified version but thought I'd share.
Our target application is here btw in case you're curious: https://github.com/HotPocketDev/core

I'd like to keep this open for a bit to see if someone wants to comment about needing this feature for their situation.

Here are my thoughts on this feature:
I think that cleanly and portably implementing this feature is fundamentally intractable.  There are, of course, multiple ways you could try to recover the message boundary information, such as:

Embedding message length in the i/o stream itself (as suggested by this issue)

Using some external IPC mechanism for communicating message lengths between websocketd and the CGI application, with the appropriate synchronization primitives to keep it in lockstep with the i/o stream

But while those solutions could work, and might even be considered 'good enough' for most use cases, they don't solve the underlying problem so much as they just shift the responsibility of multiplexing/demultiplexing the WebSocket messages to the application code, which constitutes a nontrivial amount of boilerplate that really should be websocketd's job to handle anyways.
That said, there is a cleaner solution that can be implemented from within websocketd itself, albeit not portable. From Linux 3.4 onwards, when a pipe is created with the pipe2 syscall, it can be set to 'packet mode' by setting the O_DIRECT flag. Packet mode will more or less preserve message boundaries between read and write operations on the pipe, with some caveats that the CGI application will have to be aware of (but addressing those caveats is likely much preferable to manually multiplexing/demultiplexing the WebSocket messages). Go's exec package does not seem to provide that much fine-grained control over subprocess creation, so if you want to take advantage of this feature, you'll have to use the syscall package to manually create the pipe with O_DIRECT and hook the ends up to websocketd and the CGI subprocess.

That said, there is a cleaner solution that can be implemented from within websocketd itself, albeit not portable. From Linux 3.4 onwards, when a pipe is created with the pipe2 syscall, it can be set to 'packet mode' by setting the O_DIRECT flag. Packet mode will more or less preserve message boundaries between read and write calls on the pipe descriptors, with some caveats that the CGI application will have to be aware of (but addressing those caveats is likely much preferable to manually multiplexing/demultiplexing the WebSocket messages). Go's exec package does not seem to provide that much fine-grained control over subprocess creation, so if you want to take advantage of this feature, you'll have to use the syscall package to manually create the pipe with O_DIRECT and hook the ends up to websocketd itself and the CGI subprocess.

That's cool, I didn't know that. We might try it and see if it suits our requirements.


Using the build script to make a debug build fails in making an ASM object for shaders.

Describe the bug
Using the build script to make a debug build fails in making an ASM object for shaders.
To Reproduce
./build.sh -c debug
Bash Info
ubuntu@ubuntu:~/Documents/GitHub Projects/googlefilament/filament$ ./build.sh -c debug
Warning: JAVA_HOME is not set, skipping Java projects
Cleaning build directories...
Building debug in out/cmake-debug...
-- The C compiler identification is Clang 7.0.0
-- The CXX compiler identification is Clang 7.0.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Embree not found, pipeline features are disabled.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- The ASM compiler identification is Clang
-- Found assembler: /usr/bin/cc
-- DFG LUT size set to 128x128
-- Found PythonInterp: /usr/bin/python (found version "2.7.17")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug
[776/1124] Linking C shared library third_party/libsdl2/tnt/libsdl2.so
clang: warning: argument unused during compilation: '-static-libstdc++' [-Wunused-command-line-argument]
[829/1124] Generating matdbg_resources.bin, matdbg_resources.S, matdbg_resources.apple.S, matdbg_resources.h
Generated files: /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/libs/matdbg/matdbg_resources.h /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/libs/matdbg/matdbg_resources.S /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/libs/matdbg/matdbg_resources.apple.S /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/libs/matdbg/matdbg_resources.bin
[830/1124] Aggregating shaders
Generated files: /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/shaders/generated/shaders.h /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/shaders/generated/shaders.S /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/shaders/generated/shaders.apple.S /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/shaders/generated/shaders.bin
[832/1124] Building ASM object shaders/CMakeFiles/shaders.dir/generated/shaders.S.o
FAILED: shaders/CMakeFiles/shaders.dir/generated/shaders.S.o
/usr/bin/cc -DFILAMENT_DRIVER_SUPPORTS_VULKAN -Ishaders -g   -I/home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/shaders/generated -MD -MT shaders/CMakeFiles/shaders.dir/generated/shaders.S.o -MF shaders/CMakeFiles/shaders.dir/generated/shaders.S.o.d -o shaders/CMakeFiles/shaders.dir/generated/shaders.S.o -c shaders/generated/shaders.S
clang: error: no such file or directory: 'Projects/googlefilament/filament/out/cmake-debug/shaders/generated'
[837/1124] Generating generated/texture/ao.ktx
Reading image...
Generating miplevels...
Writing KTX file to disk...
[838/1124] Generating generated/texture/roughness.ktx
Reading image...
Generating miplevels...
Writing KTX file to disk...
[839/1124] Generating generated/texture/metallic.ktx
Reading image...
Generating miplevels...
Writing KTX file to disk...
[840/1124] Generating generated/texture/albedo_s3tc.ktx
Reading image...
Generating miplevels...
Writing KTX file to disk...
[841/1124] Generating venetian_crossroads_2k/venetian_crossroads_2k_skybox.ktx, venetian_crossroads_2k/venetian_crossroads_2k_ibl.ktx
ninja: build stopped: subcommand failed.
Desktop
ubuntu@ubuntu:/usr$ uname -a
Linux ubuntu 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Additional context
I am trying to make a debug build and try the app in the samples folder.

Looks like spaces are not properly handled in a path: clang: error: no such file or directory: 'Projects/googlefilament/filament/out/cmake-debug/shaders/generated'
It should be /home/ubuntu/Documents/GitHub Projects/googlefilament/filament/out/cmake-debug/shaders/generated.
@AlexanderPattison As a workaround, build from a directory without spaces in its path.
@prideout Can you check if it's an issue on our side? It seems to be a CMake problem.

Yes, the issue was a space in the path, on my side. Thanks, it is working.


Update Set-CalendarProcessing.md

Issue #8158

Docs Build status updates of commit 0685a58:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Set-CalendarProcessing.md
:white_check_mark:Succeeded
View (exchange-ps)

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


Gradle 5.6.2

Gradle 5.6.2 is available.
This is sent by @gradleupdate. See https://gradleupdate.appspot.com/reflectoring/coderadar/status for more.

Gradle Version is already 5.6.2


Suggestion for generalizing this model to other 7-DoF robotic arms

Have you tried using this model on other manipulators?

There are two important questions here: 1) how to generalize this to another single manipulator (e.g. a UR-10) and 2) how to make this generalize to many manipulators using the same weights.
The easiest way to do the first one would be to generate new expert data. This would be some work but not impossible (you would need to adapt some of the tooling I've set up to work with your new robot, as well as set up the Geometric Fabrics). Tuning the Geometric Fabrics would likely be the most time-consuming part.
I have some half-formed thoughts on how to address (1) or (2) as research projects, but those directions are very open-ended and would go beyond the scope of this repo. If you're interested in exploring either one of those, I'd be happy to chat. Feel free to write me an email and we can discuss (my email is on my webpage: fishbotics.com).


I have changed the code of dialogs.

The Dialogs are now included in the JDK8u40 and later. I have deleted the link to the old library and changed the code.

Thanks for the changes, I've published them. Could you check if it's ok now?

I have checked, now it's ok.


fix: leave prod hostnames with dashes alone

Fix #61

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


adding bam info

Please merge from master to get the doc fixes

Hi @bam241, this now how as conflict with master

it  does make sense... sorry about this.
@scopatz it should be fixed now.


🌱 Remove stale konflux configration files

Summary
Related issue(s)
Fixes #

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

Project coverage is 80.88%. Comparing base (6160e6a) to head (5f1c500).

Additional details and impacted files
@@              Coverage Diff               @@
##           backplane-2.5      #61   +/-   ##
==============================================
  Coverage          80.88%   80.88%
==============================================
  Files                  5        5
  Lines                429      429
==============================================
  Hits                 347      347
  Misses                63       63
  Partials              19       19

Flag
Coverage Δ

unit
80.88% <ø> (ø)

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

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

/assign @Kyl-Bempah

/assign @elgnay

/lgtm


Error during startup

[23:22:37 ERROR]: Error occurred while enabling 2FA v1.4.2 (Is it up to date?)
java.lang.NoSuchMethodError: com.zaxxer.hikari.HikariDataSource.setKeepaliveTime(J)V
        at com.lielamar.auth.shared.storage.sql.SQLStorage.setupHikari(SQLStorage.java:60) ~[?:?]
        at com.lielamar.auth.shared.storage.sql.SQLStorage.<init>(SQLStorage.java:48) ~[?:?]
        at com.lielamar.auth.shared.storage.StorageHandler.loadStorageHandler(StorageHandler.java:93) ~[?:?]
        at com.lielamar.auth.bukkit.TwoFactorAuthentication.setupAuth(TwoFactorAuthentication.java:64) ~[?:?]
        at com.lielamar.auth.bukkit.TwoFactorAuthentication.onEnable(TwoFactorAuthentication.java:39) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]

Happens on both lobby and arcade servers, but on the lobby server the 2fa command works, and on the arcade warns:
[23:22:48 WARN]: Unexpected exception while parsing console command "2fa"
org.bukkit.command.CommandException: Cannot execute command '2fa' in plugin 2FA v1.4.2 - plugin is disabled.
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:36) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:152) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:648) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java:463) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:424) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]

My config:
https://hastebin.com/bedujareqa.yaml

Maybe I need to delete "lib/" directory?

Any chance you're using Java 16 with versions before 1.16.5?

Any chance you're using Java 16 with versions before 1.16.5?

No, I'm definiteli using Java 8 with PaperSpigot 1.12.2

Alright. Deleting the /libs/ folder shouldn't really change anything but you can try that.
I will, however, try to replicate the error and see if I can find anything.
If you get any other info you think might be useful let me know! :)

Alright. Deleting the /libs/ folder shouldn't really change anything but you can try that.
I will, however, try to replicate the error and see if I can find anything.
If you get any other info you think might be useful let me know! :)

My plugins:

Arcade — 2FA (red, not enabled), AncientGates, BetterChairs, BKCommonLib, BungeeGuard, Chatty, Citizens, CraftEnhance, Essentials, EssentialsSpawn, IPWhitelist, IRandomTeleport, LuckPerms, Maplands, MineResetLite, MoneyNote, NametagEdit, Panilla, PlaceholderAPI, ProtocolLib, ReActions, SkinsRestorer, SmoothSleep, Vault, WorldEdit, WorldGuard
Lobby — 2FA (green, enabled), AncientGates, BungeeGuard, HolographicDisplays, HubBasics, IPWhitelist, LuckPerms, Panilla, PlaceholderAPI, SkinsRestore
Waterfall proxy (BungeeCord fork) — 2FA, BungeeGuard, BungeeKick, HubBasics-Bungee, LuckPerms-Bungee, SkinsRestorer

Alright. Deleting the /libs/ folder shouldn't really change anything but you can try that.
I will, however, try to replicate the error and see if I can find anything.
If you get any other info you think might be useful let me know! :)
Now the error occurs only on the arcade server, on the lobby it has disappeared (I didn't touch anything)

If you get any other info you think might be useful let me know! :)

The error doesn't occur on the server, if it is the only plugin! I think it's some kind of incompatibility with another plugin, now I'll look for which one

That's really helpful!
I think I might know what's causing the problem.
I will only be able to start working on it tomorrow, but shouldn't take that much time.
If you can narrow it down and find the complicating plugin it'd confirm/deny my suspension, but if it's too much of a bother it shouldn't be necessary :)

That's really helpful!
I think I might know what's causing the problem.
I will only be able to start working on it tomorrow, but shouldn't take that much time.
If you can narrow it down and find the complicating plugin it'd confirm/deny my suspension, but if it's too much of a bother it shouldn't be necessary :)

Yes, I found out! The reason was the LuckPerms plugin! I checked, it doesn't matter if it has H2, YAML or MariaDB storage - together they crash the server

That's really helpful!
I think I might know what's causing the problem.
I will only be able to start working on it tomorrow, but shouldn't take that much time.
If you can narrow it down and find the complicating plugin it'd confirm/deny my suspension, but if it's too much of a bother it shouldn't be necessary :)

Yes, I found out! The reason was the LuckPerms plugin! I checked, it doesn't matter if it has H2, YAML or MariaDB storage (even though I thought there was a semblance of a data base access race, I hedged and checked other storage methods) — together they crash the server

just as I thought :)
LuckPerms is using a similar way of loading dependencies, and I guess the overlap.
I can solve it as soon as I get back home :)

That's really helpful!
I think I might know what's causing the problem.
I will only be able to start working on it tomorrow, but shouldn't take that much time.
If you can narrow it down and find the complicating plugin it'd confirm/deny my suspension, but if it's too much of a bother it shouldn't be necessary :)

Yes, I found out! The reason was the LuckPerms plugin! I checked, it doesn't matter if it has H2, YAML or MariaDB storage (even though I thought there was a semblance of a data base access race, I hedged and checked other storage methods) — together they crash the server

just as I thought :)
LuckPerms is using a similar way of loading dependencies, and I guess the overlap.
I can solve it as soon as I get back home :)

Ok, but why this error does not appear on the lobby server, although there are also 2FA and LuckPerms, and the same configuration? Because there are fewer plugins?

That's really helpful!
I think I might know what's causing the problem.
I will only be able to start working on it tomorrow, but shouldn't take that much time.
If you can narrow it down and find the complicating plugin it'd confirm/deny my suspension, but if it's too much of a bother it shouldn't be necessary :)

Yes, I found out! The reason was the LuckPerms plugin! I checked, it doesn't matter if it has H2, YAML or MariaDB storage (even though I thought there was a semblance of a data base access race, I hedged and checked other storage methods) — together they crash the server

just as I thought :)
LuckPerms is using a similar way of loading dependencies, and I guess the overlap.
I can solve it as soon as I get back home :)

Ok, but why this error does not appear on the lobby server, although there are also 2FA and LuckPerms, and the same configuration? Because there are fewer plugins?

I have no idea 😅
maybe there's another plugin conflicting but I can put my finger on anything specific.

That's really helpful!
I think I might know what's causing the problem.
I will only be able to start working on it tomorrow, but shouldn't take that much time.
If you can narrow it down and find the complicating plugin it'd confirm/deny my suspension, but if it's too much of a bother it shouldn't be necessary :)

Yes, I found out! The reason was the LuckPerms plugin! I checked, it doesn't matter if it has H2, YAML or MariaDB storage (even though I thought there was a semblance of a data base access race, I hedged and checked other storage methods) — together they crash the server

just as I thought :)
LuckPerms is using a similar way of loading dependencies, and I guess the overlap.
I can solve it as soon as I get back home :)

Ok, but why this error does not appear on the lobby server, although there are also 2FA and LuckPerms, and the same configuration? Because there are fewer plugins?

I reduced the number of plugins on problematic server from 26 to 23, and the problem disappeared... I removed the longest loading plugins — EssentialsX, then I removed EssentialsXChat, MoneyNote, BKCommonLib and MapLands...
UPD: Now I have made a server ONLY with these plugins, and the problem doesn't appear - judging from this, the problem is only related to the number of plugins AND LuckPerms

Hey, would you be able to join my discord server so we can continue our conversation there, and test some potential fixes? :)

Ok
1 августа 2021 г. 15:22:15 GMT+06:00, Liel Amar @.***> пишет:

Hey, would you be able to join my discord server so we can continue our conversation there, and test some potential fixes? :)
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/LielAmar/2FA/issues/49#issuecomment-890483693

Hi,
Same issue here with Java 8 and Paper 1.8.8

[00:37:15] [Server thread/ERROR]: Error occurred while enabling 2FA v1.5.1 (Is it up to date?)
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at com.zaxxer.hikari.HikariConfig.(HikariConfig.java:51) ~[?:?]
at com.lielamar.auth.shared.storage.sql.SQLStorage.setupHikari(SQLStorage.java:57) ~[?:?]
at com.lielamar.auth.shared.storage.sql.SQLStorage.(SQLStorage.java:49) ~[?:?]
at com.lielamar.auth.shared.storage.StorageHandler.loadStorageHandler(StorageHandler.java:91) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.setupAuth(TwoFactorAuthentication.java:68) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.onEnable(TwoFactorAuthentication.java:37) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272]
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_272]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_272]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_272]
... 17 more

And same issue but not same dependencies with Java 11 et Paper 1.16.5

[00:44:25] [Server thread/ERROR]: Error occurred while enabling 2FA v1.5.1 (Is it up to date?)
java.lang.NoClassDefFoundError: com/zaxxer/hikari/HikariDataSource
at com.lielamar.auth.shared.storage.sql.SQLStorage.setupHikari(SQLStorage.java:57) ~[?:?]
at com.lielamar.auth.shared.storage.sql.SQLStorage.(SQLStorage.java:49) ~[?:?]
at com.lielamar.auth.shared.storage.StorageHandler.loadStorageHandler(StorageHandler.java:91) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.setupAuth(TwoFactorAuthentication.java:68) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.onEnable(TwoFactorAuthentication.java:37) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:501) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:415) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:580) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:280) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1055) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:289) ~[patched_1.16.5.jar:git-Paper-573]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.ClassNotFoundException: com.zaxxer.hikari.HikariDataSource
at java.net.URLClassLoader.findClass(URLClassLoader.java:471) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:182) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:111) ~[patched_1.16.5.jar:git-Paper-573]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
... 15 more

Hi,
Same issue here with Java 8 and Paper 1.8.8

[00:37:15] [Server thread/ERROR]: Error occurred while enabling 2FA v1.5.1 (Is it up to date?)
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at com.zaxxer.hikari.HikariConfig.(HikariConfig.java:51) ~[?:?]
at com.lielamar.auth.shared.storage.sql.SQLStorage.setupHikari(SQLStorage.java:57) ~[?:?]
at com.lielamar.auth.shared.storage.sql.SQLStorage.(SQLStorage.java:49) ~[?:?]
at com.lielamar.auth.shared.storage.StorageHandler.loadStorageHandler(StorageHandler.java:91) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.setupAuth(TwoFactorAuthentication.java:68) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.onEnable(TwoFactorAuthentication.java:37) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272]
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_272]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_272]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_272]
... 17 more

And same issue on other server but not same dependencies with Java 11 et Paper 1.16.5

[00:44:25] [Server thread/ERROR]: Error occurred while enabling 2FA v1.5.1 (Is it up to date?)
java.lang.NoClassDefFoundError: com/zaxxer/hikari/HikariDataSource
at com.lielamar.auth.shared.storage.sql.SQLStorage.setupHikari(SQLStorage.java:57) ~[?:?]
at com.lielamar.auth.shared.storage.sql.SQLStorage.(SQLStorage.java:49) ~[?:?]
at com.lielamar.auth.shared.storage.StorageHandler.loadStorageHandler(StorageHandler.java:91) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.setupAuth(TwoFactorAuthentication.java:68) ~[?:?]
at com.lielamar.auth.bukkit.TwoFactorAuthentication.onEnable(TwoFactorAuthentication.java:37) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:501) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:415) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:580) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:280) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1055) ~[patched_1.16.5.jar:git-Paper-573]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:289) ~[patched_1.16.5.jar:git-Paper-573]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.ClassNotFoundException: com.zaxxer.hikari.HikariDataSource
at java.net.URLClassLoader.findClass(URLClassLoader.java:471) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:182) ~[patched_1.16.5.jar:git-Paper-573]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:111) ~[patched_1.16.5.jar:git-Paper-573]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
... 15 more

What version of the plugin are you using? Can you provide the full log with everything that's been sent regarding 2FA?

All known problems in this issue were fixed on version 1.5.2 :)


Can we add a test to check if the 'videos'  attribute has the correct Type?
the compiler throws an error without it.

Can we add a test to check if the 'videos'  attribute has the correct Type?
the compiler throws an error without it.
Author: Daniel Taveras
Slide: Local,Public

Duplicate of #290


whats mean of problem_type ?

whats mean of problem_type ?
Does this select which columns to consider in the final creation? Or what does it mean?

Hi @limhasic
If you specify the problme_type, during the generation, it will checks the consistency between the generated features and generated label. So that later in the downstream tasks, it will enhance the performance for the synthetic data.
You can check the ctab-gan-plus code, it supports both classification and regression: https://github.com/Team-TUD/CTAB-GAN-Plus There are two ipython notebook demos.


Safety under cluster mode

Node has a cluster module for having multiple instances of an app share the same HTTP ports for example, to spread the load across multiple cores.
Is better-sqlite3 safe to use under that environment? Asking just to be sure, as sometimes there are problems with these things.

Make sure you're using WAL mode. If you've only got a couple processes and the database is <100Mb, you should be fine. Larger databases and 5+ processes with heavy write loads and I'd expect issues.

What kinds of issues? Like a corrupted database or what else exactly?

What kinds of issues? Like a corrupted database or what else exactly?

Performance issues. It's perfectly safe to access the same SQLite database from multiple processes, but performance may suffer if all processes are trying to write to the database at the same time.


Not authorised to perform action returns 400

When accessing a resource that is not permitted a 400 status code is returned. This suggests a incorrectly formatted request, the status code for an un-authorised request should instead be 403 Forbidden.
Further debugging suggests it could be from this line, as it is returning badRequest if no permissions are set.

Yes I'm seeing the same issue, needs to be a 403 response.


feat(validator): server side validation

create validation handler function for onSubmit

this one needs some refinement/investigation because it is not 100% clear to me
i got this idea from seeing a video
if you are willing to research a bit before starting, that's good. otherwise i can do the research part but i don't know when i will have time yet

Okay sure I will try to research on it!

Hey @ayoayco, well I tried to understand this one but I don't think I get it. 😭

No worries @Lalit3716 I hope you had fun anyway :)


error: [Channel.js]: Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]

while post http://localhost:5000/api/v1/asset  getting these errors
"error": "Unable to initialize channel. Attempted to contact 2 Peers. Last error was Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]"

Could you please suggest.
Thanks in advance
Sirish K

its working

Glad you found your way around it, however I advise you to use this code as
a reference only, since I don't have time to give proper maintenance to it.
On Sat, Aug 20, 2022 at 1:10 AM sirishkalidindi @.***>
wrote:

Closed #33
https://github.com/sindelio/hyperledger-fabric-traceability-framework/issues/33
as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/sindelio/hyperledger-fabric-traceability-framework/issues/33#event-7225781256,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AERJ743Q2XKBV7GBEJBMBLLV2BLETANCNFSM57AG335Q
.
You are receiving this because you are subscribed to this thread.Message
ID:
<sindelio/hyperledger-fabric-traceability-framework/issue/33/issue_event/7225781256
@github.com>


feat(snack-bar): inject/override custom animation for MatSnackBar

Feature Description
Hi guys!
Is it possible to override standard animation located here with custom one?
Use Case
I would like to tweak animation little bit and make it more look like spotify's one:

This isn't possible at the moment and it isn't likely to be added.


[CSL-2009] Remove wallet purescript bridge.

https://iohk.myjetbrains.com/youtrack/issue/CSL-2009
TBH, I removed this because I found that not being able to run stack ghci (globally) is annoying.
But it's something that needs to be done anyway.
This should make the CI faster as well.
Rebased onto feature/new-wallet.

Resuming the conversation with @ksaric and @akegalj : In general, I'm ok with removing the bridge, because exchanges are using the RESTful API directly and Daedalus has been ported over to use the JS API directly.
Said that, we should give @darko-mijic , @DominikGuzei and Nikola visibility on this PR as it might impact them and their workflow. If they give us green lights, and other peers are well informed (aka Devops etc) I don't see great problems in removing this one. This PR also comes in the form of a nice, self-contained commit which is dead-easy to revert anyway.

@adinapoli-iohk @ksaric before removing the bridge we should also remove all instructions that includes the bridge from all the repos: cardano-sl, daedalus, docs, install instructions such as https://github.com/input-output-hk/cardano-sl/issues/1993
Also we should update scripts in our repos to exclude the bridge (daedalus repo + maybe some devops scripts) as well

before removing the bridge we should also remove all instructions that includes the bridge from all the repos: cardano-sl, daedalus, docs, install instructions such as #1993

Also we should update scripts in our repos to exclude the bridge (daedalus repo + maybe some devops scripts) as well

Good call, looks like removing the code without updating the docs or the script would cause more harm than good.

before removing the bridge we should also remove all instructions that includes the bridge from all the repos: cardano-sl, daedalus, docs, install instructions such as #1993

@akegalj Should I remove notes about bridge from documentation right now?

Should I remove notes about bridge from documentation right now?

Yes, I believe we can

Ok, should I remove it as well? https://cardanodocs.com/technical/wallet-frontend/#wallet-frontend-api-usage-scenario. I read:

This is an example session that shows how the user/client can work with the Daedalus-bridge library.

So, it must be removed, right?

@denisshevchenko yes that whole section can be removed

@akegalj Please check it out: https://github.com/input-output-hk/cardanodocs.com/pull/65

@deepfire Fixed the AppVeyor failures and I think we are good from DevOps side?
@nikolaglumac, @darko-mijic , @DominikGuzei ? Is this good? Can we remove this? I know you already said you don't use the bridge, but a confirmation would be good so I don't mess something up when merging.

@ksaric from the standpoint of Daedalus master branch the bridge is no longer used. I am not sure about the older release/0.8.x branches nor am I sure when you plan to release this updated Backend. If this is to be released along with latest Daedalus master then I think it is fine to remove the Bridge.
cc @darko-mijic @DominikGuzei

@ksaric I would wait for the last word from @darko-mijic on this, but I'm optimistic that we never make releases from master and that as it stand newer versions of Daedalus do not depend on it.
What's really critical though is that we merge this as a single, squashed commit, so that it's easily revert-able if s**t hits the fan. 😉

I can see there are commits here which does not belong to this removal process, so we should either rebase or come up with a clean git history, as this PR effectively does not just remove stuff, but also adds code we might not want to.

@adinapoli-iohk It's all good. The small change that's added is the change for explorer so we can run stack ghci globally.

After the release we are doing right now PureScript bridge will no longer be needed. So it can be removed.

@ksaric Are we really sure? I can see this is also incorporating the Sev1 fixes for Binance (the endpoint to reset the pending Tx state). Not sure is what we want to incorporate as part of this PR? 😉


optional cloud info and allow dash in role names

@charlesk40 not sure about this dash support. that should not be necessary. I need to review the full method to see how it is being used.

@havetisyan  There is currently check for role name that would look for period.
Oct  1 21:54:14 ip-10-0-1-78 start.sh[9842]: [ZTS-SERVER] 21:54:14.081 [main] ERROR c.yahoo.athenz.zts.store.CloudStore - CloudStore: malformed service name: athenz-zts-service

https://github.com/yahoo/athenz/pull/268
this should address this issue by removing all the extra bits that we no longer need.


solution: provide a Ledger App version when watching

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.07%) to 54.469%

Files with Coverage Reduction
New Missed Lines
%

src/storage/vault.rs
1
68.78%

Totals

Change from base Build<PHONE_NUMBER>:
0.07%

Covered Lines:
2133

Relevant Lines:
3916

💛  - Coveralls


Fine-tuning help

It's unclear from the lack of comments in run.sh and the lack of a read-me file in the fine-tuning folder how to set up the Arctic data or other voice-data for fine-tuning training.  The order seems clear get the embedding, train using the embedding, and then run inference on unseen source voice recordings.  Would it be possible to create a read-me for fine-tuning to describe the data setup and process in more detail?

the same question

the same question


Plugin is not defined.

I am using the Ionic framework and have installed this plugin. My cordova plugin list is showing it as successfully installed:
android.support.v4 21.0.1 "Android Support v4"
com.google.playservices 21.0.0 "Google Play Services for Android"
com.ionic.keyboard 1.0.3 "Keyboard"
org.apache.cordova.console 0.2.12 "Console"
org.apache.cordova.device 0.2.13 "Device"
org.apache.cordova.geolocation 0.3.11 "Geolocation"
org.apache.cordova.network-information 0.2.14 "Network Information"
plugin.google.maps 1.2.4 "phonegap-googlemaps-plugin"
plugin.http.request 1.0.0 "phonegap-http-request"
However when running the project I get the "plugin is not defined" error in the console. Is anyone able to advise on what may be causing this error and how it can be resolved?
Thanks.

iOS or Android?

I had the same problem when I was automating build, I wrote a python script that called cordova plugin add plugin.google.maps and it wasn't waiting for the plugin to be really installed. I had to remove the plugin and its dependencies and install again. Everything works fine now...

I have same problem on android, map plugin works great on clean install and first opening, but closing and reopening the app plugin is not defined.

@crododile
Could you send me your apk file to my e-mail address<EMAIL_ADDRESS>?

I'm afraid I can't send apk, posting my resolution on github Thanks this
plugin is awesome
On Thu, Jan 15, 2015 at 3:59 PM, Masashi Katsumata<EMAIL_ADDRESS>
wrote:

@crododile https://github.com/crododile
Could you send me your apk file to my e-mail address<EMAIL_ADDRESS>?
—
Reply to this email directly or view it on GitHub
https://github.com/wf9a5m75/phonegap-googlemaps-plugin/issues/343#issuecomment-70170243
.

@wf9a5m75
Thanks for the excellent plugin and for responding, I've found that it is some sort load timing issue.
Only when the map is on the first view to load does it not work, or if on the first view wrapping map initialization in setTimeout works fine. I suppose I need to learn about more about Ionic app boot process

Ok, sounds good.


1.10-rc1 docker run --ip doesn't handle special "default" network case

Docker uses a special ("default") value for --net if no network is specified.
The "default" value is set as default value in this flag;
https://github.com/docker/docker/blob/73a5393bf3530815a608725fe2546121ccadbfe4/runconfig/opts/parse.go#L83
And was introduced here;
https://github.com/docker/docker/commit/da5a3e6dee80f1f5d4059851e4762ffb0484f7e9
However, docker run --ip=... does not treat this value as special, and will look for a network by that name:
docker run --ip=<IP_ADDRESS> -itd busybox sh
0267261b0fb81d7dd7c660935f71e44deb5ba202c9e0ff4925f9bbf0231dcf78
docker: Error response from daemon: network default not found.

Where, instead, it should produce:
docker: Error response from daemon: User specified IP address is supported on user defined networks only.

(I'm not a big fan of this "default" special value, but I'll create a separate issue for that)

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

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


CFFEX T* Symbols start time error

error in docs/data/futures/futures.md.
CFFEX T* Symbols start time is 09:30 not 09:15

error in docs/data/futures/futures.md. CFFEX T* Symbols start time is 09:30 not 09:15

哪块有问题？


Team Meeting - 2024-11-13 15:30-16:30

Date and Time
November 13th, 2024
03:30pm-04:30pm
Attendance

[x] Rafey
[x] Russell
[x] Avanish
[x] Abdul

Agenda

Set deadline for object scanning
Plan out order of implementation
Plan out design docs

Deadline for 3D object scanning, and precise GPS object placement: Nov 30


Chapter 2: yaml documentation link goes 404

On page 13, link 45: https://yaml.org/start.html is not working anymore. And I have no replacement link (I think now the links are versioned).

Probably have to go to https://yaml.org/spec/1.2.2/ for now :/
Wish they redirected that link!

Fixed and will be in the next release!


[AutoTVM] Use PopenPool in XgBoostCostModel

This PR intends to replace the use of multiprocessing.pool with PopenPoolExecutor in AutoTVM.XgBoostCostModel
@vinx13 @junrushao1994 @tqchen

Performance benchmarks on Kraken:
Running tune_conv2d_cude.py in tutorials with n_trial set to 100

SA elapsed time
Fork
PopenPool

1st run
69.85
67.68

2nd run
66.34
68.75

3rd run
70.10
67.58

Thanks a lot @shingjan @vinx13! It is merged!


[Addition]: Mimiq Remote witness

Hotspot b58 Addresses
11gVniDvcKMmwZtCsmJz1UTdLMSKHDEdGedFY57Si5f5UcdXAFX
Discord Handle
No response
Reason(s)

Witness with hotspots at 68km while it is physicaly impossible to be in line of sight.

We are all grasshoppers in the same boat!
Please spare the user！
We report blacklists every day！
It will only provoke more people to report to each other！
Current hNT price！
We can't sell the equipment now！
Don't forget！
We are all leeks！
No new users come in！
We can't cash it out. Bye！


usePersistedState — Should first useEffect have dependencies?

In usePersistedState.md, the following function is shown:
  React.useEffect(() => {
    try {
      const storedValue = localStorage.getItem(name);
      if (storedValue !== null) setValue(storedValue);
      else localStorage.setItem(name, defaultValue);
    } catch {
      setValue(defaultValue);
    }
  }, []);

I was wondering if it should have the defaultValue and name as dependencies to allow the hook to be re-initialized even if it was already mounted?
  React.useEffect(() => {
    try {
      const storedValue = localStorage.getItem(name);
      if (storedValue !== null) setValue(storedValue);
      else localStorage.setItem(name, defaultValue);
    } catch {
      setValue(defaultValue);
    }
  }, [defaultValue, name]);

If not, would it make sense to expand the example/documentation to include a note about eslint react-hook dependency warnings that may trigger, to avoid confusion about whether there is a bug in the implementation or if eslint is unaware of the context as to why the choice was made.
Thanks for your time and consideration.

That's a pretty good observation. We'll take a look and see if we should include dependencies or not, as the ESLint rule can be a bit of a hassle to deal with indeed.

This is safe to use as-is. If ESLint is bothering you, you can either add the dependencies yourself in your code (iff you are certain they will not change after the first render) or have ESLint ignore this line.


'str' object has no attribute 'refresh'

I'm getting this error message, looking through the code I'd think it should work. Anyone have any idea what's going wrong?
File "/usr/local/lib/python2.7/dist-packages/gmusicapi-8.0.1_dev-py2.7.egg/gmusicapi/clients/musicmanager.py", line 165, in login
return (self._oauth_login(oauth_credentials) and
File "/usr/local/lib/python2.7/dist-packages/gmusicapi-8.0.1_dev-py2.7.egg/gmusicapi/clients/musicmanager.py", line 185, in _oauth_login
if not self.session.login(oauth_credentials):
File "/usr/local/lib/python2.7/dist-packages/gmusicapi-8.0.1_dev-py2.7.egg/gmusicapi/session.py", line 229, in login
oauth_credentials.refresh(httplib2.Http())
AttributeError: 'str' object has no attribute 'refresh'

@baderbuddy: Can you try changing line 174 in clients/musicmanager.py from if isinstance(oauth_credentials, str): to if isinstance(oauth_credentials, basestring): and see if that solves it for you?

Sorry I forgot to respond. Yes that worked perfectly. Thank you :)


No "Approve" button for translation

Hi there. @tachyonlabs has kindly created a Python translation for my Kata "Driving License" https://www.codewars.com/kata/586a1af1c66d18ad81000134 and game the the link https://www.codewars.com/kumite/58839adcbcb9003881000054?sel=58839adcbcb9003881000054 to approve the Kata. However there isn't an "Approve" button.
Please could you help
Adi

Re-publishing activated the button. Thank you.


Plans for a new Gogs release

Hi guys!
Is there any plans for a new Gogs release? There is some new features committed after the 0.9.13 release that I am really wanting, e.g. https://github.com/gogits/gogs/pull/3000

We DO NOT take questions or config/deploy problems on GitHub, please use our forum: https://discuss.gogs.io

Closing with a semi-answer: Author of gogs is currently busy, no idea when the next release will be


[electron, mobile] stop registering rpcs by default

As per #5129 and #5225, it's weird to be registering some rpcs by default on some platforms, but not others. It might not also be necessary to register some of these rpcs (your app might not need them)

16 core-full-stack-tests are failing because IModelTileRpcInterface and SnapshotRpcInterface are not initialized.

its a good thing our tests work and caught this :)
Was fixing this locally, will push up a fix later today hopefully

Shouldn't a NextVersion.md update be part of this PR?

Shouldn't a NextVersion.md update be part of this PR?

Yes i plan to once i get the pipelines succeeding. Most of these tests pass locally for me, but keep running into some random lib mutex crashes im trying to investigate via the ci

@pmconne mind reviewing?


Nginx Ingress Configuration Returns HTTP-400 on AWS

We've been observing an issue with the Nginx Ingress Controller in Shoot clusters on AWS:
Failure description:
Whenever a Ingress resource with a corresponding URL is created, a request against it ends up with a HTTP 400 error message.
In addition, a request to a non existing Ingress URL or to the AWS load balancer directly also returns HTTP 400 instead of being redirected to the default backend.
Expected behavior:
The request is forwarded to the configured Service or the default backend respectively.
Steps to reproduce:

Create a Shoot cluster on AWS / take an existing one
Apply Yaml file (please adjust Host information)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: <Your Host>
    http:
      paths:
      - backend:
          serviceName: nginx-service
          servicePort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: default
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.15.1
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: default
spec:
  type: NodePort
  ports:
  - port: 80
    protocol: TCP
  selector:
    app: nginx
---

Fixed by 9b4964fdd4182ac4ac6d2e5009de01316e31af59


[azopenai] Consolidate prompt and content filtering attributes (Hate, Violence, etc..) into a single embeddable struct

The content filtering attributes show up in a few spots. It'd be convenient if their common fields were actually in a single type - it'd make it simpler for customers to write code to process them.
APIView discussion here:
https://apiview.dev/Assemblies/Conversation/aac23326de874fd39ce9e7332f95a2f7#cf6c4d9053b1409f8bd4a002a110ed8c

The official types have evolved now, and we no longer need to do this.


Face detection not working on front camera (iOS)

Face detection not working on front camera (iOS)
I am using the example app, and when I try to take a picture using my front camera, the faces found is always 0. If use the back camera, everything works.
Steps to reproduce the behavior:

Go to 'Face detection'
Click on the bottom left icon, then on 'Take a picture'
Take a selfie with the front camera
See error

Platform:

OS: iOS
Device: iPhone 12 Pro & 14
OS: iOS 17.1.1
Flutter Version: 3.16.7
Plugin version: 0.9.0

EDIT: it's actually working sometimes. On the UI of the front camera, there is little button to do a little zoom in/out. If I take the picture with the zoom out the faces are detected, if the camera has that little zoom in (which is the default setting), it doesn't work

For face recognition, you should use an image with dimensions of at least 480x360 pixels. For ML Kit to accurately detect faces, input images must contain faces that are represented by sufficient pixel data. In general, each face you want to detect in an image should be at least 100x100 pixels.
source: https://developers.google.com/ml-kit/vision/face-detection/android#input-image-guidelines

When the front camera is in zoom-in mode, the picture has a dimension of 2316×3088, and my face is NOT detected. When the camera is in zoom-out mode, the picture has a dimension of 3024×4032, and my face is detected.

have you found solution for this one besides zooming out everytime? since the zooming out make the process stuck @giordy16

have you found solution for this one besides zooming out everytime? since the zooming out make the process stuck @giordy16

no

So I have narrowed down the issue to these points:

Real-time face detection works in iOS when the InputImage has bgra8888 image format group, InputImage.fromBytes factory constructor is used (According to the example app)
Face detection works fine with image selected from iOS Photos App, InputImage.fromFilePath factory constructor is used
Face detection does not work with Image captured in iOS from camera plugin using the .takePicture function, InputImage.fromFilePath factory constructor is used
Face detection works when the Image captured in iOS from camera plugin using the  .takePicture function is saved to the Photos App in iOS and using the Photo App image path, InputImage.fromFilePath factory constructor is used

Overall this issue is related with File Path in iOS, maybe the library is not able to load the UIImage in Swift code when the image path is given from the captured image using camera plugin, but it is able to load the UIImage when the image path is given from Photos App

@fbernaly can you remove the stale label from this issue and look into this issue?

@TecHaxter : I have removed the stale label, but I do not have bandwidth to work on this. Feel free to fork the repo and submit your contribution. I will review your PR ASAP and release a new version ASAP.

try this
`Future getImageAndDetectFaces(XFile imageFile) async {
try {
if (Platform.isIOS) {
await Future.delayed(const Duration(milliseconds: 1000));
}
  List<Face> faces = await processPickedFile(imageFile);

  if (faces.isEmpty) {
    return false;
  }

  double screenWidth = MediaQuery.of(context).size.width;
  double screenHeight = MediaQuery.of(context).size.height;
  final radius = screenWidth * 0.35;
  Rect rectOverlay = Rect.fromLTRB(
    screenWidth / 2 - radius,
    screenHeight / 3.5 - radius,
    screenWidth / 2 + radius,
    screenHeight / 2.5 + radius,
  );

  for (Face face in faces) {
    final Rect boundingBox = face.boundingBox;
    if (boundingBox.bottom < rectOverlay.top ||
        boundingBox.top > rectOverlay.bottom ||
        boundingBox.right < rectOverlay.left ||
        boundingBox.left > rectOverlay.right) {
      return false;
    }
  }

  return true;
} catch (e) {
  return false;
}

}
processPickedFile(XFile pickedFile) async {
final path = pickedFile.path;
InputImage inputImage;
if (Platform.isIOS) {
  final File? iosImageProcessed = await bakeImageOrientation(pickedFile);
  if (iosImageProcessed == null) {
    return [];
  }
  inputImage = InputImage.fromFilePath(iosImageProcessed.path);
} else {
  inputImage = InputImage.fromFilePath(path);
}
print('INPUT IMAGE PROCESSED: ${inputImage.filePath}');

List<Face> faces = await faceDetector.processImage(inputImage);
print('Found ${faces.length} faces for picked file');
return faces;

}
Future<File?> bakeImageOrientation(XFile pickedFile) async {
if (Platform.isIOS) {
final directory = await getApplicationDocumentsDirectory();
final path = directory.path;
final filename = DateTime.now().millisecondsSinceEpoch.toString();
  final imglib.Image? capturedImage =
      imglib.decodeImage(await File(pickedFile.path).readAsBytes());

  if (capturedImage == null) {
    return null;
  }

  final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);

  File imageToBeProcessed = await File('$path/$filename')
      .writeAsBytes(imglib.encodeJpg(orientedImage));

  return imageToBeProcessed;
}
return null;

}`
Dont forget import this
import 'package:image/image.dart' as imglib;

try this
`Future getImageAndDetectFaces(XFile imageFile) async { try { if (Platform.isIOS) { await Future.delayed(const Duration(milliseconds: 1000)); }
  List<Face> faces = await processPickedFile(imageFile);

  if (faces.isEmpty) {
    return false;
  }

  double screenWidth = MediaQuery.of(context).size.width;
  double screenHeight = MediaQuery.of(context).size.height;
  final radius = screenWidth * 0.35;
  Rect rectOverlay = Rect.fromLTRB(
    screenWidth / 2 - radius,
    screenHeight / 3.5 - radius,
    screenWidth / 2 + radius,
    screenHeight / 2.5 + radius,
  );

  for (Face face in faces) {
    final Rect boundingBox = face.boundingBox;
    if (boundingBox.bottom < rectOverlay.top ||
        boundingBox.top > rectOverlay.bottom ||
        boundingBox.right < rectOverlay.left ||
        boundingBox.left > rectOverlay.right) {
      return false;
    }
  }

  return true;
} catch (e) {
  return false;
}

}
processPickedFile(XFile pickedFile) async { final path = pickedFile.path;
InputImage inputImage;
if (Platform.isIOS) {
  final File? iosImageProcessed = await bakeImageOrientation(pickedFile);
  if (iosImageProcessed == null) {
    return [];
  }
  inputImage = InputImage.fromFilePath(iosImageProcessed.path);
} else {
  inputImage = InputImage.fromFilePath(path);
}
print('INPUT IMAGE PROCESSED: ${inputImage.filePath}');

List<Face> faces = await faceDetector.processImage(inputImage);
print('Found ${faces.length} faces for picked file');
return faces;

}
Future<File?> bakeImageOrientation(XFile pickedFile) async { if (Platform.isIOS) { final directory = await getApplicationDocumentsDirectory(); final path = directory.path; final filename = DateTime.now().millisecondsSinceEpoch.toString();
  final imglib.Image? capturedImage =
      imglib.decodeImage(await File(pickedFile.path).readAsBytes());

  if (capturedImage == null) {
    return null;
  }

  final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);

  File imageToBeProcessed = await File('$path/$filename')
      .writeAsBytes(imglib.encodeJpg(orientedImage));

  return imageToBeProcessed;
}
return null;

}`
Dont forget import this
import 'package:image/image.dart' as imglib;

Thanks. It's working to me.

try this
`Future getImageAndDetectFaces(XFile imageFile) async { try { if (Platform.isIOS) { await Future.delayed(const Duration(milliseconds: 1000)); }
  List<Face> faces = await processPickedFile(imageFile);

  if (faces.isEmpty) {
    return false;
  }

  double screenWidth = MediaQuery.of(context).size.width;
  double screenHeight = MediaQuery.of(context).size.height;
  final radius = screenWidth * 0.35;
  Rect rectOverlay = Rect.fromLTRB(
    screenWidth / 2 - radius,
    screenHeight / 3.5 - radius,
    screenWidth / 2 + radius,
    screenHeight / 2.5 + radius,
  );

  for (Face face in faces) {
    final Rect boundingBox = face.boundingBox;
    if (boundingBox.bottom < rectOverlay.top ||
        boundingBox.top > rectOverlay.bottom ||
        boundingBox.right < rectOverlay.left ||
        boundingBox.left > rectOverlay.right) {
      return false;
    }
  }

  return true;
} catch (e) {
  return false;
}

}
processPickedFile(XFile pickedFile) async { final path = pickedFile.path;
InputImage inputImage;
if (Platform.isIOS) {
  final File? iosImageProcessed = await bakeImageOrientation(pickedFile);
  if (iosImageProcessed == null) {
    return [];
  }
  inputImage = InputImage.fromFilePath(iosImageProcessed.path);
} else {
  inputImage = InputImage.fromFilePath(path);
}
print('INPUT IMAGE PROCESSED: ${inputImage.filePath}');

List<Face> faces = await faceDetector.processImage(inputImage);
print('Found ${faces.length} faces for picked file');
return faces;

}
Future<File?> bakeImageOrientation(XFile pickedFile) async { if (Platform.isIOS) { final directory = await getApplicationDocumentsDirectory(); final path = directory.path; final filename = DateTime.now().millisecondsSinceEpoch.toString();
  final imglib.Image? capturedImage =
      imglib.decodeImage(await File(pickedFile.path).readAsBytes());

  if (capturedImage == null) {
    return null;
  }

  final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);

  File imageToBeProcessed = await File('$path/$filename')
      .writeAsBytes(imglib.encodeJpg(orientedImage));

  return imageToBeProcessed;
}
return null;

}`
Dont forget import this
import 'package:image/image.dart' as imglib;

Thank you, this does work for me

Thankyou, This works on the IOS  @itzmail
final imglib.Image? capturedImage =
imglib.decodeImage(await File(pickedFile.path).readAsBytes());
if (capturedImage == null) {
return null;
}
final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);
File imageToBeProcessed = await File('$path/$filename')
.writeAsBytes(imglib.encodeJpg(orientedImage));
return imageToBeProcessed;
}
return null;
}

Thanks @itzmail this worked like a magi, made it very smooth without stress to detect image
Future<File?> bakeImageOrientation(XFile pickedFile) async {
if (Platform.isIOS) {
final directory = await getApplicationDocumentsDirectory();
final path = directory.path;
final filename = DateTime.now().millisecondsSinceEpoch.toString();
  final imglib.Image? capturedImage =
  imglib.decodeImage(await File(pickedFile.path).readAsBytes());

  if (capturedImage == null) {
    return null;
  }

  final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);

  File imageToBeProcessed = await File('$path/$filename')
      .writeAsBytes(imglib.encodeJpg(orientedImage));

  return imageToBeProcessed;
}
return null;

}

@giordy16 This solution worked for me. I'll leave the solution here in case someone else has the same issue! thanks a lot for mentioning this issue.
import 'dart:io';
import 'package:google_ml_kit/google_ml_kit.dart';
import 'package:image/image.dart' as imglib;
import 'package:image_picker/image_picker.dart';
import 'package:path_provider/path_provider.dart';

getImageAndDetectFaces() async {
    try {
      XFile imageFile = await _imagePicker.pickImage(
        source: ImageSource.camera,
        preferredCameraDevice: CameraDevice.front,
      );
      if (imageFile == null) return;

      if (Platform.isIOS) {
        await Future.delayed(const Duration(milliseconds: 1000));
      }

      List<Face> faces =
          await processPickedFile(imageFile);

      if (faces.isEmpty) {
        throw EvomException('Nenhum rosto foi detectado na imagem!');
      }
      return faces;
    } catch (e) {
      throw Exception('$e');
    }
}

processPickedFile(XFile pickedFile) async {
    final path = pickedFile?.path ?? null;
    if (path == null) {
      throw EvomException('Imagem não encontrada!');
    }
    InputImage inputImage;
    if (Platform.isIOS) {
      final File iosImageProcessed =
          await bakeImageOrientation(pickedFile);
      inputImage = InputImage.fromFilePath(iosImageProcessed.path);
    } else {
      inputImage = InputImage.fromFilePath(path);
    }
    print(
        'INPUT IMAGE PROCESSED: ${inputImage.filePath} - ${inputImage.imageType}');

    List<Face> faces = await _faceDetector.processImage(inputImage);
    print('Found ${_faces.length} faces for picked file');
    return faces;
}

bakeImageOrientation(XFile pickedFile) async {
    if (Platform.isIOS) {
      final directory = await getApplicationDocumentsDirectory();
      final path = directory.path;
      final filename = DateTime.now().millisecondsSinceEpoch.toString();

      final imglib.Image capturedImage =
          imglib.decodeImage(await File(pickedFile.path).readAsBytes());

      final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);

      final imageToBeProcessed = await File('$path/$filename')
          .writeAsBytes(imglib.encodeJpg(orientedImage));

      return imageToBeProcessed;
    }
    return null;
}

The above solution has been incredibly helpful in resolving the zoomed-in Front Camera selfie issue on iOS devices and improving overall face detection accuracy. I've implemented this approach with some modifications to fit my specific use case, and I wanted to share how it benefited my project in case it helps others:

Zoomed-out Selfies: The bakeImageOrientation function effectively addressed the IOS front camera default zoom-in issue, resulting in properly framed selfies.

Improved Face Detection: By ensuring correct image orientation, the face detection accuracy significantly improved for both selfies and uploaded images.

Consistency in Image Processing: I applied the same image processing technique to both selfie capture and image uploads from the gallery. This consistency was crucial for our facial recognition feature, where we compare uploaded photos with the user's selfie to ensure user uploads authentic pictures.

Here's a snippet of how I achieved this:
Future<XFile> _processIOSImage(XFile pickedFile) async {
  // ... [Your implementation of bakeImageOrientation] ...
}

// In selfie capture
if (Platform.isIOS && byCamera) {
  file = await _processIOSImage(file);
}

// In image upload from gallery
if (Platform.isIOS) {
  file = await _processIOSImage(file);
}

// ProcessIOSImage function
Future<XFile> _processIOSImage(XFile pickedFile) async {
 final directory = await getApplicationDocumentsDirectory();
 final path = directory.path;
 final filename = DateTime.now().millisecondsSinceEpoch.toString();

 final imglib.Image? capturedImage =
     imglib.decodeImage(await File(pickedFile.path).readAsBytes());

 if (capturedImage == null) {
   return pickedFile;
 }

 final imglib.Image orientedImage = imglib.bakeOrientation(capturedImage);

 final processedFile = await File('$path/$filename.jpg')
     .writeAsBytes(imglib.encodeJpg(orientedImage));

 return XFile(processedFile.path);
}


Gravatar default set have no effect

I changed setting of gravatar default to identicon, created new user and I see that saved avatar url still have original "blank" instead of identicon

Can you elaborate the issue or include a screenshot. Thanks.

ugh, original description is quite self-explanatory but ok, I'll try to elaborate even more:
I was expecting that gravatar settings which I set in the settings->AUTH_GRAVATAR_DEFAULT would result in the avatar_url of the user table be updated (or at least created for new users) with "default=X" where X is what was set in settings. But actually I only see that avatar_url is always ending in "default=blank"
https://s.gravatar.com/avatar/46f50fe400a5c104a1186bb1a15884ff?r=g&default=blank

Hello @yureckey, thanks for raising this up and for your patience. We found the origin of the bug and will fix it soon.
HYI this is related to our infrastructure, not hasura-auth.


harbor_config_system resource doesn't detect drift

Describe the bug
The harbor_config_system resource doesn't detect drift if changes are manually made in the Harbor UI.
To Reproduce
I used the following code:
resource "harbor_config_system" "main" {
  project_creation_restriction = "adminonly"
}

This correctly produced a plan with a change and applied successfully. The Harbor UI showed the correct value for the setting, I then manually changed the setting back to "everyone" and re-ran the plan. No changes were detected.
Expected behavior
Provider should detect the change and produce a plan to change the setting back again to match the code.
Additional context
Add any other context about the problem here.

Provider Version 3.8.4
Terraform Version 1.3.9
Harbor Version 2.8.0

Hi, thanks, should be fixed with #332


Feature/memory usage

Add memoryUsage to node's updateToTracker
Add memory log to tracker

Merged! Thanks 👍


PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Currently the downlod fails:
$ java -version
openjdk version "13" 2019-09-17
OpenJDK Runtime Environment AdoptOpenJDK (build 13+33)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13+33, mixed mode, sharing)
$ java -jar nist-data-mirror-1.3.0.jar nist-mirror json
Downloading files at Mon Sep 30 09:03:50 CEST 2019
Downloading https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-modified.meta
Download failed : PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
...

Firefox 69.0.1 has no problems accessing this and other URLs.

As a workaround until nvd.nist.gov fixes their published certificate chain you can ask the java SSL library to download the intermediates by adding -Dcom.sun.security.enableAIAcaIssuers=true on the java command line.
java -Dcom.sun.security.enableAIAcaIssuers=true -jar nist-data-mirror-1.3.0.jar nist-mirror json

See also https://docs.oracle.com/javase/8/docs/technotes/guides/security/certpath/CertPathProgGuide.html#AIA

This was an NVD issue. Closing