Documentation request: State and Context

Chumsky has a concept of a state and context. And quite a few combinators that do things with them. And a map_ctx standalone function.
I personally never quite managed to wrap my head around that featureset. What is it intended to be used for, and how does one work with it?
e.g. How do I take an existing context, and change it into a new type of context?

'State' is just a mutable value that gets carried around during parsing. It can contain arbitrary data and can be whatever you like: common choices include string interners and arena allocators (or both! Just make a struct containing both of them). There are good examples of both in the doc examples of fold_with_state and map_with_state.
Context is different: it's some information passed from a parser earlier in the input to one later in the input that changes how the latter behaves. For example, an indentation-sensitive parser might pass the indentation level from the first indentation parser to all of the trailing indentation in a block, allowing it to properly parse indentation (despite this usually being a context-sensitive thing that recursive descent parsers struggle with). Here's an example of this.
Hopefully I'll get the time to write up proper long-form guides for both of these soon.

Oh, I think there's a typo in the documentation for ignore_with_ctx. It should probably say "if you do" https://github.com/zesterer/chumsky/blob/af4e2b12cf1447e0e321af80040975254a4aa6a4/src/lib.rs#L1098

Yep, you're right. I think this was due to the combinator roles being switched at one point.

For when you're going to write up a guide, here are a few questions that I personally have:

How do I take an existing context, and change it into a new type of context? I did eventually stumble upon .map_with_ctx(|_, ctx| ctx.clone()).ignore_with_ctx(map_ctx(|ctx| do something with the ctx)), but that seems pretty convoluted.

How do I start a parser with a given context? parser.with_ctx(...).parse(input) doesn't immediately work.

use chumsky::{extra, prelude::EmptyErr, text, IterParser, Parser};

#[derive(Clone, Debug, Default)]
struct TestContext {
    value: char,
}

#[test]
fn test_chumsky_recursive_context() {
    let number = text::digits::<char, &str, extra::Full<EmptyErr, (), TestContext>>(10)
        .exactly(1)
        .collect::<Vec<_>>()
        .map_with_ctx(|result, ctx| {
            println!("result: {:?}, ctx: {:?}", result, ctx);
            if ctx.value == result[0] {
                Some(result[0])
            } else {
                None
            }
        })
        .boxed();

    assert_eq!(
        number
            .with_ctx(TestContext { value: '1' })
            .parse("1")
            .into_output(),
        Some(Some('1'))
    );
}

How do I only temporarily change the context? Like how do I express "then run indent parser with current context plus 2"?

How do I take an existing context, and change it into a new type of context?

There is a map_ctx function. Unlike most functions, it's in postfix position (i.e: to indicate that it's changing the context that's getting passed into the parser, not mapping some output).

How do I start a parser with a given context?

with_ctx should work. What problem are you running up against?

How do I only temporarily change the context? Like how do I express "then run indent parser with current context plus 2"?

Context is local to a section of the parser tree. When using map_ctx, say, the mapped context will only apply to the parser given by the second argument. The new context will only be observable by that parser.

If you imagine a parser as a tree with ordered children, context is 'created' by a node, and can only be used by nodes that share the same parent and come after the creator, and children of those nodes. It flows 'forwards and down', which is the opposite of most parse results, which flow 'backwards and up' from where they are generated until they are returned as output at the top of the tree.

How do I take an existing context, and change it into a new type of context?

There is a map_ctx function. Unlike most functions, it's in postfix position (i.e: to indicate that it's changing the context that's getting passed into the parser, not mapping some output).

How do I start a parser with a given context?

with_ctx should work. What problem are you running up against?

I see. Apparently I'm running into the same type inference issue in both cases. The piece of code above should demonstrate the problem. map_ctx and with_ctx allow for an arbitrary, unrelated output type. This means that in most cases, I run into the Rust compiler saying that it doesn't know which type to use.
For example:
error[E0284]: type annotations needed
  --> parser\tests\chumsky_tests.rs:99:27
   |
99 |         let base_number = map_ctx(|ctx: &TestContext| ctx.clone(), number).boxed();
   |                           ^^^^^^^ cannot infer type of the type parameter `E` declared on the function `map_ctx`
   |
   = note: cannot satisfy `<_ as ParserExtra<'_, &str>>::Context == TestContext`
help: consider specifying the generic arguments
   |
99 |         let base_number = map_ctx::<Boxed<'_, '_, &str, char, chumsky::extra::Full<EmptyErr, (), TestContext>>, char, &str, E, chumsky::extra::Full<EmptyErr, (), TestContext>, _>(|ctx: &TestContext| ctx.clone(), number).boxed();
   |                                  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Without an explanation, my default assumption was "I'm doing something wrong". But I'm glad to see that map_ctx::<_, _, _, extra::Full<EmptyErr, (), _>, _, _> does indeed work, even if it's pretty verbose.
The with_ctx example would be

How do I only temporarily change the context? Like how do I express "then run indent parser with current context plus 2"?

Context is local to a section of the parser tree. When using map_ctx, say, the mapped context will only apply to the parser given by the second argument. The new context will only be observable by that parser.

Ah, I see. Thank you!

Oh hmm, looks like we need to thread E through as a phantom type parameter. Let me do that now.

If you hitch yourself up to the latest commit, it should work fine without the explicit type parameter now.

Woah, map_ctx is really nice to use now! Thank you very much.

@stefnotch @zesterer Seems to me like this is solved. Objections to closing it?

I'll close it in favour of the more general 'improve the docs' point in #543.

I tried looking up "state" and "context" again in the Chumsky documentation, and not all of the results link to a clear description/example. For example, state and context are referenced here, but I can't see a straightforward way of answering the questions

What is a state? What's a context?
What is the difference between the two?
When would I use them?

https://docs.rs/chumsky/1.0.0-alpha.7/chumsky/input/struct.InputRef.html#method.state
For most things in Chumsky's documentation, I can click on the relevant traits or structs and get a centralised description.


Getting image size and default image text issue in the variant product image.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
While creating a configurable product and adding a variant image so getting an image size compress issue and also it is showing the no image default text (product image) on the variant image.
Preconditions

Admin should be logged in.
Admin needs to create configurable products.

Steps to reproduce

Go to 'Admin panel'
Click on the 'Create product button' inside the Catalog/products.
Select product type configurable and fill all required fields.
Scroll down to 'variant section'
Add images in the variant
See the error

Expected Result
It should compress the image and should not show the text on the product image if the image is added.
Actual Result
It shows product image text on the image. Here
Screenshots
No response
Additional context
No response

Fixed in #8237

Now, this issue is fixed. so I am closing this issue.
And I have attached a screenshot Here, for future reference.


[Accessibility] Allow scrolling with arrow key for keyboard users, support keyboard focus

Users can't scroll the content inside the visual with keyboard navigation only.
Part of the problem is that the visual can't be focused.
I tried to add "supportsKeyboardFocus": true in capabilities.json, and focusing this.container or this.contentContainer in the update function, but I could not make it work.
However, scrolling with [UP] and [DOWN] keys works if the user clicks inside the visual with his mouse first.
This image sums up the desired behavior:

Do you think you could implement this accessibility feature or have any hint on how to approach it?
Thank you!

Hi there, and thanks for raising.
It's a tricky problem to solve, but I can take a look at it. Could you confirm whether the following build works for you?
STANDALONEhtmlContent443BE3AD55E043BF878BED274D3A68<IP_ADDRESS>.0.pbiviz.zip
You will need to remove the .zip extension and manually load it into your report. Convert an existing visual to this version and check to see if this works for you—it should set the focus on the main content element and allow scrolling with the arrow keys.
This now works for me by tabbing to the visual, pressing [Enter], and I am able to scroll with the up/down keys, e.g.:
https://github.com/dm-p/powerbi-visuals-html-content/assets/10572054/d260f12f-3f79-4a89-b8ac-2d5cb3bc2b73
If this works for you, I will need to do a bit more work to make it suitable for production, but your confirmation will be a great help in moving this forward.

Hi there, and thanks for raising.
It's a tricky problem to solve, but I can take a look at it. Could you confirm whether the following build works for you?
STANDALONEhtmlContent443BE3AD55E043BF878BED274D3A68<IP_ADDRESS>.0.pbiviz.zip
You will need to remove the .zip extension and manually load it into your report. Convert an existing visual to this version and check to see if this works for you—it should set the focus on the main content element and allow scrolling with the arrow keys.
This now works for me by tabbing to the visual, pressing [Enter], and I am able to scroll with the up/down keys, e.g.:
2024-04-01-html-content-keyboard-focus-scroll.mp4
If this works for you, I will need to do a bit more work to make it suitable for production, but your confirmation will be a great help in moving this forward.

Hi Daniel,
Firstly, thank you for addressing the issue in a timely manner.
I have taken the opportunity to test the updated version of the visual and it works very well, with one minor exception.
Upon scrolling to the extremities of the visual (be it the top or bottom), I have noticed that the entire report page begins to scroll. I think that these scenarios need to be detected and the event bubbling should be cancelled to prevent the entire page from scrolling.
For your convenience, I have attached a demo report here: Uploading test-html-content-<IP_ADDRESS>.pbix.zip….
Thank you for your support, it is very much appreciated.

Thanks for passing along the sample workbook - it's a great help :)
Unfortunately, the report scrolling issue after the bottom of a visual's main container has been reached appears to be something with custom visuals in general. I can reproduce this problem with any other custom visual in AppSource that . Because custom visuals are run in sandboxed iframes, we don't have any control over events against the main window/report canvas, as the visual can't propagate them.
It's likely that the core visuals don't experience this as they are contained within inline div elements on the report page and probably do have some kind of event bubbling prevention for this scenario.
I will need to progress this issue with MS to see if they intend to fix the developer visual container in a similar manner. If they aren't, there is little I will be able to do about it from within the visual other than add the current functionality (albeit a little more resilient than how it's been poked in for this PoC).
Would I have permission to share your workbook with them? This is a great repro of the problem that they can use to investigate.

Ah this is unfortunate, I did not know it was an issue with all custom visuals.
Of course, you may share the workbook with MS as it does contain "dummy" data.
If MS cannot address this issue, I believe your current scrolling implementation is still better than previous behavior.
If you agree, could you publish this version in the AppSource?
Thank you for your continued support! :)

I've polished up the implementation and submitted it to AppSource as 1.5.0.
Assuming there are no issues, we should see the regular version live in reports within 3 weeks, and HTML Content (lite) should be about 5 weeks due to it needing certification.
If you want to explore the 1.5.0 build in the meantime, you can download and explore the changes using the standalone build, available on the 1.5.0 release page.
I'll write a blog post and update the doc site as soon as I can. I have also raised the scrolling issue with MS, but I haven't received a reply yet (and probably don't expect anything to change for a while if they do acknowledge it).

@dm-p Thank you! :)

MS has approved HTML Content (lite), so both editions will be available in production reports within the next two weeks. As this is essentially as far as I can get things, I'll close this off, and we can address any further improvements as a new issue.
I hope that you find the new changes useful, and thanks for raising!

MS has approved HTML Content (lite), so both editions will be available in production reports within the next two weeks. As this is essentially as far as I can get things, I'll close this off, and we can address any further improvements as a new issue.
I hope that you find the new changes useful, and thanks for raising!

Awesome! Thank you for your work it's very appreciated.


[#187] Adds ManagementProperties contextPath to skipPattern

Fixes #187

This looks the way it shall be. Tx a lot


JOSS Review - Needs statement of need

Paper needs a clear statement of need
Reference to https://github.com/openjournals/joss-reviews/issues/5322#issuecomment-1530387975

Thank you for your comment regarding the need for a clear "Statement of Need" in our paper. We appreciate the opportunity to address this concern.
We have added a "Statement of Need" section to our manuscript. This new section comprehensively discusses the challenges of the field and the target user group, ensuring that our paper adheres to the JOSS guidelines.


Hyprland Crash

Hyprland Version
 System/Version info
Hyprland, built from branch  at commit 185a3b48814cc4a1afbf32a69792a6161c4038cd  ().
Date: 2024-04-11
Tag: , commits: @COMMITS@

flags: (if any)

System Information:
System name: Linux
Node name: khanelinix
Release: 6.8.4
Version: #1-NixOS SMP PREEMPT_DYNAMIC Thu Apr  4 18:25:06 UTC 2024

GPU information:
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206] (rev a1) (prog-if 00 [VGA controller])
0d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:744c] (rev c8) (prog-if 00 [VGA controller])

os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240406.ff0dbd9"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"

plugins:

Bug or Regression?
Bug
Description
Random crashes...
I see the crash log in the first is pointing at an assertion in Compositor.cpp.
How to reproduce
This one I believe happened when I was closing teams during a call
Crash reports, logs, images, videos
 Crash 1

--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
This was an accident, I swear!

Hyprland received signal 6 (Aborted)

Version: 43b96f03b5af60586a864ea64e8c71b11ea6eb85
Tag:

System info:
	System name: Linux
	Node name: khanelinix
	Release: 6.8.4
	Version: #1-NixOS SMP PREEMPT_DYNAMIC Thu Apr  4 18:25:06 UTC 2024

GPU:
	05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206] (rev a1) (prog-if 00 [VGA controller])
0d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:744c] (rev c8) (prog-if 00 [VGA controller])

os-release:
	ANSI_COLOR="1;34"
	BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
	BUILD_ID="24.05.20240406.ff0dbd9"
	DOCUMENTATION_URL="https://nixos.org/learn.html"
	HOME_URL="https://nixos.org/"
	ID=nixos
	IMAGE_ID=""
	IMAGE_VERSION=""
	LOGO="nix-snowflake"
	NAME=NixOS
	PRETTY_NAME="NixOS 24.05 (Uakari)"
	SUPPORT_URL="https://nixos.org/community.html"
	VERSION="24.05 (Uakari)"
	VERSION_CODENAME=uakari
	VERSION_ID="24.05"

Backtrace:
	#0 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_Z12getBacktracev+0x48) [0x59f078]
		getBacktrace()
		??:?
	#1 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x6b5) [0x530f85]
		CrashReporter::createAndSaveCrash(int)
		??:?
	#2 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_Z25handleUnrecoverableSignali+0x44) [0x4b2784]
		handleUnrecoverableSignal(int)
		??:?
	#3 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(+0x3ff30) [0x7f794e252f30]
		??
		??:0
	#4 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(+0x8fefc) [0x7f794e2a2efc]
		??
		??:0
	#5 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(gsignal+0x16) [0x7f794e252e86]
		??
		??:0
	#6 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN11CCompositor12windowExistsEP7CWindow+0x18b) [0x4c4cdb]
		CCompositor::windowExists(CWindow*)
		??:?
	#7 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN11CCompositor17windowValidMappedEP7CWindow+0xe) [0x4c4d1e]
		CCompositor::windowValidMapped(CWindow*)
		??:?
	#8 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN13CHyprRenderer18shouldRenderWindowEP7CWindow+0x31) [0x684ad1]
		CHyprRenderer::shouldRenderWindow(CWindow*)
		??:?
	#9 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN13CInputManager26recheckIdleInhibitorStatusEv+0x47) [0x6193d7]
		CInputManager::recheckIdleInhibitorStatus()
		??:?
	#10 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN11CCompositor11focusWindowEP7CWindowP11wlr_surface+0x6fb) [0x4c83ab]
		CCompositor::focusWindow(CWindow*, wlr_surface*)
		??:?
	#11 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN8CMonitor15changeWorkspaceERKSt10shared_ptrI10CWorkspaceEbbb+0x7c2) [0x5aba42]
		CMonitor::changeWorkspace(std::shared_ptr<CWorkspace> const&, bool, bool, bool)
		??:?
	#12 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN15CKeybindManager15changeworkspaceENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1b7) [0x5fb9e7]
		CKeybindManager::changeworkspace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
		??:?
	#13 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZNSt17_Function_handlerIFvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS6_E9_M_invokeERKSt9_Any_dataOS5_+0x5f) [0x60590f]
		std::_Function_handler<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
		??:?
	#14 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_Z15dispatchRequest20eHyprCtlOutputFormatNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x207) [0x53e877]
		dispatchRequest(eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
		??:?
	#15 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE20eHyprCtlOutputFormatS5_EPS7_E9_M_invokeERKSt9_Any_dataOS6_OS5_+0x6c) [0x54af9c]
		std::_Function_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (*)(eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>::_M_invoke(std::_Any_data const&, eHyprCtlOutputFormat&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
		??:?
	#16 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN8CHyprCtl8getReplyENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x2fa) [0x536b0a]
		CHyprCtl::getReply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
		??:?
	#17 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_Z13hyprCtlFDTickijPv+0x36e) [0x548efe]
		hyprCtlFDTick(int, unsigned int, void*)
		??:?
	#18 | /nix/store/blw10rx1cayp2n2pkmyihpipifzgj2xq-wayland-1.22.0/lib/libwayland-server.so.0(wl_event_loop_dispatch+0xa2) [0x7f794ef808f2]
		??
		??:0
	#19 | /nix/store/blw10rx1cayp2n2pkmyihpipifzgj2xq-wayland-1.22.0/lib/libwayland-server.so.0(wl_display_run+0x25) [0x7f794ef7e455]
		??
		??:0
	#20 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN17CEventLoopManager9enterLoopEP10wl_displayP13wl_event_loop+0x30) [0x617c80]
		CEventLoopManager::enterLoop(wl_display*, wl_event_loop*)
		??:?
	#21 | /etc/profiles/per-user/khaneliman/bin/Hyprland(main+0x755) [0x499805]
		main
		??:?
	#22 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(+0x2a10e) [0x7f794e23d10e]
		??
		??:0
	#23 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(__libc_start_main+0x89) [0x7f794e23d1c9]
		??
		??:0
	#24 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_start+0x25) [0x4b25e5]
		_start
		??:?

Log tail:
[LOG] Registered signal for owner 7460d10: 7e1ae68 -> 7460dc0 (owner: CWLSurface)
[LOG] CWLSurface 7460d10 called init()
[LOG] cursorImage request: shape 4
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[render/gles2/renderer.c:158] Created GL FBO for buffer 5376x1322
[LOG] cursorImage request: shape 9
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 4
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 1
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 9
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 1
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 4
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 1
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 1
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: surface 78ae4d0
[LOG] Registered signal for owner 1d732a8: 78ae7e8 -> 1d732f0 (owner: CWLSurface)
[LOG] Registered signal for owner 1d732a8: 78ae7a8 -> 1d73358 (owner: CWLSurface)
[LOG] CWLSurface 1d732a8 called init()
[LOG] Cleanup: destroyed a window
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: surface 78ae4d0
[LOG] cursorImage request: shape 1
[LOG] Callback 1d73318 -> 1d73310, CWLSurface removed.
[LOG] Callback 1d73380 -> 1d73378, CWLSurface removed.
[LOG] CWLSurface 1d732a8 called destroy()
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[render/gles2/renderer.c:158] Created GL FBO for buffer 5076x1322
[LOG] cursorImage request: surface 78ae4d0
[LOG] Registered signal for owner 1d732a8: 78ae7e8 -> 1d732f0 (owner: CWLSurface)
[LOG] Registered signal for owner 1d732a8: 78ae7a8 -> 1d73358 (owner: CWLSurface)
[LOG] CWLSurface 1d732a8 called init()
[render/gles2/renderer.c:158] Created GL FBO for buffer 5076x1322
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: surface 78ae4d0
[LOG] cursorImage request: shape 1
[LOG] Callback 1d73318 -> 1d73310, CWLSurface removed.
[LOG] Callback 1d73380 -> 1d73378, CWLSurface removed.
[LOG] CWLSurface 1d732a8 called destroy()
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: shape 1
[LOG] cursorImage request: shape 1
[ERR] BUG THIS: No fallback found for a cursor in setCursorFromName
[LOG] cursorImage request: surface 78ae4d0
[LOG] Registered signal for owner 1d732a8: 78ae7e8 -> 1d732f0 (owner: CWLSurface)
[LOG] Registered signal for owner 1d732a8: 78ae7a8 -> 1d73358 (owner: CWLSurface)
[LOG] CWLSurface 1d732a8 called init()
[render/gles2/renderer.c:158] Created GL FBO for buffer 5076x1322
[LOG] Searching for matching rules for Slack (title: Threads - Slack)
[LOG] Window rule workspace 5 silent ->  class:^(Slack)$ matched [Window 78b7040: title: "Threads - Slack"]
[LOG] Set keyboard focus to surface 7ce7900, with [Window 7e999a0: title: "11:1:nvim - "appsettings.json (~/Documents/azure/) - NVIM" "]
[LOG] Searching for matching rules for kitty (title: 11:1:nvim - "appsettings.json (~/Documents/azure/) - NVIM" )
[CRITICAL]
==========================================================================================
ASSERTION FAILED!

windowExists: attempted UAF

at: line 714 in Compositor.cpp

 Crash 2

--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
I hope you didn't have any unsaved progress.

Hyprland received signal 11 (Segmentation fault)

Version: 558d1be7e3c9242b39fe78efe74ada1298112892
Tag:

System info:
	System name: Linux
	Node name: khanelinix
	Release: 6.8.4
	Version: #1-NixOS SMP PREEMPT_DYNAMIC Thu Apr  4 18:25:06 UTC 2024

GPU:
	05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206] (rev a1) (prog-if 00 [VGA controller])
0d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:744c] (rev c8) (prog-if 00 [VGA controller])

os-release:
	ANSI_COLOR="1;34"
	BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
	BUILD_ID="24.05.20240406.ff0dbd9"
	DOCUMENTATION_URL="https://nixos.org/learn.html"
	HOME_URL="https://nixos.org/"
	ID=nixos
	IMAGE_ID=""
	IMAGE_VERSION=""
	LOGO="nix-snowflake"
	NAME=NixOS
	PRETTY_NAME="NixOS 24.05 (Uakari)"
	SUPPORT_URL="https://nixos.org/community.html"
	VERSION="24.05 (Uakari)"
	VERSION_CODENAME=uakari
	VERSION_ID="24.05"

Backtrace:
	#0 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_Z12getBacktracev+0x48) [0x59f8d8]
		getBacktrace()
		??:?
	#1 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x6b5) [0x531105]
		CrashReporter::createAndSaveCrash(int)
		??:?
	#2 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_Z25handleUnrecoverableSignali+0x44) [0x4b2924]
		handleUnrecoverableSignal(int)
		??:?
	#3 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(+0x3ff30) [0x7effa0452f30]
		??
		??:0
	#4 | /nix/store/blw10rx1cayp2n2pkmyihpipifzgj2xq-wayland-1.22.0/lib/libwayland-server.so.0(wl_event_loop_dispatch+0xa0) [0x7effa11ff8f0]
		??
		??:0
	#5 | /nix/store/blw10rx1cayp2n2pkmyihpipifzgj2xq-wayland-1.22.0/lib/libwayland-server.so.0(wl_display_run+0x25) [0x7effa11fd455]
		??
		??:0
	#6 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_ZN17CEventLoopManager9enterLoopEP10wl_displayP13wl_event_loop+0x30) [0x618610]
		CEventLoopManager::enterLoop(wl_display*, wl_event_loop*)
		??:?
	#7 | /etc/profiles/per-user/khaneliman/bin/Hyprland(main+0x755) [0x4999a5]
		main
		??:?
	#8 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(+0x2a10e) [0x7effa043d10e]
		??
		??:0
	#9 | /nix/store/ddwyrxif62r8n6xclvskjyy6szdhvj60-glibc-2.39-5/lib/libc.so.6(__libc_start_main+0x89) [0x7effa043d1c9]
		??
		??:0
	#10 | /etc/profiles/per-user/khaneliman/bin/Hyprland(_start+0x25) [0x4b2785]
		_start
		??:?

Log tail:
[LOG] Callback 6da7a50 -> 6da7a48, XWayland Window removed.
[LOG] Callback 6da7ab8 -> 6da7ab0, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 6da7340: title: ""] removed instantly
[LOG] [Window 6da5f50: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: Steamwebhelper
[LOG] Callback 6da60b0 -> 6da60a8, XWayland Window removed.
[LOG] Callback 6da6458 -> 6da6450, XWayland Window removed.
[LOG] Callback 6da65f8 -> 6da65f0, XWayland Window removed.
[LOG] Callback 6da6660 -> 6da6658, XWayland Window removed.
[LOG] Callback 6da66c8 -> 6da66c0, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 6da5f50: title: ""] removed instantly
[LOG] [Window 23cbc70: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: null
[LOG] Callback 23cbdd0 -> 23cbdc8, XWayland Window removed.
[LOG] Callback 23cc178 -> 23cc170, XWayland Window removed.
[LOG] Callback 23cc318 -> 23cc310, XWayland Window removed.
[LOG] Callback 23cc380 -> 23cc378, XWayland Window removed.
[LOG] Callback 23cc3e8 -> 23cc3e0, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 23cbc70: title: ""] removed instantly
[LOG] [Window 6c4fd60: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: Steam
[LOG] Callback 6c4fec0 -> 6c4feb8, XWayland Window removed.
[LOG] Callback 6c50268 -> 6c50260, XWayland Window removed.
[LOG] Callback 6c50408 -> 6c50400, XWayland Window removed.
[LOG] Callback 6c50470 -> 6c50468, XWayland Window removed.
[LOG] Callback 6c504d8 -> 6c504d0, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 6c4fd60: title: ""] removed instantly
[LOG] [Window 6d15440: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: Steam
[LOG] Callback 6d155a0 -> 6d15598, XWayland Window removed.
[LOG] Callback 6d15948 -> 6d15940, XWayland Window removed.
[LOG] Callback 6d15ae8 -> 6d15ae0, XWayland Window removed.
[LOG] Callback 6d15b50 -> 6d15b48, XWayland Window removed.
[LOG] Callback 6d15bb8 -> 6d15bb0, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 6d15440: title: ""] removed instantly
[LOG] [Window 6663bf0: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: null
[LOG] Callback 6663d50 -> 6663d48, XWayland Window removed.
[LOG] Callback 66640f8 -> 66640f0, XWayland Window removed.
[LOG] Callback 6664298 -> 6664290, XWayland Window removed.
[LOG] Callback 6664300 -> 66642f8, XWayland Window removed.
[LOG] Callback 6664368 -> 6664360, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 6663bf0: title: ""] removed instantly
[LOG] [Window 66666d0: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: 1password
[LOG] Callback 6666830 -> 6666828, XWayland Window removed.
[LOG] Callback 6666bd8 -> 6666bd0, XWayland Window removed.
[LOG] Callback 6666d78 -> 6666d70, XWayland Window removed.
[LOG] Callback 6666de0 -> 6666dd8, XWayland Window removed.
[LOG] Callback 6666e48 -> 6666e40, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 66666d0: title: ""] removed instantly
[LOG] [Window 697f7e0: title: "", class: ] destroyed, queueing.
[LOG] XWayland class raw: null
[LOG] Callback 697f940 -> 697f938, XWayland Window removed.
[LOG] Callback 697fce8 -> 697fce0, XWayland Window removed.
[LOG] Callback 697fe88 -> 697fe80, XWayland Window removed.
[LOG] Callback 697fef0 -> 697fee8, XWayland Window removed.
[LOG] Callback 697ff58 -> 697ff50, XWayland Window removed.
[ERR] onWindowRemovedTiling node null?
[LOG] Unmapped [Window 697f7e0: title: ""] removed instantly
[TRACE] [wl res 6b97900] created
[TRACE] [wl res 6b97900] set impl to 73dea0
[TRACE] [wl res 6b97900] set data to 1b9c070
[TRACE] [wl res 6ae3940] created
[TRACE] [wl res 6ae3940] set impl to 73de90
[TRACE] [wl res 6ae3940] set data to 1b9c070
[TRACE] [wl res 19d2440] created
[TRACE] [wl res 19d2440] set impl to 73de90
[TRACE] [wl res 19d2440] set data to 1b9c070
[types/wlr_compositor.c:779] New wlr_surface 0x6674350 (res 0x69663a0)

assert fail should be fixed

Got a very similar crash just now so, even though the assertion fail should be fixed, I'll upload it just in case
hyprlandCrashReport901.txt

you're on a VERY old version

Haven't seen the other one in a while so i'm going to close unless it comes back during the week during video calls again.


Segmentation fault (core dumped) linux, compiled from source

I have tried compiling RcloneBrowser on:
Linux ubuntu 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Installed QT 5.8, some command line output:
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ qmake -v
QMake version 3.0
Using Qt version 5.6.2 in /usr/lib/x86_64-linux-gnu
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ clear

xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ qmake -v
QMake version 3.0
Using Qt version 5.6.2 in /usr/lib/x86_64-linux-gnu
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ cmake --version
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

xerrni@ubuntu:~/Downloads/RcloneBrowser$ git clone https://github.com/mmozeiko/RcloneBrowser.git
Cloning into 'RcloneBrowser'...
remote: Counting objects: 263, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 263 (delta 7), reused 0 (delta 0), pack-reused 243
Receiving objects: 100% (263/263), 515.32 KiB | 0 bytes/s, done.
Resolving deltas: 100% (142/142), done.
Checking connectivity... done.
xerrni@ubuntu:~/Downloads/RcloneBrowser$ git clone https://github.com/mmozeiko/RcloneBrowser.git
fatal: destination path 'RcloneBrowser' already exists and is not an empty directory.
xerrni@ubuntu:~/Downloads/RcloneBrowser$ cd RcloneBrowser/
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser$ ls
bootstrap.cmd  CHANGELOG.md  CMakeLists.txt  _config.yml  LICENSE  README.md  scripts  src
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser$ mkdir build
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser$ ls
bootstrap.cmd  build  CHANGELOG.md  CMakeLists.txt  _config.yml  LICENSE  README.md  scripts  src
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser$ ls -la
total 64
drwxrwxr-x 6 xerrni xerrni 4096 Mar  6 19:13 .
drwxrwxrwx 3 xerrni xerrni 4096 Mar  6 19:12 ..
-rw-rw-r-- 1 xerrni xerrni  248 Mar  6 19:12 .appveyor.yml
-rw-rw-r-- 1 xerrni xerrni  437 Mar  6 19:12 bootstrap.cmd
drwxrwxr-x 2 xerrni xerrni 4096 Mar  6 19:13 build
-rw-rw-r-- 1 xerrni xerrni 1379 Mar  6 19:12 CHANGELOG.md
-rw-rw-r-- 1 xerrni xerrni 1374 Mar  6 19:12 CMakeLists.txt
-rw-rw-r-- 1 xerrni xerrni   25 Mar  6 19:12 _config.yml
drwxrwxr-x 8 xerrni xerrni 4096 Mar  6 19:12 .git
-rw-rw-r-- 1 xerrni xerrni   52 Mar  6 19:12 .gitignore
-rw-rw-r-- 1 xerrni xerrni 1210 Mar  6 19:12 LICENSE
-rw-rw-r-- 1 xerrni xerrni 4321 Mar  6 19:12 README.md
drwxrwxr-x 2 xerrni xerrni 4096 Mar  6 19:12 scripts
drwxrwxr-x 3 xerrni xerrni 4096 Mar  6 19:12 src
-rw-rw-r-- 1 xerrni xerrni  544 Mar  6 19:12 .travis.yml
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser$ cd build/
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ ls
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ cmake ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/build
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ cmake --build .
[  2%] Generating qrc_resources.cpp
[  4%] Generating moc_main_window.cpp
[  6%] Generating moc_remote_widget.cpp
[  8%] Generating moc_transfer_dialog.cpp
[ 10%] Generating moc_export_dialog.cpp
[ 12%] Generating moc_progress_dialog.cpp
[ 14%] Generating moc_job_widget.cpp
[ 16%] Generating moc_mount_widget.cpp
[ 18%] Generating moc_stream_widget.cpp
[ 20%] Generating moc_preferences_dialog.cpp
[ 22%] Generating moc_icon_cache.cpp
[ 25%] Generating moc_item_model.cpp
[ 27%] Generating ui_main_window.h
[ 29%] Generating ui_remote_widget.h
[ 31%] Generating ui_transfer_dialog.h
[ 33%] Generating ui_export_dialog.h
[ 35%] Generating ui_progress_dialog.h
[ 37%] Generating ui_job_widget.h
[ 39%] Generating ui_mount_widget.h
[ 41%] Generating ui_stream_widget.h
[ 43%] Generating ui_preferences_dialog.h
Scanning dependencies of target rclone-browser
[ 45%] Building CXX object src/CMakeFiles/rclone-browser.dir/pch.cpp.o
[ 47%] Building CXX object src/CMakeFiles/rclone-browser.dir/main.cpp.o
[ 50%] Building CXX object src/CMakeFiles/rclone-browser.dir/main_window.cpp.o
[ 52%] Building CXX object src/CMakeFiles/rclone-browser.dir/remote_widget.cpp.o
[ 54%] Building CXX object src/CMakeFiles/rclone-browser.dir/transfer_dialog.cpp.o
[ 56%] Building CXX object src/CMakeFiles/rclone-browser.dir/export_dialog.cpp.o
[ 58%] Building CXX object src/CMakeFiles/rclone-browser.dir/progress_dialog.cpp.o
[ 60%] Building CXX object src/CMakeFiles/rclone-browser.dir/job_widget.cpp.o
[ 62%] Building CXX object src/CMakeFiles/rclone-browser.dir/mount_widget.cpp.o
[ 64%] Building CXX object src/CMakeFiles/rclone-browser.dir/stream_widget.cpp.o
[ 66%] Building CXX object src/CMakeFiles/rclone-browser.dir/preferences_dialog.cpp.o
[ 68%] Building CXX object src/CMakeFiles/rclone-browser.dir/icon_cache.cpp.o
[ 70%] Building CXX object src/CMakeFiles/rclone-browser.dir/item_model.cpp.o
[ 72%] Building CXX object src/CMakeFiles/rclone-browser.dir/utils.cpp.o
[ 75%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_main_window.cpp.o
[ 77%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_remote_widget.cpp.o
[ 79%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_transfer_dialog.cpp.o
[ 81%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_export_dialog.cpp.o
[ 83%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_progress_dialog.cpp.o
[ 85%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_job_widget.cpp.o
[ 87%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_mount_widget.cpp.o
[ 89%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_stream_widget.cpp.o
[ 91%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_preferences_dialog.cpp.o
[ 93%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_icon_cache.cpp.o
[ 95%] Building CXX object src/CMakeFiles/rclone-browser.dir/moc_item_model.cpp.o
[ 97%] Building CXX object src/CMakeFiles/rclone-browser.dir/qrc_resources.cpp.o
[100%] Linking CXX executable ../build/rclone-browser
[100%] Built target rclone-browser
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ ls
build  CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile  src
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ cd build/
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ ls
rclone-browser
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ rclone-browser
bash: rclone-browser: command not found
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ ./rclone-browser
Segmentation fault (core dumped)
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ chmod +x rclone-browser
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ chmod 777 rclone-browser
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$ ./rclone-browser
Segmentation fault (core dumped)
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build/build$

Hmm, it seems to work for me.
Can you running under gdb and showing backtrace when it crashes? To do so first build it with debug mode:
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build .

Run executable like this:
gdb build/rclone-browser

And enter run when it starts. Then enter bt when it crashes and copy the output here.

xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ gdb build/rclone-browser
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from build/rclone-browser...done.
(gdb) run
Starting program: /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/build/build/rclone-browser
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffec178700 (LWP 3540)]
[New Thread 0x7fffdf481700 (LWP 3541)]
[New Thread 0x7fffd7185700 (LWP 3542)]

Thread 1 "rclone-browser" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff7a31a3e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2  0x00007ffff7a31641 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff7c1fcb5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff7c1fd92 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x0000000000442b8b in MainWindow::MainWindow (this=0x7fffffffdc70)
    at /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/src/main_window.cpp:156
#6  0x0000000000440b17 in main (argc=1, argv=0x7fffffffdee8)
    at /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/src/main.cpp:12
(gdb)

What Ubuntu version are you using? And what kind of desktop environment are you using?
There seems to be similar crashes reported on KDE which is a bug in Qt KDE plugins:

https://bugzilla.redhat.com/show_bug.cgi?id=1255902
https://bugreports.qt.io/browse/QTBUG-47116
https://github.com/qbittorrent/qBittorrent/issues/3168

Have you tried upgrading packages to latest version? (apt-get update + upgrade).
What version of qt5 packages do you have? dpk -l qtbase5-dev will show you this. It seems you are using qt5 libraries from standard location (/usr/lib/x86_64-linux-gnu). You said you installed 5.8? How did you install 5.8 there? Usually 5.8 installs to /opt/qt58 folder.

I tried:
apt-get update
apt-get upgrade
apt-get dist-upgrade

I`m on Ubuntu 16.04 with KDE Plasma, I have installed QT 5.8 from official website but now I uninstalled it and tried without it:
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ gdb build/rclone-browser
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from build/rclone-browser...done.
(gdb) run
Starting program: /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/build/build/rclone-browser
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffec174700 (LWP 4252)]
[New Thread 0x7fffdf481700 (LWP 4253)]
[New Thread 0x7fffd7185700 (LWP 4254)]

Thread 1 "rclone-browser" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff7a31a3e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2  0x00007ffff7a31641 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff7c1fcb5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff7c1fd92 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x0000000000442b8b in MainWindow::MainWindow (this=0x7fffffffdc70)
    at /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/src/main_window.cpp:156
#6  0x0000000000440b17 in main (argc=1, argv=0x7fffffffdee8)
    at /home/xerrni/Downloads/RcloneBrowser/RcloneBrowser/src/main.cpp:12
(gdb) Quit
A debugging session is active.

	Inferior 1 [process 4248] will be killed.

Quit anyway? (y or n) y
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ dpk -l qtbase5-dev
bash: dpk: command not found
xerrni@ubuntu:~/Downloads/RcloneBrowser/RcloneBrowser/build$ dpkg -l qtbase5-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
ii  qtbase5-dev:amd64          5.6.2+dfsg-0ubuntu amd64              Qt 5 base development files

Oh, when you install Qt5.8 with official installer then you need to explicitly say to cmake to use it:
cmake -DCMAKE_PREFIX_PATH=/opt/Qt5.8.0/5.8/gcc_64 ..

Adjust path, if it is different. But I'm not sure if this will fix anything. From the bugreports I linked this seems to be issue with some KDE plugins.
If you want you can try commenting out part of code that crashes - you'll loose tray icon, but everything else potentially will work fine. If you want to do this, comment out line 156 in main_window.cpp file: https://github.com/mmozeiko/RcloneBrowser/blob/master/src/main_window.cpp#L156 (put // at beginning of line).

Thanks, now it works fine. I dont need tray icon. Im looking forward for future development, multi folder drag & drop, maybe some other small tweaks & improvements to the UI. GREAT WORK, once more thanks.

It works with 5.8 or did you remove tray icon by commenting out code?

I have removed tray icon, just commented the line 156


Symbolize hash keys in a constructor

Now a structure can be initialized by a hash with either symbolic,
or string keys:
class User < Dry::Struct
  # ...
end

User.new name: 'Jane'    # traditional behaviour
User.new 'name' => 'Joe' # the new one

It also accepts every object that responds to #to_hash:
User.new double(to_hash: { 'name' => 'Judith' })

The constructor ignores #to_h (to prevent nil from being hashified):
User.new double(to_h: { name: 'Jill' }) # fails

Sorry but this cannot be the default behavior of a struct. Please come up with either a configuration mechanism for constructor behavior or a different struct subclass. The primary behavior of a struct is to be a simple data structure, not a data mapping object. This is the general intention of struct objects and we should have as little additional behaviors / configuration as possible.

@solnic What do you think about possible syntax like this
class User < Dry::Struct
  symbolize_keys

  # ...
end

or, maybe
class User < Dry::Struct.symbolize_keys
end

Yeah, I agree with you about default behavior. But, from the other hand I badly need this kind of mapping out of the box (maybe, configurable one), because I'm trying to enforce typization as early as possible, for example in Rails controllers. I've constantly shoot myself in the foot with this symbolic/string keys mismatch, and IMO it is quite a common problem in Ruby.

@nepalez you're not using dry-validation schemas for that?

Nope, instead I extend struct and reload its constructor to accept any hashifiable data in a following way:
class BaseValue < Dry::Struct
  def new(value)
    super some_mapping_here(value)
  end
end

@nepalez is there any reason why you didn't decide to use dry-validation for that? schemas are a much better way to sanitize/coerce/validate input from the outside world

Now I think it would be better not to pollute .new with this additional behaviour, but create custom constructor like this one:
class MyStruct < Dry::Struct
  def self.[](data)
    default = schema.keys.each_with_object({}) { |key, hash| hash[key] = nil }
    actual  = data.to_hash.each_with_object({}) do |(key, val), hash|
      hash[key.to_sym] = val
    end

    new default.merge(actual)
  end
end

@backus @solnic wdyt?

I would still like to understand why you prefer structs over dry-v :)

This is because of my looking on application as a set of trasformations of data structures.
Yeah, in some cases (services, form objects, rules, policies) I prefer validation. But in many cases I'd like to define requiremets for data structures and add those structures to types as sort of conctacts.

And, well, I just like its inteface, for example in my today's client
https://github.com/nepalez/abbyy-cloud/blob/master/lib/abbyy/cloud/operation/translate.rb

@backus @solnic
At the end I'd propose closing this PR.
Recently I found a better way to build structures with a desired behavior, that back on dry-initializer. Like this:
class Dry::Client::Model
  class << self
    include Dry::Initializer::Mixin
    alias_method :attribute, :option
    alias_method :param, :option

    def new(value)
      return value if value.is_a? self
      value = value.to_h.each_with_object({}) do |(key, val), obj|
        obj[key.to_sym] = val
      end
      super value
    end
    alias_method :call, :new
    alias_method :[], :new
  end

  def ==(other)
    return false unless other.respond_to? :to_h
    to_h == other.to_h
  end

  def to_h
    attributes = method(:initialize).parameters.map(&:last)
    attributes.each_with_object({}) do |key, hash|
      val = send(key)
      hash[key] = hashify(val) unless val == Dry::Initializer::UNDEFINED
    end
  end
  alias_method :[], :send

  private

  def hashify(value)
    if value.is_a? Dry::Client::Model
      value.to_h
    elsif value.respond_to? :to_hash
      value.to_hash
           .each_with_object({}) { |(key, val), obj| obj[key] = hashify(val) }
    elsif value.is_a? Enumerable
      value.map { |val| hashify(val) }
    else
      value
    end
  end
end

It quacks like dry-struct and, in addition, tells the difference between values that are set to nil and those are not assigned at all. It has sligthly different interface (uses type key, as well as default and optional keys outside of the type - they refer to the initializer, not to a value by itself).
class Test::User < Dry::Client::Model
  option :name,  type: Dry::Types["strict.string"]
  option :email, type: Dry::Types["strict.string"], default:  proc { nil }
  option :phone, type: Dry::Types["strict.string"], optional: true
end

user = Test::User[name: "Andrew"]
user.to_h # => { name: "Andrew", email: nil }

user = Test::User[name: "Alice", phone: "12345"]
user.to_h # => { name: "Alice", email: nil, phone: "12345" }

Fair enough. FWIW anything that comes as a hash with string keys and unknown values should be processed by a schema first, if you use structs for that you're basically collapsing data coercion/validation and domain data definitions into a single concept, which is virtus all over again ;) I have exactly the same use case in my current project at work, and I used dry-v to process the input, for now plain hashes is all we need so I'm sticking to that. Once we have a need for explicit struct definitions too, I'll probably just define them using dry-struct, and if code duplication turns out to be an issue, I'll look further into inferring dry-v schemas from dry-struct definitions (we already have an experimental support for that) and this way I'll avoid any duplication while having things separated properly.
And sorry, I know I'm a broken record when it comes to this stuff ;) Closing...


Disable Cooker when exception is thrown

If a cooker throws during processing, we should have a option to continue processing other cookers.
Maybe different level, aka mark as optional?

Can be added post 1.0


tls: add intermediate ca crl tests and documentation

Adds intermediate certificate authority revocation list documentation and tests that cover revoked, unrevoked and incomplete certificate revocation list chains.
Risk Level: Low
Testing: Unit Test
Docs Changes: Adds intermediate chain CRL requirements to API documentation.
Release Notes: None
Fixes: #12784

/wait

Don't worry; it won't be merged until CI passes. Looks like the format checker is failing right now.
Also, for future commits, please don't force-push to the branch after the PR is created. Merge commits are fine, and lots of small commits are also fine; we'll squash-merge it. Force-push makes it much more difficult to review.

Unfortunately I was using the branch to move code from a development machine to a test machine and was being a bit cavalier about things which I now regret myself. I'll maintain individual commits moving forward to address code reviews.
Regarding the format failures, those mostly come from #12755 which stands on its own to fix the test certificate generation bit that's broken as per #12752. I think I'd like that merged in (once it passes) then I can just rebase (or rather merge in) the changes to get this thing on the right foot.
If you'd rather I just do it all here I'm okay with that too but the two are only somewhat related in that this should build on that.

Sounds good; other PR is merged, so you can merge that into this one. Although in this case, it may be simpler/cleaner to just rebase (even though that's usually frowned upon).

/wait

@ggreenway, I went the rebase route.  Hopefully that isn't too much to re-review (there are a lot fewer changes now).

format check is still failing
/wait

@ggreenway, format only seems to be failing in /generated_api_shadow and I'm not sure how to modify those.  can you point me to anything on that?

Run ./tools/proto_format/proto_format.sh fix and they'll get re-generated.

@ggreenway, the only thing failing at this point is //test/extensions/transport_sockets/tls/ocsp:ocsp_test on Windows and it's not unique to this pull request as per @PiotrSikora's comment here: https://github.com/envoyproxy/envoy/pull/12815#issuecomment-680735471

@joshua-rutherford -- our root ca is offline and does not publish a CRL -- we include the CRL for every intermediate in the trust chain but still get an "unknown CA error"


Swiper CSS property causes Google to flag the page as unusable on mobile

Check that this is really a bug

[X] I confirm

Reproduction link
https://search.google.com/test/mobile-friendly/result
Bug description
Swiper slider CSS property for .swiper { overflow: clip; } causes Google mobile friendly test to fail at https://search.google.com/test/mobile-friendly/result
This change was done in recent versions.
With the overflow: hidden; the usability tool marks the slider as usable on mobile. This is very significant for SEO/indexing.
.swiper {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
overflow: clip;   <-------------- causes the issue
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
display: block;
}
Expected Behavior
No response
Actual Behavior
No response
Swiper version
10.3.0
Platform/Target and Browser Versions
Chrome, Ubuntu 20.04
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

You can change it on your side

@jokerisgod THANK YOU. Really.


CI_experiments

Codecov Report

Merging #14 (8f744a8) into main (81176c0) will increase coverage by 57.03%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main      #14       +/-   ##
=============================================
+ Coverage     34.03%   91.07%   +57.03%
=============================================
  Files             6        1        -5
  Lines           332      168      -164
  Branches         10        0       -10
=============================================
+ Hits            113      153       +40
+ Misses          212       15      -197
+ Partials          7        0        -7

Impacted Files
Coverage Δ

...-plugin/src/main/java/org/eolang/OptimizeMojo.java

...py-maven-plugin/src/main/java/org/eolang/Save.java

...ven-plugin/src/main/java/org/eolang/TargetSpy.java

...n-plugin/src/main/java/org/eolang/CompileMojo.java

...ven-plugin/src/main/java/org/eolang/ParseMojo.java

src/eo2py/atoms.py
91.07% <0.00%> (+91.07%)
: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 81176c0...8f744a8. Read the comment docs.


UI issues when adding Regions I've Visited

Subject: UI issues when adding Regions I've Visited
Description:
While adding regions I've visited, all the selected countries will not be add. Its also easy to misclick and accidentally remove countries from the list.
Results:
After selecting countries, the clickaway should prevent propagtion of the click to listeners to remove countries to prevent accidental removal.
Backend version: develop-0023fa73
Frontend version:
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:107.0) Gecko/20100101 Firefox/107.0
Page: https://couchers.org/profile/edit
User: njelich (22104)

i don't understand


update to node 20

This fixes #60 by updating to use node 20.
I have not done anything to update the action dependencies of this package (e.g. setup-node). Maybe that should be included, or is it a separate thing?
I'm not sure if you want to update the lockFileVersion to 3, but it was done automatically upon npm-installing with a fairly recent npm.

Thanks for your contribution @sigurdga! I'll get this released and then work on upgrading the package versions and lock file version.


Missing CanActivate/Resolve Functionality in Ionic2

Short description of the problem:
Need to resolve data before @Page gets rendered.
What behavior are you expecting?
IMHO: Ionics View callbacks onPage* to respect/handle returned promises/observables.
Detailed description of the problem:
Hello,
I'm opening this issue after trying to find a solution/help in the forum, SO and slack. Till now there are  good hints for how to work around this issue, but no definitive solution.
As for now the decorator @CanActivate of Angular2 gets not called within Ionic2. Which opens the question what is the correct way to get data async before a Page gets rendered? This issue was posted on the forums, but didn't get any "solution".
Apparently Ionic2 does something with the @CanActivate decorator, but its not documented and i can't figure out what it does exactly.
Nevertheless this guy points out one should use Ionic2 View States instead. His example looks like this:
  onPageWillEnter() {
      return this._service.getComments().then(data => this.comments = data);
  }

Which looks like he is expecting Ionic to consider the returned promise, but a quick glance at Ionics sources reveals (at least I think so) that the returned value is ignored. Hence there is no guarantee that the promise gets resolved before the page gets rendered. During a discussion on #ionic-v2 I created an example with onPage* and how it does not perform as needed/expected.
Many people suggested to resolve the data before navigating to the page, which burdens the knowledge which data is needed for the page on the callee. This breaks the nice encapsulation of the Angular2 Component in my opinion.
I'm using

Cordova CLI: 6.1.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.4
Ionic CLI Version: 2.0.0-beta.24
Ionic App Lib Version: 2.0.0-beta.14
OS: Windows 7 SP1
Node Version: v4.4.2

Any update on this? Not having resolve is the main reason why I haven't migrated to ionic2 yet. I can work around the issue, but would rather wait if it's going to land soon.

I would love to see this in the ionic code as well!

I checked recently with
Ionic Framework Version: 2.0.0-beta.7
Ionic CLI Version: 2.0.0-beta.25
Ionic App Lib Version: 2.0.0-beta.15
OS: Windows 7 SP1
Node Version: v4.4.4

no progress so far :(

I agree, it would be cool to have this feature.
I'm trying to implement an authenticate system with resticted tab, for the moment I'm listening for onPageWillEnter but it's not really efficient since the page is showed 0,1 sec.

This has been driving me nuts the last few days, so I've gone and implemented this myself.
Since the NavController uses transitions directly instead of the relying on Angular2's (relatively new) beta-router, I simply delayed the transition to wait until both the promise returned by the 'entering-view component' via 'ionCanActivate(enteringView, leavingView)' and the 'leaving-view component' via 'ionCanDeactivate(enteringView: ViewController, leavingView: ViewController)' both have been resolved or cancel the transition if any Promise fails.
See Hufschmidt/ionic@77d8244. Might create a PullRequest...
Currently debating wether to pass the views or the controllers (view.instance) to the ionCan... calls.

I need some feedback from the ionic crew:
Are there any (immediate) plans to update/rewrite the current nav-controller?
I'm asking, because I'd like to improve the current implementation to reject the navigation promise (eg. returned by nav.setRoot()) upon rejection of an ionCan... promise. For this I'd like to change the current nav-controller to actually use promise-chaining instead of using the deferred-promise anti-pattern, so I don't have to pass done (and failed) callbacks around...

@Hufschmidt We are currently doing alot of work around navigation. While it is not a rewrite of NavController, as NavController works perfectly for what it is meant to do, we are adding some very cool functionality that should solve this issue. Thanks!

@jgw96 Thanks for the feedback. With this info I'll  probably not put any more work-hours into improving my current changes to the NavController and rather wait on the awesome things to come, keep up the good work. :smiley:
@ataraxus Yes, those where the workarounds I was talking about, thanks for posting the link though, good idea. :smiley:
Sadly both solutions have their own unique flaws:
sebaferreras solutiuon:
While I really like this one, especially for the additional UI feedback thanks to the loading-controller the problems remains that this component is fully loaded and gets all of its (angular and ionic) life-cycle hooks executed regardless of the additional async parameters.
Furthermore, if the async parameters reject, the component would be responsible for restoring the previous navigation/application state. (Which could be as simple as nav.pop() but could also get arbitrarily complex)
Thomas Withaars solution:
While this solutions does not suffer from the aboe flaws, now the/each component responsible for navigation has to know about the requirements of every component it can navigate to, circumventing angulars DI for those parameters.
Comparatively I'd say the later  solution (while not the accepted one) is the lesser of both evils.

Is there an update on this now that we have RC0? Thanks!

RC0 supports ionViewCanLeave and ionViewCanEnter.

@manucorporat It says so in the changelog, however the NavController docs says nothing about them, how are they used, do they expect true or false? do they expect a promise to resolve or reject?

I've been playing with it and returning false is the way to stop navigation, however i don't see how to trigger a redirect other than using setTimeout to put the redirect last in the js event loop:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

import { Page2 } from '../page2/page2.ts';

@Component({
  selector: 'page-page1',
  templateUrl: 'page1.html'
})
export class Page1 {
  constructor(public navCtrl: NavController) { }

  ionViewCanEnter() {
    console.log('Can enter.');
    setTimeout(() => {
      this.navCtrl.setRoot(Page2)
    }, 0);
    return false;
  }

}

Ok not so much, that only works at the start, if i just return false in a page that's supposed to be navigated after the root component is been set, it breaks.

Is using ionViewCanEnter really a valid solution for angular's resolve? As far as I can tell, It is equivalent of angular's CanActivate, not resolve.

This is just awful. I can't conceive how the authentication use case was not fully fleshed out when designing the navigation controller.

Is still no way to control authentication?

@Luchillo, @mohammadshamma have a look at the navcontroller ionViewCanEnter it does exactly what you are looking for. http://ionicframework.com/docs/v2/nightly/api/navigation/NavController

Indeed, thanks @ataraxus for the link. Seems the documentation contains very clear examples and explanations now.
when doing a "push()" on the nav controller, a ".catch()" is needed to intercept the true/false values emitted by the ionViewCanLeave/Enter (use canLeave in same component, or canEnter in the destination page or component).
Haven't had time to actually test this yet, but it's clearly written so hopefully reproducing this will be straightforward and simple. 👍

Hi,
I jump in the discussion as I am also facing the same issue. I am trying to secure pages of my app but if we compare the ionViewCanEnter and canActivate they don't have the same signature which quite annoying if we want to achieve the same goal.

@ataraxus My criticism is for the fact that there is no cross cutting way of doing the check for every page. My understanding is that I might have to define the ionViewCanEnter for every page that expects authentication gating.

@mohammadshamma I think this, as it is always a trade of... either you whitelist or you blacklist. If you dont want to duplicate your auth code, just create a class SecurePage with your ionViewCanEnter and subclass all pages need to be secured. I know its not as common in JS to subclass, I need to get used to it too ;)


correct invalid test

The final test in the v0.2.0 test suite appears to (a) override a previous test and (b) not actually test for the desired effect. This PR minimally corrects the issue, I believe.

Thanks!


Add Support For kissanime.to

Kindly add support for http://kissanime.to

youtube-dl does not support sites dedicated to copyright infringement.


Use python shebang line that respsects virtualenvs

See https://peps.python.org/pep-0394/#for-python-script-publishers. When running in a virtualenv, the actual "python3" executable is not at the fully qualified path.  Using "/usr/bin/env" is a best practice that allows virtualenv to work properly as per the PEP.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


RFR - Let's test python-coveralls

Wohooo! :cool: Awesome!
Let's get the badge also:

For the badge see
https://github.com/StackStorm/st2/pull/1707


Add ability to edit disabled field on office users

Description
We can now disable office users through the admin app!
Reviewer Notes

Are there any security implications that I haven't considered in allowing us to do this via the admin console?
We have a log line in place so we can audit who changes the office user record.

Setup

make server_run
make client_run
Navigate to the edit office user page - you can now changed the user's disabled column.

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

I've added tickets for 1 and 2 that I'll add a bit more detail and organization to on Monday.
Regarding 3, I'm not sure. The phone validation that's used for the input uses the same regex as the one we've defined in Swagger, so I'd want to keep that consistent. Seems like our test data and the data that has come from secure migrations has ignore that validation :/

Cool, thanks @lynzt!


Test with shapely v2

How would you like this integrated ? To represent arrow array as shapely in python ?

I don't think we can represent an arrow array as shapely directly. I was thinking more: check which apis have changed from v1 to v2, and soon-ish with an arrow-native encoding here, we should be able to use this native shapely pr to more efficiently move data between geoarrow and shapely

This is better implemented as of https://github.com/geopolars/geopolars/pull/187. See: https://github.com/geopolars/geopolars/blob/8cc532e72442eb6e396fa1d2076ecf9326efc738/py-geopolars/python/geopolars/internals/geoseries.py#L71-L129


Added new card feature. The card-menu

Card manu adds a new option to cards. It let you add a new feature and not only add more actions to the card, but also create dropdown lists.

Were there more files to include in this commit to enable dropdown lists in cards? I'm interested in implementing this feature too!

wait, so what did you implement in this commit?

Closed due:

Missing explanation
Inactivity
Poorly done PR


Unable to source:retrieve MutingPermisionSet

Summary
_A Muting Permission Set in a Permission Set Group in a sandbox cannot be retrieved by source:retrieve  _.
Steps To Reproduce:

Create a Muting Permission Set in a sandbox
Try retrieving it by sfdx force:source:retrieve -m "MutingPermissionSet:permission_set_api_name"
The command failed with "cannot read property 'metadataName' of undefined"
Org Browser can see the permission set but retrieving it ended up with the same result (not surprisingly)

Additional information - Environment
SFDX CLI Version:
7.49.1
SFDX plugin Version:
48.4.1
OS and version:
Windows 10

Verifies it fails with force:source:pull as well.

Additional Information - Environment
SFDX CLI Version:
7.49.1
SFDX plugin Version:
48.4.1
OS and version
Mac 10.14.6

@bingwang0  we are going to investigate thank you

I assume it's not that easy to have a "CLI supported" column in the Metadata Coverage Report ?

@FabienTaillon sadly no, we have had internal discussions, but it is a lot more work than it would seem.

Also, MutingPermissionSet is listed as supported by the Metadata API, so letting aside the CLI, shouldn't this mean that it should be documented here, and available through at least a package.xml ?
Or is it just a bug on the API side, it's listed as available in the Metadata API but it's not ?

Hi there, when do you plan to support muted permission sets please? This ticket is a sleeping beauty ;-)

Going on 9 months now, is there an update on this? We just got bit by the gap in functionality.

Hey, @clairebianchi. Any ETA on this by chance?

Another voice to add to the chorus! If Permission Set Groups (and the Muting inherent to them) are something Salesforce wants to make easy to work with via CLI, we need to be able to get them out of sandboxes effectively!
SFDX CLI Version:
7.82.0
SFDX plugin Version:
50.8.0
OS and version:
Windows 10

We're working on a fix for this now and plan to have it included in our next release

Is this fix for retrieve|pull only command or the deploy|push will also be fixed?

Is this fix for retrieve|pull only command or the deploy|push will also be fixed?

As for a side note. I used MutingPermissionSets on project and we put them in separate metaDataApi folder and user mdapi:deploy /retrive for them

Given the fix, and the comments (seems to work for all operations) I'm closing this one.  Someone reopen if you still see problems with mutingPermSets

I’m seeing this issue reproducible and I have re tried after doing sfdx update.

@mshanemc can you reopen this issue?
I agree with @rajesh-kemisetti this issue still happening even updating to the latest cli version.

@rajesh-kemisetti @dieffrei - what version of the salesforcedx plugin are you using?  If you're pinned to an old version you won't get the updates.  Multiple people on the team can not reproduce this issue after following the steps from the original post.  If there are different steps to reproduce this please post what they are.  Another option for force:source:retrieve and force:source:deploy is to use the VS Code extension which currently (but not for long) uses a different library for those commands.

@shetzel I am still seeing this issue. Below screen shot shows the CLI version and the package that just has the muted perm set and the retrieval doesn't work. I tried running the command in VS code via ctrl+shift+p and also with the terminal and got the same error

CC: @dieffrei