Add snapshot and restore API support

Hello
Dear @kramer @Chen
I just make a pull request about Snapshot And Restore API.
Would you please check my a pull request?
fixes #363
thank you.

Coverage increased (+1.6%) to 54.529% when pulling 9b93e124125789aaf56d48aad4572ae45e4e9bb3 on happyprg:master into bd57835f00547ccd1990278d409cd3187b45cc6d on searchbox-io:master.

Hi @happyprg,
Thanks for the effort so far, see my comments above. I'll continue reviewing once you fix them as I believe changing the base classes to AbstractSnapshotAction will change lots of lines.

Dear @kramer
Thanks for teaching me.
Would please check one more time?
And I have a question as below
Can I remove io\searchbox\indices\Snapshot.java ?
Best Regards
Jeehong Lee.

Coverage increased (+1.9%) to 54.839% when pulling b006f43dc3dedf47c233366ec53b7a46c48c806c on happyprg:master into bd57835f00547ccd1990278d409cd3187b45cc6d on searchbox-io:master.

fyi: I've done some further refactoring/tidying after merging.
Also for future reference: please adhere to project's code style - new files were using tabs instead of spaces.
And having integration tests would be pretty great.
In any case; thank you for your contribution @happyprg !

Yes io\searchbox\indices\Snapshot.java should also be removed.

May I know has this been rigorously tested on various version of ES?

No, it has not been "rigorously tested" @cfuxiang.

@kramer Thanks for the clarification. It might be a bit risky (if there's any bugs or compatibility issues) if any user uses it in any production cluster. The data might be corrupted during restore phase.
Any way to have it tested? e.g. for different mappings, different size of data, different version, etc?

There should/will be integration tests but they will not be detailed on the level you are describing.

e.g. for different mappings, different size of data, different version, etc?

Jest is a simple wrapper over the rest api, it has absolutely zero control on those things you mention. Especially for the snapshot api implementation... all it does is build the url, use the correct http method and send the payload if any exists.

@kramer Thanks for the clarification. It will still be nice though for users to have such explicit compatibility information when using the wrapper :)
BTW, Thanks to both @happyprg & @kramer for the new snapshot feature!

@kramer
Thank for your the feedback.

I was wondering how can I make Integration test of snapshot & restore APIs.
once I tried but I couldn't.
because I thought that If I make Integration test, It will need fs type storage and path for save a snapshot.
is it wrong?
or... e.g) do I use Mock?

And What's different type between SUITE and TEST of ElasticSearchTest Annotation

thank you.
Best regards
Jeehong Lee

@cfuxiang
I'm so happy to help you


Qt QWebpage Windows and mml3.js question

Your single-file version works wonderfully with Qt 5.4.2 QWebpage (Qts version of webkit) on Linux and Mac OSX  but your 2.5.1 version and official Mathjax 2.6.0 both fail to make the mml3.js extension work on Windows Qt 5.4.2.  My guess it is the xslt transformation in mml3.js that is failing.  I noticed that Mathjax 2.6.0 has added some Browser check and changed the xsl code to work on Edge and MSIE for Windows.  Qt reports Safari Apple Webkit as user agent so it is not using the special msn xslt namespace changes.
Do you have any plans to update this to 2.6.0 anytime soon.  Or should I download and install npm and try your grunt approach to creating a single file version of MathJax 2.6.0 so that I can add to the Browser test to take advantage of 2.6.0 new xsl?
Thanks,

Your single-file version works wonderfully with Qt 5.4.2 QWebpage (Qts version of webkit) on Linux and Mac OSX

Glad to hear it's useful.

but your 2.5.1 version and official Mathjax 2.6.0 both fail to make the mml3.js extension work on Windows Qt 5.4.2.

Sorry to hear that.

My guess it is the xslt transformation in mml3.js that is failing. I noticed that Mathjax 2.6.0 has added some Browser check and changed the xsl code to work on Edge and MSIE for Windows.

That would make sense but you mentioned above that 2.6.0 caused issues as well, so I'm not sure. (I'm assuming you mean issues beyond those stated at https://github.com/mathjax/MathJax/pull/1257#issuecomment-138948161).
Also, http://www.qt.io/qt5-4/ seems to indicate that QT WebEngine is Chromium-based (except on mobile devices).

Qt reports Safari Apple Webkit as user agent so it is not using the special msn xslt namespace changes.

Ah, ok.

I noticed that Mathjax 2.6.0 has added some Browser check and changed the xsl code to work on Edge and MSIE for Windows.

That's correct.

Do you have any plans to update this to 2.6.0 anytime soon.

I was planning to make an update next week but feel free to make a pull request if you need it sooner.
There's also #2 I wanted to fix but that can happen later.

Re-reading my posting just now, I'm still not sure how a 2.6.0 build will help with your issue.

Hi,
We use your single version (or are trying to) in Sigil (GPL Epub Ebook Editor)as a local link to try to allow a QWebPage Preview window to show epub authors what their mathml will look like embedded in their epub  webpage.  I was planning to hack your MathJax.js single to force the msn xslt version of the stylesheet in the mml3.js part of the code), and  see if it works to enable mml3 extensions.  If so, I plan to send a patch to MathJax to extend the Browser check to include a new Browser (Windows, Apple Webkit, Safari (useragent) detection and add it to the mml3.js code to that special case (Edge, MSIE).  If the xslt trasnlation is not the issue, then I do not know what is preventing the mml3 extensions from working but only on Windows.
Hope this explains things a bit better.

I grabbed MathJax master's unpack directory and modified your Gruntfile.js to do a head of 3241 lines (replacing 3199), and a tail of 29 lines (no change from previous) and ran grunt and it seems to have created a 2.6.0 version of MathJax single for me to play with to see if the mml3 issue is in fact related to xslt.     If need be I can convert it back to a separate mml3.xsl file and manually apply it to all mathml sections before loading the page, but I would rather avoid that if possible.
Thanks

Closing this issue.  Tried xslt using both namespaces on Windows with and no deal.  I then looked and Qt WebKit on Windows is not linked to libxml2 or libxslt.  So my guess is that XSLT transformations simply do not work on Qt Webkit on Windows with stock Qt builds.  That is why the mml3.js does not work.  Qt QWebEngine is Chrome webkit based and should work even on Windows but it would require a large rewrite of Sigil to move from Qt Webkit to Qt WebEngine.  Not something I am likely to do any time soon.  I guess I will have to extract the stylesheet to recreate the original mml3.xsl and then apply it to the source of the ebook page before loading it and invoking MathJax.
Sorry for the noise.

Thanks for looking into it yourself!

We use your single version (or are trying to) in Sigil (GPL Epub Ebook Editor) as a local link to try to allow a QWebPage Preview window to show epub authors what their mathml will look like embedded in their epub webpage.

Very cool. I've been following the Sigil development as a lurker but hadn't had a chance to take a closer look at the new epub3 features. But it's always been awesome so thank you for Sigil!

I grabbed MathJax master's unpack directory and modified your Gruntfile.js to do a head of 3241 lines (replacing 3199), and a tail of 29 lines (no change from previous) and ran grunt and it seems to have created a 2.6.0 version of MathJax single for me to play with to see if the mml3 issue is in fact related to xslt.

Thanks for trying it out.

Tried xslt using both namespaces on Windows and no deal.

Ah, sorry to hear that.

I then looked and Qt WebKit on Windows is not linked to libxml2 or libxslt. So my guess is that XSLT transformations simply do not work on Qt Webkit on Windows with stock Qt builds. That is why the mml3.js does not work.

I see. That's too bad (and somewhat strange to only affect Windows).

Qt QWebEngine is Chrome webkit based and should work even on Windows but it would require a large rewrite of Sigil to move from Qt Webkit to Qt WebEngine. Not something I am likely to do any time soon.

Understood. I was just stabbing in the dark.
One more thing worth trying would be to remove the Content MathML extension. There have been conflicts in the past among the two.
I'm re-opening so that I'll remember to file something upstream (and maybe finally get myself to write a JS version of that xslt...).
Final question if you have the teim: what kind of issues did you actually run into?

The Qt version of Webkit has had mathml disabled in its build.  The chrome version of webkit (QWebEngine) has removed all mathml support.  Thus Qt does not make a webkit/webpage widget that actually supports true html5 (which includes mathml).  To support epub3, Sigil must somehow support mathml.  There is an official epub3 Testsuite epub  which incorporates a mathml test page and it tests both mlongdiv and mstack, mcarries, so you need them to work to pass the mathml test.
On Linux and Mac OS X everything works perfectly with MathJax and Qt.
  The first is that the mml3 extensions do not work (which prompted the above bug report), and the second  is that  where other mathml is used, the svg version of the formula appears incredibly small.  The formula is correct but the resulting scale for the SVG, makes the font appear about 1/3rd of the size of the surrounding text.  But again this is only on Windows.
Any ideas of where/how to control the scale factor on the svg produced by MathJax?  Or even how the scale is determined?  Any way to config MathML settings to increase the scale to make the equations appear larger on the screen?
BTW:  a pure javascript version that does not use XSLT would be wonderful!  Getting libxml2 and libxslt to compile on Windows is a real headache.  Chrome also has issues with its XSLT implementation not handling import and a few other nits.  Relying on xslt transformations seems to have gone the way of the wind these days.
What I really need is MathJax.js single converted to python 3.5!  So if you are looking for a project, I've got just the one for you!
Right now, in CodeView we leave the pure mathml.  We have a Preview mode in which we copy the current code out of the CodeView window, check for math tags, if they exist, inject a local copy of MathJax.js- single, and show the page to the user.  A Timer then every few seconds updates this page as the code in the CodeView page is edited by the user.  Therefore we need the MathJax script to run quite quickly for any of this to work.  Using your MathJax single version as a local file seems to make it work the best.   Unfortunately, it simply is not working on Windows.  We need to support all 3 main platforms equally (Windows, Linux, and Mac OS X), so I have reached a hurdle until I figure out how to get both the size increased and mml extensions to work for Qt Webkit on Windows.
Thanks,
Kevin

BTW, At https://www.qupzilla.com/ you will find a Qt based free lightweight Browser.  Their github master has been moved to Qt QWebEngine but their current release binaries for version 1.8.9 is built with Qt webkit on all platforms.  I use this QUpZilla browser for testing Qt webkit functioning on Windows (as rebuilding all of Sigil on Windows is a real pain).
If I inject MathJax into a page with mathml including mlongdiv tests and use this browser on Windows, mlongdiv fails (the mml3 xslt transformation fails for some reason) and the equations you do see are much too small. The Mac and and Linux versions of this lightweight browser (v1.8.9), pass the all tests with flying colors.
I then followed the link in mml3.js back to grab David's mml3mj.xsl file and used the following hardcoded python3 script with lxml to preprocess .xhtml page to a new junk.xhtml test page.
import sys
import os
import lxml.etree as ET

xml_filename = "/Users/kbhend/Desktop/content-mathml-001.xhtml"
xsl_filename = "/Users/kbhend/Desktop/mml3mj.xsl"
dom = ET.parse(xml_filename)
xslt = ET.parse(xsl_filename)
transform = ET.XSLT(xslt)
newdom = transform(dom)
newdoc = ET.tostring(newdom, pretty_print=True)
if type(newdoc) == str:
    newdoc = newdoc.encode('utf-8')
with open('junk.xhtml', 'wb') as f:
    f.write(newdoc)

The resulting junk.xhtml file when loaded in QupZilla browser on Windows, now passes mlongdiv and mstack/mcarries tests on Windows.  Again, the resulting svg images have the wrong scale (much too small) but at least it works.
I think this confirms that Qt webkit on Windows is failing is some place in the mml3 xslt transformation.
This is so frustrating.  I guess I will manually apply the mml3 transform for Windows before loading the page.  I see MathJax has gotten special dispensation from the author of mml3mj.xsl (David?) to use it.  I will have to contact him to see if I can use his mml3mj.xsl file in Sigil (Sigil is GPL).
If you want a testcase to play around with the QupZilla lightweight browser and MathJax, let me know and I would be happy to extract the epub3 mathml test page and its associated images and post it for you to make testing easier.
Kevin

I found the svg config area in the Gruntfile.js and will modify it to set the proper svg scale.
Kevin

There is an official epub3 Testsuite epub which incorporates a mathml test page and it tests both mlongdiv and mstack, mcarries, so you need them to work to pass the mathml test.

Yes, I'm to blame, I think.

 The first is that the mml3 extensions do not work (which prompted the above bug report),

IIUC your later comments you mention the mlongdiv example from the epub3 test. I'm guessing you see MathJax Processing Errors. Do you see an error for the RTL example?

and the second is that where other mathml is used, the svg version of the formula appears incredibly small. The formula is correct but the resulting scale for the SVG, makes the font appear about 1/3rd of the size of the surrounding text. But again this is only on Windows.

Some screenshots would be good (and maybe a bug upstream at MathJax . It sounds like a missing viewport meta tag, cf. http://docs.mathjax.org/en/latest/output.html#viewport-meta-tag.
If not then this sounds like a bug which we'd love to hear more about upstream at MathJax/MathJax.

Any ideas of where/how to control the scale factor on the svg produced by MathJax? Or even how the scale is determined? Any way to config MathML settings to increase the scale to make the equations appear larger on the screen?

You shouldn't have to but from later commments, I'm guessing you found http://docs.mathjax.org/en/latest/options/SVG.html.

What I really need is MathJax.js single converted to python 3.5! So if you are looking for a project, I've got just the one for you!

Hah! We'd love to see more math rendering engines out there but MathJax is quite complex. Maybe write a python wrapper around mathjax-node could help.

Right now, in CodeView we leave the pure mathml. We have a Preview mode in which we copy the current code out of the CodeView window, check for math tags, if they exist, inject a local copy of MathJax.js- single, and show the page to the user. A Timer then every few seconds updates this page as the code in the CodeView page is edited by the user. Therefore we need the MathJax script to run quite quickly for any of this to work. Using your MathJax single version as a local file seems to make it work the best. Unfortunately, it simply is not working on Windows. We need to support all 3 main platforms equally (Windows, Linux, and Mac OS X), so I have reached a hurdle until I figure out how to get both the size increased and mml extensions to work for Qt Webkit on Windows.

Thanks for the background information. It's a common enough use case, I think, even though we realize performance is not good enough for blindly updating an entire document frequently.

At https://www.qupzilla.com/ you will find a Qt based free lightweight Browser. Their github master has been moved to Qt QWebEngine but their current release binaries for version 1.8.9 is built with Qt webkit on all platforms. I use this QUpZilla browser for testing Qt webkit functioning on Windows (as rebuilding all of Sigil on Windows is a real pain).

I'll try to find time to check it out. We've seen erratic issues reported at MathJax about QTWebKit in the past, so I'm not surprised there are more issues.

I then followed the link in mml3.js back to grab David's mml3mj.xsl file and used the following hardcoded python3 script with lxml to preprocess .xhtml page to a new junk.xhtml test page.
The resulting junk.xhtml file when loaded in QupZilla browser on Windows, now passes mlongdiv and mstack/mcarries tests on Windows. Again, the resulting svg images have the wrong scale (much too small) but at least it works.
I think this confirms that Qt webkit on Windows is failing is some place in the mml3 xslt transformation.

Thanks for going the extra mile. I would agree.

I see MathJax has gotten special dispensation from the author of mml3mj.xsl (David?) to use it. I will have to contact him to see if I can use his mml3mj.xsl file in Sigil (Sigil is GPL).

David Carlisle has licensed most of his code under every imaginable open license -- he's amazing.

If you want a testcase to play around with the QupZilla lightweight browser and MathJax, let me know and I would be happy to extract the epub3 mathml test page and its associated images and post it for you to make testing easier.

Thanks, no need for that.

Yes, I'm to blame, I think.

Ah!  It is nice to know to to send the dogs after!  ;-)
For our Sigil 0.9.3 release, we are going to include a MathJax - single (but updated to 2.6.0 and with SVG scale set to 175% in the config section).  This seems to have done the trick.  Windows versions of Sigil simply will not support mlongdiv and mstack and so will show the "Unknown node type: mlongdiv" error box.  At least until to some future time when I can figure out how to deal with this.
I tried using safari_wrench, and googles ajaxslt as they claim to have pure javascript implementations of xslt but both are too incomplete in their support of xslt to deal with the mml3mj.xsl. Qt's own QXmlQuery does not support enough of xslt to handle that particular stylesheet either (according to their XSLT 2.0 doc page).  I really do not want to have to invoke Sigil's embedded Python 3.5 interpreter just to fire up lxml/lxml2/libxslt to deal with the transformation needed to be done every few seconds when a page with mathml is active.  So Windows users will have to "suffer" for a while until I can figure something else out.  It is so sad that Google decided to pull its mathml support, and that Qt decided to disable Apple's webkit based mathml implementation.  If someone would only create a Gecko widget or a FireFox webkit clone widget for Qt that actually worked.
Thanks for all your help.
Kevin

Windows versions of Sigil simply will not support mlongdiv and mstack and so will show the "Unknown node type: mlongdiv" error box.

Thanks! That indicates that the mml3 extension does not pre-process anything and just passes it through. I'll try to find the time to look into it.

Closing in favor of upstream issue.


make occur error

my environment: macos    clang compile
steps:
1 bash ./scripts/addSubmodules.sh
2 sudo bash ./scripts/setupDevEnvironment.sh
if ! grep 'export PATH=/usr/local/go/bin:$PATH' ~/.profile; then echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.profile; fi &&
source ~/.profile
3 cmake -DCMAKE_BUILD_TYPE=Debug
4 make gringofts_check
5 make
but occur the following error:

how can I fix it, thank you.

ack. will take a look shortly.

btw, have you tried it on linux? it's recommended to compile it on linux. the macos support is only for learning purpose.

verified the latest master branch compiles in both ubuntu 18.04 and 21.10. I'm checking the macos platform.
Still recommend to try it out in linux as your target deployment os should be it.

ubuntu

ok I will try it in docker ubuntu firstly

confirmed, the latest code does not compile on macos. we will fix it and will keep you posted. For now, please compile it on linux. Sorry for the inconvenience.

confirmed, the latest code does not compile on macos. we will fix it and will keep you posted. For now, please compile it on linux. Sorry for the inconvenience.

Thank you,  I have started server in docker.  And how can I send some command or event test request to this server?
Is there some example , thank you.

Sorry I missed this message. You can use grpc_cli to interact with the server. See this PR: https://github.com/eBay/Gringofts/pull/59

hi,
It seems your cmake didn't figure out dependences correctly.
[  0%] Built target absl_dynamic_annotations
[  0%] Built target absl_spinlock_wait
[  2%] Built target lib_inih
[  2%] Built target absl_int128
[  8%] Built target absl_log_severity
[  8%] Built target absl_strings_internal
[ 11%] Built target civetweb

It should have absl_* lib built before binary build.

Are you in the current master branch?
Can you have a try to add dependence explictly likeadd_dependencies(RaftMain ${ABSL_LIBS})

before the RaftMain target_link_libraries(RaftMain gringofts_infra)
Or do you have install absl library by brew or maually before, if that, please remove it.

#59 has been merged, which automatically closed this issue. Please give it a try and let us know if it works for you. Thanks.


Dynamic returns a function, contrary to its Typescript signature (as of v1.7)

For reasons [1] [2], I want to invoke Dynamic as a function, not as JSX, like so:
const Child: VoidComponent = () => {
  return
Child
;
};

const dynamic = Dynamic({
  get component() {
    return Child;
  },
});
console.log(typeof dynamic) // function
console.log(dynamic()) // HTMLDivElement

Typescript says dynamic is of type JSX.Element, when really it is a function whose name is "bound readSignal".

More details that are probably not helpful but I spent too long writing to not include.
The same happens if I wrap `Dynamic` in a `createComponent`:
const createDynamic = createComponent(Dynamic, {
  get component() {
    return Child;
  },
});
console.log(typeof createDynamic) // function
console.log(createDynamic()) // HTMLDivElement

This does not occur for ordinary Components:
const ParentComp: VoidComponent<{
  child: VoidComponent;
}> = () => {
  return
ParentComp
;
};
const createParentComp = createComponent(ParentComp, {
  get child() {
    return Child;
  },
});
const parentComp = ParentComp({
  get child() {
    return Child;
  },
});
console.log(createParentComp) // HTMLDivElement
console.log(parentComp) // HTMLDivElement

Playground demoing Typescript errors: https://playground.solidjs.com/anonymous/1eaedcbb-4e59-445b-84cf-00b7792a983c

This change to Dynamic was introduced in this v1.7 commit/PR, when Accessor<JSX.Element> was removed from the return type and as unknown as JSX.Element was added. The reasoning for this is unclear to me; the commit comment was "Remove FunctionElement from JSX.Element types". What work would need to be done to not lie to Typescript?

<Dynamic> must return a signal (i.e. a function) rather than an HTMLElement, because component could itself be a signal that changes which element should be rendered over time. The same is true of other control flow components like <Show> and <Switch>, and of any component that uses one of those at top level. So it will always be possible for something typed JSX.Element to be a function at runtime.
The reason functions were removed from the JSX.Element TypeScript type is explained under Stricter JSX Elements in the changelog, and Ryan went into much more detail on his stream. In short, the goal was to catch mistakes where the user wraps JSX arguments and children in unnecessary (non-signal) functions, with the tradeoff that some necessary functions must now be casted to satisfy TypeScript.

I heard there may be ways to address this differently in TypeScript now. But this is as intended. If you use it directly you need to cast.
Since our release this was added to TS which might help us? https://github.com/microsoft/TypeScript/pull/51328
I'm more the than willing to see if there is a way so that we can handle both sides a bit differently but I think that is general approach thing and I am going to close this one as by design for now.

Ah whoops yeah forgot to close. Got sucked into that (excellent) 5hr stream.
Also linking this discussion for any future searchers.


Mainnet bootstrap DB contains both mainnet and testnet DB

Since there's a separate testnet bootstrap DB file, I thought the idea is to keep them separate.
Is the mainnet bootstrap download supposed to contain a copy of the both?
I spotted this yesterday.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

This has been fixed, I'm not seeing this any more


url detection not working with tmux

Environment
Windows build number:  [Version 10.0.19042.804]
Windows Terminal version (if applicable): 1.5.10271.0

URLs are not underlined (nor clickable) when displayed in a tmux session (in a Windows Terminal window). They work fine when displayed without tmux.

Are you using mouse mode with tmux? If so, you'll probably need to hold Shift to make the hyperlinks work. When an app has requested mouse mode, the app gets the first shot at mouse detection.
This isn't strictly consistent with other terminals though. gnome-terminal will still highlight hyperlinks, even when an app is in mouse mode. @DHowett do we have a dupe for this?

Are you using mouse mode with tmux? If so, you'll probably need to hold Shift to make the hyperlinks work. When an app has requested mouse mode, the app gets the first shot at mouse detection.

Yeah, that is the case. Thanks for suggesting the Shift workaround. It would be nice to be on par with other terminal apps (xfce-terminal in my case), though, to provide consistent cross-platform behavior/UX.

Don't think we have a dupe, but I'll title this one appropriately.

Here's what I think we should do. When VT mouse mode is on, hover should work fine ... but the tooltip should say "ctrl+shift+click" instead of "ctrl+click". What do you think?

gnome-terminal will still highlight hyperlinks, even when an app is in mouse mode.

My xfce4-terminal will still ctrl-click hyperlinks, even when an app is in mouse mode. What is preventing Windows Terminal from working the same?

@ondras because we didn’t implement it like that? And you reported it to us, in this bug that you reported, and we accepted into our backlog to fix? ???

@ondras because we didn’t implement it like that? And you reported it to us, in this bug that you reported, and we accepted into our backlog to fix? ???

So it might be misunderstanding on my side. Because after reading this comment of yours,

the tooltip should say "ctrl+shift+click" instead of "ctrl+click".

it seemed to me that you are suggesting to leave in the current "ctrl+shift+click" implementation (and change the tooltip accordingly), instead of changing the behavior to "ctrl+click" (and leaving the tooltip in its current state).
Sorry for causing confusion.

Oh, yes, sorry. I was confused. I was wondering if we should maintain the shift behavior for user consistency with VT mouse applications :smile:

@DHowett , @ondras  - probably this is a stupid question, but in the suggested solution, should ctrl+click only handle the hyperlink or also send the input to VT?

I would think if an app has enabled mouse mode, then we probably shouldn't be intercepting clicks on links, unless we're talking about OSC 8 hyperlinks that the app has specifically indicated are meant to be handled by the terminal. For example, if the app is something like a web browser, I wouldn't think it would want the terminal taking over links in the web pages it is showing.
I've just been looking at how Mintty handles this, and they have options to let the user decide how it should work, but by default it seems that clicks are passed through to the app, unless you override with Shift (so you need Ctrl-Shift-Click to intercept a link click).

I would think if an app has enabled mouse mode, then we probably shouldn't be intercepting clicks on links, unless we're talking about OSC 8 hyperlinks that the app has specifically indicated are meant to be handled by the terminal. For example, if the app is something like a web browser, I wouldn't think it would want the terminal taking over links in the web pages it is showing.
I've just been looking at how Mintty handles this, and they have options to let the user decide how it should work, but by default it seems that clicks are passed through to the app, unless you override with Shift (so you need Ctrl-Shift-Click to intercept a link click).

Yeah. I like this direction. It also requires minimal change in code :smile:
Major concern is that the user might be not aware that the app is in mouse mode.. and will expect that ctrl+click will work.

Major concern is that the user might be not aware that the app is in mouse mode.. and will expect that ctrl+click will work.

Is it too late to make Ctrl+Shift+Click the key combo to use for all auto-detected links? Then the user doesn't need to know whether the app is in mouse mode or not, but we also aren't hijacking one of the main click types.
Otherwise maybe there needs to be a mode that apps can set to enable or disable this functionality. It's possible some other terminals already have something like that actually.


Install minio-operator from upstream

The operator no longer exists in OperatorHub and cannot be installed on OCP 4.16+ without an enterprise license from MinIO.
See https://github.com/minio/operator/issues/2226
Version 5.0.15 is selected over 6.0.3 as the latter requires a minimum k8s version of 1.28 (OCP 4.15+). With 5.0.15 the minimum supported k8s version is 1.21 (OCP 4.8+).

An OCP 4.16 cluster can be successfully bootstrapped after this change.

/test appstudio-hac-e2e-tests

/retest

/approve

/retest

@enarha  can you please review?

/lgtm

Hello @amisstea ! I'm deploying Konflux to OCP cluster in Hive and I'm hitting this issue:
FATAL Unable to initialize backend: parity validation returned an error: parity 2 should be less than or equal to 1 <- (2, 2), for pool(1st)

When I terminated ArgoCD sync and changed image tag RELEASE.2024-08-26T15-33-07Z back to RELEASE.2022-09-17T00-09-45Z, it started working.
Looks like for some reason change in the secret was not applied for me:
$ oc -n tekton-results get secrets/minio-storage-configuration -o json | jq -r '.data."config.env" | @base64d' | grep MINIO_STORAGE_CLASS_STANDARD
export MINIO_STORAGE_CLASS_STANDARD="EC:2"

Another way to "fix" the setup was when I fixed the secret and deleted StatefulSet and it's PVCs to allow Minio operator to recreate it.
Looking into the install log for my deployment, I can see that the related function ran, but returned here: https://github.com/amisstea/infra-deployments/blob/9774664ad202f1958829a191d1730f1b64269209/hack/secret-creator/create-plnsvc-secrets.sh#L35 :
[...]
Creating DB secret
DB secret already exists, skipping creation
Creating S3 secret
S3 secret already exists, skipping creation
Creating Postgres TLS certs
[...]

Am I missing something, or is there something we need to fix?

OK, I'm sorry. Looks like this was caused by unclean first installation I repeated few times without cleanup. With fresh cluster it all works. Please ignore me Alex.


External SMT solver bare "or" crashes

When running received error
Running external solver boolector
boolector: <stdin>:154:26: expected expression
Uncaught exception:

Upon investigation it appears Z3 is printing smtlib differently in the new version. Here is a snippet of the problem
(let ((a!10 (=> a!1
                (=> (ite or true a!9)
                    (= (bvadd #x00000003 #x00000002) #x00000005)))))
  (=> a!10 false))))))))

The bare or is presumably representing false but is not accepted by boolector.
A quick hacky fix is to change line 267 of z3_utils.ml to
let check_external
    (solver : Z3.Solver.solver)
    (solver_path : string)
    (ctx : Z3.context)
    (declsyms : (Z3.FuncDecl.func_decl * Z3.Symbol.symbol) list) : Z3.Solver.status =
  let smt_string = Z3.Solver.to_string solver in
  (* Valid uses of `or` are preceded by "(", Even if I'm wrong, false is not an operator, so should fail (false x y) for example will fail  *)
  let smt_string = String.substr_replace_all smt_string ~pattern:" or" ~with_:" false" in

But something more elegant may be desirable.
I note that parsing the smtlib and doing to substitution over Sexp.t is not as straightforward as one might like. It is inefficient (who cares actually though), more importantly you have to deal with the escaping issues earlier. Such a fix still does not really get at the deeper issue of why these or are being generated anyway. Nevertheless, here's what I think such a transformation might look like
(** [remove_lone_or] removes "or" appearing as an atom without parens around it.
    Latest Z3 version is outputting this. I am guessing that "or" is an empty or clause,
    which represents `false` (the identity element of or)
*)
let rec remove_lone_or (s : Sexp.t) : Sexp.t =
  match s with
  | List (Atom "or" :: s) -> List (Atom "or" :: List.map ~f:remove_lone_or s)
  | Atom "or" -> Atom "false"
  | List sexps -> List (List.map sexps ~f:remove_lone_or)
  | Atom _ -> s

Is the "bare" or legal SMTLIB2?  If so, perhaps we should report the issue to boolector (or submit a PR fixing it).  If not, perhaps we should report the issue to Z3.

This is my vague understanding

I'm not sure Z3 or boolector are fully committed to parsing exactly the spec. Espcially I don't know that Z3 commits to printing valid smtlib2
https://smtlib.cs.uiowa.edu/theories-Core.shtml Is the basic boolean theory. or isn't really part of the smtlib spec itself. And yet variable arity functions are not a feature of smtlib afaik. So or etc are special in sort of an understood but undocumented way

We could kindly ask though


LightEpoch, it seems to not guarantee the atomicity of storing epoch in the table entry

Just try to point out from https://github.com/microsoft/FASTER/blob/main/cs/src/core/Epochs/LightEpoch.cs , ProtectAndDrain seems to just use a simple assignment to store the epoch. Will this cause any concurrency issues if we consider this as fetching the global CurrentEpoch and then store it at the local epoch entry? (*(tableAligned + entry)).localCurrentEpoch = CurrentEpoch;

The local table entry is dedicated to this thread, so there should be no atomicity issue. CurrentEpoch is 64 bits so the read of this will never be broken.

Thank you. But as far as I'm concerned, (*(tableAligned + entry)).localCurrentEpoch = CurrentEpoch, involves fetching the current epoch and storing it in the local entry. Those are two operations. There can be other threads scanning the table to find the safe epoch. My concern lies in if the fetch happens with the original epoch, and then the store doesn't happen immediately (e.g. thread being scheduled out). Next someone bumps the epoch and tries to find a safe epoch. It may assume the previous epoch is safe. If the other thread is scheduled back, it may store the old epoch and break the consistency. Is this a concern? Thanks.

Thanks for analyzing this logic. The scenario you describe has been considered in the design of epochs. We are just capturing some (possibly lazy) value of the global CurrentEpoch. It is fine if this thread gets swapped out before it saves that value into its local entry. If the thread was unable to copy it before getting swapped, its entry will just remain OLDER, thereby preventing safe epoch from moving forward. Note that an epoch being safe implies that all previous epochs are safe as well. Thus this is not a concern.

Thank you so much! It makes sense then.

Hello, sorry to continue asking about it. I have double checked ComputeNewSafeToReclaimEpoch and release. I found ComputeNewSafeToReclaimEpoch will only consider non-zero epochs when calculating a safe epoch and Release will reset a thread's epoch to 0. So will this still be a problem? Thanks.

Why would it be a problem? Release sets the epoch to 0, which removes it from consideration for safety, and we know at that point (when it sets to 0) the thread is no longer participating in protection, so it would be fine to move the safe epoch forward.
I think it would be better for discussion if you can come up with a specific sequence that you find results in an error state.

In this case the thread will potentially be at an epoch earlier than the safe epoch. However, it will not see that prior state of the world, since it is entering epoch protection for the first time. So, any drain actions that executed as a result of the safe epoch erroneously moving forward, do not negatively affect the system.

I think I now get your point. My concern was that a thread has an old epoch but the safe epoch moves forward. Now it seems like it will not be that harmful as your described. Thanks.


Update scalatest to 3.2.3

Updates org.scalatest:scalatest from 3.2.1 to 3.2.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalatest", artifactId = "scalatest" } ]

labels: test-library-update, semver-patch

Pull Request Test Coverage Report for Build 96

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 68.293%

Totals

Change from base Build 93:
0.0%

Covered Lines:
28

Relevant Lines:
41

💛  - Coveralls


DMP-4251: Introduce and use event obfuscation feature flag

Links

Jira

Change description
Add feature flag
If this flag has not already been created, add the new config to DARTS API application.yaml, to act as a feature flag for event obfuscation
{code:java}
darts:
event-obfuscation:
enabled: ${EVENT_OBFUSCATION_ENABLED:false} {code}
Check the env var "EVENT_OBFUSCATION_ENABLED" exists in flux for the darts-api service staging environment, set to true. Ensure it is not set or set to false for all other environments.
The feature should also be enabled on the dev and staging pipeline deployments, in order to facilitate testing.
Hide endpoint
The POST /admin/events/obfuscate endpoint should be hidden if the feature is not enabled. Any requests should received a 501 not implemented response.
h3. Acceptance Criteria
AC1 - feature enabled
GIVEN the event obfuscation feature is enabled
WHEN the POST /admin/events/obfuscate endpoint is called
THEN a 200 response is received
AND the event text is obfuscated
AC2 - feature not enabled
GIVEN the event obfuscation feature is not enabled
WHEN the POST /admin/events/obfuscate endpoint is called
THEN a 501 response is received
AND the event text is not obfuscated
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No

Is there a flux PR for this change? If so, can you add it to the ticket? Cheers

Is there a flux PR for this change? If so, can you add it to the ticket? Cheers

@jackmaloney I believe the flag was added to flux during the DARTS portal work


xterm: 347 -> 348

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/xterm/versions.
meta.description for xterm is: '""'.
meta.homepage for xterm is: '"https://invisible-island.net/xterm"

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 348 with grep in /nix/store/5c6s5pq69h6igp5zm0fl85jfaf1h8p81-xterm-348
directory tree listing: https://gist.github.com/2a5fd27994abb280a2242d6bfa119a58
du listing: https://gist.github.com/8ff2e73f7aac40966952100cb5b7f7de

Rebuild report (if merged into master) (click to expand)

13 total rebuild path(s)
5 package rebuild(s)
4 x86_64-linux rebuild(s)
4 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
notion
playonlinux
tigervnc
xquartz
xterm

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5c6s5pq69h6igp5zm0fl85jfaf1h8p81-xterm-348 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A xterm https://github.com/r-ryantm/nixpkgs/archive/5ca7376705fd1804750bb34258baa95331f9032c.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5c6s5pq69h6igp5zm0fl85jfaf1h8p81-xterm-348
ls -la /nix/store/5c6s5pq69h6igp5zm0fl85jfaf1h8p81-xterm-348/bin

cc @vrthra for testing.

Built and tested locally :+1:


add a warning that detects if the class name is being used anywhere in the code

If the class name(aka, the filename, is being used anywhere in the code), we should print a warning to use the unicode replacement instead!

yeah, this is more subtle than described but important.  we have specific signifiers for constructors / destructors that avoid this need.  we can't blindly warn about any token value using the file name as it would surely give false positives.  I mean someone can write a warner for that if desired.. but this will be tackled at higher level anyway.  and support across languages will ensure this doesn't happen.

re-open with more specific context on problem


chore: get rid of critical security alert

the tooling and github are complaining about us using a version of lodash with
the worst possible security rating - for no good reason!
that version just happens to be in the package-lock.json of the packages we're
removing here, so there actually has not been a security issue as we use other
dependencies in the main bundle.
for peace of mind when looking at github and also for reasons of maintainability
i propose to get rid of the "packages", which are rather one-off factorings of
stuff that create a whole lot of noise, mental overhead and complex tooling.
goodbye little package!

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


Global Style Tracker

This is the counterpoint of #1, focused on making stylistic improvements to the lectures. As before, we can check off each lecture when we're satisfied with it.
General Fixes

[ ] Docstrings.
[ ] Replacing default outer constructors with @with_kw.
[ ] Replacing homebrewed quadrature with Expectations.jl.
[ ] Replacing homebrewed iteration with fixedpoint().
[ ] Eliminating repeatedly nested loops (like in the career and job choice lecture).
[ ] Settling on a consistent plot library (Plots/GR?).

Programming in Julia

[ ] Setting up your Julia Environment
[ ] An Introductory Example
[ ] Julia Essentials
[ ] Vectors, Arrays, and Matrices
[ ] Types, Methods, and Dispatch
[ ] The Need for Speed
[ ] Plotting in Julia
[ ] Useful Libraries

Tools and Techniques

[ ] Linear Algebra
[ ] Orthogonal Projections and their Applications
[ ] LLN and CLT
[ ] Linear State-Space Models
[ ] Finite Markov Chains
[ ] Continuous State Markov Chains
[ ] A First Look at the Kalman Filter

Dynamic Programming

[ ] Shortest Paths
[ ] Job Search I: The McCall Search Model
[ ] Job Search II: Search and Separation
[ ] A Problem that Stumped Milton Friedman
[ ] Job Search III: Search with Learning
[ ] Job Search IV: Modeling Career Choice
[ ] Job Search V: On-the-Job Search
[ ] Optimal Growth I: The Stochastic Optimal Growth Model
[ ] Optimal Growth II: Time Iteration
[ ] Optimal Growth III: The Endogenous Grid Method
[ ] LQ Dynamic Programming Problems
[ ] Optimal Savings I: The Permanent Income Model
[ ] Optimal Savings II: LQ Techniques
[ ] Consumption and Tax Smoothing with Complete and Incomplete Markets
[ ] Optimal Savings III: Occasionally Binding Constraints
[ ] Robustness
[ ] Discrete State Dynamic Programming

Multiple Agent Models

[ ] Schelling's Segregation Model
[ ] A Lake Model of Employment and Unemployment
[ ] Rational Expectations Equilibrium
[ ] Markov Perfect Equilibrium
[ ] Asset Pricing I: Finite State Models
[ ] Asset Pricing II: The Lucas Asset Pricing Model
[ ] Asset Pricing III: Incomplete Markets
[ ] Uncertainty Traps
[ ] The Aiyagari Model
[ ] Default Risk and Income Fluctuations
[ ] Globalization and Cycles

Time Series Models

[ ] Covariance Stationary Processes
[ ] Estimation of Spectra
[ ] Additive Functionals
[ ] Multiplicative Functionals
[ ] Classical Control with Linear Algebra
[ ] Classical Filtering with Linear Algebra

Dynamic Programming Squared

[ ] Dynamic Stackelberg Problems
[ ] Optimal Taxation in an LQ Economy
[ ] Optimal Taxation with State-Contingent Debt
[ ] Optimal Taxation without State-Contingent Debt

Also: eliminate double transposes wherever they occur (such as in the Kalman filter lecture).

Active template for checklists:
Getting Started with Julia

[ ] Setting up your Julia Environment
[ ] An Introductory Example
[ ] Julia Essentials and more material
[ ] Fundamental Types  with more material
[ ] Introduction to Types and Generic Programming

More Programming and Software Engineering Principles

[ ] Generic Programming
[ ] The Need for Speed
[ ] Plotting in Julia
[ ] Useful Libraries

Tools and Techniques

[ ] Linear Algebra
[ ] Orthogonal Projections and their Applications
[ ] LLN and CLT
[ ] Linear State-Space Models
[ ] Finite Markov Chains
[ ] Continuous State Markov Chains
[ ] A First Look at the Kalman Filter

Dynamic Programming

[ ] Shortest Paths
[ ] Job Search I: The McCall Search Model
[ ] Job Search II: Search and Separation
[ ] A Problem that Stumped Milton Friedman
[ ] Job Search III: Search with Learning
[ ] Job Search IV: Modeling Career Choice
[ ] Job Search V: On-the-Job Search
[ ] Optimal Growth I: The Stochastic Optimal Growth Model
[ ] Optimal Growth II: Time Iteration
[ ] Optimal Growth III: The Endogenous Grid Method
[ ] LQ Dynamic Programming Problems
[ ] Optimal Savings I: The Permanent Income Model
[ ] Optimal Savings II: LQ Techniques
[ ] Consumption and Tax Smoothing with Complete and Incomplete Markets
[ ] Optimal Savings III: Occasionally Binding Constraints
[ ] Robustness
[ ] Discrete State Dynamic Programming

Multiple Agent Models

[ ] Schelling's Segregation Model
[ ] A Lake Model of Employment and Unemployment
[ ] Rational Expectations Equilibrium
[ ] Markov Perfect Equilibrium
[ ] Asset Pricing I: Finite State Models
[ ] Asset Pricing II: The Lucas Asset Pricing Model
[ ] Asset Pricing III: Incomplete Markets
[ ] Uncertainty Traps
[ ] The Aiyagari Model
[ ] Default Risk and Income Fluctuations
[ ] Globalization and Cycles

Time Series Models

[ ] Covariance Stationary Processes
[ ] Estimation of Spectra
[ ] Additive Functionals
[ ] Multiplicative Functionals
[ ] Classical Control with Linear Algebra
[ ] Classical Filtering with Linear Algebra

Dynamic Programming Squared

[ ] Dynamic Stackelberg Problems
[ ] Optimal Taxation in an LQ Economy
[ ] Optimal Taxation with State-Contingent Debt
[ ] Optimal Taxation without State-Contingent Debt


polybar-msg restart very slow

When I run polybar cmd restart it can take several seconds to restart, anyone know why this is/if it can be fixed? I've found killing polybar and restarting ends up being faster.

It can be that polybar has to wait for the scripts called from the script modules to finish and that is why it takes this long to restart.
When executing polybar-msg cmd restart, does it take a long time to stop the bar or for it to come back?

Ah that makes sense. It takes a bit to restart, but comes back quickly once it closes.


Add option for check is needed strongest password in PasswordStrengthChecker

With completeWithSecurePasswordOnly option for PasswordStrengthCheckerConfiguration is possible complete all width of PasswordStrengthChecker.
Add example app for test.
Reference of issue: #4

✅ Run the tests.

Hi @EliaTolin,
I can't endorse the PR as it includes all the sample project 😅.
Just download the package project and make the changes there so I can merge them


Metadata option for the rubydebug codec doesn't work

For the given configuration:
filter {
  mutate {
    add_field => {
      "hostname" => "%{ipaddress}"
      "index" => "%{[@metadata][_index]}"
      "document_type" => "%{[@metadata][_type]}"
      "document_id" => "%{[@metadata][_id]}"
    }
  }
}

output {
  stdout {
    codec  => rubydebug {
      metadata => true
    }
  }
}

We get the following result:
{
        "ipaddress" => "<IP_ADDRESS>",
         "@version" => "1",
       "@timestamp" => "2016-02-05T17:00:54.622Z",
         "hostname" => "localhost",
            "index" => "testcase",
    "document_type" => "test",
      "document_id" => "1"
}

While the Metadata is being added, the metadata option is not printing the @metadata object field.

Are you sure the mutate are correct?
input {
stdin {}
}
filter {
  mutate {
    add_field => {
      "[@metadata][hola]"=> "Hola"
    }
  }
}

output {
  stdout {
    codec  => rubydebug {
      metadata => false
    }
  }
}

ouput
sdfsdf
{
       "message" => "sdfsdf",
      "@version" => "1",
    "@timestamp" => "2016-02-05T17:28:08.070Z",
          "host" => "sashimi",
     "@metadata" => {
        "hola" => "Hola"
    }
}

@ph this is the metadata coming from an elasticsearch input, forgot to add this. Thought it was a generic issue but might be related to that.

The actual configuration is:
input {
  elasticsearch {
    hosts    => "<IP_ADDRESS>:9200"
    index    => "testcase"
    docinfo  => true
  }
}

filter {
  mutate {
    add_field => {
      "hostname" => "%{ipaddress}"
      "index" => "%{[@metadata][_index]}"
      "document_type" => "%{[@metadata][_type]}"
      "document_id" => "%{[@metadata][_id]}"
    }
  }
  dns {
    nameserver => "<IP_ADDRESS>"
    reverse => [ "hostname" ]
    action  => "replace"
  }
}

output {
  stdout {
    codec  => rubydebug {
      metadata => true
    }
  }
}

Looks like the DNS filter is removing the metadata?

Its an issue with the DNS plugin. Closing this bug.


Running as daemon on startup

First of all. Amazing work!
This is the first solution that works flawlessly or even at all that fully incorporates with Spotify Connect that I am yet to found (hours spent researching and testing the solutions). Volumio works, but I wasn't looking for a complete OS this time.
How do I run Spotify Connect Web as a daemon automatically on boot?

The solution
Create a shell script to hold your start command
nano /home/pi/spotify-connect-start.sh
#!/bin/bash
#Run your Spotify Connect script with your credentials
/home/pi/spotify-connect-web.sh --username USERNAME --password PASSWORD --bitrate 320 --name NAME

Make the file bootable
chmod +x /home/pi/spotify-connect-start.sh
Add the file to crontab
crontab -e
Scroll to the bottom and append
@reboot /home/pi/spotify-connect-start.sh

@AlexGustafsson After the first login, there's a file named credentials.json created that stores a token sent by spotify to automatically login, so you don't need to have your username and password in the script

@AlexGustafsson Hi- I can't quite get this to work and am wondering what could be going wrong. I followed your steps but I can't get the shell script to run on reboot. It works fine if I just click "spotify-connect-start.sh" and then "execute in terminal". But when I try rebooting it seems that crontab will not run the task. I have confirmed that the crontab file is saving - it still shows up how I left it when I go back into editor, but just won't run the script. Any help would be greatly appreciated!

Try to add a blank line in crontab after command.

@maumi That didn't help either

have you done the step where you make your script executable? (chmod +x)
you could try to add
/home/pi/spotify-connect-start.sh
in /etc/rc.local
at the end before exit 0

@maumi No luck. It's weird, if I look in the syslog I can see where cron runs the command but then nothing happens. Could it be because it tries to do it before I am connected to wifi?
When I run /home/pi/spotify-connect-start.sh in terminal it works fine.. though it does give this error in the syslog:
raspberrypi org.gtk.Private.UDisks2VolumeMonitor[855]: index_parse.c:191: indx_parse(): error opening /home/pi/spotify-connect-web-chroot/dev/BDMV/index.bdmv
Any other thoughts?

I have it working. On my script I wrote:
cd /home/spotify-connect-web
/home/spotify-connect-web/spotify-connect-web -o hw:0 -n "Quarto Daniel" -b 320 -k /home/spotify-connect-web/spotify_appkey.key


chore/remove serial

feat: remove internal serial implementation

Using external serial library

Codecov Report

Merging #83 (2532dd3) into master (f46129c) will decrease coverage by 14.98%.
The diff coverage is 0.61%.

@@             Coverage Diff             @@
##           master      #83       +/-   ##
===========================================
- Coverage   70.17%   55.19%   -14.99%
===========================================
  Files          19       26        +7
  Lines         892     1464      +572
===========================================
+ Hits          626      808      +182
- Misses        223      615      +392
+ Partials       43       41        -2

Impacted Files
Coverage Δ

canbaudrateid.go
0.00% <0.00%> (ø)

canbaudrateid_string.go
0.00% <0.00%> (ø)

canconfig.go
0.00% <0.00%> (ø)

candataidentifier.go
0.00% <0.00%> (ø)

candataidentifier_string.go
0.00% <0.00%> (ø)

canoutputconfiguration.go
0.00% <0.00%> (ø)

informationmessages.go
0.00% <0.00%> (ø)

measurementdata.go
92.35% <ø> (+0.16%)
:arrow_up:

messageidentifier.go
100.00% <ø> (ø)

messageidentifier_string.go
100.00% <ø> (ø)

... and 21 more

What happens with xsens serial communication in b1-b3?

@mlveggo we are not removing serial from the lib, just our own serial implementation in favor of an external open source maintaned one :D

Note: pod-xil and simian-adapter needs updating after this too.

 I know I have used https://github.com/tarm/serial in the past with great success so just curious what went in to the decision process :)


Add internal ip alloc details as per cx request

Cx requested to update doc to show internal ip allocation details.

Learn Build status updates of commit 7edc9ad:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/aks/internal-lb.md
:white_check_mark:Succeeded

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

Learn Build status updates of commit 44ad001:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/aks/internal-lb.md
:white_check_mark:Succeeded

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

Learn Build status updates of commit 6cc0975:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/aks/internal-lb.md
:white_check_mark:Succeeded

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

@MGoedtel
Can you review the proposed changes? Note that the new "Note:" on line 71 should be formatted using the Markdown formatting for alerts.
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged" @MicrosoftDocs/public-repo-pr-review-team

Hi @Court72, thanks for the comment. I've updated the PR. Hi @MGoedtel, could you please take a look as this is per cx request. Thanks!

#sign-off


Add own node to fixed registry

#130  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @neekolas and the rest of your teammates on  Graphite


Get-Command * -Parameter Computername doesn't return same result as Get-Help * -Parameter Computername

Applies to all versions of PowerShell (Windows and Core)
When searching all cmdlets that own the parameter ComputerName, Get-Command and Get-Help does not provide the same cmdlets.
Steps to reproduce
$gcm = gcm -ParameterName computername | select -expand Name

$help = help * -Parameter computername | select -expand name

compare-object -ReferenceObject $gcm -DifferenceObject $help -IncludeEqual

InputObject          SideIndicator
-----------          -------------
Connect-PSSession    ==
Enter-PSSession      ==
Get-PSSession        ==
Invoke-Command       ==
New-PSSession        ==
Receive-Job          ==
Receive-PSSession    ==
Remove-PSSession     ==
Rename-Computer      ==
Restart-Computer     ==
Stop-Computer        ==
Get-WinEvent         =>
Invoke-WSManAction   =>
Remove-WSManInstance =>
Get-WSManInstance    =>
New-WSManInstance    =>
Test-WSMan           =>
Disconnect-WSMan     =>
Connect-WSMan        =>
Set-WSManInstance    =>
Send-MailMessage     <=

Expected behavior
Returned cmdlets should be the same.
Actual behavior
There are many differences between Get-Command and Get-Help. The result should be consistent.
Environment data

Name                           Value
----                           -----
PSVersion                      6.0.1
PSEdition                      Core
GitCommitId                    v6.0.1
OS                             Microsoft Windows 10.0.14393
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

The Send-MailMessage discrepancy is explained in https://github.com/PowerShell/PowerShell/issues/6175#issuecomment-366521886, and a change has been suggested in #6183.
The other differences appear to stem from Get-Help - unexpectedly - not finding cmdlets from modules that are discoverable via $env:PSModulePath, but which happen not to be imported into the current session.
The =>-marked cmdlets above come from two modules that aren't loaded by default; if you import them explicitly and re-run your command, they will turn to == entries (the only remaining difference should be the previously mentioned Send-MailMessage):
# Run this, then try your command again.
Import-Module Microsoft.PowerShell.Diagnostics, Microsoft.WSMan.Management

If you agree with this assessment, please update the title and original post accordingly.


percolate doesn't work with freshly installed ElasticSearch

Let's begin with:
tar zxvf elasticsearch-0.18.6.tar.gz
elasticsearch-0.18.6/bin/elasticsearch -f

Next, run the percolate-bug.rb script:
ruby percolate-bug.rb
'OMG i can has' matches queries nil                      # should be  ["memes", "newspeak"]
'OMG i can has' matches queries: ["memes", "newspeak"]   # or, ocassionally, [] (empty array)
'OMG i can has' matches queries ["memes", "newspeak"]    # ok

I use ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
--Włodek Bzyl

You forgot to refresh the special _percolator index, as the docs say in http://karmi.github.com/tire/#section-142:
Tire.index('_percolator').refresh

Best,
Karel

Thanks.
Does it mean that
Tire.index('_percolator').refresh

should be added in percolated-twitter.rb in line 94.
Am I right?

Yes, definitely,


Address XS code hygiene tasks

part of #4968

Changelog Entry

Description
Address the first 3 suggestions from #4968
Design

Specific Changes
List of changes:

[x] XS: Do not use React FC/VFC types, use Props instead
[x] XS: Mark all props as read-only, also any arrays and objects under it
[x] XS: Prefer import { type ABC } over import type { ABC }

As we remove FC/VFC I thought it'd be nice to add ReactNode return type basically to:

Serve as an additional hint that the function follows React Component signature
Limit usage of unsupported by React runtime return types

-

[ ] I have added tests and executed them locally
[ ] I have updated CHANGELOG.md
[ ] I have updated documentation

Review Checklist

This section is for contributors to review your work.

[ ] Accessibility reviewed (tab order, content readability, alt text, color contrast)
[ ] Browser and platform compatibilities reviewed
[ ] CSS styles reviewed (minimal rules, no z-index)
[ ] Documents reviewed (docs, samples, live demo)
[ ] Internationalization reviewed (strings, unit formatting)
[ ] package.json and package-lock.json reviewed
[ ] Security reviewed (no data URIs, check for nonce leak)
[ ] Tests reviewed (coverage, legitimacy)

@compulim if anything is missing, please let me know!


Unable to export to new JBeam file

Addon version: 0.1.4
Blender version: 3.6.5
Here is a JBeam structure I'd like to export:

I want to be able to use this addon in place of thomatoes50's existing exporter addon (which doesn't allow for the naming of individual nodes), but can't yet do that as this current addon doesn't seem to support exporting brand-new (not imported) JBeams.
On the first export attempt, it produced an incomplete JBeam file containing only the nodes, which I have subsequently been unable to reproduce:

Every time I try to export it after that, Blender throws the error Imported JBeam file could not be found. Please do not move the imported file while using the JBeam Editor.

Yeah currently its only able to export nodes. The reason is in many cases, you can have beams/triangles referencing nodes that aren't part of the same JBeam part/file. So you really need the full vehicle in many cases to handle them. So that's why I haven't supported handling beams/triangles yet. Sorry about that.
The "Imported JBeam file could not be found. Please do not move the imported file while using the JBeam Editor." means that you cannot move the imported/exported JBeam file. You need to work on it in one place.

Thanks for the reply. Is a single-part export option planned where any beam or triangle referencing nodes not defined in the part is ignored?

Hmm, I guess I could have a mode like that. But this would come after full vehicle importing since I'm working on that now :)


jsx-indent inserts unwanted space after text content

Given the JS code:
const MyComponent = React.createClass({
  render() {
    return (

                   bar {foo}

    );
  },
});

and the following eslint configuration:
{
    "parserOptions": {
        "ecmaVersion": 6,
        "ecmaFeatures": {
            "jsx": true
        }
    },
    "rules": {
        "react/jsx-indent": "warn"
    },
    "plugins": [
        "react"
    ]
}

Running eslint with --fix produces:
const MyComponent = React.createClass({
  render() {
    return (

                   bar           {foo}

    );
  },
});

It looks like it's trying to apply the indent to {foo} even though it's not the first text on the line.
Repeatedly running eslint --fix moves the {foo} further along.

Ok, seems the space is inserted after bar instead of before, I'll have a look.

Thank you very much :)
Would you mind releasing when you have a chance?


QuantipyViews: remove fast_path and pipe

It is evil because kwargs are getting lost.

Resolved by #562.


MAINT: adding python 3.13 to CI and classifiers

Tests pass locally for 3.13, so any possible failures should be fixed after #115 is merged.

This should be good to go.


Repository not found - error output is voluminous but not helpful

The info below is bad both because it exposes the user to a large stack trace, and also because the output doesn't actually identify the issue.  Which repository wasn't found?
I was able to get what I needed using the --debug command line option, (with even more voluminous info about software internals that shouldn't need to be exposed).

$ librarian-puppet update
/var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:201:in `block in run_command_internal': fatal: remote error:  (StandardError)
  Repository not found.
	from /usr/lib/ruby/1.9.1/open3.rb:208:in `popen_run'
	from /usr/lib/ruby/1.9.1/open3.rb:90:in `popen3'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:200:in `run_command_internal'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:152:in `block (2 levels) in run!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:184:in `logging_command'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:151:in `block in run!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:159:in `block (2 levels) in maybe_within'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:169:in `with_env_var'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:159:in `block in maybe_within'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:159:in `chdir'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:159:in `maybe_within'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:150:in `run!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git/repository.rb:71:in `clone!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/source/git.rb:103:in `cache!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/lib/librarian/puppet/source/git.rb:65:in `cache!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/lib/librarian/puppet/source/git.rb:96:in `fetch_version'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/manifest.rb:109:in `fetch_version!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/manifest.rb:101:in `fetched_version'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/manifest.rb:55:in `version'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/manifest.rb:85:in `satisfies?'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/dependency.rb:65:in `satisfied_by?'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:65:in `block (5 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:65:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:65:in `all?'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:65:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `block (4 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `block (3 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `block (2 levels) in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `block in recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver/implementation.rb:20:in `resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/resolver.rb:18:in `resolve'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/action/resolve.rb:25:in `run'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/cli.rb:161:in `resolve!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/cli.rb:103:in `update'
	from /var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
	from /var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
	from /var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
	from /var/lib/gems/1.9.1/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/vendor/librarian/lib/librarian/cli.rb:29:in `bin!'
	from /var/lib/gems/1.9.1/gems/librarian-puppet-0.9.9/bin/librarian-puppet:9:in `'
	from /usr/local/bin/librarian-puppet:19:in `load'
	from /usr/local/bin/librarian-puppet:19:in `'

I don't think this applies anymore


404 error with lists file

both urls give 404 ...
curl -s --compressed "https://mrjefflarry.github.io/redmine-cli/apt/public_key.gpg" | sudo apt-key add -
sudo curl -s --compressed -o /etc/apt/sources.list.d/redmine-cli.list "https://mrjefflarry.github.io/redmine-cli/apt/redmine-cli.list"
sudo apt update
sudo apt install red-cli

Hi!
Thanks for reporting, i see the problem, ill fix it ASAP


Scipts with a "BEGIN" statement execute more than one query at a time.

System information:

Win 10
6.3.1
I have the query separator set to semi-colon, and the "Blank line is statement delimiter" option turned off.

Connection specification:

postgresql/enterprisedb 9.4 (but the same behavior happens with sqlite, at least)
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
If you have a begin statement in your sql editor, running any query after that will execute all queries after (and including) the begin.  I think this behavior is a very recent change.
Steps to reproduce, if exist:
Put this in your editor:
select 1;
begin;
select 2;
select 3;
rollback;
select 4;

If you put your cursor on select 1 and press ctrl+enter, that one query executes as expected.  If you put your cursor on the begin or anything after it, including the select 4 command, it executes from the begin statement to the end of the script.
Include any warning/errors/backtraces from the logs
In the example above, I placed my cursor on select 4 and hit ctrl+enter, and got 3 results tabs with values 2, 3, and 4, and this in the Query Manager:
begin;¶select 2;¶select 3;¶rollback;¶¶select 4;

This happens because dbeaver treats begin keyword as block statement (and looking for corresponding end statement).
We need to process begin differently - depending on the script context.

Just to clarify, will the corrected behavior be to always execute exactly one statement when you "Execute SQL Statement"?  An additional "Execute block" could be useful, if it would search up to a begin and execute through either rollback or commit, but otherwise, I would prefer dbeaver not try to be too smart when I want it to execute only the statement my cursor is currently in.

Well, a lot of people use blocks like
declare ... begin .. end or do begin $$ $$ end; . we have to be smart enough to process such blocks as a single statement.
Unfortunately in postgresql begin has two different meanings.

verified


Add support for annotations on ingress controllers

Closes #14

Checklist

[x] Keep pull requests small so they can be easily reviewed.
[x] Update the documentation.
[x] Update the ./CHANGELOG.md.
[x] Link this PR to related issues.

@ccremer this renders the following when no annotations are set:
metadata:
  annotations: {}

Is that OK or could this lead to problems in the ArgoCD sync?

I'd say that should be ok, as long as no other operator modifies the resource, in which empty properties could get removed.


"Selector not allowed"

Description
I have a server that I play with 5-6 friends and we want to be able to teleport with xaero's minimap waypoints. I have set all permissions necessary to be able to use the tp command but i can't figure out why luckperms won't allow me tu use @a, @s, etc. with the tp command. If I give /op it will work, but I can't give that since it will destroy the server with greafing for sure.
Also i searched the respective permission string but found no solutions.
Thanks in advanced
Reproduction Steps
assign /tp permissions to a deoped user and execute /tp with any selector (@a, @s, etc)
Expected Behaviour
i don't know what to say here
Server Details
Forge 1.18.2-40.1.73
LuckPerms Version
v5.4.26
Logs and Configs
No response
Extra Details
No response

It seems like this may be an issue with the waypoints plugin if it modifies the /tp command

You can configure what tp command Xaero's run.
Xaero's by default uses @s for the entity selector, however this can be omitted.
Find the key that is bound to Xaero's "Minimap settings" (Default is 'Y').
Press the key, and click "Waypoints" -> "Options" in the upper left -> "Teleport command" -> Toggle "Use Default" -> remove "@s" from both fields -> click "Confirm".
Issue solved.


Couldn't Install nuclio on Ubuntu 18.04

Hi,
OS : Ubuntu 18.04
I have recently started working on CVAT  to auto annotate my datasets for the custom model.
Below are the steps I have followed for CVAT:
1.I have followed all the steps for installing CVAT from here
2.Able to open CVAT Tool(localhost:8080) and  after creating a task while click "automatic annotation" under Action tab I am unable to deploy my custom model. So,  i am following the "Semi-automatic and automatic annotation" steps to deploy new serverless functions and deploy my custom model. But facing the issue while setting up the nuclio.
3 . I have followed the following steps for nuclio Installation.
  a. Downloaded the nuctl-1.5.8-linux-amd64 package using the [link](https://github.com/nuclio/nuclio/releases)

  b. Navigated to the downloaded directory and executed the below command:
         chmod +x nuctl-1.5.8-linux-amd64

  c. Able to run the executable using the following command:
       ./ nuctl-1.5.8-linux-amd64

  d. For Nuclio usage, executed the below command:
      nuctl --help
     But Facing "command: nuctl not found, did you mean" issue. Please find the attached issue screenshot.

Could Anyone please help me in resolving the issue.
TIA,
Bhargavi

Hi,
You need to execute the command as follows: ./ nuctl-1.5.8-linux-amd64 xxxxxx
Or you can Rename your file to nuctl to use just the ./nuctl xxxxxx

@veer5551 thanks for the answer, I think the issue can be closed.


Animation speed consideration when implementing the future Animation Update

Hi,
Nice mod. Can we get a slider for fire animation speed? or maybe 3 fire "types" in the drop down with different speeds?

Hi Dieter,
There is an animation speed slider already in there, but it's not great. It currently skips frames to slow down the animation (alpha only)
The 'movement' of the fire is not affected by this at the moment. However, I just released v1.1.0 that will let you tweak how much the fire moves, which may help slightly.
I am considering my options for improving the fire animation at the moment, so I will make sure to take animation speed variability into account! :)

I just downloaded the update and its great. I will be using this for all my ambient lights. Thanks!

Reopening for further animation speed improvements


Add Kaitai Struct (KSY) language

Description
Adds a mapping for the .ksy extension used by Kaitai Struct, a YAML-based language for describing the structure of binary file formats.
Checklist:

[x] I am adding a new language.

[x] The new extension is used in hundreds of repositories on GitHub.com

Search results for each extension:

https://github.com/search?q=extension%3Aksy+NOT+nothack (according to data from Harvester, this matches 256 repos by 219 individual owners)

[x] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

https://github.com/kaitai-io/kaitai_struct_formats/blob/cde1b06de6fc639df99cd62fca9cd07634c64d2a/filesystem/iso9660.ksy
https://github.com/kaitai-io/kaitai_struct_formats/blob/cde1b06de6fc639df99cd62fca9cd07634c64d2a/archive/zip.ksy

Sample license(s): CC0-1.0 (see the sample source files' meta section)

[x] I have included a syntax highlighting grammar: https://github-lightshow.herokuapp.com/ N/A: existing YAML syntax highlighting is used
[x] I have updated the heuristics to distinguish my language from others using the same extension. N/A: the .ksy extension is not used by any other languages

I'm still interested in this PR. My last comment (https://github.com/github/linguist/pull/4830#discussion_r397577881) was asking for clarification about what the different types mean, because it's not obvious (to me at least) whether a declarative language like Kaitai Struct should be considered programming or data.

@dgelessus Keep it as programming. Normally I'd recommend adding it as a YAML extension, but reading this

There are already a few other YAML-based languages that have their own language entry rather than just an extra extension under the YAML language (e. g. Common Workflow Language, LookML, RAML, SaltStack), so I did the same thing here.

… made me realise we're not 100% consistent about differentiating between an extension and a specialised use of a certain file-format. 😜

I might have forgotten to reply here, oops.
I think the discussion above is more or less resolved though? Or if there's anything remaining that I should change/adjust, let me know.


Clean up time

A newly added function lookup_timestep() should be used within lookup_transitions() to not duplicate code; and because it's more robust.
lookup_timestep() should be updated as currently it would give bogus results if the model doesn't cover the whole year (see #39) but this can't happen until we update the example data (#50).   lookup_transitions() has the same problem (but shouldn't after 1).

Also consider supporting the 't##' (times two) notation used in BirdFlow distribution column names and the 'W##' (week) notation used by ebirdst for time labels.  The distinction between the two being that a model always starts with timestep 1 where the w references week of the year so for a partial year model might not start with 1.

Also add a new function lookup_time_sequence(start, end, direction, bf) which returns a directional series of timesteps. This would use a lot of code from lookup_transitions( )  and would return a directed sequence of timesteps, that might pass over the year boundary.   It would verify that all the timesteps were in the BirdFlow model and (if it crosses the year boundary) that the model has the necessary transition.   See #66 for a slight change in precedence of direction vs implicit direction in dates relative to current intended behavior.  The change is to always follow the direction argument even when dates are used as input.


How to handle improper input types?

Question
I am working on figuring out a contract test to ensure the server is responding with what we expect it to be sending back. I am experimenting with a tool called schemathesis. This tool creates random data to test against the server with and ensures the return matches what the spec says.
One thing it tests for is if you use Int64, it does one more to ensure you are handling those overflows correctly.
Well this is where I am getting the error with my lambda function. The generated server code doesnt allow me to handle improper input data that I am aware of. It errors before reaching my function for the endpoint.
Would this be where I create a middleware to implement this functionality?

I think this is being discussed here https://github.com/apple/swift-openapi-generator/issues/609 Since it is the client that is sending incorrect data, not a server issue.

Rejecting invalid data, and only invoking your handler if the incoming data passes validation, is one of the main benefits of Swift OpenAPI-generated code. Or are you seeing a case when it's rejecting valid data that should have been let through?
It is correctly rejecting invalid data but when it is trying to decode the input, it gets a typemismatch and throws a 500 error. Even though it is not a server error, it is a client error. The testing suite tries the Int64 overflow so (9,223,372,036,854,775,808 instead of the max 9,223,372,036,854,775,807) and this is what causes the typemismatch.

If there's additional validation you'd like to do before the generated code tries to parse and validate it, yes you could implement a ServerMiddleware and provided it when registering the generated handlers.

its less validation but being able to throw a different error for the client. In the retry example, there is one that if it receives a 500, then wait. I could modify that if the type is a typemismatch, then return a 400 error.

I suspect that's unrelated, your issue is about incoming data into the server, but https://github.com/apple/swift-openapi-generator/issues/609 is about turning errors into specific outgoing data.

hmm I guess I thought it was by these two lines.

E.g. decoding or invalid content type errors should rather be handled as bad requests, as the responsibility to provide a valid request lays on the client side, this is nothing the server can fix.

let statusCode: HTTPResponse.Status = switch self.underlyingError {
    case is DecodingError:
        .badRequest

Awesome. Now that I know that is the solution, then yup I can close this with this comment. Thanks a ton!


Fix consistent callable conditions GridView

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
yes

This degrades performance without any real benefits.

please elaborate on why the following improvements arent 'real benefits':

add more flexibility to $rowOptions not limiting it to Closure
add consistency to conditional statements for callbacks

With respect to performance, I doubt this will be significant for a gridview in an application. To quote @qiangxue, 'prefer readibility over micro-optimization'.

Everything you can do with callable you can do also with Closure - there is no additional functionality, only another way to do the same thing (which typically reduces the readability).
Passing incorrect callback to beforeRow or afterRow will be just ignored without any error - this makes debugging much harder.

please explain how an callback configuration array $rowOptions could get past 'instanceof Closure'?
I agree. No other types are allowed here. Still, for readibility I would prefer isset()

please explain how an callback configuration array $rowOptions could get past 'instanceof Closure'?

You can use:
function ($model) {
    return Helper::generateBeforeRowConfig($model);
}

instead of ['Helper', 'generateBeforeRowConfig'] - same result.

still defining $rowOptions as a property from an extending class is not supported, as functions cannot be assigned to PHPs properties. Thus, less flexibility, less usercases.

PR can not be accepted, because it produces potentioal errors.


String Charset

@halysongoncalves Is there any way to show native chars? Currently I'm using Turkish letters and they are not displayed correctly.
I've tried URLDecoder.decode("...", charset); but it's not fixing that problem.

@halysongoncalves seems like this " wasn't " a problem which occurs only on your library, I've solved this by adding " compileOptions.encoding = 'windows-1254' " to gradle, that solved it.

@MyHeartsECO  Thanks for the report! Any problems or questions just open a report and I'm sorry for the delay in responding!


Update JoinTables to add RowCountProperty

I added RowCountProperty to the JoinTablesCommand to allow a logic check in the command file.  Need to document.

I added the property and also ManipulateTableString(ToMixedCase) parameter.  Close the issue.


Add dashboard display of the source of ignores

Sorry for the delay in reviewing this.  I think I can check this out tonight.

No worries about the delay -- life happens, and this is an addition, not a bug fix.

I agree with all those comments; I've now applied the specific ones.


Make sure sshnpd can run without .ssh/authorized_keys

Describe the bug
sshnpd won't start without the file (C for sure, possibly dart too)
Steps to reproduce

Expected behavior

Screenshots
No response
Smartphones

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Were you using an atApplication when the bug was found?
No response
Additional context
No response

@cpswan @cconstab @gkc
What should be the desired behavior here?

sshnpd should always be able to start without the authorized_keys file, that much is clear.
Should we create the authorized_keys file if -s is turned on or should we do it at startup or upon receipt of a new key to add?
Any special behaviour for ssh_request

For 2. I think the later option, in case authorized_keys is ever deleted from the system.
For 3. I don't think we do anything, we defer that level of authentication to the ssh server to decide what to do.

This sounds simple BUT Dart cannot set the permissiins natively so you have to run chmod 600 in a process

This sounds simple BUT Dart cannot set the permissiins natively so you have to run chmod 600 in a process

The posix package wraps this behavior already, can I assume we aren't supporting ssh on native windows, since openssh on windows is still in beta? The posix package will work in wsl though.

Also (in the long term) these questions are far more important for the C version.

Waiting for a clear answer before I resume work on this. My focus is on at_c first, will unblock this when:

changes in at_c have been uptaken in c sshnpd
I have a clear answer to how behaviour should be handled


kernelspec user config is ignored on update-kernels

Description:
updateKernelSpecs function ignore user config.
Because of bug.
this._kernelSpecs = this.getKernelSpecsFromSettings;

Should be
this._kernelSpecs = this.getKernelSpecsFromSettings();

https://github.com/nteract/hydrogen/blob/master/lib/kernel-manager.js#L244
[Description of the issue]
Steps to Reproduce:

Set JSON on kernelspec config with proper field with debug print insertion
See user config ignored and noticed code bug.

Versions:
Which OS and which version of Hydrogen and Atom are you running?

MacOS(10.12.5)
ijavascript

You can get this information from copy and pasting the output of atom --version  from the command line.
Atom    : 1.18.0-beta2
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0

Logs:
Please post any error logs and the output of the developer tools as described in our Debugging Guide.

@t9md Your proposed solution makes sense to me, want to make a PR to close this?

No.


Help to make downloads work in Jasonette-Android Advanced Webview Branch

I try to get downloads working since days, but unsuccessful. Have to admit, I am no dev, so double hard. For me it looks like some parts of the implementation. I use the advanced webview branch
https://github.com/jasonelle/jasonette-android/tree/advanced-webview
which has
https://github.com/delight-im/Android-AdvancedWebView
included.
Downloads are handled automatically and can be listened to
@Override
public void onDownloadRequested(String url, String suggestedFilename, String mimeType, long contentLength, String contentDisposition, String userAgent) {
    // some file is available for download
    // either handle the download yourself or use the code below

    if (AdvancedWebView.handleDownload(this, url, suggestedFilename)) {
        // download successfully handled
    }
    else {
        // download couldn't be handled because user has disabled download manager app on the device
        // TODO show some notice to the user
    }
}

but I am not good enough in Java to be able to chang/add it myself.
Any hint would be greatly appreciated.

Thanks!
Although it’s more of a question for their repository vs. this one here, you got everything right already.
If the following is all they did to integrate this library here, it’s not enough, because they missed all custom callbacks and listeners:
https://github.com/jasonelle/jasonette-android/commit/08488dd804d7a63b0907b8b7008077ad8e246477
The method you have identified should be the critical one, others might be necessary for other features.
I think it should fit in app/src/main/java/com/jasonette/seed/Core/JasonViewActivity.java, on the same level as void onBackPressed().
Does that help?