pytorch version 1.0 is not forced to install in the docker file

🐛 Bug

In the Dockerfile, the newest PyTorch version (1.2.0) will be installed instead of 1.0
To Reproduce
Steps to reproduce the behavior:

docker build .

In the Dockerfile Pytorch vision is built from the repo and it will depend on Pytorch >= 1.1.0
pytorch_package_name = os.getenv('TORCHVISION_PYTORCH_DEPENDENCY_NAME', 'torch >= 1.1.0')
But before torch vision Dockerfile will build PyTorch nightly that will be used by python
https://github.com/facebookresearch/maskrcnn-benchmark/blob/24c8c90efdb7cc51381af5ce0205b23567c3cd21/docker/Dockerfile#L36-L37

@Dorozhko-Anton, looking at #1056 seems like you were already convinced that there is something fishy here.
I built the docker image a couple of weeks ago, from the master branch of the repo and managed to make the webcam demo work (opened a PR with small improvements I made to docs as well). Funny thing is what got installed in the container shouldn't work, according to the INSTALL.md:
root@7face3f88ebe:/maskrcnn-benchmark# conda list |  grep torch
pytorch-nightly           1.2.0.dev20190718 py3.6_cuda9.0.176_cudnn7.5.1_0    pytorch

root@7face3f88ebe:/maskrcnn-benchmark# pip freeze |  grep torch
torch==1.2.0.dev20190718
torchvision==0.3.0a0+bbd363c

So bad news is the Dockerfile is not doing what it is supposed to do. Good news is nothing broke and the docs should probably be updated when is certified that all tests pass in pytorch 1.2.0.

@slothkong that's right, docker build worked 19 days ago because torchvision was not v0.4.0 yet.
Nevertheless, even torchvision v0.3.0 will try to pull the latest pytorch. And maybe depending on which version of 1.2 it will bring (nightly or simple) it will keep or replace Pytorch installed by conda ?


Configure "View on GitHub" to link to organisation page

In my GitHub organization (https://github.com/open-dis), I've got a repository dedicated to hosting the content for our website (https://github.com/open-dis/open-dis.org) and we're using this Jekyll Cayman theme. The problem is the "View on GitHub" link that is generated directs people to the repository for the website content, which is not really useful. Instead if the button linked to the top level GitHub organisation page (e.g. https://github.com/open-dis) it'd be more useful so that the user could browse the repos the organisation offers.
I get that the current behaviour works if someone were publishing their web site under the gh-pages branch. But for standalone website repositories I think the behaviour of the button could be better as mentioned above.

If I understand correctly what you are aiming to do, you can customise the template and CSS files of your GitHub web pages, by adding a default.html file and scss file. Once you've done this, you can then edit the default.html file template "page-header" and "site-footer" sections replacing the URLs with the one to want.
Instructions on customising teh CSS and HTML are here: https://help.github.com/articles/customizing-css-and-html-in-your-jekyll-theme/

Just a quick additional note. In the default.html file, edit this in the "page-header" section:
View on GitHub
To:
View on GitHub
Do the same to the entry in the footer.

You do not need to modify the template. You can set the following in your site's config to override the GitHub-supplied default:
github:
  repository_url: http://example.com

Thank you both. I went with @benbalter's suggestion, it seemed easiest for me.

You do not need to modify the template. You can set the following in your site's config to override the GitHub-supplied default:
github:
  repository_url: http://example.com

Where would I put that if I am using github pages? (html)

in _config.yml

You do not need to modify the template. You can set the following in your site's config to override the GitHub-supplied default:
github:
  repository_url: http://example.com

Where would I put that if I am using github pages? (html)

in _config.yml

github:
  repository_url: http://example.com

Worked great.


remove old pupil password field and associated encrypted field

rolled into https://github.com/Energy-Sparks/energy-sparks/pull/3921


Added glsl 100 and 120 shaders to lightmap example.

GLSL 100 and 120 shaders for lightmap example.

@nullstare thanks for the review!


No files in src/libinterpol/ext/spline

Hi, thanks a lot for the nice work.
When I compile the code, there's a error
can't find spline.h

I download the spline library from here and compile again,
there's another error
/home/ha/ws_github/interpolation-methods/src/libinterpol/include/interpol/euclidean/bezier.hpp:77: error: ‘class {anonymous}::tk::spline’ has no member named ‘control_polygon’
                     p(j) = splines[j].control_polygon(i, k);
                          ^

The class tk::spline has no  member  control_polygon.
Could you update your code? Thanks!

Sorry, just saw this issue now.  You need to init the submodules like so: git submodule update --init. Maybe I should add that to the readme. I forked the tk::spline repo into my account and added the method to get the control polygon that's why it won't work with the original one. I also use Sophus for SE3 as submodule. See here: https://github.com/adrelino/interpolation-methods/blob/master/.gitmodules


Breaks with Vue 3 alpha release

Version
1.0.0-beta.32
Reproduction link
https://github.com/blacksonic/todomvc-vue-composition-api
Steps to reproduce
Clone the repository, install dependencies and run npm run unit:test which runs the Vue CLI's built-in test runner
What is expected?
Run the unit tests
What is actually happening?
Test run fails with error message when compiling.
RUNTIME EXCEPTION  Exception occurred while loading your tests
Error:
Vue packages version mismatch:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>(./node_modules/vue-template-compiler/package.json)

This may cause things to work incorrectly. Make sure to use the same version for both.
If you are using<EMAIL_ADDRESS>simply update vue-template-compiler.
If you are using<EMAIL_ADDRESS>or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.

Here is the stacktrace:
at Object../node_modules/vue-template-compiler/index.js (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/node_modules/vue-template-compiler/index.js:10:1)
    at __webpack_require__ (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/webpack/bootstrap:19:1)
    at<EMAIL_ADDRESS>(/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/node_modules/@vue/test-utils/dist/vue-test-utils.js:8:1)
    at __webpack_require__ (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/webpack/bootstrap:19:1)
    at Object../src/store/index.spec.js (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/src/store/index.spec.js:2:1)
    at __webpack_require__ (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/webpack/bootstrap:19:1)
    at run (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/node_modules/mochapack/lib/entry.js:3:1)
    at Array.forEach (<anonymous>)
    at Object../node_modules/mochapack/lib/entry.js (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/node_modules/mochapack/lib/entry.js:10:1)
    at __webpack_require__ (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/webpack/bootstrap:19:1)
    at<EMAIL_ADDRESS>(/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/webpack:/webpack/bootstrap:83:1)
    at Object.<anonymous> (/Users/esysuser/workspace/todomvc-vue-composition-api/dist/js/main.js:87:10)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object._module2.default._extensions.(anonymous function) [as .js] (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/mochapack/src/util/registerRequireHook.js:99:12)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at /Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/mocha/lib/mocha.js:334:36
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/mocha/lib/mocha.js:331:14)
    at Mocha.run (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/mocha/lib/mocha.js:809:10)
    at cb (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/mochapack/src/runner/TestRunner.js:96:21)
    at /Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/mochapack/src/webpack/compiler/registerReadyCallback.js:12:7
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:45:1)
    at AsyncSeriesHook.lazyCompileHook (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/tapable/lib/Hook.js:154:20)
    at emitRecords.err (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:304:22)
    at Compiler.emitRecords (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:499:39)
    at emitAssets.err (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:298:10)
    at hooks.afterEmit.callAsync.err (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:485:14)
    at _err0 (eval at create (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
    at compiler.hooks.afterEmit.tapAsync (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/copy-webpack-plugin/dist/index.js:115:7)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:12:1)
    at AsyncSeriesHook.lazyCompileHook (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/tapable/lib/Hook.js:154:20)
    at asyncLib.forEachLimit.err (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:482:27)
    at /Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/neo-async/async.js:2818:7
    at done (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/neo-async/async.js:3522:9)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at outputFileSystem.writeFile.err (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:464:33)
    at MemoryFileSystem.writeFile (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/memory-fs/lib/MemoryFileSystem.js:328:9)
    at writeOut (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/webpack/lib/Compiler.js:462:30)
    at Immediate._onImmediate (/Users/esysuser/workspace/todomvc-vue-composition-api/node_modules/memory-fs/lib/MemoryFileSystem.js:288:4)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)

Current version does not support vue 3

Okay, I get it, but why do you close this issue?
How can I help in making it work?

We are writing a new package for Vue 3. This one will stay for Vue 2

Thanks for the clarification 👍
Is it publicly available?

Not yet
On Mon, Apr 6, 2020, 10:46 Gábor Soós<EMAIL_ADDRESS>wrote:

Thanks for the clarification 👍
Is it publicly available?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/vuejs/vue-test-utils/issues/1496#issuecomment-609631095,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACLIGCFO52MO7ZYVXRN2VODRLGCD3ANCNFSM4MB5Q2AQ
.

Do you have an estimated release date? I'm curious to try it out.

@dobromir-hristov the new 2.alpha release will be the one compatible with Vue 3?

Hey! 👋Yes, we've been working on v2 for VTU (alpha stage right now, obviously), and it is focused on supporting Vue 3. v1 will remain to support Vue 2. It'll get out of alpha soon enough, too.

@afontcu where is the development happening? i've migrated my test suite to the new syntax and found some bugs/missing features and would love to help. I haven't found any related commits/releases in this repository

Hey! Sorry wasn't available. Looks like you already found the repo 🤗 thanks for contributing!


Performance issues

I have 12 objects in my Masonry container. Upon changing one of the objects, the entire masonry component must update.
However I'm seeing quite a significant jank as a result. When I use an ordinary container instead of a Masonry container the jank does not occur.
Any reasons why? In my 12 objects I return false in shouldComponentUpdate for 11 of them so I know only 1 rerenders, and the masonry rerenders, but I don't understand the jank that Masony is causing.
Any suggestions what may be the cause?

The jank may be due to all the computation masonry is doing. Do you have a small test case for debugging purposes?

@chowza I am going to close this due to inactivity. Please reopen if this is still an issue for you. :-)


Be more specific about library visibilities.

Some where public, but needed to be.
The only public items are the final binaries.

Codecov Report
Patch and project coverage have no change.

Comparison is base (413c287) 93.08% compared to head (f2bda1d) 93.08%.

:exclamation: Current head f2bda1d differs from pull request most recent head 256d895. Consider uploading reports for the commit 256d895 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1845   +/-   ##
=======================================
  Coverage   93.08%   93.08%
=======================================
  Files         353      353
  Lines       25656    25656
=======================================
  Hits        23881    23881
  Misses       1775     1775

Impacted Files
Coverage Δ

verilog/tools/formatter/verilog_format.cc
77.31% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Fix for...of loop

...so it actually iterates over object keys.
Without this change, it fails with [object Object] is not iterable.
/cc @yhsiang

This should be fixed in master, now using Map instead of object literals


Casting required to setup replication to bucket in another stack

I have the setup where my source bucket is in one stack, and the destination bucket is in another stack.
To setup replication, I have to cast the "bucket from the other stack" to an s3.Bucket in order to have the code compile. For example
const sourceBucket = new S3.Bucket(this, "SourceBucket", {});
const desttinationBucket = s3.Bucket.fromBucketName(this, "DestinationBucket", "other-bucket");

new BucketReplication(this, "BucketReplication", {
  sourceBucket,

  destinationBucket // does not compile

  destinationBucket: destinationBucket as s3.Bucket
})

This is because fromBucketName returns an instance of s3.IBucket. The replication still works with the cast. But it is ugly given the replication only needs the declared properties in s3.IBucket. It would be better to "code to the interface".

Thanks for merging this. Do you know when you'll be publishing the fix?

Hi, I just published 0.0.9 to npm.  Let me know if you have any issues, it's been a while since I looked at this repo.  I really appreciate the contribution!


"Secret covert" error messages

Microsoft PowerToys version
0.80.1
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
Yesterday, April 17, after a scan with Malwarebytes 5.1 I had a bizarre system collapse were nothing worked anymore and nothing would load anymore.
Eventually I got it to boot but there were some strange damages. Most of them I was able to repair, fix or reinstall although it is unclear to me why certain files got damaged.
I uninstalled Malwarebytes and everything is okay again.
However, one persistent one when I boot up and my desktop loads remains. It is an error message obviously created by a genius who couldn't think any further than the few words of the error message: "failed to initialize plug-ins". Who? Where? What?
Whatever I tried to find out from where this cryptic presumptuous little message comes from were futile.

Until this morning when I set my system to boot really slow and watch it load  while enjoying my coffee.
Turns out it's Powertoys!
However, Powertoys works. Whatever I click on it works.
So I reinstalled Powertoys and when installation successfully completes I get the same error message popping up!

✔ Expected Behavior
Not giving me some cryptic unidentified unknown from where error message yet everything works!
❌ Actual Behavior
Every time up on reboot I get a cryptic error message "failed to initialize plug-ins".
Some coder obviously couldn't care less of letting users know from which app this dialogue comes!
Other Software
No response

@411621
The bug with the error message itself is fixed in https://github.com/microsoft/PowerToys/pull/32366 and will be released in the next release.
Can you please upload a /bugreport that we can look at the log file to check what plugin(s) are broken.

Thanks, fixed it with complete uninstall and reinstall.
The odd thing was that none of the plug-ins had an issue. All worked and it was just the completely irrelevant and cryptic error message.

/helped


Uberbranch

As requested: a draft PR for uberbranch :)
This branch merges (9c9bcba7b58c649a902327157c66dbe881d25224) core and all version-branches into a unified project structure. They're still separate loosely coupled projects for now, at some point I want to move towards a Gradle subprojects-based setup (with some legacy exceptions).

I'm going to close this as I see a few things that need updating, and workflows that need testing, so this allows me to do that. I've merged this into a separate branch on the main repo.


Swap index position array extension.

Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] I have only one commit in this pull request.
[x] New extensions support iOS 8 or later.
[x] New extensions are written in Swift 3.
[x] I have added tests for new extensions, and they passed.
[x] Pull request was created to master head branch.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All comments headers have the word SwifterSwift: before description.

Hey @LucianoPAlmeida,
Thank you for the PR!
I think this functionality already be accomplished with the use of:
var array = [1, 2, 3]

swap(&array[0], &array[2])

Was your intent to give this action a new interface or make it a fail safe operation?
I prefer operations that require Index math to fail as you should have already thought carefully about the logic so that your index is never out of range.
I think this is why Array's have the behavior they do.
Please let me know your thoughts!

@LucianoPAlmeida @SD10 How about we change the name to safeSwap ?
and @LucianoPAlmeida maybe consider separating the condition in the guard statement to multiple guards, it reads better
Thank you for your contribution, keep the great work!

I agree @omaralbeik safeSwap would be a great name for this.
I'd also like to base the implementation off using the startIndex rather than 0 in case we refactor the extensions to support other types such as ArraySlice in the future.
Possibly something like this:
extension Array {

    public mutating func safeSwap(from index: Int, to otherIndex: Int) {

        guard index != otherIndex,
              startIndex...endIndex ~= index,
              startIndex...endIndex ~= otherIndex else { return }

        Swift.swap(&self[index], &self[otherIndex])

    }
}

Hello @omaralbeik @SD10
Thank you for the feedback :)
Answering @SD10 's both new interface and make it safe were the intentions for this, but the main one was to give a new interface since i think it's more readable, simple and more swift 3 like API.
I agree with the name change to safeSafe since make swap operation safe was one of the intentions when i thought this extension. But i also think in keep implementation of swap without safe check just as a simpler interface for Swift.swap(&array[index], &array[otherIndex]).
Please let me know your thoughts :)

That makes sense to me
Thank you @LucianoPAlmeida!

Great work, thank you @LucianoPAlmeida


Making a confirm before executing fixed command

My colleague is concerned that the fixed command is not the one he want to execute and even damage files. A confirm before really executing is necessary. @Justineo

Try latest master and alias:
alias shit='$(THEFUCK_REQUIRE_CONFIRMATION=true thefuck $(fc -ln -1))

I think it does what you want.

Cool! It works well.

Great.


Fix the failOnError not found error when building Spark 3.4.0

Signed-off-by: remzi<EMAIL_ADDRESS>Related to #6383
Rationale of the PR
In Spark3.4.0, GetMapValue doesn't have the field failOnError and always return null on invalid access. In other words, failOnError is always false in Spark 3.4.0. This patch fix this compile error when building Spark 3.4.0:
branch 22.12
...
[ERROR] [Error] /home/remziy/working/rapids/spark-rapids/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuOverrides.scala:2596: value failOnError is not a member of org.apache.spark.sql.catalyst.expressions.GetMapValue
[ERROR] 24 errors found

this patch
...
[ERROR] 23 errors found

Changes in this PR
Define a new abstract class GetMapValueMeta in the shim layer of spark311~340 and spark340+, in which we redefine the convertToGpu function. For Spark 3.4.0, we always set GpuGetMapVale.failOnError as false.
Attention
This patch doesn't update GpuGetMapValue.

build

build

build


How can I persist my Keycloak Instance?

How can I persist the Keycloak instance? Can I use Async Storage or I have to use local storage?

Hey, sorry for the late answer.
Yes, of course you can.
For example I use a package to save sensitive info instead of AsyncStorage (https://www.npmjs.com/package/react-native-sensitive-info).
But you can use AsyncStorage, something like this:
const onKeycloakTokens = useCallback((tokens) => {
    if (!tokens.token) {
      // Remove entry from Storage
    } else {
      // Set things in the Storage
    }
  }, []);

  useEffect(() => {
    getTokens().then((t) => {
      // get tokens or other things from Storage
    });
  }, [getTokens]);

<ReactNativeKeycloakProvider
      authClient={Keycloak}
      initOptions={{ redirectUri: 'myapp://Homepage', ...stateTokens }}
      onTokens={onKeycloakTokens}
    >
      <App />
</ReactNativeKeycloakProvider>

@uragirii Feel free to reopen it, if needed

Hi @IronTony. Thanks for sending the example. However I am still having some problems with persistency. I am using graphql and it seems that each time I refresh the app after the token is expired I get an error saying
[Error: missing refreshToken]
This is happening when I run await keycloak.updateToken();
My refresh token expires in 1 month so not sure why this is happening.
Would it be possible to have a full flow on how to save the token/what token and how to deal with refreshing it?
Many thanks

Hi @IronTony i have the same probleme,
I can't save or init my keycloak instance when re-open the app

Hi @uragirii and @IronTony thank you for your support in discussions like this. I'm also encountering the same issue. So the current behavior of our app is token is undefined on app launch so we need to call keycloak.login() method again on button click to re-authenticate the user.  Could you help in expounding what you did to solve this issue by sharing a sample code and explaining how you implemented the following:

// Remove entry from Storage
// Set things in the Storage
// get tokens or other things from Storage
...stateTokens -> purpose of this and why is it inside initOptions?

Hi, has anyone solved the login persistence problem?
Do you have maybe a ready solution to show? I have no idea how to get the tokens from storage back to the keycloak instance.
Thank you!

Hello! I'm having the same issue. Anyone knows how to persiste the session for keycloak ?


Mouse cursor not visible in prusa-slicer

Regression?
Yes
System Info and Version
 System/Version info
Hyprland, built from branch  at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259  (props: bump version to 0.42.0).
Date: Wed Aug 7 19:17:10 2024
Tag: v0.42.0, commits: 5069

flags: (if any)

System Information:
System name: Linux
Node name: ATLANTIS-LAB
Release: 6.10.2-arch1-1-vivepro2
Version: #1 SMP PREEMPT_DYNAMIC Wed, 31 Jul 2024 07:19:40 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller])
12:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev cb) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/cobra/.config/hypr/hyprland.conf: Read Succeeded
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#

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

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

# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox

# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
#

misc {
		disable_hyprland_logo = true
		disable_splash_rendering = true
		allow_session_lock_restore = true
}

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
    kb_layout = ch
    kb_variant = de
    kb_model =
    kb_options = caps:swapescape
    kb_rules =
    numlock_by_default = true

    follow_mouse = 1
    mouse_refocus = false

    touchpad {
        natural_scroll = yes
    }

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
    accel_profile = flat
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 5
    gaps_out = 20
    border_size = 2
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = dwindle

    # allow_tearing = true
}

decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10
	blur {
		   enabled = true
			size = 4
			passes = 2
			new_optimizations = true
			xray = false
            brightness = 1
            contrast = 1.300000
	}

    active_opacity = 1.00;
    inactive_opacity = 1.00;
    fullscreen_opacity = 1.0;

    drop_shadow = yes
    shadow_range = 25
    shadow_render_power = 3
    col.shadow = rgba(1a1a1acc)
    shadow_ignore_window = true;
    shadow_offset = 2 2
}

animations {
    enabled = yes

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

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

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

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

gestures {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    workspace_swipe = on
}

cursor {
  no_hardware_cursors = true
}

source=~/.config/hypr/configs/custom-config.conf
source=~/.config/hypr/monitors.conf
source=~/.config/hypr/configs/envs.conf
source=~/.config/hypr/configs/custom-envs.conf
source=~/.config/hypr/configs/setBackground.conf
source=~/.config/hypr/configs/execs.conf
source=~/.config/hypr/configs/custom-execs.conf
source=~/.config/hypr/configs/key-bindings.conf
source=~/.config/hypr/configs/window_rules.conf
source=~/.config/hypr/configs/custom-devices.conf

# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more

Config File: /home/cobra/.config/hypr/configs/custom-config.conf: Read Succeeded
# unscale XWayland
xwayland {
  force_zero_scaling = true
}

Config File: /home/cobra/.config/hypr/monitors.conf: Read Succeeded
# Generated by nwg-displays on 2024-04-01 at 13:19:00. Do not edit manually.
monitor=DP-1,3840x2160@144.0,0x0,1.5
monitor=DP-2,2560x1440@143.86,2560x0,1.0

Config File: /home/cobra/.config/hypr/configs/envs.conf: Read Succeeded
env = GPG_TTY,$(tty)
env = SSH_AUTH_SOCK,$(gpgconf --list-dirs agent-ssh-socket)
env = GDK_BACKEND,wayland,x11
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = ELECTRON_OZONE_PLATFORM_HINT,auto
env = MAKEFLAGS,-j 8
env = GTK_THEME,Colloid-Orange-Dark
env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME,rose-pine-hyprcursor
env = XCURSOR_THEME,BreezeX-RosePine-Linux
env = XCURSOR_SIZE,24

Config File: /home/cobra/.config/hypr/configs/custom-envs.conf: Read Succeeded
env = GDK_SCALE,2
env = MAKEFLAGS,-j 16

Config File: /home/cobra/.config/hypr/configs/setBackground.conf: Read Succeeded
exec-once=bash ~/.config/hypr/scripts/selectBgImage.sh
source=~/.cache/wal/hyprland-colors.conf

Config File: /home/cobra/.cache/wal/hyprland-colors.conf: Read Succeeded
# https://github.com/dylanaraps/pywal/wiki/User-Template-Files
# pywal's rgb / rgba functions

$wallpaper = /home/cobra/wallpapers/euclid/Euclid_s_view_of_the_Horsehead_Nebula_-_zoom_2.jpg

$background = rgb(3d1b0f)
$foreground = rgb(c5bedc)
$cursor = rgb(c5bedc)

$color0 = rgb(3d1b0f)
$color1 = rgb(BB8973)
$color2 = rgb(6C6199)
$color3 = rgb(7E78C2)
$color4 = rgb(8E779D)
$color5 = rgb(887CC4)
$color6 = rgb(9C8BA9)
$color7 = rgb(c5bedc)
$color8 = rgb(89859a)
$color9 = rgb(BB8973)
$color10 = rgb(6C6199)
$color11 = rgb(7E78C2)
$color12 = rgb(8E779D)
$color13 = rgb(887CC4)
$color14 = rgb(9C8BA9)
$color15 = rgb(c5bedc)

Config File: /home/cobra/.config/hypr/configs/execs.conf: Read Succeeded
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once=/usr/lib/polkit-kde-authentication-agent-1
exec-once=waybar
exec-once=nm-applet --indicator
exec-once=blueman-applet
exec-once=dunst
exec-once=wlsunset -l 47.3 -L 8.5
exec-once=sleep 2s && nextcloud --background
exec-once=bash ~/.config/hypr/scripts/portal-startup.sh
exec=import-gsettings
exec-once=hypridle
exec=gsettings set $gnome-schema icon-theme 'Colloid-Orange-Dracula-Dark'
exec-once=hyprctl setcursor Dracula 24

Config File: /home/cobra/.config/hypr/configs/custom-execs.conf: Read Succeeded
exec-once=ckb-next -b
exec-once=/usr/lib/polkit-kde-authentication-agent-1
exec-once=sleep 10 && pkill wlsunset

Config File: /home/cobra/.config/hypr/configs/key-bindings.conf: Read Succeeded
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod SHIFT, Q, killactive,
bind = $mainMod SHIFT, E, exit,
bind = $mainMod, E, exec, nautilus
bind = $mainMod, N, exec, bash ~/.config/hypr/scripts/selectBgImage.sh
bind = $mainMod, F, fullscreen
bind = $mainMod, SPACE, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, S, togglesplit, # dwindle

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, H, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, L, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, K, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod, J, movefocus, d

# Move window with mainMod + arrow keys
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
bind = $mainMod SHIFT, J, movewindow, d

# 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, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Grouping
bind = $mainMod, G, togglegroup

# 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

# Apps
bind = $mainMod, D, exec, wofi --show drun --allow-images --insensitive
bind = $mainMod, Return, exec, kitty
bind = $mainMod SHIFT, A, exec, hyprlock

# Screenshoting
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f -
bind = $mainMod SHIFT, P, exec, grim ~/screens/$(date +'%s_grim.png')

Config File: /home/cobra/.config/hypr/configs/window_rules.conf: Read Succeeded

windowrule = opacity 0.92 override 0.65 override,^(kitty)$ # set opacity to 0.9 active and 0.65 inactive for kitty
windowrule = opacity 0.9 override 0.65 override,^(signal)$
windowrule = opacity 0.9 override 0.65 override,^(org.gnome.Nautilus)$
windowrule = opacity 0.9 override 0.65 override,^(Org.gnome.Nautilus)$

windowrulev2 = immediate, class:^(cs2)$

Config File: /home/cobra/.config/hypr/configs/custom-devices.conf: Read Succeeded
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device {
    name = epic mouse V1
    sensitivity = -0.5
}

device {
    name = roccat-roccat-kone-aimo-16k-mouse
    sensitivity = -0.5
}

device {
    name = roccat-roccat-kone-emp-mouse
    sensitivity = -0.5
}

device {
    name = roccat-roccat-kone-xp
    sensitivity = -0.5
}

# Laptop touchpad
device {
    name = elan0763:00-04f3:31ec-touchpad
    accel_profile = adaptive
    sensitivity = 0
}

======Config-End========

Description
I am still having the issue mentioned in #7107 in hyprland 0.42.0
I also noticed that other applications (for example tigervnc) have the same issue. Althout the cursor appears after moving the cursor out of tigervnc and back in again.
How to reproduce
Open prusa-slicer (slicing program for Prusa 3d Printers, contained in official Arch repositories) and move cursor around --> No cursor visible while the cursor inside prusa-slicer
Crash reports, logs, images, videos
No response

Same with Bambu Studio

https://github.com/user-attachments/assets/775e46ae-5731-46a2-a4bd-38b4c41b8ca0
Same with gparted

can you give a hyprland.log of you moving your cursor in and out?
and if you have the time a bisect would be useful

In my case, when I move the mouse to gparted, the following appears in the logs:
[LOG] [PrimarySelection] CPrimarySelectionProtocol::updateSelection: cannot send selection to a client without a data_device

Full log:
```
tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log
tail: cannot open 'cat' for reading: No such file or directory
==> /run/user/1000/hypr/9a09eac79b85c846e3a865a9078a3f8ff65a9259_1723712191_2128537011/hyprland.log <==
[LOG] Window rule size 40% 20% -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat "]
[LOG] Window rule float -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat "]
[LOG] Window rule center -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat "]
[LOG] Window rule opacity 0.8 -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat "]
[LOG] Window 5ceb8b967760 set title to tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log
[LOG] Searching for matching rules for kitty (title: tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log)
[LOG] Window rule size 40% 20% -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] Window rule float -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] Window rule center -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] Window rule opacity 0.8 -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] [AQ] [libinput] event8  - palm: keyboard timeout
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 297
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 303
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 311
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 46: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 109 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 114 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 115 stride 64 offset 3850240
[LOG] [PrimarySelection] New offer 5ceb8c75cfc0 for data source 5ceb8c776770
[LOG] cursorImage request: surface 0
[LOG] cursorImage request: shape 9 -> text
[hc] getShapesC: found 1 images for text
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 298
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 306
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 310
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 298
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 303
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 310
[hc] getShapesC: found 1 images for text
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 297
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 306
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 311
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 48: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 116 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 174 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 186 stride 64 offset 3850240
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 298
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 303
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 310
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 49: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 109 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 114 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 115 stride 64 offset 3850240
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 71: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 116 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 174 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 186 stride 64 offset 3850240
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 61: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 187 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 202 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 211 stride 64 offset 3850240
[LOG] Searching for matching rules for kitty (title: tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log)
[LOG] Window rule size 40% 20% -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] Window rule float -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] Window rule center -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] Window rule opacity 0.8 -> class:^(kitty)$ matched [Window 5ceb8b967760: title: "tail -f cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 2 | tail -n 1)/hyprland.log"]
[LOG] [WLDataDevice] CWLDataDeviceProtocol::onKeyboardFocus: cannot send selection to a client without a data_device
[LOG] Set keyboard focus to surface 5ceb89dcb0d0, with [Window 5ceb8b961010: title: "GParted"]
[LOG] Searching for matching rules for GParted (title: GParted)
[LOG] Window rule noblur ->  xwayland:1 matched [Window 5ceb8b961010: title: "GParted"]
[LOG] Window rule noborder ->  xwayland:1 matched [Window 5ceb8b961010: title: "GParted"]
[LOG] Window rule noshadow ->  xwayland:1 matched [Window 5ceb8b961010: title: "GParted"]
[LOG] [PrimarySelection] CPrimarySelectionProtocol::updateSelection: cannot send selection to a client without a data_device
[LOG] cursorImage request: surface 0
[LOG] [XDGShell] xdg_surface 5ceb8a782a10 requests geometry 0x0 2093x1321
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 297
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 306
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 311
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 46: size [Vector2D: x: 775, y: 500], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 244 stride 3584 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 245 stride 448 offset 1835008
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 246 stride 64 offset 1843200
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 80: size [Vector2D: x: 775, y: 500], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 31 stride 3584 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 57 stride 448 offset 1835008
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 58 stride 64 offset 1843200
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 298
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 303
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 310
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 48: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 116 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 174 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 186 stride 64 offset 3850240
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 81: size [Vector2D: x: 775, y: 500], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 109 stride 3584 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 114 stride 448 offset 1835008
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 115 stride 64 offset 1843200
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 60: size [Vector2D: x: 708, y: 1228], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 231 stride 3072 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 238 stride 384 offset 3833856
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 243 stride 64 offset 3850240
[LOG] [PrimarySelection] CPrimarySelectionProtocol::updateSelection: cannot send selection to a client without a data_device
[LOG] cursorImage request: surface 0
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 297
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 306
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 311
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 61: size [Vector2D: x: 775, y: 500], fmt XR24, planes 3
[LOG] [LinuxDMABUF]  | plane 0: mod<PHONE_NUMBER>7927944 fd 109 stride 3584 offset 0
[LOG] [LinuxDMABUF]  | plane 1: mod<PHONE_NUMBER>7927944 fd 114 stride 448 offset 1835008
[LOG] [LinuxDMABUF]  | plane 2: mod<PHONE_NUMBER>7927944 fd 115 stride 64 offset 1843200
</details>

hmm logs seem fine and I can't repro...
this might be a config option or the cursor theme but its hard to tell
as a sanity check can you try running the default config (should be /usr/share/hypr/hyprland.conf)

It looks like yes, it is related to hyprcursor. The case starts playing when I install my theme in the config as
env = HYPRCURSOR_THEME,BreezeHL
I am attaching the cursor theme that I have in ~/.local/share/icons/
hyprcursor_BreezeHL.zip

I'm also seeing this, and managed to narrow things down a bit more (at least for my case):

only happens in xwayland windows
only happens in certain "elements" (more details below)
happens even with a default cursor theme (I tried a few and I can repro with any cursor theme)

So far I've been able to repro with Steam, orca-slicer (which is a fork of prusa-slicer), and a few system dialogs/file pickers (e.g. vscode's), all of which run under xwayland. Here's a video of me moving the mouse around orca-slicer's interface. Notice how the cursor shows up when hovering over a button or some text, but is invisible otherwise.
https://github.com/user-attachments/assets/8da8b42b-753a-4145-b5ab-3ab130826be0
Same thing with Steam (only recorded a corner of it to avoid showing any personal info):
https://github.com/user-attachments/assets/427a3804-9c77-4079-bf24-d661a3e59b71
Most of Steam's UI shows a visible cursor, so it's not too annoying (although still annoying), but orca-slicer is unusable as-is.
As a workaround, running things under gamescope solves the cursor issue (e.g. gamescope -w 1920 -h 1080 orca-slicer-bin).
Things I tried that didn't work:

Setting enable_hyprcursor to false
Setting no_hardware_cursors to true

 System/Version info
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2

flags: (if any)

System Information:
System name: Linux
Node name: fleshwarper
Release: 6.10.9-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Tue, 10 Sep 2024 14:37:32 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller])
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c2) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/user/.config/hypr/hyprland.conf: Read Succeeded
env = HYPRCURSOR_THEME,catppuccin-latte-mauve
env = HYPRCURSOR_SIZE,24
env = XCURSOR_THEME,catppuccin-latte-mauve-cursors
env = XCURSOR_SIZE,24
env = LIBVA_DRIVER_NAME,radeonsi
env = VDPAU_DRIVER,radeonsi

monitor = desc:Dell Inc. DELL U2415 CFV9N71H0EFS,1920x1200@59.95,500x0,1,workspace,7,workspace,8
monitor = desc:Ancor Communications Inc VG248 H2LMQS014516,1920x1080@144,2420x120,1,workspace,9,workspace,10
monitor = desc:Samsung Electric Company LS49AG95 HCSTC00191,5120x1440@239.76,0x1200,1,workspace,1,workspace,2,workspace,3,workspace,4,workspace,5
monitor = ,preferred,auto,auto

input {
  kb_layout = us
  kb_variant =
  kb_model =
  kb_options =
  kb_rules =
  repeat_delay = 300

  numlock_by_default = 1

  follow_mouse = 1
  float_switch_override_focus = 2

  sensitivity = 0
  accel_profile = flat
}

general {
  gaps_in = 3
  gaps_out = 10
  border_size = 2
  col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
  col.inactive_border = rgba(595959aa)

  layout = dwindle
}

cursor {
  inactive_timeout = 5
}

misc {
  disable_splash_rendering = true
  vfr = true
  vrr = 1
}

decoration {
  rounding = 10

  blur {
    enabled = yes
    size = 3
  }

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

animations {
  enabled = yes
  bezier = myBezier, 0.05, 0.9, 0.1, 1.05

  animation = windows, 1, 7, myBezier
  animation = windowsOut, 1, 7, default, popin 80%
  animation = border, 1, 10, default
  animation = fade, 1, 7, default
  animation = workspaces, 1, 6, default
}

dwindle {
  pseudotile = yes
  preserve_split = yes
}

gestures {
  workspace_swipe = off
}
======Config-End========

Trace log that I took. After running Hyprland, I run orca-slicer-bin, which first opens a dialog, and then a splash screen, and then the main application window, so you'll see in the log a few orca slicer windows being created/destroyed. The issue with the invisible mouse cursor happens on all of those windows.
hyprland.log

Thanks, I am also still getting this issue with 0.44.1

Same with Bambu Studio for me

@vikingnope how are you using Bambu Studio on Hyprland? The 3D views do not work for me

Same with Bambu Studio for me

@vikingnope how are you using Bambu Studio on Hyprland? The 3D views do not work for me

That is also another issue which has been reported on the Bambu Studio GitHub repo for sometime.

Perhaps we can change the title to "Mouse cursor not visible in some xwayland applications?" @RononDex

Done

Does the issue still occur if you remove all hyprcursor themes, remove all cursor related settings (except cursor size) and try to only use Adwaita cursors? This was a workaround for me with GIMP and MySQL Workbench (both running under XWayland). I have the issue with hyprland 0.42, 0.43 and 0.44.1 with Catppuccin cursors

This problem is solved when I set xcursor env and configure gtk-2,3,4. Or maybe update to the latest -git.

Running

xsetroot -cursor_name left_ptr
fixed this for me.


Unlisten an event on map with the method "map.un()" doesn't work

Describe the bug
Unlisten an event on map with the method map.un() doesn't work...
map.on("pointermove", (e) => onPointerMoveMap(e));
map.un("pointermove", (e) => onPointerMoveMap(e)); // <-- FIXME always listening !? -->

To Reproduce
JSFiddle : https://jsfiddle.net/lowzonenose/sjhLco4q/
Expected behavior
To work around this problem, I use the method unByKey instead of un :
import { unByKey } from "ol/Observable";
var key = map.on("pointermove", (e) => onPointerMoveMap(e));
unByKey(key);

It doesn't works because you are creating two callback functions: one for the on and one for the un. You can use this instead:
map.on("pointermove", onPointerMoveMap);
map.un("pointermove", onPointerMoveMap);

I have two quesitions?

How pass paramas when  on a event?
Can i remvoe all listeners using un('event-name')? if not ,How should i do?

It doesn't works because you are creating two callback functions: one for the on and one for the un. You can use this instead:
map.on("pointermove", onPointerMoveMap);
map.un("pointermove", onPointerMoveMap);

I have two quesitions?

How pass paramas when  on a event?
Can i remvoe all listeners using un('event-name')? if not ,How should i do?

Declare function that takes event parameter, for example function onPointerMoveMap (evt) { console.log(evt); }

not sure.

It doesn't works because you are creating two callback functions: one for the on and one for the un. You can use this instead:
map.on("pointermove", onPointerMoveMap);
map.un("pointermove", onPointerMoveMap);

I have two quesitions?

How pass paramas when  on a event?
Can i remvoe all listeners using un('event-name')? if not ,How should i do?

Declare function that takes event parameter, for example function onPointerMoveMap (evt) { console.log(evt); }
not sure.

If I need to pass my params other then event ? how?

It doesn't works because you are creating two callback functions: one for the on and one for the un. You can use this instead:
map.on("pointermove", onPointerMoveMap);
map.un("pointermove", onPointerMoveMap);

I have two quesitions?

How pass paramas when  on a event?
Can i remvoe all listeners using un('event-name')? if not ,How should i do?

Declare function that takes event parameter, for example function onPointerMoveMap (evt) { console.log(evt); }
not sure.

If I need to pass my params other then event ? how?

It depends on code structure.
Callback functions(; listeners) are declared as listener: (event: EventClass) => ?) => Return as far as I know. So onPointerMoveMap function cannot get any other params except event.
I usually implement those kind of things with the concept of higher order function.


Rename kem_preferences->count to kem_preferences->kem_count

Please note that while we are transitioning from travis-ci to AWS CodeBuild, some tests are run on each platform. Non-AWS contributors will temporarily be unable to see CodeBuild results. We apologize for the inconvenience.
Resolved issues:
N/A
Description of changes:
Renames kem_preferences->count to kem_preferences->kem_count.
Call-outs:
In the near future, we will be adding additional structure to kem_preferences for PQ TLS 1.3 - kem_group and kem_group_count. This refactor will help disambiguate and avoid confusion as to what count is referring to.
Making this change in it's own PR for ease of review.
Testing:
Existing tests
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2015 into master will decrease coverage by 8.75%.
The diff coverage is 72.72%.

@@            Coverage Diff             @@
##           master    #2015      +/-   ##
==========================================
- Coverage   88.83%   80.07%   -8.76%
==========================================
  Files         151      233      +82
  Lines       11818    17461    +5643
==========================================
+ Hits        10498    13982    +3484
- Misses       1320     3479    +2159


Update find-view-matches.js

Added check for existing prefix and adds prefix if it doesn't exist
Added by.className and by.name to the selectors.

The other selectors will definitely be harder to implement.


Corner Detection techniques

Opencv provides corner detection techniques like Harris Corner Detection, Shi Tomasi Corner Detection and Good Features to track. For this script, I would like to showcase all the various methods to use these in Opencv-python. I am a GSSoC'21 participant and would like to work on this issue.
@geekquad @kritikaparmar-programmer

Hey @RohiniRG, go ahead with Shi Tomasi Corner Detection and Good Features to track.
We already have Harris Corner Detection.

Hey @noviicee, it has already been assigned to someone.
Please check #27.

@geekquad yup I just had a look. Np ☮

@geekquad Could you please have a look at PR#172


cargo build - error[E0658] - proc_macro::Literal::byte_character(byte)

Hi
I am a "baby beginner" with Rust and wanted to learn about Rust for embedded programming on 8-bit AVR MCUs...
I am facing errors at "cargo build" time and I wonder what I am supposed to do with the suggested 'help' lines:
#![feature(proc_macro_byte_character)]
#![feature(proc_macro_c_str_literals)]

In case you are interested to reproduce the issue that I am facing, I am providing the following information:
After managing to get RustUp installed and running, I started to deal with the following online resources information blogs to get thing setup:

https://www.youtube.com/watch?v=ZPSqhb4KKNc

~$  sudo apt install -y  git  rust-all
~$  sudo apt install -y  libssl-dev  ; # Missing on my LinuxMint 21 system
~$  mkdir -p /tmp/GitHub.com
~$  cd /tmp/GitHub.com/
/tmp/GitHub.com$  git clone  https://github.com/rust-lang/rustup.git
/tmp/GitHub.com$  cd ./rustup/
/tmp/GitHub.com/rustup$  cargo build
/tmp/GitHub.com/rustup$  chmod +x ./rustup-init.sh
/tmp/GitHub.com/rustup$  ./rustup-init.sh
/tmp/GitHub.com/rustup$  sudo apt remove -y  rust-all  ; # Said better to get rid of LinuxMint Distro version...
/tmp/GitHub.com/rustup$  cargo build
/tmp/GitHub.com/rustup$  ./rustup-init.sh
/tmp/GitHub.com/rustup$  exit

~$  mkdir -p ~/Rust/projects/
~$  cd ~/Rust/projects/
~/Rust/projects$  cargo new
~/Rust/projects$  cd ./rust-arduino-blink/
~/Rust/projects/rust-arduino-blink$
~/Rust/projects/rust-arduino-blink$  nano Cargo.toml
~/Rust/projects/rust-arduino-blink$  nano .cargo/config.toml
~/Rust/projects/rust-arduino-blink$  nano src/main.rs
~/Rust/projects/rust-arduino-blink$  rustup override set nightly-2021-01-07
~/Rust/projects/rust-arduino-blink$  cargo build

After a LOT a attempts, it always ended cycling infinitely with a bunch of errors whatever I changed as indicated. => Gave up + Go to bed .

https://medium.com/digitalfrontiers/rust-on-a-stm32-microcontroller-90fac16f6342

~$  sudo apt install -y  gdb-multiarch
~$  sudo apt install -y  libudev-dev  ; # Missing on my LinuxMint 21 system
~$  rustup update
~$  rustup component add llvm-tools-preview
~$  rustup target add thumbv7em-none-eabihf
~$  cargo install cargo-binutils cargo-embed cargo-flash cargo-expand

Having to try later with a STM32 Nucleo board taking time to come via mail...

https://medium.com/@ninjapiraatti/programming-arduino-with-rust-on-mac-7c7536f3973d

~$  sudo apt install -y  avr-gcc  avrdude
~$  cargo +stable install ravedude
~$  cargo +stable install cargo-generate
~$  cargo generate --git https://github.com/Rahix/avr-hal-template.git
~$  cd ~/Rust/projects/rust-arduino-uno-blink/
~/Rust/projects/rust-arduino-uno-blink$
~/Rust/projects/rust-arduino-uno-blink$  rustup toolchain list

    stable-x86_64-unknown-linux-gnu (default)
    nightly-2021-01-07-x86_64-unknown-linux-gnu
    nightly-2024-03-22-x86_64-unknown-linux-gnu (override)
    nightly-x86_64-unknown-linux-gnu

~/Rust/projects/rust-arduino-uno-blink$  cargo build

What ends into:
   Compiling rustc-std-workspace-core v1.99.0 (/home/hp-backups/.rustup/toolchains/nightly-2024-03-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
   Compiling proc-macro2 v1.0.80
   Compiling avr-hal-generic v0.1.0 (https://github.com/rahix/avr-hal?rev=21342dcace7184f01fdc4e9703b01197bd4b4b4f#21342dca)
   Compiling compiler_builtins v0.1.108
error[E0658]: use of unstable library feature 'proc_macro_byte_character'
   --> /home/hp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.80/src/wrapper.rs:871:21
    |
871 |                     proc_macro::Literal::byte_character(byte)
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #115268 <https://github.com/rust-lang/rust/issues/115268> for more information
    = help: add `#![feature(proc_macro_byte_character)]` to the crate attributes to enable
    = note: this compiler was built on 2024-03-21; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'proc_macro_c_str_literals'
   --> /home/hp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.80/src/wrapper.rs:898:21
    |
898 |                     proc_macro::Literal::c_string(string)
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #119750 <https://github.com/rust-lang/rust/issues/119750> for more information
    = help: add `#![feature(proc_macro_c_str_literals)]` to the crate attributes to enable
    = note: this compiler was built on 2024-03-21; consider upgrading it if it is out of date

For more information about this error, try `rustc --explain E0658`.
error: could not compile `proc-macro2` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

After searching clues in different ways, I ended with this:

https://www.google.com/search?q=add+%23![feature(proc_macro_byte_character)]+to+the+crate+attributes+to+enable

https://stackoverflow.com/questions/27454761/what-is-a-crate-attribute-and-where-do-i-add-it

I still wonder where exactly to add those lines:
#![feature(proc_macro_byte_character)]
#![feature(proc_macro_c_str_literals)]

since the errors persist despite adding them to:
~/Rust/projects/rust-arduino-uno-blink/src/main.rs

or / and
~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.80/src/wrapper.rs

and also trying:
~/Rust/projects/rust-arduino-uno-blink$  cargo build -Z namespaced-features

... :thinking:
Additionally, there is also some recent (8 hours ago) activity there:

https://github.com/rust-lang/rust/issues/115268

I will then wait for news from the involved GitHub communities if unable to progress during the next coming hours.
Thank you for reading thus far.
Best regards,
HP_

I just re-ran RustUp Update, what didn't get listed in what I have done and nothing has changed since a 1~2 hours ago:
~/Rust/projects/rust-arduino-uno-blink$  rustup update

info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: checking for self-update

   stable-x86_64-unknown-linux-gnu unchanged - rustc 1.77.2 (25ef9e3d8 2024-04-09)
  nightly-x86_64-unknown-linux-gnu unchanged - rustc 1.79.0-nightly (0d8b3346a 2024-04-14)

info: cleaning up downloads & tmp directories

Adding the suggested 'help' lines:
#![feature(proc_macro_byte_character)]
#![feature(proc_macro_c_str_literals)]

to /home/hp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.80/src/lib.rs, allowed to progress a little bit more, But still ended with errors:
~/Rust/projects/rust-arduino-uno-blink$  cargo build  -Z  build-std=core
   Compiling proc-macro2 v1.0.80
   Compiling quote v1.0.36
   Compiling syn v1.0.109
   Compiling avr-device-macros v0.5.4
   Compiling ufmt-macros v0.3.0
   Compiling avr-device v0.5.4
   Compiling ufmt v0.2.0
   Compiling avr-hal-generic v0.1.0 (https://github.com/rahix/avr-hal?rev=21342dcace7184f01fdc4e9703b01197bd4b4b4f#21342dca)
   Compiling atmega-hal v0.1.0 (https://github.com/rahix/avr-hal?rev=21342dcace7184f01fdc4e9703b01197bd4b4b4f#21342dca)
   Compiling arduino-hal v0.1.0 (https://github.com/rahix/avr-hal?rev=21342dcace7184f01fdc4e9703b01197bd4b4b4f#21342dca)
   Compiling rust-arduino-uno-blink v0.1.0 (/home/hp/Rust/projects/rust-arduino-uno-blink)
error[E0635]: unknown feature `proc_macro_byte_character`
 --> src/main.rs:4:12
  |
4 | #![feature(proc_macro_byte_character)]
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0635]: unknown feature `proc_macro_c_str_literals`
 --> src/main.rs:5:12
  |
5 | #![feature(proc_macro_c_str_literals)]
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0635`.
error: could not compile `rust-arduino-uno-blink` (bin "rust-arduino-uno-blink") due to 2 previous errors

~/Rust/projects/rust-arduino-uno-blink$

~/Rust/projects/rust-arduino-uno-blink$  rustc --explain E0635

The #![feature] attribute specified an unknown feature.

Erroneous code example:

#![feature(nonexistent_rust_feature)] // error: unknown feature
(END)

~/Rust/projects/rust-arduino-uno-blink$  cargo build  -Z  build-std=core
   Compiling rust-arduino-uno-blink v0.1.0 (/home/hp/Rust/projects/rust-arduino-uno-blink)
WARN rustc_codegen_ssa::back::link Linker does not support -no-pie command line option. Retrying without.
error: linking with `avr-gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/hp/.rustup/toolchains/nightly-2024-03-22-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/hp/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" VSLANG="1033" "avr-gcc" "-mmcu=atmega328p" "/tmp/rustcncTwfu/symbols.o" "/home/hp/Rust/projects/rust-arduino-uno-blink/target/avr-atmega328p/debug/deps/rust_arduino_uno_blink-a3946fdbd2fef60f.arduino_hal-1813dc6a7e8d8849.arduino_hal.e3a5162abf07a993-cgu.0.rcgu.o.rcgu.o" "-Wl,--as-needed" "-L" "/home/hp/Rust/projects/rust-arduino-uno-blink/target/avr-atmega328p/debug/deps" "-L" "/home/hp/Rust/projects/rust-arduino-uno-blink/target/debug/deps" "-L" "/home/hp/.rustup/toolchains/nightly-2024-03-22-x86_64-unknown-linux-gnu/lib/rustlib/avr-atmega328p/lib" "-Wl,-Bstatic" "/home/hp/Rust/projects/rust-arduino-uno-blink/target/avr-atmega328p/debug/deps/libcompiler_builtins-6d9348a04ce51620.rlib" "-Wl,-Bdynamic" "-lgcc" "-Wl,-z,noexecstack" "-L" "/home/hp/.rustup/toolchains/nightly-2024-03-22-x86_64-unknown-linux-gnu/lib/rustlib/avr-atmega328p/lib" "-o" "/home/hp/Rust/projects/rust-arduino-uno-blink/target/avr-atmega328p/debug/deps/rust_arduino_uno_blink-a3946fdbd2fef60f.elf" "-Wl,--gc-sections"
  = note: /usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: cannot find crtatmega328p.o: No such file or directory
          /usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: cannot find -lm
          /usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: cannot find -lc
          /usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: cannot find -latmega328p
          collect2: error: ld returned 1 exit status

error: could not compile `rust-arduino-uno-blink` (bin "rust-arduino-uno-blink") due to 1 previous error

~/Rust/projects/rust-arduino-uno-blink$

I had this issue as well. I resolved it by updating the rust-toolchain.toml file to target v1.79.0-nightly like so:
[toolchain]
channel = "nightly-2024-04-11"
components = [ "rust-src" ]
profile = "minimal"

https://github.com/Rahix/avr-hal/issues/535#issuecomment-2058302706

I had this issue as well. I resolved it by updating the rust-toolchain.toml file to target v1.79.0-nightly like so:
[toolchain]
channel = "nightly-2024-04-11"
components = [ "rust-src" ]
profile = "minimal"

Thanks @calebarapp for the tip. :+1:
This seems to risk to be cancelled out if you run 'rustup update', isn't it ?
Maybe preferable to do the following:
~/path/to/actual/project$  rustup toolchain list  ; # To later compare for changes...
~/path/to/actual/project$  rustup override set nightly-yyyy-mm-dd
~/path/to/actual/project$  rustup toolchain list

    stable-x86_64-unknown-linux-gnu (default)
    nightly-2021-01-07-x86_64-unknown-linux-gnu
    nightly-2024-03-22-x86_64-unknown-linux-gnu (override)
    nightly-x86_64-unknown-linux-gnu

~/path/to/actual/project$

where you replace 'yyyy-mm-dd'  by '2024-04-11' or whatever date you need.
Best regards,
HP_

There is a lot of chaotic information in this issue, not even sure where to start...
@HaroPo, it seems to me you have quite a few misunderstanding on how the entire thing is supposed to fit together.  We can clear these things up, but first let me focus on the issue at hand.
At the core stands a regression caused by proc-macro2 which you unfortunately were one of the first to run into.  There are two possible solutions:

Upgrade to a later toolchain which we should probably try doing as soon as possible anyway.
Pin proc-macro2 to an older version as to not have people's projects randomly breaking.

I've created a new issue #537 to track work on a solution.  This will keep things a bit cleaner than trying to do it here.
@HaroPo:  For your information, here are a few pointers to get you back on the right track:

~/Rust/projects$  cargo new
~/Rust/projects$  cd ./rust-arduino-blink/

Don't do this, use the avr-hal-template instead.

~/Rust/projects/rust-arduino-blink$  rustup override set nightly-2021-01-07

That compiler version is entirely too old.  Stick to the one from the avr-hal-template which it defines here:
https://github.com/Rahix/avr-hal-template/blob/bb141bd00f6b9687e986db8aeb66a3f3f50cca12/rust-toolchain.toml#L2
You also should not set an override using rustup when a rust-toolchain.toml file is present.  rustup will automatically use the version from that file instead of the current default toolchain.

~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.80/src/wrapper.rs

Don't ever edit files in .cargo/registry, this is never the right way forward.  You will make things much worse this way.

I just re-ran RustUp Update

rustup update has no effect when you have pinned a specific nightly using either rust-toolchain.toml or a rustup override.

The latest compilation error seems to be solved after I installed another missing software piece: 'avr-libc'

Yes, you need avr-libc.  Please check for all the other required dependencies in our README: https://github.com/Rahix/avr-hal?tab=readme-ov-file#quickstart

Now, having to figure out about the 'cargo embed' "Error No supported probe was found" issue.

No, no, no, why are you trying to use cargo embed?  For Rust on AVR, you should use ravedude our runner tool for AVR boards.  Again, this comes pre-configured in the avr-hal-template so all you need to do is cargo run and ravedude does the rest.

This seems to risk to be cancelled out if you run rustup update, isn't it ?

No.  rustup update has no effect on this.

Maybe preferable to do rustup override set nightly-yyyy-mm-dd

Avoid rustup override.  Instead, use a rust-toolchain.toml file which specifies what toolchain a project needs.

You can use the "discussions" in this project to ask user questions: https://github.com/Rahix/avr-hal/discussions
For general rust questions you can find help in the rust-lang forum: https://users.rust-lang.org/
And finally, there is an avr-rust matrix channel: https://matrix.to/#/#avr-rust_Lobby:gitter.im


Update README.md

This pull request addresses a collection of relatively straightforward items.

Update Errata to link the 13th Generation Intel® Core™ Processor Specification Update.
Incorporate Colin King's Perforamnce spelling fix.

Related to https://github.com/intel/perfmon/issues/100.

Document JSON attribute PDISTCounter.
Expand CollectPEBSRecord documentation to include 3.
Updated JSON metrics format descriptions. Replacing quotes with backticks fixed an issue with <sign>.

Adding two links to help with README.md comparisons.

Current main branch https://github.com/intel/perfmon/blob/main/README.md
This pull request https://github.com/edwarddavidbaker/perfmon/blob/update-readme/README.md

Thanks Caleb.


fix: some typos and suggested enchancement in view

@megabyte0x let me know if you can resolve the merge conflicts and I'll merge this in

Conflicts are resolved @Rahat-ch


Adds initial ECS support to IFC2

Implements #650
This PR implements initial resources and expansions for the ecs (fargate) execution unit construct.
Known issues:

Deploying an ECS service to a public subnet does not currently work since we don't yet support VPC Endpoints in our edge expansion.

some failing tests to fix though


Consider a name change?

exfswatch isn't based on  fswatch but instead of fs. I think this can be confusing, would you consider a namechange?

link https://github.com/phoenixframework/phoenix_live_reload/issues/53
Thanks @mveytsman
I should say worry I haven't made exfswatch a good project so far, because I'm always thinking about what should I do, what backend should I use, what will exfswatch be, and so on.
After reading the reply of josevalim, I think fswatch is the best backend for elixir, it support most OS, I think whitfin will make sentix the most popular filesystem monitor for elixir.
for exfswatch, my current plan is:

keep exfswatch package and release a compatible version for elixir 1.5.
rename it, make it a purge backend, an elixir version of fs.

do you have any other idea about the project?
Really hope there is spec for filesystem monitor in elixir world to make it easy to switch backend.

To be clear, I honestly prefer the approach taken by exfswatch, because it has a better out of the box experience. It should just work on Mac/Linux/Windows without a need to install something else. My only concern is the API. It could probably have a better name but that's not an issue at all.
So if you folks are interested in working together towards an API, I would love to see that. Especially because we would LOVE to get rid of the fs dependency from Phoenix.

https://hex.pm/packages/file_system released, with both functional API and module API.
I have made it works for Mac/Linux/Windows/FreeBSD, will make a pull request to phoenix_live_reload to replace fs soon.

@falood thank you. I have added some comments to the latest commit with some places for improvement.

@josevalim Thank your for your comments, I have finished all issue in your comments, add more docs and tests, and make sure compile and start app always never fail.
But when I want to replace :fs for phoenix_live_reload, I check the code of phoenix 1.3, seems phoenix doesn't depend on phoenix_live_reload anymore. Should I still need to working on this stuff?

Phoenix never depended on phoenix_live_reload but every application generated by Phoenix does. :) I will review the code once again today! Thanks for all of your work :heart:.


Avoid using case ranges in switch statements

Code like case 6 ... 7 is a GNU extension and not standard C++. Replacing with fall through blocks will help get this code to work on more platforms.

It would be nice, but removing case ranges makes the code quite a bit larger. I might be able to figure out how to shrink it down again, but then I'd have to reformat everything anyway. In the meantime I mention that fact that it's required in the README.


distributed Tensorflow using grpc is slow

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 14.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.6
Python version:  python 3.4
CUDA/cuDNN version: 8.0/6.1

Describe the problem
Distributed Tensorflow using grpc is very slow , here is my timeline of a step

I want to know why there is a huge gap. GPU is idle for a long time, waiting for ps.

OK, Thanks

@yaroslavvb I have another two questions. How does ps know when to fetch gradients from Rendezvous？How do recv nodes in ps work? I think the answers of these two questions may explain why the RecvTensor in ps starts so late.


Create New Logo

Redesign the app logo.

@OsamaJandali thanks for this!! I love it!

Oh yeaaaah 💃🏻🎉🎉


Show commands format changed notification

If user/workspace Cody config file contains commands in old format, show notification with accept/ignore config update options. If user accepts, overwrite the config file and open it.
Previously we updated user/workspace cody config file if commands were in old format and then informed user about this change. This behavior may be annoying as there is no way for users to avoid these changes: if user discards or stashes config changes, these changes would be reapplied next time  user interacts with the main quick pick or sidebar chat (thread).
Test plan
CI passes. Tested manually (video attached).

When the config file contains commands in the old format, we show the notification each time the user interacts with the main quick pick or the sidebar chat. It may be too intrusive. Would showing this notification once in an hour for example be a better option? WDYT, @toolmantim?


[5.5] Improve the Eloquent push method

This is a continuation of https://github.com/laravel/framework/pull/19681 and https://github.com/laravel/framework/pull/16384.
The idea is to persist the inverse relations first but also to create the correct association between the two models in the relation. For example if a Post belongs to a Category and has many Comment. We should:

Persist the Category first and associate it to the Post
Save the Post
Add the foreign key (i.e. post_id) to the Comment and then save the Comment

To achieve that:
I added a new isInverse method to the Relation class, it returns false by default and I override it to return true from the BelongsTo class.
I also added a push() method in the Relation class that I can override in the child classes (like BelongsTo and HasMany) in order to add the correct association between a child and a parent or a parent and a child model, etc.
Issues so far:
In order to achieve this I need to create the relation object but not all the relation have it, you can see a quick hack in my solution but of course this is something that should be fixed.
I'm also thinking about maybe moving the push method to a trait or even another class. But I just wanted to create like a first version of this idea to get feedback. What do you think?

these are the tests / examples I've been using:
https://github.com/sileence/eloquent_push_tests/blob/master/tests/Unit/EloquentPushTest.php
I created a new project with L5.5 😊

Tests are failing.

Thank you, @tillkruss. I fixed the problem. I was trying to simplify this line: https://github.com/laravel/framework/pull/19793/files#diff-d8e24a5815a26f7211e66db787be647fR495 In my mind calling collect while passing a model should allocate the model as the first item in the collection. Maybe this behaviour could be added for the Eloquent collection?
Anyway, so this new version should work in the same way as the old version unless the push method is overwritten in the Relation class. So far I've added the expected functionality to HasMany and BelongsTo.
All feedback is appreciated.

I worked hard to avoid adding many extra methods / lines of code to the Model class.

So this PR solves all the problems you are aware of?

@taylorotwell so far, yes, these integration tests are passing:
https://github.com/sileence/eloquent_push_tests/blob/master/tests/Unit/EloquentPushTest.php

has many
belongs to
belongs to many.

In order to add extra logic for other relations, we just need to override the push($model) in the Relation class. Otherwise it fallbacks to simply calling push in the model (current behaviour).
By the way I'm going to ping @barryvdh as he was also dealing with this issue some time ago :)

@barryvdh if you have a minute, could you please have a look at this PR and let us know your thoughts? I'd highly appreciate it since you ran into the same issue before and you were also working on a solution for this problem.

I think we can get greater readability in the Model::push() method, cut out the PushableRelation class (which would require keeping it synchronized future-forward with the duplicated logic in the Relation class), and also reduce memory footprint.
This all comes at the cost of running foreach on $this->relations a second time. IMO, a worthy trade.
This being said, I do like the additions of the isInverse and Relation::push as that elegantly handles scenarios with non-core Relations (not applicable for my current needs, but I can see where it would be useful).
Essentially, if the code of Model::push() was written as:
{
    return $this->pushInverseRelations()
        && $this->save()
        && $this->pushNonInverseRelations();
}

You cut out the local variables needed for the separate pushes (reduced memory footprint), the logic is super-clear (readability gain), and because it's in separate methods you can just do:
foreach ($this->relations as $name => $data) {
    if (method_exists($this, $name) && $this->$name()->isInverse()) {
        // Push the relation...
    }
}

For non-inverse, the check is inverted. This negates the need for the PushableRelation class due to the check for the existence of the relation method prior to calling it and checking isInverse(). It does the same thing as the PushableRelation class would do... defaults to treating it as a non-inverse relation. Only without the expectation of keeping the two separate classes synchronized.
If we feel the need to keep the PushableRelation class and all that jazz... at least consider refactoring the code in both places to a Trait so that synchronization can be achieved without possessing the "tribal knowledge" of keeping it synchronized.
Hopefully that's clear enough... let me know if it's not! :)

@jgadrow thank you for your comments. I had something similar before (sadly I squashed the commits already). I didn't like checking for method_exists in 2 different places and the repetition of both push relation methods, so I came with the solution of the kind-of null object "PushableRelation". I think the push routine code would benefit if I could move it to its own class.

@lucasmichot you are right! Although I'm not trying to achieve that level of optimisation and I hope no one tries to push 1000 models at the same time... I believe this changes makes more sense (makes the method easier to read). What do you think now?

Ok, I think I'm done with this proposal.

I don't think the new changes were a step in the right direction. So, you were unhappy with calling method_exists in two places (I get it, very similar checks) but you're happy with an undeclared class dependency caused by "new"-ing up an instance within the body of a method?
The simpler solution for refactoring to a single check would be to make a separate method:
protected function relationIsInverse($relation)
{
    return method_exists($this, $name) && $this->$name()->isInverse();
}

Could even make that method public as it's just about gathering meta data so it's harmless to expose.
I feel like we're working too hard to use a Collection here when it's not really necessary. We're operating on a resource that can be shared between the two operations ($this->relations). In current code, we are splitting that resource prior to operation. The reason being that each operation doesn't need to worry about  filtering the resource to only the subset it intends to operate upon. This decision is intended to save a little bit of CPU processing. The cost of that decision though is, literally, double the memory consumption. Looping over an array is an extremely fast operation so it would take many, many relations before it would become a noticeable issue. In fact, by introducing the added abstractions for working with it through a Collection, we might even be increasing the required CPU processing! You'd need to run it through a benchmark to be certain.
So, we're trying to optimize CPU usage but are uncertain if it even is an optimization... but we are definitely less memory efficient because of it. Wouldn't it make sense to just save the memory then and run two foreach loops in separate processing methods? Especially when memory tends to be the more limited resource in PHP development?

@jgadrow I'm not trying to save a little bit of CPU processing or anything like that. I was just trying to:

make the code more readable by avoiding nested loops & conditionals
avoid duplication (by having 2 very similar methods doing almost the same thing)
adding extra methods to the Eloquent model (as this class is extended by every model in your app, maybe someone wants to define a pushRelations method for some reason, I didn't really want to add more methods to Eloquent).

RelationPusher is more or less a decorator / wrapper, I don't see why anyone would need to mock/replace that class and if someone needs to, well just override the push method.

Good point about "adding extra methods." If that's the case though, just make them private instead of protected. That way they aren't inherited and can be freely re-defined later without interfering with the operation of the Model::push method.
Your other points, IMO, don't outweigh doubling the memory consumption. Though maybe I'm outnumbered in this as already if I var_dump the "wrong" object in Laravel I get an Out of Memory error. ;)
The reason I bring it up is that even if you assume a simple scenario as you described at the beginning of the PR, you could definitely expect at least 11 objects to be contained in your relation data (ie: a Category and 10 Comments). Each of those objects has their own data and relations.
We're not able to know for certain what kind of memory usage we are talking about but splitting prior to processing doubles whatever the number is. Even if you have an unreasonably small assumption about storage requirements for these objects:

255 chars per comment body (255 bytes)
integer for user identifier (4 bytes)
integer for timestamp (4 bytes)
1 char for category "name" (1 byte)

You have a "base" consumption of (255+4+4)*10+1 = 2631 bytes (~2.57k)
Your $inverse and $nonInverse variables together store a full copy of the base data meaning you're consuming 5KB of RAM when you need half that much. Again, keep in mind that we are setting our memory assumptions to an unreasonably small amount! It's far more likely that the User would be another relation and that the comment body would be a text field capable of storing far more data! Possibly even on the order of 2GB per comment which then blows up our possible memory usage to 40GB!
Granted, that is also unrealistic... but should illustrate the reason for concern. We have a much wider degree of variance in terms of memory than we can expect for processing the $this->relations variable.
I would also argue that (read from the execution entry point of Model::push()... I have organized them by visibility and then alphabetically out of habit lol):
private function doPush($inverse = false) {
    foreach ($this->relations as $name => $related) {
        // Skip relations of the type we are not concerned with.
        // This is the only part of the logic which *might* confuse someone... and can be gracefully
        // clarified by a one-line comment.
        if ($inverse !== $this->isInverseRelation($name)) {
            continue;
        }

        // This is where your previous pushRelations method comes in.
        // Only it is focused on pushing only a single relation instead of *all* of them now.
        // This comment is only so I could leave out that method and wouldn't actually be here.
        if (!$this->pushRelated($related)) {
            return false;
        }
    }

    return true;
}

private function isInverseRelation($relation)
{
    return method_exists($this, $relation) && $this->$relation()->isInverse();
}

private function pushInverseRelations()
{
    return $this->doPush(true);
}

private function pushNonInverseRelations()
{
    return $this->doPush();
}

public function push()
{
    return $this->pushInverseRelations()
        && $this->save()
        && $this->pushNonInverseRelations();
}

Is brief and clear in intent. The current code has a large comment block just to identify what is happening and why. The intent of the two push methods is only to increase readability but if you're really against them, you could replace them with the doPush calls directly... though it would immediately make the code less clear upon casual observation.
 All of which is immediately available only a few lines up.
This logic means the only copy we hold in memory is for a single relation at a time. Not a massive improvement on our minimalist scenario (as the "large" memory duplication is only for the comments relationship) but for any scenario where we have multiple "many" relationships, this is a large gain in terms of memory usage.

@jgadrow please correct me if I'm wrong, when I'm passing the models to the RelationPusher I'm not duplicating them because they are passed by reference? The only extra memory my code needs is to create the relation pusher object and inside it the only data that is duplicated is the name of the relationship (a simple string), the rest of the data are objects.
But every time you call $this->$relation() you are actually instantiating a new object that perform a series of operations.
Push is a heavy operation indeed, but I think the main operation is going to be on the database  level, not in php.

his line is where I believe you are creating the copies:
list($inverse, $nonInverse) = collect($this->relations)

I'd be happy to be wrong... but if you make a change to $this->relations[$nameOfAnInverse] is it instantly reflected in the $inverse data? If so, then no copies are taking place. If nothing changes... then you've made a copy. However, in the event that your related data is not a Collection, then the the line where you do collect([$models]) is performing a copy. In order for it to refer to the original you'd have to use the reference operator.
I cannot actually be certain for the other case unless I went and read through the implementation of how Collections work... which is kind of why I say the other method is more clear in what is happening.
It is true that calling the relation method instantiates a new object. However, in my code above I'm not assigning the result of this operation to a variable anywhere which means it is automatically free for garbage collection. In your class you're storing the instance in a property which means it cannot be collected until all references to your class are also freed.
I agree that most of the pressure is going to be on the database and is most likely to be the bottleneck in even the most optimal of scenarios. As such, that's not really a point of consideration as nothing we do here can further optimize that aspect.

@jgadrow that method split a collection in two, so it duplicates the collection but it keeps the reference to the same objects (models), it doesn't clone the models.

After running a quick test, you're right. It does still pass by reference when performing "[$models]" (could have sworn I had issues with that an ages past...). As such, I'm fine with it now. :)

What's the status of this? Is it ready to merge? Are there known issues it doesn't solve?

@taylorotwell yes, it's ready to merge. My integration tests (that hit the DB) and the unit tests are passing and I haven't found any other issue.

@Yes I also checked and as it is passed by reference I am not getting too much memory uses. And unit tests are passing to me as well :)

I still can't even decide if it feels logical to have "push" traverse upwards a relation graph. Seems counter-intuitive.

@taylorotwell well another possible solution would be to omit the inverse side of the relationships entirely and just link and persist the children related models.

@sileence isn't that what push already does?

@taylorotwell this proposal will save all relations (as Laravel currently does).
The differences / benefits of this proposal is to save in the right order and assign the foreign keys.
What I tried to say in my last comment is that  instead of partitioning the relations in non-inverse and inverse ones to save them both another option would be to filter and save only the non-inverse relations?

I changed push() to persist the non inverse relations only and I also added pushAll() in case the developer wants to persist everything. This is just an idea / proposal.

I'm going to wait on this for now.

Still very much interested in this feature. Persisting a new model with it's relations in one-go would be a a really great idea.

Still very interested in implementing this feature. Can we know the status of it?


Karma working and node dependency improvments

karma is no longer expected to be global
old karma dependencies explicitly set
jquery monkey patched since the tests are pointing to JQuery 1.X
(size())

The entire purpose of this PR is to allow other developers to seamlessly get involved with the unit tests. Developers should not have to guess at what karma dependencies they should install. Therefore, this setup gets karma working as is and it is not global. It should definitely not be global since the karma being used is so old.


Add curl and comments [skip ci]

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.


Add rfcredux and rfreduxp

Added equivalent redux components but for function components.
Just got the extension and found that these are missing and would be useful for me.

Thanks!!


Remove the root path from the absolute path only once

🌈In cases where root path is also a substring of a relative path, it was being erroneously removed twice (or more).
e.g. for absolute path /app/config/application.rb when root is /app it would display the relative path as config.lication.rb instead of config/application.rb.

I made a PR #620 which fixes this and other edge cases with this method. The original commit of this PR is kept intact in my PR.

#620 was merged. This can be closed


Add a /debug/stats endpoint that prints memory and cpu usage statistics

Added debug endpoint on /debug/stats that prints memory and cpu usage stats, like so:

There is already /debug/memory for mem usage?
Can't we rename that to /debug/stats and add the cpu usage to it? Add benefit is that the stats endpoint is already using a template that is rendered so we can follow the same approach as the current debug endpoints do.

There is already /debug/memory for mem usage?
Can't we rename that to /debug/stats and add the cpu usage to it? Add benefit is that the stats endpoint is already using a template that is rendered so we can follow the same approach as the current debug endpoints do.

So I took a look at that, and the /debug/memory endpoint invokes garbage collection, stops and restarts all go subroutines, and also collects a more specific set of metrics that are related to the server process.
The above endpoint I added collects system-wide metrics and does not affect the state of garbage collection or other go routines on the service, so they do seem different to me and that's what I understood the issue was filed for.
Does that square with you @bas-vk?

There is already /debug/memory for mem usage?
Can't we rename that to /debug/stats and add the cpu usage to it? Add benefit is that the stats endpoint is already using a template that is rendered so we can follow the same approach as the current debug endpoints do.

So I took a look at that, and the /debug/memory endpoint invokes garbage collection, stops and restarts all go subroutines, and also collects a more specific set of metrics that are related to the server process itself and how go organizes memory usage (as far as I understand it!)
The above endpoint I added collects system-wide metrics and also does not affect the state of garbage collection or other go routines on the service, so they do seem different to me and that's what I understood the issue was filed for.
Does that make sense, @bas-vk?

That only happens when gcnow is part of the query params? By default it retrieves memory allocator stats only. I do think it is fine to add these metrics to that page and rename it to /debug/stats. That page already renders the output through a template which is what the other endpoints also use.


GPTs: a simple hosted version doesn't work

https://opengpts-example-vz4y4ooboq-uc.a.run.app
always shows saving when creating new bot

+1

@hchenphd Thank you for the report. The instance is now up and running. Tested also that saving a bot worked.
Feel free to open a new issue if the situation persists.


Linux Daemon

What is the best why to run the image recognition service as a linux deamon?
Thanks

You could for example use pm2, see: http://pm2.keymetrics.io/


Check logic of Attacher if tips are given

The attacher in hornet should not replace the tips, if they were given by the client.
If the given tips fall below max depth, an error should be returned to the client.

Actually it is already implemented that way 👍
Just changed some things in the attacher while I had a look.
See PR.