Wrong data gets send when sending more data than WriteBufferSize in chunks

If I send data over the serial port in chunks of 250 bytes by specifying offset and count and the whole amount of data is larger then the default WriteBufferSize, wrong data is sent over the serial port.
Only the chunks which contain start (offset) before a multiple of the buffer size and the end (offset + count) after a multiple of the buffer size are wrong. In other words:
serialPort.Write(data, 0x01FFB8, 250) <= sends wrong the data
If only that part is send data gets sent correctly (not in a loop).
Workarounds:

Setting WriteBufferSize to a multiple of 250
Calling the method with offset 0 and the prefiltered data.
serialPort.Write(data.Skip(0x01FFB8).Take(250).ToArray(), 0, 250) <= sends correct the data

I have this behavior with a USB to serial cable and I'm also able to reproduce it with com0com.
I've create a small linqpad script which reproduces it on com0com with on serialports COM25 and COM26.
com0com version:
com0com-<IP_ADDRESS>-x64-fre-signed.zip from https://sourceforge.net/projects/com0com/files/com0com/<IP_ADDRESS>/
serialPortStreamTest.zip

You're absolutely right. It occurs when the internal buffer boundaries are exceeded and the offset to write is non-zero. It occurs in CircularBuffer.cs in the method Append and the code needs to be:
if (count <= WriteLength) {
    ...
} else {
    count = Math.Min(Free, count);
    System.Array.Copy(array, offset, m_Array, End, WriteLength);
    System.Array.Copy(array, WriteLength + offset, m_Array, 0, count - WriteLength);
    Produce(count);
    return count;
}

the original line is:
    System.Array.Copy(array, WriteLength, m_Array, 0, count - WriteLength);

So when it realizes it's got to the end of the buffer, it writes the end part correctly, but then it copies the remaining data from the wrong position in the source array.

Thanks for looking into it that fast, are you going to publish a new version? I can test it if you want.

I could look into it fast because you had a test case that I could rewrite using NUnit to investigate and single step. So Kudos for a very well written bug report.
I'll see what I can do, but my fulltime job has to take priority. I hope that I can have something in about two weeks, as I'd like to do some real world tests too, and will submit when I've got a couple unit test cases that checks this.
In the mean time, I've identified the problem, mentioned what needs to change, so you have a workaround until then.

Thank you, I'll test the change so you have already one real world test.

Successfully tested 2228614d36ee0542513dd87ab69f2485338d6b7a on a device

Released in v2.2.1 on NuGet

The nuget package shows depencendencies for 4.6.2, should I open a new issue?
The empty group "" is missing.
2.2.0 package:

2.2.1 package:

That's strange. I used NuGet 3.5.0 for packaging. The source .nuspec file never had the empty dependency. I look at the sources on the tag release/<IP_ADDRESS> and it didn't have the empty target either. I don't remember what nuget.exe I used for the packaging back then.
What's the side effect of the missing 4.6.2? Does it pull in unexpected dependencies? If so, I should do a rerelease, in which case I'll open a new ticket, so I can reference it in the commit history.


Vagrantfile won't mount /vagrant synced folder (and enabling it will fail in Virtualbox)

Unfortunately, merging my PR #4 introduced a grave regression: The generic images have the default synced folder disabled. It is easy to enable it again by adding
  config.vm.synced_folder "./", "/vagrant", disabled: false

to the Vagrantfile, but this causes issues if the VirtualBox provider is used:

The box does not have virtualbox-guest-utils installed which, means mount.vboxsf is missing and the necessary kernel modules to mount VirtualBox shared folders are not automatically loaded.
Manually installing virtualbox-guest-utils before Vagrant tries to mount the synced folder is not possible. This is a common problem and there are many issues filed for this. All workarounds that have been proposed don't work anymore because Vagrant has evolved so erratically that features that once existed are still visible in some sourcecode (https://github.com/hashicorp/vagrant/blob/master/plugins/providers/virtualbox/synced_folder.rb#L38) but are rendered unusable somewhere else.

There are two options to solve that:

vagrant plugin install vagrant-vbguest which automatically installs the matching version of the VirtualBox guest additions before Vagrant mounts the folders and probably solves a lot of other problems with VirtualBox.
Use a different base box, e.g. https://app.vagrantup.com/ubuntu/boxes/xenial64 only when using VirtualBox:

  config.vm.provider :virtualbox do |vb, override|
    override.vm.box = "ubuntu/xenial64"
    # disable the generation of ubuntu-xenial-16.04-cloudimg-console.log file
    # https://betacloud.io/get-rid-of-ubuntu-xenial-16-04-cloudimg-console-log/
    vb.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
  end

libvirt (the reason I changed base box in the first place) is not affected by all of this. Could someone with a VMware or Parallels license please test whether they have a similar issue?
Also, I'd like to know if the above makes sense and if using ubuntu/xenial64 works for more than my version of VirtualBox (5.2.8) to avoid making the same mistake again as last time.

Maybe this is a solution:
https://github.com/boxcutter/ubuntu
Best regards

Unfortunately I don't use Vagrant or virtual box so have no way to test this. To my understanding from discussion above, should this Vargrant file work? :
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "generic/ubuntu1604"
  config.vm.provision "shell", :path => "provision.sh", privileged: false
  config.vm.provider :virtualbox do |vb, override|
    override.vm.box = "ubuntu/xenial64"
    # disable the generation of ubuntu-xenial-16.04-cloudimg-console.log file
    # https://betacloud.io/get-rid-of-ubuntu-xenial-16-04-cloudimg-console-log/
    vb.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
  end
end

@ufuchs: The boxcutter boxes are great as a basis for when you want to develop your own boxes with packer, but they are not (to my knowledge) available on the Vagrant Cloud, so they are not very useful for the purpose at hand. Also, they don't have libvirt boxes.
@yuval-k: Almost, the synced folder has to be re-enabled. tommie-lie/packer-builder-arm-image@b39cec37 was tested on libvirt and Virtualbox and works for both. I was hesitant to file a PR because I wanted to give it more testing but feel free to merge if you like.
P.S.: Some more Vagrantfile feature enhancements to come early next week ;-)

Sounds good, I'll merge it for now so we will have something working

sounds great re: vagrant enhancements, thank you!
feel free to suggest any other feedback in issues \ our slack channel

fixed by 2738b03a61f15a0790f3781ceb3df9373139f69d


Error when clicking through to conversation thread from email

Describe the bug
I got an email notification about a new comment on a conversation. I clicked the "view" button but it sent me to https://opencollective.com/opencollective/conversations/feedback-on-conversations-undefined instead of the correct URL
https://opencollective.com/opencollective/conversations/feedback-on-conversations-8dpo3pew.
There, I saw the error below. If a conversation is not able to be displayed, the error should say something human readable like "This Conversation is not available. Click here to see all Conversations."

This particular post is actually spam, but I've left it up for investigation purposes.

Regression introduced in https://github.com/opencollective/opencollective-api/pull/3693


[Refactor] Chat Adapter API refactoring

Purpose

Chat Adapter API refactoring
Able to create different chat adapter for different chat thread using the same ChatUIClient

https://user-images.githubusercontent.com/77021369/206040441-9bc674ed-8a6e-435d-8633-c9d18ffd56e2.mov
Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

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

Pull request checklist
This PR has considered:

[ ] Color Theming
[ ] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] View Data Injection
[ ] Demo App UI/UX update

How to Test

Open...
Click on...

What to Check

Before
After

Screenshot or description before this change
Screenshot or description with this change

Other Information

Closing this PR and updating the new public api.


Add method add_child_at_index(node: Node, index: int) to Node class

Adding method add_child_at_index(node: Node, index: int) to Node class. It would be useful for Nodes with children that generate procedurally.

You can do
add_child(child)
move_child(child, i)

@KoBeWi Yes, I know about this method, and it works well. I meant that method add_child_at_index reduce a little boilerplate code.

Also, it can be used inside add_child_below_node method. Right now add_child_below_node firstly uses the push_back method of Vector, and then use move_child to reorder children. It will increase performance for a bit

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Solution for ERROR: Failed to clean the workspace '/var/lib/jenkins/workspace/HelloWorld'

Had below error while build creation:
ERROR: Failed to clean the workspace
java.io.IOException: Unable to delete '/var/lib/jenkins/workspace/HelloWorld'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts.
It seems like Jenkins doesn't have access to delete. It can be fixed by login into your azure vm and run below command:
$sudo chown -Rh jenkins:jenkins /var/lib/jenkins/workspace/HelloWorld

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

ID: a230cf42-66c2-e0d1-983a-7b920251fe2c
Version Independent ID: 6d17ff45-c7fd-2715-382e-14905760b594
Content: Tutorial - Create a development pipeline in Azure with Jenkins
Content Source: articles/virtual-machines/linux/tutorial-jenkins-github-docker-cicd.md
Service: virtual-machines-linux
Product: unspecified
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@sanjaysahu1984 Thanks for the feedback! We are currently investigating and will update you shortly.

@iainfoulds can you take a look and see if this is something we should include into the doc?

Sorry you ran into issues, @sanjaysahu1984
@MicahMcKittrick-MSFT Can you replicate this behavior?

@iainfoulds I had other issues earlier but seems it was user error. I just went through it again and it seems to have worked just fine:

@sanjaysahu1984 I am not seeing any issues with the doc. Are you running this on your local machine or in Azure Cloud Shell? I performed the steps in the cloud shell

I did it in cloud shell

@sanjaysahu1984 thanks for that. I would suggest trying to run through the document again as I did follow it yesterday and was able to get it to work without issue. Possibly there was a step missed when you were following it?

@sanjaysahu1984 any update on this?

As of my understanding, i didn't miss any above mentioned steps. i created a new workspace directory in my server for another application and had same access issue for jenkins.  But if you need i will again follow above steps from scratch and let you know.

@sanjaysahu1984 any luck?

I have check it again. its working fine. Thanks for your help :)

Thanks for the update :)


[Improve] [Flink-Kubernetes-V2] Copy a trackCluster api to the trackApplication Job api

What changes were proposed in this pull request
Copy a trackCluster api to the track Application Job api to improve code readability and avoid confusing Cluster and Application.

Brief change log

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency): (yes / no)

This PR doesn't have to be merged as that might not be a good suggestion

cc @Al-assad @wolfboys

thank you your review


[FLINK-5598] return filename after jar upload

We use the Flink Web Backend to control Flink Jobs running in our Cluster. We would like to have more control in the API. This is the first change I propose, changing the output of the upload JAR Endpoint to something meaningful. To start a Flink Job you need to have the Jar Name, which gets created randomly during upload. The API now returns this.

Good change. +1 to merge.

Merging this...


Jinja2 Fails at 50%

So while I was trying to train a model, at exactly the halfway point, I encountered and error because Jinja2 was not installed. While this is an easily resolvable error, the fact that it happened to begin with is the real issue. I think under ideal circumstances that the library should be installed during the unsloth installation procedure. And dependencies preferably checked and validated during runtime at program startup.
Prior to this run I pulled an update from github as per the instructions at https://github.com/unslothai/unsloth/wiki which do indeed mention "without dependency updates" which I wrongly assumed to mean "You dont have to ever update dependencies under any circumstance when updating unsloth" This sentiment was compounded by the lack of a section giving instructions for updating dependencies. It is my recommendation to add information to the wiki detailing how to update dependencies, as well as information about how to determine if dependency updates are needed.
While I do understand that I can read every line of the source code for unsloth and all of its dependencies in order to guide myself in the proper direction when using unsloth, I very much feel that over all desire of unsloth is to abstract the details away from the user and to provide a useful, easy to use tool suitable for end use. Therefore providing the proposed changes seems to be a good step toward achieving that goal and is the reason I am reporting this as an issue.
{'loss': 1.8562, 'grad_norm': 2.403313636779785, 'learning_rate': 0.00010110552763819097, 'epoch': 2.48}
{'loss': 1.8265, 'grad_norm': 2.4125723838806152, 'learning_rate': 0.00010090452261306533, 'epoch': 2.49}
{'loss': 1.8723, 'grad_norm': 2.2457594871520996, 'learning_rate': 0.0001007035175879397, 'epoch': 2.5}
{'loss': 1.798, 'grad_norm': 2.0121476650238037, 'learning_rate': 0.00010050251256281407, 'epoch': 2.5}
{'eval_loss': 3.009955406188965, 'eval_runtime': 41.0613, 'eval_samples_per_second': 9.742, 'eval_steps_per_second': 2.435, 'epoch': 2.5}
 50%|███████████████████████████████████████████████████████████████████████████████▌                                                                               | 500/1000 [1:48:22<1:10:30,  8.46s/itTraceback (most recent call last):
  File "~/unsloth/text-trainer-with-eval.py", line 87, in <module>
    trainer_stats = trainer.train()
  File "~/.local/lib/python3.10/site-packages/trl/trainer/sft_trainer.py", line 361, in train
    output = super().train(*args, **kwargs)
  File "~/.local/lib/python3.10/site-packages/transformers/trainer.py", line 1859, in train
    return inner_training_loop(
  File "<string>", line 436, in _fast_inner_training_loop
  File "~/.local/lib/python3.10/site-packages/transformers/trainer.py", line 2673, in _maybe_log_save_evaluate
    self._save_checkpoint(model, trial, metrics=metrics)
  File "~/.local/lib/python3.10/site-packages/transformers/trainer.py", line 2752, in _save_checkpoint
    self.save_model(output_dir, _internal_call=True)
  File "~/.local/lib/python3.10/site-packages/transformers/trainer.py", line 3252, in save_model
    self._save(output_dir)
  File "~/.local/lib/python3.10/site-packages/transformers/trainer.py", line 3327, in _save
    self.model.save_pretrained(
  File "~/.local/lib/python3.10/site-packages/peft/peft_model.py", line 213, in save_pretrained
    self.create_or_update_model_card(save_directory)
  File "~/.local/lib/python3.10/site-packages/peft/peft_model.py", line 821, in create_or_update_model_card
    card = ModelCard.load(filename) if os.path.exists(filename) else ModelCard.from_template(ModelCardData())
  File "~/.local/lib/python3.10/site-packages/huggingface_hub/repocard.py", line 414, in from_template
    return super().from_template(card_data, template_path, template_str, **template_kwargs)
  File "~/.local/lib/python3.10/site-packages/huggingface_hub/repocard.py", line 319, in from_template
    raise ImportError(
ImportError: Using RepoCard.from_template requires Jinja2 to be installed. Please install it with `pip install Jinja2`.

Oh nice catch!! Did not know about Jinja2 - thanks for that - will add it in!

Should work now hopefully! @pfifo


Image markdown not included during processing

I'm trying to write a textfile that includes images and links (as markdown, from what I understand of the documentation).
I tried running trafilatura -u https://www.thefp.com/p/an-illustrated-guide-to-self-censorship --images --links --no-comments and it successfully pulls in links, but ignores all of the extremely within the central content div images. Am I using this incorrectly?
I also tried using the method mentioned in one of the previous questions:
from trafilatura import fetch_url, extract
download = fetch_url("https://www.thefp.com/p/an-illustrated-guide-to-self-censorship")
extract(download, include_images=True, include_links=True)  # output_format="txt" is superfluous
This included no images, although it did include links. If i try with output_format="json", I get a single image key (presumably the main image in the article?) but none of the other images are rendered as markdown tags inside the main text.
Thanks!

Hi @kianwilcox, the package mainly focuses on text and tries to get rid of unnecessary sections. It could be that the central images are wrongly considered to be off-limits or that the div/picture/img nesting confuses the extractor.

Any way to tell what the issue is, so that I can go in and perhaps modify
it or provide it some suggestions about what to allow or disallow with
respect to images? [or, if not possible, do you know of another library
that might return markdown that doesn't clear all of the images from the
content area?]
Thanks!
-Kian
On Mon, Jul 3, 2023 at 3:47 AM Adrien Barbaresi @.***>
wrote:

Hi @kianwilcox https://github.com/kianwilcox, the package mainly
focuses on text and tries to get rid of unnecessary sections. It could be
that the central images are wrongly considered to be off-limits or that the
div/picture/img nesting confuses the extractor.
—
Reply to this email directly, view it on GitHub
https://github.com/adbar/trafilatura/issues/388#issuecomment-1617904284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAYTKUC6TH5TWP7P3VCDRTXOKPLLANCNFSM6AAAAAAZ3C3HUY
.
You are receiving this because you were mentioned.Message ID:
@.***>

The extraction implies to get clean HTML and convert elements, maybe the images get discarded here:
https://github.com/adbar/trafilatura/blob/123414cae5f927e743f5eced2cd43b81a65fc43c/trafilatura/htmlprocessing.py#L48
Or maybe they are not handled correctly by this part of the code:
https://github.com/adbar/trafilatura/blob/123414cae5f927e743f5eced2cd43b81a65fc43c/trafilatura/core.py#L430
I guess the issue could have something to do with it but I lack time to test it right now. I'll come back to it later if you don't find anything.

There are definitely missing images, see discussion above.

@kianwilcox https://github.com/adbar/trafilatura


Uncaught RangeError: Maximum call stack size exceeded. (>= v4.0.0-alpha.8)

Since version alpha.8 I get this error message when I use the pickers inside a Modal. It seems to be a similar issue that was already present here: #471
Uncaught RangeError: Maximum call stack size exceeded at HTMLDocument.contain (Unstable_TrapFocus.js?311c:77)

I created a new bug report as the old one was closed and not related to the newer version.
I created a sandbox here: https://codesandbox.io/s/bold-kare-0mcpc
The Issue appears when the picker dialog opens. It's also not possible to close it.
If I add the disableEnforceFocus prop to the dialog the error message changes to Uncaught Error: Cannot add node 1 because a node with that id is already in the Store..

[x] The issue is present in the latest release.

Tech
Version

@material-ui/core
v4.11.0

@material-ui/pickers
>= v4.0.0-alpha.8

React
16.13.1

Browser
Chrome

Ok the Uncaught Error: Cannot add node 1 because a node with that id is already in the Store.. error I can't reproduce anymore. Th e only issue seems to be then that the picker das not close when I click on the background.

Duplicate of #1852


Problem with Rule AL0126

Describe the bug
The Code Cop rule "AL0126" reports an error, but my app is still able to compile.
To Reproduce
I added an overload for the procedure "AddNewEntry" on the table "Name/Value Buffer" in extension A.
In extension B, which depends on A, I call this procedure.
tableextension 50000 "A Name/Value Buffer" extends "Name/Value Buffer"
{
    var
        TemporaryErr: Label 'The record must be temporary.';

    procedure AddNewEntry(NewID: Integer; NewName: Text[250]; NewValue: Text)
    begin
        if not IsTemporary then
            Error(TemporaryErr);

        Clear(Rec);

        ID := NewID;
        Name := NewName;
        SetValueWithoutModifying(NewValue);

        Insert(true);
    end;
}

codeunit 50000 "B CallBuffer"
{
  procedure CallProcedure()
      var
      NameValueBuffer: Record "Name/Value Buffer" temporary;
      begin
          NameValueBuffer.AddNewEntry(1,'Name','Value');
      end;
}

Expected behavior
The code cop should not only scan the base app but also dependent app for function overloads
Screenshots

5. Versions:

AL Language: 6.1.381323
Business Central: onprem/17.1.18256.18792/de

Hi! Is this still a problem on the latest release?

Yes, still does not work as expected with the latest AL version v7.1.453917

@StefanMaron - Thank you for raising this issue. I could not reproduce it anymore on the latest AL extension. The overload is now correctly resolved in extension B and it finds the one specified in the table extension in extension A

I am then closing this issue. If you still can reproduce it, please create a new issue with all the repro steps and reference this one.


wayland/core: move to new impl

It's the final countdown!
This MR moves the last parts of wayland over to Hyprland. After this is done, I'll focus on some cleanups for 1-2 weeks, then get onto the last bits of wlroots to be rewritten (backend)
TODO:

[x] wl_shm
[x] wl_compositor
[x] wl_buffer
[x] wl_subcompositor
[x] wp_viewporter
[x] mesa drm
[x] linux_dmabuf
[ ] Testing
[x] Nix
[x] Meson

Bugs:

[x] shm seems to update oddly? (only tested with qt)
[x] shm issues with release timings
[x] foot won't show up
[x] rendering bugs: chromium
[x] ff/gtk won't open
[x] fuzzel crashes
[x] ff dt issues
[x] linux_dmabuf buffers won't pass through egl
[x] add more error checking for linux_dma
[ ] dmabuf vram memory issues while resizing e.g. kitty
[x] viewporter issues in chromium

Maybe add cpp modules?

no

Hey Vaxry, feel free to do whatever you like but is there a reason for the frequent force pushes on these large PR's? I love force pushes as much as the next guy but it makes it very hard to bisect for a bug when there is no commit history and its a 5000 line pr?
I've been trying to fix https://github.com/hyprwm/Hyprland/issues/6159 for a few days now and some sort of commit history on this wlroots rewrite pr would help so much. Reflogs last in git for 90 days by default, is there any chance you could zip/tar your .git/logs folder so that I have something to bisect through to figure out what caused the issue?
Thanks for your hard work Vaxry! This issue has just been really bothering me for the last week and I really wanna get it fixed.

the reason is I rebase instead of squash when merging for these and thus want to keep commits to a few

If anyone wants to help, you can already test this MR, most stuff should work (outside of the unticked bugs above)
with firefox, it would be nice if someone could find what differs in the WAYLAND_DEBUG output between hyprland main (or sway) and this rewrite. I can't seem to get kdiff to work on my laptop and doing it by eye is painful
if any other bugs arose from this MR, let me know, I'll try to repro and fix.

cheers from the mountains fam :)

If anyone wants to help, you can already test this MR

It doesn't even build

hyprwayland-scanner-git needed

FAILED: CMakeFiles/Hyprland.dir/src/render/Renderer.cpp.o
/usr/bin/c++ -DHAS_EXECINFO -DHyprland_EXPORTS -DUSES_SYSTEMD -DWLR_USE_UNSTABLE -I/home/goose/srcmk/Hyprland/. -I/home/goose/srcmk/Hyprland/src -I/home/goose/srcmk/Hyprland/subprojects/wlroots-hyprland/include -I/home/goose/srcmk/Hyprland/subprojects/wlroots-hyprland/build/include -I/home/goose/srcmk/Hyprland/subprojects/udis86 -I/home/goose/srcmk/Hyprland/protocols -I/home/goose/srcmk/Hyprland/subprojects/udis86/libudis86 -isystem /usr/include/uuid -isystem /usr/include/pango-1.0 -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/harfbuzz -isystem /usr/include/freetype2 -isystem /usr/include/pixman-1 -isystem /usr/include/libdrm -isystem /usr/include/libxml2 -isystem /usr/include/libpng16 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/sysprof-6 -isystem /usr/include/fribidi -O3 -DNDEBUG -std=gnu++23 -O3 -Wall -Wextra -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing -Wno-pointer-arith -fmacro-prefix-map=/home/goose/srcmk/Hyprland/= -DWITH_GZFILEOP -pthread -Winvalid-pch -include /home/goose/srcmk/Hyprland/build/CMakeFiles/Hyprland.dir/cmake_pch.hxx -MD -MT CMakeFiles/Hyprland.dir/src/render/Renderer.cpp.o -MF CMakeFiles/Hyprland.dir/src/render/Renderer.cpp.o.d -o CMakeFiles/Hyprland.dir/src/render/Renderer.cpp.o -c /home/goose/srcmk/Hyprland/src/render/Renderer.cpp
/home/goose/srcmk/Hyprland/src/render/Renderer.cpp:3:10: fatal error: linux-dmabuf-unstable-v1-protocol.h: No such file or directory
    3 | #include "linux-dmabuf-unstable-v1-protocol.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[202/252] Building CXX object CMakeFiles/Hyprland.dir/src/render/OpenGL.cpp.o
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:15: release] Error 1
make[1]: Leaving directory '/home/goose/srcmk/Hyprland'
make: *** [Makefile:34: all] Error 2

ah uh oops heh you can remove that include. I'll nuke it when I am on my laptop

Aside from firefox not showing anything, wofi crashes for me after typing two letters. It also shows this warning right before the crash:
(wofi:41120): Gdk-WARNING **: 18:30:33.506: (../gtk/gdk/wayland/gdkwindow-wayland.c:918):buffer_release_callback: runtime check failed: (impl->staging_cairo_surface != cairo_surface)
wofi: ../cairo/src/cairo-surface.c:938: cairo_surface_reference: Assertion `CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count)' failed.
Aborted (core dumped)

Here's the coredump info (not sure whether that helps though): wofi-coredump.txt
Also, it currently doesn't build for me with meson, probably because of the missing quote there:

lmfao oops

I'll see whats up with wofi, looks odd

wofi fixed

sowwy fow that >//<

fixed uwu

firefoxkde.txt
firefoxsway.txt
firefoxwlrwrtnhyprcrash.txt
@vaxerski About firefox with WAYLAND_DEBUG...

I know it crashes, but I can't get kdiff working on my laptop and scanning the entire thing with my eyes would be painful. Is there a way you could see what differs between sway/hl especially near the top?

I did some looking through the diffs and the only thing I have noticed so far is that in main something like this is logged (i've omitted various numbers and timestamps):
wl_registry@?.global(? "wp_single_pixel_buffer_manager_v1", 1)

which is mentioned nowhere on this branch.
I don't really know that this means, and whether that could be the cause. Is there something i should specifically look for?

sure I have not implemented that protocol but I doubt it's an issue (neither ff nor foot use it iirc? are they bound with .bind?)

no, that protocol is indeed not getting bound. sorry, didn't really look into what .global meant

Okay, another wild guess. On main, this is called after using the dmabuf_feedback protocol:
zwp_linux_dmabuf_feedback_v1@?.done()

It is however not present anywhere in the logs on this branch.

firefox and foot are like the two main things I use :rofl:. I've compared the logs in https://github.com/hyprwm/Hyprland/pull/6268#issuecomment-2142706676 and it seems we .destroy() wl_buffer after every .release() unlike sway's log

could wl_output `.mode()` spam be a problem?
[3914290.775] wl_output@16.mode(3, 3840, 2160, 60000)
[3914290.777] wl_output@16.mode(0, 3840, 2160, 59940)
[3914290.778] wl_output@16.mode(0, 3840, 2160, 50000)
[3914290.779] wl_output@16.mode(0, 3840, 2160, 30000)
[3914290.780] wl_output@16.mode(0, 3840, 2160, 29970)
[3914290.782] wl_output@16.mode(0, 3840, 2160, 25000)
[3914290.783] wl_output@16.mode(0, 3840, 2160, 23976)
[3914290.784] wl_output@16.mode(0, 2560, 1440, 59951)
[3914290.785] wl_output@16.mode(0, 1920, 1080, 60000)
[3914290.786] wl_output@16.mode(0, 1920, 1080, 59939)
[3914290.787] wl_output@16.mode(0, 1920, 1080, 50000)
[3914290.789] wl_output@16.mode(0, 1920, 1080, 29972)
[3914290.790] wl_output@16.mode(0, 1920, 1080, 23977)
[3914290.791] wl_output@16.mode(0, 1600, 900, 60000)
[3914290.792] wl_output@16.mode(0, 1280, 1024, 60020)
[3914290.793] wl_output@16.mode(0, 1280, 800, 59810)
[3914290.794] wl_output@16.mode(0, 1152, 864, 59997)
[3914290.795] wl_output@16.mode(0, 1280, 720, 60000)
[3914290.797] wl_output@16.mode(0, 1280, 720, 59943)
[3914290.798] wl_output@16.mode(0, 1024, 768, 60004)
[3914290.799] wl_output@16.mode(0, 800, 600, 60317)
[3914290.800] wl_output@16.mode(0, 720, 576, 50000)
[3914290.803] wl_output@16.mode(0, 720, 480, 59940)
[3914290.804] wl_output@16.mode(0, 640, 480, 59940)
[3914290.805] wl_output@16.mode(0, 640, 480, 59929)

(unseen on main branch)

doubt? but I can do that. Gimme sec

done

what's the difference between zwp_linux_dmabuf_v1 4 and 5?

seems like a single protocol error condition https://wayland.app/protocols/linux-dmabuf-v1

it also looks like the old implementation deleted things more strictly, as i guess by the delete_id calls in the following side by side view (don't really think this is the problem causing the issues with firefox though)
 main branch on the left, pr on the right (highlighted the commit for orientation)

otherwise I don't really see any meaningful differences

ah, that was a bug in hyprwayland-scanner, update to git

there's two wl_drm formats not listed on main ..?
[1090954.547] wl_drm@45.format(875713345)
[1090954.548] wl_drm@45.format(875713368)

doubt it'd matter, there should be fewer as we filter external only formats

I'll take a look at it more tomorrow... you can also try foot maybe it'll be an easier case (unless its a bug in the code somewhere and the wayland communication is ok...)

foot wl_debug
warn: render.c:2694: compositor is not releasing buffers immediately; expect lower rendering performance

only on this branch and not main

foot wl_debug
warn: render.c:2694: compositor is not releasing buffers immediately; expect lower rendering performance

only on this branch and not main
otherwise, nothing else really stands out.

Maybe hyprland nested experience

screenfail.txt
Also screencopy fails

Firefox doesn't actually crash but rather stays invisible just like foot does. They both seem to accept keyboard inputs just fine but you just can't see what they are doing.

screencopy / screenshare fixed

screencopy / screenshare fixed

Yeah, it works, but when i select the area, it always begins from 0,0 coordinate

I still dont know why these pieces of shit wont render

that one was a dumb typo... foot fixed.

also is it just my nest being schizophrenic or whenever I toggle float with kitty open it sometimes flashes a blank frame

also is it just my nest being schizophrenic or whenever I toggle float with kitty open it sometimes flashes a blank frame

yeah it does that in nested only

ok at least that, if thats the case then whatever lmao

firefox almost fixed, it should show up now but it wont update for me. Are there any further issues besides that?

Yeah, it works, but when i select the area, it always begins from 0,0 coordinate

exit to tty takes much longer than on main
memory usage usage is uhh... something

VRAM leak I presume?

yup, just opened and closed some foot windows and I've already accumulated over 2G

doesn't happen on main AFAIK

its a feature

0,0 thing fixed

by popular demand I've removed the "vram leak" feature.

❯ waybar
[2024-06-01 21:45:35.509] [error] Bar need to run under Wayland

run it under wayland then :trollface:
for me it just hangs... huh.

was a config issue. Works on my end.

Yeah, my debug hyprlandd.conf was outdated or somethings, works now.
However firefox is bugged as hell, very slow , cant even navigate on github.

I got the nvidia 5090 (MiB) already :trollface:
there's another VRAM leak when changing the layout of windows by dragging them around

does this help for the mem?

I am aware of firefox, just unsure of how to fix atm, so I wanna relax by fixing the easier ones

Dolphin
https://github.com/hyprwm/Hyprland/assets/16420574/bc80e002-ef4f-43e0-8e1b-58b37ac1398d

does this help dolphin?

Chromium can't copy text. Can paste though.

is this a regression from this MR? I haven't touched data_device.

when I resize a window enough times all the clients crash and I can't open another one

fd's are filled with this

looks like I dont close some shm fds oopsie uwu

Chromium can't copy text also on main. I just logged it on the bug tracker:  #6301

it still leaks quite a bit just grabbing and dropping the same window on the same workspace

yeah just noticed I did an XD

Dolphin not fixed.
Another crash:
debug-stracktrace2.log

vram leaks and fd leaks should be fixed

@Aqa-Ib do you have a log from that one?

random crash when scrolling in foot
(gdb) bt full
#0  0x0000555555c7e61e in CWeakPointer<CWLSurfaceResource>::lock (this=0x20) at ~/applications/Hyprland/Hyprland/src/helpers/memory/WeakPtr.hpp:122
#1  0x000055555616def1 in CWLSurfaceResource::bfHelper(std::vector<CSharedPointer<CWLSurfaceResource>, std::allocator<CSharedPointer<CWLSurfaceResource> > >, std::function<void (CSharedPointer<CWLSurfaceResource>, void*)>, void*) (this=0x5555570e9dc0, nodes=std::vector of length 1, capacity 1 = {...}, fn=..., data=0x0) at ~/applications/Hyprland/Hyprland/src/protocols/core/Compositor.cpp:232
        c = @0x555556bcf438: {impl_ = 0x555556c0dc40}
        __for_range = std::vector of length 2, capacity 2 = {{impl_ = 0x555556c55420}, {impl_ = 0x555556c0dc40}}
        __for_begin = {impl_ = 0x555556c0dc40}
        __for_end = {impl_ = 0x20}
        n = @0x555556c0a7b0: {impl_ = 0x5555570ea120}
        __for_range = std::vector of length 1, capacity 1 = {{impl_ = 0x5555570ea120}}
        __for_begin = {impl_ = 0x5555570ea120}
        __for_end = {impl_ = 0x0}
        nodes2 = std::vector of length 1, capacity 1 = {{impl_ = 0x555556be29f0}}
#2  0x000055555616e166 in CWLSurfaceResource::breadthfirst(std::function<void (CSharedPointer<CWLSurfaceResource>, void*)>, void*) (this=0x5555570e9dc0, fn=..., data=0x0)
    at ~/applications/Hyprland/Hyprland/src/protocols/core/Compositor.cpp:243
        surfs = std::vector of length 1, capacity 1 = {{impl_ = 0x5555570ea120}}
#3  0x000055555616caba in operator() (__closure=0x555557450fc0, r=0x555557450f00) at ~/applications/Hyprland/Hyprland/src/protocols/core/Compositor.cpp:123
        previousBufferDamage = {m_rRegion = {extents = {x1 = 1, y1 = 7, x2 = 919, y2 = 994}, data = 0x0}}
        this = 0x5555570e9dc0
#4  0x000055555617521a in std::__invoke_impl<void, CWLSurfaceResource::CWLSurfaceResource(CSharedPointer<CWlSurface>)::<lambda(CWlSurface*)>&, CWlSurface*>(std::__invoke_other, struct {...} &) (__f=...)
    at /usr/include/c++/14.1.1/bits/invoke.h:61
#5  0x00005555561734dd in std::__invoke_r<void, CWLSurfaceResource::CWLSurfaceResource(CSharedPointer<CWlSurface>)::<lambda(CWlSurface*)>&, CWlSurface*>(struct {...} &) (__fn=...)
    at /usr/include/c++/14.1.1/bits/invoke.h:111
#6  0x0000555556171508 in std::_Function_handler<void(CWlSurface*), CWLSurfaceResource::CWLSurfaceResource(CSharedPointer<CWlSurface>)::<lambda(CWlSurface*)> >::_M_invoke(const std::_Any_data &, CWlSurface *&&)
    (__functor=..., __args#0=@0x7fffffffdb40: 0x555557450f00) at /usr/include/c++/14.1.1/bits/std_function.h:290
#7  0x00005555562bf18d in std::function<void (CWlSurface*)>::operator()(CWlSurface*) const (this=0x555557450fc0, __args#0=0x555557450f00) at /usr/include/c++/14.1.1/bits/std_function.h:591
#8  0x00005555562b8125 in _CWlSurfaceCommit (client=0x55555744f770, resource=0x555556be3e00) at ~/applications/Hyprland/Hyprland/protocols/wayland.cpp:1620
        PO = 0x555557450f00
#9  0x00007ffff7123596 in ??? () at /usr/lib/libffi.so.8
#10 0x00007ffff712000e in ??? () at /usr/lib/libffi.so.8
#11 0x00007ffff7122bd3 in ffi_call () at /usr/lib/libffi.so.8
#12 0x00007ffff7eafada in ??? () at /usr/lib/libwayland-server.so.0
#13 0x00007ffff7eb4180 in ??? () at /usr/lib/libwayland-server.so.0
#14 0x00007ffff7eb2ae2 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
#15 0x00007ffff7eb32d7 in wl_display_run () at /usr/lib/libwayland-server.so.0
#16 0x0000555555f0aa1f in CEventLoopManager::enterLoop (this=0x55555693b8f0, display=0x555556948510, wlEventLoop=0x555556948600)
    at ~/applications/Hyprland/Hyprland/src/managers/eventLoop/EventLoopManager.cpp:27
#17 0x0000555555c4b8ee in CCompositor::startCompositor (this=0x55555693f610) at ~/applications/Hyprland/Hyprland/src/Compositor.cpp:564
#18 0x0000555555e7009d in main (argc=1, argv=0x7fffffffe788) at ~/applications/Hyprland/Hyprland/src/main.cpp:116
        cmd = "~/applications/Hyprland/Hyprland/build/Hyprland"
        configPath = ""
        ignoreSudo = false
        args = std::vector of length 0, capacity 0

hyprlandd.log
(It is crashing non-stop)

@phonetic112 fixed

@Aqa-Ib how to repro? I can't seem to

I just open a random program, it freezes for some seconds, then crash.

I've got a stack trace over 100k lines long :skull:
#116377 0x000063db75e65283 in std::_Function_handler<void (std::any), CLinuxDMABuffer::CLinuxDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116378 0x000063db75d543eb in CSignalListener::emit(std::any) ()
#116379 0x000063db75d55cb1 in CSignal::emit(std::any) ()
#116380 0x000063db75f220de in CDMABuffer::~CDMABuffer() ()
#116381 0x000063db75e6b567 in CSharedPointer_::impl<CDMABuffer>::destroy() ()
#116382 0x000063db75e6b9b9 in CSharedPointer_::impl<CLinuxDMABuffer>::destroy() ()
#116383 0x000063db75e65283 in std::_Function_handler<void (std::any), CLinuxDMABuffer::CLinuxDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116384 0x000063db75d543eb in CSignalListener::emit(std::any) ()
#116385 0x000063db75d55cb1 in CSignal::emit(std::any) ()
#116386 0x000063db75f220de in CDMABuffer::~CDMABuffer() ()
#116387 0x000063db75e6b567 in CSharedPointer_::impl<CDMABuffer>::destroy() ()
#116388 0x000063db75e6b9b9 in CSharedPointer_::impl<CLinuxDMABuffer>::destroy() ()
#116389 0x000063db75e65283 in std::_Function_handler<void (std::any), CLinuxDMABuffer::CLinuxDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116390 0x000063db75d543eb in CSignalListener::emit(std::any) ()
#116391 0x000063db75d55cb1 in CSignal::emit(std::any) ()
#116392 0x000063db75f21802 in std::_Function_handler<void (std::any), CDMABuffer::CDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116393 0x000063db75d543eb in CSignalListener::emit(std::any) ()
#116394 0x000063db75d55cb1 in CSignal::emit(std::any) ()
#116395 0x000063db75f23b76 in std::_Function_handler<void (CWlBuffer*), CWLBufferResource::CWLBufferResource(CSharedPointer<CWlBuffer>)::{lambda(CWlBuffer*)#2}>::_M_invoke(std::_Any_data const&, CWlBuffer*&&) ()
#116396 0x000063db75fcd183 in _CWlBufferDestroy(wl_client*, wl_resource*) ()
#116397 0x000070d79226d596 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#116398 0x000070d79226a00e in ffi_call_int (cif=cif@entry=0x7ffffbedf190, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
        classes = {X86_64_INTEGER_CLASS, 32767,<PHONE_NUMBER>, 28887}
        stack = <optimized out>
        argp = 0x7ffffbedefe0 ""
        arg_types = <optimized out>
        gprcount = 2
        ssecount = <optimized out>
        ngpr = 1
        nsse = 0
        i = <optimized out>
        avn = <optimized out>
        flags = <optimized out>
        reg_args = <optimized out>
#116399 0x000070d79226cbd3 in ffi_call (cif=cif@entry=0x7ffffbedf190, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffffbedf260) at ../src/x86/ffi64.c:710
        arg_types = 0x7ffffbedf1b0
        i = <optimized out>
        nargs = 2
        max_reg_struct_size = <optimized out>
#116400 0x000070d792ff9e45 in wl_closure_invoke (closure=closure@entry=0x63dbd1dd65f0, target=<optimized out>, target@entry=0x63dbd1e12f20, opcode=opcode@entry=0, data=<optimized out>, data@entry=0x63dbd1e70010, flags=2)
    at ../wayland-1.23.0/src/connection.c:1228
        count = 0
        cif = {abi = FFI_UNIX64, nargs = 2, arg_types = 0x7ffffbedf1b0, rtype = 0x70d79226e1a0 <ffi_type_void>, bytes = 0, flags = 0}
        ffi_types = {0x70d79226e2a0 <ffi_type_pointer>, 0x70d79226e2a0 <ffi_type_pointer>, 0x0 <repeats 12 times>, 0x63dbd1dd8b40, 0x5e13309ae1d6c300, 0xe0, 0x7ffffbedf2d0, 0x7ffffbedf2a0, 0x70d7923cba9a <_int_malloc+2922>, 0x63dba0644d90, 0xc}
        ffi_args = {0x7ffffbedf170, 0x7ffffbedf178, 0x63dba0644d90, 0xd8, 0x70d79250bac0 <main_arena>, 0x2a6ed90, 0x63dbd2077270, 0x0, 0x7ffffbedf2f0, 0x70d792ffb988 <log_closure+88>, 0x70d792ff9a60 <wl_closure_send>, 0xfffffffffffffd60, 0xb, 0x63dba0644ca0, 0x81, 0x63db761ae7f0 <_CWlBufferRequests>, 0x0, 0x0, 0x7ffffbedf350, 0x70d792ff8ed5 <wl_closure_init+101>, 0xd8cdb52950, 0xd8}
        implementation = <optimized out>
#116401 0x000070d792ffec42 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x63dbd1e70010) at ../wayland-1.23.0/src/wayland-server.c:444
        client = 0x63dbd1e70010
        connection = 0x63dbd1f45b10
        resource = <optimized out>
        object = 0x63dbd1e12f20
        closure = 0x63dbd1dd65f0
        message = 0x63db761ae7f0 <_CWlBufferRequests>
        p = {69, 524288}
        resource_flags = 0
        opcode = 0
        size = <optimized out>
        since = <optimized out>
        len = <optimized out>
#116402 0x000070d792ffd0a2 in wl_event_loop_dispatch (loop=0x63dba0644d90, timeout=<optimized out>, timeout@entry=-1) at ../wayland-1.23.0/src/event-loop.c:1105
        ep = {{events = 1, data = {ptr = 0x63dbd1e287a0, fd = -773683296, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>71648}}, {events = 1, data = {ptr = 0x63dba0644de8, fd = -1604039192, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>15752}}, {events =<PHONE_NUMBER>, data = {ptr = 0x1c000063db, fd = 25563, u32 = 25563, u64 =<PHONE_NUMBER>51}}, {events = 0, data = {ptr = 0x7ffffbedf600, fd = -68291072, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>64256}}, {events =<PHONE_NUMBER>, data = {ptr = 0xffffffff000063db, fd = 25563, u32 = 25563, u64 =<PHONE_NUMBER>9414609883}}, {events =<PHONE_NUMBER>, data = {ptr = 0x7ffffbedf720, fd = -68290784, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>64544}}, {events =<PHONE_NUMBER>, data = {ptr = 0x70d7, fd = 28887, u32 = 28887, u64 = 28887}}, {events = 0, data = {ptr = 0x37d5c, fd = 228700, u32 = 228700, u64 = 228700}}, {events =<PHONE_NUMBER>, data = {ptr = 0x1c00007fff, fd = 32767, u32 = 32767, u64 =<PHONE_NUMBER>55}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events =<PHONE_NUMBER>, data = {ptr = 0xd204759c000070d7, fd = 28887, u32 = 28887, u64 =<PHONE_NUMBER>0747086039}}, {events = 25563, data = {ptr = 0x1c, fd = 28, u32 = 28, u64 = 28}}, {events =<PHONE_NUMBER>, data = {ptr = 0x8000063db, fd = 25563, u32 = 25563, u64 =<PHONE_NUMBER>1}}, {events = 0, data = {ptr = 0x14, fd = 20, u32 = 20, u64 = 20}}, {events = 1, data = {ptr = 0x8b00000001, fd = 1, u32 = 1, u64 =<PHONE_NUMBER>45}}, {events = 0, data = {ptr = 0x63dbd1e6aff0, fd = -773410832, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>44112}}, {events =<PHONE_NUMBER>, data = {ptr = 0xa063a85800007fff, fd = 32767, u32 = 32767, u64 =<PHONE_NUMBER>4673445887}}, {events = 25563, data = {ptr = 0x7ffffbedf6e0, fd = -68290848, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>64480}}, {events =<PHONE_NUMBER>, data = {ptr = 0xfbedf6f0000070d7, fd = 28887, u32 = 28887, u64 =<PHONE_NUMBER>3652950231}}, {events = 32767, data = {ptr = 0x63dbd1f41680, fd = -772532608, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>22336}}, {events = 131, data = {ptr = 0xd1f4168000000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>7255963648}}, {events = 25563, data = {ptr = 0x83, fd = 131, u32 = 131, u64 = 131}}, {events =<PHONE_NUMBER>, data = {ptr = 0x20ffffffff, fd = -1, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>67}}, {events = 0, data = {ptr = 0x63dbd1e6aff0, fd = -773410832, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>44112}}, {events =<PHONE_NUMBER>, data = {ptr = 0xe1d6c30000007fff, fd = 32767, u32 = 32767, u64 =<PHONE_NUMBER>8317315071}}, {events =<PHONE_NUMBER>, data = {ptr = 0x7ffffbedf720, fd = -68290784, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>64544}}, {events =<PHONE_NUMBER>, data = {ptr = 0xa0644cc8000063db, fd = 25563, u32 = 25563, u64 =<PHONE_NUMBER>5616731099}}, {events = 25563, data = {ptr = 0x63dba0644ce8, fd = -1604039448, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>15496}}}
        source = <optimized out>
        i = 0
        count = <optimized out>
        has_timers = <optimized out>
        use_timeout = false
        now = {tv_sec =<PHONE_NUMBER>64144, tv_nsec = -672}
        end = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
#116403 0x000070d792fff10f in wl_display_run (display=0x63dba0644ca0) at ../wayland-1.23.0/src/wayland-server.c:1530
#116404 0x000063db75dda96b in CEventLoopManager::enterLoop(wl_display*, wl_event_loop*) ()
#116405 0x000063db75bdce25 in main ()

crash when opening imv:
Thread 1 "Hyprland" received signal SIGSEGV, Segmentation fault.
0x000055555601c9b4 in std::__get_helper<0ul, CLinuxDMABufV1Protocol*, std::default_delete<CLinuxDMABufV1Protocol> > (__t=...) at /usr/include/c++/14.1.1/tuple:2433
2433	   { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }

bt full was absolutely huge for some reason

@Aqa-Ib should be fixed?

@Agent00Ming stack overflow, fixed.

still overflows for me

Not fixed. Reproduced when opening alacritty and chromium, but I think it can happen when opening any program. Sometimes they open though, I would say 50% of times it crashes, 50% of times it opens.

#116337 0x000058837a61054e in CDMABuffer::~CDMABuffer() ()
#116338 0x000058837a5594c7 in CSharedPointer_::impl<CDMABuffer>::destroy() ()
#116339 0x000058837a559919 in CSharedPointer_::impl<CLinuxDMABuffer>::destroy() ()
#116340 0x000058837a553273 in std::_Function_handler<void (std::any), CLinuxDMABuffer::CLinuxDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116341 0x000058837a44233b in CSignalListener::emit(std::any) ()
#116342 0x000058837a443c01 in CSignal::emit(std::any) ()
#116343 0x000058837a61054e in CDMABuffer::~CDMABuffer() ()
#116344 0x000058837a5594c7 in CSharedPointer_::impl<CDMABuffer>::destroy() ()
#116345 0x000058837a559919 in CSharedPointer_::impl<CLinuxDMABuffer>::destroy() ()
#116346 0x000058837a553273 in std::_Function_handler<void (std::any), CLinuxDMABuffer::CLinuxDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116347 0x000058837a44233b in CSignalListener::emit(std::any) ()
#116348 0x000058837a443c01 in CSignal::emit(std::any) ()
#116349 0x000058837a60fc1e in std::_Function_handler<void (std::any), CDMABuffer::CDMABuffer(unsigned int, wl_client*, SDMABUFAttrs)::{lambda(std::any)#1}>::_M_invoke(std::_Any_data const&, std::any&&) ()
#116350 0x000058837a44233b in CSignalListener::emit(std::any) ()
#116351 0x000058837a443c01 in CSignal::emit(std::any) ()
#116352 0x000058837a612056 in std::_Function_handler<void (CWlBuffer*), CWLBufferResource::CWLBufferResource(CSharedPointer<CWlBuffer>)::{lambda(CWlBuffer*)#2}>::_M_invoke(std::_Any_data const&, CWlBuffer*&&) ()
#116353 0x000058837a6bb643 in _CWlBufferDestroy(wl_client*, wl_resource*) ()
#116354 0x00007b421c06b596 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#116355 0x00007b421c06800e in ffi_call_int (cif=cif@entry=0x7fff125276a0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
        classes = {X86_64_INTEGER_CLASS, 32767, 470181708, 31554}
        stack = <optimized out>
        argp = 0x7fff125274f0 ""
        arg_types = <optimized out>
        gprcount = 2
        ssecount = <optimized out>
        ngpr = 1
        nsse = 0
        i = <optimized out>
        avn = <optimized out>
        flags = <optimized out>
        reg_args = <optimized out>
#116356 0x00007b421c06abd3 in ffi_call (cif=cif@entry=0x7fff125276a0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fff12527770) at ../src/x86/ffi64.c:710
        arg_types = 0x7fff125276c0
        i = <optimized out>
        nargs = 2
        max_reg_struct_size = <optimized out>
#116357 0x00007b421cdf3e45 in wl_closure_invoke (closure=closure@entry=0x5883cddcab40, target=<optimized out>, target@entry=0x5883cc7a6400, opcode=opcode@entry=0, data=<optimized out>, data@entry=0x5883cc99c250, flags=2)
    at ../wayland-1.23.0/src/connection.c:1228
        count = 0
        cif = {abi = FFI_UNIX64, nargs = 2, arg_types = 0x7fff125276c0, rtype = 0x7b421c06c1a0 <ffi_type_void>, bytes = 0, flags = 0}
        ffi_types = {0x7b421c06c2a0 <ffi_type_pointer>, 0x7b421c06c2a0 <ffi_type_pointer>, 0x7b421c06c240 <ffi_type_uint32>, 0x7b421c06c330 <ffi_type_sint32>, 0x7b421c06c330 <ffi_type_sint32>, 0x7b421c06c330 <ffi_type_sint32>, 0x7b421c06c330 <ffi_type_sint32>, 0x7b421c06c240 <ffi_type_uint32>, 0x0, 0x7b421c94aa20 <pixman_region32_empty_data_.lto_priv>, 0x0, 0x0, 0x0, 0x5883cc835d80, 0x5883cc833e70, 0x0, 0x5883cc833e70, 0x4096800000000000, 0x7fff125277b0, 0x7b421c1cba9a <_int_malloc+2922>, 0x90661, 0xc}
        ffi_args = {0x7fff12527680, 0x7fff12527688, 0xf0, 0xd8, 0x7b421c30bac0 <main_arena>, 0x1fc4ce0, 0x5883d0d08320, 0x0, 0x7fff12527800, 0x7b421cdf5988 <log_closure+88>, 0x5883cddcab40, 0x0, 0x7fff12527820, 0x58839b051df0, 0x69, 0x58837a89d7f0 <_CWlBufferRequests>, 0x0, 0x0, 0x7fff12527860, 0x7b421cdf2ed5 <wl_closure_init+101>, 0xd80000000b, 0xd8}
        implementation = <optimized out>
#116358 0x00007b421cdf8c42 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x5883cc99c250) at ../wayland-1.23.0/src/wayland-server.c:444
        client = 0x5883cc99c250
        connection = 0x5883cc80c340
        resource = <optimized out>
        object = 0x5883cc7a6400
        closure = 0x5883cddcab40
        message = 0x58837a89d7f0 <_CWlBufferRequests>
        p = {74, 524288}
        resource_flags = 0
        opcode = 0
        size = <optimized out>
        since = <optimized out>
        len = <optimized out>
#116359 0x00007b421cdf70a2 in wl_event_loop_dispatch (loop=0x58839b051ee0, timeout=<optimized out>, timeout@entry=-1) at ../wayland-1.23.0/src/event-loop.c:1105
        ep = {{events = 1, data = {ptr = 0x5883cc837d40, fd = -863797952, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>9408}}, {events = 1, data = {ptr = 0x58839b083980, fd = -1693959808, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>7552}}, {events =<PHONE_NUMBER>, data = {ptr = 0x1800005883, fd = 22659, u32 = 22659, u64 =<PHONE_NUMBER>63}}, {events = 0, data = {ptr = 0x7fff12527b10, fd = 307395344, u32 = 307395344, u64 =<PHONE_NUMBER>83376}}, {events =<PHONE_NUMBER>, data = {ptr = 0xffffffff00005883, fd = 22659, u32 = 22659, u64 =<PHONE_NUMBER>9414606979}}, {events =<PHONE_NUMBER>, data = {ptr = 0x7fff12527c30, fd = 307395632, u32 = 307395632, u64 =<PHONE_NUMBER>83664}}, {events = 484390555, data = {ptr = 0x7b42, fd = 31554, u32 = 31554, u64 = 31554}}, {events = 0, data = {ptr = 0x2d20, fd = 11552, u32 = 11552, u64 = 11552}}, {events = 307395440, data = {ptr = 0x1800007fff, fd = 32767, u32 = 32767, u64 =<PHONE_NUMBER>71}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events =<PHONE_NUMBER>, data = {ptr = 0xcc960cb000005883, fd = 22659, u32 = 22659, u64 =<PHONE_NUMBER>0297697411}}, {events = 22659, data = {ptr = 0x18, fd = 24, u32 = 24, u64 = 24}}, {events = 32, data = {ptr = 0xcc80b1c000000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>8948100096}}, {events = 22659, data = {ptr = 0x14, fd = 20, u32 = 20, u64 = 20}}, {events = 1, data = {ptr = 0x9a00000001, fd = 1, u32 = 1, u64 =<PHONE_NUMBER>85}}, {events = 0, data = {ptr = 0xfffffffffffffd60, fd = -672, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>3709550944}}, {events = 32, data = {ptr = 0xcc84359000000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>3254668288}}, {events = 22659, data = {ptr = 0x7fff12527be0, fd = 307395552, u32 = 307395552, u64 =<PHONE_NUMBER>83584}}, {events = 471649710, data = {ptr = 0x12527c0000007b42, fd = 31554, u32 = 31554, u64 =<PHONE_NUMBER>214852418}}, {events = 32767, data = {ptr = 0x5883cc8435a0, fd = -863750752, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>6608}}, {events = 153, data = {ptr = 0xcc8435a000000000, fd = 0, u32 = 0, u64 =<PHONE_NUMBER>1974145024}}, {events = 22659, data = {ptr = 0x99, fd = 153, u32 = 153, u64 = 153}}, {events =<PHONE_NUMBER>, data = {ptr = 0x20ffffffff, fd = -1, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>67}}, {events = 0, data = {ptr = 0x5883cc872010, fd = -863559664, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>7696}}, {events = 307395632, data = {ptr = 0x9d5f2f0000007fff, fd = 32767, u32 = 32767, u64 =<PHONE_NUMBER>3788736511}}, {events = 514728566, data = {ptr = 0x7fff12527c30, fd = 307395632, u32 = 307395632, u64 =<PHONE_NUMBER>83664}}, {events =<PHONE_NUMBER>, data = {ptr = 0x9b051e1800005883, fd = 22659, u32 = 22659, u64 =<PHONE_NUMBER>9190454403}}, {events = 22659, data = {ptr = 0x58839b051e38, fd = -1694163400, u32 =<PHONE_NUMBER>, u64 =<PHONE_NUMBER>3960}}}
        source = <optimized out>
        i = 0
        count = <optimized out>
        has_timers = <optimized out>
        use_timeout = false
        now = {tv_sec =<PHONE_NUMBER>83264, tv_nsec = -672}
        end = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
#116360 0x00007b421cdf910f in wl_display_run (display=0x58839b051df0) at ../wayland-1.23.0/src/wayland-server.c:1530
#116361 0x000058837a4c88bb in CEventLoopManager::enterLoop(wl_display*, wl_event_loop*) ()
#116362 0x000058837a2cadd5 in main ()

how bout this?

Not fixed. Reproduced when opening alacritty and chromium, but I think it can happen when opening any program. Sometimes they open though, I would say 50% of times it crashes, 50% of times it opens.

can you post a log?

When opening crash:

alacritty
Chromium
Webcord

When closing crash:

gnome-calendar

not crash:

dolphin
nautilus

hyprlandd.log

and it crashed? can I also get the debug stacktrace?

crash.log

debug-stracktrace3.log

imv crash: bt.txt

it's too late for this shit... try now. re @Agent00Ming s crash

We can continue in another moment Vaxerski, it is fine. Ping me whenever you want.

@Aqa-Ib should be fixed?

or, now

Crack! Fixed :D
Have a good night fam.

fwiw @phonetic112's looks the same so it should be gone too.

I get that same fd overflow bug when resizing firefox

there are also focus / mouse issues when having multiple monitors. in short: focus does work normally on main monitor (id = 0), but is mostly broken (especially with mouse) on other monitors
to repro: just open a few terminal windows on the second monitor and try switching focus between them.
this is what doesn't work on the second monitor:

mouse inputs (clicks, drags, etc.) don't get passed to the clients at all
changing focus with follow mouse does not work, even when moving to the second monitor
when closing a layer (e.g. wofi), the keyboard focus is also not returned to the focused window

some things work however:

mouse input on layers works as expected
moving focus with key binds
moving/resizing windows with mouse binds also works

Can confirm somewhat similar issues here, but not sure if they are the same

fd leak fixed... can't repro the focus issues on nested...

cant repro popups either

another memory leak when closing a bunch of windows
kate has some flickering when I drag the multiview splits

ya

monitor scaling also doesn't work correctly
It looks like the damage regions are not properly scaled, i.e. if the whole window should be redrawn on a monitor with scaling 2, only the upper left quarter is.

screenshot with btop and scaling 2 (in nest)

can't repro the focus issues on nested...

it's weird, i also can't seem reproduce them on my laptop
it only happens on my desktop

lmk if you find what causes it. For now I've fixed the leak and scaling issues, will push soon I'm fixing one more

fixed: fd / mem leaks, chromium dt, scaled dt

https://github.com/hyprwm/Hyprland/assets/107314235/17decf27-acdb-4a1a-b100-4a4095168a4e

lmk if you find what causes it.

oh wow, turns out the focus issues come from layers being open, not multiple monitors or anything like that
so if you have a layer open (not in bottom, but overlay or top), all mouse input (is probably sent to that layer and) is not passed to the windows
to repro (works in nested for me):

open a layer in top or overlay (e.g. mako or something)
mouse input does not work in windows and cannot switch focus with mouse

screen copy region selection isn't scaled with monitor scaling

input should be fixed

even more fixed

@Agent00Ming fixed

damage tracking going wild
https://github.com/hyprwm/Hyprland/assets/107314235/5cfa3aa2-6e12-44ab-afab-de2796265080
same thing in pcmanfm-qt
(only in drm session)

The same happens with Dolphin. Seems like a Qt problem.

somehow some windows just vanish for me when resizing them or dragging them around. Here's a video of what I mean:
https://github.com/hyprwm/Hyprland/assets/41426325/532c4fdc-734d-4228-b854-5803fadc085b
I first open a terminal from another terminal, which vanishes when I start to drag it around without the process exiting (so alacritty doesn't crash I think). If i then ctrl-c this process, hyprland crashes:
crash report: hyprlandCrashReport1072.txt
coredump if needed: hyprland-crash-vanishing.txt

damage tracking going wild
kate_damage_tracking.mp4
same thing in pcmanfm-qt
(only in drm session)

Same damage tracking issue in firefox in native wayland mode.
 Can you post the hl log?

hl-logs-transparent-alacritty.txt
(I hope I have enabled the necessary log settings)

also @Agent00Ming is that damage tracking issue still there?

yeah, it's still there

[EGL] command: eglCreateImageKHR, error: EGL_BAD_ALLOC (0x3003), message: "createImageFromDmaBufs failed"
[ERR] [20:37:49.285425196] EGL: EGLCreateImageKHR failed: 12291
[ERR] [LinuxDMABUF] Possibly compositor bug: buffer failed to create

I love programming.  Have you tried latest? before it wouldnt send failed properly.

hmm, might be a vram issue, but since it is an integrated intel gpu i somehow can't view my vram usage, not even intel_gpu_top shows it?
yes, I am on commit ef028fae56e1a409f3c2b2bfddbdfeae9a0c955a, and latest alacritty version from arch repos

Both imv, mpv, and firefox are not showing for me
I get these errors for each:
[EGL] command: eglCreateImageKHR, error: EGL_BAD_ATTRIBUTE (0x3004), message: "EGL_BAD_ATTRIBUTE error: In eglCreateImageKHR: requested buffer attributes are not supported"
[ERR] [21:58:18.074577419] EGL: EGLCreateImageKHR failed: 12292
[ERR] [LinuxDMABUF] Possibly compositor bug: buffer failed to create

Both imv, mpv, and firefox are not showing for me
I get these errors for each:
[EGL] command: eglCreateImageKHR, error: EGL_BAD_ATTRIBUTE (0x3004), message: "EGL_BAD_ATTRIBUTE error: In eglCreateImageKHR: requested buffer attributes are not supported"
[ERR] [21:58:18.074577419] EGL: EGLCreateImageKHR failed: 12292
[ERR] [LinuxDMABUF] Possibly compositor bug: buffer failed to create

It affects all gpu accelerated apps
But mpv crashes even with wlshm vo backend
mpvwlshm.txt

fixed both

fixed both

now wlshm backend works, but dmabuf-wayland backend throws error
mpvdmabufwl.txt

I guess that check should be done at commit.

https://github.com/hyprwm/Hyprland/assets/169346573/5b92848c-deb3-4341-811a-4ad296ad6c00
Another issue with damage tracking

there are also some issues with xwayland apps. somehow they are not being redrawn sometimes, which leads to funky artifacts. switching focus or workspaces sometimes helps resetting things, but not consistently
https://github.com/hyprwm/Hyprland/assets/41426325/437f8ab3-0bb2-4a23-8f08-256c9053e44f
hl-xwayland-stuff.txt

I guess that check should be done at commit.

Uh... but i guess no changes should be done in mpv side, because dmabuf-wayland backend works everywhere except this MR and miracle-wm(because they doesn't support dmabuf v4, lol)

yes, yes, check on hl side. Lole, working on other things. Firefox damage is also fixed here, just working on some other stuff. Will push soon-ish

many fixes guys, lmk

many fixes guys, lmk

Now it works, but with the new exclusive feature called blood filter

firefox/thunderbird have some weird behaviour where you can't click certain parts of the pages and can't type into some text boxes

firefox damage seems to be working for me, at the cost of mouse inputs no longer working (even scrolling), also no layers this time
xwayland issues still exist

can't repro firefox issues.

xwayland related updating / damage issues seem to be fixed with that new commit
(or at least I can't reproduce them anymore)

I've noticed issues on firefox where on a youtube feed you can't click the thumbnail of the video or some parts of the text beneath as you could before to follow the link

how 2 repro pls

it's really weird, some pages like discord and some extension popups have weird mouse interaction zones but github is fine and so is youtube home page

also, infinite buffer creation/destruction spam in log:
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3a94f0
[LOG] SHMBuffer: Creating buffer 60b55f3ae300
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3ae300
[LOG] SHMBuffer: Creating buffer 60b55f3a94f0
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3a94f0
[LOG] SHMBuffer: Creating buffer 60b55f3b3860
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3b3860
[LOG] SHMBuffer: Creating buffer 60b55f3ae300
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3ae300
[LOG] SHMBuffer: Creating buffer 60b55f3ae300
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3ae300
[LOG] SHMBuffer: Creating buffer 60b55f3ae300
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f17fb00
[LOG] SHMBuffer: Destroying buffer 60b55f3ae300
[LOG] SHMBuffer: Creating buffer 60b55f3b36f0
[LOG] SHMBuffer: Destroying buffer 60b55f17fb00
[LOG] SHMBuffer: Creating buffer 60b55f3b32a0
[LOG] SHMBuffer: Destroying buffer 60b55f3b36f0
[LOG] SHMBuffer: Creating buffer 60b55f3ae300
[LOG] SHMBuffer: Destroying buffer 60b55f3b32a0

it's not infinite its just spammy xd

it's really weird, some pages like discord and some extension popups have weird mouse interaction zones but github is fine and so is youtube home page. It also seems to depend on which monitor firefox is open on, I can't interact with it at all when it's on my other monitor. (like the layer bug from earlier but exclusive to firefox/thunderbird)

I can also repro firefox issue

need any more testing on this PR?

many fixes guys, lmk

Now it works, but with the new exclusive feature called blood filter

Sorry for the off-topic, but can we have it as an Easter egg?

need any more testing on this PR?

If you want so, then do it
New testers are welcome

okay, so I did some more testing regarding the firefox/thunderbird bug and i think i have found some interresting insights. I looked at the coordinates of where clicks would register and where they wouldn't, and found the following correlation:
input for a firefox window seems to be blocked in the region 0, 0, window_width, window_height (in absolute screen coordinates, the ones hyprctl cursorpos reports)
i can reproduce it in the following scenarios (with no gaps and borders as they affect window size):

on a single monitor with only firefox open, i cannot click anywhere
on a single monitor with two ff windows, split exactly in the middle, i can only use the right one
on multimonitor setups, it depends on the size of the monitor and as such mighty only affect one monitor
any other scenario, where the the above correlation is relevant

maybe this helps finding the bug
and if someone else can reproduce the same behaviour lmk, so I know it's not some weird issue on my end, and that I'm not going insane

okay, so I did some more testing regarding the firefox/thunderbird bug and i think i have found something interresting. I looked at the coordinates of where clicks would register and where they wouldn't, and found the following correlation:
input for a firefox window seems to be blocked in the region 0, 0, window_width, window_height (in absolute screen coordinates, the ones hyprctl cursorpos reports)
i can reproduce it in the following scenarios (with no gaps and borders as they affect window size):

on a single monitor with only firefox open, i cannot click anywhere
on a single monitor with two ff windows, split exactly in the middle, i can only use the right one
on multimonitor setups, it depends on the size of the monitor and as such might only affect one monitor
any other scenario, where the the above correlation is relevant

also, drags work like normal, so if i mousedown in a working position, i can move into the "blocked" region and firefox still detects it (e.g. in a drawing webapp)
maybe this helps finding the bug and if someone else can reproduce the same behaviour lmk, so I know it's not some weird issue on my end, and that I'm not going insane

Same for me even in firefox fullscreen

@Agent00Ming post hyprland log

hyprland.log

[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.

this is logged when rofi-wayland's layer flickers and goes dark

with that latest commit, hyprlock does not render anymore

also, when I try to do a screen capture in OBS, everything freezes (sometimes only the monitor that is captured, but not always), but hyprland doesn't crash, and also does not respond to a hyprctl exit key bind

both hyprlock and obs seem to be fixed

now that i can record it - the file menus in vscode are rendered at weird sizes half size (I have monitor scaling 1, so nothing special there)
https://github.com/hyprwm/Hyprland/assets/41426325/b5daa344-574f-40d0-8fac-43fa33bc4be8

so what bugs remain?

i think any other electron app, obsidian and discord also have the same issue for me

https://github.com/hyprwm/Hyprland/assets/107314235/258d325b-e870-40ad-a732-080b493bea13

some minor issues with obs popups:

some damage issues
https://github.com/hyprwm/Hyprland/assets/41426325/22170f19-1b6e-4201-b569-a3e7420f3cef

popup placement weird
https://github.com/hyprwm/Hyprland/assets/41426325/6c98c8c6-3028-482a-b2e2-43e0c01d78ec

apt title...
popup placement is a bit wonky on main, its not this mr

Some of them appear to be and some don't get logged

Some of them appear to be and some don't get logged

what if you disable modifiers? env HYPRLAND_EGL_NO_MODIFIERS

Also, can't repro popups size issue on webcord

are you running it natively? only happens when running natively, not over xwayland

Some of them appear to be and some don't get logged

what if you disable modifiers? env HYPRLAND_EGL_NO_MODIFIERS

firefox is just a blank window but behaviour looks roughly the same with some
[wlr] [GLES2] GL_INVALID_OPERATION error generated. <image> and <target> are incompatible

sprinkled around in the log when changing workspaces/moving windows around

are you running it natively? only happens when running natively, not over xwayland
Yah

firefox is just a blank window but behaviour looks roughly the same with some

uh, I'll add a log in a moment we'll see what's wrong

what values for the texture are logged now near the error?

[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121

[wlr] [GLES2] GL_INVALID_OPERATION error generated. <image> and <target> are incompatible
[wlr] [GLES2] GL_INVALID_OPERATION error generated. <image> and <target> are incompatible
[wlr] [GLES2] GL_INVALID_OPERATION error generated. <image> and <target> are incompatible

[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121

hyprland.log

hm, googling a bit, stuff like https://github.com/mpv-player/mpv/issues/10890 show up, have you tried the env there?

even with EGL_VENDOR=NVIDIA the behaviour is similar

try now

[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_OPERATION error generated.
[wlr] [GLES2] GL_INVALID_OPERATION error generated.
[wlr] [GLES2] GL_INVALID_OPERATION error generated.
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_OPERATION error generated.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713112, gl 32993 0 5121
[LOG] gles2 shm texture: fmt 875713089, gl 32993 0 5121
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.
[wlr] [GLES2] GL_INVALID_VALUE error generated. Invalid texture format.

:(

Yah

hmm weird, I can also reproduce it with webcord
also reproduced in nest, on my laptop, and with other applications like obsidian
also tried with default config, still happening
can someone else reproduce it?

 It's really stubborn in what it accepts. It advertises support for BGRA8888 and yet errors when you ask for BGRA.

I need a log from thsi

this is looking good on my end

can anyone with a single (non-dual) nvidia card repro any of the issues?

hyprland.log

let's see now.... ugh.

hyprlandCrashReport1853.txt
Now, after chromium screenshoting hyprland crashes

why when building from the terminal with make it builds everything every time from scratch, but when building from vscode it only builds the files changed ?

 C++ developer forgets about deallocating strings.

i havent either figured out if asan is just being asan or the sharedptr/weakptr implentation is causing a leak.
like
Direct leak of 512 byte(s) in 16 object(s) allocated from:
    #0 0x7ffff7930808 in operator new(unsigned long) (/usr/lib/gcc/x86_64-pc-linux-gnu/14/libasan.so.8+0x130808)
    #1 0x5555566f4218 in CSharedPointer<CSignalListener>::CSharedPointer(CSignalListener*) /home/tom/dev/Hyprland/src/helpers/memory/SharedPtr.hpp:132
    #2 0x5555566ee66f in makeShared<CSignalListener, std::function<void(std::any)>&> /home/tom/dev/Hyprland/src/helpers/memory/SharedPtr.hpp:294
    #3 0x5555566edf52 in CSignal::registerListener(std::function<void (std::any)>) /home/tom/dev/Hyprland/src/helpers/signal/Signal.cpp:44
    #4 0x5555565a0c24 in CWindow::CWindow(CSharedPointer<CXDGSurfaceResource>) /home/tom/dev/Hyprland/src/desktop/Window.cpp:66
    #5 0x55555659e08b in CWindow::create(CSharedPointer<CXDGSurfaceResource>) /home/tom/dev/Hyprland/src/desktop/Window.cpp:38
    #6 0x555556d619e6 in operator() /home/tom/dev/Hyprland/src/protocols/XDGShell.cpp:371
    #7 0x555556d7da25 in __invoke_impl<void, CXDGSurfaceResource::CXDGSurfaceResource(CSharedPointer<CXdgSurface>, CSharedPointer<CXDGWMBase>, CSharedPointer<CWLSurfaceResource>)::<lambda(CXdgSurface*, uint32_t)>&, CXdgSurface*, unsigned int> /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/invoke.h:61
    #8 0x555556d78b81 in __invoke_r<void, CXDGSurfaceResource::CXDGSurfaceResource(CSharedPointer<CXdgSurface>, CSharedPointer<CXDGWMBase>, CSharedPointer<CWLSurfaceResource>)::<lambda(CXdgSurface*, uint32_t)>&, CXdgSurface*, unsigned int> /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/invoke.h:111
    #9 0x555556d732c9 in _M_invoke /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/std_function.h:290
    #10 0x555557094863 in std::function<void (CXdgSurface*, unsigned int)>::operator()(CXdgSurface*, unsigned int) const /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/std_function.h:591
    #11 0x55555708ed59 in _CXdgSurfaceGetToplevel /home/tom/dev/Hyprland/protocols/xdg-shell.cpp:393
    #12 0x7ffff6ca1ed1  (/usr/lib64/libffi.so.8+0x7ed1)

this is spawning something like 16 kitty terminals, closing them and exiting hyprland.
otherwise nested things seems okay so far :+1:

any other bugs anyone wants to report?

the vscode file popup scale still remains (allthough I seem the only one to be able to reproduce it)
also the damage issues on obs popups

otherwise I don't think there are any major / noticable issues remaining, been daily driving it on my (intel, not nvidia) system since firefox started working

regarding nvidia i remember seeing some driver workarounds in kwin like https://invent.kde.org/plasma/kwin/-/commit/bd9b42912b13fda8a2726eed015c50a74b1956b2 and https://invent.kde.org/plasma/kwin/-/commit/629fb00341f3210b79e1e33e49693bf218c855e2 if its of any help

OBS popups fixed.
@gulafaran thanks, will take a look. @Agent00Ming lmk if you will be contacting anyone so that I am aware to wait.

hm, the second we already do. The first I don't think applies to us? I never query these properties.

Though I also wonder why they used to filter out multi-plane formats.

hm, the second we already do. The first I don't think applies to us? I never query these properties.

was just seeing agent momoo log printing.
[wlr] [EGL] command: eglQueryDmaBufModifiersEXT, error: EGL_BAD_PARAMETER (0x300c), message: "EGL_BAD_PARAMETER error: In eglQueryDmaBufModifiersEXT: Invalid format
but thats perhaps from wlroots?
seems to exist various nvidia shenanigans going around everywhere https://github.com/canonical/mir/commit/a1c7b696f54f0861e2650957a1ab7ded49b9e448 lol

@gulafaran I already handle that one too

no dice, questions are still unanswered on irc and the response the nvidia guy got back was to use internal debug drivers to figure out what's wrong

as if I have those... I'll go ahead and try debugging the kitty issue a bit more today and tomorrow, unless someone from nvidia shows up with some clues I'll treat it as wontfix as it's something outside of what I can reasonably debug.

no dice, questions are still unanswered on irc and the response the nvidia guy got back was to use internal debug drivers to figure out what's wrong

What driver version are you on? Just curious they released just a few hours another beta driver fixing a few things

no dice, questions are still unanswered on irc and the response the nvidia guy got back was to use internal debug drivers to figure out what's wrong

What driver version are you on? Just curious they released just a few hours another beta driver fixing a few things

the issues are present on both 550.78 and 555.42.02 so I don't think 555.52.02 is going to change anything relating to these GL calls, what I know is that revision ffb76f66 worked without these issues (or at least not as apparent)

can you bisect?

pretty sure that a177a014218a4f8d1993115b0d373cf1d1144e24 was the first revision to cause the issues as tested yesterday but I'll test some earlier revisions in a moment

if you comment out L12-L13 in texture.cpp does the bug go away? (at the cost of a memory leak)

on the surface, it does look like it doesn't happen anymore with those lines commented out

I will shit a pineapple from these bugs.

A true miracle that Linux distros happen to work altogether despite nvidia et al. A leak or two is understandable. God bless you people. Cheers!

looks promising :+1:

at last
now only the kitty issue

screenshot colors channels are mixed up

swapped r/b

fixd

if anyone has any other issues feel free to drop them too

that stupid electron menu issue is still here for me (back from https://github.com/hyprwm/Hyprland/pull/6268#issuecomment-2148207240)

in all electron apps, only when running under wayland (not xwayland)
happens to all native menus, i.e. file bar, right click menus
can reproduce on two of my systems, with and without default config, and also in nest
happens regardless of monitor scaling

i currently seem to be the only one able to reproduce it, which is a bit sus, but it doesn't happen on main for me

haven't noticed any issues
tested:

Thunar
imv/mpv
Firefox
Ableton
Codium (some minor damage issues, but main also has them (nvidia))

also @VirtCode it's because you're using the native title bar style, if you want you can use the custom one which doesn't have that bug (and also looks better)

edit: it looks like that just how fractional scale works, using 120 denominator, so thats probably no help

Yes, it's how frac scale works
You can check !313 MR in wayland-protocols gitlab

@VirtCode can you post wayland_debug logs of that happening? IIRC this used to happen ages ago when I didnt support viewporter correctly (chromium sets a viewport for the first 2s of any surface for whatever reason)

this is it happening in obsidian:
wl-debug-obsidian.txt

nothing looks amiss :/

@ettancos when locked up, ssh into your machine, attach gdb to hyprland and provide bt -full

this should fix it

I have found three regressions:

Sometimes when starting to watch a video with mpv, the video does flicker. To reproduce the bug, open and close a video until it happens, because sometimes it does not.

Keyboard focus issues:

Open a terminal
Call mpv video.mp4 to open a new tiled mpv window beside the terminal window.
Close the mpv window with your keybind.
Now the terminal does not have keyboard focus until you focus another window.

Popups not rendered correctly until you hover it with the mouse cursor. The program recorded is udiskie. It happens with other programs like obs too, but with udiskie tray it is very easy to reproduce:

https://github.com/hyprwm/Hyprland/assets/16420574/7e65b006-5a71-4d1b-b649-44cf93824bb0
Besides those minor issues, it is working really well. Cheers !

sounds like a clipboard manager bug - though it shouldnt warp anything...

Popups not rendered correctly until you hover it with the mouse cursor. The program recorded is udiskie. It happens with other programs like obs too, but with udiskie tray it is very easy to reproduce:

only ls? or all? trying to test ls just for some reason made my tray gone

hm, mpv for me (in a nest) flickers constantly (like one frame every 2s)

@ettancos crash fixed

The keyboard focus thing happens when I open mpv in a new window through a terminal but also when I launch mpv through Dolphin.  It is something specific to opening a new mpv window, as weird as it can sound.
The popup thing happens in every program, not only layershell, for example in dolphin it only render the popup after waiting 2 o 3 seconds.
mpv flickers constantly, yes.

can't repro in dolphin

mpv stops flickering for me when it's fullscreen...?

Well, the dolphin popups are a bit laggy sometimes (not 2-3 seconds that was a bit of a exaggeration, sorry), but 1 second lag though. The udiskie tray popup is a lot more buggy though. But in general, I notice popups a bit weird.
mpv in fullscreen does not flicker on my machine too.
Dolphin popups:
https://github.com/hyprwm/Hyprland/assets/16420574/39e8b5a3-6189-4965-a3dc-dbb19fa18eba

@Aqa-Ib doesnt happen on my end at all


Added PDF, PNG, JPEG convenience body types

Expanded Body of parser/src/schema/body.rs for body.pdf, body.png, body.jpeg as per #63
https://github.com/user-attachments/assets/ba53528d-a948-4f02-bdf6-4304c6c19e65

My bad, i forgot to remove the local dependencies. Also , giving path like that isnt working... it prompts rede to be in the root
Ill change it as per your request tho..

My bad, i forgot to remove the local dependencies. Also , giving path like that isnt working... it prompts rede to be in the root Ill change it as per your request tho..

Don't worry about the request not working right now. It will work once I set-up an integration test when we upgrade the parser version as the tests executed from the bin root (you can see in the body_binary.toml that is set-up the same way).


Lifecycle history should have role attribute as log

Description:

role=log
https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA23.html

Steps to reproduce:
Affected Product Version:

Environment details (with versions):

OS:
Client:
Env (Docker/K8s):

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

since this is in publisher reducing the priority


az aks kollect fails with error: the server doesn't have a resource type "apd"

Describe the bug
Command Name
az aks kollect Extension Name: aks-preview. Version: 0.5.0.
Errors:
error: the server doesn't have a resource type "apd"
CLIInternalError: The command failed with an unexpected error. Here is the traceback:
Command '['kubectl', '--kubeconfig', 'C:\\Users\\Misha\\AppData\\Local\\Temp\\tmpvcvcwh5c', 'get', 'apd', '-n', 'aks-periscope', '--no-headers']' returned non-zero exit status 1.
Traceback (most recent call last):
Temp\pip-unpacked-wheel-49qlvzn7\knack\cli.py, ln 215, in invoke
cli\core\commands\__init__.py, ln 654, in execute
cli\core\commands\__init__.py, ln 718, in _run_jobs_serially
cli\core\commands\__init__.py, ln 711, in _run_job
Local\Temp\pip-unpacked-wheel-tle01379\six.py, ln 703, in reraise
...
subprocess.py, ln 438, in run
subprocess.CalledProcessError: Command '['kubectl', '--kubeconfig', 'C:\\Users\\Misha\\AppData\\Local\\Temp\\tmpvcvcwh5c', 'get', 'apd', '-n', 'aks-periscope', '--no-headers']' returned non-zero exit status 1.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks kollect -g {} -n {} --storage-account {}

Expected Behavior
Environment Summary
Windows-10-10.0.18362-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.14.0 *

Extensions:
aks-preview 0.5.0

Additional Context

route to appropriate team

This works now with the latest version of az cli. Please reopen if you are still facing this issue.


ESD tag processor implementation

@jlongstaf
What issues does this address?
Fixes #566
What's this change do?
This change will create a valid set of tags by returning intersection of known valid ESD tags and the user tags. Then based on the mapping of ESD tags to bigip resources, it will validate if the resource exists on bigip. Also it will check if a tag is valid or has a valid value type.
Where should the reviewer start?
EsdTagProcess class inside esd_filehandler module

Code is fine  and we will fix Travis build failures later.


Fix incorrect LogManager accessor used by LOG4J2-2940

The getContext() accessor with no args has been used as a fallback
for Log4jLoggerFactory slf4j implementations for a while, but it's
much more likely to be used now that LOG4J2-2940 is resolved.
Without the false argument, the first slf4j LoggerFactory.getLogger
call will not cause log4j to initialize itself.

merged


Open source Inference widgets + optimize for community contributions

status:

missing styles
add a demo route with all possible widgets
fix typings for apiToken
add easy way to get model data from just model id

Great! Seems to work well, except for missing tailwind (but I assume you know that).

This is now ready for review 💜💚♥💛


Want to add Number guessing game

Aim
I want to add number guessing game .
Please assign this task under gssoc'23 @avinashkranjan

Too Basic, Has no realworld use case.


Learn more about the features of Prometheus + Grafana to monitor the stack

In #1353, I configured the organization service to make its metrics available (/actuator/metrics) and configured Prometheus to access these metrics and make them available in Grafana.
Below are articles on how to further extend Prometheus coverage to non-Spring (micro)services:

Monitoring MySQL / MariaDB with Prometheus in five minutes
Monitoring Angular frontend with Prometheus

See this second docker-compose.yml example

Kafka Monitoring Using Prometheus
Monitoring Elasticsearch with Prometheus and Grafana


Throw error from property in Swift 5.5

https://github.com/JARMourato/Injection/blob/62ce35fb44fbd64f44aa856b693f2d3f09d41cca/Sources/Injection.swift#L95
https://www.swiftbysundell.com/articles/throwing-async-properties/

apparently it is not possible for property wrappers @rogerluan

Sad 😢
Thanks for checking!


Update reading list after first club meeting

Adapt the reading list-layout programming so it removes the paper we read from the list or visualizes it differently.

fixed in e91c8cf0b3b07eb985909e0be17a63fd2f098525


Create Interactive CLI for Basic UAC Example

ability to start calls with CLI
kalbiclient> call<PHONE_NUMBER>

@DeWarner I understand you are working in this. Just wanted to let you know I am eager to pitch in if you need any help.

@raghu-pyr I am happy for you to take the helm on this one, I havent got any progress to share, happy to provide guidance if needed.

@DeWarner Thanks. I am new to Go so I am going to take some time before I can do any meaningful contribution. Hoping to make some progress with your help.  Will get back to you soon with my queries. Thanks again


Refactor UAA to allow developers to customize fields

Attached find a broad refactor of the UAA SCIM code to permit customization of the fields for SCIM users and groups.  While this may seem like a large pull request, please note that

most of the changes are restructuring in nature.  very little logic has changed
tests are unchanged (except for necessary changes to data types and method signatures).  All pass.

The objective for this pull request is to enable developers to customize UAA with new fields for users, groups, and membership relationships.  I think this is a broadly applicable use case.  As an example, I have an application concerning corporate training classes and events.  I use groups to indicate classes.  Some fields I may want to add are

User.Organization
Group.Event and Group.EventDate
Member.Role   (where role is "student", "instructor", or "developer").

The UAA application by itself is unchanged in functionality, however it has been restructure to enable such customizations of fields for specific applications.  This involves several broad changes.

Primary data structures ScimUser, ScimGroup, ScimGroupMember, ScimGroupExternalMember and ScimUserGroup (formerly part of ScimUser) now are concrete implementations of interfaces.  The interfaces (e.g. ScimUserInterface) are used throughout the code rather than the concrete class.

Users wishing to add custom fields to (for example) ScimUser, may create a new implementation of ScimUserProvisioning which returns a subclass of ScimUser with additional fields that can be stored/retrieved from a database.  There's little change to UAA for this part, since the provisioners are already interfaces.  I did however reorganize the packages to separate interfaces from implementations.

To convert JSON request bodies with additional fields into (example) CustomScimUserObject, new Json serializers and deserializers are needed.  I have reorganized the code in ScimUserJsonDeserializer and similar fields to aid subclassing.

In order to make use of these changes, the developer may simply copy/edit the "uaa" subproject in the "uaa" folder, and change the spring beans to use the new provisioners.  I have also (in my application) injected a custom configured Jackson ObjectMapper which substitutes in the new serializers/deserializers so that the "common" and "scim" project can be imported unchanged.
I'm interested in feedback from other developers.  Does this seem like a good way to go?  If so, I can create a sample project showing how to customize a user or group with additional fields and this could be included in the distro.
I am hoping this works out, as we would like to further develop our application based on UAA rather than do a separate identity server or permanent fork.

Closing - diverged too far from develop


broken screenshots at 1.20.1

I got monitor 21:9 (2560x1080) and when i want to take screenshot at 16:9 and at 4k, screenshot takes broken

can reproduce


Only show one position per family if the liquidation price is the same

If multiple positions from the same family have the same liquidation price, we should only show the one with the highest maturity date i.e. the cbBTC  and WBTC one marked with blue here:

done, now looks like this:


$accordion-navigation-active-font-color missing

Default Accordion Style based on current @mixin accordion-navigation
> a {
   background: $bg;
   color: $font-color;
}

Active Accordion Style
&.#{ $active_class } > a {
   background: $active-bg;
}

Why can I change the active background color, but not the active font color?! Due to readability and color contrast it should be possible to adapt the active font color as well.
Please add a new variable like $accordion-navigation-active-font-color to tweak this functionality.

Sounds good. We'll accept a PR for this. Let us know if you can help out with that!

created PR #6590

@rafibomb The PR has been merged, sorry i did not tag it correctly to auto close.