Use the color-scheme CSS property

💥 Proposal
There's a CSS property for color-scheme that I was not aware of and that could be useful for Docusaurus:
https://twitter.com/argyleink/status/1358060379000037377
https://drafts.csswg.org/css-color-adjust/#color-scheme-prop

As far as I have understood from the article, we just have to use the color-scheme dark for dark mode and color-scheme light for light mode? These should switch when the user switches dark to light or vice versa, right?

@gurrrung the first step is actually to find out how this CSS property can be useful in any way for Docusaurus.
I have no time currently investigate this, and have not really read the links yet.
Before rushing on implementing anything, the first step is to find out whether we want to use this CSS property or not. We may decide that it's useless for our case and just close this issue.

In fact, this is really not very useful for us (at least for the classic theme).

let's close this then, it was just an idea to explore


refactor(MeasureTheory/OuterMeasure): split large file

This PR (which supersedes #12895) splits up OuterMeasure/Basic (1700 lines) into 5 pieces of < 500 lines each.
Co-authored-by: @urkud

(I am expecting CI to detect some unnecessary imports at the lake exe shake step, but it has to finish building first)

Thanks :tada:
bors merge


Add label to Dashboard and Report m5o

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/405
Originally created by @derek-knox on 2019-02-22 14:32:37

Issues:

The UI currently uses name vs label which is the file name. This isn't UI friendly

Tasks:

ensure report and dashboard m5o store a label
ensure UI displays label vs name
[x] refactor MeltanoAnalysisFileParser.fill_base_m5o_dict so name doesn't get overridden if it already exists (this ensures we don't override the intended display name with the reformatted and slugified name used for file naming and readable URL routes)
LOE - 30min

View 4 previous comments from the original issue on GitLab


Multiple Java Implementations of 75 Roulette

Just something I noticed, It seems that two different versions of 75 Roulette were implemented. There's one in a src sub-directory, and another in the base directory. Thoughts?
My initial thoughts is to separate them into individual folders, but still unsure how to categorize each one
Specifically referring to the #481 and #486 merged pull requests
@andrewmcguinness was the author of the other one.

@LittleTealeaf and @andrewmcguinness looks like you both worked on the game at the same time!  It happens sometimes that two people decide to work on the game at the same time.
What I would suggest is keeping both of the implementations now as they have been already done, but to put a note in the main folder explaining that two versions exist, and perhaps the differences in approach.
Or just discuss here between the two of you what you think should be in the file, and I'll add the information for you.
Just tag me if you want me to help with this.

It looks like @andrewmcguinness solution is more object-oriented in nature, and mine would be more iterative? I'm going to make a branch to neaten it up and the make a pull request

Going to mark this issue as resolved (with the merging of #491 , but still open to changes / modifications if the need arises


Implement replace_entry_with

Adds OccupiedEntry::replace_entry_with that consumes self, takes an FnOnce(&K, V) -> Option<V> and replaces/removes the value based on the value returned from the closure.
This function is intended to be used when just having a mutable reference is not enough and it is more efficient than just using remove optionally followed by insert. This is achieved by saving the index and the ctrl byte before removing the element from the bucket, allowing to skip the rehash and bucket search in case the element is reinserted after the function returns.
All of this relies on a new function RawTable::replace_bucket_with that does all exactly the same thing (replaces/removes the value based on the value returned from the closure) but at the RawTable level.
There's also a Entry::and_replace_entry_with (that does nothing when the entry is a  VacantEntry) and the analogous functions for RawEntryMut and RawOccupiedEntryMut.
To be settled:

[x] Missing tests for RawEntryMut::and_replace_entry_with and RawOccupiedEntryMut::replace_entry_with

[ ] I'm not sure if I should add this to the Rustc version of the entry API (I guess it should only mirror the stdlib version of HashMap, so no?).

[x] It's possible for these functions to return an Entry/RawEntryMut, but this requires to add an extra field to OccupiedEntry/RawOccupiedEntryMut. I've implemented it in another branch, should I merge it?

Also see #189

Checks should have failed only because of #191

I like the version that returns an Entry. It's fine to make a breaking change here, we can just do a semver bump.

Just adding the fields should be fine, they aren't public, but adding a generic type on RawOccupiedEntryMut is the breaking change.

That's fine since raw_entry is still unstable in libstd. So we should be able to make the same changes to libstd when the hashbrown dependency is updated.
@bors r+

:pushpin: Commit 3f9a574e0601978e52e211c12a25ff2211ffd395 has been approved by Amanieu

:hourglass: Testing commit 3f9a574e0601978e52e211c12a25ff2211ffd395 with merge 44c330232b587afb267e6b5924405f1ed375320c...

@bors r-
You need to update the minimum Rust version in the CI config. It seems that crossbeam has bumped their MSRV.

:broken_heart: Test failed - checks-travis

You need to update the minimum Rust version in the CI config. It seems that crossbeam has bumped their MSRV.

I feel like it should be a separate PR. I'll open one when I get back home.

@bors r+

:pushpin: Commit 3f9a574e0601978e52e211c12a25ff2211ffd395 has been approved by Amanieu

:hourglass: Testing commit 3f9a574e0601978e52e211c12a25ff2211ffd395 with merge aa8c30b9e8a5805d8c9dba620f3a51c73c9e050d...

:sunny: Test successful - checks-travis
Approved by: Amanieu
Pushing aa8c30b9e8a5805d8c9dba620f3a51c73c9e050d to master...


dev: Add coverage threshold for patch

@snastase, this should allow your PR #405 to pass (I'm not sure because Codecov documentation is very poor), in case your new tests don't do it.

I am muting this ignorant chat threads and they are still coming through?!

Jenkins, retest this please.


Allow deep nesting of locales

In the case I have a locale file in the folder Element1/Element2/Element3/locales/en-US.json it will transform it into { "Element1": { "Element2": { "Element3": { } } }
To avoid empty object while nesting element, better use RegExp to omit elements including slashes:
pipe(jsonBundler({
    omit: /\/locales|\/components/
  }))

Not sure if we should add the slash in the gulp module

Thank you for contributing.
Would you mind adding a test case for this?

Hello. I add the same issue and found that a PR was pending. Is it possible to merge @alexmngn  contribution?

@gbouteiller @alexmngn I've modified the tests to reflect the changes in this PR and published a new version as<EMAIL_ADDRESS>Thanks for contributing. :)

@maximilianschmitt Thank you very much for such a quick answer and thank you for your great work. :)


Fix and test missing integ build tags

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@howardjohn: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


[DOC]: how to output the log to a local file

📚 The doc issue
The log_to_file function is not introduced enough and it is difficult to learn to use.
(This issue is collected from user feedback)

You need to pass a directory to the logger's log_to_file interface and the level of the log.
For example, if the level is info, the message will be automatically recorded in the file when using the logging.info interface above the level.
Demo: https://github.com/hpcaitech/PaLM-colossalai/blob/77341b974fa6ae6805eb22bfad089a10e6a1d5b6/train.py#L67
where the default level is INFO
https://colossalai.readthedocs.io/en/latest/colossalai/colossalai.logging.html#colossalai.logging.DistributedLogger.log_to_file
The level classification can be found at
https://docs.python.org/3/library/logging.html#logging-levels


bump version to 3.7.0

I autoreleased 3.6.0 without bumping the versions here
After this PR

==COMMIT_MSG==
bump version to 3.7.0
==COMMIT_MSG==

Released 3.7.0


What is the correct way to get the landmarks corresponding input image?

I draft 2 ways:

Adding 2 packet callback, one is for image while the other is for landmark. Every time there is a landmark, there must have an input image also.

Make a custom calculator to export image and landmarks together, with a new proto object.

Any comment or suggestion is appreciated.

Progress by far:
I add a node in  hand_tracking_mobile.pbtxt
node: {
  calculator: "GpuBufferToImageFrameCalculator"
  input_stream: "throttled_input_video"
  output_stream: "output_image"
}

and a packet callback for this.
still has two problems:

there's a useless image when no gesture recognized
the image and gesture callback may be in different threads,

for the #1, i would add a if-else logic node to solve
for the #2, i think i should sync in the java
Any comment or suggestion is appreciated.

Hi everyone, could you please help me out. Basically, there are camera examples that draw landmark overlays on the original images, but i don't know what landmarks every single image has.

Each output packet has a timestamp that you can use to associate which input image it corresponds to. Since mediapipe is a pipeline, you may need to buffer a few packets of output to search for the corresponding input packets.

closing due to lack of activity


export in py3/hug is broken with proxy

when using uwsgi with a proxy balancer, export does not work (refldata.ncnr.nist.gov)

in __call__
    return __hug_internal_self._function(*args, **kwargs)
  File "./api.py", line 193, in calc_terminal
    to_export = retval.get_export()
  File "/home/bbm/reduction/dataflow/core.py", line 507, in get_export
    values = [v.export() for v in self.values]
  File "/home/bbm/reduction/dataflow/core.py", line 507, in <listcomp>
    values = [v.export() for v in self.values]
  File "/home/bbm/reduction/reflred/refldata.py", line 927, in export
    _write_key_value(fid, n, getattr(self, n))
  File "/home/bbm/reduction/reflred/refldata.py", line 954, in _write_key_value
    fid.write(b'# "%s": %s\n'%(key.encode('utf-8'), value_str.encode('utf-8')))
TypeError: unsupported operand type(s) for %: 'bytes' and 'tuple'

This is on python3.4, btw (ubuntu 14.04)

Seems to be fixed by 081b9ec3e18806ae7d30e204939251f72d0cf162

After some searching, I found that % formatting for byte representations was not introduced until python 3.5

Do we need to support 3.4?

The VMs provided by Alan tend to be ubuntu 14.04 LTS, which has that
version of python. (in particular refldata.ncnr.nist.gov, which is our
main internal server for the app...)
On 05/10/2017 05:38 PM, Paul Kienzle wrote:

Do we need to support 3.4?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/reflectometry/reduction/issues/39#issuecomment-300620326,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAp56sYSXOBJLE2XBmftIvyBWTCSpt7Lks5r4i5bgaJpZM4NW2f2.

I can install 3.5 from source on the VM, but for a production machine I
would prefer to use a standardised setup.  Speaking of which, I need to
add the apache configs and some startup scripts to the repo.
On 05/10/2017 05:38 PM, Paul Kienzle wrote:

Do we need to support 3.4?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/reflectometry/reduction/issues/39#issuecomment-300620326,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAp56sYSXOBJLE2XBmftIvyBWTCSpt7Lks5r4i5bgaJpZM4NW2f2.


netty4-setautoreadfalse-with-epoll-transport

Expected behavior
Actual behavior
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
http://stackoverflow.com/questions/43646038/netty4-setautoreadfalse-with-epoll-transport
Netty version
4.1.9
JVM version (e.g. java -version)
1.8.x
OS version (e.g. uname -a)
linux
I am using Netty 4.1.9 with Epoll transport. I have a test case to pause netty server processing any request and check for few invariants in my project and then resume processing requests again. I use channel config setAutoRead(false) to pause and set it again to true to resume processing. With EPOLL transport, once auto read set to false, at least one request is processed. But, with NIO I don't see this issue.
Is this expected? and why?
this issue is a fork from http://stackoverflow.com/questions/43646038/netty4-setautoreadfalse-with-epoll-transport

I have a test case

Please provide the test case. In general we should re-register and read any pending data. I assume you have tried with EpollMode LEVEL_TRIGGERED and EDGE_TRIGGERED?
Possibly related:
https://github.com/netty/netty/issues/6173
https://github.com/netty/netty/issues/6303

I will close this for now due lack of response. Please re-open if you still think there is anything wrong in netty


Refactor TokenCredential.Create

Why didn't we like static factory methods on TokenCredential itself? It's a very common pattern in .NET

Why didn't we like static factory methods on TokenCredential itself? It's a very common pattern in .NET

We realized that this would cause it to show up on all derived types of TokenCredential

At the point where we create another type why have static factories at all? Why not ctor?

At the point where we create another type why have static factories at all? Why not ctor?

We wanted to avoid having a public TokenCredential implementation in Core that might indicate that it is the first and best choice to get started with TokenCredentials.

Look at y'all, have an answer for everything 😄
LGTM!

Look at y'all, have an answer for everything 😄
LGTM!

API changes have been detected in this PR. You can review API changes here
API changes
+     public static class DelegatedTokenCredential {
+         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken, Func<TokenRequestContext, CancellationToken, ValueTask<AccessToken>> getTokenAsync);
+         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken);
+     }
-         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken, Func<TokenRequestContext, CancellationToken, ValueTask<AccessToken>> getTokenAsync);
-         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken);
-         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, ValueTask<AccessToken>> getTokenAsync);

API changes have been detected in this PR. You can review API changes here
API changes
+     public static class DelegatedTokenCredential {
+         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken, Func<TokenRequestContext, CancellationToken, ValueTask<AccessToken>> getTokenAsync);
+         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken);
+     }
-         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken, Func<TokenRequestContext, CancellationToken, ValueTask<AccessToken>> getTokenAsync);
-         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, AccessToken> getToken);
-         public static TokenCredential Create(Func<TokenRequestContext, CancellationToken, ValueTask<AccessToken>> getTokenAsync);


[WIP] Tinker with windows build

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jamesmyatt Awesome. I really hope you can get it working 👍

I'm just hacking. No idea what I'm doing.


Update SETUP.md

Fix broken link in readme

@

Hey @jamespohalloran - Thanks for this! Sorry I didn't see it for 2 weeks!


Use Inter Var as primary font-family choice

Description

Import with @import url('https://rsms.me/inter/inter.css')
Use Inter as primary fallback font

Yep! We can also consider fonts.google.com


Add Shopping-Cart-Page

Add Shopping Cart Page
Description
This pull request introduces a new Shopping Cart page to our project. The Shopping Cart page allows users to view and manage the items they intend to purchase, providing a seamless and user-friendly shopping experience.
Changes

Added ShoppingCartPage.js to the components directory.
Implemented the shopping cart layout and styling.
Integrated the shopping cart with the existing product and checkout components.
Added unit tests for the Shopping Cart page functionality.
Fixed some bugs before ( ex : the direct file to javascript in each page.html, typo and etc)

Features

Display of selected products with quantity and price.
Option to update item quantities.
Removal of items from the cart.
Calculation of total price.
Navigation to the checkout page.

Testing

Verified the display of items in the cart.
Tested the update and removal functionalities.
Ensured the total price calculation is accurate.
Confirmed navigation to the checkout page works as expected.

Notes

Please review the code and provide feedback.
Any suggestions for improvements are welcome.
Please remove the node-modules after this as suggested by our mentor

Thank you for your time and consideration.
https://github.com/user-attachments/assets/28765e92-7ce7-4eee-98b0-3d57fdb8a510

BROOOOOOO, THAT'S WAY TO COOL 🔥 🔥
IMMEDIATE ACCEPTANCE WKWKKW...


Installation fails on Eclipse Mars and Java 7

My environment details:
OS: Linux 64-bit
JDK: 1.7.0_80
Eclipse

Version: Mars.2 (4.5.2)
Build id: M20160212-1500

I tried installing umple plugin, both by downloading the jar and the update site but failed.
Here are the steps I followed for installing from jar:

Downloaded the latest jar from here
copied it to dropins directory of eclipse installation
restarted Eclipse

Nothing happens. The umple doesn't show up in the installed plugins section
Then when I tried to install it using the update site here's the error I'm getting:
Cannot complete the install because one or more required items could not be found.
  Software being installed: Umple Plugin 1.24.0 (org.cruise.umple.eclipse.plugin.feature.feature.group 1.24.0)
  Missing requirement: Plugin 1.24.0 (org.cruise.umple.eclipse.plugin 1.24.0) requires 'bundle org.eclipse.ui.editors 3.10.0' but it could not be found
  Cannot satisfy dependency:
    From: Umple Plugin 1.24.0 (org.cruise.umple.eclipse.plugin.feature.feature.group 1.24.0)
    To: org.cruise.umple.eclipse.plugin [1.24.0]

I can see the installed version of org.eclipse.ui.editors is 3.9.0.v2015021
Is there a way I can update only this jar and successfully install umple? (I cannot install Neon and Java 8)
Thank you very much for your help in advance

In order to install Umple Eclipse plugin you need to use this link:
http://cruise.eecs.uottawa.ca/org.cruise.umple.eclipse.plugin.update.site/
If you add the above link to the listof Eclipse update sites, you will see the plugin and then you just need to select and install it.
The one you downloaded is used for command line use

BTW, it's better to install Java version 1.8 and Eclipse Modeling Tools.
You need to make sure your Eclipse IDE is working properly.
I suggest downloading and using the latest version
http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/neon1

Yes. That is the update site I used. I followed the instructions here. Then I got the Missing requirement error mentioned above. To be specific, my problem is: My eclipse installation have org.eclipse.ui.editors version 3.9.0.v2015021 while umple requires 3.10.0. Does this mean it is incompatible with Eclipse Mars and Java 7?

I tried the Mars.2. It looks like it's not installed on it (before it was working). I think it's because of the latest build. I'll investigate it. I wonder if you can use the version I mentioned above? Or try to update the ui.editors

Umple needs Java 8. It will not work under Java 7

For what it's worth, I have performed a fresh download of Eclipse Neon (Eclipse Modelling Tools package) and attempted the plug-in installation through Install New Software... and specified the plugin update site.
My system is Mac OSX 10.9.5, and I do have JDK 1.8 installed.
No errors or extra dependencies were reported during the installation process, and there is now an Umple item in the menu bar.

So I think the original person's problem was that they had Java 7. I will close this.

Thanks all for your prompt replies. I managed to install it by upgrading to Java 8 and Eclipse Neon. If you can update the wiki page here about the minimum requirements, it will be very helpful for future users. (Currently, it says Java 7 and Eclipse Kepler)

I have fixed the wiki page. Thanks for pointing this out.

On Oct 11, 2016, at 09:34, Keheliya Gallaba<EMAIL_ADDRESS>wrote:
Thanks all for your prompt replies. I managed to install it by upgrading to Java 8 and Eclipse Neon. If you can update the wiki page here https://github.com/umple/umple/wiki/InstallEclipsePlugin about the minimum requirements, it will be very helpful for future users. (Currently, it says Java 7 and Eclipse Kepler)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/umple/umple/issues/900#issuecomment-252825680, or mute the thread https://github.com/notifications/unsubscribe-auth/AAdP_tRPWEfCAS3tIfGJsak64tDOTrT1ks5qyy3agaJpZM4KSxT2.

Timothy C. Lethbridge, PhD, P.Eng., I.S.P., CSDP
Professor of Software Engineering and Computer Science
Faculté de genie / Faculty of Engineering
Université d'Ottawa / University of Ottawa
Tel:<PHONE_NUMBER>x6685   Fax:<PHONE_NUMBER>    Mobile:<PHONE_NUMBER>
http://www.site.uottawa.ca/~tcl


BUG: Fixes CMake Dependencies in DWIConvert

DWI Convert tests were failing because some tests depended on other test's
outputs. The correct dependencies ensures that the tests will be run in the
correct order.

@aghayoor @hjmjohnson
I think that this should fix the unstable tests.


.upsert

Have the ability to insert multiple records at a time.
Should have at minimum the following options:

onDuplicate?: "skip" | "replace" | "merge"

Where:

skip: new item is ignored
replace: old item is replaced with the new item
merge: new item is merged into the old item

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Added documentation commands to runbox

Added a dropdown menu just after the Command field from the command box.
The menu contains several documentation commands:

using the internal documentation system, actually submitting the command sys.doc with the already typed command as argument. When the user did not fill in a target yet, assume *. Select only the first answer just like the salt commandline does for sys.doc commands. Updated output format to show the help topic instead of the minion name; and showing only the help text instead of the technical output.
using external URLs to the saltstack website:

display list of available module categories. menu item always shown;
display list of available modules in category. always shown, default category is execution;
display list of available commands in module. shown when command field contains at least a module name;
display details of the command. same as 2c, but scrolls down to the command, shown when .command field contains at least a module name and a command name).

Note that the menu system was extended to cope with dynamic visibility and dynamic text of menu items.

Can you rebase this?

Just rebased it. But I still need to minimize the changeset...

It is now ready for review/merge.

rebasing now...

rebase complete and retested.

Travis is failing after I accidentally pushed my branches into your repository; and then removed those again. Travis still thinks they exist...

I accidentally found the salt commands runners.doc.wheel and runners.doc.runner, which provide the online documentation for wheel and runner commands. Updated SaltGUI to use these functions when requesting documentation for wheel or runner commands.
Note that support to actually run runners commands is added in a different branch (future PR).

Will need a bit more time to review it. Hopefully I can do that this week.

please wait for rebase (which should solve the issues)

rebased (and squashed); please continue the review

In another PR/branch, I'm unifying the code that produces the output for running commands and for viewing historic jobs. the documentation formatter is part of that. I'll move those parts to a separate file.
on my system it was just (really) slow, hence the additional warning. I'll remove that menu item when the command field is empty. I'd like to keep it a dropdown menu because that explains what will be executed. Just need to think of a good title.
I'll drop the external documentation part from this PR. I'll keep that one on its own feature branch. Unless something fundamentally changes it will not return. I added that part to overcome the missing runner/wheel documentation in sys.doc. This later had another solution in the form of runners.doc.*. I did not then remove the online part because it is more readable and it allows to be expanded to other areas such as (salt) states.

Everything is reorganized.
New class "Documentation" (obviously) handles specifics for getting and showing documentation.
New class "Output" knows how to represent a salt output. Current knowledge is about the following output formats: errors, documentation and regular. In a future PR, the jobs viewer will use this class too; and the "state" output format will then also be supported (only) in this class.

ping... :-)

@erwindon pong! Tomorrow I'll have time to review it again.


Re-adds a (reduced) Analytics section back to the Readme.

Adds details for disabling analytics for (for example) non-interactive build scripts and the like.
I'm a first-time user, and it took reading https://github.com/bower/bower/issues/1102 to discover how to run Bower on fresh CI setups without the prompt appearing. As far as I can tell, the CI env and --config.interactive=false command-line options aren't documented.
(Analytics section added by @benschwarz in https://github.com/bower/bower/pull/1277, then removed by @rayshan in https://github.com/bower/bower/pull/1473.)

Sigh
My testing of said CI was not accurate; it does respond correctly to completely non-interactive script runs; my particular use-case was a long app-install script that hung with the analytics prompt when I went for coffee.
Feel free to close this PR if you don't want either of the CI or --config.interactive=false options in the Readme.

I'm, uh, going to try to pretend this pull request never happened.


Problem with mongoose model serialization

Hi!. I'm using routing-controllers with mongoose, but when my controller returns the result of a query, the _id field of the models are serialized as
{"_id":{"_bsontype":"ObjectID","id":{"0":89,"1":17,"2":175,"3":60,"4":137,"5":110,"6":193,"7":50,"8":29,"9":2,"10":180,"11":121}}

My method is:
@Get("/")
  all() {
      return this.usersService.getAll().then( users => users.map(u => u.toJSON()) );
  }

I think that the problem is the class transformer, but I don't know how to fix it

I'm sorry. Just disabled the classTransformer on the options and all works fine for me.


Bug/Regression: [0.20.x] Multi-line Doc-strings get generated as a single-line comment for typescript

When you have a multi-line doc-string like:
"""
This line is safe
any
further lines are not.
"""
input TestInput {
	id: ID
}

It gets code-generated to this:
// This line is safe
any
further lines are not.
export interface TestInput {
  id?: string | null;
}

[x] has-reproduction
[x] blocking

We are seeing the same with --target flow.


[zh] translate task/Install and Set Up kubectl on Windows

translate /docs/tasks/tools/install-kubectl-windows.md into Chinese.
close #27483

/close
close and reopen in hope to restart the CI jobs.

/reopen

@zhiguo-lu Can you help rebase this onto master?

Something wrong, let me submit a new one


open access to table 9500 Email item fields "Source Table" and "Source System id"

on table 9500 Email item there are 2 fields
Source table
Source System id
which are now internal.
could this be made accesible for extensions?
when sending custom mails, it would be usefull to be able te enter these fields so that  this info is transferred to the table "email related records" and that user can go to the source record from the "sent mails" page.

You should check out the procedure that is added with version 18.1
AddSourceDocument
https://github.com/microsoft/ALAppExtensions/discussions/9768#discussioncomment-692223

Please use AddSourceDocument() method.


VRR is broken in Hyprland

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: , commits: 1

flags: (if any)

System Information:
System name: Linux
Node name: gwen-x570
Release: 6.8.9-300.fc40.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Thu May  2 18:59:06 UTC 2024

GPU information:
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller])
0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c1) (prog-if 00 [VGA controller])

os-release: NAME="Fedora Linux"
VERSION="40 (Sway)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Sway)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://gitlab.com/fedora/sigs/sway/SIG/-/issues"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40
SUPPORT_END=2025-05-13
VARIANT="Sway"
VARIANT_ID=sway

plugins:

Bug or Regression?
Bug
Description
The refresh rate of my monitor in games with VRR enabled constantly jumps up to it's maximum every 1-2 seconds. Using the mouse causes this to happen even more often (multiple times a second) even though the mouse isn't on screen at all in games where it controls the camera.
I've tried unplugging the mouse and changing every setting I can related to display, direct scanout, input. I've also tried launching hyprland with a blank config containing nothing except display configurations and a hotkey to launch a game or vkcube or glxgears.
I've tried all of the above on fresh installs of Fedora and Arch as well with different kernels as well as versions 0.40.0, 0.39.1, 0.39.0 of hyprland all with no luck as in all cases it's exhibited the exact same bug.
The thing that makes me believe that this is a Hyprland specific issue is that this doesn't occur under Sway at all. With Sway the monitor refresh rate never jumps from the in game framerate no matter what is occuring in game, what input is being recieved or what processes are running in the background or on other screens. And for my own sanitys sake I've tested and can confirm this doesn't happen under windows either. So it's not an issue with my hardware, linux or wayland, but with Hyprland.
I've attatched a clip below I have of the issue showing both my monitor's refresh rate and mangohud's frametime graph/fps counter in a 3rd person shooter where I'm standing still with the fps capped and barely stressing my hardware.
(Ignore the GTX 1060 in the system info, it's used only for vfio and not active)
How to reproduce
Launch a fullscreen game with vrr enabled and limit your framerate to something lower than your monitors maximum and check if it actually holds that refresh rate on your monitors OSD.
Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/14289733/ffcbc0ca-60f0-40e3-ab7f-301b0c527d09

#4436 literally same title

Same title but very different bug

sounds like the same to me? fps jumps to max?

sounds like the same to me? fps jumps to max?

Their issue was the refresh rate being stuck at max and jumping if below thier vrr range which was caused by an animation in hyprland running in the background that forced the refresh rate up.
Mine is that my refresh rate matches my fps but spikes. Which I've now narrowed down to something to do with the way hyprland manages it's mouse.
https://github.com/hyprwm/Hyprland/pull/5895 seems to have fixed the random spikes but I still get a spike to max every time I press any mouse button (left mouse, right mouse, button 4, button 5, etc) but not on mouse movements or any keyboard input.

okay, I get you now

is the game fullscreen? is it xwayland?

Yes it's full screen. I'm not sure if the game I tested (Orcs must die 3) was xwayland or not, but the same issue occurs on glxgears or vkcube if I cap their fps and fullscreen them and then press mouse buttons while keeping the pointer stationary (so that mouse movements don't artificially raise the fps)

Yes it's full screen. I'm not sure if the game I tested (Orcs must die 3) was xwayland or not, but the same issue occurs on glxgears or vkcube if I cap their fps and fullscreen them and then press mouse buttons while keeping the pointer stationary (so that mouse movements don't artificially raise the fps)

Actually I just tested this again. It must be just an xwayland thing as it doesn't appear in vkcube.

Please ensure you're not running into https://gitlab.freedesktop.org/drm/amd/-/issues/1500.
echo 4 | sudo tee /sys/class/drm/card1/device/pp_power_profile_mode

I am not running into that issue. I already have my power profile forced.

Hm, in my case button inputs do not change refresh rate but moving the camera using my mouse (no cursor visible) apparently still does. Mangohud also flickers during this; it might not be visible in the additional frames being generated?
Moving the mouse cursor while it's visible does not trigger this anymore using https://github.com/hyprwm/Hyprland/pull/6483 as expected.
More critically though, when apps are in fullscreen, the frame presentation is messed up for a few frames whenever the mouse is moved with frame order sometimes being wrong but also randomly every second or so with no input. It's really weird and hard to describe but you'll know it when you see it. It manifests as a sort of stutter where it rubber-bands between some previous frame(s?) and the actual one.
When I set the app to windowed and then fullscreen 2 it, this does not happen.
Does that also happen for you @Gwenodai?
What I also noticed is that when I switch to a different workspace than the one the game is in, wait a little and then switch back again, the game is in super speed mode and "catches up" to the current time for a few frames. During this time, animations appear very quick. However, it does not just appear to be a presentation issue with frames being queued because the audio also does this; environmental sound effects that would play with <1Hz (and do in the background which is extra weird) then come out with a few dozen Hz for a second or so. This must be causing some sort of queuing inside the game?
I am not sure this is directly related to VRR though.
(I repro'd this in GW2 standing in Lion's Arch standing near the water features that trigger a distinct sound every so often.)

My config

# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################

# autogenerated = 1 # remove this line to remove the warning

# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/

# Please note not all available settings / options are set here.
# For a full list, see the wiki

# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf

################
### MONITORS ###
################

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto

###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$terminal = mlterm
$fileManager = dolphin
$menu = wofi --show drun

#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

# exec-once = $terminal
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox

exec-once = hypridle

#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

# Work around https://github.com/hyprwm/Hyprland/issues/6501
env = PATH,$HOME/.local/bin/:$PATH

#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general {
    gaps_in = 2
    gaps_out = 0

    border_size = 1

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(33ccffee)# rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = true

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false

    # layout = dwindle
}

# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    # rounding = 10

    # Change transparency of focused and unfocused windows
    active_opacity = 1.0
    inactive_opacity = 1.0

    drop_shadow = false
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)

    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = false
        size = 3
        passes = 1

        vibrancy = 0.1696
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
    enabled = true

    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = global, 0, 7, myBezier
    animation = workspaces, 1, 1.5, default
}

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
    force_split = 2

    no_gaps_when_only = true
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
    new_is_master = true
}

group {
    groupbar {
        render_titles = false
        height = 1
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
    force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(

    # I'd like my screen to turn on when I press a button please
    mouse_move_enables_dpms = true
    key_press_enables_dpms = true

    # Variable frame rate?
    # TODO need to test whether this affects input delay
    vfr = true
    vrr = 1

    no_direct_scanout = false
}

cursor {
    no_hardware_cursors = true
    hide_on_key_press = false
    no_break_fs_vrr = true
}

# debug {
# overlay = true
# }

xwayland {
    force_zero_scaling = true
}

#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us
    kb_variant = altgr-intl
    kb_model =
    kb_options = caps:escape
    kb_rules =

    repeat_rate = 30
    repeat_delay = 200
    accel_profile = flat

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

    touchpad {
        natural_scroll = false
        scroll_factor = 0.5
    }

}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = true
    # workspace_swipe_distance = 200
    workspace_swipe_min_speed_to_force = 10
    workspace_swipe_invert = false
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
    name = pixa3854:00-093a:0274-touchpad
    sensitivity = -0.25
}

####################
### KEYBINDINGSS ###
####################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, w, killactive,
unbind = $mainMod, e # Needs to be done for some reason? # TODO still necessary now that I do shift properly?
bind = $mainMod, e, exec, emacsclient -c
bind = $mainMod SHIFT, E, exit,
bind = $mainMod, ESCAPE, exec, loginctl lock-session
bind = $mainMod SHIFT, s, exec, systemctl suspend
bind = $mainMod, SPACE, togglefloating,
bind = $mainMod, x, exec, $menu
# bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, s, togglesplit, # dwindle
unbind = $mainMod, f
bind = $mainMod, f, fullscreen, 2
bind = $mainMod SHIFT, f, fullscreen, 1
bind = $mainMod, t, togglegroup,

# Move focus with mainMod + vi keys
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d

# Move window with mainMod + vi keys
bind = $mainMod SHIFT, h, movewindoworgroup, l
bind = $mainMod SHIFT, l, movewindoworgroup, r
bind = $mainMod SHIFT, k, movewindoworgroup, u
bind = $mainMod SHIFT, j, movewindoworgroup, d

bind = $mainMod, u, lockactivegroup, lock
bind = $mainMod, d, lockactivegroup, unlock

bind = $mainMod, grave, changegroupactive, f
bind = $mainMod SHIFT, grave, changegroupactive, b

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10

# Example special workspace (scratchpad)
bind = $mainMod, p, togglespecialworkspace, magic
bind = $mainMod SHIFT, p, movetoworkspacesilent, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

binde = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 2%+
binde = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 2%-
binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
binde = , XF86MonBrightnessUp, exec, brightnessctl set +3%
binde = , XF86MonBrightnessDown, exec, brightnessctl set 3%-

##############################
### WINDOWS AND WORKSPACES ###
##############################

# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Example windowrule v1
# windowrule = float, ^(kitty)$

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

@Atemu Upon further testing it would appear my initial findings were indeed incorrect. The issue is now even worse than it used to be. I still have the jumping refresh rate during mouse button inputs but I also now have the refresh rate locked to the max when the mouse is in motion even with the cursor invisible in fps and third person games.
As for the other bug you described with frame presentation. I can't manage to reproduce it myself, so I'm of no help there sadly.

As far as I can tell 0.40.0 is the last proper build with proper functional vrr support when the mouse is in motion. I've tested the latest git as well as 0.41.1, and 0.41.0 and they all break from the actual refresh rate when moving the mouse.
'no_break_fs_vrr' in the current git also does not seem to do anything at all for the issue. However it does allow you to create a laggy cursor in full screen apps with visible cursors, so there's that.
So for now I'm gonna go back to 0.40.0 until later releases. I can live with the mini spikes on mouse button inputs but vrr may as well be disabled entirely with every version above 0.40.0.

Oh my god I've finally narrowed down my particular issue with the spikes!
When you have a window fullscreened it gets given the properties "fullscreen": true and "fullscreenMode": 0. This is what games request upon being launched and what happenes when you use a bind to call fullscreen, 0 for the active application. (I assume the same most likely applies to fullscreen, 1 windows too)
However the issue comes into play when a window has those properties along with "floating": true. This causes it to spike the refresh rate sometimes when you interact with it using mouse buttons for some reason. I'd never considered that the floating parameter would even have any effect on a fullscreened window before. And it seems that every game I've tested starts with those exact parameters, which explains why I've been experiencing the issue.
Hopefully this can help narrow down the cause of the issue. However I have no idea if the issue exists above 0.40.0 as it seems vrr is completely broken on any later version, so I can't test that.

As for the other bug you described with frame presentation. I can't manage to reproduce it myself, so I'm of no help there sadly.

Interesting.
Is V-sync (FIFO) enabled/forced? I force it in Mangohud for all games as it's required for VRR to work properly.

'no_break_fs_vrr' in the current git also does not seem to do anything at all for the issue. However it does allow you to create a laggy cursor in full screen apps with visible cursors, so there's that.

This might be intended behaviour. If the game is running at 60fps, your refresh rate should be 60Hz and the cursor therefore as laggy as 60Hz. Or do you mean it's laggier than the low refresh rate would suggest?

However I have no idea if the issue exists above 0.40.0 as it seems vrr is completely broken on any later version, so I can't test that.

VRR is working for me on 0.41.1, though with the issues I mentioned.
Could you post your config? Particularly vrr and no_direct_scanout.

Is V-sync (FIFO) enabled/forced? I force it in Mangohud for all games as it's required for VRR to work properly.

I don't have V-sync forced or even set in mangohud at all. I just have it set to limit my fps via:
fps_limit_method=late
fps_limit=140,120,60,30

V-sync doesn't seem to have any effect whatsoever on vrr for me so I just default to turning it off in games. And after setting rules so that steam games and other specified games run in tiled fullscreen instead of floating fullscreen I've had zero vrr issues on 0.40.0 with my current set up. (I really have no idea why that even works)

This might be intended behaviour. If the game is running at 60fps, your refresh rate should be 60Hz and the cursor therefore as laggy as 60Hz. Or do you mean it's laggier than the low refresh rate would suggest?

Oh yea I believe it is the intended behaviour. I was joking about how it affects non game apps when set to fullscreen, though that may be due to VFR and VRR being on. I'd assume it might fix games where your cursor is meant to be visible but all I know is that it has zero effect on any games where the cursor controls that camera (invisible cursor). In those games the refresh rate sits at 144 when the mouse is moving regardless of that setting, so it's not really something you can test atm.

VRR is working for me on 0.41.1, though with the issues I mentioned.

Oh yes I didn't mean it was 100% non-functional. Moreso that due to the fact that you can't even move the mouse at all anymore without breaking vrr above 0.40.0, it's practically completely broken unless you happen to be using a controller or playing only with a keyboard I guess. Considering half the games I play use my mouse I'd consider it a completely broken feature that should just be disabled if you're running anything above 0.40.0. That or just stick with 0.40.0 until it eventually gets fixed later down the line if vrr is as important to you as it is to me.

Could you post your config? Particularly vrr and no_direct_scanout.

My config is split up a bit so I'll post them in idividual parts below. Though do note I've tried multiple different  vrr and no_direct_scanout settings and they mostly don't seem to matter outside of weird interactions. Like no_direct_scanout = false seems to disable vrr sometimes on older hyprland versions but only on regular workspaces for some reason. Either way I've tested many different combinations across every version of hyprland I've tested but settled on vrr = 1 and no_direct_scanout = false for my daily use as vrr = 2 only inherits the fullscreen status of the regular workspace on the monitor and not the special workspace above it. This results in vrr only being enabled if a game is on a regular workspace or if the workspace below the special one has a fullscreen application open.
hyprland.conf

monitor=,preferred,auto,auto

source=~/.config/hypr/config/variables.conf
source=~/.config/hypr/config/startup.conf
source=~/.config/hypr/config/settings.conf
source=~/.config/hypr/config/animations.conf
source=~/.config/hypr/config/displays.conf
source=~/.config/hypr/config/displaysExternal.conf
source=~/.config/hypr/config/keybinds.conf
source=~/.config/hypr/config/rules.conf

variables.conf

env = XCURSOR_THEME,Vimix-cursors
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORM, wayland
env = QT_QPA_PLATFORMTHEME, qt5ct
env = WLR_NO_HARDWARE_CURSORS,1 # Moving into 'cursor' after 0.41.0
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland

startup.conf

$scripts = $HOME/.config/hypr/scripts

# wallpaper
exec-once = swww query || swww init

# Core components (authentication, lock screen, notification daemon)
exec-once = $HOME/.local/bin/polkit-daemon
exec-once = dbus-update-activation-environment --all
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
exec-once = sleep 1 && systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

# Clipboard: history
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store

# UI applications
exec-once = waybar
exec-once = ags -c ~/.config/ags/overview.js
exec-once = swaync
exec-once = swayosd-server

# Daemons
exec-once = $scripts/hyprDaemon.sh
exec-once = hypridle

# Startup applications
exec-once = corectrl --minimize-systray
exec-once = LD_PRELOAD=/home/gwen/Storage/repos/extest/target/i686-unknown-linux-gnu/release/libextest.so mangohud steam -silent #Steam with patches
exec-once = flatpak run com.spotify.Client
exec-once = heroic
exec-once = vesktop --start-minimized
exec-once = flatpak run com.sindresorhus.Caprine
exec-once = flatpak run ca.andyholmes.Valent --gapplication-service
exec-once = sunshine

# Set Display and Audio back to default
exec-once = $scripts/resetMonitors.sh

# Special startup script (Manually hidden/Scripted startups)
exec-once = $scripts/specialStartup.sh

settings.conf

input {
    kb_layout = us
    numlock_by_default = true
    repeat_delay = 250
    repeat_rate = 35
    sensitivity = 0.7
    accel_profile = flat

    mouse_refocus = true
    float_switch_override_focus = 1
    special_fallthrough = false
    follow_mouse = 1
}

# # Only used in 0.41.0
# cursor {
#     no_hardware_cursors = true
#     inactive_timeout = 3
#     default_monitor = DP-1
#     # # Only used in git (probably 0.42.0)
#     # no_break_fs_vrr = true
#     # min_refresh_rate = 48
# }

binds {
    workspace_back_and_forth=1
    scroll_event_delay = 0
}

general {
    # Gaps and border
    no_border_on_floating = false
    gaps_in = 3
    gaps_out = 3
    gaps_workspaces = 50
    border_size = 1

    #Colours
    col.active_border = rgba(ff00ad85)
    col.inactive_border = rgba(59595900)

    resize_on_border = false
    extend_border_grab_area = false
    hover_icon_on_border = false
    # no_focus_fallback = true
    layout = dwindle

    allow_tearing = false

    # Moving into 'cursor' after 0.41.0
    default_cursor_monitor = DP-1
    cursor_inactive_timeout = 3
}

dwindle {
	preserve_split = true
    pseudotile = true
	smart_split = false
	smart_resizing = true
    no_gaps_when_only = false
}

decoration {
    rounding = 20
    active_opacity = 1.0
    inactive_opacity = 0.9
    fullscreen_opacity = 1.0

    blur {
        enabled = true
        xray = false
        special = true
        new_optimizations = true
        size = 5
        passes = 3
        brightness = 0.8
        noise = 0.01
        contrast = 1
        ignore_opacity = false
        popups = true
        popups_ignorealpha = 0.6
    }

    # Shadow
    drop_shadow = true
    shadow_ignore_window = true
    shadow_range = 16
    shadow_offset = 2 2
    shadow_render_power = 2
    col.shadow = rgba(00000076)

    # Dim
    dim_inactive = false
    dim_strength = 0.1
    dim_special = 0
}

misc {
    vfr = 1
    vrr = 1
    no_direct_scanout = false
    focus_on_activate = false
    animate_manual_resizes = false
    animate_mouse_windowdragging = false
    enable_swallow = false
    # swallow_regex = (kitty|YACReaderLibrary)
    mouse_move_enables_dpms = true
    key_press_enables_dpms = true

    disable_hyprland_logo = true
    force_default_wallpaper = 0
    new_window_takes_over_fullscreen = 0
    initial_workspace_tracking = 0
}

animations.conf

animations {
    enabled = true

    # Animation curves
    bezier = linear, 0, 0, 1, 1
    bezier = md3_standard, 0.2, 0, 0, 1
    bezier = md3_decel, 0.05, 0.7, 0.1, 1
    bezier = md3_accel, 0.3, 0, 0.8, 0.15
    bezier = overshot, 0.05, 0.9, 0.1, 1.1
    bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
    bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
    bezier = menu_decel, 0.1, 1, 0, 1
    bezier = menu_accel, 0.38, 0.04, 1, 0.07
    bezier = easeInOutCirc, 0.85, 0, 0.15, 1
    bezier = easeOutCirc, 0, 0.55, 0.45, 1
    bezier = easeOutExpo, 0.16, 1, 0.3, 1
    bezier = softAcDecel, 0.26, 0.26, 0.15, 1
    bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration

    # Animation configs
    animation = windows, 1, 3, md3_decel, popin 60%
    animation = windowsIn, 1, 3, md3_decel, popin 60%
    animation = windowsOut, 1, 3, md3_accel, popin 60%
    animation = border, 1, 10, default
    animation = fade, 1, 3, md3_decel
    animation = layersIn, 1, 3, menu_decel, slide
    animation = layersOut, 1, 1.6, menu_accel
    animation = fadeLayersIn, 1, 3, menu_decel
    animation = fadeLayersOut, 1, 1.6, menu_accel
    animation = workspaces, 1, 7, menu_decel, slide
    animation = specialWorkspace, 1, 3, md3_decel, slidevert
}

displays.conf

monitor=DP-1,1920x1080@143.85,0x0,1.0
monitor=DP-2,1920x1080@60.0,1920x0,1.0

displaysExternal.conf

monitor=HDMI-A-1,disabled

keybinds.conf

#################### Variables ###################
$terminal = kitty --single-instance
$fileManager = nemo
$webBroswer = google-chrome
$menu = pkill rofi || rofi -show drun -display-drun "" -icon-theme "Papirus Dark" -show-icons
$menu2 = pkill rofi || rofi -show run -display-run "" -icon-theme "Papirus Dark" -show-icons

################### keybinds ###################
# Volume
bindle = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
bindle = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
bindl  = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle

################################### Applications ###################################
# Apps: just normal apps
bind = Super, Q, exec, $terminal
bind = Super, E, exec, $fileManager
bind = Super, W, exec, $webBroswer
bind = Super, G, exec, swaync-client -t -sw

# Apps: Settings and config
bind = Control+Shift, Escape, exec, flatpak run net.nokyan.Resources

# Actions
bind = Super+Shift, P, pseudo, # dwindle
bind = Super, Z, togglesplit, # dwindle
bind = Super, C, killactive,
bind = Super, V, togglefloating,
bind = Super+Shift, V, exec, $scripts/pin.sh
bind = Super, Tab, exec, ags -t overview # open overview

# Screenshot, Color picker, Clipboard history
bind = Super+Control, S, exec, $HOME/.local/bin/hyprshot -m window -m active -o $HOME/Documents/Pictures/Screenshots | wl-copy
bindl = , Print, exec, $HOME/.local/bin/hyprshot -m output -m active -o $HOME/Documents/Pictures/Screenshots | wl-copy
bind = Super+Control, C, exec, hyprpicker -a
bind = Super+Control, V, exec, pkill rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy

# Media
bindl= ,XF86AudioPlay, exec, playerctl play-pause
bindl= ,XF86AudioStop, exec, playerctl stop
bindl= ,XF86AudioNext, exec, playerctl next
bindl= ,XF86AudioPrev, exec, playerctl previous

# App launchers
bind = Super, R, exec, $menu
bind = Super+Shift, R, exec, $menu2

##################################### Special keybinds #####################################
# Refresh waybar, swaync, rofi
bindr = Control+Super, R, exec, $scripts/refresh.sh

# Wallpapers
bind = Super+Shift, W, exec, $scripts/wallpaperSelect.sh # Select wallpaper to apply

# Waybar / Bar related
bind = Super, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar

########################### Keybinds for Hyprland ############################
# Swap windows
bind = Super+Shift, left, movewindow, l
bind = Super+Shift, right, movewindow, r
bind = Super+Shift, up, movewindow, u
bind = Super+Shift, down, movewindow, d

# Move focus
bind = Super, left, movefocus, l
bind = Super, right, movefocus, r
bind = Super, up, movefocus, u
bind = Super, down, movefocus, d
bind = Super, Space, exec, $scripts/swapWorkspaces.sh "DP-1" "DP-2"

# Workspace switch with arrows
bind = Control+Super, right, workspace, +1
bind = Control+Super, left, workspace, -1

# Window split ratio
binde = Super, Minus, splitratio, -0.1
binde = Super, Equal, splitratio, 0.1
binde = Super, Semicolon, splitratio, -0.1
binde = Super, Apostrophe, splitratio, 0.1

# Fullscreen
bind = Super, F, fullscreen, 0
bind = Super, D, fullscreen, 1
bind = Super_Alt, F, fakefullscreen

# Switching
bind = Super, 1, focusworkspaceoncurrentmonitor, 1
bind = Super, 2, focusworkspaceoncurrentmonitor, 2
bind = Super, 3, focusworkspaceoncurrentmonitor, 3
bind = Super, 4, focusworkspaceoncurrentmonitor, 4
bind = Super, 5, focusworkspaceoncurrentmonitor, 5
bind = Super, 6, focusworkspaceoncurrentmonitor, 6
bind = Super, 7, focusworkspaceoncurrentmonitor, 7
bind = Super, 8, focusworkspaceoncurrentmonitor, 8
bind = Super, 9, focusworkspaceoncurrentmonitor, 9
bind = Super, 0, focusworkspaceoncurrentmonitor, 10
bind = Super, S, togglespecialworkspace,
bind = Super, X, togglespecialworkspace, game # Game workspace
bind = Super, A, togglespecialworkspace, alt
bind = Alt, Tab, cyclenext
bind = Alt, Tab, bringactivetotop, # bring it to the top

# Move window to workspace Super + Alt + [0-9]
bind = Super+Shift, 1, movetoworkspacesilent, 1
bind = Super+Shift, 2, movetoworkspacesilent, 2
bind = Super+Shift, 3, movetoworkspacesilent, 3
bind = Super+Shift, 4, movetoworkspacesilent, 4
bind = Super+Shift, 5, movetoworkspacesilent, 5
bind = Super+Shift, 6, movetoworkspacesilent, 6
bind = Super+Shift, 7, movetoworkspacesilent, 7
bind = Super+Shift, 8, movetoworkspacesilent, 8
bind = Super+Shift, 9, movetoworkspacesilent, 9
bind = Super+Shift, 0, movetoworkspacesilent, 10
bind = Super+Shift, S, movetoworkspacesilent, special
bind = Super+Shift, X, movetoworkspacesilent, special:game # Game workspace
bind = Super+Shift, A, movetoworkspacesilent, special:alt

# Scroll through existing workspaces with (Control) + Super + scroll
bind = Super, mouse_up, workspace, e+1
bind = Super, mouse_down, workspace, e-1
bind = Control+Super, mouse_up, workspace, +1
bind = Control+Super, mouse_down, workspace, -1

# Move/resize windows with Super + LMB/RMB and dragging
bindm = Super, mouse:272, movewindow
bindm = Super, mouse:273, resizewindow

rules.conf

######## Window rules ########
# Fullscreen/Pinned windows
windowrulev2 = bordercolor rgba(FFB2BCAA),pinned:1
windowrulev2 = bordercolor rgba(00fbff85),fullscreen:1

# Supress maximize events
windowrulev2 = suppressevent maximize, class:.* # (!)

# file-roller
windowrulev2 = center,class:^(file-roller)$
windowrulev2 = center,class:^(org.gnome.FileRoller)$
windowrulev2 = float,class:^(file-roller)$
windowrulev2 = float,class:^(org.gnome.FileRoller)$
windowrulev2 = size 900 600,class:^(org.gnome.FileRoller)$

# Nemo File Manager
windowrulev2 = float,class:^(nemo)$,title:(Properties)$

# Steam
windowrule = float,title:^(Create or select new Steam library folder)$
windowrule = float,title:^(Steam Settings)$
windowrule = workspace special:game,title:^(Steam Big Picture Mode)$
windowrule = tile,title:^(Steam Big Picture Mode)$

# ProtonUp-Qt
windowrulev2 = float,class:^(net.davidotek.pupgui2)$

# Calculator
windowrulev2 = float,class:^(org.gnome.Calculator)$
windowrulev2 = size 420 640,class:^(org.gnome.Calculator)$

# Google-Chrome
windowrulev2 = float,class:^(google-chrome)$,title:^(Open File)$
windowrulev2 = float,class:^(google-chrome)$,title:^(Open Files)$

# Spotify
windowrulev2 = workspace special:alt silent,class:(Spotify)$

# Start games tiled to prevent vrr spike bug
windowrulev2 = tile,class:^(steam_app_)(.*)$
windowrulev2 = tile,class:^(.*)(exe)$

######## Misc Dialogs/Pop-up windows ########
windowrule = float,title:^(Choose Files)$
windowrule = float,title:^(Choose wallpaper)(.*)$
windowrule = float,title:^(Confirm to replace files)$
windowrule = float,title:^(File Operation Progress)$
windowrule = float,title:^(Library)(.*)$
windowrule = float,title:^(Open File)(.*)$
windowrule = float,title:^(Open Folder)(.*)$
windowrule = float,title:^(Select Folder)(.*)$
windowrule = float,title:^(Open)$
windowrule = float,title:^(Save As)(.*)$
windowrule = float,title:^(Select a File)(.*)$

######## Workspace rules ########
workspace = 1, monitor:DP-1, default:true, persistent:true
workspace = special:game, monitor:HDMI-A-1, default:true, shadow:false, decorate:false

######## Layer rules ########
# Rofi (App launcher)
layerrule = ignorealpha 0.0, rofi
layerrule = blur, rofi
layerrule = animation slide bottom, rofi

# Waybar
layerrule = ignorealpha 0.0, waybar
layerrule = blur, waybar

# SwayNotificationCenter
layerrule = ignorealpha 0.0, swaync-control-center
layerrule = ignorealpha 0.0, swaync-notification-window
layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = animation slide right, swaync-control-center

# SwayOSD (Volume OSD)
layerrule = ignorealpha 0.01, swayosd
layerrule = blur, swayosd

# hyprswitch (Win+Tab popup)
layerrule = ignorealpha 0.0, hyprswitch
layerrule = blur, hyprswitch

# Colour picker/Screenshots
layerrule = noanim, hyprpicker
layerrule = noanim, selection

# Overview
layerrule = ignorealpha 0.0, overview
layerrule = blur, overview
layerrule = animation slide top, overview

# Misc
layerrule = ignorealpha 0.6, shell:*
layerrule = ignorealpha 0.0 gtk-layer-shell
layerrule = blur, shell:*
layerrule = blur, gtk-layer-shell

######## Transparent Windows ########
windowrulev2 = opacity 0.85,floating:1 # Make all floating windows transparent
# Force full opacity on fullscreen windows above this
windowrulev2 = opacity 1.0 override, fullscreen:1
# Windows that want opacity while fullscreen below this
windowrule   = opacity 0.9, ^(sublime_text)$
windowrule   = opacity 0.8, ^(nemo)$
windowrule   = opacity 0.85, ^(vesktop)$
windowrulev2 = opacity 0.85,class:(Spotify)$

######## PIP rules ########
windowrulev2 = opacity 1.0 0.75,title:^(Picture-in-Picture)$
windowrulev2 = float, title:^(Picture-in-Picture)$
windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$
windowrulev2 = pin,title:^(Picture-in-Picture)$
windowrulev2 = size 25% 25%,title:^(Picture-in-Picture)$

Oh yea I believe it is the intended behaviour. I was joking about how it affects non game apps when set to fullscreen, though that may be due to VFR and VRR being on. I'd assume it might fix games where your cursor is meant to be visible but all I know is that it has zero effect on any games where the cursor controls that camera (invisible cursor). In those games the refresh rate sits at 144 when the mouse is moving regardless of that setting, so it's not really something you can test atm.

@Gwenodai I can confirm the above: no_break_fs_vrr works for me in games with a visible cursor: the refresh rate follows the game FPS when moving the mouse (as an example, Divinity: Original Sin 2).
However, in games with an invisible one (The Witcher 3: Wild Hunt for example), whenever I move the mouse, the refresh rate of the monitor maxes out immediately.

cc @UjinT34

no_break_fs_vrr is very limited. It only works with no_hardware_cursors = true and fullscreen apps when VRR is active. And this option alone will cause mouse to freeze if the app doesn't have a steady framerate. Most of the non-game app won't. So there is cursor:min_refresh_rate which fixes the freezing but might cause flickering and stuttering.
These options might not be suitable for every situation and for now should be tweaked manually depending on the current app. Try setting min_refresh_rate = 0 for games.
Framerate spikes are caused by compositor scheduling a new frame based on certain events and conditions. There are plenty of those. Some are easily tracked, others are deep inside wlroots. no_break_fs_vrr prevents some extra schedules related to mouse movement which are meant to redraw the cursor in the new position. It is very strange that there are issues with invisible cursors. But I also don't understand why no_break_fs_vrr doesn't work with hardware cursors... Something is causing extra frame scheduling.

@Atemu I've just encountered the other issue you mentioned here the other day:

More critically though, when apps are in fullscreen, the frame presentation is messed up for a few frames whenever the mouse is moved with frame order sometimes being wrong but also randomly every second or so with no input. It's really weird and hard to describe but you'll know it when you see it. It manifests as a sort of stutter where it rubber-bands between some previous frame(s?) and the actual one.
When I set the app to windowed and then fullscreen 2 it, this does not happen.

I ran into it after having updated my packages the night before and it really perplexed me for a bit as I hadn't changed anything Hyprland wise and suddenly was experiencing it to varying degrees in different games. But I remembered you mentioning it, so I messed with hyprland stuff for a short while before I realised that it wasn't actually a Hyprland bug that you were experiencing.
But the short answer here is that it seems to be a bug introduced in Mesa 24.1 probably due to the explicit sync developments.
The long answer is, while using the affected Mesa drivers the bug seems to be barely present on Hyprland with vfr = 0. As in if you pay perfect attention you might see a single out of place frame/stutter a few times a minute at most. But the second you enable vfr in Hyprland you will begin seeing misplaced frames and stuttering more and more the further your games framerate strays from your monitor's refresh rate. This behaviour has nothing to do with vrr as far as I can tell, seeing as it also manifests on my non vrr monitors unless vfr is disabled.
The really odd thing is that I managed to heavily mitigate it by spamming my fullscreen, 0 and  togglefloating keybinds for a bit out of frustration. Spamming those for a bit somehow reliably reduces the 'stutters' to only a few times a minute at most while still retaining full vrr functionality with both vrr and vfr enabled. And this is in a game where if I limit the fps to 60 I'd see multiple stutters per second, basically rendering it unplayable with vfr on otherwise.
But TL;DR: Either wait for a fix from Mesa or downgrade your mesa version in the meantime.

I've encountered a very similar problem described in this issue. My monitors refresh rate would max out, whenever I move the cursor, regardless if its visible. I tried disabling hardware cursor through the hyprland option and env variable, but nothing worked. The weird issue is that this issue seems to come and go and only presents itself after I've used the system for a while. Reinstalling nixos and rebuilding my system fixes my issue and I cant say why, since I havent really changed anything in my config.

Please test https://github.com/hyprwm/Hyprland/pull/6877
It should fix VRR for games with invisible cursor and those which lock and hide compositor cursor and handle its rendering themselves. Note that the cursor will become extra slow the lower your fps gets. Just verify that the game doesn't have rendering issues and VRR works as expected.

Please test #6877 It should fix VRR for games with invisible cursor and those which lock and hide compositor cursor and handle its rendering themselves. Note that the cursor will become extra slow the lower your fps gets. Just verify that the game doesn't have rendering issues and VRR works as expected.

Thanks for working on the fix! I have some good news and some bad news related to that fix:

The good news: in The Witcher 3: Wild Hunt (the game I mentioned previously, and the only game I tested with the new build), if I move the mouse the refresh rate no longer maxes out, it follows the FPS as expected
When moving the cursor in The Witcher 3: Wild Hunt menus, it's very difficult to move it - it's as if the DPI is 1/4 of what it's actually set to.

What seems to fix #2 is setting vrr from 2 to 0 or commenting out no_break_fs_vrr = true (but of course, VRR is lost in that case, or moving the cursor forces max refresh rate on the monitor). I also have no_direct_scanout = false and no_hardware_cursors = true set. Commenting these out doesn't seem to have an impact on the cursor speed.

Thanks a bunch for attempting to fix this @UjinT34. I used the PR
I experience different symptoms to @RaduAvramescu:

When I move my visible mouse cursor in GW2, the frame rate jumps between 5ms and 50ms (keeping it still, I'm at a fairly consistent 16ms).
When I move my camera (no mouse cursor), it's smooth but suuuper slow; feels like <1/4 DPI but likely the same effect as @RaduAvramescu experiences.

 This causes VRR to not function anymore which is a bit unexpected?
After toggling it back on, VRR worked again but the behaviour in 1. was now also present when moving the camera and the speed still being extremely slow (worst of both worlds!).
After restarting the game, it's back to the initial behaviour.
Another weird thing is that you seemingly cannot disable VRR. If I set vrr = 0 in a running config, both my desktop and the game still cause the monitor's refresh rate to react.
Relevant settings are:
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
    force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(

    # I'd like my screen to turn on when I press a button please
    mouse_move_enables_dpms = true
    key_press_enables_dpms = true

    # Variable frame rate?
    # TODO need to test whether this affects input delay
    vfr = true
    vrr = 1

    no_direct_scanout = false
}

cursor {
    no_hardware_cursors = true
    hide_on_key_press = false
    no_break_fs_vrr = true
}

The weird rubber-band symptoms were indeed caused by explicit sync handling still being buggy as @Gwenodai figured out.
Downgrading xwayland to 23.2.7 is the easiest workaround for that issue though by no means ideal.

The weird issue with the game playing catch-up after switching back to it is also still present. Could someone reproduce this for me?

Start game on desktop x
Switch to desktop y
Wait a little
Switch back to desktop x
Observe game going super-speed mode; seemingly playing back all the frames it couldn't while on another virtual desktop

@Atemu
I've had that same issue with GW2 since I started using Hyprland. The frames accumulate in the background while the window is not being rendered and are pushed out all at once when visible again. I'm not sure how it's handled by the ArenaNet servers, but actions were also sped up so it might be exploitative and could trigger anticheat measures with some games.
It also differs in effect depending on the game, and some just act as if they were minimized. I believe the current workaround is to use gamescope in another TTY, which also solves some other issues apparently.
Ideally the window would be rendered while not visible, which is tracked by https://github.com/hyprwm/Hyprland/issues/3776

@Myned

It also differs in effect depending on the game, and some just act as if they were minimized. I believe the current workaround is to use gamescope in another TTY, which also solves some other issues apparently.

Out of curiosity, would another workaround be moving the game into a special workspace? I've noticed things in special workspaces sometimes act weirdly.
Here's two examples I have of odd behaviour:

Sometimes acting as if they're in focus when said workspace is hidden
With vrr=1 games fullscreened on regular workspaces result in a locked 144hz whereas the same on a special workspace results in a refresh rate that matches the framerate. All works fine vrr=2 (I'm on 0.40.0 so this may be different now)

Sadly I've not tried the PR yet as I've not had the time but I'm excited to see this being worked on :)

@Gwenodai
There is no difference in rendering for fullscreen GW2 on a special workspace with Hyprland built at commit bc6b0880dda2607a80f000c134f573c970452a0f. The game still dumps out the frames after being hidden by toggling the special workspace.
For 1, that may be related to https://github.com/hyprwm/Hyprland/issues/6237 depending on how focus is changed. on-created-empty, for example, requires initial_workspace_tracking = 0 currently in order to focus the launched window. Otherwise, I haven't experienced exactly the case of focus sticking when toggling a special workspace.
For 2, I'm not able to replicate - vrrtest with vrr = 1/2 both have variable refresh on my system.

Also, with regard to vrr = 1/0, when reloading config it does not apply until a restart of the session for me, which may explain:

Another weird thing is that you seemingly cannot disable VRR. If I set vrr = 0 in a running config, both my desktop and the game still cause the monitor's refresh rate to react.

@Myned
I used the wrong wording for 1 sorry. I meant that certain programs don't send notifications when on special workspaces as they believe they are viewable to the user. But being hidden away on another workspace makes them react as if they are closed and send notifications as you'd expect when they're not visible. That's what I meant by focused sorry. I've never experienced https://github.com/hyprwm/Hyprland/issues/6237 before.
Yea I'd assume 2 functions correctly now, as it did back on 0.39.3 or the last official version before 0.40.0. I was just using it as an example of special workspaces treating applications differently than regular workspaces.

https://github.com/hyprwm/Hyprland/pull/6877 need more testing. Fixed the slow mouse movement and incorrect activation.
Special workspaces are treated differently and most of the vrr logic won't with them.

The primary issue in this particular bug should be fixed by https://github.com/hyprwm/Hyprland/pull/6877, so this issue can be closed.

The primary issue in this particular bug should be fixed by #6877, so this issue can be closed.

True. Thanks, I'd forgotten that this issue was still open.


Fix unknown closure reason

fixing unknown state of market closure - returning unknown string for en.json reference vs null.
Description
last week a market was temporarily paused for a reason unknown to us. we should have a default statement on a closed market if we do not know the reason why it was closed.
this was probably reasonCode 231 (see latency breaker actions in dune dashboard)
https://dune.com/joeyb/Synth-closures
here are the current reason codes
231 was added 5 days ago
Related issue
https://github.com/Synthetixio/synthetix/blob/e6b6aa3340ffc2536c814290e360190cc53f7a92/contracts/interfaces/ISystemStatus.sol#L13
Motivation and Context
fix display of market pauses
How Has This Been Tested?
locally
Screenshots (if appropriate):

Thanks for already catching this :) This was already assigned to you for this week (#797)


pythonPackages.mechanize: 0.2.5 -> 0.3.5

Motivation for this change
Calibre command-line tools used against a running calibre now use an HTTP interface (as of 3.0).
When calibre is built against older versions of mechanize (such as 0.2.5), these tools fail. After updating to 0.3.5, they work as expected again.
Things done

[X] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Let's see if propagating html5lib fixes it...I thought there was a problem in calibre if I included it in propagatedBuildInputs, but re-testing seems to indicate it is a non-issue.

Looks like that worked. There's some sort of build failure for weboob on darwin, but I don't have any way to test that (and it looks like it was broken anyway, and is not related to mechanize or html5lib).

This breaks calibre because our version of calibre depends on another version of html5lib. Let's see what we can do about it.

pushed bdabf6a6f2d6652aa5329b0a76e2972dd80c204d and ff5423cdca4adc5a18463be1aa1dd1603453c724


Quick Sort

Description
Added Quick Sort in the Searching & Sorting Algorithm
Related Issue

This PR closes #
Motivation and Context

Screenshots (if any)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.

Thanks for the PR! Merged 👍

Thanks for the PR! Merged 👍


React hook: useSnapshot

A new hook that watches the whole sub-tree and returns a plain object snapshot of it on change.

This could be trickier than it seems, esp with files. What should it put there? The URL might be a temporary object URL. I guess they could be omitted...


Improve random suffix creation for resource names

Per Aaron:
[Yesterday 3:55 PM] Aaron Wislang
Though unlikely to have a collision, I wondered about using:
export UNIQUE_POSTFIX="$(date +%M%S)$$"
for the random suffixes especially if they're used for an FQDN that needs to be globally unique.
You might have a room full of people you ask to go through the steps with you and if they click at the same time it might collide.
One thing I've done in the past is feed the fully qualified scope of the current resource group to shasum to get a 6 character, globally unique, string you can use anywhere. Also helps if you want to be able to re-run the script.
https://github.com/Azure-Samples/azure-opensource-labs/blob/fe4fbe9ba454d7de1a180f82d7c68917316bb17f/cloud-native/containerapps-python-fastapi/README.md?plain=1#L44
We do the same thing in bicep, via var rand = substring(uniqueString(resourceGroup().id), 0, 6)(https://github.com/Azure-Samples/azure-opensource-labs/blob/main/cloud-native/aks-bicep-k8s/aks.bicep )
It's handy if you want to be able to have a Container Registry, a Storage Account, etc, with the same suffix.
A smaller suffix is also easier on the eyes.

If still an active problem, this issue should be reopened within the executable docs repo here as the random suffixes are set in the docs and not by ie.