Some already loaded feed lists are empty again after quiting and restarting

Steps  that produce the issue on my system:

Delete cache.db, if there is one
Create urls with the content shown below
Start newsboat
Load feed lists with reload-all
Quit  newsboat
Start newsboat again

Result:
Some feed lists are emtpy again ("0/0").
Newsboat version:
newsboat 2.19.0
System: Linux 4.9.0-12-amd64 (x86_64)
Compiler: g++ 5.5.0
ncurses: ncurses 6.2.20200212 (compiled with 6.2)
libcurl: libcurl/7.69.1 OpenSSL/1.1.1f zlib/1.2.11 (compiled with 7.69.1)
SQLite: 3.31.1 (compiled with 3.31.1)
libxml2: compiled with 2.9.10

System:

Debian Stretch
newsboat compiled using LinuxBrew

~/.newsboat/config:
### Misc

# Notification
notify-beep                  "no"
notify-program               "notify-send"
notify-format                "newsboat: finished reload \n%f unread feeds \n(%n unread articles total)"
notify-screen                "yes"
notify-xterm                 "yes"

#datetime-format              "%Y-%m-%d %H:%M:%S"
datetime-format              "%Y-%m-%d"

#articlelist-format           "%4i %f %D %6L %?T?;%-17T; ?%t"
#articlelist-format           "%4i %f %D %?T?;%-17T; ?%t"
#articlelist-format           "%4i %f %D %-60t" # Best yet
articlelist-format           "%4i %f %D %t"
#articlelist-format           "%4i %f %-70t"
#articlelist-format           "%4i %f %-50t"

pager                        "internal"
#always-display-description   "yes"

#text-width                   "80"

#html-renderer                "w3m -dump -T text/html | fmt -w 40"
#html-renderer                "elinks -dump | fmt -w 40"
#html-renderer                "lynx -dump -stdin | fmt -w 40"

bookmark-autopilot           "yes"
bookmark-interactive         "yes"
bookmark-cmd                 "~/.newsboat/newsboat_bookmark-cmd.sh"

max-browser-tabs 5

# Open with »o«
browser "xdg-open %u 2>/dev/null"

# Player for podcasts with podboat
#player "mpv"
#player "vlc"
player "audacious"

# Path where articles shall be saved to
# Note: Path / Directory has to exist (!)
save-path "/tmp/newsboat_saved_aricles"

# Download path for enclosures (podcasts)
# Path / Directory will be created if missing
#download-path "/home/USER/Downloads/%n/%F %H-%M-%S \# %t"
download-path "/tmp/podboat_downloads/%n/%F %H-%M-%S \# %t"

### Coloring

## Supported elements

# listnormal        a normal list item
# listfocus         the currently selected list item
# listnormal_unread an unread list item
# listfocus_unread  the currently selected and unread list item
# info              the info bars on top and bottom
# background        the application background
# article           the article text

## Supported colors

# black
# red
# green
# yellow
# blue
# magenta
# cyan
# white
# default
# color<n>, e.g. color123

## Supported attributes

# standout
# underline
# reverse
# blink
# dim
# bold
# protect
# invis

color listnormal        white black
color listnormal_unread yellow black
color listfocus         white blue
color listfocus_unread  yellow blue
color info              white red
color background        white black
color article           white black

#highlight feedlist "----- .* -----" white blue
highlight article "^Title: .*$" yellow red
highlight article "^Titel: .*$" yellow red
highlight article "^Link: http[s]\?:\/\/[^ ]*$" cyan black

### Key bindings

## Available dialogs:

# all (default)
# feedlist
# filebrowser
# help
# articlelist
# article
# tagselection
# filterselection
# urlview
# podbeuter
# dirbrowser

## Un-bindings

unbind-key "j"
unbind-key "k"

unbind-key "n"
unbind-key "p"

unbind-key "J"
unbind-key "K"

unbind-key "^N"
unbind-key "^P"

unbind-key "^K"

unbind-key "SPACE"
unbind-key "BACKSPACE"

unbind-key "o"
unbind-key "O"

unbind-key "l"

## Bindings

# feedlist

bind-key   "j"         next                   feedlist
bind-key   "k"         prev                   feedlist
bind-key   "SPACE"     pagedown               feedlist
bind-key   "BACKSPACE" pageup                 feedlist
bind-key   "n"         next-unread            feedlist
bind-key   "p"         prev-unread            feedlist
bind-key   "c"         toggle-show-read-feeds feedlist

# articlelist

bind-key   "j"         next                   articlelist
bind-key   "k"         prev                   articlelist
bind-key   "SPACE"     pagedown               articlelist
bind-key   "BACKSPACE" pageup                 articlelist
bind-key   "n"         next-unread            articlelist
bind-key   "p"         prev-unread            articlelist
bind-key   "c"         toggle-show-read-feeds articlelist
#bind-key   ""         next-feed              articlelist
#bind-key   ""         prev-feed              articlelist
#bind-key   ""         next-unread-feed       articlelist
#bind-key   ""         prev-unread-feed       articlelist

bind-key   "x"         open-in-browser        articlelist
#bind-key   "^S"        save-all               articlelist

# article

bind-key   "j"         next                   article
bind-key   "k"         prev                   article
bind-key   "n"         next-unread            article
bind-key   "p"         prev-unread            article

bind-key   "x"         open-in-browser        article

### Macros

# Open in elinks with <,l>
macro l set browser "lynx %u" ; open-in-browser ; set browser "xdg-open %u"

# Open in lynx with <,l>
macro e set browser "elinks %u" ; open-in-browser ; set browser "xdg-open %u"

# Open with mpv with <,v>
macro v set browser "mpv --geometry=50%% --title 'newsboat Video' %u" ; open-in-browser ; set browser "xdg-open %u"

# Open with mpv via youtube-dl with <,y>
macro y set browser "youtube-dl -o - '%u' | mpv --title='%u' --geometry=50%% --force-seekable=yes -" ; open-in-browser ; set browser "xdg-open %u"

### URL viewing

#macro u pipe-to "urlview"
#macro u pipe-to "urlscan"

~/.newsboat/urls:
"exec:curl --silent                   http://omegataupodcast.net/nurDeutsch.php" "~omega tau | Deutsche Folgen [MP3]"
"exec:curl --silent                   http://omegataupodcast.net/englishOnly.php" "~omega tau | Englische Folgen [MP3]"
"exec:curl --silent                   http://omegataupodcast.net/?feed=podcast" "~omega tau | Deutsche und englische Folgen #1 [MP3]"
"exec:curl --silent                   http://omegataupodcast.net/category/podcast/feed/" "~omega tau | Deutsche und englische Folgen #2 [MP3]"
"exec:curl --silent                   https://feeds.lagedernation.org/feeds/ldn-mp3.xml" "~Lage der Nation [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/lnp/mp3" "~Logbuch: Netzpolitik [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/lnp/opus" "~Logbuch: Netzpolitik [Opus]"
"exec:curl --silent                   http://feeds.soundcloud.com/users/soundcloud:users:284192316/sounds.rss" "~Stimmenfang [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/cre/mp3" "~CRE: Technik, Kultur, Gesellschaft [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/cre/opus" "~CRE: Technik, Kultur, Gesellschaft [Opus]"
"exec:curl --silent                   https://www.deutschlandfunknova.de/podcast/eine-stunde-talk" "~DLF Nova | Eine Stunde Talk [MP3]"
"exec:curl --silent                   https://www.deutschlandfunknova.de/podcast/einhundert" "~DLF Nova | Einhundert [MP3]"
"exec:curl --silent                   http://damals-tm-podcast.de/index.php/feed/damalstm-mp3/" "~Damals (tm) [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/freakshow/mp3" "~Freak Show [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/freakshow/opus" "~Freak Show [Opus]"
"exec:curl --silent                   https://ukw.fm/feed/mp3/" "~Unsere kleine Welt [MP3]"
"exec:curl --silent                   https://ukw.fm/feed/opus/" "~Unsere kleine Welt [Opus]"
"exec:curl --silent                   https://feeds.metaebene.me/nsfw/mp3" "~Not Safe For Work [MP3]    (2018-06-21)"
"exec:curl --silent                   https://feeds.metaebene.me/nsfw/opus" "~Not Safe For Work [Opus]   (2018-06-21)"
"exec:curl --silent                   https://feeds.metaebene.me/forschergeist/mp3" "~Forschergeist [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/forschergeist/opus" "~Forschergeist [Opus]"
"exec:curl --silent                   https://feeds.metaebene.me/raumzeit/mp3" "~Raumzeit [MP3]"
"exec:curl --silent                   https://feeds.metaebene.me/raumzeit/opus" "~Raumzeit [Opus]"
"exec:curl --silent                   https://feeds.metaebene.me/fokuseuropa/mp3" "~Fokus Europa [MP3]    (2019-11-28)"
"exec:curl --silent                   https://feeds.metaebene.me/fokuseuropa/opus" "~Fokus Europa [Opus]   (2019-11-28)"
"exec:curl --silent                   https://kanackischewelle.podigee.io/feed/mp3" "~Kanackische Welle [MP3]"
"exec:curl --silent                   https://www.psycho-talk.de/feed/mp3/" "~Psychotalk [MP3]"
"exec:curl --silent                   https://www.psycho-talk.de/feed/opus/" "~Psychotalk [Opus]"
"exec:curl --silent                   https://besser.demkontinuum.de/feed/mp3/" "~Besser -- Der Podcast [MP3]"
"exec:curl --silent                   https://derblankeschrott.podigee.io/feed/mp3" "~Der Blanke Schrott [MP3]"
"exec:curl --silent                   https://anyca.st/feed/mp3" "~ANYCAST [MP3]"
"exec:curl --silent                   https://feeds.fireside.fm/linuxunplugged/rss" "~LINUX Unplugged [MP3]"

Hi! This sounds an awful lot like #748, but that bug was fixed in 2.19, so shouldn't affect you.
I don't see anything suspicious in your config file, but just in case, can you re-try with an empty one?
I don't have your ~/.newsboat/newsboat_link-clean.sh script. Can you re-try without it and without manual calls to curl?
Finally, does the bug always occur with the same feeds? It'd be nice to have one feed where it always reproduces and one feed where it doesn't, so we can compare the two and guess what differences might be causing this.
Thanks for the report!

Sorry, I overlooked the presence of ~/.newsboat/newsboat_link-clean.sh in urls.
I have removed it in my post.
I have tried again without ~/.newsboat/newsboat_link-clean.sh in urls and with an empty config: No change in the result.
These entries in urlsare affected:
   4         (0/0) omega tau | Deutsche und englische Folgen #2 [MP3]
   7         (0/0) Logbuch: Netzpolitik [Opus]
  10         (0/0) CRE: Technik, Kultur, Gesellschaft [Opus]
  15         (0/0) Freak Show [Opus]
  17         (0/0) Unsere kleine Welt [Opus]
  19         (0/0) Not Safe For Work [Opus]   (2018-06-21)
  21         (0/0) Forschergeist [Opus]
  23         (0/0) Raumzeit [Opus]
  28         (0/0) Psychotalk [Opus]

In the meantime I noticed that the issue appears only when the feed lists are loaded all at once with reload-all. When a feed list (one of the aforementioned) is loaded seperately with reload, its content is still there after having quit and restarted.
Furthermore, it seems that the feeds which are affected do change when entries are deleted from or added to urls. But I have not yet found out whether there is a reproducible pattern here.

Reproduced (with current master, b1884ff27f341c8d400432d50567ec4857374f0b)! This is a duplicate of https://github.com/akrennmair/newsbeuter/issues/193. In short: Opus and MP3 feeds use the same GUIDs for identical episodes, so Newsboat keeps just one copy, attached to one of the feeds.
We are still in the early days of figuring out how to fix this properly (#887).
Since Newsbeuter's tracker is archived now, I'll keep this issue open for further discussion.

Oh, actually, we already have a place for discussion about this — #898. So let's close this one.


Skybox

Add a skybox, or at least change areas without blocks to be less depressing than the current black.
Note: we'll probably have to take the skybox colour into account when generating selection_colors, or redraw the sky as black.

Sky is prettier now! Clouds and sun and changing colors, oh my. a5a7eb29ca3d6683716832bc51ccc98555d54770


deployments: relevant addresses #52

adds the protocol fee recipient to the deployments page. also opens #63 as a next step to improve the styling of the documentation.

You should pull master in here so you can also include the Base recipient address.


Some smol updates

Added Schematics page
Added icon for NeoForge (Library hadn't one so I made it)
Revamped the Addon search (still a lot of todos)

Smol updates accepted


add resize_bilinear support

Implemented ResizeBilnear, which is equivalent to tf.image.resize_bilinear, while align_corners=False.
(Sorry, as we are not familiar with JIT, thus use the intrinsic functions of AVX512)

Hi. Thanks for your contribution. Can you please describe: why it is important for you to have resize_bilinear in MKL-DNN? The three criteria we use to decide whether code needs to be in the library are:

Performance: the functionality has material impact on a workload level. In other words, this means that for a new primitive it should be demonstrated that it brings visible performance improvement to some workload.

Generality: the functionality is useful in a wide range of deep learning applications. This implies that when introducing a new primitive, its API needs to be general enough to be integrated into multiple deep learning frameworks that have similar functionality.

Complexity: it is not trivial to implement the functionality directly in  a deep learning application.

I would suggest that you start with an RFC that addresses three questions above for the proposed new function and proposes API design. Once we agree on the functionality definition we could discuss the implementation.

I would vote for the need of resize support, as it is commonly used in sementic segmentation models.

@Rasterer, thank you for your input. The question we are trying to answer is:

What generally useful resize function should look like (generality)? Something that works for one framework, for instance BVLC Caffe, might not work for Tensorflow.
What API it should have (generality)? Assuming that the function is added we don't want to break the API often need to answer to add this function to the library is how it should look like and behave to be generally useful.
Will integrating this function to a framework make sense (performance & complexity)?

Closing the PR due to lack of activity. Feel free to open new one once the comments are addressed.


[EPIC] VC CHAPI Playground issues to new version of signature suite

Is your feature request related to a problem? Please describe.
VC CHAPI Playground issues credential to new version of signature suite - needs fix/update

[ ] ID signature suite we want to support
[ ] Add support for suite
[ ] Add support for libraries in wallet, issuer, and verifier

@alexfigtree - is it possible this issue is the same as #656 ?


[Task] Implement Bitstring Status List

Description
Implement Bitstring Status List according to the v1.0 specification in a manner that is agnostic regarding the hosting of the Status List credential.
Motivation
Allow numbers of revocations that exceed the capabilities of our current method and follow a well established method.
Resources
https://www.w3.org/TR/vc-bitstring-status-list/
To-do list
Create a task-specific to-do list. Please link PRs that match the TODO list item behind the item after it has been submitted.

[ ] Rust implementation
[ ] Wasm implementation

Change checklist
Add an x to the boxes that are relevant to your changes, and delete any items that are not.

[ ] The feature or fix is implemented in Rust and across all bindings whereas possible.
[ ] The feature or fix has sufficient testing coverage
[ ] All tests and examples build and run locally as expected
[ ] Every piece of code has been document according to the documentation guidelines.
[ ] If conceptual documentation (mdbook) and examples highlighting the feature exist, they are properly updated.
[ ] If the feature is not currently documented, a documentation task Issue has been opened to address this.

Blcoked by #1275


fix(looker): stop sending labels for looker datasets

Prevents cli from breaking on old server versions.
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Since we now have a server people can upgrade to, I'm going to close this PR. We can revisit if people complain and want to stay on older versions.


Make it clear that powershell 7 can't replace the version that comes with windows.

Summary of the new feature / enhancement
Hi,
When reading the docs it looks like powershell 7 is a replacement for the default powershell that comes with windows, but it is not.
There is no way to replace the old one with the new, you can't even replace the link to powershell that is when you rightclick the windowslogo button aka start on your windows machine.
Proposed technical implementation details (optional)
Stop calling powershell 7 an upgrade when it clearly isn't. It is a new additional program. If it was an upgrade the old version that comes with windows would be overwritten, or at least come with the option to replace it as default.
Why someone thought it was a good idea to name a new program that can't replace the old the same name is beyond my understanding. If I would guess someone really must hate powershell, since it only adds confusion and miscommunication.
Yeah, I'm mad, I spent time trying to understand why my "upgraded" powershell wasn't used. When in reality it isn't an upgrade.
like for instance why my new powershell spawned blue powershell windows when I started a new window from a powershell 7 window (yeah I know now it was the old powershell that got started and that the new powershell has another name to be used with start-Process).
And, since powershell is made by some really smart persons perhaps someone might figure out how to add the powershell 7 to the right click on the windowslogo button aka start on your windows desktop, yes add, not replace. Shouldn't it be easy to use the new version or why are you messing with ppl?
One, really easy fix would be to make the included powershell (that comes with windows) start by stating its version number the same way powershell 7 does (when opening a new window), that would make it clearer to identify that you are not using the new but rather the old. That one would have saved me alot of headache and confusion, I'm guessing I'm not alone.
Yeah, I'm a bit pissed of, I really don't like wasting time for no good reason.
It is however a rather nice program that has made my life easier. so, thanks for the great work.

Hi,
Having been an open source developed product since its release in 2016, there is a huge amount of history and decisions as to why PowerShell 6+ ended up using pwsh and not powershell for the executable name, which goes against the direct in place upgrade experience I think you'd expected. However, to summarise, it was to aid in a number of area's like in deployment to and from package management tooling & to aid in discoverability and ease of use across all platforms and to provide a way for users to slowly shift across to this new version, and enable a better experience for developing it.
PowerShell 7 is an upgrade replacement for Windows PowerShell 5.1 going forward, and whilst there are some differences in features, (mostly lots of new and improved ones and a few removed) it acts as a replacement due to the upgraded but familiar experience it has kept having been built upon the existing prior years of the products development. Whilst it's not a drop in replacement for the older version like you had expected & assumed it should be, this was done for a number of additional good reasons too including for being able to better gain metrics around the new versions use vs the older versions use.

And, since powershell is made by some really smart persons perhaps someone might figure out how to add the powershell 7 to the right click on the windowslogo button aka start on your windows desktop, yes add, not replace. Shouldn't it be easy to use the new version or why are you messing with ppl?

This has been asked for as part of the installer in this issue - which I've reopened to look at it getting implemented in future. Depending on which version of Windows you are using and whether or not you are using the new Windows Terminal you may find that the experience is better in the new Windows Terminal for using powershell
We aren't "messing" with people, but I can see how it can seem that way when the changes like this come across in the way that they have.

One, really easy fix would be to make the included powershell (that comes with windows) start by stating its version number the same way powershell 7 does (when opening a new window), that would make it clearer to identify that you are not using the new but rather the old. That one would have saved me alot of headache and confusion, I'm guessing I'm not alone.

This is something I control with this little snippet in my CurrentUserAllHosts Profile Script to remind me that I am running the older version, even if my mistake
if ($PSVersionTable.PSVersion.Major -match 5) {  Write-Host 'Why you in PowerShell 5 - go into 7'

Another way to sometimes tell is that the Window Title will show Windows PowerShell as opposed to PowerShell.
With any change to experience it can be really tough for us to find the correct changes and ensure that these are properly communicated out to the community. This repo has had ongoing development in it since August 2016 and a number of blog posts, conference & user groups sessions & podcasts over the years, but I appreciate that it's easy to miss this sorta stuff if you have more important things to get on with and using PowerShell is just a small part of your life, compared to many of ours.
We have a number of community resources for learning more, starting with all the documentation on learn.microsoft.com  and the GitHub disucssions feature as well as plenty of places where you can come and connect and ask questions
None of us using PowerShell like wasting time, and whilst perhaps a little frustrating to begin with, I hope going forward it wont be as frustrating as it just had been for you to feel the need to raise this, which I do thank you for (as would the team too) and I hope that's answered all your points, at least for now.

@237dmitry - today you can almost if not completely replace Windows PowerShell use on Windows with the current PowerShell 7 supported releases, thanks to the interoperability layer where if there are modules that still need v5.1 features or have not been upgraded to support PowerShell 7 can be imported into a v7 session using this new functionality

Did I translate correctly that in the future PowerShell Core will replace Windows PowerShell?

There's this discussion about adding it into Windows but that doesn't mean it will replace Windows PowerShell 5.1 but I'm guessing will likely be shipped alongside it,
Also note we no longer suggest to use PowerShell Core as a term - that was a choice during v6 and was dropped with release to v7 to be called PowerShell

Thanks for explanation

Also note we no longer suggest to use PowerShell Core as a term

I used it for clearance, like $PSVersion.PSEdition. It would probably be logical to use the term Desktop as well. But the main thing is that it is clear what was meant.

Thanks for your detailed reply.
I now know, but everyone that starts out as I did will probably face similar challenges.
Especially when you call it an upgrade when it upgrades nothing. It is a fresh install of a new program.
When i upgrade to the latest powershell 7 from an old powershell 7 it doesn't keep that old version, that is the expected behaviour for an upgrade.
The command to tell you that you use the old one is smart, but if powershell 5 displayed the version number right when it starts like powershell 7 does then the confusion would be a lot less for new users. The fact that even you need it is an indication that clarification by putting the version number would make it clearer even for users like yourself.
Inspired by you I opted to do the following
"
Powershell " +$PSVersionTable.PSVersion.Major+"."+$PSVersionTable.PSVersion.Minor+"."+$PSVersionTable.PSVersion.Build
if ($PSVersionTable.PSVersion.Major -match 5) {
start-Process pwsh
}
I put it in my Microsoft.PowerShell_profile.ps1 script.
that makes it kind of start powershell 7 when klicking on powershell on the start-button right-click list and it makes powershell 5 show its versionnumber like powershell 7 does.
I considered adding stop-Process -name powershell
but decided against it since it might cause me headache in the future, its not that hard to just close it.
thanks for your time.

The prompt from PowerShell Desktop is
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

If you follow the link it makes it clear they are two separate versions:

PowerShell 7 is designed to coexist with Windows PowerShell 5.1.
Separate installation path and executable name
PowerShell 7 installs to a new directory, enabling side-by-side execution with Windows PowerShell 5.1.
Separate PSModulePath
Separate profiles
Separate Event Logs

@rhubarb-geek-nz
No, on the latest stable version of Windows 10 it says: "Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6"
And Powershell 7 says it is PowerShell followed by version.
But as we all know Powershell != Powershell.
Clear, where? Not on the page you get to with that link.
The fact that it doesn't redirect to the same landing page adds even more confusion, since we are getting different information and comparing different stuff.
The link in the powershell 5 window leads to a page with the title "install Powershell on Windows, Linux and macOS". If you go to their suggested way to install it, they recommend using
winget search Microsoft.PowerShell to find the latest version of Powershell.
on the top to the right on the page the link leads to is a headline "Additional resources" The first link right now is  "Review Windows Powershell - Training". That does add to the confusion.
version 5 is called Windows Powershell and version 7 Microsoft Powershell, for me its the same thing. I get that they call it Microsoft since its available on multiple platforms, but surely if I install powershell on Windows i get a Windows powershell. But, No, I do not. Windows Powershell is as we know another product than Powershell 7 on Windows. or simply Powershell != Powershell.
When I think about it Powershell 7 really should say Microsoft Powershell followed by version number since that is its name.
If you tried really hard you would have a hard time making it more confusing.
back to the windows 10 link, if you scroll down to the headline "install msi package" then there is a note that it installs to a new directory.  But if you read the whole thing it gets even more confusing "PowerShell 7.4 is an in-place upgrade that removes previous versions of PowerShell 7."
in-place yeah, but only for version 7, that is a rather interesting way to use that term.
And the note ends with "If you need to run PowerShell 7.4 side-by-side with other versions...", confusion again, I don't need powershell 5 so surely it can be removed I would think.
But, no, as we know Powershell != Powershell.
I did however solve it for me, thanks to the suggestion about a message in the first reply to my original suggestion.
Now my Windows Powershell, says Powershell 5.1.19041 (or whatever the current version is in the future) when it starts and I also made it start a Microsoft Powershell instance. By doing it that way, I can right-click on the start button and klick powershell and now get a window of both Powershell 5 and Powershell 7. At least less confusion on all my machines.

Try the new cross-platform PowerShell

But it does not replace the old one. PowetShell v.7+ is not a replacement for the old v.5.1, just an alternative. We are all waiting for a full, comprehensive replacement, but as I understand it, this is not in the near future. We are waiting for Windows with open source code.

We are all waiting for a full, comprehensive replacement, but as I understand it, this is not in the near future.

I don't see the need for a replacement. Windows has a long history of legacy components living side by side with newer implementations, and if it does include PowerShell 7(or 8) I expect it will be side-by-side.
My system already has three versions of PowerShell Desktop for backward compatibility
c:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
c:\Windows\SysArm32\WindowsPowerShell\v1.0\powershell.exe

I suggest the fix would be to update the URL used by PowerShell Desktop on Windows 10 to the same URL used on Windows 11. Perhaps the bigger mistake was having adverts in system programs to start with.

I don't see the need for a replacement

Indeed, as a technical side. But it would be better to have one version in use, combine everything that is changed or newly introduced in PowerShell v.7 and access to the system capabilities of Windows PowerShell. Is this a bad fantasy? Why do we, you and me, need two versions that live in parallel? If you are not in the subject, it causes confusion.

Why do we, you and me, need two versions that live in parallel?

Windows has been around for forty years, in it's current incarnation for 30 years (dating back to Windows NT 3.1). It has a completely different philosophy to FOSS. To the majority of end users, Windows is just the operating system on every computer that isn't an Apple. It has lasted this long because binary software packages from over twenty years ago still work. People know they can just keep using the same programs that they have always been using. To do this the operating system does summersaults internally, that is why 32 bit code is in a directory called SysWOW64 and 64 bit code in a directory called system32.
It is far more important for Windows that things that work today also work tomorrow.
So it is far better to keep Windows PowerShell 5.1 exactly as it is, just in maintenance mode. So everything that works with it now will continue to work. If you want to do new things, absolutely fine, join the new kids on the block with PowerShell 7. Even though everyone has switched to Edge (if not Chrome or something else), Internet Explorer is still there because it is needed for some sites.

So it is far better to keep Windows PowerShell 5.1 exactly as it is

This does not solve the incompatibility problem with PowerShell v7, which is getting bigger and bigger with each new release. It also confuses new users who see two icons with the same names. And of course there are such crutches as -UseWindowsPowerShell. I don't care, I don't use Windows at all, you just need to strive for the best, and not look for excuses in the past, as you do.

This does not solve the incompatibility problem with PowerShell v7

It means it is a complete non-issue. The two are not the same thing so can diverge.

It also confuses new users who see two icons with the same names.

What are the icons you speak of? Current I have four in the start menu, three of them are from Windows PowerShell

PowerShell 7(x64)
Windows PowerShell
Windows PowerShell ISE
Windows PowerShell (x86)

I don't use Windows at all

Have you looked in /etc/shells recently? sh, bash, ksh, zsh, dash, pwsh, csh etc,

you just need to strive for the best

The best result is that after the monthly "update Tuesday" every Windows machine works as it did before the update.

It means it is a complete non-issue. The two are not the same thing so can diverge.

Why two shells with similar names? I can't understand it. My initial assumption was that PowerShell 7 was supposed to eventually replace Windows PowerShell, and there was talk about it, but many years have passed and the misunderstanding with the names remains. That's the problem. Don't look for any technical aspects here, it's more of a marketing question.

Why two shells with similar names?

Or in the case of Linux, why twenty shells with similar names? They have similar names because they are part of a family.
Same with "PowerShell 7" and "Windows PowerShell", or Coke and Diet Coke.
In the most part PowerShell 7 is backward compatible, but not enough to not break things. With PowerShell 7 decisions have been made with the full knowledge that they are breaking changes (eg JSON conversions and defaulting to UTF-8).
Breaking things that currently work is simply not an option available for Windows as an operating system used by millions every single day.


Improve size of images.

@Yeti-or can you describe these changes?

I reduce size of png image with ImageOptim.app & ImageAlpha.app and size of
svg image with svgo.
Let's save some traffic, For people who use these badges.
On Чт, 2 апр. 2015 at 21:06, Max Ogden<EMAIL_ADDRESS>wrote:

@Yeti-or https://github.com/Yeti-or can you describe these changes?
—
Reply to this email directly or view it on GitHub
https://github.com/feross/standard/pull/100#issuecomment-88975915.

LGTM. Thanks!


Update display name for Azure Load Testing

We should also be sure to update the other language csv entries with a consistent Service name and Display name.

@weshaggard I've updated the name to be consistent with all other languages.

I think there is still some inconsistencies in Java https://github.com/Azure/azure-sdk/blob/main/_data/releases/latest/java-packages.csv#L6

@weshaggard thanks I've created a PR for Java as well.

#sign-off

@czubair can you please help merge the changes?


Demo Failed

Hi, I cloned the project and run the demo as it is. However, the locations, the sizes are all wrong and no drag and resize icons appear when the mouse gets on the components.  Looks like a CSS related problem but like I said I run as it is. Do you have any idea about what I am missing?
One more thing, "gridStack.getOptions()" parts are showing "deprecated" in the demo. Are they replaced with a new API or will be?
Cheers,
-K

I assume you run these steps:

git clone
on top folder: mvn clean install
then on gridstack-demo folder: mvn jetty:run

These 3 magic steps should take care of all required steps. And make sure all parts are compiled (including widgetset and theme).
getOptions is temporary API. It will be replaced as soon as I add missing parts to API. Feel free to use it until then.

I assume issue is that vaadin:update-theme step isn't run at all on demo project. This would cause missing addons.scss file on gridstack-demo/src/webapp/VAADIN/themes/demo/ folder.
If addons.scss file isn't there, then compiled css will not include any of add-on's styling rules.
Running 'mvn vaadin:theme-update' or 'mvn vaadin:theme-compile' both will update theme and generate addons.scss.
If you do have addons.scss, then something else is broken.

Yeap, that was the problem. I added "update-theme" to the pom file, and all works fine now.
Many thanks,
-K

Ok, I will also add that goal to demo project's pom.xml, to be sure.

Closing, fixed in master.


Open a notebook via the command line

Fixes #39
This requires jupyter_server>=1.2.3.
Add missing dependencies to setup.py.

Setting as draft for now as 1.2.3 has been yanked on PyPI: https://pypi.org/project/jupyter-server/1.2.3/

Setting as draft for now as 1.2.3 has been yanked on PyPI: https://pypi.org/project/jupyter-server/1.2.3/


Remove usage of non-public value field

Currently, the runtime depends on accessing the hidden value field of primitive boxing types to get their value. As of API 29 of android, this operation is not permitted. This PR fixes this behaviour by using the <type>Value methods for the different boxing types.

test

test --performance

test --performance


Update hover area to extend left and right

extend hover area left and right of the tray, using better width calculations
add padding so buttons show in non-wide mode
fix dev mode in vite with new app_config

looks good

Actually just ran marimo edit and seeing this:

except e2e test is failing

click events on run button are getting intercepted by the tray div


Redesign the existing API

The current codebase, which is written in Javascript, has been identified as challenging to maintain and lacks scalability. Despite the API offering a robust interface, it falls short in terms of accuracy, readability, and maintainability. These shortcomings could potentially be addressed with a more thoughtful design, which could also enhance the overall performance of the API.
In light of these issues, a decision has been made to redesign and rewrite the existing API using Rust. This transition is designed to be seamless and will not impact the usage of the API post-deployment.
For those who wish to refer to the previous version of the code, it remains accessible via this specific commit on GitHub.
The new API will leverage the flipkart-scraper crate, with its source code also available for reference. Please note that porting to this new system will require some time. We appreciate your patience during this transition.

The API will only have self-hosting option, no pre-hosted deployment will be provided.


Update Move ptr, pickup verifier changes

Description
Picks up verifier metering changes with metering off to unblock other work
Enabling verifier metering in signing will come in subsequent PR.
Note: some errors got changes. Please check if we want  different Vm status types.
Test Plan
Existing tests
If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Note: some errors got changes. Please check if we want different Vm status types.

I think we want to preserve Result<(), ExecutionError> as much as possible and use PartialVMError only where we strictly need to (i.e., where we are implementing the traits defined in move repo). I think some functions here propagate PartialVMResult unnecessarily, give me a minute to try and reverse that.
^ based on me "demoting" propagation of PartialVMError in the past https://github.com/MystenLabs/sui/commit/27bee572aa62de4a43d6a605042ff7566ab00f50 based on @tnowacki's guidance.
Besides, I don't think the info included in the PartialVMResult error messages are particularly helpful.

Note: some errors got changes. Please check if we want different Vm status types.

I think we want to preserve Result<(), ExecutionError> as much as possible and use PartialVMError only where we strictly need to (i.e., where we are implementing the traits defined in move repo). I think some functions here propagate PartialVMResult unnecessarily, give me a minute to try and reverse that.
^ based on me "demoting" propagation of PartialVMError in the past https://github.com/MystenLabs/sui/commit/27bee572aa62de4a43d6a605042ff7566ab00f50 based on @tnowacki's guidance.
Besides, I don't think the info included in the PartialVMResult error messages are particularly helpful in this case.

Right. The main reading for the changes is the upstream Move trait signatures changed to PartialVMResult, so the impls had to also. Alternative is to rewire the traits upstream or do type conversions.
I'm open to whatever we agree is most efficient

So, after checking, only join and the execute transfer functions need to use PartialVMError, our other function signatures can stay the same and return ExecutionError, and we don't need to introduce VMMVerifierErrorSubStatusCode right now. This assumes we are OK with not pulling in and handling the substatus code stuff in this PR, which I think is reasonable, because we probably want to keep the diff on the bump as small as possible?
Here's what I mean: #9605 (second commit should be all the Rust changes we need in this PR 26f95a6)
If we're in a hurry to merge this PR (which is why I'm approving), I'll just follow up with the changes to PartialVMError after this PR merges. And then follow up with incorporating and converting the substatus codes (which I think can be useful) but without needing to "leak" PartialVMStatus into our function signatures as much to get it.

Good point in flagging that we can do less leaking of PartialVMStatus in this PR. Let me do a second pass and try to reduce usage.

@oxade after looking at snapshots I realize my idea does produce a bit of ickyness since we can't represent ExecutionError properly inside PartialVMStatus. I don't think we can avoid it without changes to the Move repo, so whether we go this route or go with this PR as-is at this point is OK with me.

Also this is not including the loader changes that @amnn is making right?

Correct -- these have only recently gone up for review here: #980 -- not an issue though, I can do another bump tomorrow.

this is fine by me but let's see if others (e.g. @tnowacki @amnn) have opinions on the errors.

Don't have an opinion here.


NIC Command Updates and Subresources

Continues work from closed PR #514 incorporating feedback, adding completers and updating for changes made while I was away.
Updates to nic create. Adds nic set and the commands for nic ip-config *. Note that ip-config create and ip-config delete do not work due to a service limitation (you can only have one ip-config on a NIC unless you have a feature flag turned on for your subscription).

Hi @tjprescott, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

NIC Create (Updates)
Command
    az network nic create

Arguments
    --name -n           [Required]: Name of the new NIC.
    --resource-group -g [Required]: Name of resource group.
    --subnet            [Required]: Name or ID of an existing subnet.
    --internal-dns-name           : The internal DNS name label.
    --ip-forwarding               : Enable IP forwarding.
    --lb-address-pools            : Space separated list of names or IDs of load balancer address
                                    pools to associate with the NIC. If names are used, --lb-name
                                    must be specified.
    --lb-inbound-nat-rules        : Space separated list of names or IDs of load balancer inbound
                                    NAT rules to associate with the NIC. If names are used, --lb-
                                    name must be specified.
    --lb-name                     : The name of the load balancer to use when adding NAT rules or
                                    address pools by name (ignored when IDs are specified).
    --location -l                 : Location.
    --network-security-group      : Name or ID of an existing network security group to associate
                                    with the NIC.
    --private-ip-address          : Static private IP address to use.
    --private-ip-address-version  : The private IP address version to use.  Allowed values: ipv4,
                                    ipv6.  Default: ipv4.
    --public-ip-address           : Name or ID an existing public IP address to associate with the
                                    NIC.
    --tags                        : Multiple semicolon separated tags in 'key[=value]' format. Omit
                                    value to clear tags.
    --vnet-name                   : The virtual network (VNet) associated with the provided subnet
                                    name (Omit if supplying a subnet id).

NIC Set
Command
    az network nic set

Arguments
    --ids                   : ID of resource.
    --internal-dns-name     : The internal DNS name label.
    --ip-forwarding         : Enable IP forwarding.  Allowed values: true, false.
    --name -n               : Name of the new NIC.
    --network-security-group: Name or ID of an existing network security group to associate with the
                              NIC.
    --resource-group -g     : Name of resource group.

NIC ip-config create
Command
    az network nic ip-config create

Arguments
    --name -n           [Required]: The name of the IP configuration.
    --nic-name          [Required]: The network interface (NIC).
    --resource-group -g [Required]: Name of resource group.
    --lb-address-pools            : Space separated list of names or IDs of load balancer address
                                    pools to associate with the NIC. If names are used, --lb-name
                                    must be specified.
    --lb-inbound-nat-rules        : Space separated list of names or IDs of load balancer inbound
                                    NAT rules to associate with the NIC. If names are used, --lb-
                                    name must be specified.
    --lb-name                     : The name of the load balancer to use when adding NAT rules or
                                    address pools by name (ignored when IDs are specified).
    --private-ip-address          : Static private IP address to use.
    --private-ip-address-version  : The private IP address version to use.  Allowed values: ipv4,
                                    ipv6.  Default: ipv4.
    --public-ip-address           : Name or ID an existing public IP address to associate with the
                                    NIC.
    --subnet                      : Name or ID of an existing subnet.
    --vnet-name                   : The virtual network (VNet) associated with the provided subnet
                                    name (Omit if supplying a subnet id).

NIC ip-config inbound-nat-rule add
Command
    az network nic ip-config inbound-nat-rule add

Arguments
    --inbound-nat-rule [Required]: The name or ID of an existing inbound NAT rule.
    --id                         : ID of resource.
    --ip-config-name -n          : The name of the IP configuration.
    --lb-name                    : The name of the load balancer associated with the NAT rule (Omit
                                   if suppying a NAT rule ID).
    --nic-name                   : The network interface (NIC).
    --resource-group -g          : Name of resource group.

NIC ip-config address-pool add
Command
    az network nic ip-config address-pool add

Arguments
    --address-pool [Required]: The name or ID of an existing backend address pool.
    --id                     : ID of resource.
    --ip-config-name -n      : The name of the IP configuration.
    --lb-name                : The name of the load balancer associated with the address pool (Omit
                               if suppying an address pool ID).
    --nic-name               : The network interface (NIC).
    --resource-group -g      : Name of resource group.

:shipit:


binary data breaks mp_ds2cards.sas

The current mechanism cannot cope with binary data

To reproduce:
data test;
  format bin $hex500.;
  do x=1 to 250;
   z=byte(x);
   bin=trim(bin)!!z;
  end;
  put bin=;
run;

%mp_ds2cards(base_ds=work.test,showlog=YES
	, cards_file="%sysfunc(pathname(work))/c2.sas"
    , tgt_ds=work.y
    , append=
)

%inc "%sysfunc(pathname(work))/c2.sas"/source2;

proc compare base=test compare=y;
run;

Updated result following PR #79

:tada: This issue has been resolved in version 2.48.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


K8S development directory

Meant to act similar to how we run docker-compose for development with Docker so we can test for Kubernetes-specific features (ie. persistent-service-update)
For main infrastructure, we'll use the local registry add-on in microK8S and the script will build and push to the local registry when run with a tag parameter.
Improvements can definitely be made to this dev setup, so feedback is wanted!

Codecov Report

Merging #315 (725d451) into master (2908791) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #315   +/-   ##
=======================================
  Coverage   67.20%   67.20%
=======================================
  Files         120      120
  Lines       10561    10561
=======================================
  Hits         7098     7098
  Misses       3463     3463

Impacted Files
Coverage Δ

assemblyline/common/heuristics.py
82.81% <0.00%> (-1.57%)
:arrow_down:

assemblyline/odm/randomizer.py
94.73% <0.00%> (-0.44%)
:arrow_down:

assemblyline/datastore/helper.py
32.31% <0.00%> (+0.14%)
:arrow_up:

assemblyline/datasource/alert.py
92.30% <0.00%> (+3.84%)
: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 2908791...725d451. Read the comment docs.

nuking this branch to cleanup the history


Added convenience methods to set caching of HTTP responses

Coverage increased (+0.03%) to 96.457% when pulling f1ebb354a1f40cda949b83c001bd044115120725 on feature/http-request-configure-caching into 8afdf4b32e847be7d9e246756e13fcc210d2a494 on master.


API access for regular user

Hi,
I have a few users interested in processing metric data from their jobs. I'm strongly in favor of that, but as of now, only users with the role 'api' could do this. But the api role also allows to add/delete jobs...
Could you think of a way, that 'normal' users can, just like in the web frontend, get read-only access via API to their jobs?

Yes, you are right. That would be an important feature, and also here some users asked for it.
We have to discuss how we can merge the database logic from repository/query.go with the one in repository/job.go used in the REST API. In query.go there is a Security check as part of the query builder that ensures that you can only see the jobs you are supposed to see according to your role: https://github.com/ClusterCockpit/cc-backend/blob/0b2f2214f99d14aa73757173616f92bb895240c4/internal/repository/query.go#L95

Found sth. that almost works, the graphql endpoint. A Query like this with a JWT token of the corresponding user does the job.
Altair has a browser plugin to debug this.
{
  job(id: 3055306){
    user,
    startTime
  }
  jobMetrics(id: 3055306, metrics:"mem_used"){
    name,
    metric{
      series{
        data
      },
      timestep
    }
  }
}

Response:
{
  "data": {
    "job": {
      "user": "k12345",
      "startTime": "2024-04-30T18:05:14+02:00"
    },
    "jobMetrics": [
      {
        "name": "mem_used",
        "metric": {
          "series": [
            {
              "data": [
                7.15,
                7.17,
                56.31,
                57.1,
                57.1,
                57.1,
                56.88
              ]
            }
          ],
          "timestep": 60
        }
      }
    ]
  }
}

The only remaining issue is, that a regular user can't generate a JWT token for themselves, right? I find it only in the admin options. But that should be easy to implement.

Separate branch merged into avtive dev branch: Refactor-Job-Footprint


Support LDIF files containing more than one entry and at least one modification

Currently ldap-server requires multiple LDIF files if an entry contains a changetype entry and does not properly apply modifications.
One use-case is: Enable a build-in schema, add attribute types and sample data.
It was tested with ldapadd, which happily accepted this case and applied the changes, while ldap-server rejected them:
[main] ERROR org.apache.directory.api.ldap.model.ldif.LdifReader - ERR_12004_CHANGE_NOT_ALLOWED We cannot have changes when reading a file which already contains entries, at line 6 [main] ERROR org.apache.directory.api.ldap.model.ldif.LdifReader - ERR_12005_NO_CHANGE No changes within entries Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.apache.directory.api.ldap.model.ldif.LdifEntry.getDn()" because "ldifEntry" is null
        at com.github.kwart.ldap.LdapServer.checkPartition(LdapServer.java:184)
        at com.github.kwart.ldap.LdapServer.importLdif(LdapServer.java:173)
        at com.github.kwart.ldap.LdapServer.importLdif(LdapServer.java:165)
        at com.github.kwart.ldap.LdapServer.<init>(LdapServer.java:97)
        at com.github.kwart.ldap.LdapServer.main(LdapServer.java:76)

I pushed an update, that should fix the unittest run. The ldap server started in  LdapServer2Test needs to be stopped.

Thanks for the improvement, Matthias. LGTM :+1:


[1.22] repo: Release v1.22.8

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/docs

this is the last of the manual release branches so once it lands i will still have to wait for CI and then manually create the tag

/retest

forcing this through on the basis that it can pass the release testing, but the coverage keeps on failing - should be good enough to release


Allow users to specify PubSub's subscriber callback

Right now we set the callback for the user, PubSubInboundChannelAdapter.receiveMessage().
We should add in a functional interface in the constructor to allow users to specify a callback.
There were also talks of specifying a MessageListenerContainer (?), but I haven't looked into this.

That's not correct.
The PubSubInboundChannelAdapter is an start of the integration flow, which is based on the message channel communication. So, letting end-user to inject his own callback eliminates the PubSubInboundChannelAdapter purpose.
The current solution is absolutely right where we receive a PubSub message, convert it into the SI Message and send to the configured channel. That is how SI works.
What you suggest makes sense outside of the SI. That is what we call MessageListenerContainer. The good sample of that is Spring Kafka: https://github.com/spring-projects/spring-kafka/tree/master/spring-kafka/src/main/java/org/springframework/kafka/listener
and the Inbound Channel Adapter for it: https://github.com/spring-projects/spring-integration-kafka/blob/master/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageDrivenChannelAdapter.java
I find this PubSub Subscriber as pretty straightforward API that we even don't need that MessageListenerContainer (at least for now).
The good sample for similar approach is MqttPahoMessageDrivenChannelAdapter: https://github.com/spring-projects/spring-integration/blob/master/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/MqttPahoMessageDrivenChannelAdapter.java. Where we don't have any containers and just subscribe to the topics (this.client.subscribe(topics, grantedQos);) and register ourselves as callback - this.client.setCallback(this);.

That's great! Yes, that makes sense.
I filed this issue after a conversation with @viniciusccarvalho yesterday, but I might have failed to understand what was actually being talked.
We spoke about this in the scope of the auto/manual PubsubMessage ack/nack. However, it seems like this isn't a good way of getting there.


Crons Celery: automatically clean up tasks that are no longer in use

Our Celery integration makes it easy to set up multiple monitors, sometimes more than 100 at once. However, if changes are made to these tasks that apply to all monitors simultaneously—for example, changing an environment name from prod to us — all monitors will start emitting "missed" errors.
Ideally, our Celery integration would track these changes and automatically clean up any old environments or monitors for tasks that no longer exist.

Ideally, our Celery integration would track these changes and automatically clean up any old environments or monitors for tasks that no longer exist.

This is probably not going to happen since the SDKs do not maintain state.

This is probably not going to happen since the SDKs do not maintain state.

I believe @evanpurkhiser is correct here: the SDK would need to have a list of the currently running cron jobs that are being monitored to implement this change, but we don't have such a list as far as I know.

This is probably not going to happen since the SDKs do not maintain state.

I believe @evanpurkhiser is correct here: the SDK would need to have a list of the currently running cron jobs that are being monitored to implement this change, but we don't have such a list as far as I know. My understanding is that we emit checkins (including monitor upserts) as cron jobs are run, without storing any information about them in the SDK

Right, I realize this is tricky. Any ideas how we can make the above scenario easier? We've had this scenario come up a couple of times, not only for us internally, but from customers as well. Is a UI-based bulk management solution the best way forward?

Yes, a solution in the UI is the only way. The SDK does now know about config changes and I also think we should not implement something like this.

@gaprl @antonpirker gonna close this issue for now, since as @antonpirker mentioned in his previous comment, there is not really any way we can do this in the SDK


Determine how we want to use Percy

Per these discussions:
https://ibm-studios.slack.com/archives/C02H44VRGQP/p1653490369963069
https://ibm-studios.slack.com/archives/C03468NQVLJ/p1653571983829429
Let't determine how we want to use Percy, and expected (rough ballpark) monthly snapshot requirements.

Start with storybook, test each story in PR.
Estimated 10,000 snapshots per month to start
(46 stories x 50 PRs/month x 3 (account for commits to each PR after opening)


[SMALLFIX] Fix relative paths

These paths broke during the integration/bin refactor

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12685/
Test PASSed.


Maintainers

If you are interested in maintaining this repo, please leave a comment here.

hello @uetchy i am making a node for node-red based on your library.
I am ok to make some example as much as possible during the dev of the node.
also i am ok to update and test the dependency (for example axios have a vulnerability on the used version.

hello @uetchy i am making a node for node-red based on your library.
I am ok to make some example as much as possible during the dev of the node.
also i am ok to update and test the dependency (for example axios have a vulnerability on the used version.

@uetchy thanks for the answer. I will try to do my best.


templ version check: failed to read go.mod file: open /go.mod: no such file or directory

I just updated the templ version to v0.2.663 and noticed a warning from the build:
(!) templ version check: failed to read go.mod file: open /go.mod: no such file or directory

We rely on monorepo and go.mod is not where templ would expect it to be. Also, we integrated templ with bazel build.
Can we skip the warning if the go.mod wasn't found or provide an option to silence it? I don't want to silence all output as it is useful to know when the file could be transposed correctly
Alternatively, we can provide the path to go.mod with an arg instead of templ assuming where it is
I found --path param. Unfortunately, in bazel I cannot just refer any files in the project and go.mod has limited visibility

Ok, seems like "-log-level", "error" does the magic trick. Will keep the issue here just for you to know about the use case


Follow-along guide on the basics of monaco-editor and monaco-vscode-api

Hi! Thanks for the project, it helps a lot. I've seen some issues about the high entrance barrier and lack of documentation and I felt it myself. So, during my deep dive, I've decided to document my path step by step and build a guide on building a minimal Monaco editor with working LSP client from the perspective of a newbie. I was thinking on improving the docs somehow, but I don't feel I can handle it myself, so I thought such a post is a better contribution than nothing.
I believe this may save a lot of time and help newcomers to get grasp of the main concepts and the workflow. I tried to keep things as simple as possible, introducing new functionality one by one. It may lack the details, but that's intended.
It's available here:

https://github.com/Barahlush/monaco-lsp-guide
https://dev.to/__4f1641/so-you-want-to-set-up-a-monaco-editor-with-a-language-server-2cpn

I propose to add a link to it to README, or even paste it as an .md file here if you find this useful. Feel free to use it in any way.
Also, if you have any comments and corrections on the content, feel free to make them or just feed back to me and I will fix.

Hello!
Thank you for your contribution!
I'm not sure what can be the best way for this kind of documentations.
Github offers a wiki feature but I've never used it, maybe it's worth trying it, what do you think?
Otherwise the main README.md can contain a section with user guides 🤔
Anyway I've have a look at you guide ;) thanks again!

Here's my comments:
small typo: getWorkter

For other languages Monaco provides less features out of the box and uses the default editorWorker

It's not exactly how it works. The editor worker is required no matter what. the language feature workers are on top of that.
btw, you didn't mention how to use the monaco language feature worker after switching from monaco-editor

monaco-editor/esm/vs/language/textmate/textmate.worker.js

I wonder were it comes from and if it works 🤔 the url used in the demo is @codingame/monaco-vscode-textmate-service-override/worker
note that the textmate worker being enabled by default is really new, and it's still possible to disable it and run it in the main thread

afaik, to turn the highlighting on you may need to manually edit your code (e.g. add and remove a whitespace), so the TextMate worker starts to work. I may update this later if I find a robust solution.

I'm not aware of this issue, isn't it related to the weird worker url, forcing VSCode to fallback to the mainthread implementation?

Now, just install and run python-lsp-server on the port you selected:

Oh I didn't know the python lsp was able to expose websocket directly! I wonder what is their use-case :)
Anyway, very good guide, way more understandable that anything I would be able to produce (:

Thank you for feedback!
About the documentation format, I think wiki may be a good idea. I haven't used it myself too, but I've met some projects of similar complexity using wiki, and it seems to help structure things and keep the README.md more focused on the high-level overview. Here is a couple examples:
https://github.com/ggerganov/llama.cpp/wiki
https://github.com/oobabooga/text-generation-webui?tab=readme-ov-file#documentation
Also, here is another nice role model, Ollama, they just keep all the docs in .md files in the docs folder, including tutorials in docs/tutorials folder. It looks simple and easy to maintain:
https://github.com/ollama/ollama/tree/main/docs
I can help with setting up the docs if you choose the way.
About comments:

It's not exactly how it works. The editor worker is required no matter what. the language feature workers are on top of that.

Fixed, added note on that

btw, you didn't mention how to use the monaco language feature worker after switching from monaco-editor

Do you mean built-in ts/js/css/html/json language features?  I'll describe it

I wonder were it comes from and if it works 🤔 the url used in the demo is @codingame/monaco-vscode-textmate-service-override/worker

It works without any warnings/errors, moreover, when using @codingame/monaco-vscode-textmate-service-override/worker instead, I receive a console error TypeError: Cannot set properties of undefined (setting 'vscodetextmate') and the problem with the service starting highlighting only after editing the code remains. Should I create an issue on that with more info about my setup?

note that the textmate worker being enabled by default is really new, and it's still possible to disable it and run it in the main thread

Is it possible to still use Monarch grammars with monaco-vscode-api? Are there any examples? If it is simpler, I may document it too.

Are you already able to edit the wiki?

I've created an initial page, so seems like so. To start, I can try to copy and add current contents of README as wikis pages if it's ok

There are separate packages: @codingame/monaco-vscode-standalone-XXX-language-features (XXX being typescript/html/css/json) you need to import to enable the feature, and @codingame/monaco-vscode-standalone-XXX-language-features/worker to be registered as workers

Got it! Haven't seen this yet but I'll check that out and try to add a minimal example.

That redirects it to an empty module that does nothing

You are right, I'll fix that in the guide and create an issue with my problem then

Your question doesn't really seem related to my comment 🤔

As far as I understand, textmate is an alternative tokenizer to Monarch, and if textmate is not used (disabled), then Monarch is used. So I thought it may make sense to first explain how to turn on Monarch-based highlighting without introducing additional (TextMate) service. But seems I misunderstood something. Can you then please elaborate a little on your comment? What do you mean by "textmate worker being enabled by default"?

note that the textmate worker being enabled by default is really new, and it's still possible to disable it and run it in the main thread

As far as I understand, textmate is an alternative tokenizer to Monarch, and if textmate is not used (disabled), then Monarch is used.

I wasn't talking about disabling textmate, but disabling the worker, and making it run in  the main thread instead. It's managed by the editor.experimental.asyncTokenization setting

I've prepared a first draft of wiki, here: https://github.com/Barahlush/test_wiki
Moved there information from README and docs/ folder, as well as my guide.
I've changed the README slightly:

moved most of the services list into the wiki (in perspective, it would be nice to add a usage example for each service. I'm thinking about generating them using Claude based on current examples, guide and demo, to start with)
made some examples a little more simple and full
changed the order of topics (based on my estimation of information importance, open to change)).
added links to the wiki

Check this, please, if ok, I'm ready to move it to this repo

Thanks! Not sure about the main page, probably will just remove it to avoid duplication.

Small note on the included by default: it's still separate packages, but the main package depends on them. Also, this notice can probably be removed since the header is Some basic service overrides are included in this package:

fixed
So, can I upload it here?

Sure go on! It doesn't need to be perfect at first anyway, we'll iterate from there
I think I've open the wiki to anyone though, I'm not sure how it works, will someone be able to destroy it?


ERROR: python ./builder/generate.py sets all icon content to "{ content: ""; }"

Using the python generate.py script overwrites the css file and sets ALL the icon CSS content to:
.ion-alert:before { content: ""; }
Before running the generate.py script all icons in the CSS file (css/ionicons.css) had individual content tags:
ion-alert:before { content: "\f101"; }
etc.
No new icons were added. Just cloned from git, and ran "python ./builder/generate.py".
Sass 3.4.19 (Selective Steve) installed.
fontforge-20150612 installed
ttfautohint-1.3 installed
Python 2.7.10

I had the same issue.
So I used what was in branch 3.0 and it works there.

Is this an issue in the 3.0 branch?

Greetings @idekterev!
My sensors indicate a reply was requested, but as we have not received one yet, I am using my robot powers to close this issue. However, if you are still experiencing this issue, please feel free to reopen it by creating a new issue, and include any examples or necessary information.
Thank you for allowing me to assist you.


Create rui component for ace editor

there's some boiler plate ace config that we should just wrap in a component. Give it a code string or an object and it figures out what to do with it

RWARRR! Thanks for posting, @ajkitson. Ich Bin RedoxBot-- nice to meet you!
It has been 60 days since there have been any updates or new comments on this page.       If this issue has not been resolved and needs to be re-opened, please take a minute to re-open it. Report problems with the bot to @nwhatt


0055 MetaMask Snap Proposal

View Proposal Here

(This is a re-upload of this PR since it was merged by accident, then reverted)

Are we still putting this on hold for now?

Yeah we still need to have discussions around budget approval - Needed to recreate this PR though in order to track our decision on that front and correctly document the status of this bounty in the Discussion post for it here: https://github.com/XRPLBounties/Proposals/discussions/42

The team has decided to pause on this bounty for now, so it will not be available for the time being.


New API to create vc and remove vc and do the same operation to group

Coverage decreased (-5.2%) to 46.049% when pulling 2aff7059a43fda042a769e57bf7c035025ee29e2 on yuye/vc-group-add-api into ab82962bf2c00fc868c5d75ba82a6e79a2a9598b on authndev.


[Bug]: TypeError in DatasourceCard  APPSMITH-6C6

Is there an existing issue for this?

[X] I have searched the existing issues

Description
https://appsmith.sentry.io/issues/4175307063
Steps To Reproduce
NA
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud

less than 300 events, won't fix


Enrich migration guide

After some feedback received

@ndr-brt  ah, didn't see the closed status. Sorry

@ndr-brt ah, didn't see the closed status. Sorry

@stephanbcbauer could you eventually open an issue on tractusx-edc? I will take care of that


Add contribution guidelines/instructions to the README

The README should include what is expected when adding new components such as:

File structure
freesyle
ember-prop-types
testing

[ ] Generate component with ember g component <name>
[ ] Addon docs update inside dummy
[ ] Add to changelogs
[ ] Documented component using prop-types (Inside component js file)
[ ] Update tests with ally.


Error with database version 118

Hello and thank you for your job :slightly_smiling_face:
I already ran signal2html with success but this time it's not working :confused:
I've got this :
$ signal2html -i signal-backup-2021-11-15-14-02-50 -o signal-backup-2021-11-15-14-02-50_html
Found untested Signal database version: 118.
Group for recipient 1267 is '__textsecure_group__!2bdafcb85cd87e830306786cd49e0e9d' which does not exist.
Group for recipient 1268 is '__textsecure_group__!686d5b59b8720222ccb7864d99145ec3' which does not exist.
Group for recipient 1269 is '__textsecure_group__!8b6b00a62bfef9ff5e300a3eb348533a' which does not exist.
Group for recipient 1270 is '__textsecure_group__!bb2abe181e3f8e72efbbe96743c9585f' which does not exist.
Group for recipient 1271 is '__textsecure_group__!bc7acbecf4c8130a125a311bef4e292c' which does not exist.
Group for recipient 1294 is '__textsecure_group__!b7f2a230bd2f997b918066b89ae22ca0' which does not exist.
Traceback (most recent call last):
  File "/home/martin/.local/bin/signal2html", line 8, in <module>
    sys.exit(main())
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/__main__.py", line 15, in main
    sys.exit(realmain())
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/ui.py", line 35, in main
    process_backup(args.input_dir, args.output_dir)
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/core.py", line 257, in process_backup
    query = db.execute("SELECT _id, recipient_ids FROM thread")
sqlite3.OperationalError: no such column: recipient_ids

Unfortunately I can't help more, I don't understand anythings about Python :sweat: :snake:
But I am ok to contribute with beers :beers: (or something else)
Thanks for your help :slightly_smiling_face:

By reading database (with DB Browser for SQLite) I see the structure of the table "thread" :
CREATE TABLE "thread" (_id INTEGER PRIMARY KEY AUTOINCREMENT, date INTEGER DEFAULT 0, thread_recipient_id INTEGER, message_count INTEGER DEFAULT 0, snippet TEXT, snippet_charset INTEGER DEFAULT 0, snippet_type INTEGER DEFAULT 0, snippet_uri TEXT DEFAULT NULL, snippet_content_type INTEGER DEFAULT NULL, snippet_extras TEXT DEFAULT NULL, read INTEGER DEFAULT 1, type INTEGER DEFAULT 0, error INTEGER DEFAULT 0, archived INTEGER DEFAULT 0, status INTEGER DEFAULT 0, expires_in INTEGER DEFAULT 0, last_seen INTEGER DEFAULT 0, has_sent INTEGER DEFAULT 0, delivery_receipt_count INTEGER DEFAULT 0, read_receipt_count INTEGER DEFAULT 0, unread_count INTEGER DEFAULT 0, last_scrolled INTEGER DEFAULT 0, pinned INTEGER DEFAULT 0)
I can't see recipient_ids but thread_recipient_id. Is that the problem ?
Can I help in another way ?
Thanks

Hi @Martin-bcd,
What version of signal2html are you using? From your error message above it looks like you may be using an older version. Try updating it with pip install -U signal2html, and let me know if that solves the problem! :)

Thanks, it seems to work :smile:
I am on Manjaro and I am used to have all my packages updated in one time with Pacman but I forgot that I installed it with pip :sweat_smile:
:+1:

OK, As soon as I closed the issue, it failed again ! :sweat:
It worked longer but it failed :
$ signal2html -V
0.2.6
$ signal2html -i signal-backup-2021-11-15-14-02-50 -o signal-backup-2021-11-15-14-02-50_html
Found untested Signal database version: 118.
Group for recipient 1267 is '__textsecure_group__!2bdafcb85cd87e830306786cd49e0e9d' which does not exist.
Group for recipient 1268 is '__textsecure_group__!686d5b59b8720222ccb7864d99145ec3' which does not exist.
Group for recipient 1269 is '__textsecure_group__!8b6b00a62bfef9ff5e300a3eb348533a' which does not exist.
Group for recipient 1270 is '__textsecure_group__!bb2abe181e3f8e72efbbe96743c9585f' which does not exist.
Group for recipient 1271 is '__textsecure_group__!bc7acbecf4c8130a125a311bef4e292c' which does not exist.
Group for recipient 1294 is '__textsecure_group__!b7f2a230bd2f997b918066b89ae22ca0' which does not exist.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_1834_1586808825833.bin'. Maybe it was deleted or never downloaded.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_690_1531739530460.bin'. Maybe it was deleted or never downloaded.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_691_1531739538200.bin'. Maybe it was deleted or never downloaded.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_692_1531739548574.bin'. Maybe it was deleted or never downloaded.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_2454_1604072295244.bin'. Maybe it was deleted or never downloaded.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_2455_1604072304388.bin'. Maybe it was deleted or never downloaded.
Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_1934_1588425451506.bin'. Maybe it was deleted or never downloaded.
Failed to load group update data (v2) for message 21239: __init__() missing 1 required positional argument: 'change'
Traceback (most recent call last):
  File "/home/martin/.local/bin/signal2html", line 8, in <module>
    sys.exit(main())
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/__main__.py", line 15, in main
    sys.exit(realmain())
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/ui.py", line 35, in main
    process_backup(args.input_dir, args.output_dir)
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/core.py", line 672, in process_backup
    dump_thread(t, output_dir)
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/html.py", line 243, in dump_thread
    event_data = format_event_data_group_update(
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/html.py", line 125, in format_event_data_group_update
    if data.change_by:
AttributeError: 'list' object has no attribute 'change_by'

Always the same warning on top : Found untested Signal database version: 118.
( I was in version 0.2.1 before and now 0.2.6)
It is a different issue but always with database version 118 so I keep the same ticket !

Thanks for testing this @Martin-bcd! :+1: Glad to hear we got one issue fixed at least!
It sounds like the issue you have now is the same as in #52. If you like, you can try the fix that I've suggested there to see if that solves it (that would help me to figure out the issue).
The warning about the untested Signal database version means that you're on a version that I've not tried yet, so I can't guarantee that it works (which, in this case, it doesn't). As soon as we figure out how to fix this and we get it to work, I'll update the code and remove that warning :)

OK. Thank.
On my previous post I said it failed and it's correct but I got lots of data and maybe it was very close to the end
This is what I am doing now :
$ pip uninstall signal2html
(...)
$ pip install -U git+https://github.com/GjjvdBurg/signal2html.git@bugfix/group_update_v2
(...)
$ signal2html -V
0.2.6
signal2html -i signal-backup-2021-11-15-14-02-50 -o signal-backup-2021-11-15-14-02-50_html2
2021-11-22 23:06:55 | INFO - This is signal2html version 0.2.6
2021-11-22 23:06:55 | INFO - Using database version 118.
2021-11-22 23:06:55 | WARNING - Found untested Signal database version: 118.
2021-11-22 23:06:55 | INFO - Group for recipient 1259 is '__signal_mms_group__!035c1f6593090a168a11b5f8e0c06660' and will be called by group id using name 'Group 2'.
2021-11-22 23:06:55 | INFO - Group for recipient 1260 is '__signal_mms_group__!0879969925e89a47117a5a5e9e093647' and will be called by group id using name 'Group 1'.
2021-11-22 23:06:55 | INFO - Group for recipient 1261 is '__signal_mms_group__!2bdafcb85cd87e830306786cd49e0e9d' and will be called by group id using name 'Group 5'.
2021-11-22 23:06:55 | INFO - Group for recipient 1262 is '__signal_mms_group__!455d1b2014869e4f75aa6cfbe2d58a70' and will be called by group id using name 'Group 4'.
2021-11-22 23:06:55 | INFO - Group for recipient 1263 is '__signal_mms_group__!533e2936c7de17a62dc0c6d09621e476' and will be called by group id using name 'Group 3'.
2021-11-22 23:06:55 | INFO - Group for recipient 1264 is '__signal_mms_group__!8b6b00a62bfef9ff5e300a3eb348533a' and will be called by group id using name 'Group 9'.
2021-11-22 23:06:55 | INFO - Group for recipient 1265 is '__signal_mms_group__!a813d75da32dea4933f5ed2fa25139f0' and will be called by group id using name 'Group 11'.
2021-11-22 23:06:55 | INFO - Group for recipient 1266 is '__signal_mms_group__!bc7acbecf4c8130a125a311bef4e292c' and will be called by group id using name 'Group 10'.
2021-11-22 23:06:55 | WARNING - Group for recipient 1267 is '__textsecure_group__!2bdafcb85cd87e830306786cd49e0e9d' which does not exist.
2021-11-22 23:06:55 | WARNING - Group for recipient 1268 is '__textsecure_group__!686d5b59b8720222ccb7864d99145ec3' which does not exist.
2021-11-22 23:06:55 | WARNING - Group for recipient 1269 is '__textsecure_group__!8b6b00a62bfef9ff5e300a3eb348533a' which does not exist.
2021-11-22 23:06:55 | WARNING - Group for recipient 1270 is '__textsecure_group__!bb2abe181e3f8e72efbbe96743c9585f' which does not exist.
2021-11-22 23:06:55 | WARNING - Group for recipient 1271 is '__textsecure_group__!bc7acbecf4c8130a125a311bef4e292c' which does not exist.
2021-11-22 23:06:55 | INFO - Group for recipient 1282 is '__signal_mms_group__!5efd34cd8812e3917cd485cfa52844dd' and will be called by group id using name 'Group 14'.
2021-11-22 23:06:55 | INFO - Group for recipient 1283 is '__signal_mms_group__!686d5b59b8720222ccb7864d99145ec3' and will be called by group id using name 'Group 8'.
2021-11-22 23:06:55 | INFO - Group for recipient 1284 is '__signal_mms_group__!8e9f2c8e26d8a1b3d83d1f30cddb6205' and will be called by group id using name 'Group 16'.
2021-11-22 23:06:55 | INFO - Group for recipient 1285 is '__signal_mms_group__!967b00f2a55eec4cbf941d862a50f6e6' and will be called by group id using name 'Group 7'.
2021-11-22 23:06:55 | INFO - Group for recipient 1286 is '__signal_mms_group__!ad26c35cb0b9e3eb11dcb3c911fabcff' and will be called by group id using name 'Group 12'.
2021-11-22 23:06:55 | INFO - Group for recipient 1287 is '__signal_mms_group__!b7f2a230bd2f997b918066b89ae22ca0' and will be called by group id using name 'Group 17'.
2021-11-22 23:06:55 | INFO - Group for recipient 1288 is '__signal_mms_group__!bb2abe181e3f8e72efbbe96743c9585f' and will be called by group id using name 'Group 6'.
2021-11-22 23:06:55 | INFO - Group for recipient 1289 is '__signal_mms_group__!e2f88b3443872b5969992b1818768677' and will be called by group id using name 'Group 13'.
2021-11-22 23:06:55 | INFO - Group for recipient 1290 is '__signal_mms_group__!e5f5c4f56f8edfcd6db5ac8e72b45b3d' and will be called by group id using name 'Group 15'.
2021-11-22 23:06:55 | WARNING - Group for recipient 1294 is '__textsecure_group__!b7f2a230bd2f997b918066b89ae22ca0' which does not exist.
2021-11-22 23:09:38 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_1834_1586808825833.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:09:50 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_690_1531739530460.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:09:50 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_691_1531739538200.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:09:50 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_692_1531739548574.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:09:53 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_2454_1604072295244.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:09:53 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_2455_1604072304388.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:10:24 | WARNING - Couldn't find attachment '/run/media/martin/72a42117-f893-4709-9c3f-f6d1001d9ab4/XZ/signal-backup-2021-11-15-14-02-50/Attachment_1934_1588425451506.bin'. Maybe it was deleted or never downloaded?
2021-11-22 23:10:40 | WARNING - Failed to load group update data (v2) for message 21239:
Message body: 'b'\n$\n \x83\xb2\xfd\xf2\xf0\'?\x8a2%z\xd4\xe7\xdb\x1cy\x87\xa7\x00\x14au\xb0k\xa2\x8c[\xac\xde\x9dl\xda\x10\x00\x1a\xb3\x07\x12\x1bAnniv surprise de Reno \xf0\x9f\x98\x9c"\x00*\x04\x08\x02\x10\x02:6\n\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8\x10\x02\x1a \x83\xc2\x93\xb9\xe4\x96x\xf8\x93\x06\xf7tb\xd7\xf4\n\xadP\xfeA\x91\x1c\xa20\xffk_\\\x8a\xc5\xed\x8a:6\n\x10\xca\xe6J\x03\xcf\x8cMx\x80\x18NV\xaae\x84\x90\x10\x01\x1a }\x7fVFV\xf9O\xd1\xb6l\xb3\xaa\xba\x81\x14\xf4\xe1\x94\xfc\xe6\xb3Hn\x1e\xb1T\x8agT\xb0\x9d\x0fBp\n\x10\x92\xe4\x8c\xf2\xb5\\B\xa7\xae\x00\x97\xe3\x06<\x18c\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00\x14\xe3]I:{hG\xab\x80L\x95yxe\xe3QHA\tk\r\xee\x9bQ\x88\x8d\x95.\xd6\xcdX\x18\xad-rr\xa4\xd2\xed&>x( \x1d\xb6C\xfd\x83\x0bA\x88gL\xa0\x8a\xff\x93\xc8\x9b\xef\xe0\x07Bp\n\x10p\xb4\xd1\x18S\x0fOt\x8f\xc0\xc9P\nVt\xd3\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00z\xa2@k\xcf\x9b\xbc\x1e\xd5\xc0M\xef/B\xdf\x9c\x89_\x8a+Jr~_\x08|B7\x84\x82]%,\x1c\x81\x1a"{\xf1\xf2\xfe\x0b9#\xc0\xda\xb0y\xf9y\xd1\xfd bh\xef\x0b\x04\xa4@\x80uw3Bp\n\x10Z>\x7f\xa0\xce\xfdEo\xaa\xaf)|\'h\xda$\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00 \xb9\xef\x03\x9a\x81O\xe0Y\xe1f\xf2\xb1\x94D\x16u\r\xd3\x17\xcbub\xecQ\x91\xafM\x07\xcc\x9d]\xc4\xd0\x1f\xec\xe0\xc7\xaa\x8a\rR \xd8\xa3H\x8c.\xb4\xc2Ev\xee\x0bM\xfa\x87!\xd34\x9a\xa1\x8b\x1eBp\n\x10\xee\x94.t\xa4\xb4M$\x93\x1f^\xdc\x93 U[\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00\xdc\xcf\'\xba\xc3\xf7U\x1c_\x89A\x1f\xd6I\x9c\x81\xd8\x11X\xada\xe5\xfaU\x0f\x82\x8f\x15\xb3\xe5@Y\xc6\xdbE~r\xc9G\xa3_\xe4)\xd9\x04\x1c\xfc\xd2bY\xc0I\xa7\xe1-9\xb3L\x13\xf6\xb8\xb5\n\x17Bp\n\x10?Ub\xe8\xe6\x1fD\x12\x9b\x86;\xc2\x06=\x1ab\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00\x0e\xe8\r\xc3*\x9d\xce6\x07\xf7m\x01\xd8\xb7\xa3\x0b\xa1\xf0\r,\x12Jk-\'\x84\x11\xbf\xdeH\x93+Rx\x8f\x9e\xa2f\\\n\x12O\x02\x10\x10o/\x88H\xfa{\xbd]\x1e\x9a&\\{ \xffq\x0e\xc57Bp\n\x10q\x86.s\x86\xdcL=\xad\\\x8c/\xd4\x9fq4\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00\xc6*\x19\xcb\xae\xcd\x8e\xeb\x92\xc7\xbc\xf9\xff\x1c\x0b \x16?\xfa`4\xda\xcfb8\x15\xd3\x8aQo\xce+\x16\t\xa8\xdc\x90\xc3}U\t K\x1d2\x16\xad<\xe05\xdd\x1c,-r`\xcbt\x14\n\x8b\xfbmWBp\n\x10=\xb2\xb4\xd9\xf2\x1cI\xe8\x92j\x11\xc2\xf0\xdf\xb4%\x10\x01\x1a\x10\x0cP\x13K\xceiB\xb3\x90=\xd0\xe9\xab\xf9Z8 \xc9\xd2\x85\xec\xf5.*A\x00\x16\x1c\xb4-\x19$\xe44i4\xc7\xb1uyh\xc0\xfd\xf4$\xddHWT\'\xda\xad \xc3G8W\x12\xd6\xf0P5\xc8E\x001\x84\x1c0K\x17c\x0b\xf5\xd1\xf0&\xdc\x95\xca\x993\xf6*c\xa9|\xb8r<''
Error message: __init__() missing 1 required positional argument: 'change'
Traceback (most recent call last):
  File "/home/martin/.local/bin/signal2html", line 8, in <module>
    sys.exit(main())
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/__main__.py", line 20, in main
    sys.exit(main())
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/ui.py", line 35, in main
    process_backup(args.input_dir, args.output_dir)
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/core.py", line 685, in process_backup
    dump_thread(t, output_dir)
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/html.py", line 243, in dump_thread
    event_data = format_event_data_group_update(
  File "/home/martin/.local/lib/python3.9/site-packages/signal2html/html.py", line 125, in format_event_data_group_update
    if data.change_by:
AttributeError: 'NoneType' object has no attribute 'change_by'

Thank you :-)

the first run I got a folder with : 4 624 elements, 7,3 Go
the last one : 4 624 elements, 7,3 Go
So same result

Thanks for the additional testing @Martin-bcd! This helps to figure out what's going on.
@ericthegrey do you have any thoughts on this? It looks like the StructuredGroupDataV2 protobuf message has changed but I'm not sure where in the Signal source this is defined. The other issue is that None data isn't handled properly, but that's more a workaround I think. Thanks!

Hi, I can't look at this in details for some time, but it looks like the top level structure of this message is different (it might encapsulate the previous one). Perhaps the data type field has been updated to indicate this, or perhaps the change is implicit in the new database version (I haven't found a content upgrade procedure, however, but I looked only briefly).
@GjjvdBurg FYI - you can find the original proto for the previous structure here: https://github.com/signalapp/Signal-Android/blob/master/libsignal/service/src/main/proto/DecryptedGroups.proto#L69 and the one I suspect is now used at: https://github.com/signalapp/Signal-Android/blob/master/app/src/main/proto/Database.proto#L47

@GjjvdBurg - I would suggest writing some warning when outputting message data in logs, since people might not realize this could contain confidential message information when pasting it in bug reports (perhaps there could be a more confidential way to share as it turns out to be quite useful to find problems -- https://www.npmjs.com/package/cipherhub maybe).

Thanks @ericthegrey! That pointer helped me figure out that changing the fields to optional makes it possible to parse the change update. Also, a good point regarding the logging output, I've removed that for now and will look into other ways of sharing debug logs.
@Martin-bcd, would you mind testing the updated branch to see if this fixes the issue? You can use the same commands as in your message above. Thanks!


feat(fiatconnect): Add in distinct KYC status screen mocks

Description
After some discussions with Jacob, we decided it would be best to split the KYC status displays out into separate screens given the disparity in their designs. Adds in mock screens, and updates the quote selection saga to use them appropriately. Gets rid of the old KycStatus screen.
Other changes
Describe any minor or "drive-by" changes here.
Tested
An explanation of how the changes were tested or an explanation as to why they don't need to be.
How others should test
Does this need to be tested by QA in the next release cycle? If so please give a brief explanation of how to test these changes.
Related issues

Fixes #[issue number here]

Backwards compatibility
Brief explanation of why these changes are/are not backwards compatible.

For others, tickets incoming soon to actually implement these.

@jophish should @ValoraQA review this flow. Is there dummy data that can be used on Alfajores?