Bug 514766

Summary: Terminal IDs from terminalIdsForSessionId don't have matching /Sessions/{terminalId} DBus paths
Product: [Applications] yakuake Reporter: Anastasia <anastasiabusygina.spb>
Component: generalAssignee: Eike Hein <hein>
Status: REPORTED ---    
Severity: normal CC: anastasiabusygina.spb
Priority: NOR    
Version First Reported In: 25.12.1   
Target Milestone: ---   
Platform: CachyOS   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Anastasia 2026-01-17 21:08:01 UTC
VERSIONS

Yakuake: 25.12.1
KDE Plasma: 6.5.5
Qt: 5.15.18

PROBLEM

terminalIdsForSessionId returns terminal IDs, but /Sessions/{terminalId} paths don't exist for most of them.

HOW TO REPRODUCE

1. Get terminal IDs:
   qdbus6 org.kde.yakuake /yakuake/sessions org.kde.yakuake.terminalIdList
   Returns: 0,2,3,4,7,8,11,15,18

2. List /Sessions paths:
   qdbus6 org.kde.yakuake | grep "^/Sessions/"
   Shows: /Sessions/1, /Sessions/3, /Sessions/4, /Sessions/5, /Sessions/6,
          /Sessions/7, /Sessions/8, /Sessions/9, /Sessions/12

3. Try to access terminal 0:
   qdbus6 org.kde.yakuake /Sessions/0 org.kde.konsole.Session.processId
   Error: No such object path '/Sessions/0'

OBSERVED RESULT

Only [3,4,7,8] from terminal IDs have /Sessions paths. Rest fail.

Data:
  terminalIdList: [0, 2, 3, 4, 7, 8, 11, 15, 18]
  /Sessions paths: [1, 3, 4, 5, 6, 7, 8, 9, 12]
  Match: [3, 4, 7, 8] only (4 out of 9)

Examples:
  Session 12: terminal ID [15] - /Sessions/15 doesn't exist
  Session 2: terminal IDs [2,3] - /Sessions/2 missing, /Sessions/3 exists
  Session 0: terminal ID [0] - /Sessions/0 doesn't exist

EXPECTED RESULT

Every terminal ID from terminalIdsForSessionId should have a corresponding /Sessions/{terminalId} path to call org.kde.konsole.Session.processId.

IMPACT

Cannot get shell PID for most terminals. Need this to detect which processes run in tabs.

QUESTION

Is this a bug or intended behavior? If intended, what's the correct API to get PIDs for ALL terminals?