Add possibility to just execute query at current selector

It would be nice to just execute the Query at the current selector position.
This is currently possible with the combination of CTRL+L & CTRL+ENTER but only if the Query is a one-liner.
I would even go as far as using CTRL+ENTER to reflect this behavior and maybe CTRL+SHIFT+ENTER to execute the whole Script.

Although I think it is a very interesting and useful feature.We will not be able to implement that. Because we would need to have an AST for SQL and this should work as well for every DB we have support. So we would know for sure where the current query start and finish. Nowadays there isn't a library that has support for that. And implementing that ourselves would take a long time.
So unfortunately executing the query of the current selector position is not possible. But at least you can execute the current selected query.

I was thinking about it and maybe this could be achievable if we improve https://github.com/maxcnunes/sql-query-identifier to also return the query related to the type. So we would know what is the query the current selector is over.

Anyone interested in this feature. Please tests your queries (simple and complex) here and let me know if there is any bug. If after sometime that is considered stable. Then we can use that to achieve this feature.

Can I vote for this?


Observability: fix Kubernetes components monitoring

Configure the scheduler and the controller-manager to authentify and to
authorize the incoming requests.
Configure the kube-proxy endpoints and make it listen to the metrics
requests on all interfaces

Fixes canonical/microk8s#2379.
Before:

After:

I am wondering if this patch will work in multi node cluster?

I am wondering if this patch will work in multi node cluster?

I admit I didn't test this case. What part makes you think this could be problematic?

refresh_opt_in_config "authentication-kubeconfig" "${SNAP_DATA}/credentials/scheduler.config" kube-scheduler

I guess this code will be executed on the host there you are running microk8s enable observability.
So, this host will be set correctly, but others not.
Will you try to run the command on another host, you will get Addon core/observability is already enabled, and host will not be setup.
Probably, I misunderstood how refresh_opt_in_config  works and this is not an issue

For now I propose we print a message at the end of this enable script where we let users know what extra configuration needs to be done for any nodes coming to the cluster.

Done. Let me know if the wording is right for you.


Area calculation of a shape

I need to calculate the area of a shape that I am creating, it can be anything. Is there an existing function for this, or do I have to do it by myself?

Hello, this does not yet exist. There is already an issue #407 , so I'll close this issue and we can continue the discussion there.


Support RISC-V architecture

Requested by Wolfgang Brandt. https://riscv.org/

I've put up a compiler-explorer instance that has riscv32 and riscv64 toolchains. I've been pretty eager to play with RISC-V in compiler explorer so I went ahead and installed it.

https://cx.rv8.io/

Th compiler-explorer setup has the URL shortener API working and is using the compiler-wrapper ld preload. I followed the amazon configs. I've also got aarch64, x86-32 and x86-64 toolchains installed so we can do codegen comparisons (which is a pretty essential compiler-explorer feature).
I did notice that the  _Bool type is not working but bool is, even when including <stdbool.h>. I followed the example configs and pointed to (in this case) g++. It might be picking up the wrong stdbool.h, either GCC's stdbool.h instead of musl's stdbool.h or the other way around. I think it is getting musl's stdbool.h which doesn't #define _Bool bool for C++. I noticed that _Bool is working correctly on https://godbolt.org/
The official RISC-V toolchain is now upstream in binutils-2.28 and gcc-7.1.0, however riscv-glibc and riscv-linux are still under patch review.
The official toolchain development tree is here: https://github.com/riscv/riscv-gnu-toolchain/, however, I would probably suggest using the gcc-7.1.0 tarballs as the tree may be in a state of flux. i.e. snapshot riscv-glibc and use upstream for everthing else. If in doubt ping sw-dev at groups.riscv.org https://riscv.org/mailing-lists/
The toolchain on the compiler-explorer instance is using a musl-riscv snapshot and the upstream gcc/binutils tarballs for everything else: https://github.com/rv8-io/musl-riscv-toolchain/
Thanks for the excellent tool. I think it's going to help RISC-V code gen a lot to have the toolchain in compiler explorer. It's an invaluable tool!

The test instance is on a Google Cloud f1.micro instance so it might be a little slow...

@michaeljclark That's amazing stuff! Glad you could get it working, and very interesting it is running nicely on a Google Cloud instance!

This issue is being used to track clang parts of the work, the GCC stuff is in #965. This is a slightly arbitrary choice, hopefully not too confusing.

Same code, chunked in a few more lines (for more colors): https://godbolt.org/z/DZJOGS


Fix link to stylo script in README.md

The scripts were moved in
https://github.com/servo/servo/pull/13372

r? @emilio

@bors-servo r+
Good catch! :)

:pushpin: Commit 20b6a6f has been approved by emilio

:zap: Test exempted - status


Unable to get evolu web working with SolidStart

Hi again, I have been trying to get Evolu implemented in my Solid js application, however have been unsucessful. So I have created a minimal test repo. With Evolu installed and the example from the docs implemented I keep getting the following error:
[plugin:solid] /Users/ibrahim/Developer/Test/solid-project-evolu/node_modules/.vinxi/client/deps/chunk-VKMYUPOW.js:

Unexpected token, expected "=>" (11799:10)
  11802 | });

I have added @evolu/common-web to vite.config.ts however I am still unable to get the project to run.
Test repo
https://github.com/ibb2/solid-project-evolu

Thank you for reporting that. Did you try to take a look at the Evolu example Vite config? Or what has been changed recently? I'm in the middle of implementing much faster and more scalable sync, with zero time to play with Vite configuration.

Yeah I've looked at the vite example, the code looks similar to mine so I'm not sure what Im doing wrong. And I'm not sure what you mean by

Or what has been changed recently

I started the project maybe a week ago and made the test repo around when I made this issue, so there hasn't been any releases since then.


rename any to unknown or dynamic?

As asked in https://github.com/sam-goodwin/punchcard/pull/41, should the any type be renamed to unknown or maybe even dynamic?
Maybe we want to support both Type<unknown> and Type<any> by having both?

from a type safe standpoint, would any be something we want? the dynamic sounds better IMHO, because any is just false, strictly speaking. dynamic gives the message of "I know what I'm doing, so make this type as this-type"

Yeah I like the dynamic name also. I just released v0.7.0 with it named any :(
Any thoughts on supporting both any and unknown? We could have dynamic = Type<unknown> and any = Type<any>. Or even name any as unsafeDynamic?

oh, unsafeDynamic is a good, in-your-face one (for edge cases, really). somehow reminded me of dangerouslySetInnerHTML from react 😄


Return API error message in UI

How to create a test case: send multiple time the same reserve request.
In curl:
curl --location --request POST<EMAIL_ADDRESS>--header 'Content-Type: application/json'
--data-raw '{"labels":[{"status":"Reserved","title":"Laboratory Shocked Feldspars Bundle","publication_date":"2020-03-11","product_type_specific":"PDS4 Collection","author_last_name":"Johnson","author_first_name":"J. R.","related_resource":"urn:nasa:pds:lab_shocked_feldspars"}]}
The second time an error 400 is sent back with message:
{
"errors": [
{
"message": "The title: 'Laboratory Shocked Feldspars Bundle' has already been used for a DOI by lidvid(s):urn:nasa:pds:lab_shocked_feldspars::None, status: reserved_not_submitted, doi: ,None . You must use a different title.",
"name": "WarningDOIException"
}
]
}
The errors need to be shown in the UI.
Acceptance criteria:
When an invalidate file is submitted for reservation
Then: the error message is displayed in the UI and helps the user to correct the error
When an invalid PDS4 label is used for draft
Then the error message is displayed in the UI and helps the user to correct the error.
When an invalid OSTI record is submitted for review (ie released to Engineering Node)
Then the error message is displayed in the UI and helps the user to correct the error.

Thanks @eddiesarevalo . Can you do something more readable by parsing the json and presenting the error type and text on one line ?

@tloubrieu-jpl Hi Thomas, how do I start the doi-service on localhost:8080? Can you point me to the instructions on doi_ui and doi_api.
Thanks
Gary

@gxtchen hey Gary, from https://nasa-pds.github.io/releases/11.1/index.html, it's the pds-doi-service here: https://nasa-pds.github.io/pds-doi-service/

@gxtchen I also added the instructions on the pds-doi-ui README, as a prerequisite https://github.com/NASA-PDS/pds-doi-ui


Make it possible to force linewise operation on custom text objects

For (most) built in text objects it's possible to force operation on them to be linewise, for example by using dVab (:h o_V, motion_force). When using custom text objects (defined as mappings by plugins for example), this doesn't currently work.
For example, put this in your .vimrc:
onoremap x viw

Open any file with a few lines each containing some words.
Some notes: As far as I'm aware plugins use visual mode to select text objects in operator-pending mode. This is done either in visual mode :normal v or visual line mode :normal V. I'd expect neovim to be able to recognize whether these selections were done linewise or not. Then the user can force the motion dvab, dVab or not dab. If not forced, the mode used by the plugin should be used. If forced, the selection might need to be changed accordingly before applying the pending operator.
For reference, this came up in https://github.com/wellle/targets.vim/issues/214 and I already opened the same issue for neovim in https://github.com/neovim/neovim/issues/8667.
Thank you!

With onoremap x viw, dVx is like saying dVviw, which is why it doesn't work.
If you use onoremap x iw, then forcing with dVx actually does work.
More precisely, a v in this place does not refer to the "visual mode" style of omaps.  If you can make your map in a way that doesn't require :normal v then it basically works.  This means positioning the cursor and not entering visual mode.  For example, this seems correct with forcing;
onoremap x :call cursor(line('.')+1,col('.')+1)<cr>

But many custom maps can't be written this way and it's very difficult to make such maps behave properly with forcing, such as:
onoremap x :normal viw<cr>

Note this has also been discussed at the following:
https://groups.google.com/forum/#!msg/vim_dev/MNtX3jHkNWw/bhL-o6TlKtgJ
https://groups.google.com/forum/#!msg/vim_dev/lR5rONDwgs8/iLsVCrxo_WsJ
https://github.com/kana/vim-textobj-user/issues/17
I personally would like such a v:motiontype or similar variable to be added as it would simplify considerably maps that aim to behave correctly in each forcing case.  Currently I resort to using four omaps e.g., x, vx, Vx, <c-v>x.

@andymass: Thank you! Yes the example onoremap x viw was just given to keep in simple here. As you said, in practice we are concerned about mappings we can currently only be implemented using visual mode. And in that case the plugin currently can't see whether the user wanted to force a motion type, nor does Vim handle that case on its own.
Thank you for the links above. I agree that v:motiontype or similar would be enough to make it possible to handle this on the plugin side. And we already do have a patch proposed. If we're still blocked on a name, I'd be fine with v:force_motiontype.
It's a bit sad to see the patch sitting there for 10 years now just because we can't pick a name. @glts even offered to update it accordingly 5 years ago. Is there anything we can do to make this move forward?
Thanks again 👍

With onoremap x viw, dVx is like saying dVviw, which is why it doesn't work.
If you use onoremap x iw, then forcing with dVx actually does work.
More precisely, a v in this place does not refer to the "visual mode" style of omaps.  If you can make your map in a way that doesn't require :normal v then it basically works.  This means positioning the cursor and not entering visual mode.  For example, this seems correct with forcing;
onoremap x :call cursor(line('.')+1,col('.')+1)<cr>

But many custom maps can't be written this way and it's very difficult
to make such maps behave properly with forcing, such as:
onoremap x :normal viw<cr>

That's not a good example, since as you mentioned, leaving out the "v"
makes it work.  So what is an example where you do need the "v"?

Note this has also been discussed at the following:
https://groups.google.com/forum/#!msg/vim_dev/MNtX3jHkNWw/bhL-o6TlKtgJ
https://groups.google.com/forum/#!msg/vim_dev/lR5rONDwgs8/iLsVCrxo_WsJ
https://github.com/kana/vim-textobj-user/issues/17
I personally would like such a v:motiontype or similar variable to
be added as it would simplify considerably maps that aim to behave
correctly in each forcing case.  Currently I resort to using four
omaps e.g., x, vx, Vx, <c-v>x.

--
hundred-and-one symptoms of being an internet addict:
115.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool
The example I meant to draw attention to is onoremap x :normal viw<cr>, which is how most complex omaps are written, and all custom text objects are implemented.  In this case dVx, dvx, and d<c-v>x do not work properly.

@brammool: Here's a more realistic example which defines i- to operate between - characters. Put this in your .vimrc:
onoremap i- :normal T-vt-<CR>

Now open a file with contents like this
aaa - bbb x ccc - ddd

With the cursor on x, if you type di- it should leave you with
aaa -- ddd

So far so good. But if you type dVi- it should actually delete the full line (linewise), but doesn't. It behaves as if you typed di-.

@brammool: Here's a more realistic example which defines i- to operate between - characters. Put this in your .vimrc:
onoremap i- :normal T-vt-<CR>

Now open a file with contents like this
aaa - bbb x ccc - ddd

With the cursor on x, if you type di- it should leave you with
aaa -- ddd

So far so good. But if you type dVi- it should actually delete the full line (linewise), but doesn't. It behaves as if you typed di-.

I can see where you are going, but you would need to search in multiple
lines to actually make it useful, otherwise one would just type "dd".
onoremap i- :normal ?-<CR>v/-<CR>

I don't think you need anything new.  You can use mode() to check if you
are already in Visual mode.  If so, move the start of the visual area
and move the cursor to the end.  Otherwise just use "v" to start Visual
mode.  Something like:
onoremap <expr> i- GetCommand()
func GetCommand()
  if mode() =~ '^[vV\<C-V>]'
     normal ?-<CR>o/-<CR>
  else
     normal ?-<CR>v/-<CR>
  endif
  return ''
endfunc

Haven't actually tried it.
--
hundred-and-one symptoms of being an internet addict:
116. You are living with your boyfriend who networks your respective
computers so you can sit in separate rooms and email each other
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool: I can't get your example with GetCommand to work. Seems like the expression mapping only executes until the first <CR> to select what to operate on. The remaining normal commands get executed afterwards. Leaving me with the part between the first - and the cursor position deleted, and the part between the cursor and the second - visually selected.
So here's a full working example of the multiline inner minus text object:
onoremap <expr> i- GetCommand()
func GetCommand()
    " mode is always 'no' when invoked from omap
    echom 'mode ' . mode(1)
    let [g:lnum1, g:col1] = searchpos('-', 'Wb')
    if g:lnum1 == 0
        return "\<Esc>"
    endif
    let [g:lnum2, g:col2] = searchpos('-', 'W')
    if g:lnum2 == 0
        return "\<Esc>"
    endif
    return ":call Select()\<CR>"
endfunc
func Select()
    call cursor([g:lnum1, g:col1])
    normal! 1 v
    call cursor([g:lnum2, g:col2])
    execute "normal! \<BS>"
endfunc

I'm testing it on this file (cursor on x):
aaa - bbb
x
ddd - eee

As indicated by the comment, mode() doesn't actually help here to recognize the forced motion. This only works for visual mode (vmap and friends), where it can be used to recognize character, linewise or blockwise visual mode. If invoked via omaps, it's always no, regardless of whether I used di-, dvi- or dVi- (this last case is the one which currently doesn't work as expected).

And there's also other cases where it doesn't work. If you're using the matchit plugin (enabled by default), consider this example:
type Client struct {
	cache cache.Cache
}

Put your cursor on Client and type dV%. I'd expect it to delete the three full lines, but it doesn't. The V is ignored again. I had the matchit plugin disabled for a while because of this (without the plugin in works).

But there's even a builtin which ignores force motion. Search for a string which appears a few times in your document, then type dVgn. I'd expect it to delete the full line which contains the next match, but it only deletes the next match (character wise). If this would work it would be a nice interactive alternative to :g//d.

@brammool: I can't get your example with GetCommand to work. Seems
like the expression mapping only executes until the first <CR> to
select what to operate on. The remaining normal commands get executed
afterwards. Leaving me with the part between the first - and the
cursor position deleted, and the part between the cursor and the
second - visually selected.
So here's a full working example of the multiline inner minus text object:
onoremap <expr> i- GetCommand()
func GetCommand()
    " mode is always 'no' when invoked from omap
    echom 'mode ' . mode(1)
    let [g:lnum1, g:col1] = searchpos('-', 'Wb')
    if g:lnum1 == 0
        return "\<Esc>"
    endif
    let [g:lnum2, g:col2] = searchpos('-', 'W')
    if g:lnum2 == 0
        return "\<Esc>"
    endif
    return ":call Select()\<CR>"
endfunc
func Select()
    call cursor([g:lnum1, g:col1])
    normal! 1 v
    call cursor([g:lnum2, g:col2])
    execute "normal! \<BS>"
endfunc

I'm testing it on this file (cursor on x):
aaa - bbb
x
ddd - eee

As indicated by the comment, mode() doesn't actually help here to
recognize the forced motion. This only works for visual mode (vmap
and friends), where it can be used to recognize character, linewise or
blockwise visual mode. If invoked via omaps, it's always no,
regardless of whether I used di-, dvi- or dVi- (this last case
is the one which currently doesn't work as expected).

And there's also other cases where it doesn't work. If you're using
the matchit plugin (enabled by default), consider this example:
type Client struct {
	cache cache.Cache
}

Put your cursor on Client and type dV%. I'd expect it to delete
the three full lines, but it doesn't. The V is ignored again. I had
the matchit plugin disabled for a while because of this (without the
plugin in works).

But there's even a builtin which ignores force motion. Search for a
string which appears a few times in your document, then type dVgn.
I'd expect it to delete the full line which contains the next match,
but it only deletes the next match (character wise). If this would
work it would be a nice interactive alternative to :g//d.

OK, the "v" or "V" typed in operator pending mode actually doesn't
change the mode.  It's stored in motioin_force, and I don't see an
existing way to get its value.
We could modify mode() to add this info.  Currently we have "no" for
operator-pending, we could att eh motion_force after it.  I think that's
the most consistent way.
--
An actual excerpt from a classified section of a city newspaper:
"Illiterate?  Write today for free help!"
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

That sounds good to me. Thank you for moving this forward! 👍

Can we sum up the conclusion? I'll have a look then.

use mode(1) and in operator pending mode return in addition motion_force?
This only applies to operator pending mode?
@welle If I use your example, what do you expect for each of di-, dvi- and dVi- to behave?

@chrisbra: Thank you! I'd also suggest to include force_motion if it was forced to visual blockwise:

di-: mode(1) == 'no' (not changing behaviour in this case)
dvi-: mode(1) == 'nov'
dVi-: mode(1) == 'noV'
d^Vi-: mode(1) == 'no^V' (where ^V means a literal <Ctrl-V> in both places)

This is assuming that mode(1) returns a literal ^V when called from visual block mode. :help mode() is displaying it as CTRL-V, but I wasn't able to observe it in some quick testing (how do I call mode() without leaving visual mode?).

@chrisbra: Thank you! I'd also suggest to include force_motion if it was forced to visual blockwise:

you mean motion_force? But to be clear, this should only be output if in operator_pending mode, right?

...

Yeah, that's what I expected from our discussion. But I actually meant how the output of the text should look like :)

This is assuming that mode(1) returns a literal ^V when called from visual block mode. :help mode() is displaying it as CTRL-V, but I wasn't able to observe it in some quick testing (how do I call mode() without leaving visual mode?).

I usually stick in the mode() expression into a statusline option, so that one does not change modes to call :mode().

you mean motion_force?

Ah yes, of course!

But to be clear, this should only be output if in operator_pending mode, right?

Yes, in the examples below I meant what the expression mapping in my example would see, which is in operator pending mode.

Yeah, that's what I expected from our discussion. But I actually meant how the output of the text should look like :)

Ah, I see. In the example
111
aaa - bbb
x
ddd - eee
222

with the cursor on x, if I type di- it just deletes characterwise between the dashes:
111
aaa -- eee
222

The same should happen if I force it to be character wise (which it already is) with dvi-. However, if I type dVi- it should force linewise and delete the three full lines:
111
222

And if I do d^Vi- it should actually select the block around the dashes (in this very specific example) and I'd expect to end up with
111
aaabbb
x
dddeee
222

For reference the same already happens if I search for space, put the cursor after the first dash and type d^Vn, which is the same motion in this case and leads to the expected blockwise deletion.

I usually stick in the mode() expression into a statusline option, so that one does not change modes to call :mode().

Ah that's very smart! I managed to get ^V (literal, single character) for visual block mode in this case. (I did not manage to make it show no in operator pending mode though, having set statusline=%!mode(1) in my vimrc I typed diw slowly but only saw n all the time.)

Can you please check this patch: https://github.com/chrisbra/vim/commit/354480f39cfff01ebcaa948f27b431712be2159c

(I did not manage to make it show no in operator pending mode though, having set statusline=%!mode(1) in my vimrc I typed diw slowly but only saw n all the time.)

Yeah I noticed that. Possibly missing a screen redraw here (that would also update the statusline). But that is another topic  😳

@chrisbra: Thanks a lot, I just tested it with this updated code:
onoremap <expr> i- GetCommand()

func GetCommand()
    let g:motion_force = mode(1)[2]

    let [g:lnum1, g:col1] = searchpos('-', 'Wb')
    if g:lnum1 == 0
        return "\<Esc>"
    endif
    let [g:lnum2, g:col2] = searchpos('-', 'W')
    if g:lnum2 == 0
        return "\<Esc>"
    endif
    return ":call Select()\<CR>"
endfunc

func Select()
    " select characterwise
    call cursor([g:lnum1, g:col1])
    normal! 1 v
    call cursor([g:lnum2, g:col2])
    execute "normal! \<BS>"

    " potentially force linewise/blockwise
    if g:motion_force ==# "v"
        echom 'ignoring characterwise'
    elseif g:motion_force ==# "V"
        echom 'forcing linewise'
        normal! V
    elseif g:motion_force ==# "^V"
        echom 'forcing blockwise'
        execute "normal! \<C-V>"
    endif
endfunc

Your change works as expected and with the code above the text object now works as expected when forced linewise. 🎉
Interestingly forcing blockwise doesn't seem to work though. I experimented a bit and my feeling is that this is unrelated to your change though. If I put execute "normal! \<C-V>" into the "V" case, then I can force it to behave blockwise by typing dVi-.
With the version above (with <C-V> in the <C-V> case), instead it seems to select blockwise from the character the command was started on (x in our case) and the end of the selection. While it should do blockwise from start of selection to end of selection.
And I also tried that (d^Vi-) in Vim without your commit and it behaves in the same way. Looks like o_CTRL-V is already setting the start of the visual selection in a way so that the omap can't set it itself anymore.
Since it seems unrelated, and my initial request is fulfilled (I mostly care about forcing linewise) I'm fine with keeping it as it is and move forward with your change. I'm happy to open a separate issue about forcing blockwise if you want. If fixing forcing blockwise is easy, I'm of course also happy to have this included here, but I can't judge that.
Thanks again already for making linewise work! 👍

@wellle Maybe the issue you saw is due to the faulty check ==# "^V"?  should be literal ctrl-v.
@chrisbra thanks for working on this!

There was one problem with testing blockwise mode, as @andymass pointed out. Check for g:motion_force ==# "\<c-v>"
Ah, I see the other problem. In do_pending_operator we do explicitly set the start position of the visual mode to the start of the operator, if Ctrl-V has been pressed (this does not happen for characterwise or linewise visual mode) and this kind of defeats the whole purpose of your mapping. We might be able to only set it, if visual mode is not active. (I hope this does not break anything).
So all together the patch should look like this:
https://github.com/vim/vim/compare/master...chrisbra:motion_force?expand=1
I actually stumbled upon the problem yesterday when creating the testcase, but thought I made a mistake with the test. :(

Ah sorry, I actually had a literal <C-V> in my comparison, by copy pasting it here it became ^V (two characters). The escaped way is more clear though, thanks!
I just tried it again with your updated patch, and it works perfectly! 🎉
Thank you very much for you work! 👍

@chrisbra: Any update here?

Ok thanks!
@brammool: Do you think we can schedule this for release?


Use matches!() macro where applicable

Fixes clippy warning.
warning: match expression looks like `matches!` macro
  --> luomu-common/src/address.rs:20:9
   |
20 | /         match self {
21 | |             Address::Ipv4(_) => true,
22 | |             _ => false,
23 | |         }
   | |_________^ help: try this: `matches!(self, Address::Ipv4(_))`
   |
   = note: `#[warn(clippy::match_like_matches_macro)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro

Updating the MSRV to 1.42 allows to use matches!() macro.


Add -dx11 option

There is no such parameter option for Elden Ring because there is no directx 11 implementation.

it's a pity :(


Improved day numbers with preview of what the day's content is

It would be super nice if the various day numbers (especially in the "Podium per day" and "Stats per day" tables) would have some kind of (discoverable, accessible) tooltip or other extension to show what that day was about.
Especially looking at previous years, or even now in January looking back at past month, I struggle to know "what was that day again?". Being able to see "Day 21 'Dirac Dice'" and maybe a line or two fromt he page, would be nice.
Alternatively it could show, with a delay, a small popout window with the day in an iframe?
Need to be careful though as the days in the second table are already clickable button-like links. Not sure how the UX would work. In any case, leaving this trail/issue for myself for next year's edition.

Gave this some thought, but it's not trivial to do this. Some concerns:

Main concern: the feature should play nice with the AoC servers, and not cause malicious/overblown traffic. We can't just fire XHR's upon each hover of a day number.
Fragility: if we parse part of the HTML pages to find the title and first couple of paragraphs for a preview, that would rely on the html structure, which might change.
Hard-coding day titles (if even within what's allowed, since that content is copyrighted) doesn't work for the year when puzzles are coming out freshly.

I'm letting this issue sit until at least fall, not spending time on it until I at least know there will be a next edition of AoC at all.


Rename text= argument of Fill text

Rename the argument to something that doesn't conflict with Fill text  text=my_text_to_look_for syntax

The text selector does not seem to match the text value of an input field.
What should this match?

It can happen for cascading locators.
e.g. if a text label is next to your input field and you need to go one level up in the DOM you might have something like:
Fill text    text=Username >> .. >> input    Testuser
In such cases, you will get an error

Fixed in v4.0.0


FR RegEx for E7S

Work in progress. I think there's an error in the XIV files when it comes to adds name in French, which I expect to be fixed in a future patch. Blashemy and Idolatry currently have the same name in-game: https://i.imgur.com/fnkXoNP.jpg

This is complete.


Automatic Install of RenderDocCmd APK

This series adds the ability to have the RenderDocCmd APK automatically installed on devices that don't already have it, improving the workflow for Android.

It detects whether the server is present on the device and, if not, searches known locations for the APK (for distributions or local builds), installing the version that matches your target device.
You can also specify a custom location in cmake using -DRENDERDOC_APK_PATH

I can follow this up with a progress box while the install is happening, if folks like the direction.

Okay, all updates applied to the branch.  Retested on Windows and Ubuntu.


Open source : How to make a pr using git.

Description 📜

How to make a pr.

Domain of Contribution 📊

[x] Open Source

/assign


Consider disabling JSDOM by default

Do you want to request a feature or report a bug?
Default change proposal (semver breaking)
What is the current behavior?
Jest's default testEnvironment is jsdom. I understand the intention of Jest is to follow convention over configuration and make things like DOM testing very easy for beginners with minimal configuration, but there is a large overhead to having jsdom enabled by default (often 3 times as slow to boot per test suite in my experience) and I don't think most users even realize this is configuration.
What is the expected behavior?
I think swapping the default to node would be nicer (of course, not without deprecation warnings, semver major breaking changes, and possibly a helpful error message when the DOM is accessed in the Node env). While I tend to disable jsdom because I never need it, I often forget and I'd rather have the default settings optimize for performance in this case. I think this would keep the testEnvironment settings more consistent with Jest's other performance first defaults, like disabling coverage. It's also worth mentioning that many usages of Jest even in web code don't need jsdom, as shown in Jest's own documentation on react-test-renderer.

I think this could also go a long way to shed the perception that jest is only for testing React components or that it is in any way tied to testing for web experiences.

I understand this is a potentially controversial and breaking change, would it help if I started a PR or should I wait for a discussion with more collaborators?

The change should be pretty straightforward so I wouldn't recommend submitting it until we decide this is the direction we want to go
I agree that defaulting to node would be better, but I'm not sure when the timing would be right. This will be a breaking change for the majority of Jest users

@cpojer @aaronabramov @thymikee thoughts on this?
It's easier to google document is not defined than it is to discover your tests are a bit slower than they need to.
We could also potentially special case errors like document is not defined, window is not defined etc and provide a nice error message about setting environment.

I wonder if it possible to "detect" whether the code needs JSDOM or not?

Presence of imports "react", "jquery", ...
Use of the document global identifier.

You could have the default "testEnvironment": "auto".
Not so sure on the idea myself, but worth considering?

we'd have to scan the entire dependency tree before we'd be able to start the test then. The dependency tree we have today is built up by looking at the sourcecode of every single file, and extracting require/import with regexes... Not sure if it'd be reliable enough?

Auto seems too magical. I think we can just switch the default. CRA can keep setting it to jsdom.
We can, however, add the error messages that you pointed out @SimenB. Known DOM globals (document, window, etc.) should trigger the error and ask people to update their config.
Bonus points for a jest --updateConfig feature that will automatically update the config rather than asking people to copy-paste stuff. That of course only works if the config isn't passed as a JSON encoded string to --config. Would be a cool feature, also for the transformers! cc @thymikee

I like jest --updateConfig, but I think we should encourage the docblock comment if say less than 25% of the tests require jsdom. Maybe not feasible

yeah makes sense.

Node is the simplest built in env, right? Out of curiosity is there a third env?

@nickmccurdy Jest only provides implementations for node and jsdom test environments.

So in summary:
Jest 23.x

Add warning for when there's no explicit environment set, "changing default env to node in Jest 24"

Jest 24.0.0

Switch default to node
Add jest --updateConfig
Detect errors on document or window and recommend switching env to jsdom or --updatedConfig

Detect errors on document or window and recommend switching env to jsdom

We can do that now - it'd be a pretty useful error regardless of defaults

Good point, updated

PR very much welcomed for all except switching tye default (we'll do that closer to next major)!

@rickhanlonii I'd prefer not to have any warnings or force people to choose a test environment. Can we make it so we use the same warning/error message that recommends people to use @jsdom to put testEnvironment: "jsdom" into their code (ie. accessing window/document shows the warning if it's not already explicitly set)? That way people who use Jest for node testing won't have to be bothered with this.

Changing the default is a breaking change, but what we can do in the meantime is add the warning (document/window is not defined blahblah) and ask people to use jsdom env. The switching of defaults will be a simple config change for the next major

Hi, is it okay if I give this a shot ?
Also I could use some pointers to get going.

Yeah! Just update jest-config/src/defaults.ts or whatever it's called (on mobile currently)

Look for _execModule in jest-runtime for where to put the warning about window and document

I've opened up #8245 as an attempt to give a nicer error if the wrong environment is used. Once we land it (or something like it), we can switch default environment in Jest 25 to node

^ landed, let's swap default for 26

Wow huge

FYI this is planned for Jest 27 (source)

Indeed, I've added the linked PR to the 27 milestone, after we mentioned it in the last blog post :)

Since the default is changing to node, can jest-environment-jsdom not be a required dependency of jest-config? That would remove a bunch of warnings on install as well as make it a lot faster. These warnings are all from the latest jsdom

It'll be bundled in 27 to ease migration and removed in 28 (probably)
Mentioned in the blog post: https://jestjs.io/blog/2020/05/05/jest-26


fix: update stardoc module to 0.7.1

Found when creating a new Bazel module repository via bazel-contrib/rules-template, updating the libs to their latest version, and testing in CI with Bazel 8.0.0rc1.
That generates an error such as:
ERROR: Traceback (most recent call last):
        File "${BAZEL_DIR}/external/stardoc+/stardoc/BUILD", line 72, column 16, in <toplevel>
                srcs = glob(["*.jar"]),
Error in glob: glob pattern '*.jar' didn't match anything, but allow_empty is set to False (the default value of allow_empty can be set with --incompatible_disallow_empty_glob).
ERROR: ${REPO}/docs/BUILD.bazel:5:23: Target '@@stardoc+//stardoc:templates/markdown_tables/module_extension.vm' contains an error and its package is in error and referenced by '//docs:rules'

This was fixed by the 0.7.1 release of bazelbuild/stardoc.

This repo is green with the version of stardoc we're using, and whatever repo you created with rules-template is free to choose a newer version if it's red there. So I don't think we need this change (plus it's technically a breaking change as stardoc produces different output, hence this PR being red)


Add bandit telemetry support for opentelemetry-phoenix

https://github.com/samokat-oss/opentelemetry-bandit was released, that lib converts bandit telemetry to opentelemetry spans. In ths PR introduced integration for opentelemetry spans, like for cowboy.

This is awesome. Will take a look after the new year

@solar05 ping.
Simplebet will be able to invest time building the library out if we can get the transfer completed. We'd prefer to not have a second version in the ecosystem if at all possible.

@bryannaegele oh, sorry, got busy days! Moved core project. What kind of ownership is meant? Hexpm?

Awesome! Here's a PR template https://github.com/open-telemetry/opentelemetry-erlang-contrib/blob/main/.github/PULL_REQUEST_TEMPLATE/new_project_template.md for transferring. And yeah, the package transfer would be ownership to the org.

@bryannaegele update PR description according to the new project template, also transferred package ownership to opentelemetry.

Thank you! I'll try to get this merged this week.

@bryannaegele Is there a release planned for opentelemetry_phoenix to include the :bandit adapter to OpentelemetryPhoenix.setup/1?

@ianko we need a change in bandit and some refactoring to sign off on making it an option as it currently degrades the default behavior of the phoenix instrumenter. Once that all happens, we can expose it as an option.

Seconding @barkerja - is there somewhere we can follow this? Would be extremely timely and useful for us.


Update to new project source code layout [skip ci]

Source code layout refactored , main solution now is in th new vs 2017 format (csproj ) , keeping old solution for previous visual studio versions.

I'm waiting Sonar to release version 2.3 compatible with msbuild 15 ( https://jira.sonarsource.com/browse/SONARMSBRU/fixforversion/13265 ) to merge this pr.


Removed DateTimeFormatParserLegacy

I'm not sure if something got messed up during the rebase, but I don't see all of the changes -- I only see removing the comment from DateTimeFormatParser.cfg

[ ] Awaiting internal testing to prove safe removal

[ ]  Awaiting internal testing to prove safe removal

@nixon124 @jpdahlke Any update if this has been completed? Or blocked on other efforts

Closing in favor of re-visiting on next major version


.Net 4.0 framework release

Hi!
Add framework 4.0 build to release, please :)
On modern servers, by default, installed .net 4.0.
Install .net 2.0(3.5) are very difficult.

You can get around this by configuration by adding a .exe.config file with extra directives: http://www.davidmoore.info/blog/2010/12/17/running-net-2-runtime-applications-under-the-net-4-runtime/.
But, I do agree that having a native .Net 4 build would be good too (better).

I consider Dropping the .NET 2 support at all in WinSW 2 or 3

Duplicates #103 BTW

So, I have added the .NET4 packaging in #147. Would appreciate some testing and feedback

So the patch has been integrated.
Draft release: https://github.com/kohsuke/winsw/releases/tag/winsw-draft-v2.0-SNAPSHOT-build34


ifstar, ifnextchar

To ease the creation of starred TeX macros at the user level, it would be nice to include a TeX macro similar to @ifstar.  If possible @ifnextchar as well.
Attached is a working first-draft v3 solution for \ifstar (without the ampersand) based an example I found for custom-delimited macros.  (I'm sure it could be improved.)  Something similar would be a useful permanent addition to MathJax.

\(\newcommand {printone}[1]{\text {starred !}#1\text {! end}}\)

\(\newcommand {printother}[1]{\text {not starred !}#1\text {! end}}\)

\(\DeclareIfstar {\teststar}{\printone}{\printother}\)

\(\DeclareIfstar {\mytrig}{\sin}{\cos }\)

\(\DeclareIfstar {\myfrac}{\frac}{\cfrac }\)

Start.

\teststar: \(\teststar {abc}\)

\teststar*: \(\teststar *{abc}\)

\mytrig{x}: \(\mytrig {x}\)

\mytrig*{x}: \(\mytrig *{x}\)

a \myfrac{AA}{BB} c: \(a \myfrac {AA}{BB} c\)

a \myfrac*{AA}{BB} c: \(a \myfrac *{AA}{BB} c\)

End.

Thanks for your contribution.
We were hoping to go more into the direction of supporting xparse, instead of adding more TeX constructs for macro definition. However, I can see how the package can be useful and help users to quickly move their macros to MathJax.
Could you therefore put it into TypeScript and submit it to the MathJax third party extensions repository? We can then include it as an optional package into the MathJax distribution. If you have any questions on the Typescript code, I'll be happy to help.
I also have a few more questions in the follow up comments.

@ifstar can be strung together. I can't see a way how to do this with your \DeclareIfstar, without introducing an auxiliary macro.
Here's as an example the \ev command from the Physics package (here's the MathJax implementation) implemented with \Declareifstar:
\(\newcommand {\evnostar}[2] {\left\langle{#2}\right\vert{#1}\left\vert{#2}\right\rangle} \)
\(\newcommand {\evonestar}[2] {\langle{#2}\vert{#1}\vert{#2}\rangle} \)
\(\newcommand {\evtwostar}[2] {\left\langle{#2}\middle\vert{#1}\middle\vert{#2}\right\rangle} \)

\(\DeclareIfstar {\evstar} {\evtwostar} {\evonestar} \)
\(\DeclareIfstar {\ev} {\evstar}{\evnostar} \)

And some output examples:

\ev{\frac{1}{A}}{{B}}: \[\ev{\frac{1}{A}}{{B}}\]
\ev{\frac{1}{A}}{\frac1{B}}: \[\ev{\frac{1}{A}}{\frac1{B}}\]
\ev{{A}}{\frac1{B}}: \[\ev{{A}}{\frac1{B}}\]

\ev*{\frac{1}{A}}{{B}}: \[\ev*{\frac{1}{A}}{{B}}\]
\ev*{\frac{1}{A}}{\frac1{B}}: \[\ev*{\frac{1}{A}}{\frac1{B}}\]
\ev*{{A}}{\frac1{B}}: \[\ev*{{A}}{\frac1{B}}\]

\ev**{\frac{1}{A}}{{B}}: \[\ev**{\frac{1}{A}}{{B}}\]
\ev**{\frac{1}{A}}{\frac1{B}}: \[\ev**{\frac{1}{A}}{\frac1{B}}\]
\ev**{{A}}{\frac1{B}}: \[\ev**{{A}}{\frac1{B}}\]

Here is how I would have implemented it in LaTeX with @ifstar.
\documentclass{article}

\makeatletter
\newcommand{\@evnostar}[2]{\left\langle{#2}\right\vert{#1}\left\vert{#2}\right\rangle}
\newcommand{\@evonestar}[2]{\langle{#2}\vert{#1}\vert{#2}\rangle}
\newcommand{\@evtwostar}[2]{\left\langle{#2}\middle\vert{#1}\middle\vert{#2}\right\rangle}
\def\ev{%
  \@ifstar{\@ifstar{\@evtwostar}%
    {\@evonestar}}%
  {\@evnostar}}
\makeatother

\begin{document}
\[
  \ev{\frac{1}{A}}{{B}}\qquad
  \ev{\frac{1}{A}}{\frac1{B}}\qquad
  \ev{{A}}{\frac1{B}}
\]

\[
  \ev*{\frac{1}{A}}{{B}}\qquad
  \ev*{\frac{1}{A}}{\frac1{B}}\qquad
  \ev*{{A}}{\frac1{B}}
\]

\[
  \ev**{\frac{1}{A}}{{B}}\qquad
  \ev**{\frac{1}{A}}{\frac1{B}}\qquad
  \ev**{{A}}{\frac1{B}}
\]

\end{document}

Can you see a way to adapt your implementation to get around the auxiliary macro?

We were hoping to go more into the direction of supporting xparse

That would be great, if it can be done.

Could you therefore put it into TypeScript and submit it to the MathJax third party extensions repository? We can then include it as an optional package into the MathJax distribution. If you have any questions on the Typescript code, I'll be happy to help.

I'd rather someone who already knows the MathJax internals take care of that.  There may be room for improvement or additional features, such as a single extension which adds functionality for @ifstar, @ifnexchar, and perhaps some kind of general \if construct.

@ifstar can be strung together. I can't see a way how to do this with your \DeclareIfstar, without introducing an auxiliary macro.

I haven't tried it, but perhaps parser.GetStar(); could be made to work twice in a row, if it doesn't already.  But I've reviewed hundreds of packages and only seen a double-starred macro once.  I have seen several examples of macros which parse by other characters, or with an optional number of trailing group-delimited arguments.

(Perhaps this should be discussed elsewhere:)
A general concern I have regarding MathJax extensions is that the LaTeX Lwarp package currently offers MathJax support for more than 50 packages.  Using TeX macros has some advantages in that it keeps everything in one place, is easier to maintain, may be less likely to break between MathJax versions, and is easier for the user to install locally.  On the other hand, there is a short delay at each compile as the MathJax customizations are compiled by TeX, and another delay as all those TeX macros are processed by MathJax, so perhaps extensions would be faster in use.

I almost have Ifnextchar working.  If I take GetStar from the MathJax source, and insert a modified version of it in a script as GetNextChar, as follows:
  const GetNextChar = (whichchar) => {
    let gotchar = (this.GetNext() === whichchar);
    if (gotchar) {
      this.i++;
    }
    return gotchar;
  }

The question is, what is this in this case?
If we can get this working, and if it can look ahead to see an incoming left brace, then the enhanced syntax of a number of physics package macros becomes possible.

The question is, what is this in this case?

It is the parser that is passed as the first argument to any of the functions that implement a macro or special character.  E.g., Declare_Ifstar(parser, name) gets the parser and the name of the macro that has called it (many macros are defined using the same JavaScript function, so the name can be used to distinguish macro one it was).

Attached is a MWE for DefineIfNextChar, with examples for paren and brace parsing.
I had to pass and compare with an ASCII value for the character to look for, to allow specifying the brace character.
Thanks for helping to get all this working.

<!DOCTYPE html>

<meta charset="UTF-8" />

\(\def \printyesparen (#1){\text {paren, \#1 is }#1}\)

\(\newcommand {\printnoparen }{\text {not paren, followed by }}\)

\(\DeclareIfnextchar {\testnextparen }{0x28}{\printyesparen }{\printnoparen }\)

\(\newcommand {\printyesbrace }[1]{\text {brace, \#1 is }#1}\)

\(\newcommand {\printnobrace }{\text {not brace, followed by }}\)

\(\DeclareIfnextchar {\testnextbrace }{0x7B}{\printyesbrace }{\printnobrace }\)

\testnextparen abc:   \(\testnextparen abc\)

\testnextparen {abc}:   \(\testnextparen {abc}\)

\testnextparen (abc):   \(\testnextparen (abc)\)

\testnextbrace abc:   \(\testnextbrace abc \)

\testnextbrace {abc}:   \(\testnextbrace {abc} \)

.. and the above DeclareIfnextchar method appears to become a sloppy mess when attempting a variable number of braced arguments to a macro, so I'll look into another approach soon.

The attached goes back to the original approach, which is much more like LaTeX, does not require \DeclareIfstar and \DeclareIfnextchar, and makes it easy to process arguments.  Only two new macros are defined: \ifstar{yes}{no}, and \ifnextchar{ASCII value}{yes}{no}.  The ASCII value is because it is hard to pass a brace character as an argument from LaTeX.  This file also creates two virtual packages, and they really should be combined into one.
<!DOCTYPE html>

\(\newcommand {\showtwostar }[1]{\text {two stars}~!#1!}\)
\(\newcommand {\showonestar }[1]{\text {one star}~!#1!}\)
\(\newcommand {\shownostar }[1]{\text {no stars}~!#1!}\)
\(\newcommand {\teststar }{
    \text {ifstar} \quad \ifstar {\ifstar {\showtwostar }{\showonestar }}{\shownostar }
} \)

\(\text {before} \quad \teststar {xyz} \quad \text {after}\)

\(\text {before} \quad \teststar *{xyz} \quad \text {after}\)

\(\text {before} \quad \teststar **{xyz} \quad \text {after}\)

\(\def \nextcharparen (#1){\text {paren}~(#1)}\)
\(\newcommand {\nextcharbrace }[1]{\text {brace}~\{#1\}}\)
\(\newcommand {\nextcharnone }{\text {none}~}\)
\(\newcommand {\testbraceparen }{
    \text{testbraceparen}~ \ifnextchar {0x28}
        {\nextcharparen }
        {\ifnextchar {0x7B}{\nextcharbrace }{\nextcharnone }}
} \)

\(\text {before} \quad \testbraceparen {xyz} \quad \text {after}\)

\(\text {before} \quad \testbraceparen (xyz) \quad \text {after}\)

\(\text {before} \quad \testbraceparen xyz \quad \text {after}\)

\(\newcommand {\varnumargsfour}[4]{\text {Four args} !#1!#2!#3!#4!}\)
\(\newcommand {\varnumargsthree}[3]{\ifnextchar {0x7B}{\varnumargsfour {#1}{#2}{#3}}{\text {Three args} !#1!#2!#3!} } \)
\(\newcommand {\varnumargstwo}[2]{\ifnextchar {0x7B}{\varnumargsthree {#1}{#2}}{\text {Two args} !#1!#2!} } \)
\(\newcommand {\varnumargsone}[1]{\ifnextchar {0x7B}{\varnumargstwo {#1}}{\text {One arg} !#1!} } \)
\(\newcommand {\varnumargs}{\ifnextchar {0x7B}{\varnumargsone }{\text {No args}} } \)

\(\varnumargs abc\)

\(\varnumargs {first}\)

\(\varnumargs {first}{second}\)

\(\varnumargs {first}{second}{third}\)

\(\varnumargs {first}{second}{third}{fourth}\)

I'm glad that you are making such good progress with your package, here, and I'm glad that you went back to \ifstar and \ifnextchar, which is clearly the correct approach (I was going to suggest that you do that, but you beat me to it).
I do think, however, that you have been somewhat mislead by the \DeclarePairedDelimiters example that you started with into working much harder than you need to.  You don't need the dynamic command maps and and the configuration options (these were needed because \DeclarePairedDelimiters created new specialized macros, so needed a map to put those into, and we also wanted to be able to pre-configure some of these declarations).  In your case, you only need to provide two pre-defined macros (\ifstar and \ifnectchar) and so can use a pre-defined command map that contains those two macros.  You don't need tex options to do this (only loading the package), and can use the standard macros option to predefine any macros that use \ifstar and \ifnextchar, so you don't need a special option for that.
Here is a configuration object that does it:
MathJax = {
  startup: {
    ready() {
      //
      //  These would be replaced by import commands if you wanted to make
      //  a proper extension.
      //
      const Configuration = MathJax._.input.tex.Configuration.Configuration;
      const TexError = MathJax._.input.tex.TexError.default;
      const ParseUtil = MathJax._.input.tex.ParseUtil.default;
      const CommandMap = MathJax._.input.tex.SymbolMap.CommandMap;

      //
      //  Insert the replacement string into the TeX string, and check
      //  that there haven't been too many maxro substitutions (prevents
      //  infinite loops).
      //
      const useArgument = (parser, text) => {
        parser.string = ParseUtil.addArgs(parser, text, parser.string.slice(parser.i));
        parser.i = 0;
        if (++parser.macroCount > parser.configuration.options.maxMacros) {
          throw new TexError('MaxMacroSub1',
          'MathJax maximum macro substitution count exceeded; ' +
          'is there a recursive macro call?');
        }
      }

      //
      //  Create the command map for \ifstar and \ifnextchar
      //
      new CommandMap('ifstar-ifnextchar', {
        ifstar: 'Ifstar',
        ifnextchar: 'Ifnextchar'
      }, {
        //
        //  This function implements an ifstar macro.
        //
        Ifstar(parser, name) {
          const resultstar = parser.GetArgument(name);
          const resultnostar = parser.GetArgument(name);
          const star = parser.GetStar();                      // true if there is a *
          useArgument(parser, star ? resultstar : resultnostar);
        },

        //
        //  This function implements an ifnextchar macro.
        //
        Ifnextchar(parser, name) {
          let whichchar = parser.GetArgument(name);
          if (whichchar.match(/^(?:0x[0-9A-F]+|[0-9]+)$/i)) {
            whichchar = String.fromCodePoint(parseInt(whichchar));
          }
          const resultnextchar = parser.GetArgument(name);
          const resultnotnextchar = parser.GetArgument(name);
          const gotchar = (parser.GetNext() === whichchar);
          useArgument(parser, gotchar ? resultnextchar : resultnotnextchar);
        }
      });

      //
      //  Create the ifstar-ifnextchar package
      //
      Configuration.create('ifstar-ifnextchar', {
        handler: {macro: ['ifstar-ifnextchar']}
      });

      MathJax.startup.defaultReady();
    }
  },
  tex: {
    packages: {'[+]': ['ifstar-ifnextchar']}
  }
}

This works with the rest of the document that you provide above.  It would then be easy to package this code as a separate TeX extension that provides the two macros.  Or you could make two packages, one for each macro.

PS, I also made \ifnextchar allow either a character (other than {, } or \) as its argument or the hex string like you were using.  That would allow you to do \ifnectchar ( {yes}{no} and also \ifnextchar {0x7B} {yes}{no} as you are doing now.

The latest code works well, and allows a more complete emulation of the physics package.
Is there any way to test the next token in the input stream?  The physics package syntax has some macros which look for tokens such as \big and change their behavior accordingly.
And can MathJax create a macro name which includes the @ character, such as \@ifnextchar instead of \ifnextchar?

The latest code works well, and allows a more complete emulation of the physics package.

Just to be sure, you do know that there is already a MathJax v3 implementation of the physics package, right?  See the documentation.

Is there any way to test the next token in the input stream?

Well, there is a GetCS() command that reads the next control sequence name.  You could use GetNext() to get the next character, and if it is a backslash, call GetCS() to obtain it.  This does increment the index to the end of the control sequence, so if it's not what you want, would need to set that back to the position of the backslash (cache the index before calling GetCS()).

can MathJax create a macro name which includes the @ character

No, MathJax does not implement TeX's idea of \catcode, and so the rules for what constitute macro names is fixed.  You can't make "hidden" macros like the LaTeX ones containing @ in MathJax.  This is because the code for macros in MathJax was intended to be implemented in JavaScript, not via TeX macros.  That is outside the scope of MathJax's design.
Of course, someone could make a MathJax extension that does provide for that kind of processing (you are on the way to doing that), but providing for different category codes like \catcode does would take some work.

you do know that there is already a MathJax v3 implementation of the physics package, right?

Welcome to the Perils of Parallel Programming Progress.  No, I only knew about the older version, whose web page does not mention that there is a newer version for MathJax 3.  The v3 version does have a few issues, but I'll have Lwarp use it instead, as the extension loads faster than the custom macros.
The \ifstar and \ifnextchar macros developed here will still be used for other packages such as mathtools.


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
ede5101 -> f3a80f0

terraform-ibm-modules/common-pipeline-assets
action
patch
v1.22.0 -> v1.22.1

Release Notes

terraform-ibm-modules/common-pipeline-assets (terraform-ibm-modules/common-pipeline-assets)
v1.22.1
Compare Source
Bug Fixes

fix permissions required for GH Pages Release pipeline (#684) (d1434dc)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

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


Snapshots table defines three primary keys

The snapshots table defines three primary keys, which is illegal:
  class Snapshot(_tableTag: Tag) extends Table[SnapshotRow](_tableTag, _schemaName = snapshotTableCfg.schemaName, _tableName = snapshotTableCfg.tableName) {
    def * = (persistenceId, sequenceNumber, created, snapshot) <> (SnapshotRow.tupled, SnapshotRow.unapply)

    val persistenceId: Rep[String] = column[String](snapshotTableCfg.columnNames.persistenceId, O.Length(255, varying = true), O.PrimaryKey)
    val sequenceNumber: Rep[Long] = column[Long](snapshotTableCfg.columnNames.sequenceNumber, O.PrimaryKey)
    val created: Rep[Long] = column[Long](snapshotTableCfg.columnNames.created)
    val snapshot: Rep[Array[Byte]] = column[Array[Byte]](snapshotTableCfg.columnNames.snapshot)
    val pk = primaryKey("snapshot_pk", (persistenceId, sequenceNumber))
  }

Essentially this is saying that the persistenceId column is the primary key, the sequenceNumber column is the primary key, and there is also a composite primary key of the two of them.  Here's an example schema that Slick will generate for this:
create table "snapshot" (
  "persistence_id" VARCHAR(255) NOT NULL PRIMARY KEY,
  "sequence_number" BIGINT NOT NULL PRIMARY KEY,
  "created" BIGINT NOT NULL,
  "snapshot" BLOB NOT NULL
);
alter table "snapshot" add constraint "snapshot_pk" primary key("persistence_id","sequence_number");

No database will execute this successfully since there are three primary keys defined.  The O.PrimaryKey option should be removed from the column definitions.

PR to fix in #72.

Hi, this is true, but for the fact that this workaround is necessary to get the UPSERT functionality working with Slick see Slick Issue #966 - Scala's Slick with multiple PK insertOrUpdate() throws exception ERROR: syntax error at end of input, as it stands, we must wait for slick 3.2.0

Interesting.  Right now I have a work around that simply removes "PRIMARY KEY" from the DDL statement, so I'll keep that.

Does this workaround break the UPSERT workaround?

No, the work around is completely separate from Slick, it's just taking the raw DDL statement strings as returned by schema.createStatements and doing a String.replace on them before creating the tables.


Fix typo in bitness

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

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


[collector trace exporter] Work around Cloud Trace attribute size limits by copying event-level stacktrace to span-level

Context

Cloud Trace imposes a low limit (either 256 bytes or 16kB depending on where you look) on span and attribute labels, but provides a special label or a dedicated proto field for stacktraces (which can be up to 10MB).
Because OTel represents stacktraces as event attributes, most of them end up getting truncated, resulting in greatly reduced troubleshooting value.

Proposal

Add a config option to the Cloud Trace exporter, which copies the un-truncated event-level stacktrace to one of the span-level choices that would permit larger values.
If a span has multiple events, choose the one that's chronologically latest.
Make this config option be on by default.

Going to close this out in favor of a different server-side approach we want to explore first.

@punya Is there another issue that we can subscribe to for updates? I'm currently attaching stacktraces via opentelemetry (although from java, but seems like this does not matter) and they get truncated after 256 byte in the cloud trace ui, which makes them kind of unusable. Is there any workaround that we can implement?

Hi @nioncode. We're actively working on relaxing this limitation on the server-side, but there's no public tracker or workaround at the moment.


⚠ gorzdrav.org has degraded performance

In c06f0f1, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 3553 ms

Resolved: gorzdrav.org performance has improved in f633b9f.


chronyd.service file is not created properly

I am using this cookbook an Amazon Linux 2
The cookbook created a new unit file at /etc/systemd/system/chronyd.service
But it is missing

When the service is started by cookbook itself, it gives error:

So, my questions are:

Why a new unit file is created when chronyd.service already exist at /usr/lib/systemd/system/chronyd.service
Why is it missing ExecStart, ExecStartPost, etc.
Is this cookbook supported on Amazon Linux 2?

It is a blocker for my team.
Can anyone please look into it


ROS2 timeline

Hello developers,
I saw in the relaxed_ik repo that you were planning to release a ROS2 version of the RelaxedIK package. Do you have a timeline for when you expect to do this?
Thanks!
Robert

Hi @Robert-Ven, we just released a ROS2 wrapper. Please refer to: https://github.com/uwgraphics/relaxed_ik_ros2


Add Cookies to Account Creation

This task shouldn't take too long.
Just add all the necessary cookies/local storage when an account is created. (e.g. user access token)

/cib add cookies to account creation

Branch 7-add-cookies-to-account-creation created!


Add support for password field in Form Helper

As suggested in issue https://github.com/tombenner/wp-mvc/issues/76 I added a new method in MvcFormHelper to support password fields

Thanks!


Support single executable applications in Node.js

ref: https://nodejs.org/api/single-executable-applications.html
TODO

[ ] Use common.js
[ ] Prepare a prompt to enter the API KEY in cli

not support


Altitude estimate is drifting

Here is another <4 min flight where the baro didn't drift at all but the altitude estimate drifted 7 meters.
Logfile

This was caused by hardware failure and altitude "drifted" after impact.

@CarlOlsson I think the effect you are seeing is due to the effect that the vehicle hit the ground at the end.
If you look at your baro innovations then they don't showy any long term bias, so I don't think this is a problem.

@CarlOlsson What do you mean by hardware failure?

Yes in this case it was a bit difficult to say how much the altitude drifted but what do you think of the log file linked here:
https://github.com/PX4/ecl/issues/44
Why does LPOS_Z drift more than the baro?


forkOptions.jvmArgs should not be @Nullable

Current Behavior
https://github.com/gradle/gradle/blob/v8.10.0/platforms/jvm/language-jvm/src/main/java/org/gradle/api/tasks/compile/BaseForkOptions.java#L82
Expected Behavior
getJvmArgs should not have @Nullable
Context (optional)
No response
Steps to Reproduce
//build.gradle.kts
tasks.withType<ScalaCompile> {
  scalaCompileOptions.forkOptions.jvmArgs.add("-Xss4m")
}

Gradle version
8.10
Build scan URL (optional)
No response
Your Environment (optional)
No response

Unfortunately, it can be set to null:
https://github.com/gradle/gradle/blob/fef2edbed8af1022cefaf44d4c0514c5f89d7b78/platforms/jvm/language-jvm/src/main/java/org/gradle/api/tasks/compile/BaseForkOptions.java#L95-L101
This is not saying that it makes sense, but the reality of the current code.
Changing this also is a breaking change for the Kotlin DSL.
And finally, with the upcoming Provider API migration, this could be resolved by changing the type to be ListProperty<String>


[Bug]: Cannot add note to a specific loan

Steps to reproduce the bug
1. When I try to access this loan in the INHS insect collection project:
https://sfg.taxonworks.org/loans/1872
2. And then I try to add a new note
3. Then it gives me an error.

Screenshot

Expected behavior
Should be able to add another note
Additional Screenshots
No response
Environment
Production
Sandbox Used
No response
Version
0.36.0
Browser Used
Chrome

@tmcelrath somehow the Loan is invalid, go to the loan, save it, get the message, fix problem, and it will work.

... aaaaand it turns out there are 2173 of these.  Not sure what todo.

Loan is invalid b/c it didn't have a "Date Returned Expected." Fixed by fixing this and then adding note.

I can't search for this, but are there 2172 loans without a "Date Return Expected" which is now required?

If so, can we programmatically  add a due date of two years after the "Date Sent" Date, if one exists?

Yeah, can confirm 644 records as "Is Overdue", with 69 records as "Not Overdue", but 3547 loans total. Those do not add up and they should be one or the other.


Configure versioning for S3 bucket

Is it possible to configure versioning when creating a bucket with sst?
I see that via transform, something like this should work:
transform: {
                bucket: {
                    versionings: [
                        {
                            enabled: true,
                            mfaDelete: false
                        }
                    ]
                }
            }

But this is deprecated already in pulumi and I also don't know why it is an array of objects...
Thanks!

Released v3.1.48. You can set versioning: true on a bucket to enable it.

Thank you!


Have problem understanding how to set Local in jQuery.

Hi, great selection library.
Need to set language (or Locale variable) on selectivity with use of selectivity-jquery.js and have tried:

And it did not work.
Have seen and read Configuring the local messages #69 which points to msx2/selectivity-rails example of setting language which I think tells me to the above way.
Is there a new way to set the language in 3.0?

Do not understand how to do this the best way.
The Locale object is exported as a commonjs module and included in all places used in the code.
In the selectivity-jquery.js file I see the commonjs code and to my understanding the jQuery code is created with use of browserify and dereq.
This means that even if I try to do some own locale.js override file, the code that loads the translations will always be the a local local.js found in src folder of the project.
My solution to the problem is replacing the local.js file and build my own selectivity-jquery.js file.
I do not think this is the best way for users to have to do, so if anyone know an other way when using the selectivity-jquery.js file I would like know how to do it.

This indeed seems an oversight in the 3.0 release. If you install Selectivity through NPM this shouldn't be a big problem, as you can just assign your own messages like this:
var Selectivity = require('selectivity');
Selectivity.Locale.noResultsForTerm = function (term) {
    return 'Can not see this text ' + escape(term) + '';
};

But if you want to use a pre-built version it appears there's no easy way to get to the Selectivity object for customization. I hadn't noticed this yet because I indeed use custom builds myself as well. I'll think about how I can make this more accessible for the next release...

I've also added an explanation on how to do customizations to the README: 5e9d99c


Add icons for lesser-known/scientific languages

Added icons for:

Gnuplot scripts: resolves #191
APL (both traditional and Dyalog flavours)
LISP
FORTRAN
Ada

I losslessly reduced the filesize of the package's preview image using TinyPNG, and tidied up icons.less to be easier to navigate for other contributors (couldn't help myself, sorry).
That's all, folks.

Looks great to me, thanks!


CAMEL-18253: prevent the code from reporting an invalid number of duplicates

This removes the counter from the KafkaIdempotentRepository since duplicates are already correctly accounted for in the IdempotentConsumer class

Not a major one and it can wait .1 if there's no time.


[bump] package version for server (patch)

        @fluidframework/build-common:     0.24.1 (unchanged)
 @fluidframework/eslint-config-fluid:  0.29.1000 (unchanged)
  @fluidframework/common-definitions:  0.21.1000 (unchanged)
        @fluidframework/common-utils:  0.33.1000 (unchanged)
@fluidframework/protocol-definitions: 0.1028.3000 (unchanged)
                               Azure:      1.1.0 (unchanged)
                              Server: 0.1036.5000 -> 0.1036.5001
                              Client:      1.1.0 (unchanged)
              @fluid-tools/benchmark:     0.41.0 (unchanged)
                         tinylicious:      0.4.0 (unchanged)
 @fluidframework/azure-local-service:      0.1.0 (unchanged)

Also remove pre-release dependencies for server
Server -> ^0.1036.5000
For more information about how to contribute to this repo, visit this page.
For specific guidelines for Pull Requests in this repo, visit this wiki page.
The sections included below are suggestions for what you may want to include.
Feel free to remove or alter parts of this template that do not offer value for your specific change.
Description

A concise description of the changes (bug or feature) and their impact/motivation.
If this description is short enough to be used as the title, delete this section and just use the title.

For bug fixes, also include specifics of how to reproduce it / confirm it is fixed.

If this Pull Request should close/resolve any issues when merged, use the special syntax for that here.

Reviewer Guidance

List any specific things you want to get reviewer opinions on, and anything a reviewer would need to know to review this PR effectively.
Things you might want to include:

Questions about how to properly make automated tests for your changes.
Questions about design choices you made.
Descriptions of how to manually test the changes (and how much of that you have done).
etc.

If you have any questions in this section, consider making the PR a draft until all questions have been resolved.

Does this introduce a breaking change?

If this introduces a breaking change, please describe the impact and migration path for existing applications below.
See Breaking-vs-Non-breaking-Changes for details.
If there are no breaking changes, delete this section.

Any relevant logs or outputs

Use this section to provide either screenshots or output of logs as code snippets

Other information or known dependencies

Any other information or known dependencies that is important to this PR.
Links to internal bug/work tracker items.
TODO that are to be done after this PR.

@jatgarg, did you run npm install under server/routerlicious after making the package update? looks like neither package-lock.json nor lerna-package-lock.json were updated.

@jatgarg, did you run npm install under server/routerlicious after making the package update? looks like neither package-lock.json nor lerna-package-lock.json were updated.

@hedasilv  The bump tool automatically does that, we don't do it manually. Seems like there was nothing to update in those files. Do you find anything which needed to be upgraded?

@jatgarg, did you run npm install under server/routerlicious after making the package update? looks like neither package-lock.json nor lerna-package-lock.json were updated.

@hedasilv The bump tool automatically does that, we don't do it manually. Seems like there was nothing to update in those files. Do you find anything which needed to be upgraded?

Got it, thanks @jatgarg  😄  I didn't check it manually this time. But in the recent past, after package bumps across the repo, we've noticed that package-lock.json and lerna-package-lock.json sometimes do not get updated -  so next time we send a PR, they get updated as part of the unrelated PR because we ran npm i in the process. Example: https://github.com/microsoft/FluidFramework/pull/10419/files


retessellate performance improvement suggestion

retessellate is meant to group together coplanar polygons.
In it's current format, it goes through each polygon and checks if it belongs to an existing group. If it doesn't, it creates a new group with that polygon.
This approach performs best when there is a high number of coplanar polygons, because there's a low number of groups to check against. On the other hand if there's a low number of coplanar polygons it has an O(n^2) execution time, because we have tons of groups with only 1 polygon inside.
My assumption is that in most cases we end up with a low number of coplanar polygons and this function could be optimized using the following logic:

Sort all polygons based on their plane's distance to the origin.
Go through the sorted array and cluster together polygons with the same distance to origin within a certain threshold (i.e. 0.00000015). If the difference in distance is higher than that the polygons are not coplanar.
Go through each cluster. If it only has one element we don't need to do anything more. If it has multiple elements we could use the existing logic to create groups of coplanar polygons.

As opposed to the existing implementation this one performs best when there's a low number of coplanar polygons.
I've tested this implementation with a few different geometries (around 15k polygons each) and noticed a 4-5x improvement in execution time.

Hey @t1u1 I'm one of the developers of Sweep.
Looks like the search index for this repo didn't initialize properly. I'll dig a bit into this issue. In the meantime, does Sweep's response sound like it's on the right track? Thanks.

Woops I re-deployed the fixes to dev instead of prod. I'll give it one last try since I don't want to spam your notifications.

@t1u1 Hey I forked the repo and tested it on the fork, how does this PR look? https://github.com/sweepai/OpenJSCAD.org/pull/2

@kevinlu1248 Thanks for looking. The PR looks good (will need to test it more thoroughly).
I don't mind getting some spam notifications. Small price to pay for automatic PRs :)

@t1u1 Glad to hear. Feel free to go crazy with testing. By the way, do you mind joining our Alpha testing server? https://discord.gg/XA2ptgce


SOLR-14660 - move HDFS to a contrib module

https://issues.apache.org/jira/browse/SOLR-14660
Description
This PR moves HDFS from Core to a Contrib module.
Note: I kept separate commits to make it easier to review and to change / revert if necessary. They can be squashed once everything is polished and we have a green light.
Solution

A new contrib module has been created with its own build
HDFS classes have been moved to the new module
This PR does not yet take advantage of the Solr packaging system, this is just a separate module. Implementing as a package will be a next step.
HDFS directory direct references have been removed from Solr core (for example the UpdateHandler had a direct reference to HdfsDirectoryFactory, removed it so it works the same way as other directory factories and can also be loaded as a plugin (core.getResourceLoader().newInstance(ulogPluginInfo, UpdateLog.class, true);)
Solr Core still has some Hadoop-related (but non HDFS-related) classes (mostly Hadoop authentication), these are still left in Core , if they need to be separated, they will be handled in a separate jira
The block cache feature was only used by HDFS, moved to the contrib module)
The only change needed to use this module is to include its jar on the classpath (for example symlinking the jar to the web-inf/lib of the webapp), no changes to the solrconfig.xml are needed.
DirectoryFactory had DirectoryFactory.java: public final static String LOCK_TYPE_HDFS   = "hdfs";  , but this was only referenced from the tests and from HdfsDirectoryFactory, removed it.
Removed the deprecated flags from the code and the warning from the ref guide.
Changed reference in ref guide to the new location of HdfsDirectoryFactory.
Added a simple readme markdown doc

Tests

Existing tests have been moved to the new contrib module where needed
Test have been refactored where a Hdfs test was extending a Core test class. For example, HdfsChaosMonkeyNothingIsSafeTest (hdfs test) extends ChaosMonkeyNothingIsSafeTest (core test).
Gradle does not allow dependencies between test projects of 2 different modules, so in such cases I introduced an abstract base class (here AbstractChaosMonkeyNothingIsSafeTest) which is extended by both. A good place to store these classes would be the test fixtures feature of gradle which is especially designed for this purpose, however some of the gradle plugins Solr uses fail because they are not compatible with fixtures (see https://issues.apache.org/jira/browse/SOLR-14660?focusedCommentId=17409690&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17409690 ), so I moved these classes to the Solr Test Framework project.
Solr core had some helper classes which are core related but they are also referenced by the hdfs classes (for example the MockCoreContainer.java) - moved those to gradle test fixtures of the Core project, and later moved them to the test framework
I also created a Cloudera CDP test release and built a cluster with HDFS and Solr and tested there
TestBackupRepositoryFactory had some references to HdfsBackupRepository, but the test case is not hdfs related. Removed that part.
HDFSRecoveryZKTest was also failing before this change. Added an AwaitsFix annotation, needs to be fixed separately.

Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[x] I have added documentation for the Reference Guide

The block cache feature was only used by HDFS, moved to the contrib module)

Is it possible to use it in some other/generic Directory impl?  I haven't looked at it closely but in my mind it was fundamentally intertwined with HDFS but maybe I'm wrong.

BTW I went through all the files and there aren't THAT many files that need to be reviewed for real changes.

~344/447 are just test-files - a lot could be removed?
~57/447 - are primarily just only moves
46 are real changes

Note that the build.gradle of solr-core has since been improved by me to more clearly organize the dependencies and to use transitive=false much less.

I'm concerned about this missing changes to the Hadoop code from the endianness fix, the upgrade to 3.3.1, and whatever else we've had to patch up since this PR was originally opened. What is our strategy for keeping things in sync.

I'm concerned about this missing changes to the Hadoop code from the endianness fix, the upgrade to 3.3.1, and whatever else we've had to patch up since this PR was originally opened. What is our strategy for keeping things in sync.

@warperwolf and I have been recently talking about this. I've been keeping an eye on the changes that have been made to the Hadoop code and this PR so it shouldn't be terrible to keep up to date. We should get this merged as soon as reasonably ready to avoid having to keep it in sync any longer.

(me) I'm most concerned with the apparent duplication of tons of Solr test configs. How can we avoid that?

I'd be a hack but I wonder if this contrib could declare a test resource "input" pointing to a sub-directory of solr-core test configs? I'd take almost any hack over duplicating all that test config.

@dsmiley @risdenk @madrob in commit https://github.com/apache/solr/pull/324/commits/2ec7d59195238473a7e6e6e7c5fee0112cf20f40 I deleted all test resource files from the hdfs module and I added a gradle step to it which copies all the resource files from solr core's test-files to the build/resources/test directory of the hdfs module. A better solution could be to modify the test classes of the HDFS module to point to the resource files in the core's test-files directory, however the test base classes like SolrTestCaseJ4 load resources through the class loader (so that they end up being loaded from the build/resources/test directory of the module we are testing at the moment), and this resource loading seems to occur at various locations, so it would take some time to tweak these.  For now I'd suggest going with this resource copying solution and change the tests later in a separate ticket. (File copying occurs only on hdfs test execution, and this resolves the original issue of having to maintain 2 set of resource files in git.)

So current status as I see it:

render-javadoc needs a little more attention - basically shouldn't need so many changes
Abstract*Base test files moved to test-framework - not sure they are needed, but its a lot of the changes in this besides the move.

I think all of the other comments from @dsmiley and @madrob have been addressed by @warperwolf
I'm planning to look into the above a bit more tomorrow. @warperwolf, @dsmiley, @madrob any other comments/thoughts/concerns? Any other blockers to getting this merged?

I went through these two and I'm not sure there is a good way to address them right now. I don't think it should hold up the merge of this PR.

render-javadoc needs a little more attention - basically shouldn't need so many changes

This is related to the bullet below. There were a few classes moved to test-framework which ended up in a few more split packages. This should be addressed for all of test-framework.

Abstract*Base test files moved to test-framework - not sure they are needed, but its a lot of the changes in this besides the move.

This seems to be necessary due to how gradle and test dependencies end up interacting. It matches the existing pattern of some test-framework classes. The commit log has details about why each file was created/moved in test-framework.

I ran gradlew assemble and took a look at the output in solr/packaging/build... There were only 3 jars in modules/hdfs/lib/ - I'm not sure what I expected but for some reason I imagined there would be more?
Hadoop-auth, -annotations, and -common are all still in WEB-INF/lib, do we need all of those? I guess auth depends on common and we haven't moved that out yet?

I've been looking through and I think that we can exclude Hadoop-annotations and leave it in only as a test dependency? I'm not sure.

@madrob I'm with you I expected more jars to be there in hdfs/lib, but hadoop-auth, hadoop-annotations, and hadoop-common are all needed by the existing Hadoop authentication logic.
FWIW removing hadoop-annotations fails with:
> Task :solr:core:compileJava
/Users/risdenk/.gradle/caches/modules-2/files-2.1/org.apache.hadoop/hadoop-common/3.2.0/e47a88c42c450e6e4b23bf951356c203cae2db24/hadoop-common-3.2.0.jar(/org/apache/hadoop/fs/FileSystem.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': class file for org.apache.hadoop.classification.InterfaceAudience not found
/Users/risdenk/.gradle/caches/modules-2/files-2.1/org.apache.hadoop/hadoop-common/3.2.0/e47a88c42c450e6e4b23bf951356c203cae2db24/hadoop-common-3.2.0.jar(/org/apache/hadoop/fs/FileSystem.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
/Users/risdenk/.gradle/caches/modules-2/files-2.1/org.apache.hadoop/hadoop-common/3.2.0/e47a88c42c450e6e4b23bf951356c203cae2db24/hadoop-common-3.2.0.jar(/org/apache/hadoop/fs/Path.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
/Users/risdenk/.gradle/caches/modules-2/files-2.1/org.apache.hadoop/hadoop-common/3.2.0/e47a88c42c450e6e4b23bf951356c203cae2db24/hadoop-common-3.2.0.jar(/org/apache/hadoop/security/UserGroupInformation.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
/Users/risdenk/.gradle/caches/modules-2/files-2.1/org.apache.hadoop/hadoop-common/3.2.0/e47a88c42c450e6e4b23bf951356c203cae2db24/hadoop-common-3.2.0.jar(/org/apache/hadoop/security/UserGroupInformation.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
/Users/risdenk/.gradle/caches/modules-2/files-2.1/org.apache.hadoop/hadoop-auth/3.2.0/b1b95aed9aa956ffb7d21e30a0415ca14d91c4ad/hadoop-auth-3.2.0.jar(/org/apache/hadoop/security/authentication/util/KerberosName.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate'
error: warnings found and -Werror specified

Thanks @madrob and @dsmiley. I think your comments have been addressed by @warperwolf and I. Any other questions/comments/concerns/thoughts?

Merged in https://github.com/apache/solr/commit/cb2e58f6569704c45387a8d094625ba8e014776b

Big shout out to @warperwolf who did 99% of the heavy lifting here.


ROX-10733: Add SAC integration tests for Pod Datastore.

Description
Add SAC integration tests for pod datastore.
Additionally, reduce code duplication and create generic SACSearchTestCase that can be applied when 27 scoped resources are used within the test, 9 per cluster, 3 per namespace in each cluster. This way we have the same generic test cases over multiple datastores, and potentially can still add custom ones, if desired.
Testing Performed

see CI

gke-postgres-api-e2e-tests are failing is this related to this PR?

@janisz Hm, SACV2Test and ProcessBaselinesTest seem to be flakes with timeout issues. The search one I'm not entirely sure why they would be connected, as they are searching for images / deployments 😞 Let me re-run the tests and observe whether the same issue occur once more.


Added remove-duplicates.cpp file to CPP/Arrays folder

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[ ] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR

Other information:

I have added the new algorithm for removing duplicates from array

let me know if theres any problem with the algorithm or merging

You didn't add your program name and link in c++ readme as I told you

You didn't add your program name and link in c++ readme as I told you

which link shall I add?

You didn't add your program name and link in c++ readme as I told you

which link shall I add?
I will do it

You didn't add your program name and link in c++ readme as I told you

If You can check now? I have added the program name and link.

Awesome work bro @i-am-santosh17
Thanks for contributing
Hope you contribute more to this project😊

shall I close the PR now??

Awesome work bro @i-am-santosh17
Thanks for contributing
Hope you contribute more to this project😊

shall I close the PR now??

Nop, I will merged it


stty: standard input: Inappropriate ioctl for device

Describe the bug
I am using jenkins to run the sanitycheck. The jenkins job run 4 stages in parallel and each stage run 1/4 of the tests. The error stty: standard input: Inappropriate ioctl for device always occurs during run time.

JOBS: 4
Cleaning output directory out-2nd-pass
29 tests selected, 0 tests discarded due to filters
stty: standard input: Inappropriate ioctl for device
 1/29 nsim_em_mpu_stack_guard   tests/application_development/gen_inc_file/buildsystem.include_file PASSED (nsim 4.898s)
 2/29 nsim_em_mpu_stack_guard   tests/application_development/cpp/misc.app_dev.cpp PASSED (build)
stty: standard input: Inappropriate ioctl for device
 3/29 nsim_em_mpu_stack_guard   tests/application_development/libcxx/misc.app_dev.libcxx PASSED (nsim 4.387s)
stty: standard input: Inappropriate ioctl for device
 4/29 nsim_em_mpu_stack_guard   tests/application_development/libcxx/misc.app_dev.libcxx.exceptions PASSED (nsim 5.155s)
stty: standard input: Inappropriate ioctl for device
 5/29 nsim_em_mpu_stack_guard   tests/benchmarks/sys_kernel/benchmark.kernel       PASSED (nsim 4.779s)
stty: standard input: Inappropriate ioctl for device
 6/29 nsim_em_mpu_stack_guard   tests/benchmarks/timing_info/benchmark.timing.default_kernel PASSED (nsim 5.131s)
stty: standard input: Inappropriate ioctl for device
 7/29 nsim_em_mpu_stack_guard   tests/cmsis_rtos_v1/portability.cmsis_rtos_v1      PASSED (nsim 6.363s)
stty: standard input: Inappropriate ioctl for device
 8/29 nsim_em_mpu_stack_guard   tests/benchmarks/timing_info/benchmark.timing.userspace PASSED (nsim 7.145s)
stty: standard input: Inappropriate ioctl for device
 9/29 nsim_em_mpu_stack_guard   tests/cmsis_rtos_v2/portability.cmsis_rtos_v2      PASSED (nsim 4.986s)
stty: standard input: Inappropriate ioctl for device
10/29 nsim_em_mpu_stack_guard   tests/crypto/rand32/crypto.rand32                  PASSED (nsim 4.757s)
stty: standard input: Inappropriate ioctl for device
11/29 nsim_em_mpu_stack_guard   tests/crypto/rand32/crypto.rand32.random_sw_systimer PASSED (nsim 4.287s)
stty: standard input: Inappropriate ioctl for device
12/29 nsim_em_mpu_stack_guard   tests/crypto/mbedtls/crypto.mbedtls                PASSED (nsim 107.395s)
stty: standard input: Inappropriate ioctl for device

@wangnuannuan, please provide target board this reproduced on, environment information, SDK version.

target board: arc nsim
environment information:

LSB Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-
amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:	CentOS
Description:	CentOS release 6.9 (Final)
Release:	6.9
Codename:	Final

SDK version: 0.10.3
python version: 3.7

I am seeing this with Jenkins as well. I am using Jenkins to fire off a script that in turn runs sanitycheck. The scripts run fine at the command line, but this "Inappropriate ioctl for device" error spews when I run these scripts from Jenkins.
Preliminary investigation leads me to believe that this is because Jenkins is not really using a terminal for running scripts, and stty functions, like turning on and off echo, cause the system to start yelling about being a non-terminal device.
I have skirted the issue by having Jenkins launch the scripts using the "script" shell command. i.e. script -q -c $WORKSPACE/my_script.sh $WORKSPACE/<my_script_out_log_file>
This does sort of muck up the script output when sanitycheck is running, because it is dumping everything to a file, so just output from sanitycheck failures gets thrown to the console log. Not pretty, but it does stop the incessant flow of the error message.
So, at least in my scenario, this appears to be an issue with Jenkins, and is not actually related to sanitycheck. I do NOT see this when I run at the command line with the same exact scripts.

@tgraydon that's interesting as we also seeing this only when running in Jenkins, so indeed it might be more of a Jenkins problem.
@oleg-nenashev is that a know issue? Is there a chance to get some feedback from Jenkins people?

It appears to be more of an artifact from how Jenkins manages the console output. Shell scripts are expecting to input/output to an interactive shell/terminal, and Jenkins seems to be subverting that in some way. Hence, the same bash scripts I am running at the command line work perfectly on the same host, but Jenkins console shows ioctl device errors.
Using the "script" command to launch the scripts from Jenkins and bypassing the interactive shell"fixes" the issue. Another thing we are looking at is setting Jenkins user to use a non-interactive shell. That may have implications to troubleshooting, though, if someone needs to log in as Jenkins user for any reason.
So anyway, not sure whether this is really a Jenkins issue per se, although it sure would be nice if it did the "right thing" with console output when running shell scripts.

this is a jenkins issue, closing. Works fine in Zephyr CI.


Has the new fix #10 been published to rubygems ?

It's still the old version on https://rubygems.org/gems/logstash-input-eventlog/ which not include the #10

version 0.1.6 has been published with the latest code on master (includes #10)


epic: Split workloads code from control plane code

Feature Description
Enhancement Link: https://github.com/kcp-dev/kcp/blob/main/docs/enhancements/0001_project_enhancements.md
See this section for background.
Stories

[ ] Create new workloads repository
[ ] Move source code
[ ] Ensure there is appropriate build/install documentation for workloads
[ ] Ensure there is appropriate CI coverage for workloads

/transfer-issue contrib-tmc


Target the selector :host, atom-text-editor instead of .editor for shadow DOM support.

In index.less: Target the selector :host, atom-text-editor instead of .editor for shadow DOM support.

I take it this is still necessary after #2 and #5 are closed?


Adding Bluetooth Script Option to BaRT

Using a RG353M on ArkOS v2.0 (08/23/2024)
Could we add the Bluetooth script option on to BaRT?

Not something I will add universally.  You can do that yourself by modifying the /usr/bin/emulationstation/emulationstation.sh script.  Just create a backup of that file in case a future update overwrites it.


Add openfast floating linear case to reg tests

I'm working with @jjonkman and Nick Johnson to incorporate an OpenFAST floating linearization case into the regression tests. This pull request is not yet ready to merge, but can serve as a place for general communication in this effort.

I've added the regression test and baselines. @ghaymanNREL I think this is ready to go from my end.

cc @nickjohnson13

Hey @ghaymanNREL is there anything else you need from me here?


Fix subsequent syncs having records to send issue

populate total count for each type of resource
IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #2390
Engineer Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[x] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[x] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

Also lets bump up the version code and version name of the main branch on this PR so that it matches the release branch, check out

Also lets bump up the version code and version name of the main branch on this PR so that it matches the release branch, check out

The version code and version name match with the relase branch as seen here.

Also lets bump up the version code and version name of the main branch on this PR so that it matches the release branch, check out

The version code and version name match with the relase branch as seen here.

Sorry, linked the wrong reference - meant the release branch here
We can always merge as is though and update this later.


Add requirements.txt file to ttrt

This is not needed anymore. All ttrt dependencies are included in setup.py and merged into: 92bc980d1de72614e549acd3f577e25afd291c22


Fix bug in SubqueryEndExecutor

If a subquery was spliced, and did not get any input rows, the SubqueryEnd
executor still expected a relevant ShadowRow to be handed through, and ran into
an assertion (or otherwise crashed the server) if it didn't get one.
Scope & Purpose
(Can you describe what functional change your PR is trying to effect?)

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)
[x] The behavior change can be verified via automatic tests

Testing & Verification
This PR adds tests that were used to verify all changes:

[ ] Added Regression Tests (Only for bug-fixes)

Regression test to be added still.

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/7289/

Jenkins is blue