Calls to GetLoginItemSettings (amonst others) will get GetAppUserModelId which will implicit set a new one if there hasn't been a user defined one yet.  This causes an issue in a UWP environment where the AppUserModelId is system defined.

On the latest versions of windows the AppUserModelId defined for your notification must match exactly the one defined for your process or no notification will appear.  Got a fix in the works for this just raising here for tracking purposes.
atom/browser/browser.h
void SetAppUserModelID(const base::string16& name);
  
  bool RemoveAsDefaultProtocolClient(const std::string& protocol,
                                     mate::Arguments* args);
  
  bool SetAsDefaultProtocolClient(const std::string& protocol,
                                  mate::Arguments* args);
  
  bool IsDefaultProtocolClient(const std::string& protocol,
                               mate::Arguments* args);
  
  bool SetBadgeCount(int count);
  int GetBadgeCount();
  
  struct LoginItemSettings {
    bool open_at_login = false;
    bool open_as_hidden = false;
    bool restore_state = false;
    bool opened_at_login = false;
    bool opened_as_hidden = false;
    base::string16 path;
    std::vector<base::string16> args;
  };
  void SetLoginItemSettings(LoginItemSettings settings);
  LoginItemSettings GetLoginItemSettings(const LoginItemSettings& options);
#if defined(OS_MACOSX)
  
  void SetShutdownHandler(base::Callback<bool()> handler);