sabre-io / dav

sabre/dav is a CalDAV, CardDAV and WebDAV framework for PHP
http://sabre.io
BSD 3-Clause "New" or "Revised" License
1.54k stars 347 forks source link

fix getNodeForPath caching #1545

Closed icewind1991 closed 2 months ago

icewind1991 commented 9 months ago

The change https://github.com/sabre-io/dav/pull/1060 from the recursive to iterative getNodeForPath means that any cached parent node isn't used anymore.

This adds some logic to find the nearest parent that is cached and start the iterative logic from there.

codecov[bot] commented 9 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.24%. Comparing base (97129a9) to head (1434739). Report is 13 commits behind head on master.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1545 +/- ## ============================================ + Coverage 97.22% 97.24% +0.01% - Complexity 2834 2835 +1 ============================================ Files 175 175 Lines 9018 8849 -169 ============================================ - Hits 8768 8605 -163 + Misses 250 244 -6 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

patrickTUD commented 9 months ago

@icewind1991 - you rock! See https://github.com/nextcloud/server/issues/42143

ingeniumnrsp commented 9 months ago

For those that don't have root access to their NC installs, which version can we expect the fix to arrive in?

Thanks!

phil-davis commented 7 months ago

@staabm @DeepDiver1975 any comment? or merge and release?

phil-davis commented 3 weeks ago

Released in https://github.com/sabre-io/dav/releases/tag/4.7.0