Refactor covid_hosp auto columns

Summary:
Several refactors to covid_hosp files on the auto columns branch:

Updates tests to get the number of columns directly from the YAML file - so they won't break when it changes
Minimizes Database subclasses in covid_hosp (down to a single property) as the information stored there can now be obtained from the dataset definition YAML file
Updates the base Database class to obtain the information in question
Removes Network subclasses and condenses their logic into the base class
Changes various tests as needed

Prerequisites:

[ ] Unless it is a documentation hotfix it should be merged against the dev branch group/covid_hosp_auto_columns_2 base
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[x] Build is successful
[x] Code is cleaned up and formatted

@melange396 updated with all the changes you mentioned, re-requesting review!

@melange396 updated with a few caveats (see the comments above!)

@melange396 pushed another round of changes, re-requesting review!

@melange396 applied the set of changes you requested! (with a few small tweaks to make it compile)

i added a commit that renamed a class to TypeUtils because just 'Utils' is not very useful, and also removed some related unused code.
tests are nice and can help catch a lot of problems, but they arent perfect.  before we call this done, can you do some actual sample acquisition runs to make sure this all still works to acquire data?  we changed a lot, and we mightve missed something...  for example, the src/acquisition/covid_hosp/***/update.py jobs wouldve failed if they still included the lines i just removed: from delphi.epidata.acquisition.covid_hosp.common.utils import Utils.


Update footer

Updates the call to action / footer section:
Current:

Suggested:

"Call-to-action" text
Uses github icon instead of Github text

Thanks for the reviews @hassandraga! I like it!

The gh link below the text should stay?

I just wanted to let you know that I agreed to remove it as you suggested. Just the text should be updated and here we go.

I'm still not fully understanding, sorry sometimes its hard via text 🙈.
The Github text with the red arrow on the screenshot below was not part of your text, so this was the one I was asking about.
The Github text on the bottom left was made into an icon and moved to the right.

The screenshot shows how it would be now. If this is a :+1: , then lets merge 🙂

Yes, we talk about the same thing 👍
The GitHub icon you did is better than the text. That's why I didn't add it to my suggested text. However, I already remove it.


Spread syntax requires ...iterable[Symbol.iterator] to be a function

$ git clone
$ cd primate-app
$ npm i && npx -y primate

up to date, audited 174 packages in 1s

26 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
(node:35984) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[info] primate 0.11.0
[info] running on localhost:6161
[error] Spread syntax requires ...iterable[Symbol.iterator] to be a function

The [error] Spread syntax requires ...iterable[Symbol.iterator] to be a function is repeated every time a page is loaded on localhost:6161:
$ curl -i http://localhost:6161/
HTTP/1.1 500 Internal Server Error
Date: Tue, 14 Mar 2023 23:06:43 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

Arm64 macos. Tool versions:
$ node --version
v19.7.0
$ npm --version
9.6.1
$ npx --version
$ ls -l =node
lrwxr-xr-x 1 mkm admin 30 Mar 15 00:01 /opt/homebrew/bin/node -> ../Cellar/node/19.7.0/bin/node
$ ls -l =npm
lrwxr-xr-x 1 mkm admin 38 Mar 15 00:02 /opt/homebrew/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
9.6.1

Hey, thanks for reporting, this should be solved as of ad95c7d, could you please confirm?
@primate/redirect wasn't yet using the new handler syntax, see https://github.com/primatejs/primate-redirect/commit/38911017d40f18f960998e9147aabc02dddcc593

it worked, thanks!


cannot compile ceph-0.92

cannot compile ceph-0.92
building librbd_replay.la
CXXLD    librbd_replay.la
libtool: link: warning: /nix/store/blyb4nanz9qdwgjqd0x49ghw15lnhd7v-gcc-4.8.4/lib/gcc/x86_64-unknown-linux-gnu/4.8.4/../../../../lib64/libstdc++.la' seems to be moved libtool: link: warning: /nix/store/blyb4nanz9qdwgjqd0x49ghw15lnhd7v-gcc-4.8.4/lib/gcc/x86_64-unknown-linux-gnu/4.8.4/../../../../lib64/libstdc++.la' seems to be moved
libtool: link: warning: /nix/store/blyb4nanz9qdwgjqd0x49ghw15lnhd7v-gcc-4.8.4/lib/gcc/x86_64-unknown-linux-gnu/4.8.4/../../../../lib64/libstdc++.la' seems to be moved copying selected object files to avoid basename conflicts... ar: u' modifier ignored since D' is the default (see U')
ranlib: .libs/librbd_replay.a: No space left on device
make[3]: *** [librbd_replay.la] Error 1
make[3]: Leaving directory /tmp/nix-build-ceph-0.92.drv-0/ceph/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory /tmp/nix-build-ceph-0.92.drv-0/ceph/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory /tmp/nix-build-ceph-0.92.drv-0/ceph/src' make: *** [all-recursive] Error 1 builder for /nix/store/fh8iwak3pw6fkflaclsj4yyw189n6gnx-ceph-0.92.drv' failed with exit code 2

You ran out of space in /tmp.
On Feb 11, 2015 12:51 PM, "letac"<EMAIL_ADDRESS>wrote:

cannot compile ceph-0.92
building librbd_replay.la
CXXLD librbd_replay.la
libtool: link: warning: /nix/store/blyb4nanz9qdwgjqd0x49ghw15lnhd7v-gcc-4.8.4/lib/gcc/x86_64-unknown-linux-gnu/4.8.4/../../../../lib64/libstdc++.la'
seems to be moved
libtool: link: warning:/nix/store/blyb4nanz9qdwgjqd0x49ghw15lnhd7v-gcc-4.8.4/lib/gcc/x86_64-unknown-linux-gnu/4.8.4/../../../../lib64/libstdc++.la'
seems to be moved
libtool: link: warning: /nix/store/blyb4nanz9qdwgjqd0x49ghw15lnhd7v-gcc-4.8.4/lib/gcc/x86_64-unknown-linux-gnu/4.8.4/../../../../lib64/libstdc++.la'
seems to be moved
copying selected object files to avoid basename conflicts...
ar:u' modifier ignored since D' is the default (seeU')
ranlib: .libs/librbd_replay.a: No space left on device
make[3]: *** [librbd_replay.la] Error 1
make[3]: Leaving directory /tmp/nix-build-ceph-0.92.drv-0/ceph/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory/tmp/nix-build-ceph-0.92.drv-0/ceph/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory /tmp/nix-build-ceph-0.92.drv-0/ceph/src'
make: *** [all-recursive] Error 1
builder for/nix/store/fh8iwak3pw6fkflaclsj4yyw189n6gnx-ceph-0.92.drv'
failed with exit code 2
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/issues/6308.

Sorry :(


remove autofocus on email for mulitple login choices

add placeholder for email in pwdless login form

Can you add why we remove autofocus in the commit message?

Can you add why we remove autofocus in the commit message?

Done


[stable/mattermost-team-edition] Configure everything in one go

Background
It can be daunting to maintain a Chart that passes configuration to a container by adding yaml to a configmap. The PR fixes #8008. This could be vital to the sustainability of maintaining a chart like this, as there is simply a lot of configuration to pass through and it can be hard to keep up to date.
About changes

I moved all the config.json content from the configmap to values.yaml under configJSON because reading them from there makes them remain a map, rather than a big blob of text. This allows us to override parts etc.
I ensured all previous values that so far has been configured to write to config.json were overriding things in in a copy of .Values.configJSON instead. The modified copy of configJSON were then written to the field config.json that becomes mounted to the mattermost server pod.
As sensitive information can be stored in this config, I made the ConfigMap become a Secret instead.

Breaking change
I make some breaking changes, but I also make sure to print the config changes required by the user automatically. So for example auth.gitlab is deprecated hard in favor of configJSON.GitLabSettings that does the same thing and matches the typical "config.json" file.
So for example, if a user tries to install this version but had declared something in auth.gitlab they will fail to render the templates and instead get a message about needing to use configJSON.GitLabSettings from now on. See link in the paragraph below.
To summarize, the following helm configuration values have been deprecated, and if you would use them you would receive an error on helm upgrade before tiller have started making changes so the upgrade will fail before any changes has been made to the deployment. And again, to see the actual deprecation failure output, see this comment below in the PR.

auth.gitlab
config

siteUrl
siteName
enableSignUpWithEmail
feedbackName
feedbackEmail
smtpUsername
smtpPassword
smtpUsername
smtpPassword
smtpServer
smtpPort
smtpConnection

/assign @cpanato

@minrk gave me valuable input about this PR.
What I got away with was:

We may want to make a merge with the default configuration on the mattermost-server binary to avoid hardcoding a default config in here.
We should not have defaultConfig + extraConfig but simply config and allow the user to override that, we don't need defaultConfig + extraConfig or similar! Helm will merge it for us.

Note config should perhaps be referred to as boilerplateConfig or similar since this PR modifies it with custom Helm chart values for backward compatibility and simplicity. All fields currently assigned the value PLACEHOLDER are such fields.

Hmmm, okay the drawback of doing 2. would be that we end up with another kind of sequence of configuration updates.
Current order of overrides in this PR:

defaultConfig (aka. boilerplateConfig) gets updated by custom logic for custom chart values like this:{{- if .Values.externalDB.enabled }}
{{- $_ := set $c.SqlSettings "DriverName" (.Values.externalDB.externalDriverType) }}
{{- $_ := set $c.SqlSettings "DataSource" (.Values.externalDB.externalConnectionString) }}
{{- else }}

That config is then overridden with extraConfig

If we implement 2. we would have: the same, but the order of updates would change. extraConfig would be applied first.
Not certain what is best. But I think I like the second version better.

no rush @consideRatio thanks for all

I'll get to do this ... !

Final tasks:

[ ] Assuming usage of hard deprecations, ie forcing failures in NOTES.txt if deprecated config solution is in use, I should increment the major instead of minor version according to SemVer, I think.
[ ] Documentation update of changes
[ ] Documentation completion of lacked fields like externalDB

@cpanato I understand that you may have a lot on your plate as I've seen you do work all over. Is there something I could help you with?
I care for this kind of changes as were essential for me to deploy and configure Mattermost myself, but also from experience of working on other helm charts I believe that these kinds of config passthroughs from helm to the actual binary that is run can reduce so much time invested maintaining and keeping the deployment up to date with features etc.

Rebased to account for Mattermost version updates and @ahmadalli's #11348 to avoid merge conflicts.

@consideRatio First I need to apologize for not being responsive and we get merge this change. this is totally my fault.
I will review and make any changes if you allow me to do to and then we get this merge this week.
again sorry :(

@consideRatio can we add some documentation in the readme as well? what happen if i already have a installed chart and upgrade to this new one? do i need to remove and reinstall?

@cpanato no worries!
Ah yes we should prepare the users for the migration, what will happen is documented in this comment right now: https://github.com/helm/charts/pull/8019#issuecomment-453820463
Should such documentation be within the readme, and or somewhere else?
In short the upgrade process is like this, if they try to make an upgrade to from 2.x.x to 3.x.x without reading anything about it, the upgrade will fail before any changes to the deployment has been made, and they are suggested with changes to the helm config they need to make.
Feel free to make changes to the PR!
TODO

[ ] Upgrade related documentation
[ ] Decision: Should the configJSON field in values.yaml stay as JSON, or should it be YAML?
[ ] Decision: Should the deprecation errors that suggest how to write the config then be presented as JSON as well perhaps?

/ok-to-test

@consideRatio yes, the migration/upgrade should be documented in the readme in a specific section. this will be great! :)

@consideRatio regarding this  Should the configJSON field in values.yaml stay as JSON, or should it be YAML? I dont have a strong opinion.
I think we should keep what is easiest for the user.

@consideRatio tests are passing, I also installed locally and is working :) so, I would say just the documentation and any other thing that might appear we can fix in a followup PR, makes sense?

I added an upgrade note in the README.md and wrote a more technical note in values.yaml about configJSON discussing YAML / JSON stuff.

@consideRatio thanks so much for your work and time spend here.

/lgtm


Version 4 2 0

Implementation of features for 4.2.0

Branch is complete and ready to merge.
@kjk001 When you have finished your implementations we can start finalising the CHANGELOG.md and README.md before release.


Turn off robots.txt

No scrapin' for this please!

Some good info on best practices in https://en.wikipedia.org/wiki/Robots_exclusion_standard and http://michaeljaylissner.com/posts/2012/01/16/respecting-privacy-while-providing-hundreds-of-thousands-of-public-documents/.

Heads up -- this is all set and taken care of! Merging the PR after hacknight tonight.


[CMake] Ensure module tracing is off during configuration

Such module usages are not relevant for the final build, they are used only to detect the capabilities of the compiler.
This generalizes #68453, and would be needed for Apple internal configurations that set SWIFT_LOADED_MODULE_TRACE_FILE when building the compiler.
Addresses rdar://124954349

@swift-ci please test

@swift-ci please build toolchain

@swift-ci please test WebAssembly

@swift-ci please test Linux


Add KismetDebugger cppmod

Basically a copy-paste of the kismet-debugger repo with some cmake adjustments so it will build. Still need to develop how cppmods are packaged and distributed.

What's the status of this PR ?

Closing this because it appears to be dead.
Created #469 to replace it.


Implement React Render

Implement a simple root route and render with react-engine

I will take this on :)
What about updating package.json file? include it in this task?

@SOSANA I've just updated deps and tested, it is in #26
It is always better to do such things separately

@nkbt agreed.

@SOSANA @nkbt If I don't respond before you get to it, please feel free to merge each other's commits if you're confident about the change.
If anybody proposes tech changes (not just implementing the Roadmap), please wait for others to weigh in.

OK

I want to do a PR for updated package.json that includes react-engine, reactjs, etc. Should I do this against the Universal branch or master branch?

@zebulonj let me know if you are going to take this on as per @ericelliott  #13 suggestion

@SOSANA Master, please. =)

@SOSANA All yours. Have at it! =)

@ericelliott right on, I'll open a new issue for views/components that ties in with this PR. For now. Either myself or someone else can take it on.  Excited!

I'd like to help with this. If someone else is taking lead, I'll contribute where it is needed.

Great.
@SOSANA Please see the "hello world" component in react-hello and make sure to read Baby's First Reaction.
I have a mission for you, @zebulonj ... You should probably also read Baby's First Reaction if you haven't, yet.

If you guys want to chat in realtime to touch bases, please use the JavaScript Questions chat.

@ericelliot I've read it. I'll take a look at the mission you have for me when I'm at my computer.

:+1:

Beat you to it. See this commit.
Basically scrapped the whole thing and started over. I think best practices have evolved enough since we started this to justify it.


Names of sulci missing in MNI152 3D view

The MNI152 space 3D view shows meshes of principal sulci. When hovering them, names are technical ("auxmesh .xxyyo"). Expected behavior would be to see their real names. As an example, it would be great to be able to find the central sulcus by hovering over the 3D view.

hovering auxiliary mesh no longer show text
re: show more complex names e.g. central sulcus - potentially possible, but needs the data to be updated (e.g. break up the sulci into components, give each a name, etc etc)


Add Windows targets

Hello,
Is here a way to help out on this?
I'm running a use-case where I'd need to be able to install mini_racer on a Windows native build, and libv8-node fails to install because it cannot download NodeJS to build the binary.
Some quick searching shows the problem to be here:
https://github.com/rubyjs/libv8-node/blob/master/libexec/download-node
mkdir -p "${src}"
download "${src}/node-v${version}.tar.gz" "https://nodejs.org/dist/v${version}/node-v${version}.tar.gz"
check_sum "${src}/node-v${version}.tar.gz" "${sha256sum}" && exit 0

This doesn't work on Windows, because for example for 21.7.2, there is no correct path being build to download the package. If I follows the code directly, it tries to download https://nodejs.org/dist/v21.7.2/node-v21.7.2.tag.gz
but that doesn't exist, as it should either download the -headers package, or a platform specific one.
Although for windows it becomes  a 7z file instead.

Actually got the scripts working on my Windows machine, seems there's missing checksum for the version it downloaded, which I added. Just looking for some general advice on how I can locally test an installation with this gem.


chore: update init progress and log messages

Current dependencies on/for this PR:

main

PR #41   👈

This comment was auto-generated by Graphite.

@mhanberg started a stack merge that includes this pull request via Graphite.

@mhanberg merged this pull request with Graphite.


Support for UTF8 text

Will be useful for people outside English speaking countries.

Hey @thejeshgn! So sorry for the delay. Pixlet should be able to support UTF-8 out of the box, can you provide more details on what you're trying to do? One thing to note, not all fonts contain all glyphs, so even if we do support UTF-8, we may not have a font that suits the language you are trying to use. If that's the case, feel free to submit a PR adding a font to fit your use case! If there are bugs supporting UTF-8, please feel free to follow up on this issue so we can take a closer look.

As an update - we chatted a few times internally over the last few months on how to best support internationalized fonts with Pixlet. Sourcing small, BDF fonts that look good on a Tidbyt in a language we can't read natively is pretty challenging. Even if we found a nice font that supported a target character set, we wouldn't be able to validate it displays correctly at 5-8 pixels. Adding more languages to the device is on our roadmap but it's not something we can prioritize in the short term.
We overly welcome community support here. If there is a language you want to see on your Tidbyt and are willing to help us validate it looks good, please open an issue with the specific language you are looking for. We can take on the technical work if someone is willing to help us validate the character set on the display.


types: Update State json tag

Serialize DiskStatus json key from State to state

Do we need to update longhorn-test for this?

@yasker Yes, we also need to update longhorn-test and longhorn-ui. Yan said UI didn't support this parameter yet, so we just need to update longhorn-test for now. I have fixed this part in longhorn-test, will create a new pr for this.


Snippeting chapter9

Start to add a few snippets to chapter9 (primitive recursive functions).

There is a quotation of a definition from the Ackermann library, and the same problem will happen with the Standard Library. It looks difficult to add snippets in such libraries. I chose (for the time being) to leave the Coqsrc blocks.

Just for trying, I put a commented proof of extEqual_ex1 (P. 165 of the pdf, library ordinals/MoreAck/PrimRecExamples.v)  with comments inside the proof. I put a few (* .no-outs *) comments because alectryon displays the sub-goal after the bullets.

I add a little (improvable) text on the use of alectryon in the doc (pages 8 and 11 of the pdf)
@Zimmi48 Do you think we may merge into master ?
Do you think we should mention alectryon in the "installation" paragraph of the README ?

I add a little (improvable) text on the use of alectryon in the doc (pages 8 and 11 of the pdf)

Looks good!

Do you think we may merge into master ?

Yes :)

Do you think we should mention alectryon in the "installation" paragraph of the README ?

It already mentions Alectryon:

Building the PDF documentation also requires Alectryon 1.2 and SerAPI. See doc/movies/Readme.md for details.

Let me know if you think this isn't sufficient.

Ok !
I let you merge ?
Thé, I will send a message to Clement with a link to the pdf generated by CI.
Envoyé de mon iPhone

Le 29 juil. 2021 à 11:34, Théo Zimmermann @.***> a écrit :
I add a little (improvable) text on the use of alectryon in the doc (pages 8 and 11 of the pdf)
Looks good!
Do you think we may merge into master ?
Yes :)
Do you think we should mention alectryon in the "installation" paragraph of the README ?
It already mentions Alectryon:
Building the PDF documentation also requires Alectryon 1.2 and SerAPI. See doc/movies/Readme.md for details.
Let me know if you think this isn't sufficient.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


[SPARK-16159][SQL] Move RDD creation logic from FileSourceStrategy.apply

What changes were proposed in this pull request?
We embed partitioning logic in FileSourceStrategy.apply, making the function very long. This is a small refactoring to move it into its own functions. Eventually we would be able to move the partitioning functions into a physical operator, rather than doing it in physical planning.
How was this patch tested?
This is a simple code move.

Test build #61076 has started for PR 13862 at commit 6c132af.

Test build #61077 has started for PR 13862 at commit 9c75f63.

Test build #61078 has started for PR 13862 at commit bae4a50.

Test build #61076 has finished for PR 13862 at commit 6c132af.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61076/
Test PASSed.

LGTM

Test build #61077 has finished for PR 13862 at commit 9c75f63.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61077/
Test PASSed.

Test build #61078 has finished for PR 13862 at commit bae4a50.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61078/
Test PASSed.

Merging in master. Thanks.


Create Translation Script

This is just a small script to help the integration of AppInventor in translation centers
It just converts the .java messages file into a .properties one
Recommended translation centers: Transifex, OneSky

Hi @barreeeiroo
You may also want to check out the i18n-support branch, which does this as part of the GWT compilation process. The *.properties files are output under the appengine/build/extras/ directory.

It wasn't previously public. I just pushed it in case it would be useful.


item_episode_ordering not being applied anymore

I just tried adding a new show to change item_episode_ordering and noticed it wasn't being applied. I went back and tested the previous working examples I had and they aren't working anymore either.
Logs don't show any useful errors, but I am running version 1.10.0 on develop
Here's an example of my YML
  "Show Name":
    item_episode_ordering: tvdb_aired

ok ill look into it

so this is still working for me can you give me your collection.log for a collection where its not working

Well that last comment cleared it up - this is an error with my YML.
I copied an example from a collection and didn't remove the "item_" prefix. Using just episode_ordering fixes it.


Doesn't work under Ubuntu on a Toshiba Satellite laptop.

edavies@george:~/node_modules/battery-level$ node cli.js
/home/edavies/node_modules/battery-level/index.js:24
res = res.percentage.slice(0, res.percentage.length);
^
TypeError: Cannot read property 'slice' of undefined
at /home/edavies/node_modules/battery-level/index.js:24:23
at /home/edavies/node_modules/battery-level/node_modules/linux-battery/index.js:29:3
at ChildProcess.exithandler (child_process.js:742:7)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Socket. (child_process.js:1183:11)
at Socket.emit (events.js:107:17)
at Pipe.close (net.js:485:12)
Ubuntu 14.04 LTS.
$ uname -a
Linux george 3.16.0-44-generic #59~14.04.1-Ubuntu SMP Tue Jul 7 15:07:27 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ upower --version
UPower client version 0.9.23
UPower daemon version 0.9.23
Toshiba Satellite C50-B-189
The problem seems to be that the battery is called …BAT1 rather than …BAT0
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
failed to set path: cannot refresh: Cannot get device properties for /org/freedesktop/UPower/devices/battery_BAT0: Couldn't call GetAll() to get properties for /org/freedesktop/UPower/devices/battery_BAT0: Method "GetAll" with signature "s" on interface "org.freedesktop.DBus.Properties" doesn't exist
$ upower -i /org/freedesktop/UPower/devices/battery_BAT1
native-path:          BAT1
vendor:               TOSHIBA
model:                PABAS0241231
serial:<PHONE_NUMBER>00D01B
power supply:         yes
updated:              Fri 24 Jul 2015 17:03:42 BST (1498 seconds ago)
has history:          yes
has statistics:       yes
battery
present:             yes
rechargeable:        yes
state:               fully-charged
energy:              45 Wh
energy-empty:        0 Wh
energy-full:         45 Wh
energy-full-design:  45 Wh
energy-rate:         1.905 W
voltage:             16.988 V
percentage:          100%
capacity:            100%
technology:          lithium-ion
It might be relevant that I'm using a wireless mouse with a battery:
edavies@george:~/node_modules/battery-level$ upower --dump
Device: /org/freedesktop/UPower/devices/line_power_ACAD
native-path:          ACAD
power supply:         yes
updated:              Fri 24 Jul 2015 17:03:37 BST (1583 seconds ago)
has history:          no
has statistics:       no
line-power
online:             yes
Device: /org/freedesktop/UPower/devices/battery_BAT1
native-path:          BAT1
vendor:               TOSHIBA
model:                PABAS0241231
serial:<PHONE_NUMBER>00D01B
power supply:         yes
updated:              Fri 24 Jul 2015 17:03:42 BST (1578 seconds ago)
has history:          yes
has statistics:       yes
battery
present:             yes
rechargeable:        yes
state:               fully-charged
energy:              45 Wh
energy-empty:        0 Wh
energy-full:         45 Wh
energy-full-design:  45 Wh
energy-rate:         1.905 W
voltage:             16.988 V
percentage:          100%
capacity:            100%
technology:          lithium-ion
Device: /org/freedesktop/UPower/devices/mouse_0003o046DoC52Fx0002
native-path:          /sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.2/1-4.2:1.1/0003:046D:C52F.0002
vendor:               Logitech, Inc.
model:                M185/M225
serial:               0320E001
power supply:         no
updated:              Fri 24 Jul 2015 17:29:25 BST (35 seconds ago)
has history:          yes
has statistics:       no
mouse
present:             yes
rechargeable:        yes
state:               discharging
percentage:          90%
Daemon:
daemon-version:  0.9.23
can-suspend:     yes
can-hibernate:   no
on-battery:      no
on-low-battery:  no
lid-is-closed:   no
lid-is-present:  yes
is-docked:       no

Any idea @kevva?
Need to make sure it's actually the computers battery.

@ed-davies, could you log what you get from res on line 23 or something?

Added “console.log(res);” on line 23 which gave output:
{ failedToSetPath: 'cannot refresh' }

Yes, 1.3.0 works. Reports “100%” when running off mains power and “99%” after I'd pulled the plug for a minute or so.

Great :+1:


Deleting text in query filter prompts for table entity delete

Storage Explorer Version: 1.12.0
Build Number:  2020116.10
Platform/OS:  Windows 10
Architecture: x64
Regression From: Yes, it worked on previous versions but I can't remember which one.
Bug Description
In the table records visualization when I try to clean a Query filter expression with the key 'DELETE' (the keyboard key) pops a dialog asking me to confirm the deletion of the selected record. Accidentally I deleted a record of my production table because of this bug. If the default focus of deletion dialog started on the button 'NO' that could be avoided.
Steps to Reproduce

Open a table in your Storage Azure Explorer
Click on Query button
Choose the content of any fields that will appear
Select all the text and press the key 'DELETE' on your keyboard
The content will be deleted and a dialog will pops up

Expected Experience
I expect the key 'DELETE' when pressed on the filter of the query delete only the content of this field and keep my table records intact.
Actual Experience
Trying to clean a filter in the query window of the Azure Storage Explorer I accidentally deleted a record of my production table.

@craxal - can you try to fix this for 1.13.0?  Thanks.

For some reason, our keyup event listener was registered to the entire document instead of just the table. Easy fix; we just need to bind to the table element instead.

I assume the fix affects the Text Editor window as well as the Query Builder?

@dspeidel You are correct. With this fix, if you use the builder and check the text editor, the L will be there.

When can we expect "the next release"? I just lost data again.

We've been waiting for some essential updates to several components. We're hoping to get something out this month.


Add tests for scion-pki

scion-pki needs tests

Have a look at go/lib/xtest/binary/loader.go. This will allow you to build scion-pki from your test and then call it with various arguments.
As a first step, it would be useful to have end2end test such as:

Given a isd.ini, does scion-pki generate the correct TRC
Given a as.ini, does scion-pki generate the correct certificate(s)
Generally making sure that existing files do not get overwritten without -f

There are also several places where unit tests would make sense, e.g.,
*conf.As.validate
*conf.Trc.validate
*pkicmn.ProcessSelector

Closing due to age. scion-pki will change significantly for X.509, and the change will also include tests.


camera switch is not working after clicked video. Unresponsive Blue screen

The camera switch is not working after the record video. I just see an image with a blue screen and everything becomes unresponsive. Any way to fix this?
Steps:

Click video.
Dismiss VideoViewController.
Switch camera
Here you will see a blue screen.

Device :
iPhone X
iOS: 13.2.3
Demo video : https://drive.google.com/file/d/1RGRJNWr_NGIxpt9llaEKroe4OUsSqcA-/view?usp=sharing

Hello @hiteshborse12 ,
Did you find any solution to this problem ?

Quick fix to problem.
present VideoViewController and PhotoViewController with modalPresentationStyle set to fullScreen in ViewController.swift
It's related to view cycle methods as viewDidxxxx method no longer getting called when presenting.

Thanks @mbesnili , I will check.

Quick fix to problem.
present VideoViewController and PhotoViewController with modalPresentationStyle set to fullScreen in ViewController.swift
It's related to view cycle methods as viewDidxxxx method no longer getting called when presenting.

I did the same thing but it's not working.
can you please confirm?

Thanks @mbesnili , I will check.

hi,
did you find the solution?

@jainpalak95 Sorry but I don't have source code. I think i deinit all variables and re-initialized all instances..


Adding license file

@kingthorin @psiinon @thc202
Merging this PR as it is just an update in license file. Please let me now if any concerns.


[deploy] Support Maven Central's publisher API

Sonatype has added a new publisher API that will supersede OSSRH
https://central.sonatype.org/publish/publish-portal-api
https://central.sonatype.com/api-doc

🎉 This issue has been resolved in v1.12.0 (Release Notes)


Discogapic: Handle map return type

In Discovery doc schemas, the additionalProperties field is a dynamically-keyed map type. For now, assume the keys are Strings. There are pageable methods, e.g. compute.addresses.aggregatedList, that must page over this Map<String, ? extends ApiMessage> type.

Closing this PR and reopening https://github.com/googleapis/toolkit/pull/1900.


🐞Events with a duration get cut off by the end of a month

Check for existing bug reports before submitting.

[X] I searched for existing Bug Reports and found no similar reports.

Expected Behavior
When setting an event with a duration, it should appear in the list of events for any given day in between the start and end dates.
Current behaviour
The event stops appearing for any day after the current month ends.

Reproduction

Launch Obsidian Sandbox Vault via help menu
In settings, enable plugins and install Calendarium.
Enable Calendarium in settings, then create a Gregorian Calendar using the Quick setting and choosing the Gregorian Calendar preset. Set current date to 14/7/2024
Create a new note, titled "Test Note".  Add the property fc-category: Historical Events.
Add the properties fc-date: 14-07-2024 and fc-end: 14-08-2024.
Force the sandbox to reload via the View menu.
Check to see if there are any events on 1/8/2024 or afterwards.

Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[ ] macOS
[X] Windows

Obsidian Version Check
1.6.5
Plugin Version
1.3.3
Confirmation

[X] I have disabled all other plugins and the issue still persists.

Possible solution
No response

I am having the same problem. I could not for the life of me figure out what I was doing wrong. But it seems it might not have been me after all.
My calendar is a custom one with 28 days each month.
4 weeks each month.
Trying to add an event
fc-date: 2970-08-14
fc-end: 2970-09-14
OS
Windows
Obsidian Version
1.6.7
Plugin version
1.3.3

Same issue for me.


Error submitting or showing-json with -MERGING- directory left over in /var/db/pkg

Unable to open /var/db/pkg/sys-kernel/-MERGING-openvz-rhel6-stable-<IP_ADDRESS>.092.2/SLOT: No such file or directory
 at /usr/sbin/funtoo-report line 146.

These files/directories were left over from a merge that didn't finish. I was unaware that they were even there. Maybe we could just skip dirs with -MERGING- as they could be incomplete.

This should be resolved by commit 1e2ea08.

yes, this got fixed. Thank you
Can be closed.


Can you give an example for 8.8B or 6.4B, how to get it?

do you have some rules or recommendations for the "SkipLayerForward" node?

how to set the right parameters so that we can reproduce your setup of 8.8B or 6.4B.

you don't need to use that
that's experimental node
use FluxModCheckpointLoaderMini node to load 6.4B model
for 6.4B you need original flux-dev and universal_modulator_v2.1.safetensors

OK, I will try, Thanks a lot! good work! keep up...


Script RPCs

Adds 'compilescript' that passes a script string through the ParseScript API (effectively a script compiler).

Extends ParseScript to handle recursive pushes, using bracket notation. This is useful upstream for pushing pubkeys and such without having to manually craft the push opcode, but it is particularly useful for BC2 as it allows specification of embedded scripts:
[ subscript ] [ 0xproof ] OVER HASH256 CHECKMERKLEBRANCHVERIFY

Nice!
utACK


Company Page - When adding service to all company it should redirect to job task page

Describe the bug

when we adding service to all company it should redirect to job task page so we understand that all service are now added if there is more company it takes some time so we know that process is now completed of adding service

kisne bola ? kyu bola sab dalo
so pata chale

ok, testing complete hone pe sir ka view le lenge ispe
jab live hota tub

I dont think we need to redirect, because user ka flow break ho jayega
still @vinpahilwani / @sureshsirvi  please provide you views

Not Required


Implement a Visual Studio extension

This should simply wrap our LSP implementation.
Depends on:

[ ] #62

As part of this, we need to figure out whatever hacks are needed to use an SDK-style VSIX project file.
Relevant links:

https://developercommunity.visualstudio.com/t/vsix-project-with-sdk-style-csproj/1572145
https://stackoverflow.com/questions/58917250/is-it-possible-to-write-vs-extensions-using-the-sdk-style-projects
https://github.com/Microsoft/VSProjectSystem/issues/257

May or may not get to this in v1.0. Depends on whether the VS team gets around to fixing some of the silliness here, like the lack of official support for SDK-style projects.

We can at least start the process now: https://github.com/microsoft/VSExtensibility/blob/main/New_Extensibility_Model/Samples/DialogSample/DialogSample.csproj
Notably, we can't yet produce a VSIX (see e.g. microsoft/VSExtensibility#242), but that can come later.

Started working on this in the work/vs branch. It currently builds the extension assembly on all platforms, but only produces the VSIX on Windows.
Things to be done:

Figure out if we can make VSIX creation work on Linux/macOS.
Figure out how to publish the extension from the Cake script, similar to the VS Code extension.
Figure out how to make the development/debugging process as easy as possible in VS.

The packages are now available on NuGet, so some of the hacks in the branch can now be removed.
Still need to see if there's a way to create the VSIX on Linux/macOS.


Fix(#2769): Modify the annotation processor in 2.x to give a warning if a plugin builder attribute does not have a public setter.

The following commit modifies the annotation processor in 2.x to shell out a warning if the plugin builder attribute does not have a public setter.
A  @SuppressWarnings("log4j.public.setter") attribute can be used to ignore this compilation warning incase it is a known issue.
Checklist

Base your changes on 2.x branch if you are targeting Log4j 2; use main otherwise
./mvnw verify succeeds (if it fails due to code formatting issues reported by Spotless, simply run ./mvnw spotless:apply and retry)
Non-trivial changes contain an entry file in the src/changelog/.2.x.x directory
Tests for the changes are provided
Commits are signed (optional, but highly recommended)

Sounds good @ppkarwasz let me fix and rebase this! 🙂

Hi @ppkarwasz

If you haven't done it already, please sign the ASF ICLA.

Thanks for sharing this and done.
Also addressed all the comments, and rebased: d6e4898

If you haven't done it already, please sign the ASF ICLA.

Hi @ppkarwasz, thansk for sharing this and done:
I have rebased, addressed the comments, and signed my changes here: 024654e

@jaykataria1111,
I sent you an invitation to the Apache Slack to the address you use in your commits.

Hi @ppkarwasz the build was failing, hence I put the pr in draft 🥲. Thanks for approving it, but I will have to make a revision.
I am not sure I got the slack invitation, was the email<EMAIL_ADDRESS>

No, I used the one from you University/Alma Mater that you use for your commits.

Hi @ppkarwasz addressed all the comments here we should be good :)


Implement CMake integration + bootstrapping

This is an initial version that implements some kind of self-hosting of cmkr from within cmake. The idea is that doing:
mkdir build && cd build
cmake ..

Will automatically build cmkr and regenerate CMakeLists.txt whenever you run cmake or when you update cmake.toml.
I tested on Windows 10 with Visual Studio 2019 and WSL2 with Ubuntu 20.04 and it works super well!
The bootstrapper is optional and will only be used if you have cmkr.cmake next to CMakeLists.txt. Likely cmkr gen has to be updated to automatically generate this file (with an option), but that can be done easily.
Design considerations
I explicitly designed this integration in such a way that it will not search the user's PATH, but instead always rebuild the top-level cmkr from scratch (all sub projects will use the version built by the root project). This is done because you can then pin to a specific cmkr version if you want and otherwise it will always use the latest version. You could change this, but then you have the issue that a package manager's cmkr version can basically be anything and users will run into compatibility issues later.
To override the cmkr.exe (only really useful for development purposes) use -DCMKR_EXECUTABLE=/path/to/cmkr.
The main downside is that whatever compiler cmake selects without specifying it currently has to support std::filesystem (most linux distributions do not have this (you have to do CC=gcc-10 CXX=g++-10 cmake ..).
The fix would be to have cmkr depend on the lowest c++ standard and cmake version as humanly possible, to allow a seamless bootstrapping process. Another idea is to rewrite cmkr in cmake itself, but I understand why you wouldn't want to do this. I did a quick check and it should be quite easy to switch to https://github.com/gulrak/filesystem to go down to c++11.
Additionally cross compiling is probably not working at all, but I don't use it so I didn't care. LLVM supports this for llvm-tblgen and you can look at that if you really want cross-compilation support (you have to somehow make CMake select a valid host compiler for that). Likely if somebody does -DCMAKE_C_COMPILER=xxx -DCMAKE_CXX_COMPILER=yyy (eg not use the CC and CXX environment variables) it will work but it's not a supported scenario right now.
Another downside is that because you cannot include() a file that you are currently already in (cmake bug?) I temporarily generate CMakerLists.txt next to CMakeLists.txt, which is then included and some hacks are done to hide this from the user. I'm not entirely sure if this is safe, but because cmkr is generating the CMakeLists.txt in question it should be fine.
Previously I was using configure_file to generate a CMakeLists.txt in the CMAKE_CURRENT_BINARY_DIR, but this could interfere with subprojects that also use cmkr so I decided to generate a temporary file in the source directory instead.
A fix would be to instead generate CmkrGenerated.cmake, move all the bootstrapping code to CMakeLists.txt, which then does include(CMkrGenerated.cmake). That way you can overwrite that file before cmake 'sees' it and make it work without the terrible hacks. You could then even add CMkrGenerate.cmake to the .gitignore and have just a static CMakeLists.txt + cmake.toml checked out.

Hi
Wow. Thanks for the pull request. I can try to use one of the portable filesystem libraries. I can just use a union instead of std::variant since it's an internal implementation.

Glad to help and thanks for trying to make the CMake ecosystem more usable!


fix addrundata from removing platformexceptions

Pull Request Functional Test Report for #1978 / 4d45feab917939cb56981d9ba564a0812ed0b50d
No tests identified for validation.
Help


Upgrade Apache commons-compress to 1.21

Signed-off-by: Abbas Hussain<EMAIL_ADDRESS>Description
Upgrades version for org.apache.commons:commons-compress from 1.19 to 1.21
Issues Resolved
#1194
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

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

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

start gradle check


target_tensor argument from tf.keras.Model compile() method has dissapeared

I am not entirely sure whether this is a bug or not.
I have a piece of code which was relying in the target_tensors argument of the compile method. This code works fine in TF 2.1, however when updating to TF 2.2 it stopped working.
Looking in the documentation I've noticed that indeed, the argument target_tensors has dissapeared link however I haven't seen any mentions to this in the changelog.
Is this a bug or is it intentional? The error message just says
ValueError: target_tensors argument is not supported when executing eagerly
But looking at the source code https://github.com/tensorflow/tensorflow/blob/ae975ee7445b448abb40a8916336dc5646e8b46a/tensorflow/python/keras/engine/training.py#L2496 this argument is clearly not accepted anymore.
If it is intentional, is there a recommended workaround? I can think of several not-very-intrusive ways around it, but all them feel a bit hacky.

@scarlehoff,
In order to expedite the trouble-shooting process, could you please provide the complete code to reproduce the issue reported here. Thanks!

Hi @amahendrakar sadly I cannot provide the code, but I've written a MWE that works fine in TF 2.1 but not in TF 2.2 or 2.3

import tensorflow as tf
import numpy as np

x = np.random.rand(1, 10)
y = np.random.rand(4)

my_model = tf.keras.Sequential(layers=tf.keras.layers.Dense(4, input_shape=(10,) ))
my_model.compile(loss='mse', target_tensors=[y], run_eagerly=False)

my_model.fit(x)

In TF 2.1 works while in 2.2 I get the following error:
ValueError: target_tensors argument is not supported when executing eagerly.
Note that I am explicitly setting run_eagerly=False (even thought I believe that's the default).
I know I can use disable_eager_execution to change the behaviour of my whole codebase but that's not what I would like to do.
In short, I would like to know whether this is an intentional change (i.e., target_tensors is basically not supported any more, since it is not included in the documentation).

Was able to reproduce the issue with TF v2.2, TF v2.3.0-rc1 and TF-nightly. Facing an error stating ValueError: target_tensors argument is not supported when executing eagerly. on running the code.
However, not facing any issues while running with TF v2.1. Please find the attached gist. Thanks!

@scarlehoff Thanks for the issue!
Yes, target_tensors is no longer supported, as internally we shifted Keras away from using a global graph and towards using tf.function, and so the target-tensors concept was no longer feasible to support. Could you advise on a minimal example of what you'd like to use target tensors for, and I can advise on a workaround?

Hi @omalleyt12, one example is the one I wrote above. I've already written a workaround for my particular problem (that is as fast as it was with 2.1, the main reason I was using target_tensors is speed).
It would be really helpful to change the error message when using target_tensors as it is a red herring (my first thought was, oh, no, somehow everything is running in eager mode now!)
In any case, even if I've already solved my problem let me include a minimal version of it and its workaround because surely there is a better way. It could also be helpful for some people looking for a solution, even if happens to be suboptimal.
To first approximation would like to be able to do this:
import tensorflow as tf
import numpy as np

x = np.random.rand(1, 10)
y = np.random.rand(4)

my_model = tf.keras.Sequential(layers=tf.keras.layers.Dense(4, input_shape=(10,) ))
my_model.compile(loss='mse', target_tensors=[y], run_eagerly=False)

for _ in range(epochs):
    my_model.evaluate(x, y = None)

Since passing the y values for every step makes it become really slow.
for _ in range(epochs):
    my_model.evaluate(x, y = y)

My solution has been to use make_test_function to create a custom evaluate function which has already the y value compiled like
    def make_test_function(self):
        @tf.function
        def evaluate():
            ret = calculate_loss_of_model()
            return ret
        return evaluate

so I can indeed do my_model.evaluate(x, y = None) and recover the same performance I had when using TF 2.1.
Please let me know if you think there's a better way.

Looks good to me, the other thing is that usually model.evaluate should be called on all the data at once, it's a batch-processing API. Calling it for each batch will be slow bc the tf.function might retrace if it can't determine that the input data is of the same type, shape, dtype, etc


Problem with the way Caddy serves multiple certificates

1. What version of Caddy are you using (caddy -version)?
Caddy 0.11.0 (+22dfb14 Sun Nov 04 19:32:32 UTC 2018) (unofficial)
2. What are you trying to do?
I'm trying to fetch a certificate from my domain app01.domain.tld by using the following shell script.
#!/bin/bash
#
# usage: sh script.sh app01.domain.tld 443
#
REMHOST=$1
REMPORT=${2:-443}

echo |\
openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'

3. What is your entire Caddyfile?
(ecc-tls) {

   tls {
       dns gandiv5
       ciphers ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-WITH-CHACHA20-POLY1305
       key_type p256
       must_staple
    }
}

app01.domain.tld {

   import ecc-tls
}

app02.domain.tld {

   import ecc-tls
}

app03.domain.tld {

   import ecc-tls
}

4. How did you run Caddy (give the full command and describe the execution environment)?
caddy -agree -http2 -quic -log /opt/caddy/log -root /opt/caddy/webroot -conf /opt/caddy/Caddyfile

I'm running Caddy on Debian 9.5 (stretch).
5. Please paste any relevant HTTP request(s) here.
N/A
6. What did you expect to see?
The certificate of app01.domain.tld.
7. What did you see instead (give full error messages and/or log)?
The certificate of either app01, app02 or app03.domain.tld. The certificate changes each time you run the shell script.
8. How can someone who is starting from scratch reproduce the bug as minimally as possible?

Install Caddy.
Set up three or more subdomains on your own domain.
Copy my Caddyfile and adjust it as needed to fetch a certificate for each subdomain.
Use the provided shell script to fetch the certificate of one of the subdomains.

This issue does not affect sites which are not served with Caddy. To verify this, run the same shell script on such a domain and observe that the certificate in the output is the same every time you run it and that it is the correct one for the domain.
The practical relevance of this problem is that the remote control software MeshCentral cannot fetch the correct certificate from a subdomain that is served with Caddy because it receives a different certificate each time it tries to fetch it.

Related to #1303 👍

@tobya No, specifying :443 at the end of the domains sadly didn't fix my issue. The certificate still changes each time I run the shell script.
As for question 5, I'm not sure where I can get the HTTP request from. I'm using openssl to request the certificate from the domain (see shell script), so I'm not seeing the actual HTTP request in the terminal.

Can you specify how you are calling your shell script.  Can you use an actual call.

Just for future reference: The reason why the fetched certificate changed each time is because I wasn't telling OpenSSL to use SNI. The following shell script can be used to fetch the correct certificate each time:
#!/bin/bash
#
# usage: sh script.sh app01.domain.tld 443
#
REMHOST=$1
REMPORT=${2:-443}

echo |\
openssl s_client -servername ${REMHOST} -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'

@whalehub thanks for the update.  The underlying issue when you didnt specify SNI is fixed with  #2339.

@tobya I can confirm that OpenSSL now returns a TLS alert instead of a random certificate when attempting to fetch the certificate without using SNI.


Add response error constant to Redis managers so that exceptions can be caught sanely.

Currently one has to do:
try:
    redis.op(...)
except Exception:
    ...

for most redis operations because the class of exception raised depends on the kind of redis one has (sync, async, or fake).
Adding a RESPONSE_ERROR attribute to the redis manager would allow us to do:
try:
    redis.op(...)
except redis.RESPONSE_ERROR:
    ...

Much nicer.

@KaitCrawford Ready for review.

:+1: looks good to me


Spearman rank correlation coefficients

While we offer a plethora of very useful statistical information in the BasicStatistics postprocessor, a commonly-requested matrix is the Spearman rank correlation coefficients.
In order to remain competitive and extraordinarily useful to the statistical community, these Spearman coefficient would be helpful.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or improvement?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[x] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

Issue closure checklist is satisfied. Issue can be closed wit PR #1542


Re-add injection label on some samples (#659)

/test integration-servicemesh

/test integration-servicemesh


[PSA] Random distribution enums

"PRNG" as a choice for "RandomDistribution" doesn't mean anything to
me.  "Uniform" has a well-defined meaning in pseudo-random number
generation, and seems a better name to use, if that is what "PRNG" was
intended to mean.  I have commented before elsewhere that supporting
only uniform seems quite reasonable.  If a P4 program writer wants a
non-uniform distribution, there are multiple ways to achieve that,
such as doing arithmetic on the uniformly generated value to make the
results non-uniform, or also performing a table lookup using the
uniform random value as the search key, so the control plane can
create whatever distribution it wishes.

Proposal:

Remove the type 'RandomDistribution' enum definition, and remove argument 'dist' from extern Random's constructor method.  Specify that all Random externs return pseudo-randomly generated values that are as close to uniformly distributed in the range [min, max] (inclusive) as the implementation can achieve.  For example, if the implementation is limited to generating 32-bit values uniformly in the range [0, 2^32-1], and a program constructs a Random object with min=0 and max=(3/4)*(2^32), the best that implementation can probably achieve is to have 1/3 of the results be twice as likely to occur as the other 2/3, e.g. by returning (32-bit random value) % ((3/4) * (2^3))

Recommend that P4 programmers wishing to generate values non-uniformly do so by first generating a uniform random value, then doing arithmetic on the result and/or table lookup operations to create the desired non-uniform random value.  Consider giving some potentially useful examples of this.

We decided at the Sept 7 meeting that uniform is sufficient for PSA's needs (https://github.com/p4lang/p4-spec/wiki/PSA-Meeting-Minutes-Sep-7,-2017#random-number-generation--what-should-psa-support)

Fixed by #435.


⚠ Bofrost.fr has degraded performance

In 15d0c90, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1768 ms

Resolved: Bofrost.fr performance has improved in 5ba7921.


implement getsolvetime

So I'm starting to run some experiments using SCIP, and I'm going to begin complaining about the missing methods that I need to get things working. First one is getsolvetime.

I'm wondering now whether these kinds of methods need to be added to CSIP, which would require more releases and version updates every time.
CSIP also allows to access the internal SCIP* directly and with Julia's ccall we could then use all functions that don't require any special objects (such as SCIP_VAR* or SCIP_CONS*) currently hidden from the user.
Maybe this functionality could also be wrapped in a macro.


Cache unknown thread channel on THREAD_UPDATE

Cache unknown thread channel on THREAD_UPDATE
In the case where a thread is archived upon login, the thread channel is
not cached by the client. When the thread channel is unarchived, the
library simply outputs an unknown channel warning. When messages are
sent in the unarchived thread, the library won't have it cached and
will only output warnings.
This change makes it so the channel is cached when unarchived and
ThreadUpdated is invoked with an non specified "before" parameter. From
that point, the channel will be available for future events.

Looks good!

@quinchs Thanks for merging! Is there anyway we could get a 3.0.3 pushed that includes this fix please? It's pretty important for thread support

@louistio if you have not been able to find a link to it then here it is: https://discord.com/invite/dvSfUTet3K


Fix service and characteristics list link in README.md

Hi! Thank you for reading this pull request.
I found a broken link in README.md and I fix it.
Could you check it?
Thanks!

Nice


Question: How to Omit controller methods from the docs which doesn't exists

So basically i have created 4 controllers, with few methods in each.
not all controllers implements all methods.
But when i try to look at up in docs, it shows all methods, and for one controller it doesnt even shows its name.
So is there any way so instead of auto generating it, i can just tag to the controller to which i want the docs to be generated?
like a decorator?

you can use the ignore in the swagger config to ignore specific routes.

for one controller it doesnt even shows its name.
just check the docs. If something doesn't work as documented, report back.

So is there any way so instead of auto generating it
this is literally the whole purpose of this library 😂


Allow compile-time lists in fragment splice

I think we can solve https://github.com/elixir-ecto/ecto/issues/4375 this way. WDYT?
companion ecto sql pr: https://github.com/elixir-ecto/ecto_sql/pull/595

If it is a literal list, then why not use fragment? The splice is about when the list is unknown at compile-time, no?

 I got caught up in the specific example in the issue. I just documented the behaviour instead.


SVG logo

@rultor release, tag is 0.28.1

@rultor release, tag is 0.28.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.28.1

@yegor256 Oops, I failed. You can see the full log here (spent 57min)
Pubkey: RSA, ELG, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
++ pwd
++ pwd
+ gpg --verbose --keyring=/tmp/rultor-XAmw/.gpg/pubring.gpg --secret-keyring=/tmp/rultor-XAmw/.gpg/secring.gpg --decrypt repo/curl-appveyor.cfg.asc
Version: GnuPG v1
gpg: armor header:
gpg: public key is 9A839C3A
gpg: using subkey 9A839C3A instead of primary key 9AF0FA4C
gpg: using subkey 9A839C3A instead of primary key 9AF0FA4C
gpg: encrypted with 2048-bit RSA key, ID 9A839C3A, created 2014-08-17
      "Rultor.com<EMAIL_ADDRESS>gpg: AES256 encrypted data
gpg: original file name='curl-appveyor.cfg.enc'
+ gpg --no-tty --batch --verbose --decrypt --passphrase rultor-key:yegor256/takes curl-appveyor.cfg.enc
Version: GnuPG v1
gpg: armor header:
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: original file name='curl-appveyor.cfg'
gpg: WARNING: message was not integrity protected
+ rm -rf curl-appveyor.cfg.enc
+ rm -rf .gpg
+ '[' -z 0.28.1 ']'
+ [[ 0.28.1 =~ ^[a-zA-Z0-9\\.\\-]+$ ]]
+ echo 'tag name is valid: "0.28.1"'
tag name is valid: "0.28.1"
+ cd repo
++ git tag -l 0.28.1
+ '[' ']'
+ export BRANCH_NAME=__rultor
+ BRANCH_NAME=__rultor
++ git show-branch __rultor
++ wc -l
+ '[' 0 -gt 0 ']'
+ git checkout -b __rultor
Switched to a new branch '__rultor'
+ docker_when_possible
+ true
++ tail -n 1
++ uptime
++ sed 's/ /\n/g'
+ load=7.37
++ bc
++ echo 7.37 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 7.37, low enough to run a new Docker container'
load average is 7.37, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/rultor
+ docker pull yegor256/rultor
Using default tag: latest
Trying to pull repository docker.io/yegor256/rultor ... Repository docker.io/yegor256/rultor already being pulled by another client. Waiting.
'cid' file not found

@rultor release, tag is 0.28.1

@rultor hello

@rultor release, tag is 0.28.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor hello

@yegor256 Hi there! I understand a few simple commands: "merge", "deploy", etc. This page explains them briefly. Any questions or bug reports are welcome. Have fun :)

@rultor release, tag is 0.28.1

@yegor256 Oops, I failed. You can see the full log here (spent 2hr)
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
'cid' file not found
Trying to kill Docker container due to timeout...
Process #16508 quit
'pid' file not found

@rultor release, tag is 0.28.1

@rultor release, tag is 0.28.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.28.1

@yegor256 Done! FYI, the full log is here (took me 1hr)


alpn boot versions 171+172

No jetty release... yet.
Nothing obviously coming from http://www.oracle.com/technetwork/java/javase/8all-relnotes-2226344.html
Should fix travis build for now

Versions are ultimately correct https://github.com/jetty-project/jetty-alpn/blob/master/docs/version_mapping.properties


Add a Groovy build.gradle example

@kleini commented on Thu Mar 15 2018
I would to stay at first with Groovy DSL in build.gradle files. Can you provide an example how to use your plugin in a build.gradle file?

@mkobit commented on Thu Mar 15 2018
I think this issue is better suited for https://github.com/mkobit/jenkins-pipeline-shared-library-example - is it alright if I migrate it there?

@mkobit commented on Thu Mar 15 2018
A few notes that may be helpful

https://github.com/mkobit/jenkins-pipeline-shared-libraries-gradle-plugin/tree/01762ba70b05b950dff251dcd99811ed1895bdb0/src/pipelineTestResources/projects has all of the different types of samples that the test suite runs against. Some of those may help for what you are looking for
https://github.com/mkobit/jenkins-pipeline-shared-libraries-gradle-plugin/blob/01762ba70b05b950dff251dcd99811ed1895bdb0/src/pipelineTestResources/projects/gradle-configuration-groovy/build.gradle is a close approximation of how to configure the build.gradle, but I can add a more specific setup to the other repository

@kleini commented on Thu Mar 15 2018
You're right. Migrate it.
Thanks for your hints. I will try to get it working for me and then contribute to your examples.

@kleini commented on Thu Mar 15 2018
I already got it working. Why did my first try to reference your plugin from my build.gradle file fail? No idea. I thought it was because it was written in Kotlin. The fault sits always in front of the computer!

I already got it working. Why did my first try to reference your plugin from my build.gradle file fail?

One possibility is the Gradle version, as the latest release requires Gradle 4.6. Hard to say without a build scan/stacktrace.
I'll leave this issue open for now.
Note, it may be useful to have examples of both a Groovy or Kotlin build script.

In my case Gradle was version 4.6 and gradle tasks just showed as if the build.gradle file is completely empty. It did not notice the plugin section and the referenced plugin at all. And not error message. Hard to say, what may have caused this.


Shield not displayed if repository contains "-"

I have a repository which contains a - in the path. Unfortunately this prevents shields from being displayed on Github.
Example
Eg. following markdown from shields.io is not shown:
[![GitHub issues](https://img.shields.io/github/issues/offa/scope-guard.svg)](https://github.com/offa/scope-guard/issues)

Same happens for release or Travis shield. Replacing - with -- has no effect. So this wont work either:
[![GitHub release](https://img.shields.io/github/release/offa/scope--guard.svg)](https://github.com/offa/scope-guard/releases)

Is there a way to get this working?

This is what I'm seeing:
https://img.shields.io/github/issues/offa/scope-guard.svg

So I suspect this is an intermittent problem with the Github badge, due to Shields not having enough tokens for our API usage. Or possibly it could be due to #1119.
You can contribute some of your API quota to Shields, or ask other people interested in your project to do the same: https://img.shields.io/github-auth
It's also possible it was recently fixed and the busted image is cached on your machine, though usually with errors like this you'll see the wrong badge, not no badge, and if this is the first time you've tried to make the badge, it wouldn't be in your cache.

If I open the url in the Browser I can see it too. However from Markdown it's not shown. The Readme should show 4 Shields, but I see only 2. I checked on another system and asked someone, both times all 4 are shown. Seem related to my system. I'll clean my browser and test again.
So from a general perspective, this should work (And I don't need the -- for build / release)?

Yea, this markdown is working fine.
[![GitHub issues](https://img.shields.io/github/issues/offa/scope-guard.svg)](https://github.com/offa/scope-guard/issues)

[![GitHub release](https://img.shields.io/github/release/offa/scope-guard.svg)](https://github.com/offa/scope-guard/releases)

I'm seeing four badges in your readme too.

Finally figured out what caused the problem: The UBlock plugin filtered those two. But only on this system (others with same settings work fine) and only on this project, all other projects, links and systems aren't affected. This also explains why it stopped working suddenly.
@paulmelnikow Thanks for having the time (and giving the final hint).


Use alt way to set classifier for opendal dep

IDEs have issues with kr.motd.maven plugin which was setting the variable to be used as classifier for opendal. So instead use auto-activated maven profiles based on os.name/arch to set correctly a os.classifier property and use it for opendal.

retest this please


Z Order

Hello guys,
I have a question about z order, how do i move one element behind another and vice versa?
I looked ad #121 but when i implemented that code, my element would dispersers if i tried any of those two methods.
Any ideas?
Thanks, Ivan.

Try adding it higher in the DOM, so maybe you can use before/insertBefore/after/insertAfter, or a simple add/append will readd the element again so it would appear 'higher'. Post a basic example on a jsfiddle if still not working.

Try adding it higher in the DOM, so maybe you can use before/insertBefore/after/insertAfter, or a simple add/append will readd the element again so it would appear 'higher'. Post a basic example on a jsfiddle if still not working.

Ok i have this demo http://plnkr.co/edit/ZOzGnYUqcPgIoMDnWfgM?p=preview
And i would like to be able to switch two layers(hexagons and the actual map), or when i move hexagons that hexagon to be always on top, but when i use toFront and toBack the element just dispersers.
Any ideas?

What I'm guessing there, is that you are adding it outside of the svg thats styling it etc. So rather than add it to the paper, you probably want to add it to layer1 for example, so you could do something like
elproto.toFront = function () {
Snap('#layer1').add( this );
};
or just store a select of #layer1 and use that as a reference is possibly better.

@ibrierley Thanks man, that did the trick.


Something strange with npm versions

https://www.npmjs.com/package/jasmine-marbles has version 0.6.0, but I see only 0.5.0 in this repo.
I noticed this because my test stopped working when updated to 0.6.0. For some reason toHaveSubscriptions is broken. I will create other issue for that, as 0.5.0 has same.
Any idea what happened wit versions?

v0.6.0 is tagged in this repo


System.NullReferenceException

Thanks for the project. I use the keyboard in a wpf project with Main Window structure and Frame-Page navigation. It happens to me that if inside my Page, through a data control, I change the border color to the textbox via code, when I open the keyboard and click a button I get an error here:
if (_windowHost! = Null) throw new InvalidOperationException (); (System.InvalidOperationException)
If I don't change the border of the text box it works fine. What can it depend on?

Solved. I put in the textbox on the touchdown event the opening of the keyboard removing in App.xaml startup event.


Deprecation warning:

This line:
https://github.com/cvxpy/cvxpy/blob/0eb50cdfdf1a0590bbb4b6efd8713dbeb52d6c00/cvxpy/reductions/solvers/conic_solvers/scipy_conif.py#L101
raises the following warning:
cvxpy\reductions\solvers\conic_solvers\scipy_conif.py:101: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.

Merged with issue 1654


Rich Text Format to About Page

Is there an easy way to add rich text format to the about page content in the general section of the CMS?

I agree this would be a useful feature for me. For consistency it would make sense if the formatting worked the same as with episode notes, with markdown.


"No diskover indices found in Elasticsearch" when testing via Docker

After running $ docker-compose build && docker-compose up per the readme, and navigating to localhost:8080, the app has a message that says  No diskover indices found in Elasticsearch. Please run a crawl and come back. and needs me to specify Index and Index 2 before I can proceed. Elasticsearch and Redis appear to have been deployed successfully via Docker; do I need to POST to Elasticsearch directly at localhost:9200 to get it to do something, or should I be editing config inside the Docker container? It's not clear from the documentation.

Doing a simple curl -X PUT "localhost:9200/diskover" is sufficient to get diskover-web to recognize the index and allow me to select a value and click through to the next page, but it throws a 400, presumably because the index is totally empty. Am I expected to clone and run diskover itself after using docker to install discover-web and the ES and Redis dependencies?
I tried doing that by running $ python diskover_worker_bot.py and then running an example command like python diskover.py -d /home/axfelix/Dropbox/Documents -i diskover-test -a -O but that caused the worker bot to die like this:
Traceback (most recent call last):
  File "diskover_worker_bot.py", line 47, in <module>
    w.work()
  File "/usr/lib/python3.7/site-packages/rq/worker.py", line 493, in work
    self.execute_job(job, queue)
  File "/usr/lib/python3.7/site-packages/rq/worker.py", line 911, in execute_job
    return self.perform_job(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/rq/worker.py", line 781, in perform_job
    self.prepare_job_execution(job)
  File "/usr/lib/python3.7/site-packages/rq/worker.py", line 706, in prepare_job_execution
    registry.add(job, timeout, pipeline=pipeline)
  File "/usr/lib/python3.7/site-packages/rq/registry.py", line 47, in add
    return pipeline.zadd(self.key, score, job.id)
  File "/usr/lib/python3.7/site-packages/redis/client.py", line 2263, in zadd
    for pair in iteritems(mapping):
  File "/usr/lib/python3.7/site-packages/redis/_compat.py", line 123, in iteritems
    return iter(x.items())
AttributeError: 'int' object has no attribute 'items'

I guess that might be an issue with system Python being 3.7 as you aren't supporting it yet? But it's a little awkward to deploy everything else via Docker and then encounter this issue running diskover itself when installed manually...

Seems to be the same for Python 3.6, and I can't seem to wipe the queue now either -- whenever I start a new worker it dies on the same queued task the same way.

Was able to clear that with $ redis-cli flushall but still getting the AttributeError whenever I try to index anything. This might be an issue with diskover and not diskover-web at this point unless I've seriously misunderstood deployment.

Please make sure you have the versions of python, redis, rq, elasticsearch in the readme of diskover. You could also try with the linuxserver.io docker hub image which might make it easier to get it running.

Same issue!
Traceback (most recent call last):
File "diskover_worker_bot.py", line 47, in
w.work()
File "/home/vagrant/.local/lib/python3.5/site-packages/rq/worker.py", line 493, in work
self.execute_job(job, queue)
File "/home/vagrant/.local/lib/python3.5/site-packages/rq/worker.py", line 911, in execute_job
return self.perform_job(*args, **kwargs)
File "/home/vagrant/.local/lib/python3.5/site-packages/rq/worker.py", line 781, in perform_job
self.prepare_job_execution(job)
File "/home/vagrant/.local/lib/python3.5/site-packages/rq/worker.py", line 706, in prepare_job_execution
registry.add(job, timeout, pipeline=pipeline)
File "/home/vagrant/.local/lib/python3.5/site-packages/rq/registry.py", line 47, in add
return pipeline.zadd(self.key, score, job.id)
File "/home/vagrant/.local/lib/python3.5/site-packages/redis/client.py", line 2263, in zadd
for pair in iteritems(mapping):
File "/home/vagrant/.local/lib/python3.5/site-packages/redis/_compat.py", line 123, in iteritems
return iter(x.items())
AttributeError: 'int' object has no attribute 'items'
python version 3.5.2

which version of rq and redis python modules are installed?

seems like this is a bug with redis python module 3.0.1 (latest) and latest rq 0.12.0, please use redis python module 2.10.6.

Thanks, Chris. It works now!


build(examples): Add example for the powertools-cloudformation module

Issue #, if available: https://github.com/awslabs/aws-lambda-powertools-java/issues/1081
Description of changes:
Adding a code example for the powertools-cloudformation module to demonstrate the functionality and share a more complete example of a CloudFormation custom resource
Checklist

[ ] Meet tenets criteria
[ ] Update tests
[ ] Update docs
[ ] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f8731bf). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #1089   +/-   ##
=========================================
  Coverage          ?   71.77%
  Complexity        ?      535
=========================================
  Files             ?       70
  Lines             ?     2239
  Branches          ?      237
=========================================
  Hits              ?     1607
  Misses            ?      519
  Partials          ?      113

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Change event handler method name to _onEventName

Closer in line with conventions in recent documentation examples

Thank you for PR! I will get it merged now.


Add option to only download one song at a time.

Problem
Downloading big playlists alsways gets throttled to 40kb after a minute or so.
Solution
I think reducing the parralel downloads can work around this issue.
I would like to specify the number of parallel downloads.
Or is this an entirely other issue ?
Best

We now use asynchronous downloads so your really only processing one song at a time. The speed up is because the waiting time on I/O is utilised.
The cause of throttling is probably something else. Chances are it's not spotDL related as no other user has reported this so far but we don't know for sure yet.
Could you open a bug report for this? We'll look into it as soon as possible.
Also we tone down the configuration so that spotDL is easy to use - surfing the number of downloads might not be coming soon.

my apology, I was able to find the culprit.
I was executing this in my smb'd NAS.
Locally it works like it a charm!


Proposal: implementing kafka high level consumer lag reports in pinot controller

Currently, There is no good way to monitor if pinot realtime server consumer is catching up with the input kafka topic latest data. We currently use the ingestion rates reported by pinot realtime server. However, it is fairly easy for this monitoring to generate false positive or false negative. A better way to monitor such behavior is to monitor the lag between pinot realtime server last committed offset and the latest offset of that kafka topic.
To allow Pinot users to set up this lag monitor easily, we can add a new lag monitoring & reporting thread in Pinot Controller. We will use the kafka topic name, zookeeper, groupid and assigned partition id to fetch the latest offset of that kafka partition and offset of high-level kafka consumer. We will then emit the lag to Metrics module of pinot controller. We should also make this monitoring component pluggable so users using different versions of Kafka can use the appropriate library to implement their own offset report logic.
Other alternatives:

pinot-server report lag within server instance:
Overall we think it is dangerous to let a service component to do self health check. If there are some issues with pinot-server that cause consumption to stop, there is a high chance that the same issues impact the self health check components on pinot-server.

monitoring with external kafka offset checking services (Burrow):
Because pinot uses a unique consumer group id everytime we add a new table, it is tricky to let external service to discover pinot consumer group id correctly. We could also delete table/server which will cause old consumer group offset to increase and introduce false positive.

Let us know what do you think about this proposal. We are planning to work on this feature in next months to fill in the gap of our pinot monitoring.

how can we extend this to low level consumer as well.

@kishoreg pinot low level consumer already has a reported metric for the lag. SimpleConsumer provides the highest offset availble, and the difference between the highest consumed offset and the highest offset is reported as the consumer lag on a per topic-partiton basis.

@jamesyfshao the 'offset' you talk about is a vector in the HighLevel stream consumer -- offset in each partition. In theory, it is possible that a Pinot HL consumer is starved trying to consume data from a particular consumer. It is certainly possible that some partitions lag a lot more than others, so I am not sure what a 'lag' metric here will be.  Let us assume it is a function of lag of N partitions.
You will need to monitor this on a per pinot consumer basis. You want to know how much a particular consumer is lagging, I suppose
So, there should be no need of a separate thread in HLC. If you can get the current available offset (and the committed offset) just after the commit in the High level kafka consumer, you should be able to update the metric.

Correct, and that was my proposal to @jamesyfshao  as well (to evaluate and emit the metric at the time we commit, on the server rather than controller).
I am just not sure what the evaluated metric would be, though.
Since we are moving in the direction of a generic stream, I would want this evaluation to be done inside the specific consumer code.
@jamesyfshao  can you elaborate further on how you are planning to compute the metric?
Another idea (like you mentioned) is to monitor using external Kafka monitoring services. That worked well for us, and you may want to look into  it.
Also, you should strongly consider moving to LLC.

@mcvsubbu @kishoreg  the lag I referred above is the difference between the latest offset(high-water mark) of a particular kafka input topic partition and the consumer last committed offset for that topic. There are multiple scenarios that lag might increase:

kafka input topic has surge in traffic and pinot consumer is not able to catch up, causing the lag to increase
misconfig/bugs in a particular pinot server caused it to slow down or stuck and not able to catch up with kafka input topic
bug in kafka consumers that cause reset offset to an earlier offset.

If we have a pinot component that can help us to calculate the lag between the latest available offset for each partition and our consumer last committed offset and emit this information to pinot Metrics, pinot users would be able to set up alerts based on this "lag" number, either based on per-partition lag value or aggregated lag value. The scenarios we mentioned above would be captured easily.
I would say putting such calculation in kafka consumer within pinot server would also be a great way to do it. The only problem is that it will not be able to catch scenario No.2 I listed above. However, it is a really uncommon issue and we could ignore it for now.
For using external Kafka monitoring service, it would be great if it is already available within users' infrastructure but it is an external dependency that we will require pinot users to set up and operate. I feel like it would be better if we could provide users means to achieve the same goal without setting up such external dependency. Also adding/removing consumer group to monitor (for HLC at least) when we add/remove pinot table is tricky to automated with external monitor services (with the reason I mentioned above).
If it sounds good, we will spend more time investigating implementing such metrics calculation logics within kafka consumer

Agree with you that depending on external kafka monitoring service is not ideal.
@jamesyfshao can we compute the offset in the controller without contacting individual servers?
Irrespective of the solution we pick, we definitely need to generalize this to support various kafka versions (including hlc and llc), and other streaming sources.

@jamesyfshao can we compute the offset in the controller without contacting individual servers?

It is possible to compute offset in controller (at least for hlc consumer) as pinot store the information about consumer group id, partition under property store zk node.
Example zknode content about this info:
$ zkcli get <parent zk node>/PROPERTYSTORE/CONFIGS/INSTANCE/<server_node>

('{\n  "id":"<server node>"\n  ,"simpleFields":{\n  }\n  ,"listFields":{\n  }\n  ,"mapFields":{\n    "KAFKA_HLC_GROUP_MAP":{\n      "<realtime table name>":"<consumer group id>"\n      ....    }\n    ,"KAFKA_HLC_PARTITION_MAP":{\n      "<realtime table name>":"<partition id>"\n          }\n  }\n}', ZnodeStat(...))

table config about zookeeper and topic name can be retrieved in zookeeper node  <parent node>/PROPERTYSTORE/CONFIGS/TABLE/<table name>.
Pinot controller should have access to those info. for example, class PinotRealtimeSegmentManager has access to groupid/partition-id through _pinotHelixResourceManager.getInstanceZKMetadata(instanceId) and table info through HelixInstanceDataManager. But I have to admit it is a fairly early investigation and we have not looked into llc cases and other streaming solutions. We will definitely do more investigation once we have more ideas about which direction we want to focus on

Pinot controller only has info on the group ID.
It does not have info on offset up to which each partition has consumed. Neither does it have info on what the offset is in Kafka. Since we use Kafka's commit code, this info is stored by Kafka in whatever format they seem fit in some location unknown to Pinot. I would not want Pinot to be dependent on this format or location (which may change across Kafka versions, we don't know).
It seems to me that any which way you try to get these two pieces of information, it will be a re-write of the tools that Kafka may provide, to compute offset lag. Have you looked at any Kafka tools, and tried to use them?
Like I mentioned before, LLC already has the problem solved, so have you considered moving to LLC?

will reinvestigate llc and see if how we can utilize it to help us to get this information, thanks for all suggestions!


Linguee

Ref: Conversation #4296 / Gérard

Ref: Conversation #4881 / Stephan

Ref: Conversation #6008 / Tobias Benjamin


Support Angular 15

Is it possible to upgrade the dependencies to support Angular 15?

Even without official support of Angular 15, it would be good to set the peer dependencies version to something greater than to include upcoming Angular version.
"peerDependencies": {
  "@angular/common": ">=14.0.0",
  "@angular/core": ">=14.0.0"
},

This would avoid dependency conflicts during "npm install" and should be a quick fix.

Do we have any update on this?