1717use OCP \Activity \IManager ;
1818use OCP \DB \Exception ;
1919use OCP \DB \QueryBuilder \IQueryBuilder ;
20+ use OCP \Files \IRootFolder ;
2021use OCP \IConfig ;
2122use OCP \IDBConnection ;
2223use Psr \Log \LoggerInterface ;
@@ -43,6 +44,7 @@ public function __construct(
4344 protected IDBConnection $ connection ,
4445 protected LoggerInterface $ logger ,
4546 protected IConfig $ config ,
47+ protected IRootFolder $ rootFolder ,
4648 ) {
4749 }
4850
@@ -363,23 +365,20 @@ private function applyStreamConditions(
363365 $ query ->andWhere ($ query ->expr ()->eq ('object_type ' , $ query ->createNamedParameter ($ objectType )));
364366 $ query ->andWhere ($ query ->expr ()->eq ('object_id ' , $ query ->createNamedParameter ($ objectId )));
365367 } elseif ($ filter === 'focused ' ) {
368+ // Get home storage id
369+ $ storageId = $ this ->rootFolder ->getUserFolder ($ user )->getMountPoint ()->getNumericStorageId ();
366370 // Only activity related to files owned by the user
367371 $ query ->leftJoin ('a ' , 'filecache ' , 'f ' ,
368372 $ query ->expr ()->andX (
369373 $ query ->expr ()->eq ('a.object_type ' , $ query ->createNamedParameter ('files ' )),
370374 $ query ->expr ()->eq ('a.object_id ' , 'f.fileid ' ),
371375 ));
372- $ query ->leftJoin ('f ' , 'mounts ' , 'm ' ,
373- $ query ->expr ()->andX (
374- $ query ->expr ()->eq ('a.object_type ' , $ query ->createNamedParameter ('files ' )),
375- $ query ->expr ()->eq ('f.storage ' , 'm.storage_id ' ),
376- ));
377376 // Filter out our own activity
378377 $ query ->andWhere ($ query ->expr ()->neq ('user ' , $ query ->createNamedParameter ($ user )));
379378 $ query ->andWhere (
380379 $ query ->expr ()->orX (
381380 // Affected object is one of our files
382- $ query ->expr ()->eq ('m.mount_point ' , $ query ->createNamedParameter (' / ' . $ user . ' / ' )),
381+ $ query ->expr ()->eq ('f.storage ' , $ query ->createNamedParameter ($ storageId , IQueryBuilder:: PARAM_INT )),
383382 // There is no affected object, so the activity affects our user directly
384383 $ query ->expr ()->eq ('object_type ' , $ query ->createNamedParameter ('' )),
385384 // Show all sharing related events
0 commit comments