Conslidated wrapping design

Request for comment
This is stub of a design to be completed so that the implementation actually builds what we need for wrapping.
Problem
The requirements of wrapping / truncation / boundaries / trimming and how they should interact with text, lines, and widgets are unclear. This Issue aims to address that.
We have a reflow module that we've bolted on some features, and are trying to add / refactor away from. That's turning out to be difficult because we don't have a clear destination in mind.
Requirements

Should be minimally breaking existing code. Code that uses the current methods should receive a deprecated warning for some amount of versions (at least 1 - and probably more) make it easy for developers to upgrade their code.
We should support setting lines to wrap
We should support setting Text to wrap
We should support setting widgets that contain text / lines to wrap
We should be able to configure the boundary of where to wrap (e.g. Character / Word)
We should be able to just wrap visible lines (e.g. scrolled paragraphs should be reasonably fast)
We should be able to trim leading space from lines that are wrapped
We should be able to indent lines that are wrapped by a certain amount
The complexity of the implementation should approach the complexity of the algorithm (right now the code to algorithm size ratio is about 10:1)
Scrolling should be possible without having to wrap every line of a Text

Questions

Search existing issues / PRs for requirements / concrete needs from users.

Solution

Each item that supports wrapping (e.g. Line, Text, Paragraph, ListItem, Cell, etc.) will have a wrap field that takes a Wrap struct with configuration. (this is the current state)
The wrap struct will be defined in the text module
Existing methods that take the current wrap will transition to taking an Intotext::wrap
Wrapping shall occur in the render call and be the combination of the line / text / widget (in precedence order).

Please continue adding to this.
Links

https://github.com/tui-rs-revival/ratatui/issues/242
https://github.com/tui-rs-revival/ratatui/issues/201
https://github.com/tui-rs-revival/ratatui/issues/284
https://github.com/tui-rs-revival/ratatui/pull/259
https://github.com/tui-rs-revival/ratatui/pull/290
https://github.com/tui-rs-revival/ratatui/pull/33

Pinging @lthoerner @TimerErTim @topaxi

On point 8. We should be able to indent lines that are wrapped by a certain amount. I'd say we (or at least I) would want it to be by a given string/prefix. Amount implies to me it might be a number of spaces, but I have a case where I'd want a specific string as the indentation.
Example:
2023-07-02 | This is my wrapping
             | Text.

So the indentation would be "             | ". As the consumer of the API I'd be able to format the string repetition pretty easily.

I am interested in this refactor, maybe my use-case can help.
I am building a pager (think file-viewer) like less, but with more features and while remaining responsive even on files larger than RAM and with minimal resource usage. To that end I am actually only handing a processed-string-slice to ratatui's Paragraph, having discarded GB of data before and after it myself. This works pretty well because newlines are a solid delimiter for logs. I only use Paragraph to word-wrap and display some chunk of text I've already selected, and I handle scrolling on my end due to complicated requirements.
My problem is that I have no way of knowing how much ratatui actually decided to show on screen, or where it wrapped. This is a problem because I've implemented my own scrolling, so if my madeup wrapping (simple/fast space-splitting) doesn't match ratatui's, then sometimes scrolling down scrolls a visual line (we matched) and sometimes it scrolls a file-line/pre-wrapping line (we didn't match). Further, I'm not sure how to replace the wrapping with my own code, which I'd like to do just because I think the algo that's there is too complicated. I don't imagine user-pluggable wrapping is something really desired at this point, just better tools already there, like a simple space-splitting algo.

My problem is that I have no way of knowing how much ratatui actually decided to show on screen, or where it wrapped.

One approach of solving that is to track both the first (real) line scrolled plus the offset of the line, so the rendering of lines becomes:
lines.iter()
  .skip(index)
  .flat_map(|line| line.wrap(width etc))
  .skip(offset)
  .take(height)
  .enumerate()
  .foreach(|(line, y)| buffer.set_line(line, area.x, area.y + y, line.style());

By using a stateful widget rendering, then we can update the scroll position for situations like where we want to scroll up from (index = 100, offset = 0) -> (index = 100, offset = -1) which will be the same as (index = 99, offset = number_of_wrapped_lines_in_line_99_which_only_render_knows)

Existing methods that take the current wrap will transition to taking an Intotext::wrap

This will not really work because the trim field is on Paragraph, not Wrap.

Existing methods that take the current wrap will transition to taking an Intotext::wrap

This will not really work because the trim field is on Paragraph, not Wrap.

Last time I checked trim is a field of Wrap. Has there be any changes to that?

Last time I checked trim is a field of Wrap. Has there be any changes to that?

Yeah, the two versions are incompatible because it has been changed from a field of Wrap to a field of Paragraph.

That change to trim is on the PR for wrapping, so It hasn't changed yet. I'm not sure it should be changed given the rationale for it existing (https://github.com/fdehau/tui-rs/pull/327). Briefly stated, the trim option was introduced in order to make it possible to maintain the indentation of lines that will be wrapped to support wrapping e.g.:
First line
  - no wrap
    - A long line that wraps

to:
First line
  - no wrap
    - A long line
that wraps

instead of:
First line
  - no wrap
- A long line
that wraps

i.e. it should only effect lines that are wrapped. Not those that don't. I'd suggest that there's a better way of specifying that behavior that would incorporate the indentation as some enum that could have values like: WrapToFirstColumn, WrapToFirstNonWhitespaceColumn, WrapWithPrefix("     |"), WrapWithFunction(fn(Line)->Span) etc.

Updated with significant amount more links, and better requirements.

There's an approach that is suggested in https://docs.rs/textwrap/0.16.0/textwrap/wrap_algorithms/fn.wrap_first_fit.html and https://docs.rs/textwrap/0.16.0/textwrap/core/index.html that would be very useful (and would remove most of the actual wrapping code from Ratatui).
At a high level, we would need to:

Split the Spans into Fragments (which are the smallest pieces of wrappable stuff - e.g. a word / grapheme)
Consider whether to support hyphenation (fine not to start)
Call wrap_first_fit or wrap_optimal_fit on the spans for the line
Render the lines

WrapToFirstColumn, WrapToFirstNonWhitespaceColumn, WrapWithPrefix(" |"), WrapWithFunction(fn(Line)->Span)

While I agree with the sentiment behind this, I think it may be too complicated. I like the Wrap::CharBoundary and Wrap::WordBoundary with the trim field. If anything, we should make trim an enum with options like Trim::PreseveIndentation, Trim::DiscardIndentation, and Trim::CustomIndentation(String).

an enum with options like Trim::PreseveIndentation, Trim::DiscardIndentation, and Trim::CustomIndentation(String).

This is definitely better.
@lthoerner do you have any insight into the requirements that are necessary for character based wrapping - perhaps a list of functional requirements like above?. I'd imagine that being able to add indent text would be handy for the terminal like:
~> command "some argument in quotes that w
quote> raps to the next line, by prependin
quote> g the prefix 'quote>'"

@lthoerner do you have any insight into the requirements that are necessary for character based wrapping - perhaps a list of functional requirements like above?. I'd imagine that being able to add indent text would be handy for the terminal like:

A few things:

The new wrapping implementation must be built to support both Widget and StatefulWidget. At this time, it is impossible to use Ratatui for text editors without the concession that editing large files is basically unsupported (that is to say, immediate rendering breaks down once thousands of lines must be wrapped on each frame update).
I think the approach we took with Line where the previous implementation was deprecated and will be removed in a release or two is the right one. I don't think we should leave LineComposer in for more than another two versions if at all possible.
LineComposer (or, at least, the current implementation of soft-wrapping) had a sort of unexpected behavior where, if I remember correctly, either a space was trimmed unexpectedly or an extra space was inserted. I think it would be advisable to provide release notes on this just in case people depend on this behavior. Additionally, keep in mind that the current test cases are built to match this behavior and will need to be changed.
I like the idea of using a crate for this but we should investigate how well textwrap supports non-single-width graphemes, as this seems to be somewhat of a priority for Ratatui.

I can't really speak to what implementation I would prefer, but my approach was to implement a trait on text types that allowed them to be wrapped with a method.

Thanks for these

The new wrapping implementation must be built to support both Widget and StatefulWidget. At this time, it is impossible to use Ratatui for text editors without the concession that editing large files is basically unsupported (that is to say, immediate rendering breaks down once thousands of lines must be wrapped on each frame update).

I think this is probably covered by:

FR 7. Operate on a subset of lines (e.g. visible scrolled lines).
NFR 2. Reasonably performant (60fps = 16ms -> should be much less than this)
If the implementation of this is at the Line / Text level, then I think what you're calling out here is that there needs to be a way to ensure that the scroll position is well handled by the wrapping algorithm

I think the approach we took with Line where the previous implementation was deprecated and will be removed in a release or two is the right one. I don't think we should leave LineComposer in for more than another two versions if at all possible.

That approach is definitely the way for public APIs. If we have tests that cover the same behavior, and can show that it's unchanged by the new implementation (or that changes are reasonable fixes for bugs) do you think we can go faster in removing that code?

LineComposer (or, at least, the current implementation of soft-wrapping) had a sort of unexpected behavior where, if I remember correctly, either a space was trimmed unexpectedly or an extra space was inserted. I think it would be advisable to provide release notes on this just in case people depend on this behavior. Additionally, keep in mind that the current test cases are built to match this behavior and will need to be changed.

Definitely - The way to go with this is to ensure that the tests adequately cover the edge cases of the reflow module by testing from the perspective of paragraph rather than testing the internals. Doing this prior to making any changes to rip out Line Composer is important. That way any change in behavior shows a simultaneous change in a test rather than the implementation being inseparable from the testing.

I like the idea of using a crate for this but we should investigate how well textwrap supports non-single-width graphemes, as this seems to be somewhat of a priority for Ratatui.

Textwrap just cares about the width of the items. The example it uses to highlight that text isn't constricting is to model tasks on a building site which have time to complete, between tasks, and to cleanup at the end of day.

I can't really speak to what implementation I would prefer, but my approach was to implement a trait on text types that allowed them to be wrapped with a method.

At a high level that sounds good - can you remind me how the interface would look like for that?
For character boundary wrapping, I think there's situations where you want to keep the whitespace always right? Are there any edge cases that you're aware of there?

I think this is probably covered by:
FR 7. Operate on a subset of lines (e.g. visible scrolled lines).
NFR 2. Reasonably performant (60fps = 16ms -> should be much less than this)

Not entirely. FR 7 as written will end up with potentially unexpected or unpredictable behavior when parts of the text are updated, particularly ones that aren't on screen. It would be a good idea to look at how existing editors do this.

At a high level that sounds good - can you remind me how the interface would look like for that?

All I will say is that I ran into issues with implementing it as a trait where different implementations needed different arguments.

I think this is probably covered by:
FR 7. Operate on a subset of lines (e.g. visible scrolled lines).
NFR 2. Reasonably performant (60fps = 16ms -> should be much less than this)

Not entirely. FR 7 as written will end up with potentially unexpected or unpredictable behavior when parts of the text are updated, particularly ones that aren't on screen. It would be a good idea to look at how existing editors do this.

Got it. That sounds like something that has a part of it out of scope for the wrapping implementation, but the part that matters for wrapping is the interaction with scrolling, so I think you're probably saying that we need to add something like:

Widgets that implement both scrolling and wrapping should have some means of ensuring that that the UI presents a stable view.

Does that sound about right?

Inspired by https://discord.com/channels/1070692720437383208/1070692720437383211/1200159591107932272 an extra  requirement to consider for this is to cache the wrapped lines to avoid duplicating work on each frame.

I didn't read the entire discussion so sorry if this has been mentioned before.
There are two characters(at least that's what I am aware of) that needs to be handled carefully: NBSP(Non breaking white space, U+00A0) and ZWSP(Zero width white space, U+200B, https://unicode-explorer.com/c/200B).
My use case is wrapping help text that shows the key binding:
[NBSP]Ctrl+S[NBSP][NBSP]Switch[NBSP]Pane[NBSP]
[ZWSP]
[NBSP]↑/↓/←/→/Pg{Up,Dn}[NBSP][NBSP]Navigate[NBSP]
[ZWSP]
[NBSP]Ctrl+<-/->[NBSP][NBSP]Scroll<->[NBSP]
[ZWSP]
[NBSP]G/S[NBSP][NBSP]Grow/Shrink[NBSP]Pane[NBSP]
[ZWSP]
[NBSP]Alt+L[NBSP][NBSP]Layout[NBSP]
...

I don't want a key binding be break down in the middle like this:

And in the mean while I inserted ZWSP to indicate a possible text wrapping point.
It seems for now(ratatui 0.26.2) the wrapping feature of Paragraph respect neither of the two special characters.

I think my use case is fairly common so I would appreciate it if anyone have existing workaround for such use cases.
And note that ZWSP is not a white space character recognized by char::is_whitespace, char::is_whitespace('\u{200b}') returns false.

And note that ZWSP is not a white space character recognized by char::is_whitespace, char::is_whitespace('\u{200b}') returns false.

Well, it seems that this is the only reason that blocks ZWSP from being supported. I made a PR to fix it: #1074

Why do ratatui::widgets::Paragraph::line_count and line_width return usizes when line_count takes a u16?

Why do ratatui::widgets::Paragraph::line_count and line_width return usizes when line_count takes a u16?

These were added much later than most other parts of ratatui. usize is generally correct here. There's a likely a few places where we use u16 where it should be usize. Changing these hasn't been a huge priority though, as most terminals don't have more than 65536 lines

They also don't take into account paragraphs where self.block is Some

Can you raise an issue / PR for this?


Prebuilt binaries for legacy libraries

Required Info

Camera Model
F200

Firmware Version
N/A

Operating System & Version
Win 11

Kernel Version (Linux Only)
N/A

Platform
PC

SDK Version
legacy

Language
N/A

Segment
N/A

Issue Description
Where can I find the prebuilt binaries and the realsense viewer (if available) for the legacy models? I can't find them in the release or on the website.

Hi @FrzMtrsprt  The legacy librealsense (librealsense1) that supports F200 can be found here:
https://github.com/IntelRealSense/librealsense/tree/v1.12.1
There is not a RealSense Viewer for that SDK.
There was also an official SDK for Windows from 2016 that supported F200 but is not compatible with librealsense scripts.  A 1.8 gb installer program can be downloaded using this link:
http://registrationcenter-download.intel.com/akdlm/irc_nas/9078/intel_rs_sdk_offline_package_<IP_ADDRESS>6.exe

I will try this, thanks for the information!

You are very welcome!
If you try the 2016 Windows SDK then you should first run an installer program called Depth Camera Manager (DCM) before running the SDK installer program afterwards.  The DCM for the F200 can be downloaded from the Intel page below.
https://www.intel.com/content/www/us/en/download/18309/intel-realsense-depth-camera-manager.html


Social services icons support

github, twitter, etc

Also: add "rel=me" to links (indieweb)

Also: add "rel=me" to links (indieweb)

Supported now


Adding a classpath while no direct access to Node

Hey there! I'm trying to leverage Graal to run Remix (React metaframework), but I run into a couple of issues - the most pressing one is that I can't add a --vm.cp anywhere to expose a Java class to my application
WebAssembly: Initially I get blocked by a WebAssembly error, which I can get around by enabling WebAssembly by leveraging the steps here.
then, when I want to add a Java class to my app, there doesn't seem to be a way to add in a --vm.cp to a command that looks like npm run remix dev.
When I try to spawn a node child-process that runs that and attach the --vm.cp script there, an error is flagged that I'm not in a polyglot environment, even though the argument has been set. Removing the vm.cp argument drops the polyglot env error.
What's the best way to tackle this?

Adding some more context, if I run this command
"dev": "NODE_OPTIONS='--polyglot' NODE_POLYGLOT_OPTIONS='--js.webassembly --experimental-options' remix dev --manual",

This is where I can't seem to add a vm.cp argument anywhere. If I try to do a Java.addToClasspath(), I can't do it in native mode.
However, if I do add a --jvm flag in there (just trying out everything), I run into the same WebAssembly error (where it thinks polyglot is not enabled, despite the flag being present)

As of 24.x, WebAssembly is enabled by default in Node now, so it should not be necessary to use these options anymore. I think in the graalnodejs-community-jvm standalone, both --vm.cp and Java.addToClasspath() should work.


Don't copy .m3u8 URL when sharing a reddit video link

What link would be more appropriate? That is the only link to the video itself

Slide now shares the v.redd.it link


chore: sync latest universe

Related Links

Description
sync main branch. (tier4/universe -> universe_develop_mot)

Remarks

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[x] Code is properly formatted
[x] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code is properly formatted
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets
[ ] Write release notes

CI Checks

Build and test for PR: Required to pass before the merge.
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

@0x126 手動ではありますが、syncなのでsquashしないほうが良いですかね？

@satoshi-ota squashなしでお願いします！


Add sprint_summary data to sprints entity

Description
When we do some analysis through sprints, we need to compare data in different sprints. For example:

issue number
resolved issue number(seperated by issue types)
resolved storypoints
user number (to calculate indicator by per capita)
aggregated worklogs

Describe the solution you'd like
Add a new service layer entity sprint_summary.
Has the Feature been Requested Before?
No
Describe alternatives you've considered
Additional context

No need anymore,
Close.


Sample animation issue when using NLA

Issue about animation that occurs when we have to sample animation (forced by user in option, or when needs_sample return true)
Because in gltf2_blender_gather_animation_sampler_keyframes.py file, we check value of  pose_bone_if_armature.matrix_basis.decompose()
BUT:

this value is always the same if we stash animations, and there is no active animation. See animation_case_1 file
this value is false, and is taken from active animation. That leads to export always the same animation, even if there are different animations stashed. See animation_case_2_file

bugs_animations.zip

Some thoughts, to not forget:
[ ] Make each action active when exporting each action of the NLA?
[ ] When list of bones in animation are not identical ...


Error loading DysonLink Plugin

I got the following error after installing your homebridge-dysonlink plugin. I have updated node and npm and your plugin. I hope you can help me. I am trying for many hours but could not resolve the problem.
Thanks a lot.
Best greetings from Germany
Dirk

Which version of Node.js are you using?
From the error log, it seemed that it didn't support the latest version of JavaScript(ES 6)
Can you try to update that to latest version?


disabling unbound causes "nameserver <IP_ADDRESS>" to be removed from resolv.conf

OPNsense 20.7.1-amd64
System: Settings: General:
"Do not use the local DNS service as a nameserver for this system" is checked
/etc/resolv.conf
has entry "nameserver <IP_ADDRESS>" in top position.
when you disable unbound, this line gets removed.
when you enable bind / dnsmasq the loopback does NOT get added back in.

from my understanding unbound enable / disable should not interfere with resolv.conf, but be only based on setting from System: Settings: General.

"Do not use the local DNS service as a nameserver for this system"  should get a help text explaining that this will add "nameserver <IP_ADDRESS>" as first entry in resolv.conf.

You probably refer to https://github.com/opnsense/core/blob/062140c315d65148f6e7b6c9189a05c8f0fac966/src/etc/inc/system.inc#L171
I am not sure what you are reporting but I found f45444b94cf and maybe you mean this. I can't see another issue. What do you think?

PS: since bind is a plugin we only assume dnsmasq or unbound can do it. both are in core. in case of using neither you need to set <IP_ADDRESS> manually.


[TimePicker] Clock component is broken if minutesStep prop is not passed

Problem description
We are upgrading from 0.18.1 to 0.18.5 and found that the Clock component that was working well breaks now if the minutesStep prop is not passed.
The prop is not set as required and it doesn't have a default value. However, it is required to have a value because it is used in a calculation when the component mounts. Having an undefined minutesStep results in NaN showing up as the minutes.
This seems to have been introduced with https://github.com/callemall/material-ui/commit/6ead93aa4b684f880cc159fe8cd6278d519b50fc, which means the problem first appeared in version 0.18.2.
Note that the format prop should also be required or have a default value, although this hasn't changed in recent versions.
I'd be happy to contribute a PR to fix this.
Link to minimal working code that reproduces the issue
<EMAIL_ADDRESS>(no issues here): https://www.webpackbin.com/bins/-KoOpMlpk2KiDCRpOz7x
<EMAIL_ADDRESS>https://www.webpackbin.com/bins/-KoOpcYPkOmsoXsigImu
Versions

Material-UI: 0.18.5
React: 15.4.2
Browser: Tested on Firefox 54.0.1

Closing for #4796


Is the project still active?  Or should we go elsewhere?

Yep! It's active

Awesome...just wanted to make sure...thanks!

Sure it's active? Seems like it wasn't updated in a long time...


Wont scan if canvas is small.

I've had to create a large canvas and a small canvas because it will not scan the qr code if the main canvas is small. This is making my page extremely slow :/

As mentioned here jsQR is built to be agnostic around where the image data comes from. It has no specific support for webcams vs just providing images directly etc. All it needs is raw image data that may contain a QR code. If you pass it an image too small to read (whether it be from a webcam or otherwise) it won't be able to find a code within.
I am not a webcam expert and I don't your constraints so unfortunately I may not be able to provide much help here. One idea that might be worth trying is shrinking your canvas with CSS so that the underlying canvas is full resolution, but visually it's shrunk to fit wherever you need it. I tried this real quick with our example code and it seems to work quite well.


Fix #906 update color input check

Fixes #906

Hello. Sorry for delay. We had to finish a big refactoring. Thanks for your PR it's in the new version

Thanks for the update :)


How to use with Proxmox

I'm using Proxmox 5.2-1 and want to login some VM's automatically over the UNIX socket. I can't get the authentication to work.
# vncdotool --version
vncdotool 0.12.1

# vncdotool -p password -v -s /var/run/qemu-server/123.vnc capture /tmp/test.png
INFO:root:connecting to /var/run/qemu-server/123.vnc:5900
INFO:twisted:Starting factory <vncdotool.command.VNCDoCLIFactory instance at 0x7f8cbd29c368>
INFO:twisted:Using protocol version 3.800
INFO:twisted:Cannot connect Authentication failed
CRITICAL:root:Connection to the other side was lost in a non-clean fashion.
INFO:twisted:Stopping factory <vncdotool.command.VNCDoCLIFactory instance at 0x7f8cbd29c368>
INFO:twisted:Main loop terminated.

I've tried with or without a password. I've set the password using the monitor "set_password vnc password"
Anyone know how to do it or how to diagnose the problem?

Version 0.12.1 is way to old and many things changed since than. Please give the current version from git branch main a try:

pip install git+https://github.com/sibson/vncdotool.git@main

It will also print more debug information. Similar to #245 Proxmay will probably require newer AuthTypes, which need to be implemented first.


Maybe rename the namespace to bdt ?

Just a thought I had while using it, maybe it could make more sense to have naming closer to .dt.
And while typing this out, I am also thinking how .bdt would work when you want to do rolling on business date ranges. Anyhow just a thought :)

hmm yeah, maybe that would be better, thanks
and then have .bdt.offset_by, but it can only accept strings of the form '<n>bd'
will think about it - in the meantime, thanks for your request and for having tried this out!

this is now available in version 0.1.26


Config: remove collection class

Removed PaymentMethodConfigCollection,
moved the collection into the Config class instead.

Coverage remained the same at 100.0% when pulling dc53bf216612883dfadc67413d7cfebff29e4d09 on reka:config-fallback into 0fc9f197ceb93fbd072cfb5137e26a7f189f4739 on wirecard:79-sofort.


Revert #41164, add subsystem build option.

Revert #41164 (console output redirection), seems like it's causing more issues.
Add windows_subsystem build option (defaults to "gui", always set to "console" when tests are enabled.

Fixes: #41328 and fixes #41307
Bugsquad edit: Also fixes https://github.com/godotengine/godot-proposals/issues/1341.

That's too bad, this was a great way to handle console output in a Unix-like way. Does this bring us back to not having any output when starting Godot template builds from a terminal on Windows? That's a big issue for debugging.

Does this bring us back to not having any output when starting Godot template builds from a terminal on Windows?

That's a big issue for debugging.

That's a big issue for debugging.

It's not, manual redirection still works with GUI app, (e.g godot.exe | more).

Well let's say it's a big issue for the majority of users who don't know they'll get different output when redirecting than they're getting on stdout ;) I didn't knowing directing to more would make a difference.

Thanks! But sad, I liked this solution 😿


Create onboarding documentation for new devrel employee

done https://github.com/mindee/devrel/blob/main/onboarding/onboarding.md


Add temporary fix for T1_US_FNAL in both wmbsFile and dbsFile creation.

Fixes #11287
Status
not-tested
Description
Because of a recent change at FNAL the jobs started to read the new site-local-config for T1_US_FNAL instead of T1_US_FNAL_Disk. in the new  one there was  an error pointing T1_US_FNAL as the default PNN for the site instead of the T1_US_FNAL_Disk. The configuration has been reverted while waiting for a proper fix, however we need to add the protection on our side, such that  we  never persist records with the broken PNN for the site in the relational database for both WMBS and DBSBuffer tables.
The current change adds a temporary fix such that  this is avoided at the creatin time for both objects wmbsFile and dbsFile.
Is it backward compatible (if not, which system it affects?)
NO
Related PRs
None
External dependencies / deployment changes
None

@todor-ivanov I didn't check beyond the code you provided, but it seems to be covering both DBS and WMBS files. Go ahead and patch vocms0255 first, if everything is okay for the first 10min, then go ahead and patch all the other agents. Keep in mind that only JobAccountant needs to be restarted.
Please provide the list of agents that have been patched afterwards.
NOTE: you might have to backport it to the branches 2.1.2_wmagent and 2.0.4_wmagent, but I think you can first try to apply it. Thanks

Thanks @amaltaro
The patch has been applied to vocms0255 and it seems to be stable so far. I checked the logs and noticed no exceptions, what so ever. So far so good. I'll wait for few more minute before proceeding with the rest of the agents.

All agents have been patched now. I did not have to crate any backports, neither to the 2.1.2 branch nor to 2.0.4. Everything worked out of the box from the master branch. In case we want this patch to be logged properly in those branches' history, even though we do not plan to ever merge it, we can create those backports. If not, i'd suggest we just move on. What do you think @amaltaro ?
The system looks stable so far. Here follows the full list of patched agents:
cmsgwms-submit3.fnal.gov - agent version: v2.0.4.patch1 (on drain)
cmsgwms-submit4.fnal.gov - agent version: v2.0.4.patch1 (on drain)
cmsgwms-submit5.fnal.gov - agent version: v2.1.2
vocms0252.cern.ch - agent version: 2.1.2
vocms0253.cern.ch - agent version: 2.1.2
vocms0255.cern.ch - agent version: 2.0.4.patch1 (on drain)
vocms0256.cern.ch - agent version: 2.0.4.patch1 (on drain)

BTW, I did NOT  patch the relvalv agent vocms0258 because it seems it is not suffering the issue.

Thanks Todor. Can you please apply the second commit to all the production agents (draining or not) + relval agent? @todor-ivanov

All but the RelVal agents have been patched.
@amaltaro

The full patch has been applied to the RelVal agent as well now
FYI: @amaltaro

This one is not needed any more. the original issue as closed: https://github.com/dmwm/WMCore/issues/11287#issuecomment-1263698863


⚠ ClamAV has degraded performance

In faa3e1d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 489 ms

Resolved: ClamAV performance has improved in e23ee9b after 32 minutes.


fix insertion performance issues for our Group structures

https://github.com/smol-rs/futures-lite/issues/93#issuecomment-2005364297 showed a performance issue with FutureGroup. The issue turned out to be related to the bitvec crate performing really poorly if resize was called trivially. By instead guarding against calls to resize this issue goes away entirely.
This did not show up in our benchmarks because never exercised insert as part of the actual benchmark; we factored it out as part of the test setup. This is theoretically more "correct", but it also didn't surface the issue. We should probably consider adding end-to-end benchmarks for all of our operations too to catch any potential issues elsewhere. Especially for our Group structures. Thanks!
Benchmark results
Using the benchmarks authored by @notgull in this repo, running for 10.000 times (rather than 1 million):
before
group/futures_concurrency::FutureGroup
                        time:   [2.5047 ms 2.5065 ms 2.5082 ms]
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) low mild

after
     Running benches/co.rs (target/release/deps/co-71ce600071789f52)
group/futures_concurrency::FutureGroup
                        time:   [672.93 µs 675.00 µs 678.70 µs]
                        change: [-73.137% -73.055% -72.953%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high mild

Oh, CI is failing because we're not resizing when we need to. That should be easy enough to fix, without having to hit the case we were hitting before.

Filed #175 instead, closing in favor of the reworked approach.


i3 workspace switching doesn't work with a comma

Describe the issue
When is a comma, it shows up properly in the bar

But clicking it does nothing
Expected behavior:
To be able to switch workspaces by clicking it as with when they workspaces are numbers or letters or other symbols
Actual behavior:
Nothing happens, if I run polybar with -l trace I get
- Found matching input area
* module/i3: Sending workspace focus command to ipc handler

when I click the workspace button for the comma workspace.
Was it working before?

Did you also experience this bug in an earlier version of polybar?
If no, what was the last version where this worked correctly?

To Reproduce
A minimal but complete config with which the problem occurs:
[bar/default]
modules-left = i3

List any other steps needed to reproduce the issue besides starting polybar with the config you posted above.
Run i3, open a workspace for ,, then another for . or anything else, try to switch between them by clicking.
Polybar Log
Post everything polybar outputs to the terminal when you run it and the issue occurs below

Screenshots
If applicable, add screenshots to help explain your problem.
Environment:

WM: i3
Distro: Arch
Output of polybar -vvv:

polybar 3.3.0-92-g7724c4dc

Features: +alsa +curl +i3 -mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) -render -damage -sync +composite +xkb +xrm +xcursor

Build type: Release
Compiler: /usr/lib/ccache/bin/c++
Compiler flags: -march=native -O2 -pipe -fstack-protector-strong -fno-plt -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

Additional context
Add any other context that you think is necessary about the problem here.

Could you post the config of your i3 module please.
Without it I can't really try to debug this ;)
Moreover how do you create a "," workspace because when I tried to run i3 workspace ',' I just get an error message :/

I think you need to do double quotes, I have it in my i3 config like this
bindsym $mod+comma workspace ","
Here's the module config
[module/i3]
type = internal/i3
format = <label-state><label-mode>
index-sort = true
wrapping-scroll = false
strip-wsnumbers = true
pin-workspaces = true

label-unfocused-background = ${colors.my_background}
label-unfocused-foreground = ${colors.my_foreground}

label-mode = %name%
label-mode-padding = 2
label-mode-background = #ff0000

label-focused = %name%
label-focused-foreground = ${colors.my_foreground}
label-focused-background = ${colors.my_background}
label-focused-underline = #0088CC
label-focused-padding = 2

label-unfocused = %name%
label-unfocused-padding = 2

label-visible = %name%
label-visible-underline = ${colors.my_foreground}
label-visible-padding = 2

label-urgent = %index%
label-urgent-foreground = ${colors.my_foreground}
label-urgent-background = ${colors.my_background}
label-urgent-underline = #900000
label-urgent-padding = 2

Thanks problem fixed ;)
You just need to wait the review of my PR.

Can confirm the PR fixes the bug for me :)

Ok nice but I'll leave the issue open until the PR is merged ;)


Fix parse for yarn

Replaces https://github.com/peerigon/updtr/pull/73

Codecov Report

Merging #75 into master will decrease coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #75      +/-   ##
==========================================
- Coverage   97.93%   97.88%   -0.06%
==========================================
  Files          35       35
  Lines         677      708      +31
  Branches      132      138       +6
==========================================
+ Hits          663      693      +30
- Misses         14       15       +1

Impacted Files
Coverage Δ

src/exec/parse.js
98.57% <100%> (-1.43%)
:arrow_down:

src/exec/cmds.js
100% <100%> (ø)
:arrow_up:

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 680ac73...f722bb7. Read the comment docs.


Add dan-wahlin.yml and image

Docs Build status updates of commit da85031:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

advocates/dan-wahlin.yml
:x:Error

Details

advocates/dan-wahlin.yml

Line 14, Column 3: [Error-yaml-syntax-error] While scanning an anchor or alias, found value containing disallowed: []{},

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 848d3fe:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

advocates/dan-wahlin.yml
:x:Error

Details

advocates/dan-wahlin.yml

Line 15, Column 3: [Error-yaml-syntax-error] While scanning an anchor or alias, found value containing disallowed: []{},

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit baaf646:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

advocates/dan-wahlin.yml
:white_check_mark:Succeeded
View

advocates/media/profiles/dan-wahlin.jpg
:white_check_mark:Succeeded
View

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

I tried to set a new record for YAML failures. Lesson learned - don't edit in the browser (and accidentally delete the pipe character). :-)

Docs Build status updates of commit a274d07:
:warning: Validation status: warnings

File
Status
Preview URL
Details

advocates/index.html.yml
:warning:Warning
View
Details

advocates/dan-wahlin.yml
:white_check_mark:Succeeded
View

advocates/map.yml
:white_check_mark:Succeeded
View

advocates/media/profiles/dan-wahlin.jpg
:white_check_mark:Succeeded
View

advocates/toc.yml
:white_check_mark:Succeeded
View

advocates/index.html.yml

Line 10, Column 8: [Warning-file-not-found] Invalid file link: './map'.
Line 12, Column 8: [Warning-file-not-found] Invalid file link: './tweets'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Missing package install instructions

It is left an exercise to the reader on how to install libmsquic.
https://learn.microsoft.com/dotnet/core/extensions/httpclient-http3

I would expect to see instructions similar to installing .NET -> https://learn.microsoft.com/dotnet/core/install/linux-debian
@samsp-msft

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 5bced405-6c77-f011-a831-8593b07028bb
Version Independent ID: a265a6f4-c8a4-d4c6-ae73-8f7c74973b4c
Content: Use HTTP/3 with HttpClient - .NET
Content Source: docs/core/extensions/httpclient-http3.md
Product: dotnet-fundamentals
GitHub Login: @IEvangelist
Microsoft Alias: samsp

Following the steps in https://user-images.githubusercontent.com/2608468/214741119-ef2ff1a4-1017-4f55-a960-d94f77eabba2.png to to configure the feed worked as expected.
We don't want to include that info within the http docs as its out of our control, and likely to change.
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
[sudo] password for samsp:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.7 (GNU/Linux)

mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT
LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV
7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag
OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j
H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr
M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs
ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC
AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH
/32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe
MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy
7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV
KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ
XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+
NdCFTW7wY0Fb1fWJ+/KTsC4=
=J6gs
-----END PGP PUBLIC KEY BLOCK-----
samsp@samsp-dell:~$ sudo apt-add-repository https://packages.microsoft.com/ubuntu/22.04/prod
Repository: 'deb https://packages.microsoft.com/ubuntu/22.04/prod jammy main'
Description:
Archive for codename: jammy components: main
More info: https://packages.microsoft.com/ubuntu/22.04/prod
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list
Get:7 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main arm64 Packages [18.6 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Get:9 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [839 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [593 kB]
Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [186 kB]
Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 c-n-f Metadata [12.3 kB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [792 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [139 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 c-n-f Metadata [14.9 kB]
Get:16 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [125 kB]
Get:17 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [7,800 B]
Get:18 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [634 kB]
Get:19 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [86.4 kB]
Get:20 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [11.3 kB]
Fetched 3,866 kB in 2s (1,946 kB/s)
Reading package lists... Done
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Translations (main/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Translations (main/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1
W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/archive_uri-https_packages_microsoft_com_ubuntu_22_04_prod-jammy.list:1 and /etc/apt/sources.list.d/microsoft-prod.list:1

Then the instructions for msquic work as expected:
samsp@samsp-dell:~$ sudo apt install libmsquic
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  libmsquic
0 upgraded, 1 newly installed, 0 to remove and 133 not upgraded.
Need to get 4,118 kB of archives.
After this operation, 16.5 MB of additional disk space will be used.
Get:1 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main amd64 libmsquic amd64 2.1.4 [4,118 kB]
Fetched 4,118 kB in 0s (8,784 kB/s)
Selecting previously unselected package libmsquic.
(Reading database ... 45878 files and directories currently installed.)
Preparing to unpack .../libmsquic_2.1.4_amd64.deb ...
Unpacking libmsquic (2.1.4) ...
Setting up libmsquic (2.1.4) ...
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Failed to retrieve available kernel versions.

Failed to check for processor microcode upgrades.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

Having more detailed instructions for every combination of distro is outside the scope of the http documentation.

Having more detailed instructions for every combination of distro is outside the scope of the http documentation.

That's a logical leap. Including it for one distro would be useful to demonstrate the pattern. I found the docs as-is unusable w/rt to this. I went and looked at .NET docs to figure it out.
We can point to our .NET to help folks understand the pattern. Also, .NET docs use a more modern and better approach than you use there (from the PMC docs).

I would suggest then that the place to fix this would be in the PMC docs as that applies to all packages, and is much more likely to be kept up to date with distro changes etc. My concern with putting this info in the HttpClient/ASP.NET Core docs is that we are too far removed from those working on support for individual distros, to be able to keep it current with all the changes.

We're all one team. ASP.NET Core vs .NET Core isn't a thing.
We already have this need for our own packages. Perhaps we should write some content that is more generic that the ASP.NET Core docs can link to.

Hi @samsp-msft and @richlander - where did we land on this one? Is this at all related to #33287

We landed with my plan. I'll reach out to you.

FYI @mattwojo don't know how far this relates to what you're working on, but I think it's similar.

Thanks for the tag. I'm meeting with the team who works on Packages.microsoft.com tomorrow and will point out this issue. We're planning to overhaul the existing doc about PMC, so this is good timing.

To do:

Update the instructions with examples for the common package managers.
Mention the fact that registering the MS package feed may cause conflicts on distros that publish .NET. Link to the package mixup article.


Latest version document error jump

The Type of Document Issue
Wrong
What's wrong with this document?

fix #3070 #3059


Add missing startWorkerTask calls in the "SaveDocument" handler

Without these calls we'll not actually wait for saving to complete when document destruction runs; compare with other WorkerTask-usage in this file.
While I cannot imagine that this has caused any problems for library users, the code is however not technically correct as-is.

/botio test

Nice find!


Burrow fails to decode group metadata for Kafka brokers at version 2.1.x

Tested against both 2.1.1 and 2.1.0. Running at Kafka at version 2.0.1 works fine. This impacts obtaining both owner and client_id fields if running Kafka at version > 2.0.1.
Error:
{"level":"warn","ts":1551809463.6532013,"msg":"failed to decode","type":"module","coordinator":"consumer","class":"kafka","name":"kafkaBroker01","offset_topic":"__consumer_offsets","offset_partition":1,"offset_offset":256434,"message_type":"metadata","group":"myCG","reason":"value version","version":2}

Error Parsed:
  ❖                | ▼
  level            | warn
  ts               |<PHONE_NUMBER>.6532013
  msg              | failed to decode
  type             | module
  coordinator      | consumer
  class            | kafka
  name             | kafkaBroker01
  offset_topic     | __consumer_offsets
  offset_partition | 1
  offset_offset    | 256434
  message_type     | metadata
  group            | myCG
  reason           | value version
  version          | 2

TIA -

Also - if it helps, here are the API Versions involved when getting the error:
NAME                     KEY  MAXVERSION
Produce                  0    7
Fetch                    1    10
ListOffsets              2    4
Metadata                 3    7
LeaderAndIsr             4    1
StopReplica              5    0
UpdateMetadata           6    4
ControlledShutdown       7    1
OffsetCommit             8    6
OffsetFetch              9    5
FindCoordinator          10   2
JoinGroup                11   3
Heartbeat                12   2
LeaveGroup               13   2
SyncGroup                14   2
DescribeGroups           15   2
ListGroups               16   2
SaslHandshake            17   1
ApiVersions              18   2
CreateTopics             19   3
DeleteTopics             20   3
DeleteRecords            21   1
InitProducerId           22   1
OffsetForLeaderEpoch     23   2
AddPartitionsToTxn       24   1
AddOffsetsToTxn          25   1
EndTxn                   26   1
WriteTxnMarkers          27   0
TxnOffsetCommit          28   2
DescribeAcls             29   1
CreateAcls               30   1
DeleteAcls               31   1
DescribeConfigs          32   2
AlterConfigs             33   1
AlterReplicaLogDirs      34   1
DescribeLogDirs          35   1
SaslAuthenticate         36   0
CreatePartitions         37   1
CreateDelegationToken    38   1
RenewDelegationToken     39   1
ExpireDelegationToken    40   1
DescribeDelegationToken  41   1
DeleteGroups             42   1

These are the API Versions involved when testing against 2.0.1 without errors:
NAME                     KEY  MAXVERSION
Produce                  0    6
Fetch                    1    8
ListOffsets              2    3
Metadata                 3    6
LeaderAndIsr             4    1
StopReplica              5    0
UpdateMetadata           6    4
ControlledShutdown       7    1
OffsetCommit             8    4
OffsetFetch              9    4
FindCoordinator          10   2
JoinGroup                11   3
Heartbeat                12   2
LeaveGroup               13   2
SyncGroup                14   2
DescribeGroups           15   2
ListGroups               16   2
SaslHandshake            17   1
ApiVersions              18   2
CreateTopics             19   3
DeleteTopics             20   2
DeleteRecords            21   1
InitProducerId           22   1
OffsetForLeaderEpoch     23   1
AddPartitionsToTxn       24   1
AddOffsetsToTxn          25   1
EndTxn                   26   1
WriteTxnMarkers          27   0
TxnOffsetCommit          28   1
DescribeAcls             29   1
CreateAcls               30   1
DeleteAcls               31   1
DescribeConfigs          32   2
AlterConfigs             33   1
AlterReplicaLogDirs      34   1
DescribeLogDirs          35   1
SaslAuthenticate         36   0
CreatePartitions         37   1
CreateDelegationToken    38   1
RenewDelegationToken     39   1
ExpireDelegationToken    40   1
DescribeDelegationToken  41   1
DeleteGroups             42   1

For Group metadata it seems like there's a new protocol version for Kafka 2.1. The valueVersion is 2 now, but we only have a handling for valueVersion 0 and 1, thus it cannot decode the group metadata. See: https://github.com/linkedin/Burrow/blob/master/core/internal/consumer/kafka_client.go#L394-L408

Thanks for the response @weeco
I need this functionality since upgrading a few of my clusters and went ahead and added and tested the feature. #506 has been submitted to add this in officially.
Thanks again.

Would definitely like to see a fix for this - running into the same issue.

Submitted Fix #506 for this.

same issue.

Hey,
I also faced the an issue just after upgrading my kafka to version 2.1.1, so I follow the above guidelines and now I move to burrow v1.2.2, but now when I try to run the burrow via docker compose it exit with below logs.

burrow | Reading configuration from /etc/burrow
burrow | Burrow failed at April 09, 2019 at 10:10am (UTC)
burrow | Exiting burrow exited with code 2

What other changes do i suppose to do apart from upgrading to burrow version v1.2.2. I appreciate you r help in this regard.
Just FYI I was using burrow version v1.1.0 with kafka 0.8.2 before that and it was working fine, I doubt there might be some configuration changes which I also suppose to do with newer burrow version.

Closing since #506 has been merged into master which addresses this issue. Thanks guys.


WARNING: INITIALIZATION: Fallback context save mode to process because of error during checking token cache persistence.

Describe the bug
"WARNING: INITIALIZATION: Fallback context save mode to process because of error during checking token cache persistence: Persistence check fails due to unknown error."
"Your Azure credentials have not been set up or have expired, please run Connect-AzAccount to set up your Azure credentials.
ClientAssertionCredential authentication failed: Persistence check failed. Data was written but it could not be read. Possible cause: on Linux, LibSecret is installed but D-Bus isn't running because it cannot be started over SSH."
These two messages (the first one being a warning message and the second one eventually being an error message) shows up with the new introduction of throttleLimit in v10+. It has to do with the ForEach-Object -Parallel loop in the Deploy-PolicyPlan.ps1.
To Reproduce
Run the Deploy-PolicyPlan.ps1 with a lot of new policies, policy sets, and assignments, while not using the very latest Az version (I use 11.3.1).
Expected behavior
Should handle parallel runs. Would also be beneficial to add better error handling (/a fail safe).
Screenshots

EPAC Version
Versions 10.0.0-10.0.2

There is an old post on this same exact error here

Try rerunning it. I see this occasionally as an intermittent problem.

I ran it 10+ times before eventually giving up and specifying the throttleLimit = 1. Whether permanent or intermittent, there is no real error handling for this and no justification to speed things up a tiny bit by running things in parallel if it is only to work occasionally.

I see the same error and I agree with @arrerezai, the process should not prioritize speed over quality. I wrote a simple retry logic when working with some graph endpoints in larger environments that required me to speed up the execution but still make sure it works, it looks something like this.
$StartThreadCount = 4
do {
try {
Write-Verbose -Message "Running through all groups with {$StartThreadCount} threads."
$Output = $Input | ForEach-Object -Parallel {
# Run task with erroraction stop to catch errors.
} -ThrottleLimit $StartThreadCount
$Success = $true
} catch {
$StartThreadCount -= 2
$Success = $false
}
} until ($Success -eq $true -or $StartThreadCount -eq 0)
if ($Success -eq $false) {
Write-Verbose -Message "Failed to run with parallel threads, retrying with only one thread."
# Wait a bit before retrying with single thread.
Start-Sleep -Seconds 60
$Output = $Input | ForEach-Object {
#Run task with one thread
}
}

I'll remove the parallel execution

Fixed in latest version v10.1.1


Quiz Contest section

Hi,
Hi, I'm a GSSOC'21 participant.
I would like to add a quiz section which would have more detailed questions about the data structure level wise(Easy,medium,hard) .As the quiz will be completed the scores along with the rank in the leaderboard for the person playing the quiz will be displayed.

Hii,
I would like to add quiz section in nav bar.
Quiz will be topic wise and also level wise .
Where user can learn and attempt quiz according .

Please assign me this issue

the issue already raise #128


allow configuring raven version

Right now raven is hard-coded (currently 3.5.0, latest right now is 3.7.0)
It would be better if raven version might have been passed in the segment config (where, with a little bit of effort it can be automatically placed right from package.json or bower.json)

I don't think there's significant value in supporting the overhead of managing against multiple minor releases - we should simply update to the latest.

Sometimes bugs are introduced in new releases. But getting the latest is better than some older one. But sentry cdn does not support semver.

+1 Right now Sentry.io warns for using the old version. It would be great that is configurable.

Yeah, as of today, Raven.js is at version 3.11.0 and we are still loading 3.8.0 via Segment. Several bug fixes and features have been rolled out between those versions.

Hey everyone -- sorry that we haven't been best at keeping up to date with partner release logs. We're trying to have a better story around this. Not sure solving this via offloading the responsibility to customers doesn't sound like the best we can do.
We are getting to a point where we will be able to set up some internal feed for new release logs from our partners. But fwiw, the integration is using 3.12

Hi guys, any idea why I'm getting 1.1.6 ?
Just using window.analytics.initialize({'Sentry': {config: "MY_CONFIG_ID" }}) from Chrome Console. I use analytics.js from npmjs "analytics.js": "^2.9.1", ?

@danieleleoni that is the open source version of the hosted ajs we serve if you use segment's default implementation (snippet/cdn). If you look https://github.com/segmentio/analytics.js-private/blob/master/package.json#L119 we are pegging the latest sentry integration version.
if you are using the open source version you want to manually bump your integration versions (a downside of using open source vs segment-hosted ajs)

I cannot see that repo, but I understand the problem. How do we manually bump the integrations?

you should be able to just bump the component.json as you linked

The problem is that it does not build anymore...
On Apr 14, 2017 19:54, "Han"<EMAIL_ADDRESS>wrote:

you should be able to just bump the component.json as you linked
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/segment-integrations/analytics.js-integration-sentry/issues/17#issuecomment-294202056,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHGjcnemo-VAiYWgEiNBgKSyOr2TnFFks5rv7LTgaJpZM4J8oda
.

any news about broken build?


Pin the fontawesome deps

New packages were just published yesterday. Not sure why they're causing errors, but pinning the packages to prevent errors

Some post-mortem analysis on this bug:

FontAwesome published v6.0.0 on Feb 7, when this bug occurred
As part of that publish, they published  v1.3.0 of @fortawesome/fontawesome-svg-core, which required v0.3.0 of @fortawesome/fontawesome-common-types. Our versions were set to "@fortawesome/fontawesome-svg-core": "^1.2.32" and "@fortawesome/fontawesome-common-types": "^0.2.35"`. Because of semver matching, ^1.2.32 matches 1.3.0, but 0.2.35 does not match 0.3.0 (since it's a 0.x.x version, which is special). As such<EMAIL_ADDRESS>and<EMAIL_ADDRESS>which installed, which were incompatible with each other. Both of these versions are now deprecated and v 6.1 should be used instead.
Normally the package-lock.json would prevent this kind of issue from occurring (where CI installs a new version), but our package-lock.json did not include fontawesome. This is because we were still using npm v6, which does work with monorepos very well and was not updating the package-lock.json for nested package dependencies correctly. This is fixed with npm v8.

><EMAIL_ADDRESS>types /home/runner/work/web-client-ui/web-client-ui
> tsc --build

Error: packages/components/src/context-actions/ContextMenuItem.tsx(76,33): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
  Type 'IconDefinition' is not assignable to type 'IconLookup'.
    Types of property 'iconName' are incompatible.
      Type 'import("/home/runner/work/web-client-ui/web-client-ui/node_modules/@fortawesome/fontawesome-common-types/index").IconName' is not assignable to type 'import("/home/runner/work/web-client-ui/web-client-ui/node_modules/@fortawesome/fontawesome-svg-core/node_modules/@fortawesome/fontawesome-common-types/index").IconName'.
        Type '"acquisitions-incorporated"' is not assignable to type 'IconName'.
Error: packages/components/src/context-actions/ContextMenuItem.tsx(83,43): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/LoadingSpinner.tsx(15,22): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/LoadingSpinner.tsx(16,22): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/SearchInput.tsx(65,28): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/ComboBox.tsx(483,30): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/CustomTimeSelect.tsx(428,30): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/CustomTimeSelect.tsx(450,28): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/CustomTimeSelect.tsx(517,32): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/DraggableItemList.tsx(97,26): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/HierarchicalCheckboxMenu.tsx(221,37): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/HierarchicalCheckboxMenu.tsx(224,26): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/LoadingOverlay.tsx(42,61): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/navigation/MenuItem.tsx(74,32): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/navigation/Page.tsx(32,30): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/navigation/Page.tsx(45,30): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/SocketedButton.tsx(54,11): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/SocketedButton.tsx(59,11): error TS2322: Type 'IconDefinition' is not assignable to type 'IconProp'.
Error: packages/components/src/ToastNotification.tsx(62,13): error TS2322: Type 'IconDefinition' is not assignable to type '((Element | IconDefinition | undefined) & (Element | IconDefinition)) | undefined'.


Add response to end$ stream. (Error handler)

Hi. Can u add  result of request also to end$ stream? Here  src/core/request.ts

To have an ability manage any requests and their responses in one place. Because right now I have no idea how to manage errors like this:
Error: IgResponseError: POST /api/v1/media/2090812663211898147_2210184565/like/ - 500 Internal Server Error;

Try, catch - not works.
Maybe you have some thoughts?
Thanks.

In this situation

any try catch doesn't help.
Is there a way to handle any errors in request?

@sshmyg did you receive unhandled promise rejecton?

@realinstadude Rejection works. Could u describe how to handle errors with end$ because it not fire on error.

You can handle errors with error$ stream.

@sshmyg did you solved your problem with advice from upper message?

Nope, error$ stream not works on server error like 400 or something.

error$ stream works perfectly with any server error.
Please, show your code

Let's close this issue for now. I've made other solution for error handling.


Breadth first serialization?

Current algorithm is to do depth first serialization. The advantage is that the first time a resource is encountered, reading from the top down (note that the key order is processed before the recursion to ensure this).  This means that (for example) in a transfer of custody from the current owner, the owner ends up inside the object, and referenced from the top level property.
Consider:  https://linked.art/example/activity/44.json
However JSON objects are unordered. The serialization is entirely dependent on our OrderedDict / key order hack.  It's suitable for humans (aka developers) but when it comes to writing code to find the description of the (e.g.) owner, in the context of a transfer of custody, I would expect it to be in the transferred_custody_from field, not embedded in transferred_custody_of.current_owner.
So ... I propose a change to breadth first serialization.  Walk through all of the properties of the current object and record new things to serialize.  Then step back and serialize them if needed. More complex in the code as it's not just recursive descent, but the end result I think will be better.
Thoughts @alyxrossetti @joshuago78 @workergnome?

Despite the fact that it sounds a little daunting to make the switch, I completely agree with the thoughts outlined above @azaroth42

At what point is this just re-implementing the JSON-LD Framing algorithm?
Or am I misinterpreting what you're trying to do here?

What I'm trying to accomplish is a baseline serialization routine that produces a good-enough JSON document, readable by humans and machines without specifying a bunch of per-class frames.
Framing would be another way to do it, but getting the human readable side to work at the same time (e.g. ordering the keys, etc) would be even more complicated. Also ... going from object structure to JSON is easy, rather than object structure to graph to nquads to json-ld via frames :)


add lease role for hub

I found failed e2e tests because the cluster-manager-registration-controller pod is forbidden to list lease.
So add lease role to allow hub to manage coordination.k8s.io/lease since registration has supported spoke cluster available check.

Looks like a potential flake of the webhook tests
/retest


Api endpoints

Create an API endpoint to list all posts for a user.
Create an API endpoint to list all comments for a user's post.
Create an API endpoint to add a comment to a post. Remember that the owner of the comment is the user that makes it; it should not be set by passing a parameter.
Add authentication to your API endpoints.
API endpoints receive JSON and respond to JSON as well

Hello @Lucas-Masaba  , Hope you are doing good.
Sorry for this inconvenience, but I'm currently working solo, I don't have a coding partner.
here is a screenshot of my dashboard:

Thank you


Team structure rebased

SPIKE for an alternative to the organogram. This provides a team structure page with a clickable/expanding/navigable Team tree.

just using to SPIKE


error: cannot find symbol import io.flutter.plugins.firebase.core.FirebaseCorePlugin;

The app should run, but it is not.
cupertino_icons: ^1.0.4
google_sign_in:
firebase_auth: ^3.3.5
cloud_firestore: ^2.5.3
rxdart:
image_picker: ^0.8.4+4
file_picker: ^4.3.2
firebase_storage: ^10.2.5
location: ^4.3.0
geocode: ^1.0.1
font_awesome_flutter:
shared_preferences:
cached_network_image: ^3.2.0
image: ^3.1.1
path_provider: ^2.0.8

@andesappal
You haven't provided enough details to address this issue properly. Please provide the complete error log you are getting along with your flutter doctor -v.
As a note, when filing an issue, please use the new issue template and fill out details so that we'll have enough details to analyze the issue.

Hi @darshankawar, here's the doctor -v:

Let me fill out the new issue template next, sorry.

@andesappal
You seem to be using firebase_auth which is third party plugin, so can you remove that plugin and related code and try again to see if you still get the same behavior ?

Hi @darshankawar I am no longer trying to run this sample app, so therefore closing this issue. Thank you.


mmap-alloc: Add large-align feature, support committing on Linux/Mac

Add large-align feature, allowing alignments larger than a page size
Allow memory to be explicitly committed on Linux and Mac
Allow memory to be committed on allocation on Mac
Improve documentation around committed/uncommitted memory
Closes #151

@ezrosent let me know if you want to switch elfmalloc to using the large-align feature in this PR or a later one. Doing it here would be a good way of testing the API/implementation.


No observations line in hydrographs

In the tutorial 04_Emulating_hydrological_models, we test a GR4JCN model with some observations data, but in the graph, there's only the simulations values that are plot. It is then impossible to compare the simulation with the reality.

Hi @Mayetea, thanks for the issue!
As this is related specifically to the PAVICS service running Raven, I'm going to transfer this issue to https://github.com/Ouranosinc/raven. For issues relating to the notebook examples or to specific WPS services, please open those issues there.


合并主分支代码

Before submitting a pull request, please make sure the following is done...

[ ] Ensure the pull request title and commit message follow the Commit Specific in English.
[ ] Fork the repo and create your branch from main.
[ ] If you've added code that should be tested, add tests!
[ ] If you've changed APIs, update the documentation.
[ ] Ensure the test suite passes (npm test).
[ ] Make sure your code lints (npm run lint) - we've done our best to make sure these rules match our internal linting guidelines.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.chunyuan.zhang seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


sunstone should generate the Init scripts field automatically based on a check box in the data tables under Context -> Files

Author Name: Jaime Melis (@jmelis)
Original Redmine Issue: 2825, https://dev.opennebula.org/issues/2825
Original Date: 2014-04-02

None

Already done


chore: add parrot 5.0 support

sadly there is actually no current folder

Thank you! I initially thought you created an issue; returned back here after fixing it to realize you opened a pull request. So sorry for messing up the commit log... :see_no_evil:
Released a new version that supports ParrotOS v5 :rocket:


Caliper macros doubly defined

We now define a bunch of no-op Caliper macros when Serac is built without Caliper. It seems like LiDO does the same thing, and so when LiDO is built in codevelop mode, the compilation fails because the macros are doubly defined. Not sure if this is properly a Serac issue or a Caliper issue. I kindly request advice from @white238 or @chapman39 .

It might be somewhat ugly but we could check if each macro is defined before setting it. I'm not sure of another solution. I can create a quick PR for this.


Can't add the border to table

element.append("List NameDescriptionUpload Time")

https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question


Don't mix iterators from different containers.

@vekterli : please review

Travis build has passed OK ages ago, but PR status has somehow not been updated.


Sign-up hyperlink on code with us page

The sign-up link on the code with us page isn't working

?


dot net 6 information

dot net 6 will be rtm in about a week, lets get the documentation ready!
also this doc seems to assume the code is in github , what about the devops repos?
or is this a sign that azure devops is going to change yet again and lose code repos?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d4959fc1-212b-7d6a-df73-b0b2993df561
Version Independent ID: fcecb4fc-6b16-e432-8f4a-f043e222bb41
Content: Build, test, and deploy .NET Core apps - Azure Pipelines
Content Source: docs/pipelines/ecosystems/dotnet-core.md
Product: devops
Technology: devops-cicd-ecosystems
GitHub Login: @juliakm
Microsoft Alias: jukullam

@figuerres I have a change in progress that will update this so that you build your project locally. You can host your repos in GitHub or Azure Repos.


Facebook-AutoLogin

Aim

This script allows user to automate facebook login process.

Details

This script will automatically open a new browser window , open facebook.com , add the user credentials and finally login.

@avinashkranjan I would like to work on this feature

Sure @antrikshmisri Go ahead

@avinashkranjan created the PR , can you review it ?


gscreenshot: 3.5.1 -> 3.6.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for gscreenshot is: Screenshot frontend (CLI and GUI) for a variety of screenshot backends
meta.homepage for gscreenshot is: https://github.com/thenaterhood/gscreenshot
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.6.1 with grep in /nix/store/2j2101aihx1mp9qjp0zn2lrg2pf95brx-gscreenshot-3.6.1
found 3.6.1 in filename of file in /nix/store/2j2101aihx1mp9qjp0zn2lrg2pf95brx-gscreenshot-3.6.1

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

gscreenshot

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2j2101aihx1mp9qjp0zn2lrg2pf95brx-gscreenshot-3.6.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gscreenshot https://github.com/r-ryantm/nixpkgs/archive/9158c43c06b6e1385bbfb7cac5b44ba3491c8435.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9158c43c06b6e1385bbfb7cac5b44ba3491c8435#gscreenshot

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2j2101aihx1mp9qjp0zn2lrg2pf95brx-gscreenshot-3.6.1
ls -la /nix/store/2j2101aihx1mp9qjp0zn2lrg2pf95brx-gscreenshot-3.6.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

gscreenshot
gscreenshot.dist

Maintainer pings
cc @davisrichard437 for testing.

Result of nixpkgs-review pr 326830 run on x86_64-linux 1

2 packages built:

gscreenshot
gscreenshot.dist


sidebar-list-restructure

Notes for Reviewers
This PR : in continuation of #9611:

addresses https://github.com/meshery/meshery/pull/9611#issuecomment-1866018926 No active color in sidebar menu
removes extra whitespace between menu items

Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit f44b7f3e4cf0d595931b434451fb95958c4f181c at: https://65881f2b2ac877e7c8dd92f5--meshery-docs-preview.netlify.app

🚀 Preview for commit 9ac1abe58b96f0c608e200f362c815b4e057dc3b at: https://658ba727e78d1914d1c17e3d--meshery-docs-preview.netlify.app

🚀 Preview for commit 5a8d888a66fb23f311711628e958fcf4b97ed700 at: https://658c125556d7345bc7d1a26a--meshery-docs-preview.netlify.app

Good work here. There is a bit of leftover undesirable font-weight here it seems. An item to follow up on, @yash37158?

Yeah sure, I'll fix that too

Yeah, I'll push the fix for this too


Make it possible to install Oracle 19.3 on RedHat 8

Installing Oracle 19.3 on a RedHat 8 box will raise:
TASK [opitzconsulting.ansible_oracle.oraswdb_install : install_home_db | Install Oracle Database Server] *** Sunday 09 October 2022  10:01:22 +0200 (0:00:00.164)       0:03:56.251 ******** fatal: [molecule-install_orahome-default]: FAILED! => {"changed": true, "cmd": ["/opt/oracle/product/19c/runInstaller", "-responseFile", "/opt/oracle/stage/rsp/19c_molecule-installorahome-default.rsp", "-ignorePrereq", "-silent", "-waitforcompletion"], "delta": "0:00:02.106271", "end": "2022-10-09 10:01:25.339855", "failed_when_result": true, "msg": "non-zero return code", "rc": 255, "start": "2022-10-09 10:01:23.233584", "stderr": "", "stderr_lines": [], "stdout": "Launching Oracle Database Setup Wizard...\n\n[WARNING] [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'\n   CAUSE: No additional information available.\n   ACTION: Contact Oracle Support Services or refer to the software manual.\n   SUMMARY:\n       - java.lang.NullPointerException", "stdout_lines": ["Launching Oracle Database Setup Wizard...", "", "[WARNING] [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'", "   CAUSE: No additional information available.", "   ACTION: Contact Oracle Support Services or refer to the software manual.", "   SUMMARY:", "       - java.lang.NullPointerException"]}
This pull request is about implementing the workaround recommended by the following Oracle support note:
Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)

I do not like work arrounds as default for all kind of installations.
The following checks should be done before enabling the work arround:

Are we really on OL8/RHEL8?
Are we using an installation media without patches?
ansible-oracle could install from pre created Golden-Images with current RU. That work arround is not needed for Homes with RU 19.6+.

Example configuration with Golden-Image:
https://github.com/opitzconsulting/ansible-oracle-inventory/blob/main/inventory/dbfs/group_vars/all/db-homes.yml
Only important attributes from db_home_config:
db_homes_config:

  db19-si-ee:
    version: <IP_ADDRESS>
    imagename: db_home_19.13.zip

Skip the work arround, when imgname is defined.
Please try to fix all warnings from Github Actions. PRs are only merged when all are ok.
changelog check:
Add a file with name: 284-ol8-fix.yml in changelog/fragments with following content:
---
bugfixes:
  - "oraswdb_install: Make it possible to install Oracle 19.3 on RedHat 8 (#284)"

Looks fine. Thanks for the contribution.
Hope you enjoy all the new stuff in ansible-oracle.

Thanks for the merge! Yes, I'm exploring the new stuff in ansible-oracle and I like what I see.


Implement best practices for linkerd-control-plane app

Coming from here.
The goal of this issue is to have the App eventually adhere to standard cloud-native best-practices. The points below are to be considered non-exhaustive. Feel free to add some that make sense and remove some that don't. If this issue does not make sense (e.g. is a duplicate or covers a deprecated app) please close it.
Expected outcome:

[ ] the app has properly set PDBs (as percentages)
[ ] the app can scale horizontally based on Custom Metrics (if it makes sense)
[x] the app runs with more than 1 replica by default (if it needs HA)
[ ] the app does not use emptyDir volumes if not strictly necessary

the app has properly set PDBs (as percentages)

it already has PDB set with maxUnavailable=1; this is coming from upstream.

the app can scale horizontally based on Custom Metrics (if it makes sense)

No need, as scaling these service is highly dependent on the cluster size. We'll for now let it pass as we gather more exp with running linkerd at scale.

the app runs with more than 1 replica by default (if it needs HA)

It does.

the app does not use emptyDir volumes if not strictly necessary

app needs emptyDir enabled cluster-wide. This is a problem as our default policy is blocking that. see https://github.com/giantswarm/giantswarm/issues/21039


Visionos preview 15 1 beta 1

Issue #

Description

General Checklist

[ ] Added new tests to cover change, if needed
[ ] Build succeeds with all target using Swift Package Manager
[ ] All unit tests pass
[ ] All integration tests pass
[ ] Security oriented best practices and standards are followed (e.g. using input sanitization, principle of least privilege, etc)
[ ] Documentation update for the change if required
[ ] PR title conforms to conventional commit style
[ ] New or updated tests include Given When Then inline code documentation and are named accordingly testThing_condition_expectation()
[ ] If breaking change, documentation/changelog update with migration instructions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request base (visionos-preview@5268948). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head a68576e differs from pull request most recent head 46dcb39. Consider uploading reports for the commit 46dcb39 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@                 Coverage Diff                 @@
##             visionos-preview    #3323   +/-   ##
===================================================
  Coverage                    ?   64.18%
===================================================
  Files                       ?     1076
  Lines                       ?    35934
  Branches                    ?        0
===================================================
  Hits                        ?    23065
  Misses                      ?    12869
  Partials                    ?        0

Flag
Coverage Δ

API_plugin_unit_test
65.84% <0.00%> (?)

AWSPluginsCore
66.15% <0.00%> (?)

Amplify
47.79% <0.00%> (?)

Analytics_plugin_unit_test
81.37% <0.00%> (?)

Auth_plugin_unit_test
74.13% <0.00%> (?)

CoreMLPredictions_plugin_unit_test
59.44% <0.00%> (?)

DataStore_plugin_unit_test
80.04% <0.00%> (?)

Geo_plugin_unit_test
70.75% <0.00%> (?)

Logging_plugin_unit_test
63.09% <0.00%> (?)

Predictions_plugin_unit_test
37.29% <0.00%> (?)

PushNotifications_plugin_unit_test
59.62% <0.00%> (?)

Storage_plugin_unit_test
53.90% <0.00%> (?)

unit_tests
64.18% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


tickets/DM-43579: Move runlab.sh functionality into lsst.rsp.startup

This passes its unit tests, so I think it's ready to start looking at.  It will have a companion PR in sciplat-lab to remove the stuff we moved into lsst.rsp and launch from this one's "runlab" entrypoints.

cf. https://github.com/lsst-sqre/sciplat-lab/pull/169

It also launches labs successfully now.

I would not include a git repository, even a bare one, inside another git repository. It's going to be a nightmare of tools getting confused. I'm somewhat surprised GitHub even allows that and doesn't prevent you from doing it entirely.

So a better approach would be a fixture that initialized a new repository in a tempdir and then yielded it?


Added custom logging options

Summary and Scope
This change adds support for logging the messages on a per xname basis, and for enabling logging of errors that would not have otherwise been logged.
The rationale for this change is that on large turning on debug level logging overwhelms the system.
CASMHMS-6202
Issues and Related PRs

Resolves CASMHMS-6202

Testing
Tested on:

dev environment
mug

Were the install/upgrade based validation checks/tests run?(goss tests/install-validation doc)
Were continuous integration tests run? Y/N   If not, Why? y
Was an Upgrade tested?                 Y/N   If not, Why? y
Was a Downgrade tested?                Y/N   If not, Why? y
If schema changes were part of this change, how were those handled in your upgrade/downgrade testing? y
Risks and Mitigations

Would it be worthwhile to add a README.md to hms-hmcollector to document these new config options?

Would it be worthwhile to add a README.md to hms-hmcollector to document these new config options?

Yes, I agree. There is a Jira to add a README for hmcollector. I'll include how to configure this in the README when I do that jira.


New package: NormalSplines v1.0.0

Registering package: NormalSplines
Repository: https://github.com/IgorKohan/NormalSplines.jl
Created by: @IgorKohan
Version: v1.0.0
Commit: c527c0fd55fbdda1670b55b2cd2e1c0f51cb78bd
Git reference: master
Release notes:

Thanks,
Igor

Fixed. [noblock]


Standard debug MSVC build

Fixes #123

@myd7349 let me know if this fixes your issue with vcpkg.

Yeah, this patch fixes my issue. Thanks!


Convert a Navigator.push() into a showDialog based on the screen dimensions

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
I want to create a fully responsive application, and I want some screens to have two different behaviors based on the screen dimensions.

On mobile the new screen will be opened with Navigator.push() like a normal screen
On desktop and tablet the new screen will be opened with showDialog

I want to create this behavior because I have some screens that have enough content to fill a mobile screen, but that doesn't have enough content to fill a tablet or desktop screen.
It would be something similar to what I described on this other issue https://github.com/flutter/flutter/issues/133946
The problem is that this change has to be dynamic based on the screen dimensions, because on desktop you can resize the window, and on mobile or tablet you can rotate the screen.
Now I have this behavior by using Dialog and Dialog.fullscreen, but the problem is that even if Dialog.fullscreen looks like a normal screen, it doesn't behave like that because, for example, on iOS it doesn't support the swipe to go back gesture.
Proposal
Create something like this:
showResponsiveScreen(
  breakingWidth: 900,
  screenBuilder: (ctx) => Container()       // Widget to display on mobile
  modalBuilder: (ctx) => Container()        // Widget to display on tablet and desktop
)

Example:
The user pushes a new route when the device screen is small. This route will be opened using the same MaterialPageRoute animation. Then, the user rotates the device and now the device screen width excedes the breakingWidth. On that moment, that route should change to a modal. And then if the user closes the route when it's on modal mode, it should close with the modal animation.

Thanks for the report @JGeek00
Have you looked at different ways to make the app responsive as mentioned in the documentation and check if using any of the widgets listed in it  can be used to achieve your use case ?

You can't really swap out a modal route like that.... instead the route should itself have responsive layout and appearance.

Ok @moffatman
So is it possible to push a route that looks like a modal? I mean a route with a widget that doesn't fill the whole screen, and has a translucent overlay that let's you see the widget that's behind.

Yes, route doesn't have to be opaque, it can be transparent too. In fact showDialog just pushes a DialogRoute

@moffatman thank you. With this code I managed to achieve what I wanted.
    void openScreen() {
      Navigator.of(context).push(
        PageRouteBuilder(
          opaque: false,
          barrierColor: Colors.black54,
          pageBuilder: (context, animation, secondaryAnimation) {
            if (MediaQuery.of(context).size.width > 700) {
              return  Dialog(
                child: ClipRRect(
                  borderRadius: BorderRadius.circular(28),
                  child: const Screen2()
                ),
              );
            }
            else {
              return const Screen2();
            }
          },
        )
      );
    }

I found this code by digging on how MaterialPageRoute works.
final PageTransitionsTheme theme = Theme.of(context).pageTransitionsTheme;
return theme.buildTransitions(this, context, anim1, anim2, child);

I think it does what I want, create an Android animation for Android devices and an iOS animation for iOS devices, but it asks for a Route on the first parameter, and I don't know what to do.
That's basically the behavior that I want: on large displays to show a modal, and on small displays a normal Android or iOS animation.
void openScreen() {
      Navigator.of(context).push(
        PageRouteBuilder(
          opaque: false,
          barrierColor: Colors.black54,
          transitionDuration: const Duration(milliseconds: 150),
          transitionsBuilder: (context, anim1, anim2, child) {
            if (MediaQuery.of(context).size.width > 700) {
              return FadeTransition(
                opacity: CurvedAnimation(
                  parent: anim1,
                  curve: Curves.easeOut,
                ),
                child: child,
              );
            }
            else {
              final PageTransitionsTheme theme = Theme.of(context).pageTransitionsTheme;
              return theme.buildTransitions(// route //, context, anim1, anim2, child);
            }
          },
          pageBuilder: (context, animation, secondaryAnimation) {
            if (MediaQuery.of(context).size.width > 700) {
              return  Dialog(
                child: ClipRRect(
                  borderRadius: BorderRadius.circular(28),
                  child: const Screen2()
                ),
              );
            }
            else {
              return const Screen2();
            }
          },
        )
      );
    }

You may have to create a custom Route class probably can't just do it inline within PageRouteBuilder?

@moffatman i tried ro do it with PageRouteBuilder and I managed to display a modal or not depending on the screen size. I also managed to reproduce the dialog animation, but not the Android or iOS animation. I want to display the normal MaterialPageRoute animation when the screen is small, but I don't know how to do it. I also want to have the swipe to go back gesture that's available on iOS.

I would expect its a lot of work yeah....

@JGeek00
Based on above conversation, it seems the use case is achievable using the approach you mentioned without a need to add the requested feature in the framework itself ?

Yes, but I don't know how to do it. I would appreciate some help or guidance, and then leave the solution here for other developers that could want the same behavior.

I would appreciate some help or guidance, and then leave the solution here for other developers that could want the same behavior.

You may raise this in StackOverflow.

Ok. Here I have opened the question on StackOverflow.
https://stackoverflow.com/questions/77684295/im-creating-a-responsive-materialpageroute-and-i-need-some-support
If someone could help me I would appreciate it.

in the documentation

You may want to refer to this and check if using any of the widgets mentioned, can be used to achieve the use case.

If someone could help me I would appreciate it.

Since this is more of a support question, I'll close it for now, because your original proposal doesn't seem to be feasible and also based on this comment.

@darshankawar what I'm trying to achieve doesn't imply swapping routes. I'm trying to replicate a responsive version of the MaterialPageRoute that uses a different animation based on the screen width. Currently I have the behavior that I wanted, but I found an unexpected problem.
To do that I cloned the MaterialPageRoute class that comes with the material package, but the behavior is different, even when the code on both classes is exactly the same (with the difference of the class name). As you can see on the attached file, the animation of the route that is pushed is ok, but the animation of the route that's behind it's not ok. Since the code of this ResponsiveMaterialPageRoute that i'm creating is the same as the code of the current MaterialPageRoute, there shouldn't be any difference on the behavior.
https://github.com/flutter/flutter/assets/47545344/9d971886-ed58-48b6-8c68-9a9cb52bc3bb


Improve build performance by reducing files uploaded for Sonar analysis

Comparison, note "Attach Build Output" step.
Before:

After:


Expose helmSecretName for GitRepo in Fleet/Continuous Delivery UI

rancher/rancher:v2.5.8-rc3
https://github.com/rancher/fleet/issues/120
If a helm repo requiring authentication or a custom CA is used in Fleet, helmSecretName must be set in the GitRepo:
kind: GitRepo
apiVersion: fleet.cattle.io/v1alpha1
metadata:
  name: helm
  namespace: fleet-default
spec:
  branch: helmtest
  helmSecretName: helm-test
  repo: https://github.com/repo/fleet-examples
  paths:
  - single-cluster/helm
  targets:
    - clusterSelector: {}

Currently we can edit the GitRepo as yaml to add it manually, but it would be better if it could be exposed in the GitRepo creation/edit UI.

We could do this as an enhancement in 2.6. I'd prefer to have it too; @Jono-SUSE-Rancher could this wait?

Since I had to look it up... clientSecretName is used for cloning the repo and helmSecretName for pulling the charts for helm repos referred to by files in that git repo.  The UI currently supports the former but not the latter.