Daniel, there are two things here: XDG_RUNTIME_DIR in terms of the user's session and XDG_RUNTIME_DIR in terms of the snap. The one for the user is supposed to be created by the session manager, but it sometimes isn't. The one for the snap should be created by snappy.
Zygmunt could comment better, but iirc, the reason it was removed is because people didn't like that setup_user_xdg_runtime_dir() was special-casing /run/user/<uid> instead of using generic helpers. Using generic helpers was difficult because different directories are supposed to have different ownership and permissions (in this case, /run/user/uid should be uid:uid 700, but /run/user is 0:0 755, /run 0:0). Unless I'm forgetting some context, I'm still ok with special casing this directory.
Daniel, there are two things here: XDG_RUNTIME_DIR in terms of the user's session and XDG_RUNTIME_DIR in terms of the snap. The one for the user is supposed to be created by the session manager, but it sometimes isn't. The one for the snap should be created by snappy.
Zygmunt could comment better, but iirc, the reason it was removed is because people didn't like that setup_user_ xdg_runtime_ dir() was special-casing /run/user/<uid> instead of using generic helpers. Using generic helpers was difficult because different directories are supposed to have different ownership and permissions (in this case, /run/user/uid should be uid:uid 700, but /run/user is 0:0 755, /run 0:0). Unless I'm forgetting some context, I'm still ok with special casing this directory.