aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/ms-planner/index.js
blob: cc0b44a34826e634a7ee73d0190f7ad5194615db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
module.exports = Ferdium =>
  class Planner extends Ferdium {
    overrideUserAgent() {
      return window.navigator.userAgent
        .replace(/(Ferdium|Electron)(\S+\s)/g, '')
        .replace(/(Chrome\/)([^ ]*)/g, '$163.0.3239.84');
    }

    // https://docs.microsoft.com/en-us/microsoftteams/troubleshoot/teams-sign-in/sign-in-loop#resolution
    knownCertificateHosts() {
      return ['tasks.office.com'];
    }

    // we need to allow all cookies for ms teams
    onHeadersReceived(details, callback) {
      if (
        details.responseHeaders &&
        details.responseHeaders['Set-Cookie'] &&
        details.responseHeaders['Set-Cookie'].length > 0 &&
        !details.responseHeaders['Set-Cookie'][0].includes('SameSite=none')
      ) {
        details.responseHeaders['Set-Cookie'][0] =
          `${details.responseHeaders['Set-Cookie'][0]}; SameSite=none`;
      }
      callback({ cancel: false, responseHeaders: details.responseHeaders });
    }
  };