[Fix] PID retrieval to kill virt-v2v

When we cancel a migration, we need the PID of virt-v2v to kill it. However, due to some previous code changes, the PID is not stored any more in task.options[:virtv2v_wrapper]. This PR updates the get_conversion_state method to also store the PID as task.options[:virtv2v_pid]. Then the kill_virtv2v method calls get_conversion_state to be sure that the PID is retrieved if it exists.
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1666799

@miq-bot add-label transformation, bug, hammer/yes
@miq-bot add-reviewer @djberg96
@miq-bot add-reviewer @jerryk55
@miq-bot add-review @agrare

@miq-bot add-reviewer @agrare

@fdupont-redhat It would probably be good to toss in some log warnings similar to my PR.

:+1:

@jerryk55 can you review.


Node crash due to failed rollback in Hybrid

There is a problem happening all the time to me if I run 2 or more nodes. A node may crash with the following exception:
java.util.NoSuchElementException: versionID not found, can not rollback
	at io.iohk.iodb.LSMStore.notFound$1(LSMStore.scala:868)
	at io.iohk.iodb.LSMStore.$anonfun$rollback$2(LSMStore.scala:875)
	at scala.Option.getOrElse(Option.scala:121)
	at io.iohk.iodb.LSMStore.rollback(LSMStore.scala:875)
	at examples.hybrid.state.HBoxStoredState.$anonfun$rollbackTo$1(HBoxStoredState.scala:88)
	at scala.util.Try$.apply(Try.scala:209)
	at examples.hybrid.state.HBoxStoredState.rollbackTo(HBoxStoredState.scala:84)
	at scorex.core.NodeViewHolder.$anonfun$updateState$1(NodeViewHolder.scala:230)
	at scala.util.Try$.apply(Try.scala:209)
	at scorex.core.NodeViewHolder.updateState(NodeViewHolder.scala:226)
	at scorex.core.NodeViewHolder.updateState$(NodeViewHolder.scala:220)
	at examples.hybrid.HybridNodeViewHolder.updateState(HybridNodeViewHolder.scala:26)
	at examples.hybrid.HybridNodeViewHolder.pmodModify(HybridNodeViewHolder.scala:123)
	at examples.hybrid.HybridNodeViewHolder.pmodModify(HybridNodeViewHolder.scala:26)
	at scorex.core.NodeViewHolder$$anonfun$processLocallyGeneratedModifiers$1.applyOrElse(NodeViewHolder.scala:373)
	......

So actually at some moment a node isn't able to do a rollback. A brief look at the issue brought me to this function source code link which, as I can see, isn't fully implemented. It is probably the cause of the crashes (not fully sure though).
Are you also having this problem? Are you going to fix it anytime soon?

@dkaidalov , I have recently executed a few nodes (see #152), and I didn't experience this behaviour. Could you tell us in more detail what you did to see this error?

This error related to HBoxState, not history. @dkaidalov could you provide more details? I'm trying to reproduce.

Indeed, the error is raised in HBoxStoredState, but its reason coming from the non-properly implemented HybridHistory::bestForkChanges
The main problem is that HybridHistory::bestForkChanges returns a ProgressInfo  structure with toApply field containing only the head block instead of the whole applyBlocks array.
This, in turn, leads to the situation that not all necessary blocks are applied to HBoxStoredState (because it uses ProgressInfo structure to update its state) and then, at some point, it can't do a rollback, because of unknown branching point.
This is my understanding of the problem, but I could mislead something.
I catch this error very often. Two or more nodes are needed. It raises all the time if block generation is fast. I have 10s block interval.
Here is my config:
miner {
    offlineGeneration = true
    targetBlockDelay = 10s
    blockGenerationDelay = 100ms
    rParamX10 = 8
    initialDifficulty = 10
    posAttachmentSize = 100
  }

..............................

PosForger:
val InitialDifficuly =<PHONE_NUMBER>L

Note that I decreased PoS initial difficulty to speed up block generation

@daron666 actually I was able to reproduce this crash without any changes in configs and with clean master branch (I run 3 nodes)
I also noticed that the mentioned exception usually appears after the next error:
java.lang.IllegalArgumentException: requirement failed: Incorrect state version: 5wySxM4eYTLGFbboEeVYoKyPvu3u5C3fScuHoNAxm6Km found, (B78JEtziqmwttysEiab1KRNZ3oaSUYpUQvubfY5KTy1w || 87Phg3xSAwA58cRTZ1n4zTKmZwsjqkKwcijnmmspjsmA || List()) expected
	at scala.Predef$.require(Predef.scala:277)
	at examples.hybrid.state.HBoxStoredState.$anonfun$validate$1(HBoxStoredState.scala:56)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
	at scala.util.Try$.apply(Try.scala:209)
	at examples.hybrid.state.HBoxStoredState.validate(HBoxStoredState.scala:51)
	at examples.hybrid.state.HBoxStoredState.validate(HBoxStoredState.scala:22)
	at scorex.mid.state.BoxMinimalState.applyModifier(BoxMinimalState.scala:29)
	at scorex.mid.state.BoxMinimalState.applyModifier$(BoxMinimalState.scala:28)
	at examples.hybrid.state.HBoxStoredState.applyModifier(HBoxStoredState.scala:22)
	at scorex.core.NodeViewHolder.updateState(NodeViewHolder.scala:248)
	at scorex.core.NodeViewHolder.pmodModify(NodeViewHolder.scala:284)
	at scorex.core.NodeViewHolder.pmodModify$(NodeViewHolder.scala:271)
	at examples.hybrid.HybridNodeViewHolder.pmodModify(HybridNodeViewHolder.scala:22)
	at scorex.core.NodeViewHolder$$anonfun$processLocallyGeneratedModifiers$1.applyOrElse(NodeViewHolder.scala:380)
....

To facilitate reproduction you can:

Set up all nodes with non-zero balances (by setting seed = "genesisoX") so they can issue PoSBlocks
Decrease block delay
Decrease initial Pos difficulty

@dkaidalov I guess I've fixed it, test please

@kushti Subjectively it becomes a bit more stable, but the same errors are still reproducible
I noticed that HybridHistory::bestForkChanges still returns a ProgressInfo structure with toApply field containing only the head block instead of the whole applyBlocks array. Is that done on purpose?
Cause I can confirm, according to my testing, that the IncorrectStateVersion exceptions start to appear right after applyBlocks.size > 1 has happened. And it then finally leads to Version Id not found exception


Question about generating result jitter

Hi, thank you so much for sharing such an interesting job. May I ask if the results generated by your VAE in the early stage of training, such as 1000-2000 epochs, will have motion jitter, and do you need to add some smoothing filters such as euros?

Hi, thanks for your attention. I have not added such euro filters, but it could help. You can refer to
https://github.com/mkocabas/VIBE/blob/851f779407445b75cd1926402f61c931568c6947/demo.py#L229
For our implementation, we just trained the VAE part much longer for better motion quality. You can set it to 3000 or 4000 epochs.

Thank you for your timely reply. Have you tried to use only rot6D as input for training? Is there any motion jitter?

I have tried rot6d in the early research, which is much smooth compared to the rotation vector.
Rot6d even is the greatest representation for the motion-only generation, I believe, to avoid motion jitter.
However, it could cause global artifacts, like foot-sliding on the ground. If you do not care about that, rot6d is great.

Thank you very much for your patience, I will try it


'HtmlLoader' does not work with 'Webpack 4'

When using the WebPackAngularTranslate.htmlLoader with Webpack v4 the following exception is thrown:
Module build failed (from (webpack)-angular-translate/dist/html/html-loader.js):
TypeError: Cannot read property 'debug' of undefined
    at Object.loader (\node_modules\webpack-angular-translate\src\html\html-loader.ts:54:25)

Versions
"webpack": "4.23.1",
"webpack-angular-translate": "2.0.0",

Configuration
module: {
        rules: [{
                test: /\.html$/,
                enforce: "pre",
                use: WebPackAngularTranslate.htmlLoader()
            }
        ]
    }

Specifying the loader options did no help:
module: {
        rules: [{
                test: /\.html$/,
                enforce: "pre",
                use: [{
                    loader: WebPackAngularTranslate.htmlLoader(),
                    options: {
                        debug: false
                    }
                }]
            }
    }

Hi Micha
Works as expected. Thanks for the quick fix.
All the best!


putting in exact matches in package.json. removing dep on react-flexbox

@keybase/react-hackers

What about react-native/'s package.json?

i'll ticket it. let's revisit when we go back to mobile

https://keybase.atlassian.net/browse/DESKTOP-652

But aren't they used during the desktop build too?  The desktop build does npm i inside react-native, and our react components import from it.  I don't see how we could claim that the desktop no longer has fuzzy imports without changing react-native too.

(Maybe I'm wrong that the desktop build uses the modules it installs from react-native/package.json? If so, I'm happy with this PR being enough for now.)

Desktop does not rely on react native at all (or should not)
On Monday, March 7, 2016, Chris Ball<EMAIL_ADDRESS>wrote:

But aren't they used during the desktop build too? The desktop build does
npm i inside react-native, and our react components import from it. I don't
see how we could claim that the desktop no longer has fuzzy imports without
changing react-native too.
—
Reply to this email directly or view it on GitHub
https://github.com/keybase/client/pull/2245#issuecomment-193389667.

:+1:

Ahhh cool, okay. :thumbsup:

@keybase/react-hackers i added shrinkwrap, wanna pull and rm -rf node_modules ; npm i to sanity check

Did pull, rm -rf node_modules, npm i, all seems to work.  :thumbsup:


Use batch transformation functions from ocf_datapipes

Pull Request
Description
Use batch transformation functions transfered to ocf_datapipes 3.3.6. I have purposefully left out updates to hindcast.py as it has gone out of date with the library already anyways (https://github.com/openclimatefix/PVNet/issues/156#issuecomment-1988551731).
Fixes https://github.com/openclimatefix/PVNet/issues/111
How Has This Been Tested?
Only moves existing code. Existing tests still pass.
Checklist:

[x] My code follows OCF's coding style guidelines
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have checked my code and corrected any misspellings

@markus-kreft I've just closed and reopened to get our test suite to run. If it passes I'll go ahead and merge. Thanks for tackling this!


I found a error on Android

my template is:
<qrcanvas v-bind:style="[{'width':qrcode_width}, {'height':qrcode_width}]" v-bind:options="qrcode_content" ></qrcanvas>

it works well on pc broswer, but when it comes to Android……
the error is：

how to fix it?

Object.assign is not defined. I'll fix this soon. You may add a polyfill as a workaround first.


INFRABOX_BUILD_NUMBER not substituting in CLI.

Describe the bug
I am trying to publish a docker image from one job, and then specialize that image in downstream docker jobs. Thus I need an ARG in my Dockerfile which is INFRABOX_BUILD_NUMBER which I can reference as a tag in my FROM clause. Additionally, my deployments locally are not tagged with build_$INFRABOX_BUILD_NUMBER, but instead just "local". This pattern difference between CLI and remote will cause issues.
To Reproduce
infrabox.json
...
"build_arguments": {
"INFRABOX_BUILD_NUMBER": "$INFRABOX_BUILD_NUMBER"
}
Dockerfile
ARG INFRABOX_BUILD_NUMBER
FROM registry/image:$INFRABOX_BUILD_NUMBER
...
Expected behavior
I would expect even locally that something be substituted for INFRABOX_BUILD_NUMBER so that this works properly both with CLI and remotely.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOSX High Sierra
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Fix in CLI 0.6.8


chore: init repo

Use pandoc types in Lua; documentation
Issue: https://github.com/linuxdeepin/developer-center/issues/5731
Log: init repo

/approve


Menu not hidden anymore since 2023.4 update

Since I updated to 2023.4, the menu bar with all my views is not hidden anymore. I did not change anything in the config. So I think something must have changed in 2023.4 that breaks it.

Haha just as I have written this I found an update via HACS and now it is ok ;) Most quick issue fix of all times 😂


DOC: Fix failing documentation build

Description
Based on gh-747, fixes the failing Sphinx build as requested in https://github.com/PyWavelets/pywt/pull/747#discussion_r1653035116.

Working: https://github.com/PyWavelets/pywt/actions/runs/9665660493/job/26663307218?pr=754#step:5:540, and similarly in other jobs in the matrix.


Make Koa v2 compatible with the style guide of Airbnb

Setting ctx.body means mutating a function's parameter, which is against the rules of the Airbnb style guide.
I would suggest adding setBody, appendToBody and clearBody functions to ctx in order to avoid the behavior described above.

Sorry but that's not going to happen. Setting values on the context is what you're expect to do with koa. If you add .setBody etc, you're still doing the same thing, changing the underlying state.
If you wanted to do the side effect free, you'd need to return a new context object from every middleware. That's just too expensive and not convenient. ctx is your state, your side effect.

Okay, thanks for your assistance!


feat: Configuration to disable signs

I would like a configuration to disable the column signs (yellow M) and only have the per-line blame.
I already use gitsigns.nvim with a nice subtle color line that fits my needs for seeing overall status, and this clashes with it.

Makes sense 😄
The mark can now be disabled by setting signs to false in options.


What language do you guys use for coco-framework?

C# (.net fw & .net core)

@flyingoverclouds That's nice, thanks.

What about Go, Python and JavaScript?

What about F#?

What about COBOL?

what about Go and python?

Great job guys!!

I would say JavaScript is key. I thought that the Smart Contracts are based on what the blockchain system supports? For example, what Hyperledger Sawtooth or what Ethereum supports.

Looking forward to see the coco framework! any expected time this would be released?

What about VBA?

Coco has been released as CCF now: https://github.com/Microsoft/CCF
Thank you for your patience!


Remove version: WinSCP.WinSCP version 5.19.6

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/winscp/files/WinSCP/5.19.6/WinSCP-5.19.6-Setup.exe/download
OK
(Automated message - build 923)


papercut: persist file rules.json

Link to documentation where is this configuration file mentioned?

From application log: "Attempting to Load Rules from "C:\Users\XXX\scoop\apps\papercut\current\rules.json"


hail docs mention a -i for annotatevariants table, but looks like it's not needed

hail docs mention a -i for annotatevariants table, but looks like it's not needed

the docs no longer mention -i


Correct from-file JS browser quickstart

https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/884
Purpose

...
Corrects from-file speech recognition html sample for javascript

Pull Request Type
What kind of change does this Pull Request introduce?
From file quickstart now selects a file and recognizes from that file instead of from the microphone

[X ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

I said on Monday, but thanks for fixing it. :-)


RuntimeError opening a signed url on AWS

With libmediainfo.so v20.03 for AWS Lambda, if I generate a signed url on S3 and parse certain type of videos, I get the following error message:
RuntimeError: An eror occured while opening https://<signed url> with libmediainfo
Please note that:

this happens only with signed urls, but not if I download the video and run it locally
this happens only with certain videos. Two videos that raise such error are the following:
http://download4.dvdloc8.com/trailers/divxdigest/simpsons_movie_1080p_hddvd_trailer.zip
http://download4.dvdloc8.com/trailers/divxdigest/i_am_legend-1080p_blu-ray_trailer.zip
I tested my code with other videos with success
I tested the above problematic videos using the libmediainfo.so distributed with Ubuntu 18.04 (not sure which is the version but for sure older than 20.03), with success.

Thanks

Please test the latest snapshot, there may be already a fix.
There is also a pending issue about signed URLs, I am working on it, but it seems that this is not the same kind.
Please send me a private email with a signed URL having such issue, so I can test directly.

With libmediainfo.so v20.03 for AWS Lambda,

Is there a problem with mediainfo 20.04 on Ubuntu 18.04?

I did further tests and it seems that actually the problem was not caused by a specific video file but by the fact that the bucket was private. The latest snapshot seems to solve the problem and works also with private buckets.
Let me know if you still need a signed URL.

If all is OK with the snapshot, no need to go further.


Remove private ACLs for buckets

Motivation
AWS has changed the behavior of bucket ACLs and is essentially deprecating the feature.
This resulted in new deployments to fail.
Modifications
In general, we don't need to set these ACLs as private is the default anyway, so removing this is a non-breaking changing for existing deployments and fixes new deployments with the recent change to behavior for new buckets
Verifying this change

[x] Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.
Documentation
Check the box below.
Need to update docs?

[ ] doc-required
(If you need help on updating docs, create a doc issue)

[x] no-need-doc

This likely does not need any doc

[ ] doc
(If this PR contains doc changes)

Background

https://aws.amazon.com/blogs/aws/heads-up-amazon-s3-security-changes-are-coming-in-april-of-2023/


Add option to save working sets in the workspace

I have added an option to store the working sets locally in .vscode directory. This way they can be version-controlled or easily copied between different machines.

Thanks for this PR and sorry for the delay @macdems, this has been published as part of 1.4.0


Bachelorarbeit -> chapter 11 Deployment

Bachelorarbeit page 94.
Reference to document Technologie-Deployment is missing (Fehler! Verweisquelle konnte nicht gefunden werden).
This document is well known, but does not contain enough detail to enable the building of a production environment. Please enhance this document to include the configuration of the application, symfony  and scripts in a Linux (Debian/Ubuntu) environment
LAMP Server: See http://sourceforge.net/projects/itixi/files/howto/HowToBuildLampServer.docx.

This can be closed due to the document supplied by reto schelbert: http://sourceforge.net/projects/itixi/files/deployment/iTIXI - Ubuntu Server Deployment.pdf/download


+vc/browse-at-remote-file-or-region no longer defined

What did you expect to happen?
C-c v o . should open the corresponding file in GitHub.
What actually happened?
command-execute: Wrong type argument: commandp, +vc/browse-at-remote-file-or-region
Additional details:
Getting help for the key sequence (C-h k C-c v o .) gives the message: user-error: C-c v o . is bound to +vc/browse-at-remote-file-or-region which is not a command.
Doing some digging, it looks like commit https://github.com/hlissner/doom-emacs/commit/e241fa347b1e20824d26d35f109353d94a545a81 removed the function; however, the key sequence is still defined here https://github.com/hlissner/doom-emacs/blob/ca97300f8401cb1b7d56feaf18373b1e3040c267/modules/config/default/%2Bemacs-bindings.el#L267
Steps to reproduce:

C-c v o . (I think in evil-mode it's :gbrowse)

System information:

emacs   version    26.3
        features   NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS LCMS2
        build      Dec 03, 2019
        buildopts  (--with-mac --enable-mac-app=/Users/travis/build/railwaycat/homebrew-emacsmacport/build-scripts/emacs-source/tmproot --prefix=/Users/travis/build/railwaycat/homebrew-emacsmacport/build-scripts/emacs-source/tmproot --enable-mac-self-contained --with-modules)
        windowsys  mac
        daemonp    server-running
doom    version    2.0.9
        build      HEAD -> develop 80845954f 2020-02-26 14:26:55 -0500
        dir        ~/.doom.d/
system  type       darwin
        config     x86_64-apple-darwin18.5.0
        shell      /usr/local/bin/fish
        uname      Darwin 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64
        path       (~/.local/bin ~/.cargo/bin ~/.emacs.d/bin /usr/local/sbin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Applications/Emacs.app/Contents/MacOS/libexec/)
config  envfile    envvar-file
        elc-files  0
        modules    (:completion (company +tng) ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) vc-gutter vi-tilde-fringe window-select workspaces :editor file-templates fold multiple-cursors rotate-text snippets word-wrap :emacs dired electric ibuffer vc :tools (eval +overlay) :checkers syntax spell :tools gist (lookup +docsets) macos magit make rgb terraform :lang clojure data emacs-lisp javascript markdown (org +dragndrop +ipython +pandoc +present) rest sh web :config (default +bindings +smartparens))
        packages   ((copy-as-format) (crux) (flycheck-clj-kondo) (flycheck-joker :disable t) (highlight-symbol) (html-to-hiccup) (super-save))
        unpin      (n/a)
        elpa       (n/a)

Good catch! As of 25b9cd1 this issue should be resolved. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!


protocol and implementation stubs for ID3

feedback requested

@chrisnojima  this is pretty close to what you had on confluence

Hiding a row would be sketching, the UI would flicker. We can mark it dead mabye?

Hiding a row would be sketchy, the UI would flicker. We can mark it dead maybe?

I don't think it would be sketchy. But sure. Could just throw in a meta tag.
How does the frontend decide which of these actions to show?

we show the ignore/accept if there are diffs. you could explicitly tell us whats available

aka a new identifyui callback thats needsRefollow or something, only happens if you discover we should show that second panel

(or could piggy pack on the row update)

I think there should be another call in the UI protocol, which is like identify3Result(someNewEnum).  Until then, the buttons ought to be grayed out. Then this call comes in with "All Good", "Broken", or "good but can be upgraded" result. Then the frontend renders the right buttons.

sounds great

@mlsteele ok to merge?


Bug channel annot merge

Reference issue
Example: Fixes #1234.
What does this implement/fix?
Fix issues when combining channel-based annotations with another annotation.
Additional information
Channel-based annotation can not merge with any other annotation.

@mscheltienne I just checked and this is a bug even for general annotations. I can fix this in this or another PR.
https://github.com/user-attachments/assets/897dd456-f573-425f-959f-eb2a4bd31b6e

Feel free to fix in this PR

@larsoner this one is ready to be merged


Increase in envoy metrics in 1.12-beta2

Bug Description
I'm testing 1.12-beta2 and noticed an increase in envoy metrics being reported from the sidecar.
> # TYPE envoy_http_InboundPassthroughClusterIpv4_downstream_cx_active gauge
> # TYPE envoy_http_admin_downstream_cx_active gauge
> # TYPE envoy_http_agent_downstream_cx_active gauge
> # TYPE envoy_http_inbound_10_206_6_11_8080_downstream_cx_active gauge
> # TYPE envoy_http_outbound_0_0_0_0_80_downstream_cx_active gauge
> # TYPE envoy_http_outbound_0_0_0_0_9198_downstream_cx_active gauge
> # TYPE envoy_http_outbound_0_0_0_0_9411_downstream_cx_active gauge
> # TYPE envoy_http_outbound_0_0_0_0_9600_downstream_cx_active gauge
> # TYPE envoy_http_stats_downstream_cx_active gauge
> # TYPE envoy_listener_admin_downstream_cx_active gauge
> # TYPE envoy_listener_admin_main_thread_downstream_cx_active gauge
> # TYPE envoy_listener_downstream_cx_active gauge
> # TYPE envoy_listener_worker_0_downstream_cx_active gauge
> # TYPE envoy_listener_worker_1_downstream_cx_active gauge
> # TYPE envoy_server_wip_protos counter
> # TYPE metric_cache_count counter

envoy_http_outbound_0_0_0_0_9600_downstream_cx_active these don't seem right at all when you already have, for example, envoy_listener_downstream_cx_active{listener_address="<IP_ADDRESS>_9600"}
And even if they are required, the structure is odd, parts of the metric name should be label dimensions.  I reported something similar with locality routing metrics a while ago and it got stale-closed: https://github.com/istio/istio/issues/20235
Excess metrics increase the memory footprint of the proxy as well as increasing the pressure on prometheus.
Version
1.12-beta2

Additional Information
No response

cc @ramaraochavali

https://github.com/istio/istio/pull/36081 - I have controlled it via flag so that user that do not use that feature have to pay the penalty.

Ah this is interesting - so you use this metrics to track the open connections for that feature?
Interestingly though, i'd like to use the feature but I still don't care for the metrics to be exposed via the prometheus endpoint?  It seems odd to couple "metrics exposed" with "internals of a feature"? 🤷

It seems odd to couple "metrics exposed" with "internals of a feature"?

We have to rely on Envoy metrics to determine active connections. So we had to enable them.

Yeah I understand that, I suppose what I am proposing is in my head there are two things:

enabling a metric gauge to track the connections
actually exposing them on the /metrics/prometheus endpoint for the purposes of scraping

And it feels like you should be able to do one without the other.
Obviously I am saying this without any understanding of how the code works :-)

And it feels like you should be able to do one without the other.

It is not possible in Envoy to separate them out but we can do that in agent code when we merge envoy + agent metrics.

It is not possible in Envoy to separate them out but we can do that in agent code when we merge envoy + agent metrics.

That feels like the right way to go, really i think istio-proxy should only be exposing /stats/prometheus metrics for things that the users have requested to see, otherwise they have to make tradeoffs.
In my example I've got say, 2000 pods, adding downstream_cx_active metrics for all clusters to those pods is quite a bit of extra metrics that actually i'm not interested in at all - in order to enable a feature which doesn't mention that it will also increase metrics being exposed from /stats/prometheus.

@howardjohn WDYT about applying filter while scraping http://localhost:%d/stats/prometheus in agent code? My only worry is it might need a  regex that does Not and might slow down Envoy scraping - Any alternatives?

I was thinking the same actually but had the same concern...
Ideally envoy would expose something like this in somewhere other than
/stats, then its a non-issue?
On Mon, Nov 15, 2021 at 5:54 AM Rama Chavali @.***>
wrote:

@howardjohn https://github.com/howardjohn WDYT about applying filter
while scraping http://localhost:%d/stats/prometheus in agent code? My
only worry is it might need a regex that does Not and might slow down
Envoy scraping - Any alternatives?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/36049#issuecomment-968932994, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXJIW6I72EIVA562JV3UMEGLFANCNFSM5H4UX6NA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Ideally envoy would expose something like this in somewhere other than stats, then its a non-issue?

100%, I do think external stats should be decoupled from internal feature implementation, at least from an end user perspective :D

Filtering in the istio-agent won't address the root concern, as I understand it, which is increased proxy memory. Prometheus filtering can handle not ingesting the extra metrics, as needed (as a workaround for istio support agent-based filtering).

There are two root concerns just to be clear one being extra memory
overhead and the other (less important) been Prometheus scapes and drops
(excess metrics still require bandwidth to transfer, implementation and
maintenance of scrape rules to drop them).
From a purely selfish point of view, it’s be great if the metrics coming
out of the 1000s of endpoints I scrape don’t change between istio releases
and features.  It’s kind of an API to me.
Karl
On Mon, 15 Nov 2021 at 18:24, Douglas Reid @.***> wrote:

Filtering in the istio-agent won't address the root concern, as I
understand it, which is increased proxy memory. Prometheus filtering can
handle not ingesting the extra metrics, as needed (as a workaround for
istio support agent-based filtering).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/36049#issuecomment-969192656, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALK7CNWT3GLCLMK3SBECWTUMFF6BANCNFSM5H4UX6NA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Karl Stoney
https://karlstoney.com

. Prometheus filtering can handle not ingesting the extra metrics, as needed

You mean filtering at prometheus level or filtering at /stats/prometheus endpoint of envoy?

@ramaraochavali i meant Prometheus config (drops). that would require customization and maintenance of the prom rules, as @Stono points out, but that might be better than inventing another similar mechanism for the agent.
@Stono I agree that we should not opt-in new envoy metrics between releases. Adding tests that focus on that should be undertaken for 1.13.

i meant Prometheus config (drops). that would require customization and maintenance of the prom rules, as @Stono points out, but that might be better than inventing another similar mechanism for the agent.

I agree that is better than inventing in agent.

Is there a way to excluded metrics from istio?, can I use envoyfilter file to do that? If that so do you have any example of how to do it?

@gvasquez-plenty do you mean exclude envoy-prefixed metrics (ones generated by Envoy)? or the istio-prefixed metrics (ones generated by Istio extensions)?  For the later, the new Telemetry API is hopefully the way forward.  That functionality has not (yet?) been extended to envoy-generated telemetry.

@douglas-reid  I mean istio-prefixed metrics, I would like to excluded those metrics from datadog but I can't find a way to do it, do you have any documentation for that?, the only way to do it is to delete OUTBOUND_SIDECAR and INBOUND_SIDECAR from envoyfilter file.
But what I want is to decide specifically which metrics to exclude.

Docs are coming -- initial support was added in 1.12. The API is experimental so far, but on track to be promoted based on user feedback.
Right now, you must fully opt-in to the Telemetry API (delete the EnvoyFilters). Then you can use a mesh default, via something like:
apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  metrics:
  - providers:
    - name: prometheus
    overrides:
    - match:
         metric: ALL_METRICS
         mode: SERVER
      disabled: true

That would turn off all server-side metrics. metric takes an enum for selecting the known istio metrics. The proto def has more details: https://github.com/istio/api/blob/master/telemetry/v1alpha1/telemetry.proto#L411-L495.
If you give it a try with a 1.12 build, hopefully you can get what you want. I'd love to hear your thoughts as you work through it.

Thank you @douglas-reid , I will try that version.

Hi @douglas-reid .I have try this config in 1.12.0:
    - providers:
        - name: prometheus
      overrides:
        - match:
            metric: ALL_METRICS
            mode: CLIENT_AND_SERVER
          disabled: true

And found {\"name\":\"request_messages_total\",\"drop\":true} in all listener. But I still get istio_requests_total. That make me confused, what should I check?

@holooooo once you deleted the envoyfilter,  you saw the correct behavior?  is that a correct understanding?

@douglas-reid yes, It works well. It can solve our sidecar memory and metrics storage problems.


Two copies of every issue?

I have just installed Clang 3.9 and CodeChecker 6.6.0. I am analyzing FFMPEG 2.8.11 in a fresh directory (no other runs).
I am getting two copies of each finding (and each empty finding) which are exactly the same:
siguser@ubuntu:~/work/ffmpeg-2.8.11/build/results$ diff zerocodec.c_0b7db2c77077c46a6d23143c9163c03c.plist zerocodec.c_13f1cc50acdd1d278353991c28940578.plist
siguser@ubuntu:~/work/ffmpeg-2.8.11/build/results$ cat zerocodec.c_13f1cc50acdd1d278353991c28940578.plist

clang_version
clang version 3.9.1-4ubuntu3~16.04.2 (tags/RELEASE_391/rc2)
files

diagnostics

This is seemingly not an issue at first glance. Two report files can happen for these two reasons:

You also installed Clang-Tidy. In this case, each source file is analyzed twice with both analyzers, resulting in one analyzer giving one output, and the other analyzer giving the other one. If the file contains no issues that either analyzer can find, the result will be empty.
FFMpeg's build toolchain builds the same source file with two different configuration (e.g. for testing, or for a different architecture). In this case, the build database will command CodeChecker to run two analyses (for the A and B configuration), which will result in two outputs from the two separate analysis. Of course, if the file contains no defects, both results will be empty.

This is the normal behavior. Separate .plist files belong to ClangSA and ClangTidy. This can be reproduced with a simple "Hello world" too.


fix: Replace localhost refs w/ <IP_ADDRESS>

CI is having trouble querying proxy server when it starts up. Maybe this is related?

lol evidently this is not the issue


log:notIncludes is order dependant

More precisely: log:notIncludes behaves differently depending on where the variables in its pattern are bound (similarly to the e:findAll case we discussed during the last meeting).
Example:
@prefix log: <http://www.w3.org/2000/10/swap/log#> .

:alice :name "alice".
:bob :name "bob".
:charlie :name "charlie".

:alice :says { :bob a :NiceGuy }.

@forAll :y.

{ :alice :says ?x.
  :y :name "charlie".
  ?x log:notIncludes { :y a :NiceGuy }.
} => { :test :pass 1 }.

{ :alice :says ?x.
  ?x log:notIncludes { :y a :NiceGuy }.
  :y :name "charlie".
} => { :test :pass 2 }.

It should produce:
:test :pass 1, 2.

but only test 1 passes.
See http://ppr.cs.dal.ca:3002/n3/editor/s/zfSPYqFV
(but I also tested it locally with the latest commit).

Thank you very much @pchampin and this issue should be fixed in https://github.com/josd/eye/releases/tag/v21.1124.2208
@william-vw would you mind to update EYE for http://ppr.cs.dal.ca:3002/n3/editor/s/zfSPYqFV ?

While testing further and reading https://pad.lamyne.org/xZF7gcnxTLSNKdueLBYv2A
I realized that there is floundering issue with log:notIncludes and it should be fixed in
the latest EYE version https://github.com/josd/eye/releases/tag/v21.1125.2043

So @pchampin for your example
#G1
:gang :contains :bob, :charlie.
:alice :says { :bob :name "bob" }.
{
  :alice :says _:g.
  _:g log:notIncludes { _:s _:p _:o }
  :gang :contains _:s.
} => {
  :alice :ignores _:s.
}.

the current version of EYE dor not entail
#G2
:alice :ignores :charlie.

anymore, because we now expect the object of log:notIncludes to be ground at reasoning time

I updated the editor with the latest version of Eye. But I'm unsure whether I agree that the object of log:not Includes should be grounded at reasoning time, or even that the solution to order independence is scoping the variables locally..
At least for me this would break several use cases that rely on a quoted graph (or, current document) not to include certain properties of an identified resource, e.g.,
?composite a :CompositeTask ;
<> log:notIncludes { ?composite :subTask ?sub } .

I know something similar can be achieved with collectAllIn (a.k.a. findall) but this is a much less verbose solution IMO, and I'm unclear why it shouldn't be allowed.

From: Jos De Roo @.***>
Sent: Thursday, November 25, 2021, 4:56 p.m.
To: josd/eye
Cc: William Van Woensel; Mention
Subject: Re: [josd/eye] log:notIncludes is order dependant (Issue #25)
So @pchampinhttps://github.com/pchampin for your example
#G1
:gang :contains :bob, :charlie.
:alice :says { :bob :name "bob" }.
{
:alice :says _:g.
_:g log:notIncludes { _:s _:p _:o }
:gang :contains _:s.
} => {
:alice :ignores _:s.
}.
the current version of EYE dor not entail
#G2
:alice :ignores :charlie.
anymore, because we now expect the object of log:notIncludes to be ground at reasoning time
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/josd/eye/issues/25#issuecomment-979465269, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC2PLMHFIO7DYMVFLG3FYADUN2PGBANCNFSM5IVQEROQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

The grounding was to avoid an inconsistency i.e. for
#G1
:gang :contains :bob, :charlie.
:alice :says { :bob :name "bob" }.
{
  :alice :says _:g.
  _:g log:notIncludes { _:s _:p _:o }
  :gang :contains _:s.
} => {
  :alice :ignores _:s.
}.

we got it that both
_:g log:notIncludes { :bob _:p _:o }
and
_:g log:includes { :bob _:p _:o }
were the case.

On 26/11/2021 17:29, Jos De Roo wrote:

The grounding was to avoid an inconsistency i.e. for
|#G1 :gang :contains :bob, :charlie. :alice :says { :bob :name "bob"
}. { :alice :says _:g. _:g log:notIncludes { _:s _:p _:o } :gang
:contains _:s. } => { :alice :ignores _:s. }. |
Just to be clear: I am not all sure that this example should work as it
is. We are in unchartered territory here, with only one kind of variable...

Like William, I don't like the idea that the "argument" of
log:notIncludes should be entierly ground.
Consider the adaptation of the example above that is working for CWM:
:gang :contains :bob, :charlie.
:alice :says { :bob :name "bob" }.

@forAll :g, :s.
{
   :alice :says :g.
   :g log:notIncludes { :s _:p _:o }.
   :gang :contains :s.
} => {
   :alice :ignores :s.
}.

http://ppr.cs.dal.ca:3002/n3/editor/s/KFAEqJIB
That makes a lot of sense to me. I would like to keep this.

we got it that both
|_:g log:notIncludes { :bob _:p :o }|
and
|:g log:includes { :bob _:p _:o }|
were the case.

It does not have to be. I would consider that only the second should
stand...
See a more complete example working with CWM:
http://ppr.cs.dal.ca:3002/n3/editor/s/3PlFXPry
pa

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/josd/eye/issues/25#issuecomment-980107322, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKLZCP5WXBHLOIYVMIQ7DUN6YXDANCNFSM5IVQEROQ.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I thought I wanted that too but then you came up with this issue and the only way I found (after 3 days of trying)
was to use NAF and in Prolog this only works when negated goal is ground i.e.

From The Art of Prolog 1st ed. (Leon S. Sterling, Ehud Y. Shapiro, 1986), p. 166:

The implementation of negation as failure using the cut-fail combination does not work correctly for nonground goals (...). In most standard implementations of Prolog, it is the responsibility of the programmer to ensure that negated goals are grounded before they are solved. This can be done either by a static analysis of the program, or by a runtime heck, using the predicate ground (...)

The line in question in our current code is https://github.com/josd/eye/blob/cdf168e6c644a73d20f47087f614597f46794176/eye.pl#L5340

Today, I had a meeting with a colleague of mine who pointed out that there is a general problem if you combine negation with existential rules.
If your notion of "ground" allows you to unify a variable which is used in log:notIncludes with a blank node which is produced by a rule, you still have order dependency (this time it is the order of your rules which causes problems).
As an example consider the following:

@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix : <www.example.org#> .

:bob a :Person.
:bob :father :ted.

{?x a :Person}=>{?x :father _:y. _:y a :Man}.
{?x :father ?y. ?x :father ?z.  ({?x :father ?y. ?x :father ?z.}) log:conjunction ?u}=>{:my :graph ?u}.
{ :bob :father ?y. :bob :father ?z. :my :graph ?u. ?u log:notIncludes {:bob :father ?y. :bob :father ?z.} }=>{:o :o :o}.

{?x :father ?y}=>{?y a :Man}.

With that you will derive the triple :o :o :o. (see: link)
But if you change the order  of the rules here and write the  first rule later like here:
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix : <www.example.org#> .

:bob a :Person.
:bob :father :ted.

{?x :father ?y. ?x :father ?z.  ({?x :father ?y. ?x :father ?z.}) log:conjunction ?u}=>{:my :graph ?u}.
{ :bob :father ?y. :bob :father ?z. :my :graph ?u. ?u log:notIncludes {:bob :father ?y. :bob :father ?z.} }=>{:o :o :o}.

{?x :father ?y}=>{?y a :Man}.
{?x a :Person}=>{?x :father _:y. _:y a :Man}.

The triple :o :o :o. will not be derived (see: here).
The reason of for that is the chase the EYE reasoner uses, that is the strategy to (not) apply existential rules. In the first example, the rule
{?x a :Person}=>{?x :father _:y. _:y a :Man}.
applied to :bob a :Person. leads to new information: Bob does not only have a father (Ted), he also has a father of which we know that he is male (but in that situation we do not know whether that father is actually Ted or not), later we also derive with the vary last rule that Ted is also male.
If we change the position of that last rule which gives us the information that Ted is male to a position before the rule
{?x a :Person}=>{?x :father _:y. _:y a :Man}.
that rule will not fire since we already have an instance for the new existential in the head of the rule. If we know that
:bob :father :ted.
:ted a :Man.

there is no information gained by constructing
:bob :father [ a :Man].
We can construct similar examples with other built-ins which mimic some kind of negation, for example:
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix : <www.example.org#> .

:bob a :Person.
:bob :father :ted.
{?x :father ?y}=>{?y a :Man}.

{?x a :Person}=>{?x :father _:y. _:y a :Man}.

{?x :father ?y. ?x :father ?z. ?y log:notEqualTo ?z}=>{:here :I :am}.

Does NOT produce :here :I :am. while
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix : <www.example.org#> .

:bob a :Person.
:bob :father :ted.

{?x a :Person}=>{?x :father _:y. _:y a :Man}.
{?x :father ?y. ?x :father ?z. ?y log:notEqualTo ?z}=>{:here :I :am}.
{?x :father ?y}=>{?y a :Man}.

does produce :here :I :am. (see: example1 vs. example2 ).
He did not (yet?) have a solution for the problem except the rather big restriction that we do not only expect the triples in a negation to be bound but also that the are not bound to variables which are produced using an existential rule.
I would like to know your thoughts about that.

The triple :o :o :o. will not be derived (see: here).

This is no longer the case in the latest EYE release https://github.com/josd/eye/releases/tag/v21.1203.1050
I have collected all the tests for this issue at https://github.com/josd/eye/tree/master/reasoning/issue25
So at this moment the alien triples :o :o :o. and :here :I :am. are no longer produced but it still feels like
more will be needed ...

The person who told me just wrote a whole paper about the issue. The solution in the paper is to always reduce the model you produce via the rules towards a core model before you apply negation, but in my opinion that is too expensive to do in practice

This is no longer the case in the latest EYE release https://github.com/josd/eye/releases/tag/v21.1203.1050

Maybe also mention Stephan Mennicke as the observer of the problem (he pointed me to the general problem of existentials and negation :) )

Very well, and Stephan is now mentioned in the latest release https://github.com/josd/eye/releases/tag/v21.1203.1426

Her the paper about that issue: https://arxiv.org/pdf/2112.07376.pdf
Maybe we can use some of the ideas discussed there.


"Preview with another theme" button

https://user-images.githubusercontent.com/57953386/209395829-dc6757fc-665a-41f7-8a7b-bd0c13cf11e7.mp4

Looks good overall, please address the incorrect variable usage in effect.

@Aivean  done


mix dialyzer fails to merge PLTs

Not sure why this is happening, wondering if you've seen it before?
Running analysis...
** (Mix) Could not merge PLTs since they are not disjoint
The following files are included in more than one PLTs:
["Elixir.Inspect.DateTime.beam"]

Resolved.  This was a Timex issue (which defined an Inspect protocol implementation for DateTime) in 3.1, but fixed in 3.2.


Detect bytes.Equal used on net.IP instead of net.IP.Equal

See https://go-review.googlesource.com/c/34450/

I came here to file the same issue. 😆 💯

Implemented, thanks for the idea.


Add zip code field and slide in after card number > 5 digits

Hey @klaymon, are you planning to re-open this? Seems like a useful feature! 😄

@klaymon Yeah, I'll check it out a bit later when I find some time!
We don't really use ZIP codes for credit cards in Australia so I didn't really think about adding it in - but imagine it would be super helpful for countries/companies who need it! Thanks for raising this though. 🙏

This is looking sweet

Published in 1.0.6
tyvm


new feature - sort

It would be awesome if I could sort by fields like this 👇

Will probably be helpful.
Pagination is done on redis server, therefor sorting must be done there too to get right values in longer lists/sets/... Otherwise full lists/sets has to be retrieved needing to much memory and time on larger objects.
Help is welcome here.


Add support for image and image aliases types

@stgraber looks good, the only thing was whether we could share the constants and text to type conversion logic used for instance types (seeing as the image type is linked to the instance type), would potentially make it easier to see in the future that the 2 are interlinked.

Yep, good point about just using the instance type for the internal stuff as they do line up.

Testsuite passed

@tomponline all feedback should have been addressed

Looks good thanks


Add delete methods

Adds delete methods to:

contact
company
contact property

Published to 1.2.2


Maximum Content Length

Please, it used to be on your forum, I have offered to host here, Please how to extend the Maximum Content Length to resolve the content is larger than 10000 message.
I have asked a Stackoverflow question here.
P.S: I am using v<IP_ADDRESS>
Thank You so much for what you have done!

I have found the solution, no need to answer. I have posted the solution here: MVCForum Max Content Length


[BEAM-14192] Update legacy container version

Release new legacy containers
https://gcr.io/cloud-dataflow/v1beta3/beam-java-batch:beam-master-20220329

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @lukecwik

Run PostCommit_Java_Dataflow

Test seems to be failing still. Moving back to draft to investigate

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit


Translate validator setup document into portuguese

Hey, everyone :rabbit:
This is our first translation for the NEAR Wiki!
Made by Portuguese Guild using Crowdin

Hello @murilooon, thanks for your PR and your collaboration. 👍
Validator-related docs have been moved to NEAR's Wiki: https://wiki.near.org
I'd suggest moving the PR to that project, so the Portuguese translation can be published.
Let me know if you have any questions! cheers

Hi @murilooon, I moved your Portuguese translation to the Wiki:
https://github.com/near/wiki/blob/master/validator/validator-guides/running-a-validator-pt.md
It's already published, but please review and if you see any broken link, just submit a PR in the wiki repo. Thanks!


Conditional display v-if/v-show is not working inside of table tag

Conditional display is not working with tags inside a table tag. Please heck https://jsfiddle.net/t9u4ve2b/1/ for details.
        thead
            tr(v-if="items.length > 0")
                th QTY
                th ITEM
                th.right-align PRICE
            tr(v-else)
                p This is a faulty transaction

Your fiddle is loading Vue over http in an https page. Once fixed it's working as intended.


Several more performance improvements in the access protocols

Converts invocations to binary.
Moves contract code into the contract state.
First pass to improve handling of concurrency in eservice operations.

Replaced.


[BUG] spark.sql.legacy.parquet.datetimeRebaseModeInWrite is ignored

Describe the bug
When writing parquet the config spark.sql.legacy.parquet.datetimeRebaseModeInWrite is ignored.  We should at least check it and verify which behavior we are supporting.

Need to understand what spark.sql.legacy.parquet.datetimeRebaseModeInWrite does and then will reprioritize.

The following is from the docs for that config.

When LEGACY, Spark will rebase dates/timestamps from Proleptic Gregorian calendar to the legacy hybrid
(Julian + Gregorian) calendar when writing Parquet files. When CORRECTED, Spark will not do rebase and
write the dates/timestamps as it is.  When EXCEPTION, which is the default, Spark will fail the writing if it sees
ancient dates/timestamps that are ambiguous between the two calendars.

There is also a corresponding spark.sql.legacy.parquet.datetimeRebaseModeInRead config.  The main difference with this one is that it looks like spark tries to be smart when reading the data

This config is only effective if the writer info (like Spark, Hive) of the Parquet files is unknown.

Because we have issues with reading/writing dates/times around this period anyways I'm not sure how critical it is that we fix it.
https://github.com/apache/spark/blob/a8e3de36e7d543f1c7923886628ac3178f45f512/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/DataSourceUtils.scala#L90-L108
is the function that decides what to do for reads.

So the next step is to decide if this should be a feature of cudf or if it should be something we only do in spark.  The reading side feels like it should be a part of cudf.  You really want cudf to be abel to read data from any data source correctly.  On the write side we need to understand what cudf currently does for timestamps in this range and then we can adjust appropriately. We are also going to want to be sure that we insert the proper metadata so that the spark CPU can read the data correctly too.

A little more information.  When I look through the parquet reader/writer code in cudf it looks like there is no special case processing for DATE or TIMESTAMP.  This should correspond to the "CORRECTED" mode for Spark. For writes we can probably look at this config and the types in the schema to decide if we can support this or not.  We can also add in support for throwing an exception for writes if the config is set to that too.
The reader mode is going to be a little more difficult.  We don't support reading parquet metadata with the current cudf java API, and arguably I think cudf would want to be able to read these types of dates/timestamps correctly on any platform. So we might want to open up a discussion with cudf on what is the right way to handle this.
@sameerz is this still a P1?  If so I can put in returning metadata from the parquet reader and start to look at what it would take to rebase the timestamps/dates to match spark.

For now I am going to propose that we do the following.
When writing a parquet file we fall back to the CPU if spark.sql.legacy.parquet.datetimeRebaseModeInWrite is not "CORRECTED" or "EXCEPTION" and we have any time columns.
When it is "EXCEPTION" we scan all of the output for days and timestamps that are out of the supported range and we throw an exception if we see any of them. We then file a follow in issue to try and support "LEGACY" mode for writes.
For spark.sql.legacy.parquet.datetimeRebaseModeInRead it is a much harder problem.  For now I would say that we implement similar logic to what spark supports to look at the metadata for each file and decide what mode we are going to operate in for that file.  If the file mode is what we support we just read it.  If it is a mode that we do not support "LEGACY" we treat it as "EXCEPTION" and scan the data we read to look for any dates that we cannot support. If we hit these dates we throw an exception.  If not we can read the data without any issues. We might also want to add in a config that allows us to fall back to the CPU just for date/timestamp columns so users might be able to get some GPU acceleration until we can fully support the new formats.
We also file a follow on issue to go back and look at supporting the rebase logic for reads, which I think is more important than the rebase logic for writes.


Discussion: Auth changes

From our notes regarding placeholder device authentication:

Eliminating the drone port, rootCA keys, and drone keys.
Automated authorization will be via a single shared secret stored in config.toml.
Automated calls must set their user agent header to 'SciTran Drone NAME', where NAME can be anything (possibly ‘reaper’ or ‘engine’).
Automated calls must send the shared secret in the X-SciTran-Auth header.
Drone listing in the database will be completely ignored and have no effect.
All drones will operate at the same permission level and have the same capabilities.

This adds the ability to authenticate with a shared secret via the above spec.
Does not use constant-time string compare and is thus vulnerable to timing attacks.
Requires scitran/scitran#40.

@kofalt Sorry for getting the arg parsing stuff mixed into this. It ended up being a lot deeper than I thought it would. Still, I'm glad I finally got rid of this silly redundancy.

I rather would have separated the base and not-base changes into separate branches, but since master is pretty quiet it's not worth teasing apart the commit.
I'm ready to merge this if you are, pending a few questions above.


The architecture overview page includes references to 'S3 Storage Adapter' instead of 'Storage Adapter'

In https://docs.lakefs.io/architecture/overview.html, the description and architecture diagram include references to
's3 storage adapter' although this component has to do with any object storage supported by LakeFS.

duplication of #2958


fix memory leak

While using the the lib, I found 2 problems are causing serious memory leak problems:

multiple instances of iScroll are created but not properly destroyed. Because the init statement resides in $timeout but the corresponding destroy statement were not in the $timeout.
orientationChange event binding were not properly unregistered on scope destroy.

@wzr1337 can you take at this pull request? Thanks!

Thanks a lot!


Attached Bash Children not Scoped

When we attach to a bash process, children of that process are not scoped most likely because of the way bash is maintaining it's own environment and we can't add LD_PRELOAD and our SCOPE_* environment variables.
Likely repeatable with ash, csh, etc. too.

The presumption that bash child procs are not scoped is not accurate. They are scoped. They are not provided with a config and are therefore using defaults.
scope attach bash
in the attached bash session:
ps -ef | grep bash
donn        3184    3176  0 Jul31 pts/0    00:00:01 bash
donn      112257    3176  7 12:04 pts/1    00:02:32 bash
donn      118467    3217  0 12:27 pts/2    00:00:00 /bin/bash
donn      118576  112257  0 12:36 pts/1    00:00:00 /tmp/libscope-0.7.1/ldscopedyn /usr/bin/grep --color=auto bash
donn      118577  118576  0 12:36 pts/1    00:00:00 /usr/bin/grep --color=auto bash
we see ldscopedyn starting. we see from gdb that the execve interposed function is doing what is expected.
we see the ps and grep processes emitting events to localhost:9109 as expected for defaults:
{"format":"ndjson","info":{"process":{"libscopever":"v0.7.1-rc2-166-g2285ad19da47","pid":118546,"ppid":118544,"hostname":"ubuntu","procname":"grep","cmd":"/usr/bin/grep --color=auto bash","id":"ubuntu-grep-/usr/bin/grep --color=auto bash"},"configuration":{"current":{"metric":{"enable":"true","transport":{"type":"udp","host":"<IP_ADDRESS>","port":"8125","tls":{"enable":"false","validateserver":"true","cacertpath":""}},"format":{"type":"statsd","statsdprefix":"","statsdmaxlen":512,"verbosity":4,"tags":{}}},"libscope":{"log":{"level":"warning","transport":{"type":"file","path":"/tmp/scope.log","buffering":"line"}},"configevent":"true","summaryperiod":10,"commanddir":"/tmp"},"event":{"enable":"true","transport":{"type":"tcp","host":"<IP_ADDRESS>","port":"9109","tls":{"enable":"false","validateserver":"true","cacertpath":""}},"format":{"type":"ndjson","maxeventpersec":10000,"enhancefs":"true"},"watch":[{"type":"file","name":"(\/logs?\/)|(\.log$)|(\.log[.\d])","field":".","value":"."},{"type":"console","name":"(stdout)|(stderr)","field":".","value":"."},{"type":"http","name":".","field":".","value":".","headers":[]},{"type":"net","name":".","field":".","value":"."},{"type":"fs","name":".","field":".","value":"."},{"type":"dns","name":".","field":".","value":"."}]},"payload":{"enable":"false","dir":"/tmp"}}},"environment":{}}}
{"format":"ndjson","info":{"process":{"libscopever":"v0.7.1-rc2-166-g2285ad19da47","pid":118545,"ppid":118543,"hostname":"ubuntu","procname":"ps","cmd":"/usr/bin/ps -ef","id":"ubuntu-ps-/usr/bin/ps -ef"},"configuration":{"current":{"metric":{"enable":"true","transport":{"type":"udp","host":"<IP_ADDRESS>","port":"8125","tls":{"enable":"false","validateserver":"true","cacertpath":""}},"format":{"type":"statsd","statsdprefix":"","statsdmaxlen":512,"verbosity":4,"tags":{}}},"libscope":{"log":{"level":"warning","transport":{"type":"file","path":"/tmp/scope.log","buffering":"line"}},"configevent":"true","summaryperiod":10,"commanddir":"/tmp"},"event":{"enable":"true","transport":{"type":"tcp","host":"<IP_ADDRESS>","port":"9109","tls":{"enable":"false","validateserver":"true","cacertpath":""}},"format":{"type":"ndjson","maxeventpersec":10000,"enhancefs":"true"},"watch":[{"type":"file","name":"(\/logs?\/)|(\.log$)|(\.log[.\d])","field":".","value":"."},{"type":"console","name":"(stdout)|(stderr)","field":".","value":"."},{"type":"http","name":".","field":".","value":".","headers":[]},{"type":"net","name":".","field":".","value":"."},{"type":"fs","name":".","field":".","value":"."},{"type":"dns","name":".","field":".","value":"."}]},"payload":{"enable":"false","dir":"/tmp"}}},"environment":{}}}
what is expected behavior for config of an attached process? do we intend that the attached process use config created by the CLI? which config? there is no env var for SCOPE_HOME or equivalent in the attached process.
the env created in the attached process includes the following scope vars:
SCOPE_PID=118595
SCOPE_EXEC_PATH=/home/donn/appscope/bin/linux/x86_64/ldscope
SCOPE_LIB_PATH=/tmp/libscope-0.7.1/libscope.so
SCOPE_APP_TYPE=native
LD_PRELOAD=/tmp/libscope-0.7.1/libscope.so
SCOPE_EXEC_TYPE=dynamic
JAVA_TOOL_OPTIONS=-agentpath:/tmp/libscope-0.7.1/libscope.so

QA:
Start a bash shell.
Attach scope to the bash shell.
Execute commands in the attached shell and verify that the child processes, commands executed, are scoped.
bash
sudo scope attach bash
select the bash shell to be attached from a list of bash processes
--or--
sudo scope attach PID
where PID is the process ID of the bash shell that we are attaching
run a command in the bash shell chosen above
Example:
top
Verify that we emit events for the command executed in the attached shell
scope events
Example:
top fs fs.open file_name:/proc/22151/statm
top fs fs.close file_name:/proc/22151/statm file_read_bytes:14 file_read_ops:1 file_write_bytes:0 file_write_ops:0
...


Update K8s addons link for Calico to point to v2.0

http://kubernetes.io/docs/admin/addons/
Link for Calico redirects to v1.6 docs, but as soon as v2.0 is out of beta we should update this to point to /v2.0/

PR is here https://github.com/kubernetes/kubernetes.github.io/pull/1971


commited by all nodes is not supported

I modify the code in raft_server.cxx ：
int32 raft_server::get_quorum_for_commit() {
ptr<raft_params> params = ctx_->get_params();
int32 num_voting_members = get_num_voting_members();
return num_voting_members;
}
Then start the three nodes in turn：
./calc_server 1 localhost:10001
./calc_server 2 localhost:10002
./calc_server 3 localhost:10003
then add node 2/3 on node 1:
calc 1> add 2 localhost:10002
calc 1> add 3 localhost:10003, (crash)
In theory, should raft support full commit？

int32 raft_server::get_quorum_for_commit() {
ptr<raft_params> params = ctx_->get_params();
int32 num_voting_members = get_num_voting_members();
return num_voting_members - 1;
}
use this code, It seems to be working well

@guoxiangzhou
FYI, there are already options to adjust the quorum size, without changing the code:
https://github.com/eBay/NuRaft/blob/master/docs/custom_quorum_size.md

thx, I see


pip3.exe error

Hi,
in process to test your portable version, I installed a win portable one, but when i want to use the pip3.exe command got this error:
C:\Users\zak-4\Desktop\python-full-3.10.14-windows-x86_64\python-full-3.10.14-windows-x86_64\Scripts>pip3.exe
Fatal error in launcher: Unable to create process using '"D:\a\portable-python\portable-python\build\python-install\bin\python.exe"  "C:\Users\zak-4\Desktop\python-full-3.10.14-windows-x86_64\python-full-3.10.14-windows-x86_64\Scripts\pip3.exe" ': Le fichier spÚcifiÚ est introuvable.

'specified file not found'
Had already set PATH env to take the portable python first, maybe miss some others....
Any way to be able to use pip to install some modules ?
Thanks

The code that generates the executable likely needs to be patched to use a relative directory. I can look into it, in the meantime I recommend using pip as a module, e.g.
python -m pip install <package>


Revert "Safely Removed resourceFile.ts issue #31"

Reverts movesthatmatter/movex#32

Not sure this is needed as the PR it reverted seemed to be ok 🧐

Closing as it doesn't bring any changes.


Refactoring of the converter for Activation operators

This PR refactors the converter for Activation operators. It also replaces the special implemented converters for Relu6 and LeakyRelu operator with the activation operator implementation.
A new check and corresponding sub-tests for Validation were added: at least 1 dimension is required for input of any Activation operation.

Rebased replacement for PR#55716


Thor needs bundle exec to run

See here: https://github.com/o19s/quepid/pull/922
This means https://github.com/querqy/chorus/blob/main/katas/000_setting_up_chorus.md
148:docker-compose run quepid thor user:create -a<EMAIL_ADDRESS>"Chorus Admin" password
must be changed to
docker-compose run quepid bundle exec thor user:create -a<EMAIL_ADDRESS>"Chorus Admin" password
and
https://github.com/querqy/chorus/blob/main/TECHNICAL_DETAILS.md
46:docker-compose run quepid thor user:create -a<EMAIL_ADDRESS>"Demo User" password
must also be changed accordingly.

Like wise, would love a PR for this!   Thank you.


Function and feature docs for PH3

Codecov Report

Merging #63 (e3f6567) into main (30b9da3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #63   +/-   ##
=======================================
  Coverage   64.47%   64.47%
=======================================
  Files          23       23
  Lines        1796     1796
=======================================
  Hits         1158     1158
  Misses        638      638

Continue to review full report at Codecov.

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


fixed typo

Additionally I really don't think using [].forEach.call(files,...) instead of files.forEach(...) is beneficial to the reader, as .call() would confuse the target audience in my honest opinion. I didn't change this because I don't know enough about the project or it's approach to teaching js. Just my two cents. Stay healthy.

Thanks @denkquer for the fix and the suggestion. I think we should improve this https://htmldom.dev/loop-over-a-nodelist as well.
Stay safe, too.


Google web authentication crashes when cancelled

When Google web authentication is cancelled (i.e., the "Cancel" button in the navigation bar is tapped), the app crashes here:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010a4b5c65 __exceptionPreprocess + 165
	1   libobjc.A.dylib                     0x00000001098e4bb7 objc_exception_throw + 45
	2   CoreFoundation                      0x000000010a3bf84f -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 383
	3   CoreFoundation                      0x000000010a3d259b +[NSDictionary dictionaryWithObjects:forKeys:count:] + 59
	4   SamsaraApp                          0x00000001090a837c __40-[SimpleAuthWrapper authorize:callback:]_block_invoke + 1068
	5   SimpleAuth                          0x00000001094250e8 __43+[SimpleAuth authorize:options:completion:]_block_invoke_2 + 40

This is because a cancellation produces the following error:
Response: (null)
Error:Error Domain=SimpleAuthErrorDomain Code=100 "The operation couldn’t be completed. (SimpleAuthErrorDomain error 100.)"

This error propagates up to SimpleAuthWrapper.m:authorize:callback:, which creates a dictionary containing information about the error. However, in this case, [error userInfo] is an empty dictionary, and as a result, errorString is nil. In the dictionary, the key "description" is then set to a value of nil, which causes the crash.
I believe the fix is as follows:

Check for a nil userInfo, since [error userInfo] can be nil.
Check for a nil errorString before adding it as a value to the dictionary.
Possible upstream fix: Populate userInfo.

I can take care of (1) and (2) with a pull request, and could possibly take care of (3) as well, with some guidance. Thanks!

Check for a nil userInfo, since [error userInfo] can be nil.

Sounds good, if error or [error userInfo] are null, you could just fallback to:
../blob/master/iOS/SimpleAuthWrapper.m#L4

Possible upstream fix: Populate userInfo.

You would need to raise a PR with SimpleAuth for that
Thanks

0.2.1 published to fix, thanks again Jed


Options.refresh : always start a new SyncIdleConnectionMonitorThread

Options.refresh method always create a new SyncIdleConnectionMonitorThread and start it, even if another already exists in Options.SYNC_MONITOR.
It's problematic when we use Unirest.setXXX methods wich call Options.refresh. Because Options.refresh is already called staticaly in Options.

if you use Unirest to set objectMapper,  it will have another SyncIdleConnectionMonitorThread  in background without clean up,
if you use the unirest in tomcat, when the application is undeploy, it will has error message, thread is the terminated.

Hello, this should be resolved or addressed in Unirest 2. Please see the upgrade guide for important changes.


Build and release JAR

Would it be possible to build and release the .jar with Github actions or sth?
I'd like to include a stable release in our setup.
@svenseeberg @melegiul

I fixed the artifactId in the current main branch ;-)


SPIKE: Investigate consumption caps with AWS

Describe the issue
A ministry team on onboarding may have concerns about accidentally over consuming a spend level that is sustainable.
Cloud Pathfinder has with AWS created some rudimentary spend alerts at the Landing Zone level.
Possibly in conjunction with account tagging, can we offer teams the option to have a resource cap warning or even throttling automation?
Which Sprint Priority is this issue related to?
The 'Milestone' should clearly list Sprint Priorities - which one is this issue related to?
Additional context

Likely will require coordination with tagging development efforts

Definition of done

Coordinate with AWS to understand what are the best approaches
Select a best approach
Create a set of well-defined and estimated tickets to implement a small demo based on the demo app
Create a set of tickets for an Landing Zone work.

This is impossible/no longer relevant


chore(npm): sync package.json from npm-package-template

engines, version, release scripts for semantic-release, mocha, jsdoc and istanbul

Current coverage is 87.50%

Merging #97 into master will not affect coverage as of ec061b4

@@            master    #97   diff @@
=====================================
  Files            1      1
  Stmts            8      8
  Branches         0      0
  Methods          0      0
=====================================
  Hit              7      7
  Partial          0      0
  Missed           1      1

Review entire Coverage Diff as of ec061b4

Powered by Codecov. Updated on successful CI builds.


Strings that look like negative numbers are not quoted

quartz_nbt::compound! {"num": "-1"}.to_string() // "{num:-1}"

quartz_nbt::snbt::parse(&quartz_nbt::compound! {"num": "-1"}.to_string()) // Ok({num:-1})

Strings that look like negative numbers are not quoted, potentially leading to incorrect parsing.
This appears to stem from this part of the code
https://github.com/Rusty-Quartz/quartz_nbt/blob/daa993ecc30c39de3e650139053e5fe8d1564156/src/tag.rs#L191

I'm not sure what the best way to go about this is, as not every string starting with a "-" is (incorrectly) parsable as a number, and neither is every string starting with an ascii digit for that matter.

There's a chance that this also affects strings starting with "." that are parsable as numbers, but I have yet to test that


fix Min/Max_values

Fixes #904.

This doesn't cover DecaDac's with a +5/-5V range (which is like the ones we have in Sydney)?
Actually looking at #904, I initially wrote the driver with +5/-5 since those ARE the hardware limits that our DAC's use, so in fact min_val and max_val were intended to be hardware, not soft limits...

That's interesting. None of the Copenhagen decadacs have any 5 V limits. There are clearly more variations out there than we know about

Thank you @spauka ! It was really a mystery for us how the +-5V came along. What do you guys think about rewriting the driver such that it requires setting the hardware limits explicitly for it to work?  Or do you @spauka know how to read out this piece of information from the device?

@Dominik-Vogel I'm not aware of a way of reading out the range unfortunately?
Actually I was unaware that it was possible for different cards within a single DAC unit to be set differently, although I was aware that there were different ranges floating around, so setting min/max_value when initializing the instrument was my solution.
Rewriting the driver to explicitly set hardware limits sounds good to me :)

@Dominik-Vogel

[ ] Rewriting the driver to explicitly set hardware limits


Markdown rich diff tooltip appears underneath diff settings bar #1295

Tooltips now appear above buttons on hover.

I ran npm test and got the following output:

Note that we tested this in Chrome, Firefox, Opera.  Thanks.

Interesting. This has the side effect of bringing the whole button above the file bar (and not just the tooltip, whose tooltip z-index is relative to the button itself so it can’t be moved on its own). Scroll 20px down in your screenshot to notice the issue. Perhaps it’s not a big deal since it happens only on hover.
Then: the selector is very specific but we have the same issue on other file views, everywhere we have a file header. Can this be a bit more generic and not just for pull requests?

@bfred-it Good catch. We didn’t notice that buggy behavior until after several scroll-throughs. Could we then make the tooltip appear below the buttons, or is the solution we proposed in the PR an acceptable alternative?
Regarding specificity of the selector, we can only produce this behavior when there are two headers, as in the case of the PR, with the diff setting toolbar and the file header. If you happen to know of this issue in any other place, can you point us to that direction as well? Thanks.

we can only produce this behavior when there are two headers

Ah you're correct

is the solution we proposed in the PR an acceptable alternative?

It is for me, but let's see what others say

The effect is not what I expected but worse. If we're gonna add a CSS solution I'd prefer forcing the tooltips to point downwards instead.

Closing this for now. If you want to push the alternative solution feel free to open a new PR


SPI Protocol Spec

Via Alden:
The following needs to be transferred from the firmware to the FPGA (down) on a per-segment basis

clock_ticks/segment (32 bit, unsigned) - sets the length of the segment

direction bit word. Assuming a 6 axis device, that’s 6 bits. Fits in a byte, or a 32bit word if symmetry is required

per motor. (Assume 6 - for example)

sub-step increment (32 bit, unsigned) Sets step rate relative to stepper clock
sub-step increment increment (32 bit, signed)
Sets linear acceleration per step by adjusting sub-step increment up or down

So that’s 14 x 32 bit words = 448 bits
The following should be returned per segment

per motor

incremental shaft encoder reading of previous segment
incremental effector encoder reading of previous segment

That’s 12 x 32 bit words returned per transfer. This can be clocked in the SPI back- channel. You have up to 64 bits that can be padded to allow for encoder read setup time if required.
At 1 Mbps that’s 2232 transfers per second (idealized - reality would be a bit slower)
At 8 Mbps that’s 17857 transfers per second
At 25 Mbps that’s 55803 transfers per second
This could very reasonably be handled by a 8 Mbps SPI data rate and still achieve very good update times. Minimum theoretical segment time would be 56 uSec at this rate. We would probably want to run more like 250 uSec or 125 uSec
FYI: Steve's Google doc notes
https://docs.google.com/document/d/1CBAAlIxWcqdrMcA0QrfrJmAGSGN-QBaauAiughXW1mI/edit

Closing this out since the SPI protocol is now implemented and documented close to what is discussed here. Docs: https://rapcores.github.io/rapcores/spi_spec.html
We can open further issues for more granular discussions.

Closing this out since the SPI protocol is now implemented and documented close to what is discussed here. Docs: https://rapcores.github.io/rapcores/spi_spec.html
We can open further issues for more granular discussions.


README.md spelling error

Spelling correction in the first heading ("Example usage".)

Thanks a lot! :+1:


Add git commit --no-edit aliases and fix git commit --signed alias name

This PR fixes #4827 .

gcan! is gcan! without -s.
gcans! is gcan! -s.
gcn!(gc! --no-edit) is added.

@Stibbons Check this commit, apply your prefer. :)

i don't have rights to submit, what others think?

@Stibbons quoting the comment at https://github.com/robbyrussell/oh-my-zsh/issues/4827#issuecomment-180795971:

I also agree, this would break user workflow, and adding this signature is a good practice to set up (signature might be different from the user that push the commit).

I agree with the naming suggested, but it will break the workflow if anyone is using the gcan! alias. As of right now I only know of you and @wanbok, but it's irresponsible to thing there's nobody else using it. It's particulary troublesome in this case because the --no-edit means the user won't notice that he's not signing off the commit.
Also, Oh My Zsh doesn't have a good method to deprecate or warn users of alias changes, so let's keep the gcan! alias as is and add gcane! for the time being. We can also add gcans! and instruct people to use that, as the other one might be deprecated.

You're right on the point omz doesn't have an alias change signaling feature.
Both solution are ok for me, I can adapt. For alias consistency sake, gcan! + gcans! is right. For user experience consistency sale, gcan! + gcane! is right....
Damned, it is an important choice, should be the author of the project to decide.

I agreed. So I've tried to warn users of alias changes. like this:
And also, gcane! is added again.

hum... should be warned only for some days, or allow user to disable it after a while...

User can avoid this message by using gcans!.
I think If a command(or alias) is deprecated, it should be uncomfortably used.
And It should make users be noticed when users trying to use a deprecated command.

@mcornella Any plans for this PR? If it should not notice the deprecated message, i can modify it.

Sorry, I've been a little busy. I would remove the gcan! alias and turn it into a function. That way it's more readable.

Update this commit. please check it out. @mcornella

Ok let's pull this in, thanks.


Ip restriction for identity clients

Enables ip restriction for identity clients.
Allows to configure per clients if it can be accessed from the public or internal network.
Alternatively a custom allow list per client can be configured.

Points to discuss

Is introducing a new extension method like app.UseIpAllowListForIdOpsClients(); for registering an asp.net core middleware the right way to go or should we create a more general app.UseIdOps() which also calls app.UseIdentityServer() internally.


Graphs Codes C++

I thought about adding a section about graphs in the repository, I decided to add graphs from: Dijkstra and Dinic

Thank You for your Contributions
Happy Hacktoberfest


Visual studio support

Nice!
Thanks for the contribution @sixten-hilborn .
I cannot test by myself (no Windows here). But i will merge the changes.
I hope i can configure AppVeyor soon (and travis), to check these things for me.
Thanks.


docs(table): add DataTableReactive example

🔗 Linked issue
This PR fix #700

❓ Type of change
Added new Example with randomize button to show how exactly we need to mutate reactive data.

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
https://github.com/user-attachments/assets/a0f0619b-5744-4da8-9127-889559f20451

📸 Screenshots (if appropriate)
Also rephrase docs, seems good to me:

📝 Checklist

[x] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

Could you please merge upstream or your origin dev branch here? and then run the build registry again
Thanks ❤

Could you please merge upstream dev or your origin dev branch here? and then run the build registry again

Done in 92801dc (#744)


Fix mistakes in the Workbox docs

Fixes a few small mistakes in various Workbox docs.
Target Live Date: YYYY-MM-DD

[ ] This has been reviewed and approved by (@jeffposnick )
[x] I have run npm test locally and all tests pass.
[x] I have added the appropriate type-something label.
[x] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 16 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/using-bundlers.md#L283 - '

:tada: This has been pushed live to https://developers.google.com/web/


can't connect

Problem of syntax?

fix MAC to airpods can fix this

Disconnected headphones use fewer lines of output (e.g. no battery levels shown), therefore the grep offsets are wrong which could catch more than one IP. To fix this, we could grab the last IP address only:
MAC_ADDRESS=$(grep -B8 "Minor Type: Headphones" <<< "${SYSTEM_PROFILER}" | awk '/Address/{ lastline = $2 } END { print lastline }')
At least this fixed it for me (2nd gen Airpods - not Pro, M1 Mac on Monterey)

@davosian works for me too! AirPods Pro, M1 Mac on Monterey. Submit a PR?

@davosian works for me too! AirPods Pro, M1 Mac on Monterey. Submit a PR?

Done already. See PR https://github.com/godbout/alfred-airpodspro-connector/pull/3

Oops. should have checked, thanks!

hey sorry guys. i think GH may have changed some settings in how repositories are watched and i haven't received any notification. i'm seeing since on a lot of my repos. usually i respond very quickly. anyways, will review/merge/update. thanks and sorry again.

ok, merged. sorry for the late. will review all the GH notification shit. i'm dismayed.


Missing volume in american-physics-society citation

Description
Citing using the american-physics-society style appears to have a bug that the volume={47},  field does not appear.
main.typ is
Citing a paper such as @Einstein1935can does not show the volume field.

#bibliography("refs.bib",
style: "american-physics-society")

ref.bib is
@article{Einstein1935can,
  title={Can Quantum-Mechanical Description of Physical Reality Be Considered Complete?},
  author={Einstein, A. and Podolsky, B. and Rosen, N.},
  journal={Phys. Rev.},
  volume={47},
  pages={777--780},
  year={1935},
  doi={10.1103/PhysRev.47.777}
}

This produces a document with a missing volume field. I reproduced this in the typst.app and in a fresh brew install on my mac locally.

Reproduction URL
No response
Operating system
No response
Typst version

[X] I am using the latest version of Typst

Having checked this a bit more, it seems to be a bigger issue. It appears that typst never seems to include the volume even in the most standard test I can devise.
If I download basic.yml from
https://github.com/typst/hayagriva/tree/main/tests/data
and produce a bibliography as below. It also misses the volume. I would say that the #bibliography function has a bug that will stop it from being useful for pretty much all scientific users?
I really like typst, and appreciate the work done on it to date, so I hope this can be addressed
@kinetics

#bibliography("basic.yml")

It seems that the volume is stored in the article's parent but hayagriva retrieves directly from the entry and gets none.
https://github.com/typst/hayagriva/blob/062e5fdd02616e5d49ab7b1b81bb4893bf4e0dda/src/csl/taxonomy.rs#L194
            NumberVariable::Volume => self.volume().map(MaybeTyped::to_cow),

If I change this line to the following code and the volume is printed out as expected.
            NumberVariable::Volume => self
                .get_container()
                .and_then(|e| e.volume())
                .map(MaybeTyped::to_cow),

$ cargo run --features=cli -- test.bib cite --csl american-physics-society.csl
    Finished dev [unoptimized + debuginfo] target(s) in 0.06s
     Running `target/debug/hayagriva test.bib cite --csl american-physics-society.csl`
[1]
A. Einstein, B. Podolsky, and N. Rosen, Can Quantum-Mechanical Description of Physical Reality Be Considered Complete?, Phys. Rev. 47, 777 (1935)

Thanks a lot @zepinglee !
This looks like a quite simple, but very valuable thing to get fixed soon.

I believe this was solved here.


Remove log4j.properties and reference from web.xml

We now use logback, so this file is no longer needed.

Resolved with #148


data doi

the data doi for both historical run and forecast need to be added to the portal and data itself

The portal is now listing the citation DOI. To be more flexible and avoid a long list, a data query like backend is need to generate the DOI when more region comes online.

[ ] data doi in the data attribute
[ ] portal dynamic citation generation


Automatic close braces issue?

Is there a way for Brackets not to end a code? For example:

. It automatically adds in

 I saw the option Edit >> Auto Close Braces. I have that option off and unfortunately it still automatically adds the end part of the code. Is there any way to fix this? Thanks!

@animationfund2 That is not for close tag options. You need to update your preferences by selecting Debug > Open Preferences File. Then copy the close tag preferences from the defaultPreferences.json to your preference file and make some necessary changes.

Thanks for the help!


App crashes on Android P beta (Pixel 2 XL)

FILL THESE DETAILS FIRST:

Ghost version: ghost.io
App version: 1.1.3

I'm able to enter my blog url and logon details, Directly after that the app crashes:
IllegalArgumentException
me.vickychijwani.spectre.util.PostUtils
getStatusColor:186

Hi @jessehouwing :wave:
I tried to reproduce this on an Android P emulator (the exact build number according to my settings is PPP2.180412.012) but was unable to. I could login, view and edit my posts as expected.
Interestingly, the crash site seems to indicate that one of your posts has an invalid status (i.e., something other than draft, scheduled or published):
https://github.com/TryGhost/Ghost-Android/blob/cdf899bad70cd43da2312f1069af601e38ac61c0/app/src/main/java/me/vickychijwani/spectre/util/PostUtils.java#L186
... which should crash on any device but if it doesn't, it could be due to a corrupt local database, for example. So:

Can you try wiping the app's data completely (NOTE: uninstalling may not wipe all of its data) and log in again?
Can you try logging into the same blog + user account on a different device and see if it crashes?
Is this crash consistently reproducible on your Pixel 2 XL?
What's your Android build number? (Settings > System > About > Advanced)

Without a reliable way to replicate, this is going to be hard to figure out.

Assuming you're talking about posts created with the Koenig beta editor, the unable to refresh error is being tracked in #25. I'm going to close this one as there's nothing more to do.

Looks like it indeed caused by Koenig. I like the 'hide hy default' or link to web option proposed by others.
As to the original issue. As long as ghost itself allows illegal json to be imported and served, instead of crashing the app and storing the incorrect json locally, I'd suggest:

try parsing the json. Give a clear indication that the data couldn't be parsed, preferably with the right slug to help identify the issue.

do not store the data locally to prevent the app from becoming useless.

do not overwrite local offline drafts in the process.

The way the app handles incorrect json now could lead to data loss of locally stored data in order to get the app back up. I've also raised the issue of ghost accepting and serving bad json there.


Increase test coverage

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 95.078%

Files with Coverage Reduction
New Missed Lines
%

CourageScores/ClientApp/src/components/division_fixtures/sayg/PlayerInput.js
1
87.29%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
6673

Relevant Lines:
6793

💛  - Coveralls


Remove legacy tests

Remove or replace with appropriate pytest tests:
https://github.com/onnela-lab/forest/tree/develop/tests

Completed in 872f036


TH origin not getting temperatures reliably

I have a sonoff thr316 aka TH origin.
In the ewelink app it seems to be getting regular temperatures as shown in the history but in node red i only seem to get a temperature when I open the ewelink app. outside of that i'm just getting switch state.
I'm using a seperate user which I have shared the devices to as per the instruction videos.
Any thoughts?

After lots of dicking around it seems to be an issue at ewelink end, if i go through samsung smart things it suffers the same issue.
guess im flashing tasmota then.


 So I made this: http://jsfiddle.net/fn3s5/12/
It is very simple, just with CSS3 and JS and It fit with boostrap forms nicely.
Maybe, control styles like this one could be added as another component in the future.

You might want to mention this in the previous issue: #1935


Adds pagination to the posts API

Closes #126
PR Checklist:
Hey there! It's great to have you here. Here's a quick checklist to help you make a shiny PR:

[x] Have you checked out the guidelines in our Contributing document?
[x] Have you looked if there might be other open Pull Requests for the same update/change?

Quick Description of the PR
What does it aim to achieve, and why?
An Overview of the Changes

A few notes on your commits.
To help understand them.

@Naraujo13 I've updated my PR. Could you review it again?

I've just thought that we may need pagination at the /posts/:postId endpoint also.
There we retrieve the post alongside its comments, maybe it would be a good idea to paginate the comments?
That way we can lazy load the comment tree to avoid any performance issues with big threads discussions.
What do you think @robinv85 @mushketyk @anniegiang ?

Yeah good point @Naraujo13 I also thought we might need pagination for comments, because lots of comments should probably be lazy loaded.
However I wonder if there is a good way to make this clear in the REST  API that the parameters apply to a sub resource, something like api/posts?comments.skip=0&comments.limit=10

@robinv85 Since api/posts/:postId returns information about the post and comments, this seems a bit counterintuitive. Would it be better to have another endpoint for comments pagination: api/posts/:postId/comments?skip=0&limit=10?

@mushketyk yes I think that's the way to go, do do requests for lazy-loading pages of comments from the frontend...
Howver I'm not sure about the params on /api/posts/:postId since that endpoint also returns comments, we could add query params to specify how many comments we want (page size, e.g.  ?commentsCount= ... or just use a default, but the client needs to know where to start, so the easiest would be something like returning page 1 and fetching the next page.

@robinv85 Maybe this is a bit off topic, but did you consider GraphQL? It can be a good fit for this problem: subscription allows us to fetch multiple item types at the same type, etc.

@robinv85 For the current approach, could the frontend perform two queries:

posts/:postId?commentsCount=10 - to get a particular post and 10 comments
posts/:postId/comments?skip=10&limit=10 - to get the next 10 comments

Do you think this is reasonable or would you suggest to simplify the API?

@mushketyk yes I've mentioned GraphQL already a few times on Slack but we decided for MVP not to add any more different technologies, we started in a hackathon with a basic stack with Express, Mongo, etc. and only thing that we changed is Fastify mostly for the async/await functionality.
I think sub resources in REST API's are often more complex and subject for discussions, so I like that solution which is pretty simple to start with something. so the default response could just include the first page of comments and then the client can query for the next pages. Will that be accurate if there are newer comments since previous page was fetched though?

Also, I'm thinking about "newest first" sorting
Will that be accurate if there are newer comments since previous page was fetched though?

What if we use range queries instead of using skip? Mongo objects have _id fields that have the following structure:

a 4-byte timestamp value, representing the ObjectId’s creation, measured in seconds since the Unix epoch
a 5-byte random value
a 3-byte incrementing counter, initialized to a random value

We can use the following range query to get comments after the oldest comment we have:
  db.students.find( { _id: { $lt: startValue } } )
             .sort( { _id: -1 } )
             .limit( nPerPage )

From here.

Yeah sounds like a good idea, @Naraujo13 what do you think about this way for pagination?

I like that endpoint suggestion also, no problem with that.
About the newer comments and sorting discussion, I think I'm missing something here.
The comments are sorted from older to the newer right?  At least that is the standard at Facebook, Slack and etc.
If so, comments added while watching the discussion would just be added on the last page. Am I missing something here @robinv85 ?
I was thinking if we would have the same problem at posts, but they are sorted now by distance to the user, so we won't have the same problem there.

Also adding up, using the _id for paging when sorting is done by date is usually a good idea though.

If so, comments added while watching the discussion would just be added on the last page. Am I missing something here @robinv85 ?

If comments are displayed older to newer, then there is no problem with pagination, and we can either use skip&limit or _id&limit parameters. If they are sorted newer to older then we might get duplicates when we iterate through them using pagination since a second API call might skip over a newly added comment.
Using _id&limit over skip&limit should make a search a bit faster though.

I was wondering if we would have the same problem at posts, but they are sorted by distance to the user now, so I think we won't have the same problem there.

I think we might have a problem if a post is added in between two API calls, and we might get duplicated results. This might not be a big issue, and we can just skip it for now. If we want to solve it I think we would need to use a different set of pagination parameters to ensure that we don't have duplicates. Maybe specify limit&minDistance when iterating over posts?

@Naraujo13 @robinv85 This discussion turned out to be quite long! Let me summarize the points of discussion and try to see what we agree disagree on:

We need to have pagination on both posts and comments.

I think we all agree here

We can either have a single posts/:postId endpoint to get a post and the first batch of comments, or we can have an additional endpoint posts/:postId/comments to paginate over points.

Not sure what did we decide on this one

Ordering and pagination - incorrect pagination can lead to duplicate results

If we need to order comments from oldest to newest. In this case, we can use skip, limit parameters, and this should not cause any problems

Are we agree on this?

Do we want to order posts by distance to a user?

Do we need to implement special pagination for this?

Is this all, or do I miss something?
What do you think about these points?

@mushketyk @Naraujo13 Yes seems good, I like the idea to use _id instead of skip to prevent errors.
Using 2 endpoints also seems ok, separate endpoint to load more comments.
And for comments it's probably oldest to newest so not a problem for pagination, for posts I would think that it's probably location + newest first? And the filters are configurable so maybe sorting as well, but that's out of scope here, just have to think that it has to be a bit flexible.

Yeah, I also agree with all.

Thank you for your comments @Naraujo13 and @robinv85 ! I think we are on the same page.
I'll close this PR, since there are too many comments already and will open another PR with these comments addressed.